git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
async: Asynchronous function calls to speed up kernel boot
[safe/jmp/linux-2.6]
/
include
/
linux
/
hid.h
diff --git
a/include/linux/hid.h
b/include/linux/hid.h
index
0773ba6
..
81aa84d
100644
(file)
--- a/
include/linux/hid.h
+++ b/
include/linux/hid.h
@@
-388,6
+388,12
@@
struct hid_report_enum {
struct hid_control_fifo {
unsigned char dir;
struct hid_report *report;
struct hid_control_fifo {
unsigned char dir;
struct hid_report *report;
+ char *raw_report;
+};
+
+struct hid_output_fifo {
+ struct hid_report *report;
+ char *raw_report;
};
#define HID_CLAIMED_INPUT 1
};
#define HID_CLAIMED_INPUT 1
@@
-397,20
+403,17
@@
struct hid_control_fifo {
#define HID_STAT_ADDED 1
#define HID_STAT_PARSED 2
#define HID_STAT_ADDED 1
#define HID_STAT_PARSED 2
-#define HID_CTRL_RUNNING 1
-#define HID_OUT_RUNNING 2
-#define HID_IN_RUNNING 3
-#define HID_RESET_PENDING 4
-#define HID_SUSPENDED 5
-#define HID_CLEAR_HALT 6
-#define HID_DISCONNECTED 7
-
struct hid_input {
struct list_head list;
struct hid_report *report;
struct input_dev *input;
};
struct hid_input {
struct list_head list;
struct hid_report *report;
struct input_dev *input;
};
+enum hid_type {
+ HID_TYPE_OTHER = 0,
+ HID_TYPE_USBMOUSE
+};
+
struct hid_driver;
struct hid_ll_driver;
struct hid_driver;
struct hid_ll_driver;
@@
-425,6
+428,7
@@
struct hid_device { /* device report descriptor */
__u32 vendor; /* Vendor ID */
__u32 product; /* Product ID */
__u32 version; /* HID version */
__u32 vendor; /* Vendor ID */
__u32 product; /* Product ID */
__u32 version; /* HID version */
+ enum hid_type type; /* device type (mouse, kbd, ...) */
unsigned country; /* HID country */
struct hid_report_enum report_enum[HID_REPORT_TYPES];
unsigned country; /* HID country */
struct hid_report_enum report_enum[HID_REPORT_TYPES];
@@
-527,6
+531,8
@@
struct hid_usage_id {
* @name: driver name (e.g. "Footech_bar-wheel")
* @id_table: which devices is this driver for (must be non-NULL for probe
* to be called)
* @name: driver name (e.g. "Footech_bar-wheel")
* @id_table: which devices is this driver for (must be non-NULL for probe
* to be called)
+ * @dyn_list: list of dynamically added device ids
+ * @dyn_lock: lock protecting @dyn_list
* @probe: new device inserted
* @remove: device removed (NULL if not a hot-plug capable driver)
* @report_table: on which reports to call raw_event (NULL means all)
* @probe: new device inserted
* @remove: device removed (NULL if not a hot-plug capable driver)
* @report_table: on which reports to call raw_event (NULL means all)
@@
-554,6
+560,9
@@
struct hid_driver {
char *name;
const struct hid_device_id *id_table;
char *name;
const struct hid_device_id *id_table;
+ struct list_head dyn_list;
+ spinlock_t dyn_lock;
+
int (*probe)(struct hid_device *dev, const struct hid_device_id *id);
void (*remove)(struct hid_device *dev);
int (*probe)(struct hid_device *dev, const struct hid_device_id *id);
void (*remove)(struct hid_device *dev);
@@
-757,17
+766,10
@@
int usbhid_quirks_init(char **quirks_param);
void usbhid_quirks_exit(void);
void usbhid_set_leds(struct hid_device *hid);
void usbhid_quirks_exit(void);
void usbhid_set_leds(struct hid_device *hid);
-#ifdef CONFIG_HID_FF
-int hid_ff_init(struct hid_device *hid);
-
#ifdef CONFIG_HID_PID
int hid_pidff_init(struct hid_device *hid);
#else
#ifdef CONFIG_HID_PID
int hid_pidff_init(struct hid_device *hid);
#else
-static inline int hid_pidff_init(struct hid_device *hid) { return -ENODEV; }
-#endif
-
-#else
-#define hid_ff_init NULL
+#define hid_pidff_init NULL
#endif
#ifdef CONFIG_HID_DEBUG
#endif
#ifdef CONFIG_HID_DEBUG
@@
-791,6
+793,8
@@
dbg_hid(const char *fmt, ...)
#ifdef CONFIG_HID_COMPAT
#define HID_COMPAT_LOAD_DRIVER(name) \
#ifdef CONFIG_HID_COMPAT
#define HID_COMPAT_LOAD_DRIVER(name) \
+/* prototype to avoid sparse warning */ \
+extern void hid_compat_##name(void); \
void hid_compat_##name(void) { } \
EXPORT_SYMBOL(hid_compat_##name)
#else
void hid_compat_##name(void) { } \
EXPORT_SYMBOL(hid_compat_##name)
#else