]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'uc-logic' into for-linus
authorJiri Kosina <jkosina@suse.cz>
Sat, 23 Oct 2010 20:49:32 +0000 (22:49 +0200)
committerJiri Kosina <jkosina@suse.cz>
Sat, 23 Oct 2010 20:49:32 +0000 (22:49 +0200)
Conflicts:
drivers/hid/hid-ids.h
drivers/hid/hid-lg.c
drivers/hid/usbhid/hid-quirks.c

1  2 
drivers/hid/Kconfig
drivers/hid/Makefile
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/hid-input.c
drivers/hid/hid-lg.c
drivers/hid/hid-sony.c
drivers/hid/usbhid/hid-quirks.c
include/linux/hid.h

index 68a7e862068ea90936c56571cd317a242c504690,34402bb5f6a03d95ff857981d61bba7c5789c689..2685beebc8dc5e211c9f86f8485931b03f1fff98
@@@ -176,8 -176,14 +176,14 @@@ config HID_KY
        ---help---
        Support for Kye/Genius Ergo Mouse.
  
+ config HID_UCLOGIC
+       tristate "UC-Logic"
+       depends on USB_HID
+       ---help---
+       Support for UC-Logic tablets.
  config HID_GYRATION
 -      tristate "Gyration"
 +      tristate "Gyration remote control"
        depends on USB_HID
        ---help---
        Support for Gyration remote control.
Simple merge
Simple merge
index ae8f74431d92376c4d92aba27545747e83a74c54,b887e73da68a1a7a6f7d6c7af66f0060c7a5fe29..afbd82075f96e5a06d3701b32d06b49ded6a3997
  
  #define USB_VENDOR_ID_UCLOGIC         0x5543
  #define USB_DEVICE_ID_UCLOGIC_TABLET_PF1209   0x0042
- #define USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U  0x0003
 +#define USB_DEVICE_ID_UCLOGIC_TABLET_KNA5     0x6001
+ #define USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U  0x0003
+ #define USB_DEVICE_ID_UCLOGIC_TABLET_WP5540U  0x0004
+ #define USB_DEVICE_ID_UCLOGIC_TABLET_WP8060U  0x0005
  
  #define USB_VENDOR_ID_VERNIER         0x08f7
  #define USB_DEVICE_ID_VERNIER_LABPRO  0x0001
Simple merge
index 9e92c27002ca9a91939e3602863024bfde1edf7b,68c0b68856c783cf81c7e1e7ff29283c87e5f88f..6d3cd7e5fa91c40e41461e892cc98f28e1c027b1
@@@ -65,17 -60,7 +65,17 @@@ static __u8 *lg_report_fixup(struct hid
                                "report descriptor\n");
                rdesc[33] = rdesc[50] = 0x02;
        }
 +      if ((quirks & LG_FF4) && rsize >= 101 &&
 +                      rdesc[41] == 0x95 && rdesc[42] == 0x0B &&
 +                      rdesc[47] == 0x05 && rdesc[48] == 0x09) {
 +              dev_info(&hdev->dev, "fixing up Logitech Speed Force Wireless "
 +                      "button descriptor\n");
 +              rdesc[41] = 0x05;
 +              rdesc[42] = 0x09;
 +              rdesc[47] = 0x95;
 +              rdesc[48] = 0x0B;
 +      }
+       return rdesc;
  }
  
  #define lg_map_key_clear(c)   hid_map_usage_clear(hi, usage, bit, max, \
index 0c164b3dce3a33a060795cfc4d9d0fe2ac6eb1cf,9fa03491518554559a5bd385f6f29c64188351ce..677bb3da10e8d4149d5d6583f943f6a767c9d3c1
@@@ -44,27 -42,9 +44,28 @@@ static __u8 *sony_report_fixup(struct h
                                "descriptor\n");
                rdesc[55] = 0x06;
        }
+       return rdesc;
  }
  
 +static int sixaxis_usb_output_raw_report(struct hid_device *hid, __u8 *buf,
 +              size_t count, unsigned char report_type)
 +{
 +      struct usb_interface *intf = to_usb_interface(hid->dev.parent);
 +      struct usb_device *dev = interface_to_usbdev(intf);
 +      struct usb_host_interface *interface = intf->cur_altsetting;
 +      int report_id = buf[0];
 +      int ret;
 +
 +      ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
 +              HID_REQ_SET_REPORT,
 +              USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
 +              ((report_type + 1) << 8) | report_id,
 +              interface->desc.bInterfaceNumber, buf, count,
 +              USB_CTRL_SET_TIMEOUT);
 +
 +      return ret;
 +}
 +
  /*
   * Sending HID_REQ_GET_REPORT changes the operation mode of the ps3 controller
   * to "operational".  Without this, the ps3 controller will not report any
index 836a87473c5851e29ae32081aacc63f290ec24af,162aa4b40205d05c3c406c79f0274664b66620d3..5457135d8ae3d5710f0acf9a56a1683931d78ce4
@@@ -70,8 -68,8 +70,10 @@@ static const struct hid_blacklist 
        { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET },
        { USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET },
        { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_PF1209, HID_QUIRK_MULTI_INPUT },
 +      { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U, HID_QUIRK_MULTI_INPUT },
 +      { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_KNA5, HID_QUIRK_MULTI_INPUT },
+       { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP5540U, HID_QUIRK_MULTI_INPUT },
+       { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP8060U, HID_QUIRK_MULTI_INPUT },
        { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT | HID_QUIRK_SKIP_OUTPUT_REPORTS },
        { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
  
Simple merge