Commit 801044f8 authored by Mark Brown's avatar Mark Brown Committed by Jiri Slaby

iio:ad7266: Fix support for optional regulators

commit e5511c81 upstream.

The ad7266 driver attempts to support deciding between the use of internal
and external power supplies by checking to see if an error is returned when
requesting the regulator. This doesn't work with the current code since the
driver uses a normal regulator_get() which is for non-optional supplies
and so assumes that if a regulator is not provided by the platform then
this is a bug in the platform integration and so substitutes a dummy
regulator. Use regulator_get_optional() instead which indicates to the
framework that the regulator may be absent and provides a dummy regulator
instead.
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
parent bd2f349d
...@@ -405,7 +405,7 @@ static int ad7266_probe(struct spi_device *spi) ...@@ -405,7 +405,7 @@ static int ad7266_probe(struct spi_device *spi)
st = iio_priv(indio_dev); st = iio_priv(indio_dev);
st->reg = devm_regulator_get(&spi->dev, "vref"); st->reg = devm_regulator_get_optional(&spi->dev, "vref");
if (!IS_ERR(st->reg)) { if (!IS_ERR(st->reg)) {
ret = regulator_enable(st->reg); ret = regulator_enable(st->reg);
if (ret) if (ret)
......
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