[PATCH v2 0/5] gpiolib: cdev: guard tidying

From: Kent Gibson
Date: Wed Dec 20 2023 - 20:21:07 EST


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

The first patch is a fix to protect gpio_ioctl() from having the
gpio chip removed while the ioctl is in progress.

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

Patch 2 adds a missing include.

Patch 3 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.

The final two patches replace wrapper functions with guards.

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

Patch 5 tidies up the functions that use a guard on the gpio_device.

Changes v1 -> v2:
- add patch 1 to protect gpio_ioctl() from chip removal
- improve commit comment (patch 3)
- use guard(rwsem_read) rather than rolling our own (patch 5)

Cheers,
Kent.

Kent Gibson (5):
gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl()
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 | 257 ++++++++++--------------------------
1 file changed, 70 insertions(+), 187 deletions(-)

--
2.39.2