Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
authorDmitry Torokhov <dtor_core@ameritech.net>
Mon, 6 Jun 2005 07:21:03 +0000 (02:21 -0500)
committerDmitry Torokhov <dtor_core@ameritech.net>
Mon, 6 Jun 2005 07:21:03 +0000 (02:21 -0500)
1  2 
drivers/usb/input/hid-core.c

index 43215a981814c4aa007c9d6a134fce8e0a99011e,2d8bd9dcc6edae2b8d1c4ea112f0c5e66cddc149..96959ec590a385caf0eddb45cf69b7a2805a3852
@@@ -232,7 -232,7 +232,7 @@@ static int hid_add_field(struct hid_par
        report->size += parser->global.report_size * parser->global.report_count;
  
        if (!parser->local.usage_index) /* Ignore padding fields */
 -              return 0; 
 +              return 0;
  
        usages = max_t(int, parser->local.usage_index, parser->global.report_count);
  
@@@ -765,7 -765,7 +765,7 @@@ static __inline__ __u32 s32ton(__s32 va
  static __inline__ __u32 extract(__u8 *report, unsigned offset, unsigned n)
  {
        report += (offset >> 5) << 2; offset &= 31;
 -      return (le64_to_cpu(get_unaligned((__le64*)report)) >> offset) & ((1 << n) - 1);
 +      return (le64_to_cpu(get_unaligned((__le64*)report)) >> offset) & ((1ULL << n) - 1);
  }
  
  static __inline__ void implement(__u8 *report, unsigned offset, unsigned n, __u32 value)
@@@ -1233,13 -1233,6 +1233,13 @@@ int hid_wait_io(struct hid_device *hid
        return 0;
  }
  
 +static int hid_set_idle(struct usb_device *dev, int ifnum, int report, int idle)
 +{
 +      return usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
 +              HID_REQ_SET_IDLE, USB_TYPE_CLASS | USB_RECIP_INTERFACE, (idle << 8) | report,
 +              ifnum, NULL, 0, USB_CTRL_SET_TIMEOUT);
 +}
 +
  static int hid_get_class_descriptor(struct usb_device *dev, int ifnum,
                unsigned char type, void *buf, int size)
  {
@@@ -1308,6 -1301,10 +1308,6 @@@ void hid_init_reports(struct hid_devic
  
        if (err)
                warn("timeout initializing reports\n");
 -
 -      usb_control_msg(hid->dev, usb_sndctrlpipe(hid->dev, 0),
 -              HID_REQ_SET_IDLE, USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0,
 -              hid->ifnum, NULL, 0, USB_CTRL_SET_TIMEOUT);
  }
  
  #define USB_VENDOR_ID_WACOM           0x056a
  #define USB_DEVICE_ID_WACOM_INTUOS2   0x0040
  #define USB_DEVICE_ID_WACOM_VOLITO    0x0060
  #define USB_DEVICE_ID_WACOM_PTU               0x0003
+ #define USB_DEVICE_ID_WACOM_INTUOS3   0x00B0
+ #define USB_DEVICE_ID_WACOM_CINTIQ    0x003F
  
  #define USB_VENDOR_ID_KBGEAR          0x084e
  #define USB_DEVICE_ID_KBGEAR_JAMSTUDIO        0x1001
  
  #define USB_VENDOR_ID_DELORME         0x1163
  #define USB_DEVICE_ID_DELORME_EARTHMATE 0x0100
+ #define USB_DEVICE_ID_DELORME_EM_LT20 0x0200
  
  #define USB_VENDOR_ID_MCC             0x09db
  #define USB_DEVICE_ID_MCC_PMD1024LS   0x0076
  #define USB_VENDOR_ID_BTC             0x046e
  #define USB_DEVICE_ID_BTC_KEYBOARD    0x5303
  
+ #define USB_VENDOR_ID_VERNIER         0x08f7
+ #define USB_DEVICE_ID_VERNIER_LABPRO  0x0001
+ #define USB_DEVICE_ID_VERNIER_GOTEMP  0x0002
+ #define USB_DEVICE_ID_VERNIER_SKIP    0x0003
+ #define USB_DEVICE_ID_VERNIER_CYCLOPS 0x0004
  
  /*
   * Alphabetically sorted blacklist by quirk type.
@@@ -1440,6 -1446,7 +1449,7 @@@ static struct hid_blacklist 
        { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW28, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_HIDCOM, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EARTHMATE, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EM_LT20, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_ESSENTIAL_REALITY, USB_DEVICE_ID_ESSENTIAL_REALITY_P5, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_GLAB, USB_DEVICE_ID_4_PHIDGETSERVO_30, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_GLAB, USB_DEVICE_ID_1_PHIDGETSERVO_30, HID_QUIRK_IGNORE },
        { 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_VERNIER, USB_DEVICE_ID_VERNIER_LABPRO, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PENPARTNER, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 1, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 7, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PTU, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 1, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 2, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_CINTIQ, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE },
  
@@@ -1575,8 -1590,6 +1593,8 @@@ static struct hid_device *usb_hid_confi
                return NULL;
        }
  
 +      hid_set_idle(dev, interface->desc.bInterfaceNumber, 0, 0);
 +
        if ((n = hid_get_class_descriptor(dev, interface->desc.bInterfaceNumber, HID_DT_REPORT, rdesc, rsize)) < 0) {
                dbg("reading report descriptor failed");
                kfree(rdesc);
                /* Change the polling interval of mice. */
                if (hid->collection->usage == HID_GD_MOUSE && hid_mousepoll_interval > 0)
                        interval = hid_mousepoll_interval;
 -              
 +
                if (endpoint->bEndpointAddress & USB_DIR_IN) {
                        if (hid->urbin)
                                continue;
This page took 0.041657 seconds and 5 git commands to generate.