summaryrefslogtreecommitdiff
path: root/sound/soc
diff options
context:
space:
mode:
authorMohammad Rafi Shaik <quic_mohs@quicinc.com>2024-07-04 11:17:21 +0300
committerMark Brown <broonie@kernel.org>2024-07-12 16:44:23 +0300
commit0ffc5a40ad21996c1c4b1d8a636c9051ea41a76e (patch)
tree3b55c9c81abf8cc2b88d81299371a3b5cd60b0f5 /sound/soc
parentee3f77a37646ed3c9b60e747737fb2c5c3a4c261 (diff)
downloadlinux-0ffc5a40ad21996c1c4b1d8a636c9051ea41a76e.tar.xz
ASoC: codecs: wcd937x-sdw: Fix Unbalanced pm_runtime_enable
Fix the unbalanced pm_runtime_enable! in wcd937x-sdw soundwire slave. Fixes: c99a515ff153 ("ASoC: codecs: wcd937x-sdw: add SoundWire driver") Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Link: https://patch.msgid.link/20240704081723.3394153-2-quic_mohs@quicinc.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wcd937x-sdw.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/sound/soc/codecs/wcd937x-sdw.c b/sound/soc/codecs/wcd937x-sdw.c
index a24d6c620dba..3abc8041406a 100644
--- a/sound/soc/codecs/wcd937x-sdw.c
+++ b/sound/soc/codecs/wcd937x-sdw.c
@@ -1067,13 +1067,15 @@ static int wcd9370_probe(struct sdw_slave *pdev,
wcd->ch_info = &wcd937x_sdw_rx_ch_info[0];
}
- pm_runtime_set_autosuspend_delay(dev, 3000);
- pm_runtime_use_autosuspend(dev);
- pm_runtime_mark_last_busy(dev);
- pm_runtime_set_active(dev);
- pm_runtime_enable(dev);
- return component_add(dev, &wcd937x_sdw_component_ops);
+ ret = component_add(dev, &wcd937x_sdw_component_ops);
+ if (ret)
+ return ret;
+
+ /* Set suspended until aggregate device is bind */
+ pm_runtime_set_suspended(dev);
+
+ return 0;
}
static int wcd9370_remove(struct sdw_slave *pdev)
@@ -1082,10 +1084,6 @@ static int wcd9370_remove(struct sdw_slave *pdev)
component_del(dev, &wcd937x_sdw_component_ops);
- pm_runtime_disable(dev);
- pm_runtime_set_suspended(dev);
- pm_runtime_dont_use_autosuspend(dev);
-
return 0;
}