[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 11 Nov 2022 16:42:02 +0000
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Banajit Goswami <bgoswami@...cinc.com>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, alsa-devel@...a-project.org,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] ASoC: codecs: wsa883x: Use proper shutdown GPIO
polarity
On 10/11/2022 13:35, Krzysztof Kozlowski wrote:
> The shutdown GPIO is active low (SD_N), but this depends on actual board
> layout. Linux drivers should only care about logical state, where high
> (1) means shutdown and low (0) means do not shutdown.
>
> Invert the GPIO to match logical value.
>
> Fixes: 43b8c7dc85a1 ("ASoC: codecs: add wsa883x amplifier support")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
>
> ---
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
>
> Changes since v1:
> 1. None.
> ---
> sound/soc/codecs/wsa883x.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c
> index c7b10bbfba7e..77a7dd3cf495 100644
> --- a/sound/soc/codecs/wsa883x.c
> +++ b/sound/soc/codecs/wsa883x.c
> @@ -1392,7 +1392,7 @@ static int wsa883x_probe(struct sdw_slave *pdev,
> }
>
> wsa883x->sd_n = devm_gpiod_get_optional(&pdev->dev, "powerdown",
> - GPIOD_FLAGS_BIT_NONEXCLUSIVE);
> + GPIOD_FLAGS_BIT_NONEXCLUSIVE | GPIOD_OUT_HIGH);
> if (IS_ERR(wsa883x->sd_n)) {
> dev_err(&pdev->dev, "Shutdown Control GPIO not found\n");
> ret = PTR_ERR(wsa883x->sd_n);
> @@ -1411,7 +1411,7 @@ static int wsa883x_probe(struct sdw_slave *pdev,
> pdev->prop.simple_clk_stop_capable = true;
> pdev->prop.sink_dpn_prop = wsa_sink_dpn_prop;
> pdev->prop.scp_int1_mask = SDW_SCP_INT1_BUS_CLASH | SDW_SCP_INT1_PARITY;
> - gpiod_direction_output(wsa883x->sd_n, 1);
> + gpiod_direction_output(wsa883x->sd_n, 0);
>
> wsa883x->regmap = devm_regmap_init_sdw(pdev, &wsa883x_regmap_config);
> if (IS_ERR(wsa883x->regmap)) {
Powered by blists - more mailing lists