[PATCH] ASoC: es9356: Use new SoundWire enumeration helper
From: Charles Keepax
Date: Tue Jun 02 2026 - 06:44:34 EST
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.
Link: https://lore.kernel.org/linux-sound/20260512103022.1154645-1-ckeepax@xxxxxxxxxxxxxxxxxxxxx/
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>
---
sound/soc/codecs/es9356.c | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/sound/soc/codecs/es9356.c b/sound/soc/codecs/es9356.c
index 78fddd9d01711..670e918b56a46 100644
--- a/sound/soc/codecs/es9356.c
+++ b/sound/soc/codecs/es9356.c
@@ -1105,24 +1105,15 @@ static int es9356_sdca_dev_resume(struct device *dev)
{
struct sdw_slave *slave = dev_to_sdw_dev(dev);
struct es9356_sdw_priv *es9356 = dev_get_drvdata(dev);
- unsigned long time;
+ int ret;
- if (!slave->unattach_request) {
+ if (!slave->unattach_request)
es9356->disable_irq = false;
- goto regmap_sync;
- }
-
- time = wait_for_completion_timeout(&slave->initialization_complete,
- msecs_to_jiffies(es9356_PROBE_TIMEOUT));
- if (!time) {
- dev_err(&slave->dev, "Initialization not complete, timed out\n");
- sdw_show_ping_status(slave->bus, true);
- return -ETIMEDOUT;
- }
+ ret = sdw_slave_wait_for_init(slave, es9356_PROBE_TIMEOUT);
+ if (ret)
+ return ret;
-regmap_sync:
- slave->unattach_request = 0;
regcache_cache_only(es9356->regmap, false);
regcache_sync(es9356->regmap);
return 0;
--
2.47.3