|
|
@@ -52,6 +52,10 @@ static unsigned int hid_mousepoll_interval;
|
|
|
module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
|
|
|
MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
|
|
|
|
|
|
+static unsigned int hid_jspoll_interval;
|
|
|
+module_param_named(jspoll, hid_jspoll_interval, uint, 0644);
|
|
|
+MODULE_PARM_DESC(jspoll, "Polling interval of joysticks");
|
|
|
+
|
|
|
static unsigned int ignoreled;
|
|
|
module_param_named(ignoreled, ignoreled, uint, 0644);
|
|
|
MODULE_PARM_DESC(ignoreled, "Autosuspend with active leds");
|
|
|
@@ -1081,9 +1085,17 @@ static int usbhid_start(struct hid_device *hid)
|
|
|
hid->name, endpoint->bInterval, interval);
|
|
|
}
|
|
|
|
|
|
- /* Change the polling interval of mice. */
|
|
|
- if (hid->collection->usage == HID_GD_MOUSE && hid_mousepoll_interval > 0)
|
|
|
- interval = hid_mousepoll_interval;
|
|
|
+ /* Change the polling interval of mice and joysticks. */
|
|
|
+ switch (hid->collection->usage) {
|
|
|
+ case HID_GD_MOUSE:
|
|
|
+ if (hid_mousepoll_interval > 0)
|
|
|
+ interval = hid_mousepoll_interval;
|
|
|
+ break;
|
|
|
+ case HID_GD_JOYSTICK:
|
|
|
+ if (hid_jspoll_interval > 0)
|
|
|
+ interval = hid_jspoll_interval;
|
|
|
+ break;
|
|
|
+ }
|
|
|
|
|
|
ret = -ENOMEM;
|
|
|
if (usb_endpoint_dir_in(endpoint)) {
|