[patch] input: HID update [7/14]

From: Vojtech Pavlik (vojtech@suse.cz)
Date: Wed Feb 12 2003 - 06:03:59 EST


You can pull this changeset from:
        bk://kernel.bkbits.net/vojtech/input

===================================================================

ChangeSet@1.1010, 2003-02-12 10:55:13+01:00, vojtech@suse.cz
  input: HID update
          - Fix a bad #define for HID_QUIRK_BADPAD
          - Set absfuzz and absflat for joysticks/gamepads only
          - Add TangTop quirk

 hid-core.c | 6 ++++++
 hid-input.c | 9 +++++++--
 hid.h | 2 +-
 3 files changed, 14 insertions(+), 3 deletions(-)

===================================================================

diff -Nru a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c
--- a/drivers/usb/input/hid-core.c Wed Feb 12 11:56:57 2003
+++ b/drivers/usb/input/hid-core.c Wed Feb 12 11:56:57 2003
@@ -1327,6 +1327,9 @@
 #define USB_VENDOR_ID_ONTRAK 0x0a07
 #define USB_DEVICE_ID_ONTRAK_ADU100 0x0064
 
+#define USB_VENDOR_ID_TANGTOP 0x0d3d
+#define USB_DEVICE_ID_TANGTOP_USBPS2 0x0001
+
 struct hid_blacklist {
         __u16 idVendor;
         __u16 idProduct;
@@ -1368,6 +1371,7 @@
         { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100 + 300, HID_QUIRK_IGNORE },
         { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100 + 400, HID_QUIRK_IGNORE },
         { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100 + 500, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, HID_QUIRK_NOGET },
         { 0, 0 }
 };
 
@@ -1533,6 +1537,8 @@
         kfree(buf);
 
         hid->urbctrl = usb_alloc_urb(0, GFP_KERNEL);
+ if (!hid->urbctrl)
+ goto fail;
         usb_fill_control_urb(hid->urbctrl, dev, 0, (void *) hid->cr,
                              hid->ctrlbuf, 1, hid_ctrl, hid);
         hid->urbctrl->setup_dma = hid->cr_dma;
diff -Nru a/drivers/usb/input/hid-input.c b/drivers/usb/input/hid-input.c
--- a/drivers/usb/input/hid-input.c Wed Feb 12 11:56:57 2003
+++ b/drivers/usb/input/hid-input.c Wed Feb 12 11:56:57 2003
@@ -364,8 +364,13 @@
                 
                 input->absmin[usage->code] = a;
                 input->absmax[usage->code] = b;
- input->absfuzz[usage->code] = (b - a) >> 8;
- input->absflat[usage->code] = (b - a) >> 4;
+ input->absfuzz[usage->code] = 0;
+ input->absflat[usage->code] = 0;
+
+ if (field->application == HID_GD_GAMEPAD || field->application == HID_GD_JOYSTICK) {
+ input->absfuzz[usage->code] = (b - a) >> 8;
+ input->absflat[usage->code] = (b - a) >> 4;
+ }
         }
 
         if (usage->hat_min != usage->hat_max) {
diff -Nru a/drivers/usb/input/hid.h b/drivers/usb/input/hid.h
--- a/drivers/usb/input/hid.h Wed Feb 12 11:56:57 2003
+++ b/drivers/usb/input/hid.h Wed Feb 12 11:56:57 2003
@@ -206,7 +206,7 @@
 #define HID_QUIRK_IGNORE 0x04
 #define HID_QUIRK_NOGET 0x08
 #define HID_QUIRK_HIDDEV 0x10
-#define HID_QUIRK_BADPAD 0x12
+#define HID_QUIRK_BADPAD 0x20
 
 /*
  * This is the global enviroment of the parser. This information is
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:39 EST