]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: wcd937x: Use new SoundWire enumeration helper
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Mon, 8 Jun 2026 10:27:10 +0000 (11:27 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 11 Jun 2026 19:46:52 +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-7-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wcd937x.c

index 72a53f95d688734e92f05d028cf9a7f73e631988..e0169e783ee96c59a752546b058dcce3559a1d52 100644 (file)
@@ -2499,18 +2499,13 @@ static int wcd937x_soc_codec_probe(struct snd_soc_component *component)
 {
        struct snd_soc_dapm_context *dapm = snd_soc_component_to_dapm(component);
        struct wcd937x_priv *wcd937x = snd_soc_component_get_drvdata(component);
-       struct sdw_slave *tx_sdw_dev = wcd937x->tx_sdw_dev;
        struct device *dev = component->dev;
-       unsigned long time_left;
        int i, ret;
        u32 chipid;
 
-       time_left = wait_for_completion_timeout(&tx_sdw_dev->initialization_complete,
-                                               msecs_to_jiffies(5000));
-       if (!time_left) {
-               dev_err(dev, "soundwire device init timeout\n");
-               return -ETIMEDOUT;
-       }
+       ret = sdw_slave_wait_for_init(wcd937x->tx_sdw_dev, 5000);
+       if (ret)
+               return ret;
 
        snd_soc_component_init_regmap(component, wcd937x->regmap);
        ret = pm_runtime_resume_and_get(dev);