diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-08-06 12:12:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-08-06 12:12:49 -0400 |
commit | 6e1e63259b1e01f047796e7985d960ca040993e6 (patch) | |
tree | 43c895798f3f8565a34c61a0a7fa593c6900d74c /include | |
parent | a05ef8bfdc03c5061f44d91826caa855b0aae481 (diff) | |
parent | 2ffc1ccad85e8c2e81a6a4beb390fb4ce143256b (diff) |
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (24 commits)
Input: ati_remote - use msec instead of jiffies
Input: ati_remote - add missing input_sync()
Input: ati_remote - relax permissions sysfs module parameters
Input: ati_remote - make filter time a module parameter
Input: atkbd - restore repeat rate when resuming
Input: trackpoint - activate protocol when resuming
Input: logips2pp - fix button mapping for MX300
Input: keyboard - change to use kzalloc
Input: serio/gameport - check whether driver core calls succeeded
Input: spaceball - make 4000FLX Lefty work
Input: keyboard - simplify emulate_raw() implementation
Input: keyboard - remove static variable and clean up initialization
Input: hiddev - use standard list implementation
Input: add missing handler->start() call
Input: HID - fix potential out-of-bound array access
Input: fix list iteration in input_release_device()
Input: iforce - add Trust Force Feedback Race Master support
Input: iforce - check array bounds before accessing elements
Input: libps2 - warn instead of oopsing when passed bad arguments
Input: fm801-gp - fix use after free
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/input.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/linux/input.h b/include/linux/input.h index 56f1e0e1e598..b3253ab72ff7 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -893,7 +893,6 @@ struct input_dev { | |||
893 | 893 | ||
894 | int (*open)(struct input_dev *dev); | 894 | int (*open)(struct input_dev *dev); |
895 | void (*close)(struct input_dev *dev); | 895 | void (*close)(struct input_dev *dev); |
896 | int (*accept)(struct input_dev *dev, struct file *file); | ||
897 | int (*flush)(struct input_dev *dev, struct file *file); | 896 | int (*flush)(struct input_dev *dev, struct file *file); |
898 | int (*event)(struct input_dev *dev, unsigned int type, unsigned int code, int value); | 897 | int (*event)(struct input_dev *dev, unsigned int type, unsigned int code, int value); |
899 | int (*upload_effect)(struct input_dev *dev, struct ff_effect *effect); | 898 | int (*upload_effect)(struct input_dev *dev, struct ff_effect *effect); |
@@ -961,6 +960,26 @@ struct input_dev { | |||
961 | 960 | ||
962 | struct input_handle; | 961 | struct input_handle; |
963 | 962 | ||
963 | /** | ||
964 | * struct input_handler - implements one of interfaces for input devices | ||
965 | * @private: driver-specific data | ||
966 | * @event: event handler | ||
967 | * @connect: called when attaching a handler to an input device | ||
968 | * @disconnect: disconnects a handler from input device | ||
969 | * @start: starts handler for given handle. This function is called by | ||
970 | * input core right after connect() method and also when a process | ||
971 | * that "grabbed" a device releases it | ||
972 | * @fops: file operations this driver implements | ||
973 | * @minor: beginning of range of 32 minors for devices this driver | ||
974 | * can provide | ||
975 | * @name: name of the handler, to be shown in /proc/bus/input/handlers | ||
976 | * @id_table: pointer to a table of input_device_ids this driver can | ||
977 | * handle | ||
978 | * @blacklist: prointer to a table of input_device_ids this driver should | ||
979 | * ignore even if they match @id_table | ||
980 | * @h_list: list of input handles associated with the handler | ||
981 | * @node: for placing the driver onto input_handler_list | ||
982 | */ | ||
964 | struct input_handler { | 983 | struct input_handler { |
965 | 984 | ||
966 | void *private; | 985 | void *private; |
@@ -968,6 +987,7 @@ struct input_handler { | |||
968 | void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value); | 987 | void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value); |
969 | struct input_handle* (*connect)(struct input_handler *handler, struct input_dev *dev, struct input_device_id *id); | 988 | struct input_handle* (*connect)(struct input_handler *handler, struct input_dev *dev, struct input_device_id *id); |
970 | void (*disconnect)(struct input_handle *handle); | 989 | void (*disconnect)(struct input_handle *handle); |
990 | void (*start)(struct input_handle *handle); | ||
971 | 991 | ||
972 | const struct file_operations *fops; | 992 | const struct file_operations *fops; |
973 | int minor; | 993 | int minor; |
@@ -1030,10 +1050,10 @@ void input_release_device(struct input_handle *); | |||
1030 | int input_open_device(struct input_handle *); | 1050 | int input_open_device(struct input_handle *); |
1031 | void input_close_device(struct input_handle *); | 1051 | void input_close_device(struct input_handle *); |
1032 | 1052 | ||
1033 | int input_accept_process(struct input_handle *handle, struct file *file); | ||
1034 | int input_flush_device(struct input_handle* handle, struct file* file); | 1053 | int input_flush_device(struct input_handle* handle, struct file* file); |
1035 | 1054 | ||
1036 | void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value); | 1055 | void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value); |
1056 | void input_inject_event(struct input_handle *handle, unsigned int type, unsigned int code, int value); | ||
1037 | 1057 | ||
1038 | static inline void input_report_key(struct input_dev *dev, unsigned int code, int value) | 1058 | static inline void input_report_key(struct input_dev *dev, unsigned int code, int value) |
1039 | { | 1059 | { |