ASoC: tlv320aic31xx: switch to gpiod_set_value_cansleep
authorMarco Felsch <m.felsch@pengutronix.de>
Thu, 19 Oct 2023 13:18:06 +0000 (15:18 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 19 Oct 2023 13:53:31 +0000 (14:53 +0100)
Switch to gpiod_set_value_cansleep() to support gpiochips which can
sleep like i2c gpio expanders.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Link: https://lore.kernel.org/r/20231019131806.381280-1-m.felsch@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tlv320aic31xx.c

index 9611aa8acb0d88a754686c4fe8040447857a991d..4d7c5a80c6edda86f244e092710170aacb3b34cc 100644 (file)
@@ -1208,7 +1208,7 @@ static int aic31xx_regulator_event(struct notifier_block *nb,
                 * supplies was disabled.
                 */
                if (aic31xx->gpio_reset)
-                       gpiod_set_value(aic31xx->gpio_reset, 1);
+                       gpiod_set_value_cansleep(aic31xx->gpio_reset, 1);
 
                regcache_mark_dirty(aic31xx->regmap);
                dev_dbg(aic31xx->dev, "## %s: DISABLE received\n", __func__);
@@ -1222,9 +1222,9 @@ static int aic31xx_reset(struct aic31xx_priv *aic31xx)
        int ret = 0;
 
        if (aic31xx->gpio_reset) {
-               gpiod_set_value(aic31xx->gpio_reset, 1);
+               gpiod_set_value_cansleep(aic31xx->gpio_reset, 1);
                ndelay(10); /* At least 10ns */
-               gpiod_set_value(aic31xx->gpio_reset, 0);
+               gpiod_set_value_cansleep(aic31xx->gpio_reset, 0);
        } else {
                ret = regmap_write(aic31xx->regmap, AIC31XX_RESET, 1);
        }