Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7cc7904 authored by Viraja Kommaraju's avatar Viraja Kommaraju Committed by Gerrit - the friendly Code Review server
Browse files

ASoC: msm: Avoid multiple dummy driver register during SSR



Add flag to avoid dummy device and driver register multiple
times during sub-system restart in mdm9650 and mdm9650-auto
machine drivers.

CRs-Fixed: 2055728
Change-Id: I5dec9577bb6e0378dde01525929e717d6b6cf7d6
Signed-off-by: default avatarViraja Kommaraju <virajak@codeaurora.org>
parent e8800dc9
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ static atomic_t mi2s_ref_count;
static atomic_t sec_mi2s_ref_count;

static void *adsp_state_notifier;
static bool dummy_device_registered;

static int mdm_mi2s_clk_ctl(struct snd_soc_pcm_runtime *rtd, bool enable)
{
@@ -1779,9 +1780,10 @@ static struct platform_driver mdm_asoc_machine_dummy_driver = {
static int  mdm_adsp_state_callback(struct notifier_block *nb,
					unsigned long value, void *priv)
{
	if (SUBSYS_AFTER_POWERUP == value) {
	if (!dummy_device_registered && SUBSYS_AFTER_POWERUP == value) {
		platform_driver_register(&mdm_asoc_machine_dummy_driver);
		platform_device_register(&dummy_machine_device);
		dummy_device_registered = true;
	}

		return NOTIFY_OK;
+3 −1
Original line number Diff line number Diff line
@@ -162,6 +162,7 @@ static int mdm_enable_codec_ext_clk(struct snd_soc_codec *codec,

static void *def_tasha_mbhc_cal(void);
static void *adsp_state_notifier;
static bool dummy_device_registered;

static struct wcd_mbhc_config wcd_mbhc_cfg = {
	.read_fw_bin = false,
@@ -2504,9 +2505,10 @@ static struct platform_driver mdm_asoc_machine_dummy_driver = {
static int  mdm_adsp_state_callback(struct notifier_block *nb,
					unsigned long value, void *priv)
{
	if (SUBSYS_AFTER_POWERUP == value) {
	if (!dummy_device_registered && SUBSYS_AFTER_POWERUP == value) {
		platform_driver_register(&mdm_asoc_machine_dummy_driver);
		platform_device_register(&dummy_machine_device);
		dummy_device_registered = true;
	}

		return NOTIFY_OK;