]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.12-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Dec 2013 02:44:10 +0000 (18:44 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Dec 2013 02:44:10 +0000 (18:44 -0800)
added patches:
gfs2-fix-ref-count-bug-relating-to-atomic_open.patch
hid-hid-lg4ff-initialize-device-properties-before-we-touch-autocentering.patch
hid-hid-lg4ff-scale-autocentering-force-properly-on-logitech-wheel.patch
hid-hid-lg4ff-switch-autocentering-off-when-strength-is-set-to-zero.patch
hid-hid-multitouch-add-support-for-sis-panels.patch
hid-hid-sensor-hub-fix-report-size.patch
hid-kye-add-report-fixup-for-genius-manticore-keyboard.patch
hid-lg-fix-reportdescriptor-for-logitech-formula-vibration.patch
hid-logitech-lg2ff-add-ids-for-formula-vibration-feedback-wheel.patch
hid-multicouh-add-pid-vid-to-support-1-new-wistron-optical-touch-device.patch
hid-multitouch-fix-generaltouch-products-and-add-more-pids.patch

12 files changed:
queue-3.12/gfs2-fix-ref-count-bug-relating-to-atomic_open.patch [new file with mode: 0644]
queue-3.12/hid-hid-lg4ff-initialize-device-properties-before-we-touch-autocentering.patch [new file with mode: 0644]
queue-3.12/hid-hid-lg4ff-scale-autocentering-force-properly-on-logitech-wheel.patch [new file with mode: 0644]
queue-3.12/hid-hid-lg4ff-switch-autocentering-off-when-strength-is-set-to-zero.patch [new file with mode: 0644]
queue-3.12/hid-hid-multitouch-add-support-for-sis-panels.patch [new file with mode: 0644]
queue-3.12/hid-hid-sensor-hub-fix-report-size.patch [new file with mode: 0644]
queue-3.12/hid-kye-add-report-fixup-for-genius-manticore-keyboard.patch [new file with mode: 0644]
queue-3.12/hid-lg-fix-reportdescriptor-for-logitech-formula-vibration.patch [new file with mode: 0644]
queue-3.12/hid-logitech-lg2ff-add-ids-for-formula-vibration-feedback-wheel.patch [new file with mode: 0644]
queue-3.12/hid-multicouh-add-pid-vid-to-support-1-new-wistron-optical-touch-device.patch [new file with mode: 0644]
queue-3.12/hid-multitouch-fix-generaltouch-products-and-add-more-pids.patch [new file with mode: 0644]
queue-3.12/series

diff --git a/queue-3.12/gfs2-fix-ref-count-bug-relating-to-atomic_open.patch b/queue-3.12/gfs2-fix-ref-count-bug-relating-to-atomic_open.patch
new file mode 100644 (file)
index 0000000..367fd3b
--- /dev/null
@@ -0,0 +1,36 @@
+From ea0341e071527d5cec350917b01ab901af09d758 Mon Sep 17 00:00:00 2001
+From: Steven Whitehouse <swhiteho@redhat.com>
+Date: Thu, 21 Nov 2013 18:47:57 +0000
+Subject: GFS2: Fix ref count bug relating to atomic_open
+
+From: Steven Whitehouse <swhiteho@redhat.com>
+
+commit ea0341e071527d5cec350917b01ab901af09d758 upstream.
+
+In the case that atomic_open calls finish_no_open() with
+the dentry that was supplied to gfs2_atomic_open() an
+extra reference count is required. This patch fixes that
+issue preventing a bug trap triggering at umount time.
+
+Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/gfs2/inode.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/fs/gfs2/inode.c
++++ b/fs/gfs2/inode.c
+@@ -1168,8 +1168,11 @@ static int gfs2_atomic_open(struct inode
+       if (d != NULL)
+               dentry = d;
+       if (dentry->d_inode) {
+-              if (!(*opened & FILE_OPENED))
++              if (!(*opened & FILE_OPENED)) {
++                      if (d == NULL)
++                              dget(dentry);
+                       return finish_no_open(file, dentry);
++              }
+               dput(d);
+               return 0;
+       }
diff --git a/queue-3.12/hid-hid-lg4ff-initialize-device-properties-before-we-touch-autocentering.patch b/queue-3.12/hid-hid-lg4ff-initialize-device-properties-before-we-touch-autocentering.patch
new file mode 100644 (file)
index 0000000..81f473f
--- /dev/null
@@ -0,0 +1,59 @@
+From 114a55cf9dd1576e7ac56189832cd4d7dc56c218 Mon Sep 17 00:00:00 2001
+From: Simon Wood <simon@mungewell.org>
+Date: Wed, 6 Nov 2013 12:30:43 -0700
+Subject: HID:hid-lg4ff: Initialize device properties before we touch autocentering.
+
+From: Simon Wood <simon@mungewell.org>
+
+commit 114a55cf9dd1576e7ac56189832cd4d7dc56c218 upstream.
+
+Re-arrange code slightly to ensure that device properties are configured
+before calling auto-center command.
+
+Reported-by: Michal MalĂ˝ <madcatxster@prifuk.cz>
+Signed-off-by: Simon Wood <simon@mungewell.org>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-lg4ff.c |   22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+--- a/drivers/hid/hid-lg4ff.c
++++ b/drivers/hid/hid-lg4ff.c
+@@ -574,17 +574,6 @@ int lg4ff_init(struct hid_device *hid)
+       if (error)
+               return error;
+-      /* Check if autocentering is available and
+-       * set the centering force to zero by default */
+-      if (test_bit(FF_AUTOCENTER, dev->ffbit)) {
+-              if (rev_maj == FFEX_REV_MAJ && rev_min == FFEX_REV_MIN) /* Formula Force EX expects different autocentering command */
+-                      dev->ff->set_autocenter = hid_lg4ff_set_autocenter_ffex;
+-              else
+-                      dev->ff->set_autocenter = hid_lg4ff_set_autocenter_default;
+-
+-              dev->ff->set_autocenter(dev, 0);
+-      }
+-
+       /* Get private driver data */
+       drv_data = hid_get_drvdata(hid);
+       if (!drv_data) {
+@@ -605,6 +594,17 @@ int lg4ff_init(struct hid_device *hid)
+       entry->max_range = lg4ff_devices[i].max_range;
+       entry->set_range = lg4ff_devices[i].set_range;
++      /* Check if autocentering is available and
++       * set the centering force to zero by default */
++      if (test_bit(FF_AUTOCENTER, dev->ffbit)) {
++              if (rev_maj == FFEX_REV_MAJ && rev_min == FFEX_REV_MIN) /* Formula Force EX expects different autocentering command */
++                      dev->ff->set_autocenter = hid_lg4ff_set_autocenter_ffex;
++              else
++                      dev->ff->set_autocenter = hid_lg4ff_set_autocenter_default;
++
++              dev->ff->set_autocenter(dev, 0);
++      }
++
+       /* Create sysfs interface */
+       error = device_create_file(&hid->dev, &dev_attr_range);
+       if (error)
diff --git a/queue-3.12/hid-hid-lg4ff-scale-autocentering-force-properly-on-logitech-wheel.patch b/queue-3.12/hid-hid-lg4ff-scale-autocentering-force-properly-on-logitech-wheel.patch
new file mode 100644 (file)
index 0000000..b9bd0d4
--- /dev/null
@@ -0,0 +1,48 @@
+From f8c231569a7a455dfa1907294a46ba52b3aa8859 Mon Sep 17 00:00:00 2001
+From: Simon Wood <simon@mungewell.org>
+Date: Wed, 6 Nov 2013 12:30:40 -0700
+Subject: HID:hid-lg4ff: Scale autocentering force properly on Logitech wheel
+
+From: Simon Wood <simon@mungewell.org>
+
+commit f8c231569a7a455dfa1907294a46ba52b3aa8859 upstream.
+
+Adjust the scaling and lineartity to match that of the Windows
+driver (from MOMO testing).
+
+Reported-by: Elias Vanderstuyft <elias.vds@gmail.com>
+Signed-off-by: Simon Wood <simon@mungewell.org>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-lg4ff.c |   15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+--- a/drivers/hid/hid-lg4ff.c
++++ b/drivers/hid/hid-lg4ff.c
+@@ -218,12 +218,21 @@ static void hid_lg4ff_set_autocenter_def
+       struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list;
+       struct hid_report *report = list_entry(report_list->next, struct hid_report, list);
+       __s32 *value = report->field[0]->value;
++      __u32 expand_a, expand_b;
++
++      if (magnitude <= 0xaaaa) {
++              expand_a = 0x0c * magnitude;
++              expand_b = 0x80 * magnitude;
++      } else {
++              expand_a = (0x0c * 0xaaaa) + 0x06 * (magnitude - 0xaaaa);
++              expand_b = (0x80 * 0xaaaa) + 0xff * (magnitude - 0xaaaa);
++      }
+       value[0] = 0xfe;
+       value[1] = 0x0d;
+-      value[2] = magnitude >> 13;
+-      value[3] = magnitude >> 13;
+-      value[4] = magnitude >> 8;
++      value[2] = expand_a / 0xaaaa;
++      value[3] = expand_a / 0xaaaa;
++      value[4] = expand_b / 0xaaaa;
+       value[5] = 0x00;
+       value[6] = 0x00;
diff --git a/queue-3.12/hid-hid-lg4ff-switch-autocentering-off-when-strength-is-set-to-zero.patch b/queue-3.12/hid-hid-lg4ff-switch-autocentering-off-when-strength-is-set-to-zero.patch
new file mode 100644 (file)
index 0000000..bfe7f9b
--- /dev/null
@@ -0,0 +1,63 @@
+From d2c02da549b468bbb28e67d269bd3c9e10683ff5 Mon Sep 17 00:00:00 2001
+From: Simon Wood <simon@mungewell.org>
+Date: Wed, 6 Nov 2013 12:30:41 -0700
+Subject: HID:hid-lg4ff: Switch autocentering off when strength is set to zero.
+
+From: Simon Wood <simon@mungewell.org>
+
+commit d2c02da549b468bbb28e67d269bd3c9e10683ff5 upstream.
+
+When the autocenter is set to zero, this patch issues a command to
+totally disable the autocenter - this results in less resistance
+in the wheel.
+
+Reported-by: Elias Vanderstuyft <elias.vds@gmail.com>
+Signed-off-by: Simon Wood <simon@mungewell.org>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-lg4ff.c |   25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+--- a/drivers/hid/hid-lg4ff.c
++++ b/drivers/hid/hid-lg4ff.c
+@@ -220,6 +220,20 @@ static void hid_lg4ff_set_autocenter_def
+       __s32 *value = report->field[0]->value;
+       __u32 expand_a, expand_b;
++      /* De-activate Auto-Center */
++      if (magnitude == 0) {
++              value[0] = 0xf5;
++              value[1] = 0x00;
++              value[2] = 0x00;
++              value[3] = 0x00;
++              value[4] = 0x00;
++              value[5] = 0x00;
++              value[6] = 0x00;
++
++              hid_hw_request(hid, report, HID_REQ_SET_REPORT);
++              return;
++      }
++
+       if (magnitude <= 0xaaaa) {
+               expand_a = 0x0c * magnitude;
+               expand_b = 0x80 * magnitude;
+@@ -236,6 +250,17 @@ static void hid_lg4ff_set_autocenter_def
+       value[5] = 0x00;
+       value[6] = 0x00;
++      hid_hw_request(hid, report, HID_REQ_SET_REPORT);
++
++      /* Activate Auto-Center */
++      value[0] = 0x14;
++      value[1] = 0x00;
++      value[2] = 0x00;
++      value[3] = 0x00;
++      value[4] = 0x00;
++      value[5] = 0x00;
++      value[6] = 0x00;
++
+       hid_hw_request(hid, report, HID_REQ_SET_REPORT);
+ }
diff --git a/queue-3.12/hid-hid-multitouch-add-support-for-sis-panels.patch b/queue-3.12/hid-hid-multitouch-add-support-for-sis-panels.patch
new file mode 100644 (file)
index 0000000..c67faff
--- /dev/null
@@ -0,0 +1,85 @@
+From a6802e008e19845fd9669511b895f7515ef9c48b Mon Sep 17 00:00:00 2001
+From: Forest Bond <forest.bond@rapidrollout.com>
+Date: Mon, 21 Oct 2013 12:38:49 -0400
+Subject: HID: hid-multitouch: add support for SiS panels
+
+From: Forest Bond <forest.bond@rapidrollout.com>
+
+commit a6802e008e19845fd9669511b895f7515ef9c48b upstream.
+
+Add support for SiS multitouch panels.
+
+Signed-off-by: Forest Bond <forest.bond@rapidrollout.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/Kconfig             |    1 +
+ drivers/hid/hid-core.c          |    2 ++
+ drivers/hid/hid-ids.h           |    4 ++++
+ drivers/hid/hid-multitouch.c    |    8 ++++++++
+ drivers/hid/usbhid/hid-quirks.c |    2 ++
+ 5 files changed, 17 insertions(+)
+
+--- a/drivers/hid/Kconfig
++++ b/drivers/hid/Kconfig
+@@ -455,6 +455,7 @@ config HID_MULTITOUCH
+         - Pixcir dual touch panels
+         - Quanta panels
+         - eGalax dual-touch panels, including the Joojoo and Wetab tablets
++        - SiS multitouch panels
+         - Stantum multitouch panels
+         - Touch International Panels
+         - Unitec Panels
+--- a/drivers/hid/hid-core.c
++++ b/drivers/hid/hid-core.c
+@@ -1817,6 +1817,8 @@ static const struct hid_device_id hid_ha
+       { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_PS1000) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) },
++      { HID_USB_DEVICE(USB_VENDOR_ID_SIS2_TOUCH, USB_DEVICE_ID_SIS9200_TOUCH) },
++      { HID_USB_DEVICE(USB_VENDOR_ID_SIS2_TOUCH, USB_DEVICE_ID_SIS817_TOUCH) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_SKYCABLE, USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_BUZZ_CONTROLLER) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_WIRELESS_BUZZ_CONTROLLER) },
+--- a/drivers/hid/hid-ids.h
++++ b/drivers/hid/hid-ids.h
+@@ -751,6 +751,10 @@
+ #define USB_VENDOR_ID_SIGMATEL                0x066F
+ #define USB_DEVICE_ID_SIGMATEL_STMP3780       0x3780
++#define USB_VENDOR_ID_SIS2_TOUCH      0x0457
++#define USB_DEVICE_ID_SIS9200_TOUCH   0x9200
++#define USB_DEVICE_ID_SIS817_TOUCH    0x0817
++
+ #define USB_VENDOR_ID_SKYCABLE                        0x1223
+ #define       USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER       0x3F07
+--- a/drivers/hid/hid-multitouch.c
++++ b/drivers/hid/hid-multitouch.c
+@@ -1299,6 +1299,14 @@ static const struct hid_device_id mt_dev
+               MT_USB_DEVICE(USB_VENDOR_ID_QUANTA,
+                       USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008) },
++      /* SiS panels */
++      { .driver_data = MT_CLS_DEFAULT,
++              HID_USB_DEVICE(USB_VENDOR_ID_SIS2_TOUCH,
++              USB_DEVICE_ID_SIS9200_TOUCH) },
++      { .driver_data = MT_CLS_DEFAULT,
++              HID_USB_DEVICE(USB_VENDOR_ID_SIS2_TOUCH,
++              USB_DEVICE_ID_SIS817_TOUCH) },
++
+       /* Stantum panels */
+       { .driver_data = MT_CLS_CONFIDENCE,
+               MT_USB_DEVICE(USB_VENDOR_ID_STANTUM,
+--- a/drivers/hid/usbhid/hid-quirks.c
++++ b/drivers/hid/usbhid/hid-quirks.c
+@@ -84,6 +84,8 @@ static const struct hid_blacklist {
+       { USB_VENDOR_ID_REALTEK, USB_DEVICE_ID_REALTEK_READER, HID_QUIRK_NO_INIT_REPORTS },
+       { USB_VENDOR_ID_SENNHEISER, USB_DEVICE_ID_SENNHEISER_BTD500USB, HID_QUIRK_NOGET },
+       { USB_VENDOR_ID_SIGMATEL, USB_DEVICE_ID_SIGMATEL_STMP3780, HID_QUIRK_NOGET },
++      { USB_VENDOR_ID_SIS2_TOUCH, USB_DEVICE_ID_SIS9200_TOUCH, HID_QUIRK_NOGET },
++      { USB_VENDOR_ID_SIS2_TOUCH, USB_DEVICE_ID_SIS817_TOUCH, HID_QUIRK_NOGET },
+       { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET },
+       { USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_1, HID_QUIRK_NOGET },
+       { USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_2, HID_QUIRK_NOGET },
diff --git a/queue-3.12/hid-hid-sensor-hub-fix-report-size.patch b/queue-3.12/hid-hid-sensor-hub-fix-report-size.patch
new file mode 100644 (file)
index 0000000..aa42082
--- /dev/null
@@ -0,0 +1,63 @@
+From d4b1bba76171cb783e32441b28462fe841073ed8 Mon Sep 17 00:00:00 2001
+From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
+Date: Sat, 26 Oct 2013 10:04:09 -0700
+Subject: HID: hid-sensor-hub: fix report size
+
+From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
+
+commit d4b1bba76171cb783e32441b28462fe841073ed8 upstream.
+
+Most of the hid sensor field size is reported in report_size field
+in the report descriptor. For rotation fusion sensor the quaternion
+data is 16 byte field, the report size was set to 4 and report
+count field is set to 4. So the total size is 16 bytes. But the current
+driver has a bug and not taking account for report count field. This
+causes user space to see only 4 bytes of data sent via IIO interface.
+The number of bytes in a field needs to take account of report_count
+field. Need to multiply report_size and report_count to get total
+number of bytes.
+
+Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-sensor-hub.c |   13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+--- a/drivers/hid/hid-sensor-hub.c
++++ b/drivers/hid/hid-sensor-hub.c
+@@ -326,7 +326,8 @@ int sensor_hub_input_get_attribute_info(
+                               field->logical == attr_usage_id) {
+                               sensor_hub_fill_attr_info(info, i, report->id,
+                                       field->unit, field->unit_exponent,
+-                                      field->report_size);
++                                      field->report_size *
++                                                      field->report_count);
+                               ret = 0;
+                       } else {
+                               for (j = 0; j < field->maxusage; ++j) {
+@@ -338,7 +339,8 @@ int sensor_hub_input_get_attribute_info(
+                                                       i, report->id,
+                                                       field->unit,
+                                                       field->unit_exponent,
+-                                                      field->report_size);
++                                                      field->report_size *
++                                                      field->report_count);
+                                               ret = 0;
+                                               break;
+                                       }
+@@ -425,9 +427,10 @@ static int sensor_hub_raw_event(struct h
+               hid_dbg(hdev, "%d collection_index:%x hid:%x sz:%x\n",
+                               i, report->field[i]->usage->collection_index,
+                               report->field[i]->usage->hid,
+-                              report->field[i]->report_size/8);
+-
+-              sz = report->field[i]->report_size/8;
++                              (report->field[i]->report_size *
++                                      report->field[i]->report_count)/8);
++              sz = (report->field[i]->report_size *
++                                      report->field[i]->report_count)/8;
+               if (pdata->pending.status && pdata->pending.attr_usage_id ==
+                               report->field[i]->usage->hid) {
+                       hid_dbg(hdev, "data was pending ...\n");
diff --git a/queue-3.12/hid-kye-add-report-fixup-for-genius-manticore-keyboard.patch b/queue-3.12/hid-kye-add-report-fixup-for-genius-manticore-keyboard.patch
new file mode 100644 (file)
index 0000000..b369dbd
--- /dev/null
@@ -0,0 +1,65 @@
+From 4a2c94c9b6c03af61b04993340bd9559e2277de4 Mon Sep 17 00:00:00 2001
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Date: Wed, 20 Nov 2013 09:49:41 -0500
+Subject: HID: kye: Add report fixup for Genius Manticore Keyboard
+
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+
+commit 4a2c94c9b6c03af61b04993340bd9559e2277de4 upstream.
+
+Genius Manticore Keyboard presents the same problem in its report
+descriptors than Genius Gila Gaming Mouse and Genius Imperator Keyboard.
+Use the same fixup.
+
+Reported-and-tested-by: Adam Kulagowski <fidor@fidor.org>
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-core.c |    1 +
+ drivers/hid/hid-ids.h  |    1 +
+ drivers/hid/hid-kye.c  |    5 +++++
+ 3 files changed, 7 insertions(+)
+
+--- a/drivers/hid/hid-core.c
++++ b/drivers/hid/hid-core.c
+@@ -1723,6 +1723,7 @@ static const struct hid_device_id hid_ha
+       { HID_USB_DEVICE(USB_VENDOR_ID_KENSINGTON, USB_DEVICE_ID_KS_SLIMBLADE) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KEYTOUCH, USB_DEVICE_ID_KEYTOUCH_IEC) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) },
++      { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_MANTICORE) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_GX_IMPERATOR) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_I405X) },
+--- a/drivers/hid/hid-ids.h
++++ b/drivers/hid/hid-ids.h
+@@ -488,6 +488,7 @@
+ #define USB_VENDOR_ID_KYE             0x0458
+ #define USB_DEVICE_ID_KYE_ERGO_525V   0x0087
+ #define USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE        0x0138
++#define USB_DEVICE_ID_GENIUS_MANTICORE        0x0153
+ #define USB_DEVICE_ID_GENIUS_GX_IMPERATOR     0x4018
+ #define USB_DEVICE_ID_KYE_GPEN_560    0x5003
+ #define USB_DEVICE_ID_KYE_EASYPEN_I405X       0x5010
+--- a/drivers/hid/hid-kye.c
++++ b/drivers/hid/hid-kye.c
+@@ -341,6 +341,9 @@ static __u8 *kye_report_fixup(struct hid
+       case USB_DEVICE_ID_GENIUS_GX_IMPERATOR:
+               rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 83,
+                                       "Genius Gx Imperator Keyboard");
++      case USB_DEVICE_ID_GENIUS_MANTICORE:
++              rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 104,
++                                      "Genius Manticore Keyboard");
+               break;
+       }
+       return rdesc;
+@@ -439,6 +442,8 @@ static const struct hid_device_id kye_de
+                               USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
+                               USB_DEVICE_ID_GENIUS_GX_IMPERATOR) },
++      { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
++                              USB_DEVICE_ID_GENIUS_MANTICORE) },
+       { }
+ };
+ MODULE_DEVICE_TABLE(hid, kye_devices);
diff --git a/queue-3.12/hid-lg-fix-reportdescriptor-for-logitech-formula-vibration.patch b/queue-3.12/hid-lg-fix-reportdescriptor-for-logitech-formula-vibration.patch
new file mode 100644 (file)
index 0000000..ed18167
--- /dev/null
@@ -0,0 +1,121 @@
+From 7f50547059bd55ac6a98c29fd1989421bdc36ec9 Mon Sep 17 00:00:00 2001
+From: Simon Wood <simon@mungewell.org>
+Date: Thu, 10 Oct 2013 08:20:12 -0600
+Subject: HID: lg: fix ReportDescriptor for Logitech Formula Vibration
+
+From: Simon Wood <simon@mungewell.org>
+
+commit 7f50547059bd55ac6a98c29fd1989421bdc36ec9 upstream.
+
+By default the Logitech Formula Vibration presents a combined accel/brake
+axis ('Y'). This patch modifies the HID descriptor to present seperate
+accel/brake axes ('Y' and 'Z').
+
+Signed-off-by: Simon Wood <simon@mungewell.org>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-lg.c |   77 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 77 insertions(+)
+
+--- a/drivers/hid/hid-lg.c
++++ b/drivers/hid/hid-lg.c
+@@ -45,6 +45,7 @@
+ /* Size of the original descriptors of the Driving Force (and Pro) wheels */
+ #define DF_RDESC_ORIG_SIZE    130
+ #define DFP_RDESC_ORIG_SIZE   97
++#define FV_RDESC_ORIG_SIZE    130
+ #define MOMO_RDESC_ORIG_SIZE  87
+ /* Fixed report descriptors for Logitech Driving Force (and Pro)
+@@ -170,6 +171,73 @@ static __u8 dfp_rdesc_fixed[] = {
+ 0xC0                /*  End Collection                          */
+ };
++static __u8 fv_rdesc_fixed[] = {
++0x05, 0x01,         /*  Usage Page (Desktop),                   */
++0x09, 0x04,         /*  Usage (Joystik),                        */
++0xA1, 0x01,         /*  Collection (Application),               */
++0xA1, 0x02,         /*      Collection (Logical),               */
++0x95, 0x01,         /*          Report Count (1),               */
++0x75, 0x0A,         /*          Report Size (10),               */
++0x15, 0x00,         /*          Logical Minimum (0),            */
++0x26, 0xFF, 0x03,   /*          Logical Maximum (1023),         */
++0x35, 0x00,         /*          Physical Minimum (0),           */
++0x46, 0xFF, 0x03,   /*          Physical Maximum (1023),        */
++0x09, 0x30,         /*          Usage (X),                      */
++0x81, 0x02,         /*          Input (Variable),               */
++0x95, 0x0C,         /*          Report Count (12),              */
++0x75, 0x01,         /*          Report Size (1),                */
++0x25, 0x01,         /*          Logical Maximum (1),            */
++0x45, 0x01,         /*          Physical Maximum (1),           */
++0x05, 0x09,         /*          Usage Page (Button),            */
++0x19, 0x01,         /*          Usage Minimum (01h),            */
++0x29, 0x0C,         /*          Usage Maximum (0Ch),            */
++0x81, 0x02,         /*          Input (Variable),               */
++0x95, 0x02,         /*          Report Count (2),               */
++0x06, 0x00, 0xFF,   /*          Usage Page (FF00h),             */
++0x09, 0x01,         /*          Usage (01h),                    */
++0x81, 0x02,         /*          Input (Variable),               */
++0x09, 0x02,         /*          Usage (02h),                    */
++0x26, 0xFF, 0x00,   /*          Logical Maximum (255),          */
++0x46, 0xFF, 0x00,   /*          Physical Maximum (255),         */
++0x95, 0x01,         /*          Report Count (1),               */
++0x75, 0x08,         /*          Report Size (8),                */
++0x81, 0x02,         /*          Input (Variable),               */
++0x05, 0x01,         /*          Usage Page (Desktop),           */
++0x25, 0x07,         /*          Logical Maximum (7),            */
++0x46, 0x3B, 0x01,   /*          Physical Maximum (315),         */
++0x75, 0x04,         /*          Report Size (4),                */
++0x65, 0x14,         /*          Unit (Degrees),                 */
++0x09, 0x39,         /*          Usage (Hat Switch),             */
++0x81, 0x42,         /*          Input (Variable, Null State),   */
++0x75, 0x01,         /*          Report Size (1),                */
++0x95, 0x04,         /*          Report Count (4),               */
++0x65, 0x00,         /*          Unit,                           */
++0x06, 0x00, 0xFF,   /*          Usage Page (FF00h),             */
++0x09, 0x01,         /*          Usage (01h),                    */
++0x25, 0x01,         /*          Logical Maximum (1),            */
++0x45, 0x01,         /*          Physical Maximum (1),           */
++0x81, 0x02,         /*          Input (Variable),               */
++0x05, 0x01,         /*          Usage Page (Desktop),           */
++0x95, 0x01,         /*          Report Count (1),               */
++0x75, 0x08,         /*          Report Size (8),                */
++0x26, 0xFF, 0x00,   /*          Logical Maximum (255),          */
++0x46, 0xFF, 0x00,   /*          Physical Maximum (255),         */
++0x09, 0x31,         /*          Usage (Y),                      */
++0x81, 0x02,         /*          Input (Variable),               */
++0x09, 0x32,         /*          Usage (Z),                      */
++0x81, 0x02,         /*          Input (Variable),               */
++0xC0,               /*      End Collection,                     */
++0xA1, 0x02,         /*      Collection (Logical),               */
++0x26, 0xFF, 0x00,   /*          Logical Maximum (255),          */
++0x46, 0xFF, 0x00,   /*          Physical Maximum (255),         */
++0x95, 0x07,         /*          Report Count (7),               */
++0x75, 0x08,         /*          Report Size (8),                */
++0x09, 0x03,         /*          Usage (03h),                    */
++0x91, 0x02,         /*          Output (Variable),              */
++0xC0,               /*      End Collection,                     */
++0xC0                /*  End Collection                          */
++};
++
+ static __u8 momo_rdesc_fixed[] = {
+ 0x05, 0x01,         /*  Usage Page (Desktop),               */
+ 0x09, 0x04,         /*  Usage (Joystik),                    */
+@@ -275,6 +343,15 @@ static __u8 *lg_report_fixup(struct hid_
+               }
+               break;
++      case USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL:
++              if (*rsize == FV_RDESC_ORIG_SIZE) {
++                      hid_info(hdev,
++                              "fixing up Logitech Formula Vibration report descriptor\n");
++                      rdesc = fv_rdesc_fixed;
++                      *rsize = sizeof(fv_rdesc_fixed);
++              }
++              break;
++
+       case USB_DEVICE_ID_LOGITECH_DFP_WHEEL:
+               if (*rsize == DFP_RDESC_ORIG_SIZE) {
+                       hid_info(hdev,
diff --git a/queue-3.12/hid-logitech-lg2ff-add-ids-for-formula-vibration-feedback-wheel.patch b/queue-3.12/hid-logitech-lg2ff-add-ids-for-formula-vibration-feedback-wheel.patch
new file mode 100644 (file)
index 0000000..774b3fe
--- /dev/null
@@ -0,0 +1,101 @@
+From bd04363d3990c0727b7512a79a08c68436878bb0 Mon Sep 17 00:00:00 2001
+From: Elias Vanderstuyft <Elias.vds@gmail.com>
+Date: Mon, 7 Oct 2013 19:48:12 +0300
+Subject: HID: logitech - lg2ff: Add IDs for Formula Vibration Feedback Wheel
+
+From: Elias Vanderstuyft <Elias.vds@gmail.com>
+
+commit bd04363d3990c0727b7512a79a08c68436878bb0 upstream.
+
+Add USB IDs for Logitech Formula Vibration Feedback Wheel (046d:ca04).
+
+The lg2ff force feedback subdriver is used for vibration and
+HID_GD_MULTIAXIS is set to avoid deadzone like other Logitech wheels.
+
+Kconfig description etc are also updated accordingly.
+
+Signed-off-by: Elias Vanderstuyft <Elias.vds@gmail.com>
+[anssi.hannula@iki.fi: added description and CCs]
+Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
+Signed-off-by: Simon Wood <simon@mungewell.org>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/Kconfig     |    8 +++++---
+ drivers/hid/hid-core.c  |    1 +
+ drivers/hid/hid-ids.h   |    1 +
+ drivers/hid/hid-lg.c    |    3 +++
+ drivers/hid/hid-lg2ff.c |    2 +-
+ 5 files changed, 11 insertions(+), 4 deletions(-)
+
+--- a/drivers/hid/Kconfig
++++ b/drivers/hid/Kconfig
+@@ -369,12 +369,14 @@ config LOGITECH_FF
+         force feedback.
+ config LOGIRUMBLEPAD2_FF
+-      bool "Logitech RumblePad/Rumblepad 2 force feedback support"
++      bool "Logitech force feedback support (variant 2)"
+       depends on HID_LOGITECH
+       select INPUT_FF_MEMLESS
+       help
+-        Say Y here if you want to enable force feedback support for Logitech
+-        RumblePad and Rumblepad 2 devices.
++        Say Y here if you want to enable force feedback support for:
++        - Logitech RumblePad
++        - Logitech Rumblepad 2
++        - Logitech Formula Vibration Feedback Wheel
+ config LOGIG940_FF
+       bool "Logitech Flight System G940 force feedback support"
+--- a/drivers/hid/hid-core.c
++++ b/drivers/hid/hid-core.c
+@@ -1754,6 +1754,7 @@ static const struct hid_device_id hid_ha
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_FLIGHT_SYSTEM_G940) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2) },
++      { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_DFP_WHEEL) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_DFGT_WHEEL) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G25_WHEEL) },
+--- a/drivers/hid/hid-ids.h
++++ b/drivers/hid/hid-ids.h
+@@ -576,6 +576,7 @@
+ #define USB_DEVICE_ID_DINOVO_EDGE     0xc714
+ #define USB_DEVICE_ID_DINOVO_MINI     0xc71f
+ #define USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2    0xca03
++#define USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL        0xca04
+ #define USB_VENDOR_ID_LUMIO           0x202e
+ #define USB_DEVICE_ID_CRYSTALTOUCH    0x0006
+--- a/drivers/hid/hid-lg.c
++++ b/drivers/hid/hid-lg.c
+@@ -492,6 +492,7 @@ static int lg_input_mapped(struct hid_de
+               case USB_DEVICE_ID_LOGITECH_G27_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_WII_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2:
++              case USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL:
+                       field->application = HID_GD_MULTIAXIS;
+                       break;
+               default:
+@@ -639,6 +640,8 @@ static const struct hid_device_id lg_dev
+               .driver_data = LG_NOGET | LG_FF4 },
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2),
+               .driver_data = LG_FF4 },
++      { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL),
++              .driver_data = LG_FF2 },
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G25_WHEEL),
+               .driver_data = LG_FF4 },
+       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_DFGT_WHEEL),
+--- a/drivers/hid/hid-lg2ff.c
++++ b/drivers/hid/hid-lg2ff.c
+@@ -95,7 +95,7 @@ int lg2ff_init(struct hid_device *hid)
+       hid_hw_request(hid, report, HID_REQ_SET_REPORT);
+-      hid_info(hid, "Force feedback for Logitech RumblePad/Rumblepad 2 by Anssi Hannula <anssi.hannula@gmail.com>\n");
++      hid_info(hid, "Force feedback for Logitech variant 2 rumble devices by Anssi Hannula <anssi.hannula@gmail.com>\n");
+       return 0;
+ }
diff --git a/queue-3.12/hid-multicouh-add-pid-vid-to-support-1-new-wistron-optical-touch-device.patch b/queue-3.12/hid-multicouh-add-pid-vid-to-support-1-new-wistron-optical-touch-device.patch
new file mode 100644 (file)
index 0000000..681aaec
--- /dev/null
@@ -0,0 +1,58 @@
+From bf9d121efc18c30caa2caad85358cf9408eca117 Mon Sep 17 00:00:00 2001
+From: KaiChung Cheng <kenny_cheng@wistron.com>
+Date: Thu, 21 Nov 2013 10:04:30 +0100
+Subject: HID: multicouh: add PID VID to support 1 new Wistron optical touch device
+
+From: KaiChung Cheng <kenny_cheng@wistron.com>
+
+commit bf9d121efc18c30caa2caad85358cf9408eca117 upstream.
+
+This patch adds PID VID to support for the Wistron Inc. Optical touch panel.
+
+Signed-off-by: KaiChung Cheng <kenny_cheng@wistron.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/Kconfig          |    1 +
+ drivers/hid/hid-ids.h        |    3 +++
+ drivers/hid/hid-multitouch.c |    6 ++++++
+ 3 files changed, 10 insertions(+)
+
+--- a/drivers/hid/Kconfig
++++ b/drivers/hid/Kconfig
+@@ -459,6 +459,7 @@ config HID_MULTITOUCH
+         - Stantum multitouch panels
+         - Touch International Panels
+         - Unitec Panels
++        - Wistron optical touch panels
+         - XAT optical touch panels
+         - Xiroku optical touch panels
+         - Zytronic touch panels
+--- a/drivers/hid/hid-ids.h
++++ b/drivers/hid/hid-ids.h
+@@ -898,6 +898,9 @@
+ #define USB_DEVICE_ID_SUPER_DUAL_BOX_PRO 0x8802
+ #define USB_DEVICE_ID_SUPER_JOY_BOX_5_PRO 0x8804
++#define USB_VENDOR_ID_WISTRON         0x0fb8
++#define USB_DEVICE_ID_WISTRON_OPTICAL_TOUCH           0x1109
++
+ #define USB_VENDOR_ID_X_TENSIONS               0x1ae7
+ #define USB_DEVICE_ID_SPEEDLINK_VAD_CEZANNE    0x9001
+--- a/drivers/hid/hid-multitouch.c
++++ b/drivers/hid/hid-multitouch.c
+@@ -1335,6 +1335,12 @@ static const struct hid_device_id mt_dev
+       { .driver_data = MT_CLS_NSMU,
+               MT_USB_DEVICE(USB_VENDOR_ID_UNITEC,
+                       USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19) },
++
++      /* Wistron panels */
++      { .driver_data = MT_CLS_NSMU,
++              MT_USB_DEVICE(USB_VENDOR_ID_WISTRON,
++                      USB_DEVICE_ID_WISTRON_OPTICAL_TOUCH) },
++
+       /* XAT */
+       { .driver_data = MT_CLS_NSMU,
+               MT_USB_DEVICE(USB_VENDOR_ID_XAT,
diff --git a/queue-3.12/hid-multitouch-fix-generaltouch-products-and-add-more-pids.patch b/queue-3.12/hid-multitouch-fix-generaltouch-products-and-add-more-pids.patch
new file mode 100644 (file)
index 0000000..3de4ecf
--- /dev/null
@@ -0,0 +1,79 @@
+From 7b2262920db2b98fe2cd32cde52141f02fd9eecf Mon Sep 17 00:00:00 2001
+From: Luosong <android@generaltouch.com>
+Date: Wed, 2 Oct 2013 11:20:00 +0200
+Subject: HID: multitouch: Fix GeneralTouch products and add more PIDs
+
+From: Luosong <android@generaltouch.com>
+
+commit 7b2262920db2b98fe2cd32cde52141f02fd9eecf upstream.
+
+GeneralTouch products should use the quirk SLOT_IS_CONTACTID
+instead of SLOT_IS_CONTACTNUMBER.
+
+Adding PIDs 0101,e100,0102,0106,010a from the new products.
+
+Tested on new and older products by GeneralTouch engineers.
+
+Signed-off-by: Luosong <android@generaltouch.com>
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-ids.h        |    5 +++++
+ drivers/hid/hid-multitouch.c |   19 +++++++++++++++++--
+ 2 files changed, 22 insertions(+), 2 deletions(-)
+
+--- a/drivers/hid/hid-ids.h
++++ b/drivers/hid/hid-ids.h
+@@ -332,6 +332,11 @@
+ #define USB_VENDOR_ID_GENERAL_TOUCH   0x0dfc
+ #define USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS 0x0003
+ #define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PWT_TENFINGERS 0x0100
++#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_0101 0x0101
++#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_0102 0x0102
++#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_0106 0x0106
++#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_010A 0x010a
++#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100 0xe100
+ #define USB_VENDOR_ID_GLAB            0x06c2
+ #define USB_DEVICE_ID_4_PHIDGETSERVO_30       0x0038
+--- a/drivers/hid/hid-multitouch.c
++++ b/drivers/hid/hid-multitouch.c
+@@ -250,12 +250,12 @@ static struct mt_class mt_classes[] = {
+       { .name = MT_CLS_GENERALTOUCH_TWOFINGERS,
+               .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
+                       MT_QUIRK_VALID_IS_INRANGE |
+-                      MT_QUIRK_SLOT_IS_CONTACTNUMBER,
++                      MT_QUIRK_SLOT_IS_CONTACTID,
+               .maxcontacts = 2
+       },
+       { .name = MT_CLS_GENERALTOUCH_PWT_TENFINGERS,
+               .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
+-                      MT_QUIRK_SLOT_IS_CONTACTNUMBER
++                      MT_QUIRK_SLOT_IS_CONTACTID
+       },
+       { .name = MT_CLS_FLATFROG,
+@@ -1173,6 +1173,21 @@ static const struct hid_device_id mt_dev
+       { .driver_data = MT_CLS_GENERALTOUCH_PWT_TENFINGERS,
+               MT_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,
+                       USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PWT_TENFINGERS) },
++      { .driver_data = MT_CLS_GENERALTOUCH_TWOFINGERS,
++              MT_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,
++                      USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_0101) },
++      { .driver_data = MT_CLS_GENERALTOUCH_PWT_TENFINGERS,
++              MT_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,
++                      USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_0102) },
++      { .driver_data = MT_CLS_GENERALTOUCH_PWT_TENFINGERS,
++              MT_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,
++                      USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_0106) },
++      { .driver_data = MT_CLS_GENERALTOUCH_PWT_TENFINGERS,
++              MT_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,
++                      USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_010A) },
++      { .driver_data = MT_CLS_GENERALTOUCH_PWT_TENFINGERS,
++              MT_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,
++                      USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100) },
+       /* Gametel game controller */
+       { .driver_data = MT_CLS_NSMU,
index 3bdfd007a58a2eda188efe4c2b3cd8c8f1d5593c..45e0627975fa5b2642801c380211bddcf380bd1c 100644 (file)
@@ -172,3 +172,14 @@ mfd-lpc_ich-add-device-ids-for-intel-wildcat-point-lp-pch.patch
 mfd-rtsx-modify-rts5249_optimize_phy.patch
 cpufreq-highbank-cpufreq-enable-midway-ecx-2000.patch
 sh-ecovec-fixup-compile-error-on-sdhi.patch
+gfs2-fix-ref-count-bug-relating-to-atomic_open.patch
+hid-multitouch-fix-generaltouch-products-and-add-more-pids.patch
+hid-logitech-lg2ff-add-ids-for-formula-vibration-feedback-wheel.patch
+hid-hid-multitouch-add-support-for-sis-panels.patch
+hid-hid-sensor-hub-fix-report-size.patch
+hid-multicouh-add-pid-vid-to-support-1-new-wistron-optical-touch-device.patch
+hid-kye-add-report-fixup-for-genius-manticore-keyboard.patch
+hid-hid-lg4ff-scale-autocentering-force-properly-on-logitech-wheel.patch
+hid-hid-lg4ff-switch-autocentering-off-when-strength-is-set-to-zero.patch
+hid-hid-lg4ff-initialize-device-properties-before-we-touch-autocentering.patch
+hid-lg-fix-reportdescriptor-for-logitech-formula-vibration.patch