aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/input.h
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2010-02-03 00:08:26 -0500
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-02-04 03:25:19 -0500
commit0b7024ac4df5821347141c18e680b7166bc1cb20 (patch)
tree7a61e55e66bdd39351b3ec39ecef367588b47170 /include/linux/input.h
parent1e87a43080a259a0e9739377708ece163b08de8d (diff)
Input: add match() method to input hanlders
Get rid of blacklist in input handler structure and instead allow handlers to define their own match() method to perform fine-grained filtering of supported devices. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'include/linux/input.h')
-rw-r--r--include/linux/input.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/input.h b/include/linux/input.h
index 6c9d3d49fa91..8dc5d724c703 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -1200,6 +1200,8 @@ struct input_handle;
1200 * it may not sleep 1200 * it may not sleep
1201 * @filter: similar to @event; separates normal event handlers from 1201 * @filter: similar to @event; separates normal event handlers from
1202 * "filters". 1202 * "filters".
1203 * @match: called after comparing device's id with handler's id_table
1204 * to perform fine-grained matching between device and handler
1203 * @connect: called when attaching a handler to an input device 1205 * @connect: called when attaching a handler to an input device
1204 * @disconnect: disconnects a handler from input device 1206 * @disconnect: disconnects a handler from input device
1205 * @start: starts handler for given handle. This function is called by 1207 * @start: starts handler for given handle. This function is called by
@@ -1211,8 +1213,6 @@ struct input_handle;
1211 * @name: name of the handler, to be shown in /proc/bus/input/handlers 1213 * @name: name of the handler, to be shown in /proc/bus/input/handlers
1212 * @id_table: pointer to a table of input_device_ids this driver can 1214 * @id_table: pointer to a table of input_device_ids this driver can
1213 * handle 1215 * handle
1214 * @blacklist: pointer to a table of input_device_ids this driver should
1215 * ignore even if they match @id_table
1216 * @h_list: list of input handles associated with the handler 1216 * @h_list: list of input handles associated with the handler
1217 * @node: for placing the driver onto input_handler_list 1217 * @node: for placing the driver onto input_handler_list
1218 * 1218 *
@@ -1235,6 +1235,7 @@ struct input_handler {
1235 1235
1236 void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value); 1236 void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value);
1237 bool (*filter)(struct input_handle *handle, unsigned int type, unsigned int code, int value); 1237 bool (*filter)(struct input_handle *handle, unsigned int type, unsigned int code, int value);
1238 bool (*match)(struct input_handler *handler, struct input_dev *dev);
1238 int (*connect)(struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id); 1239 int (*connect)(struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id);
1239 void (*disconnect)(struct input_handle *handle); 1240 void (*disconnect)(struct input_handle *handle);
1240 void (*start)(struct input_handle *handle); 1241 void (*start)(struct input_handle *handle);
@@ -1244,7 +1245,6 @@ struct input_handler {
1244 const char *name; 1245 const char *name;
1245 1246
1246 const struct input_device_id *id_table; 1247 const struct input_device_id *id_table;
1247 const struct input_device_id *blacklist;
1248 1248
1249 struct list_head h_list; 1249 struct list_head h_list;
1250 struct list_head node; 1250 struct list_head node;