]> git.hungrycats.org Git - linux/commitdiff
iio:ad7266: Fix support for optional regulators
authorMark Brown <broonie@kernel.org>
Mon, 20 Jun 2016 12:53:33 +0000 (13:53 +0100)
committerJiri Slaby <jslaby@suse.cz>
Fri, 19 Aug 2016 07:50:48 +0000 (09:50 +0200)
commit e5511c816e5ac4909bdd38e85ac344e2b9b8e984 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: Mark Brown <broonie@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/iio/adc/ad7266.c

index c9b150d3916677dbed6757ff0b2a486dc06f01c1..5154041257c288c2ad047b9686b1d8e214b4abcf 100644 (file)
@@ -405,7 +405,7 @@ static int ad7266_probe(struct spi_device *spi)
 
        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)) {
                ret = regulator_enable(st->reg);
                if (ret)