diff options
author | Peter Meerwald <pmeerw@pmeerw.net> | 2014-12-06 06:54:00 +0100 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2014-07-13 22:58:59 +0200 |
commit | 1d15330a399217500d496f8cd1852e11225000a1 (patch) | |
tree | c2cea263a55e3d24ccb123caee2ba326229c34de /drivers/iio/adc | |
parent | iio:adc:ad799x: Set conversion channels and rename ad7997_8_update_scan_mode() (diff) | |
download | linux-1d15330a399217500d496f8cd1852e11225000a1.tar.xz linux-1d15330a399217500d496f8cd1852e11225000a1.zip |
iio:adc:ad799x: Return more meaningful event enabled state
only report an event as enabled if it actually is enabled
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/adc')
-rw-r--r-- | drivers/iio/adc/ad799x.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/iio/adc/ad799x.c b/drivers/iio/adc/ad799x.c index abc36c896470..08bcada39487 100644 --- a/drivers/iio/adc/ad799x.c +++ b/drivers/iio/adc/ad799x.c @@ -364,7 +364,15 @@ static int ad799x_read_event_config(struct iio_dev *indio_dev, enum iio_event_type type, enum iio_event_direction dir) { - return 1; + struct ad799x_state *st = iio_priv(indio_dev); + + if (!(st->config & AD7998_ALERT_EN)) + return 0; + + if ((st->config >> AD799X_CHANNEL_SHIFT) & BIT(chan->scan_index)) + return 1; + + return 0; } static unsigned int ad799x_threshold_reg(const struct iio_chan_spec *chan, |