aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/hid-core.c12
-rw-r--r--drivers/hid/hid-input.c9
2 files changed, 7 insertions, 14 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 18c2b3cf6bcc..1e1a7770a6b9 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -40,18 +40,10 @@
40 40
41#define DRIVER_VERSION "v2.6" 41#define DRIVER_VERSION "v2.6"
42#define DRIVER_AUTHOR "Andreas Gal, Vojtech Pavlik" 42#define DRIVER_AUTHOR "Andreas Gal, Vojtech Pavlik"
43#define DRIVER_DESC "USB HID core driver" 43#define DRIVER_DESC "HID core driver"
44#define DRIVER_LICENSE "GPL" 44#define DRIVER_LICENSE "GPL"
45 45
46/* 46/*
47 * Module parameters.
48 */
49
50static unsigned int hid_mousepoll_interval;
51module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
52MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
53
54/*
55 * Register a new report for a device. 47 * Register a new report for a device.
56 */ 48 */
57 49
@@ -656,7 +648,7 @@ struct hid_device *hid_parse_report(__u8 *start, unsigned size)
656 for (i = 0; i < HID_REPORT_TYPES; i++) 648 for (i = 0; i < HID_REPORT_TYPES; i++)
657 INIT_LIST_HEAD(&device->report_enum[i].report_list); 649 INIT_LIST_HEAD(&device->report_enum[i].report_list);
658 650
659 if (!(device->rdesc = (__u8 *)kmalloc(size, GFP_KERNEL))) { 651 if (!(device->rdesc = kmalloc(size, GFP_KERNEL))) {
660 kfree(device->collection); 652 kfree(device->collection);
661 kfree(device); 653 kfree(device);
662 return NULL; 654 return NULL;
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 998638020ea0..28689e3eb552 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -68,6 +68,7 @@ static const struct {
68#define map_led(c) do { usage->code = c; usage->type = EV_LED; bit = input->ledbit; max = LED_MAX; } while (0) 68#define map_led(c) do { usage->code = c; usage->type = EV_LED; bit = input->ledbit; max = LED_MAX; } while (0)
69 69
70#define map_abs_clear(c) do { map_abs(c); clear_bit(c, bit); } while (0) 70#define map_abs_clear(c) do { map_abs(c); clear_bit(c, bit); } while (0)
71#define map_rel_clear(c) do { map_rel(c); clear_bit(c, bit); } while (0)
71#define map_key_clear(c) do { map_key(c); clear_bit(c, bit); } while (0) 72#define map_key_clear(c) do { map_key(c); clear_bit(c, bit); } while (0)
72 73
73#ifdef CONFIG_USB_HIDINPUT_POWERBOOK 74#ifdef CONFIG_USB_HIDINPUT_POWERBOOK
@@ -292,7 +293,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
292 } 293 }
293 } 294 }
294 295
295 map_key(code); 296 map_key_clear(code);
296 break; 297 break;
297 298
298 299
@@ -343,9 +344,9 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
343 case HID_GD_RX: case HID_GD_RY: case HID_GD_RZ: 344 case HID_GD_RX: case HID_GD_RY: case HID_GD_RZ:
344 case HID_GD_SLIDER: case HID_GD_DIAL: case HID_GD_WHEEL: 345 case HID_GD_SLIDER: case HID_GD_DIAL: case HID_GD_WHEEL:
345 if (field->flags & HID_MAIN_ITEM_RELATIVE) 346 if (field->flags & HID_MAIN_ITEM_RELATIVE)
346 map_rel(usage->hid & 0xf); 347 map_rel_clear(usage->hid & 0xf);
347 else 348 else
348 map_abs(usage->hid & 0xf); 349 map_abs_clear(usage->hid & 0xf);
349 break; 350 break;
350 351
351 case HID_GD_HATSWITCH: 352 case HID_GD_HATSWITCH:
@@ -500,7 +501,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
500 case 0x22f: map_key_clear(KEY_ZOOMRESET); break; 501 case 0x22f: map_key_clear(KEY_ZOOMRESET); break;
501 case 0x233: map_key_clear(KEY_SCROLLUP); break; 502 case 0x233: map_key_clear(KEY_SCROLLUP); break;
502 case 0x234: map_key_clear(KEY_SCROLLDOWN); break; 503 case 0x234: map_key_clear(KEY_SCROLLDOWN); break;
503 case 0x238: map_rel(REL_HWHEEL); break; 504 case 0x238: map_rel_clear(REL_HWHEEL); break;
504 case 0x25f: map_key_clear(KEY_CANCEL); break; 505 case 0x25f: map_key_clear(KEY_CANCEL); break;
505 case 0x279: map_key_clear(KEY_REDO); break; 506 case 0x279: map_key_clear(KEY_REDO); break;
506 507