On Wed, 12 Feb 2020 18:17:17 +0200 Alexandru Tachici <alexandru.tachici@xxxxxxxxxx> wrote: > This patch makes the ad7192_probe fail in case > regulator_get_voltage will return an error or voltage > is set to 0. > > Signed-off-by: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx> There are some corner cases around this that we may meet in the future. Particularly if someone uses a variable reg to provide this voltage. However, we can fix those when we come to them. Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > drivers/staging/iio/adc/ad7192.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c > index bf3e2a9cc07f..41da8b4cdc48 100644 > --- a/drivers/staging/iio/adc/ad7192.c > +++ b/drivers/staging/iio/adc/ad7192.c > @@ -899,10 +899,13 @@ static int ad7192_probe(struct spi_device *spi) > > voltage_uv = regulator_get_voltage(st->avdd); > > - if (voltage_uv) > + if (voltage_uv > 0) { > st->int_vref_mv = voltage_uv / 1000; > - else > + } else { > + ret = voltage_uv; > dev_err(&spi->dev, "Device tree error, reference voltage undefined\n"); > + goto error_disable_avdd; > + } > > spi_set_drvdata(spi, indio_dev); > st->devid = spi_get_device_id(spi)->driver_data;