]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Dec 2013 02:44:06 +0000 (18:44 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Dec 2013 02:44:06 +0000 (18:44 -0800)
added patches:
9p-send-uevent-after-adding-removing-mount_tag-attribute.patch
clk-armada-370-fix-tclk-frequencies.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-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.10/9p-send-uevent-after-adding-removing-mount_tag-attribute.patch [new file with mode: 0644]
queue-3.10/clk-armada-370-fix-tclk-frequencies.patch [new file with mode: 0644]
queue-3.10/hid-hid-lg4ff-initialize-device-properties-before-we-touch-autocentering.patch [new file with mode: 0644]
queue-3.10/hid-hid-lg4ff-scale-autocentering-force-properly-on-logitech-wheel.patch [new file with mode: 0644]
queue-3.10/hid-hid-lg4ff-switch-autocentering-off-when-strength-is-set-to-zero.patch [new file with mode: 0644]
queue-3.10/hid-hid-multitouch-add-support-for-sis-panels.patch [new file with mode: 0644]
queue-3.10/hid-hid-sensor-hub-fix-report-size.patch [new file with mode: 0644]
queue-3.10/hid-lg-fix-reportdescriptor-for-logitech-formula-vibration.patch [new file with mode: 0644]
queue-3.10/hid-logitech-lg2ff-add-ids-for-formula-vibration-feedback-wheel.patch [new file with mode: 0644]
queue-3.10/hid-multicouh-add-pid-vid-to-support-1-new-wistron-optical-touch-device.patch [new file with mode: 0644]
queue-3.10/hid-multitouch-fix-generaltouch-products-and-add-more-pids.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/9p-send-uevent-after-adding-removing-mount_tag-attribute.patch b/queue-3.10/9p-send-uevent-after-adding-removing-mount_tag-attribute.patch
new file mode 100644 (file)
index 0000000..2b3e56f
--- /dev/null
@@ -0,0 +1,43 @@
+From e0d6cb9cd3a3ac8a3b8e5b22b83c4f8619786f22 Mon Sep 17 00:00:00 2001
+From: Michael Marineau <michael.marineau@coreos.com>
+Date: Sun, 11 Aug 2013 00:53:45 -0400
+Subject: 9p: send uevent after adding/removing mount_tag attribute
+
+From: Michael Marineau <michael.marineau@coreos.com>
+
+commit e0d6cb9cd3a3ac8a3b8e5b22b83c4f8619786f22 upstream.
+
+This driver adds an attribute to the existing virtio device so a CHANGE
+event is required in order udev rules to make use of it. The ADD event
+happens before this driver is probed and unlike a more typical driver
+like a block device there isn't a higher level device to watch for.
+
+Signed-off-by: Michael Marineau <michael.marineau@coreos.com>
+Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/9p/trans_virtio.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/net/9p/trans_virtio.c
++++ b/net/9p/trans_virtio.c
+@@ -577,6 +577,10 @@ static int p9_virtio_probe(struct virtio
+       mutex_lock(&virtio_9p_lock);
+       list_add_tail(&chan->chan_list, &virtio_chan_list);
+       mutex_unlock(&virtio_9p_lock);
++
++      /* Let udev rules use the new mount_tag attribute. */
++      kobject_uevent(&(vdev->dev.kobj), KOBJ_CHANGE);
++
+       return 0;
+ out_free_tag:
+@@ -654,6 +658,7 @@ static void p9_virtio_remove(struct virt
+       list_del(&chan->chan_list);
+       mutex_unlock(&virtio_9p_lock);
+       sysfs_remove_file(&(vdev->dev.kobj), &dev_attr_mount_tag.attr);
++      kobject_uevent(&(vdev->dev.kobj), KOBJ_CHANGE);
+       kfree(chan->tag);
+       kfree(chan->vc_wq);
+       kfree(chan);
diff --git a/queue-3.10/clk-armada-370-fix-tclk-frequencies.patch b/queue-3.10/clk-armada-370-fix-tclk-frequencies.patch
new file mode 100644 (file)
index 0000000..76dd420
--- /dev/null
@@ -0,0 +1,46 @@
+From 1022c75f5abd3a3b25e679bc8793d21bedd009b4 Mon Sep 17 00:00:00 2001
+From: Simon Guinot <simon.guinot@sequanux.org>
+Date: Thu, 3 Oct 2013 12:05:02 +0200
+Subject: clk: armada-370: fix tclk frequencies
+
+From: Simon Guinot <simon.guinot@sequanux.org>
+
+commit 1022c75f5abd3a3b25e679bc8793d21bedd009b4 upstream.
+
+This patch fixes the tclk frequency array for the Armada-370 SoC.
+This bug has been introduced by commit 6b72333d
+("clk: mvebu: add Armada 370 SoC-centric clock init").
+
+A wrong tclk frequency affects the following drivers: mvsdio, mvneta,
+i2c-mv64xxx and mvebu-devbus. This list may be incomplete.
+
+About the mvneta Ethernet driver, note that the tclk frequency is used
+to compute the Rx time coalescence. Then, this bug harms the coalescence
+configuration and also degrades the networking performances with the
+default values.
+
+Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
+Cc: Andrew Lunn <andrew@lunn.ch>
+Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
+Acked-by: Jason Cooper <jason@lakedaemon.net>
+Signed-off-by: Michael Turquette <mturquette@deferred.io>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/clk/mvebu/clk-core.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/clk/mvebu/clk-core.c
++++ b/drivers/clk/mvebu/clk-core.c
+@@ -126,8 +126,8 @@ static void __init mvebu_clk_core_setup(
+ #define           SARH_AXP_FAB_FREQ_OPT_SHIFT     4
+ static const u32 __initconst armada_370_tclk_frequencies[] = {
+-      16600000,
+-      20000000,
++      166000000,
++      200000000,
+ };
+ static u32 __init armada_370_get_tclk_freq(void __iomem *sar)
diff --git a/queue-3.10/hid-hid-lg4ff-initialize-device-properties-before-we-touch-autocentering.patch b/queue-3.10/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.10/hid-hid-lg4ff-scale-autocentering-force-properly-on-logitech-wheel.patch b/queue-3.10/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.10/hid-hid-lg4ff-switch-autocentering-off-when-strength-is-set-to-zero.patch b/queue-3.10/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.10/hid-hid-multitouch-add-support-for-sis-panels.patch b/queue-3.10/hid-hid-multitouch-add-support-for-sis-panels.patch
new file mode 100644 (file)
index 0000000..0187c31
--- /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
+@@ -438,6 +438,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
+@@ -1766,6 +1766,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_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_BDREMOTE) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
+--- a/drivers/hid/hid-ids.h
++++ b/drivers/hid/hid-ids.h
+@@ -736,6 +736,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
+@@ -1317,6 +1317,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.10/hid-hid-sensor-hub-fix-report-size.patch b/queue-3.10/hid-hid-sensor-hub-fix-report-size.patch
new file mode 100644 (file)
index 0000000..1b1f076
--- /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
+@@ -327,7 +327,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) {
+@@ -339,7 +340,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;
+                                       }
+@@ -426,9 +428,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.10/hid-lg-fix-reportdescriptor-for-logitech-formula-vibration.patch b/queue-3.10/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.10/hid-logitech-lg2ff-add-ids-for-formula-vibration-feedback-wheel.patch b/queue-3.10/hid-logitech-lg2ff-add-ids-for-formula-vibration-feedback-wheel.patch
new file mode 100644 (file)
index 0000000..8c8ca37
--- /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
+@@ -352,12 +352,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
+@@ -1703,6 +1703,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
+@@ -562,6 +562,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.10/hid-multicouh-add-pid-vid-to-support-1-new-wistron-optical-touch-device.patch b/queue-3.10/hid-multicouh-add-pid-vid-to-support-1-new-wistron-optical-touch-device.patch
new file mode 100644 (file)
index 0000000..89803e0
--- /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
+@@ -442,6 +442,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
+@@ -879,6 +879,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
+@@ -1353,6 +1353,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.10/hid-multitouch-fix-generaltouch-products-and-add-more-pids.patch b/queue-3.10/hid-multitouch-fix-generaltouch-products-and-add-more-pids.patch
new file mode 100644 (file)
index 0000000..cd902ae
--- /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
+@@ -330,6 +330,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
+@@ -244,12 +244,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,
+@@ -1191,6 +1191,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 9e3253286dab89a35ed73122b15fab677d9514f8..c82449bde089e530c14e3a2f2449440660863289 100644 (file)
@@ -122,3 +122,14 @@ input-i8042-add-pnp-modaliases.patch
 hid-don-t-ignore-egalax-d-wav-eeti-hids.patch
 input-usbtouchscreen-ignore-egalax-d-wav-eeti-hids.patch
 cpufreq-highbank-cpufreq-enable-midway-ecx-2000.patch
+clk-armada-370-fix-tclk-frequencies.patch
+9p-send-uevent-after-adding-removing-mount_tag-attribute.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-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