summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.cirrus.com>2026-05-12 13:30:19 +0300
committerMark Brown <broonie@kernel.org>2026-05-12 13:47:11 +0300
commit210f109efdfdd60fd6bec0e3b60af9a53fe998d6 (patch)
treefbb86e0b9dc48158308aad84f5747ccf5a092e96
parentb7997fcacf94dbb332339b7a9ceb4caeba70aa47 (diff)
downloadlinux-210f109efdfdd60fd6bec0e3b60af9a53fe998d6.tar.xz
ASoC: rt1318: Use new SoundWire enumeration helper
Update the driver to use the new core helper that waits for the device to enumerate on SoundWire and be initialised by the SoundWire core. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260512103022.1154645-16-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/rt1318-sdw.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/sound/soc/codecs/rt1318-sdw.c b/sound/soc/codecs/rt1318-sdw.c
index d28f1afe68f1..51bd11b92a55 100644
--- a/sound/soc/codecs/rt1318-sdw.c
+++ b/sound/soc/codecs/rt1318-sdw.c
@@ -821,23 +821,15 @@ static int rt1318_dev_resume(struct device *dev)
{
struct sdw_slave *slave = dev_to_sdw_dev(dev);
struct rt1318_sdw_priv *rt1318 = dev_get_drvdata(dev);
- unsigned long time;
+ int ret;
if (!rt1318->first_hw_init)
return 0;
- if (!slave->unattach_request)
- goto regmap_sync;
-
- time = wait_for_completion_timeout(&slave->initialization_complete,
- msecs_to_jiffies(RT1318_PROBE_TIMEOUT));
- if (!time) {
- dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
- return -ETIMEDOUT;
- }
+ ret = sdw_slave_wait_for_init(slave, RT1318_PROBE_TIMEOUT);
+ if (ret)
+ return ret;
-regmap_sync:
- slave->unattach_request = 0;
regcache_cache_only(rt1318->regmap, false);
regcache_sync(rt1318->regmap);