From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> This series adds cleanup infrastructure for defining locking guards with additional arguments, then uses it to provide a guard for down_read_nested() with RW semaphores and finally uses the new guard in GPIOLIB. Patch 3/3 of this series is a second attempt, this time with lockdep-correct nesting. The first two patches can either be picked up into the relevant maintainer trees and I can pull an immutable tag or can be acked and go directly through the GPIO tree. Bartosz Golaszewski (3): cleanup: provide DEFINE_LOCK_GUARD_ARGS() locking/rwsem: provide a lock guard for down_read_nested() gpiolib: pin GPIO devices in place during descriptor lookup drivers/gpio/gpiolib.c | 42 +++++++++++++++++++++++------------------ include/linux/cleanup.h | 6 ++++++ include/linux/rwsem.h | 6 ++++++ 3 files changed, 36 insertions(+), 18 deletions(-) -- 2.40.1