Messages in this thread | ![/](/images/icornerl.gif) | | Date | Sun, 10 Dec 2023 12:13:56 +0000 | From | Jonathan Cameron <> | Subject | Re: [PATCH v3 03/13] iio: adc: ad7091r: Set alert bit in config register |
| |
On Thu, 7 Dec 2023 15:38:53 -0300 Marcelo Schmitt <marcelo.schmitt@analog.com> wrote:
> The ad7091r-base driver sets up an interrupt handler for firing events > when inputs are either above or below a certain threshold. > However, for the interrupt signal to come from the device it must be > configured to enable the ALERT/BUSY/GPO pin to be used as ALERT, which > was not being done until now. > Enable interrupt signals on the ALERT/BUSY/GPO pin by setting the proper > bit in the configuration register. > > Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com> Also a fix? Feels like people expect this to work but I guess we could in theory call it a 'feature' given it never did :)
Jonathan
> --- > drivers/iio/adc/ad7091r-base.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/iio/adc/ad7091r-base.c b/drivers/iio/adc/ad7091r-base.c > index 0f192fbecbd4..6056a66d756c 100644 > --- a/drivers/iio/adc/ad7091r-base.c > +++ b/drivers/iio/adc/ad7091r-base.c > @@ -28,6 +28,7 @@ > #define AD7091R_REG_RESULT_CONV_RESULT(x) ((x) & 0xfff) > > /* AD7091R_REG_CONF */ > +#define AD7091R_REG_CONF_ALERT_EN BIT(4) > #define AD7091R_REG_CONF_AUTO BIT(8) > #define AD7091R_REG_CONF_CMD BIT(10) > > @@ -232,6 +233,11 @@ int ad7091r_probe(struct device *dev, const char *name, > iio_dev->channels = chip_info->channels; > > if (irq) { > + ret = regmap_update_bits(st->map, AD7091R_REG_CONF, > + AD7091R_REG_CONF_ALERT_EN, BIT(4)); > + if (ret) > + return ret; > + > dev_set_drvdata(st->dev, iio_dev); > ret = devm_request_threaded_irq(dev, irq, NULL, > ad7091r_event_handler,
| ![\](/images/icornerr.gif) |