Re: [PATCH v3 0/7] iio: core: Introduce cleanup.h support for mode locks

From: Kurt Borja

Date: Sat Jan 17 2026 - 14:42:59 EST


On Fri Jan 16, 2026 at 3:33 PM -05, Jonathan Cameron wrote:
> On Tue, 06 Jan 2026 03:06:55 -0500
> Kurt Borja <kuurtb@xxxxxxxxx> wrote:
>
>> Hi,
>>
>> In a recent driver review discussion [1], Andy Shevchenko suggested we
>> add cleanup.h support for the lock API:
>>
>> iio_device_claim_{direct,buffer_mode}().
>>
>> Which would allow some nice code simplification in many places. Some
>> examples are given as patches, but the last two are the biggest
>> differences.
>>
>> In this version I dropped the RFC tag, as the general feeling is to go
>> through with this after some modifications. Main one is the addition of
>> IIO_DEV_ACQUIRE_{BUFFER,CLAIM}_MODE() wrappers to avoid drivers using
>> the guard classes directly. I also added comments on the forbidden ways
>> to use this API but I definitely still take suggestions on this.
>>
>> For now I dropped iio_device_claim_buffer_mode() rename, as this point
>> is still being discussed. My suggestion based on the RFC discussion is
>> to do it, but in a separate patch (using coccinelle) and while we're at
>> it rename the whole API like this:
>>
>> iio_dev_mode_lock()
>> iio_dev_mode_direct_trylock()
>> iio_dev_mode_buffer_trylock()
>> iio_dev_mode_unlock()
>
> I'm not a huge fan of flag days though this is entirely in direct mode
> so I can just do it at the start of a cycle.
>
> Anyhow, that's a job for another day where we can bikeshed the naming
> yet again.
>
> I do like unifying the unlock though.

I can send the patch, gather some feedback and then send a rebased v2 at
the start of the next cycle (or whenever seems best).

Should be pretty trivial, after I learn a bit about semantic patches
( famous last words? :) ).

If you feel up to it, I'm up to it.

>
> Patch 5 never made the list for some reason.
> https://lore.kernel.org/all/20260106-lock-impr-v3-0-1db909b192c0@xxxxxxxxx/#r
>
> (I thought I'd accidentally deleted it!)

Yep, it seems it never reached. I'll make sure it does this time.

>
> Thanks
>
> Jonathan
>
>


--
Thanks,
~ Kurt