Hi Steve, > From: Steve Lee <steve.lee.analog@xxxxxxxxx> > Sent: Thursday, March 10, 2022 9:16 AM > To: lgirdwood@xxxxxxxxx; broonie@xxxxxxxxxx; perex@xxxxxxxx; > tiwai@xxxxxxxx; ckeepax@xxxxxxxxxxxxxxxxxxxxx; geert@linux- > m68k.org; rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx; shumingf@xxxxxxxxxxx; > srinivas.kandagatla@xxxxxxxxxx; krzk@xxxxxxxxxx; dmurphy@xxxxxx; > jack.yu@xxxxxxxxxxx; Sa, Nuno <Nuno.Sa@xxxxxxxxxx>; > steves.lee@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > alsa-devel@xxxxxxxxxxxxxxxx > Cc: Steve Lee <steve.lee.analog@xxxxxxxxx> > 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@xxxxxxxxx> > --- > 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á