Commit e5dbfa75 authored by Mark Brown's avatar Mark Brown Committed by Ben Hutchings

iio:ad7266: Fix probe deferral for vref

commit 68b356eb upstream.

Currently the ad7266 driver treats any failure to get vref as though the
regulator were not present but this means that if probe deferral is
triggered the driver will act as though the regulator were not present.
Instead only use the internal reference if we explicitly got -ENODEV which
is what is returned for absent regulators.
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent 10ac4f5e
...@@ -408,6 +408,9 @@ static int ad7266_probe(struct spi_device *spi) ...@@ -408,6 +408,9 @@ static int ad7266_probe(struct spi_device *spi)
st->vref_mv = ret / 1000; st->vref_mv = ret / 1000;
} else { } else {
/* Any other error indicates that the regulator does exist */
if (PTR_ERR(st->reg) != -ENODEV)
return PTR_ERR(st->reg);
/* Use internal reference */ /* Use internal reference */
st->vref_mv = 2500; st->vref_mv = 2500;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment