| #ifndef _INPUT_POLLDEV_H |
| #define _INPUT_POLLDEV_H |
| |
| /* |
| * Copyright (c) 2007 Dmitry Torokhov |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License version 2 as published by |
| * the Free Software Foundation. |
| */ |
| |
| #include <linux/input.h> |
| #include <linux/workqueue.h> |
| |
| struct input_polled_dev { |
| void *private; |
| |
| void (*open)(struct input_polled_dev *dev); |
| void (*close)(struct input_polled_dev *dev); |
| void (*poll)(struct input_polled_dev *dev); |
| unsigned int poll_interval; |
| unsigned int poll_interval_max; |
| unsigned int poll_interval_min; |
| |
| struct input_dev *input; |
| |
| struct delayed_work work; |
| }; |
| |
| struct input_polled_dev *input_allocate_polled_device(void); |
| void input_free_polled_device(struct input_polled_dev *dev); |
| int input_register_polled_device(struct input_polled_dev *dev); |
| void input_unregister_polled_device(struct input_polled_dev *dev); |
| |
| #endif |