gpio: cdev: wake up lineevent poll() on device unbind
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 17 Aug 2023 13:28:31 +0000 (15:28 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 21 Aug 2023 13:57:05 +0000 (15:57 +0200)
commit91043f559313fb04ac18253fcf18561a40c1b045
tree85020b3d8d12772e41e7b6821324e0d5d41b170d
parenta0dda508bd66b9eeeedc6fe0597aa8613f4b3c5d
gpio: cdev: wake up lineevent poll() on device unbind

Add a notifier block to the lineevent_state 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