[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DFR45QMTKRCN.2QC7P7DJDIDYD@gmail.com>
Date: Sat, 17 Jan 2026 14:32:59 -0500
From: "Kurt Borja" <kuurtb@...il.com>
To: "Jonathan Cameron" <jic23@...nel.org>, "Kurt Borja" <kuurtb@...il.com>
Cc: "Andy Shevchenko" <andriy.shevchenko@...el.com>, "Lars-Peter Clausen"
<lars@...afoo.de>, "Michael Hennerich" <Michael.Hennerich@...log.com>,
"Benson Leung" <bleung@...omium.org>, "Antoniu Miclaus"
<antoniu.miclaus@...log.com>, "Gwendal Grignou" <gwendal@...omium.org>,
"Shrikant Raskar" <raskar.shree97@...il.com>, "Per-Daniel Olsson"
<perdaniel.olsson@...s.com>, "David Lechner" <dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>, "Andy Shevchenko"
<andy@...nel.org>, "Guenter Roeck" <groeck@...omium.org>, "Jonathan
Cameron" <Jonathan.Cameron@...wei.com>, <linux-iio@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <chrome-platform@...ts.linux.dev>
Subject: Re: [PATCH v3 1/7] iio: core: Add and export __iio_dev_mode_lock()
On Fri Jan 16, 2026 at 3:18 PM -05, Jonathan Cameron wrote:
> On Tue, 06 Jan 2026 03:06:56 -0500
> Kurt Borja <kuurtb@...il.com> wrote:
>
>> Add unconditional wrappers around the internal IIO mode lock.
>>
>> As mentioned in the documentation, this is not meant to be used by
>> drivers, instead this will aid in the eventual addition of cleanup
>> classes around conditional locks.
>>
>> Signed-off-by: Kurt Borja <kuurtb@...il.com>
> Hi Kurt,
>
> I'm being a bit conservative in looking to apply this so apologies
> if it seems like I'm ignoring you! I wanted to give plenty of time
> for others to take a look.
Hi Jonathan,
Oh -- don't worry. It's understandable for API changes. Thanks for
clarifying!
>
> A few comments, but if we go with this version I'll tweak the
> punctuation if I remember whilst applying.
I will fix the ones you mentioned here. Apologies if there is more.
...
>> diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
>> index 872ebdf0dd77..aecda887d833 100644
>> --- a/include/linux/iio/iio.h
>> +++ b/include/linux/iio/iio.h
>> @@ -661,6 +661,9 @@ void iio_device_unregister(struct iio_dev *indio_dev);
>> int __devm_iio_device_register(struct device *dev, struct iio_dev *indio_dev,
>> struct module *this_mod);
>> int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp);
>> +
>> +void __iio_dev_mode_lock(struct iio_dev *indio_dev) __acquires(indio_dev);
>> +void __iio_dev_mode_unlock(struct iio_dev *indio_dev) __releases(indio_dev);
> This is an interesting notation choice as there are several locks embedded
> in iio_devs but I think it is the only one we want to expose so fair enough
> if we don't see any false warnings from this!
The previous implementation also used __acquire(indio_dev) and I do
believe is the best choice, for the reasons you mentioned. Also the
mlock is inside iio_dev_opaque and we don't have access to that in
iio.h.
>
> Jonathan
>
>> bool __iio_device_claim_direct(struct iio_dev *indio_dev);
>> void __iio_device_release_direct(struct iio_dev *indio_dev);
>>
>>
--
Thanks,
~ Kurt
Powered by blists - more mailing lists