From b7f21faed0bef6a76fdb45695e80c3474c233829 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Oct 14 2014 19:35:49 +0000 Subject: Add patches to fix elantech touchscreens (rhbz 1149509) --- diff --git a/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch b/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch new file mode 100644 index 0000000..8ebd1fa --- /dev/null +++ b/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch @@ -0,0 +1,37 @@ +From: Adel Gadllah +Date: Mon, 6 Oct 2014 15:32:01 +0200 +Subject: [PATCH] HID: usbhid: always-poll quirk for Elan Touchscreen 009b + +This device needs the quirk as well. +--- + drivers/hid/hid-ids.h | 1 + + drivers/hid/usbhid/hid-quirks.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index cd9c9e96cf0e..27fbd138c509 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -298,6 +298,7 @@ + + #define USB_VENDOR_ID_ELAN 0x04f3 + #define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 ++#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b + + #define USB_VENDOR_ID_ELECOM 0x056e + #define USB_DEVICE_ID_ELECOM_BM084 0x0061 +diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c +index f3cb5b0a4345..40aac2158156 100644 +--- a/drivers/hid/usbhid/hid-quirks.c ++++ b/drivers/hid/usbhid/hid-quirks.c +@@ -71,6 +71,7 @@ static const struct hid_blacklist { + { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, ++ { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, +-- +1.9.3 + diff --git a/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch b/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch new file mode 100644 index 0000000..15f0e9c --- /dev/null +++ b/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch @@ -0,0 +1,39 @@ +From: Adel Gadllah +Date: Tue, 7 Oct 2014 18:45:09 +0200 +Subject: [PATCH] HID: usbhid: always-poll quirk for Elan Touchscreen 016f + +This device needs the quirk as well. + +Signed-off-by: Adel Gadllah +--- + drivers/hid/hid-ids.h | 1 + + drivers/hid/usbhid/hid-quirks.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index 27fbd138c509..e23ab8b30626 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -299,6 +299,7 @@ + #define USB_VENDOR_ID_ELAN 0x04f3 + #define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 + #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b ++#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f + + #define USB_VENDOR_ID_ELECOM 0x056e + #define USB_DEVICE_ID_ELECOM_BM084 0x0061 +diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c +index 40aac2158156..5014bb567b29 100644 +--- a/drivers/hid/usbhid/hid-quirks.c ++++ b/drivers/hid/usbhid/hid-quirks.c +@@ -72,6 +72,7 @@ static const struct hid_blacklist { + { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, ++ { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, +-- +1.9.3 + diff --git a/USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch b/USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch new file mode 100644 index 0000000..8329406 --- /dev/null +++ b/USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch @@ -0,0 +1,30 @@ +From: Adel Gadllah +Date: Tue, 7 Oct 2014 18:42:28 +0200 +Subject: [PATCH] USB: quirks: device-qualifier quirk for another Elan + touchscreen + +Yet another device affected by this. + +Signed-off-by: Adel Gadllah +--- + drivers/usb/core/quirks.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 0999e0285e07..8ebe6254d013 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -98,6 +98,10 @@ static const struct usb_device_id usb_quirk_list[] = { + USB_QUIRK_DEVICE_QUALIFIER }, + + /* Elan Touchscreen */ ++ { USB_DEVICE(0x04f3, 0x016f), .driver_info = ++ USB_QUIRK_DEVICE_QUALIFIER }, ++ ++ /* Elan Touchscreen */ + { USB_DEVICE(0x04f3, 0x009b), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + +-- +1.9.3 + diff --git a/USB-quirks-enable-device-qualifier-quirk-for-another.patch b/USB-quirks-enable-device-qualifier-quirk-for-another.patch new file mode 100644 index 0000000..49f84d9 --- /dev/null +++ b/USB-quirks-enable-device-qualifier-quirk-for-another.patch @@ -0,0 +1,32 @@ +From: Adel Gadllah +Date: Sun, 5 Oct 2014 18:32:34 +0200 +Subject: [PATCH] USB: quirks: enable device-qualifier quirk for another Elan + touchscreen + +Currently this quirk is enabled for the model with the device id 0x0089, it +is needed for the 0x009b model, which is found on the Fujitsu Lifebook u904 +as well. + +Signed-off-by: Adel Gadllah +--- + drivers/usb/core/quirks.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 5ae883dc21f5..0999e0285e07 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -97,6 +97,10 @@ static const struct usb_device_id usb_quirk_list[] = { + { USB_DEVICE(0x04f3, 0x0089), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + ++ /* Elan Touchscreen */ ++ { USB_DEVICE(0x04f3, 0x009b), .driver_info = ++ USB_QUIRK_DEVICE_QUALIFIER }, ++ + /* Roland SC-8820 */ + { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, + +-- +1.9.3 + diff --git a/kernel.spec b/kernel.spec index 5e8bda5..63b2fbb 100644 --- a/kernel.spec +++ b/kernel.spec @@ -606,6 +606,12 @@ Patch26033: mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch Patch26035: nf_reject_ipv4-module-license-unspecified-taints-ker.patch +#rhbz 1149509 +Patch26036: USB-quirks-enable-device-qualifier-quirk-for-another.patch +Patch26037: HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch +Patch26038: USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch +Patch26039: HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1324,6 +1330,12 @@ ApplyPatch mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch ApplyPatch nf_reject_ipv4-module-license-unspecified-taints-ker.patch +#rhbz 1149509 +ApplyPatch USB-quirks-enable-device-qualifier-quirk-for-another.patch +ApplyPatch HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch +ApplyPatch USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch +ApplyPatch HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. @@ -2192,6 +2204,9 @@ fi # ||----w | # || || %changelog +* Tue Oct 14 2014 Josh Boyer +- Add patches to fix elantech touchscreens (rhbz 1149509) + * Tue Oct 14 2014 Josh Boyer - 3.18.0-0.rc0.git8.1 - Linux v3.17-9283-g2d65a9f48fcd