iio: locking: introduce __cleanup() based direct mode claiming infrastructure
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 28 Jan 2024 15:05:28 +0000 (15:05 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 17 Feb 2024 16:16:10 +0000 (16:16 +0000)
commit1dae0cb79ceacbdc7495c5f83ca71e1c12a24d7c
treec2ee697e2469e73f81cd1c516405f8308d9701d0
parentf7b6443f347dd5fdbee15a15f457db83f1426328
iio: locking: introduce __cleanup() based direct mode claiming infrastructure

Allows use of:

       iio_device_claim_direct_scoped(return -EBUSY, indio_dev) {
       }

to automatically call iio_device_release_direct_mode() based on scope.
Typically seen in combination with local device specific locks which
are already have automated cleanup options via guard(mutex)(&st->lock)
and scoped_guard(). Using both together allows most error handling to
be automated.

Reviewed-by: Nuno Sa <nuno.a@analog.com>
Link: https://lore.kernel.org/r/20240128150537.44592-2-jic23@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
include/linux/iio/iio.h