Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: polldev - immediately poll device upon opening

To allow open/ioctl(EVIOCGABS)/close use pattern for polled devices read
the device in context of open() call instead of offloading the first read
to a workqueue. This will ensure that once call to open() returns device
would have cached reasonably recent axis values that can be retrieved via
appropriate ioctl.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

+4 -2
+4 -2
drivers/input/input-polldev.c
··· 49 49 dev->open(dev); 50 50 51 51 /* Only start polling if polling is enabled */ 52 - if (dev->poll_interval > 0) 53 - queue_delayed_work(system_freezable_wq, &dev->work, 0); 52 + if (dev->poll_interval > 0) { 53 + dev->poll(dev); 54 + input_polldev_queue_work(dev); 55 + } 54 56 55 57 return 0; 56 58 }