On Wed, 2020-06-03 at 17:26 +0800, Chuhong Yuan wrote: > Since if there is no GPIO, nothing happens, replace devm_gpiod_get() > with devm_gpiod_get_optional(). > Also add IS_ERR() to fix the missing-check bug. > Acked-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx> > Fixes: cee211f4e5a0 ("iio: amplifiers: ad8366: Add support for the ADA4961 > DGA") > Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx> > --- > Changes in v3: > - Change devm_gpiod_get() to optional. > - Modify description. > > drivers/iio/amplifiers/ad8366.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/iio/amplifiers/ad8366.c b/drivers/iio/amplifiers/ad8366.c > index 62167b87caea..8819e8997f76 100644 > --- a/drivers/iio/amplifiers/ad8366.c > +++ b/drivers/iio/amplifiers/ad8366.c > @@ -262,8 +262,12 @@ static int ad8366_probe(struct spi_device *spi) > case ID_ADA4961: > case ID_ADL5240: > case ID_HMC1119: > - st->reset_gpio = devm_gpiod_get(&spi->dev, "reset", > + st->reset_gpio = devm_gpiod_get_optional(&spi->dev, "reset", > GPIOD_OUT_HIGH); > + if (IS_ERR(st->reset_gpio)) { > + ret = PTR_ERR(st->reset_gpio); > + goto error_disable_reg; > + } > indio_dev->channels = ada4961_channels; > indio_dev->num_channels = ARRAY_SIZE(ada4961_channels); > break;