]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: wcd939x: Use new SoundWire enumeration helper
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Mon, 8 Jun 2026 10:27:12 +0000 (11:27 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 11 Jun 2026 19:46:53 +0000 (20:46 +0100)
Now the new wait for SoundWire enumeration helper no longer depends on
unattach_request it is safe to use from probe time. Update the driver
to use the new core helper.

Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Tested-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20260608102714.2503120-9-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wcd939x.c

index 01f1a08f48e65df3746457af1f3aa23fd631de47..010d124667224b92ad606bdf7902db9e65d302c3 100644 (file)
@@ -2968,17 +2968,12 @@ static int wcd939x_irq_init(struct wcd939x_priv *wcd, struct device *dev)
 static int wcd939x_soc_codec_probe(struct snd_soc_component *component)
 {
        struct wcd939x_priv *wcd939x = snd_soc_component_get_drvdata(component);
-       struct sdw_slave *tx_sdw_dev = wcd939x->tx_sdw_dev;
        struct device *dev = component->dev;
-       unsigned long time_left;
        int ret, i;
 
-       time_left = wait_for_completion_timeout(&tx_sdw_dev->initialization_complete,
-                                               msecs_to_jiffies(2000));
-       if (!time_left) {
-               dev_err(dev, "soundwire device init timeout\n");
-               return -ETIMEDOUT;
-       }
+       ret = sdw_slave_wait_for_init(wcd939x->tx_sdw_dev, 2000);
+       if (ret)
+               return ret;
 
        snd_soc_component_init_regmap(component, wcd939x->regmap);