Re: [PATCH v3 7/9] iio: adc: ad4062: Add IIO Events support
From: Jorge Marques
Date: Mon Dec 08 2025 - 16:13:02 EST
On Sat, Dec 06, 2025 at 05:52:31PM +0000, Jonathan Cameron wrote:
> On Fri, 5 Dec 2025 16:12:08 +0100
> Jorge Marques <jorge.marques@xxxxxxxxxx> wrote:
>
> > Adds support for IIO Events. Optionally, gp0 is assigned as Threshold
> > Either signal, if not present, fallback to an I3C IBI with the same
> > role.
> >
> > Signed-off-by: Jorge Marques <jorge.marques@xxxxxxxxxx>
> > ---
Hi Jonathan,
> > + if (!iio_device_claim_direct(indio_dev))
> > + return -EBUSY;
>
> Similar to below. Consider factoring out this stuff or I guess wait
> for an ACQUIRE() based standard solution.
>
> > +
> > + if (!iio_device_claim_direct(indio_dev))
> > + return -EBUSY;
>
> Whilst I do plan to take a look at whether we can do an ACQUIRE pattern
> like the runtime pm ones, for now (unless you fancy taking that on)
> I'd be tempt ed to factor out this stuff under the direct mode claim into
> a helper that can then do direct returns. That should end up easier to ready
> that this.
I will factor out, adding _dispatch() methods to return directly, so
if (st->wait_event)
return -EBUSY;
switch (type) {
case IIO_EV_TYPE_THRESH:
switch (info) {
case IIO_EV_INFO_VALUE:
return __ad4062_write_event_info_value(st, dir, val);
// ...
> > + if (st->wait_event) {
> > + ret = -EBUSY;
> > + goto out_release;
> > + }
> > +
> > + switch (type) {
> > + case IIO_EV_TYPE_THRESH:
> > + switch (info) {
> > + case IIO_EV_INFO_VALUE:
> > + ret = __ad4062_write_event_info_value(st, dir, val);
> > + break;
> > + case IIO_EV_INFO_HYSTERESIS:
> > + ret = __ad4062_write_event_info_hysteresis(st, dir, val);
> > + break;
> > + default:
> > + ret = -EINVAL;
> > + break;
> > + }
> > + break;
> > + default:
> > + ret = -EINVAL;
> > + break;
> > + }
Best regards,
Jorge