[PATCH 00/10] gpio/pinctrl: replace gpiochip_is_requested() with a safer interface

From: Bartosz Golaszewski
Date: Wed Nov 29 2023 - 09:24:27 EST


From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>

While reworking the locking in GPIOLIB I realized that locking the
descriptor with users still calling gpiochip_is_requested() will still
be buggy as it returns a pointer to a string that can be freed whenever
the descriptor is released. Let's provide a safer alternative in the
form of a function that returns a copy of the label.

Use it in all drivers and remove gpiochip_is_requested().

Bartosz Golaszewski (10):
gpiolib: provide gpiochip_dup_line_label()
gpio: wm831x: use gpiochip_dup_line_label()
gpio: wm8994: use gpiochip_dup_line_label()
gpio: stmpe: use gpiochip_dup_line_label()
pinctrl: abx500: use gpiochip_dup_line_label()
pinctrl: nomadik: use gpiochip_dup_line_label()
pinctrl: baytrail: use gpiochip_dup_line_label()
pinctrl: sppctl: use gpiochip_dup_line_label()
gpiolib: use gpiochip_dup_line_label() in for_each helpers
gpiolib: remove gpiochip_is_requested()

drivers/gpio/gpio-stmpe.c | 6 +++-
drivers/gpio/gpio-wm831x.c | 14 ++++++---
drivers/gpio/gpio-wm8994.c | 13 +++++---
drivers/gpio/gpiolib.c | 37 ++++++++++++++---------
drivers/pinctrl/intel/pinctrl-baytrail.c | 11 ++++---
drivers/pinctrl/nomadik/pinctrl-abx500.c | 9 ++++--
drivers/pinctrl/nomadik/pinctrl-nomadik.c | 6 +++-
drivers/pinctrl/sunplus/sppctl.c | 10 +++---
include/linux/gpio/driver.h | 8 +++--
9 files changed, 72 insertions(+), 42 deletions(-)

--
2.40.1