[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aUjxnibLMpvMtOY1@lipo.home.arpa>
Date: Mon, 22 Dec 2025 09:22:06 +0200
From: Petre Rodan <petre.rodan@...dimension.ro>
To: Jonathan Cameron <jic23@...nel.org>
Cc: David Lechner <dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>,
Andreas Klinger <ak@...klinger.de>, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org,
Jonathan Cameron <Jonathan.Cameron@...wei.com>
Subject: Re: [PATCH 12/14] iio: pressure: mprls0025pa: fix interrupt flag
hello Jonathan,
On Sun, Dec 21, 2025 at 06:38:26PM +0000, Jonathan Cameron wrote:
> On Thu, 18 Dec 2025 13:05:54 +0200
> Petre Rodan <petre.rodan@...dimension.ro> wrote:
>
> > Interrupt falling/rising flags should only be defined in the device tree.
> >
> > Fixes: 713337d9143e ("iio: pressure: Honeywell mprls0025pa pressure sensor")
> > Signed-off-by: Petre Rodan <petre.rodan@...dimension.ro>
> Gah. We shoudn't have let this slip through in 2023.
> Some old drivers have done this for many years and for those we definitely
> can't be sure there aren't boards with it set wrong in DT that will see
> a regression with this fix.
>
> For a 2023 driver, maybe we can gamble that no one has broken DT (where this
> would annoyingly be a regression). One other question below.
>
>
> > ---
> > drivers/iio/pressure/mprls0025pa.c | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprls0025pa.c
> > index 243a5717b88f..fc04988b9437 100644
> > --- a/drivers/iio/pressure/mprls0025pa.c
> > +++ b/drivers/iio/pressure/mprls0025pa.c
> > @@ -14,6 +14,7 @@
> > #include <linux/bits.h>
> > #include <linux/delay.h>
> > #include <linux/errno.h>
> > +#include <linux/interrupt.h>
> > #include <linux/math64.h>
> > #include <linux/mod_devicetable.h>
> > #include <linux/module.h>
> > @@ -404,9 +405,7 @@ int mpr_common_probe(struct device *dev, const struct mpr_ops *ops, int irq)
> >
> > if (data->irq > 0) {
> > ret = devm_request_irq(dev, data->irq, mpr_eoc_handler,
> > - IRQF_TRIGGER_RISING,
> > - dev_name(dev),
> > - data);
> > + IRQF_ONESHOT, dev_name(dev), data);
> IRQF_ONESHOT addition here needs a separate explanation. Might well be correct
> but it's not related to your patch description.
do you feel like IRQF_TRIGGER_NONE would be a better fit?
I used ONESHOT just because it seemed like a good idea to isolate the sensor while the handler is running (if I understand the documentation correctly).
best regards,
peter
>
> > if (ret)
> > return dev_err_probe(dev, ret,
> > "request irq %d failed\n", data->irq);
> >
>
--
petre rodan
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists