2022-03-28 20:46:24

by Steve Lee

[permalink] [raw]
Subject: Re: [V3 1/2] ASoC: max98390: Add reset gpio control

On Mon, Mar 28, 2022 at 4:42 PM Sa, Nuno <[email protected]> wrote:
>
> > From: Steve Lee <[email protected]>
> > Sent: Monday, March 28, 2022 4:12 AM
> > To: [email protected]; [email protected]; [email protected];
> > [email protected]; [email protected]; linux-
> > [email protected]; [email protected]
> > Cc: [email protected]; Sa, Nuno <[email protected]>; Steve Lee
> > <[email protected]>
> > Subject: [V3 1/2] ASoC: max98390: Add reset gpio control
> >
> > [External]
> >
> > Add reset gpio control to support RESET PIN connected to gpio.
> >
> > Signed-off-by: Steve Lee <[email protected]>
> > ---
> > sound/soc/codecs/max98390.c | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/sound/soc/codecs/max98390.c
> > b/sound/soc/codecs/max98390.c
> > index 40fd6f363f35..05df9b85d9b0 100644
> > --- a/sound/soc/codecs/max98390.c
> > +++ b/sound/soc/codecs/max98390.c
> > @@ -1022,6 +1022,7 @@ static int max98390_i2c_probe(struct
> > i2c_client *i2c,
> >
> > struct max98390_priv *max98390 = NULL;
> > struct i2c_adapter *adapter = i2c->adapter;
> > + struct gpio_desc *reset_gpio;
> >
> > ret = i2c_check_functionality(adapter,
> > I2C_FUNC_SMBUS_BYTE
> > @@ -1073,6 +1074,17 @@ static int max98390_i2c_probe(struct
> > i2c_client *i2c,
> > return ret;
> > }
> >
> > + reset_gpio = devm_gpiod_get_optional(&i2c->dev,
> > + "reset", GPIOD_OUT_LOW);
> > +
> > + /* Power on device */
> > + if (reset_gpio) {
> > + usleep_range(1000, 2000);
> > + /* bring out of reset */
> > + gpiod_set_value_cansleep(reset_gpio, 1);
>
> Note this will set the gpio in the asserted state. Being it active low, this will
> do the opposite thing that you are trying to accomplish...
>
> - Nuno Sá

I agree with your comment. I will update next version patch if there
is other concern.