On Fri, Aug 18, 2023 at 12:31 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > On Thu, Aug 17, 2023 at 08:49:56PM +0200, Bartosz Golaszewski wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > > > Add a notifier block to the gpio_chardev_data 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. > > ... > > > + struct gpio_chardev_data *cdev = container_of(nb, > > + struct gpio_chardev_data, > > + device_unregistered_nb); > > struct gpio_chardev_data *cdev = > container_of(nb, struct gpio_chardev_data, device_unregistered_nb); > > ? I could live with the other version but sure, why not. I will send a v3 with a helper wrapper around blocking_notifier_call_chain() for more brevity. Bart