---
 drivers/usb/input/Kconfig    |   32 ++++++++++++++++++++++++++++++++
 drivers/usb/input/hid-core.c |    2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)

Index: linux-2.6.17-rc3-no1/drivers/usb/input/Kconfig
===================================================================
--- linux-2.6.17-rc3-no1.orig/drivers/usb/input/Kconfig
+++ linux-2.6.17-rc3-no1/drivers/usb/input/Kconfig
@@ -24,6 +24,38 @@ config USB_HID
 	  To compile this driver as a module, choose M here: the
 	  module will be called usbhid.
 
+config USB_HID_MOUSE_POLLING_INTERVAL
+	int "USB HID Mouse Interrupt Polling Interval"
+	default 10
+	depends on USB_HID
+	help
+	  The "USB HID Mouse Interrupt Polling Interval" is the interval, at
+	  which your USB HID mouse is to be polled at. The interval is
+	  specified in milliseconds.
+
+	  Decreasing the interval will, of course, give you a much more
+	  precise mouse.
+
+	  Generally speaking, a polling interval of 2 ms should be more than
+	  enough for most people, and is great for gaming and other things
+	  that require high precision.
+
+	  An interval lower than the default is not guaranteed work on your
+	  specific piece of hardware. If you want to play it safe, don't
+	  change this value.
+
+	  Now, if you indeed want to feel the joy of a precise mouse, the
+	  following mice are known to work without problems, when the interval
+	  is set to at least 2 ms:
+
+	    * Logitech's MX-family
+	    * Logitech Mouse Man Dual Optical
+	    * Logitech iFeel
+	    * Microsoft Intellimouse Explorer
+	    * Microsoft Intellimouse Optical 1.1
+
+	  If unsure, keep it at 10 ms.
+
 comment "Input core support is needed for USB HID input layer or HIDBP support"
 	depends on USB_HID && INPUT=n
 
Index: linux-2.6.17-rc3-no1/drivers/usb/input/hid-core.c
===================================================================
--- linux-2.6.17-rc3-no1.orig/drivers/usb/input/hid-core.c
+++ linux-2.6.17-rc3-no1/drivers/usb/input/hid-core.c
@@ -50,7 +50,7 @@ static char *hid_types[] = {"Device", "P
  * Module parameters.
  */
 
-static unsigned int hid_mousepoll_interval;
+static unsigned int hid_mousepoll_interval = CONFIG_USB_HID_MOUSE_POLLING_INTERVAL;
 module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
 MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
 
