staging: iio: adt7316: invert the logic of the check for an ldac pin
authorJeremy Fertic <jeremyfertic@gmail.com>
Wed, 12 Dec 2018 00:54:54 +0000 (17:54 -0700)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 16 Dec 2018 14:05:55 +0000 (14:05 +0000)
ADT7316_DA_EN_VIA_DAC_LDCA is set when the dac and ldac registers are being
used to update the dacs instead of the ldac pin. ADT7516_SEL_AIN3 is an adc
input that shares the ldac pin. Only set these bits if an ldac pin is not
being used.

This could be backported to stable, but note there are various
other bugs that probably make that a waste of time.

Signed-off-by: Jeremy Fertic <jeremyfertic@gmail.com>
Fixes: 35f6b6b86ede ("staging: iio: new ADT7316/7/8 and ADT7516/7/9 driver")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/addac/adt7316.c

index 1fa4a4c2b4f3aa9b4b6b164b89bb327b62de249e..e5e1f9d6357f0936ecf0864128870548efb7060e 100644 (file)
@@ -2130,7 +2130,7 @@ int adt7316_probe(struct device *dev, struct adt7316_bus *bus,
                return ret;
        }
 
-       if (chip->ldac_pin) {
+       if (!chip->ldac_pin) {
                chip->config3 |= ADT7316_DA_EN_VIA_DAC_LDCA;
                if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX)
                        chip->config1 |= ADT7516_SEL_AIN3;