This series moves the main IIO core files to the new cleanup.h macros for acquiring and automatically releasing mutexes. This results (in some cases) in way simpler code paths. I think the overall result is fairly neat (mainly in inkern.c). One thing to mention is in the iio_event_getfd() function. We might be changing the return code. Before we directly returned the error code returned by mutex_lock_interruptible(). Now we return -EINTR. And this is something visible by userspace so it might mean an ABI breakage. Having said the above, looking at the mutex_lock_interruptible() docs it seems we either return 0 or -EINTR. Not sure if that is really truth (but it does makes sense). On top of that, I would also say it's very unlikely for someone to be relying on an error code return by a locking function but who knows... Anyways, this is something worth mentioning. Next goal is to convert the code under iio/buffer/ --- Nuno Sa (5): iio: core: move to cleanup.h magic iio: events: move to the cleanup.h magic iio: trigger: move to the cleanup.h magic iio: buffer: iio: core: move to the cleanup.h magic iio: inkern: move to the cleanup.h magic drivers/iio/industrialio-buffer.c | 105 +++++++---------- drivers/iio/industrialio-core.c | 52 ++++----- drivers/iio/industrialio-event.c | 42 +++---- drivers/iio/industrialio-trigger.c | 64 +++++------ drivers/iio/inkern.c | 224 ++++++++++++------------------------- 5 files changed, 172 insertions(+), 315 deletions(-) --- base-commit: bd2f1ed8873d4bbb2798151bbe28c86565251cfb change-id: 20240216-iio-use-cleanup-magic-29fc666a142b -- Thanks! - Nuno Sá