gpio: cdev: wake up linereq poll() on device unbind
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 17 Aug 2023 13:18:58 +0000 (15:18 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 21 Aug 2023 13:57:05 +0000 (15:57 +0200)
commita0dda508bd66b9eeeedc6fe0597aa8613f4b3c5d
tree97e1cdb3c5cb467a4ffbd58a395d7044cd57aa25
parentd2e2586a3292e05d4872e9111e8b005bc4ff4d09
gpio: cdev: wake up linereq poll() on device unbind

Add a notifier block to the linereq structure and register it with the
gpio_device's device notifier. Upon reception of an event, wake up the
wait queue so that the user-space be forced out of poll() and need to go
into a new system call which will then fail due to the chip being gone.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Kent Gibson <warthog618@gmail.com>
drivers/gpio/gpiolib-cdev.c