[PATCH 0/4] gpiolib: cdev: guard tidying

From: Kent Gibson
Date: Tue Dec 19 2023 - 20:51:31 EST


This series contains some tidying up of gpiolib-cdev following the
recent adoption of guard().

The first couple of patches are minor fixes inspired by recent
submissions and reviews for gpiolib.c.

Patch 1 adds a missing include.

Patch 2 switches allocation of struct linereq from kzalloc() to
kvzalloc() as it can be larger than one page - even more so after the
recent relocation of debounce_period_us.

Patch 3 tidies up the functions that use a guard on the linereq
config_mutex.

Patch 4 tidies up the functions that use a guard on the gpio_device.
The new guard macro definitions probably should be relocated into
gpiolib.h, and I'll do that for v2 if there is a general consensus.

I also note that gpio_ioctl() is NOT covered by a guard to inhibit
removal of the gpio_device. This looks like a bug to me, unless there
is some higher level locking at play that I am unaware of?

Cheers,
Kent.

Kent Gibson (4):
gpiolib: cdev: include overflow.h
gpiolib: cdev: allocate linereq using kvzalloc()
gpiolib: cdev: replace locking wrappers for config_mutex with guards
gpiolib: cdev: replace locking wrappers for gpio_device with guards

drivers/gpio/gpiolib-cdev.c | 263 +++++++++++-------------------------
1 file changed, 79 insertions(+), 184 deletions(-)

--
2.39.2