diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2017-04-19 02:28:30 +0200 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2019-08-20 21:04:07 +0200 |
commit | e95656ea15e54d4e6a192d560d84008b53fc1eb5 (patch) | |
tree | 0470cd10f6a489669c8a8ac5a99526ead4257e4f /drivers/input/input-poller.h | |
parent | Input: wacom_w8001 - allocate additional space for 'phys' (diff) | |
download | linux-e95656ea15e54d4e6a192d560d84008b53fc1eb5.tar.xz linux-e95656ea15e54d4e6a192d560d84008b53fc1eb5.zip |
Input: add support for polling to input devices
Separating "normal" and "polled" input devices was a mistake, as often we
want to allow the very same device work on both interrupt-driven and
polled mode, depending on the board on which the device is used.
This introduces new APIs:
- input_setup_polling
- input_set_poll_interval
- input_set_min_poll_interval
- input_set_max_poll_interval
These new APIs allow switching an input device into polled mode with sysfs
attributes matching drivers using input_polled_dev APIs that will be
eventually removed.
Tested-by: Michal Vokáč <michal.vokac@ysoft.com>
Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/input-poller.h')
-rw-r--r-- | drivers/input/input-poller.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/input/input-poller.h b/drivers/input/input-poller.h new file mode 100644 index 000000000000..e3fca0be1d32 --- /dev/null +++ b/drivers/input/input-poller.h @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef _INPUT_POLLER_H +#define _INPUT_POLLER_H + +/* + * Support for polling mode for input devices. + */ +#include <linux/sysfs.h> + +struct input_dev_poller; + +void input_dev_poller_finalize(struct input_dev_poller *poller); +void input_dev_poller_start(struct input_dev_poller *poller); +void input_dev_poller_stop(struct input_dev_poller *poller); + +extern struct attribute_group input_poller_attribute_group; + +#endif /* _INPUT_POLLER_H */ |