diff mbox series

[v2] iio: amplifiers: ad8366: Add the missed check for devm_gpiod_get()

Message ID 20200528064027.546944-1-hslester96@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v2] iio: amplifiers: ad8366: Add the missed check for devm_gpiod_get() | expand

Commit Message

Chuhong Yuan May 28, 2020, 6:40 a.m. UTC
ad8366_probe() forgets to check the return value of devm_gpiod_get().
Add the missed check to fix it.

Fixes: cee211f4e5a0 ("iio: amplifiers: ad8366: Add support for the ADA4961 DGA")
Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
---
Changes in v2:
  - Add fixes tag.

 drivers/iio/amplifiers/ad8366.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Alexandru Ardelean May 28, 2020, 9:42 a.m. UTC | #1
On Thu, 2020-05-28 at 14:40 +0800, Chuhong Yuan wrote:
> [External]
> 
> ad8366_probe() forgets to check the return value of devm_gpiod_get().
> Add the missed check to fix it.
> 
> Fixes: cee211f4e5a0 ("iio: amplifiers: ad8366: Add support for the
> ADA4961 DGA")
> Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
> ---
> Changes in v2:
>   - Add fixes tag.
> 
>  drivers/iio/amplifiers/ad8366.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/iio/amplifiers/ad8366.c
> b/drivers/iio/amplifiers/ad8366.c
> index 62167b87caea..b996823c8d51 100644
> --- a/drivers/iio/amplifiers/ad8366.c
> +++ b/drivers/iio/amplifiers/ad8366.c
> @@ -264,6 +264,10 @@ static int ad8366_probe(struct spi_device *spi)
>  	case ID_HMC1119:
>  		st->reset_gpio = devm_gpiod_get(&spi->dev, "reset",
>  			GPIOD_OUT_HIGH);

this is semi-intentional i guess;
in the sense that if there is no GPIO, nothing happens;

maybe convert this to devm_gpiod_get_optional()
otherwise, if there is no reset GPIO, this can fail the probe; and the GPIO
is not optional;
rest of the code looks fine (with the devm_gpiod_get_optional()
modification)

> +		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;
diff mbox series

Patch

diff --git a/drivers/iio/amplifiers/ad8366.c b/drivers/iio/amplifiers/ad8366.c
index 62167b87caea..b996823c8d51 100644
--- a/drivers/iio/amplifiers/ad8366.c
+++ b/drivers/iio/amplifiers/ad8366.c
@@ -264,6 +264,10 @@  static int ad8366_probe(struct spi_device *spi)
 	case ID_HMC1119:
 		st->reset_gpio = devm_gpiod_get(&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;