ASoC: codecs: wcd937x: Fix missing de-assert of reset GPIO
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tue, 6 Aug 2024 11:49:13 +0000 (13:49 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 14 Aug 2024 17:15:02 +0000 (18:15 +0100)
The device never comes online from a reset/shutdown state, because the
driver de-asserts reset GPIO when requesting it but then, at the end of
probe() through wcd937x_reset(), leaves it asserted.

Cc: stable@vger.kernel.org
Fixes: 9be3ec196da4 ("ASoC: codecs: wcd937x: add wcd937x codec driver")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20240806114913.40022-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wcd937x.c

index 13926f4..af296b7 100644 (file)
@@ -242,10 +242,9 @@ static const struct regmap_irq_chip wcd937x_regmap_irq_chip = {
 
 static void wcd937x_reset(struct wcd937x_priv *wcd937x)
 {
-       usleep_range(20, 30);
-
        gpiod_set_value(wcd937x->reset_gpio, 1);
-
+       usleep_range(20, 30);
+       gpiod_set_value(wcd937x->reset_gpio, 0);
        usleep_range(20, 30);
 }