[PATCH] ASoC: max98390: Add reset gpio control

Sa, Nuno Nuno.Sa at analog.com
Thu Mar 10 09:48:09 CET 2022


Hi Steve,

> From: Steve Lee <steve.lee.analog at gmail.com>
> Sent: Thursday, March 10, 2022 9:16 AM
> To: lgirdwood at gmail.com; broonie at kernel.org; perex at perex.cz;
> tiwai at suse.com; ckeepax at opensource.cirrus.com; geert at linux-
> m68k.org; rf at opensource.wolfsonmicro.com; shumingf at realtek.com;
> srinivas.kandagatla at linaro.org; krzk at kernel.org; dmurphy at ti.com;
> jack.yu at realtek.com; Sa, Nuno <Nuno.Sa at analog.com>;
> steves.lee at maximintegrated.com; linux-kernel at vger.kernel.org;
> alsa-devel at alsa-project.org
> Cc: Steve Lee <steve.lee.analog at gmail.com>
> Subject: [PATCH] ASoC: max98390: Add reset gpio control
> 
> [External]
> 
>  Add reset gpio control to support RESET PIN connected to gpio.
> 
> Signed-off-by: Steve Lee <steve.lee.analog at gmail.com>
> ---
>  sound/soc/codecs/max98390.c | 18 ++++++++++++++++++
>  sound/soc/codecs/max98390.h |  1 +
>  2 files changed, 19 insertions(+)
> 
> diff --git a/sound/soc/codecs/max98390.c
> b/sound/soc/codecs/max98390.c
> index b392567c2b3e..574d8d5f1119 100644
> --- a/sound/soc/codecs/max98390.c
> +++ b/sound/soc/codecs/max98390.c
> @@ -1073,6 +1073,24 @@ static int max98390_i2c_probe(struct
> i2c_client *i2c,
>  		return ret;
>  	}
> 
> +	max98390->reset_gpio = of_get_named_gpio(i2c-
> >dev.of_node,
> +						"maxim,reset-gpios", 0);

Why not using devm_gpiod_get_optional()? We could request the pin
already in the asserted state and make the code slightly better...

/* I guess there's no need to save it in our struct as we only use it here? */
struct gpio_desc *reset_gpio; 

reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH);
if (reset_gpio) {
      usleep_range(1000, 2000);
     /* bring out of reset */
      gpio_direction_output(max98390->reset_gpio, 0);
      usleep_range(1000, 2000);
}

Also, do we have this on the bindings doc? If not, it should be done on a second
patch on this series...

- Nuno Sá



More information about the Alsa-devel mailing list