From: Greg Kroah-Hartman Date: Mon, 2 Dec 2013 17:50:39 +0000 (-0800) Subject: 3.12-stable patches X-Git-Tag: v3.4.72~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1b7b431a10677300af0b1fcd5cdebbb96855d1f4;p=thirdparty%2Fkernel%2Fstable-queue.git 3.12-stable patches added patches: hid-add-support-for-leetgion-hellion-gaming-mouse.patch hid-apple-option-to-swap-the-option-alt-and-command-flag-keys.patch hid-enable-mayflash-usb-gamecube-adapter.patch hid-roccat-add-missing-special-driver-declarations.patch hid-roccat-add-new-device-return-value.patch hid-roccat-fix-coverity-cid-141438.patch --- diff --git a/queue-3.12/hid-add-support-for-leetgion-hellion-gaming-mouse.patch b/queue-3.12/hid-add-support-for-leetgion-hellion-gaming-mouse.patch new file mode 100644 index 00000000000..80dd713044e --- /dev/null +++ b/queue-3.12/hid-add-support-for-leetgion-hellion-gaming-mouse.patch @@ -0,0 +1,86 @@ +From f1a4914bd04911fbeaee23445112adae8977144a Mon Sep 17 00:00:00 2001 +From: Anders F. U. Kiær +Date: Mon, 21 Oct 2013 23:42:22 +0200 +Subject: HID: add support for LEETGION Hellion Gaming Mouse + +From: Anders F. U. Kiær + +commit f1a4914bd04911fbeaee23445112adae8977144a upstream. + +Added id, bindings and comments for Holtek USB ID 04d9:a072 +LEETGION Hellion Gaming mouse to use the same corrections of the report +descriptor as Holtek 04d9:a067. As the mouse exceed HID_MAX_USAGES at the +same offsets in the reported descriptor. +Tested on the hardware. + +Signed-off-by: Anders F. U. Kiær +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/Kconfig | 1 + + drivers/hid/hid-core.c | 1 + + drivers/hid/hid-holtek-mouse.c | 4 ++++ + drivers/hid/hid-ids.h | 3 ++- + 4 files changed, 8 insertions(+), 1 deletion(-) + +--- a/drivers/hid/Kconfig ++++ b/drivers/hid/Kconfig +@@ -242,6 +242,7 @@ config HID_HOLTEK + - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 / + Zalman ZM-GM1 + - SHARKOON DarkGlider Gaming mouse ++ - LEETGION Hellion Gaming Mouse + + config HOLTEK_FF + bool "Holtek On Line Grip force feedback support" +--- a/drivers/hid/hid-core.c ++++ b/drivers/hid/hid-core.c +@@ -1716,6 +1716,7 @@ static const struct hid_device_id hid_ha + { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD) }, + { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A04A) }, + { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072) }, + { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081) }, + { HID_USB_DEVICE(USB_VENDOR_ID_HUION, USB_DEVICE_ID_HUION_580) }, + { HID_USB_DEVICE(USB_VENDOR_ID_JESS2, USB_DEVICE_ID_JESS2_COLOR_RUMBLE_PAD) }, +--- a/drivers/hid/hid-holtek-mouse.c ++++ b/drivers/hid/hid-holtek-mouse.c +@@ -28,6 +28,7 @@ + * - USB ID 04d9:a04a, sold as Tracer Sniper TRM-503, NOVA Gaming Slider X200 + * and Zalman ZM-GM1 + * - USB ID 04d9:a081, sold as SHARKOON DarkGlider Gaming mouse ++ * - USB ID 04d9:a072, sold as LEETGION Hellion Gaming Mouse + */ + + static __u8 *holtek_mouse_report_fixup(struct hid_device *hdev, __u8 *rdesc, +@@ -40,6 +41,7 @@ static __u8 *holtek_mouse_report_fixup(s + * 0x2fff, so they don't exceed HID_MAX_USAGES */ + switch (hdev->product) { + case USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067: ++ case USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072: + if (*rsize >= 122 && rdesc[115] == 0xff && rdesc[116] == 0x7f + && rdesc[120] == 0xff && rdesc[121] == 0x7f) { + hid_info(hdev, "Fixing up report descriptor\n"); +@@ -66,6 +68,8 @@ static const struct hid_device_id holtek + { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, + USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A04A) }, + { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, ++ USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, + USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081) }, + { } + }; +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -453,8 +453,9 @@ + + #define USB_VENDOR_ID_HOLTEK_ALT 0x04d9 + #define USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD 0xa055 +-#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067 0xa067 + #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A04A 0xa04a ++#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067 0xa067 ++#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072 0xa072 + #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081 0xa081 + + #define USB_VENDOR_ID_IMATION 0x0718 diff --git a/queue-3.12/hid-apple-option-to-swap-the-option-alt-and-command-flag-keys.patch b/queue-3.12/hid-apple-option-to-swap-the-option-alt-and-command-flag-keys.patch new file mode 100644 index 00000000000..005dd29b71b --- /dev/null +++ b/queue-3.12/hid-apple-option-to-swap-the-option-alt-and-command-flag-keys.patch @@ -0,0 +1,68 @@ +From 43c831468b3d26dbe8f2e061ccaf1abaf9cc1b8b Mon Sep 17 00:00:00 2001 +From: Nanno Langstraat +Date: Mon, 14 Oct 2013 16:07:15 +0200 +Subject: HID: apple: option to swap the 'Option' ("Alt") and 'Command' ("Flag") keys. + +From: Nanno Langstraat + +commit 43c831468b3d26dbe8f2e061ccaf1abaf9cc1b8b upstream. + +Use case: people who use both Apple and PC keyboards regularly, and desire to +keep&use their PC muscle memory. + +A particular use case: an Apple compact external keyboard connected to a PC +laptop. (This use case can't be covered well by X.org key remappings etc.) + +Signed-off-by: Nanno Langstraat +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/hid-apple.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +--- a/drivers/hid/hid-apple.c ++++ b/drivers/hid/hid-apple.c +@@ -46,6 +46,12 @@ module_param(iso_layout, uint, 0644); + MODULE_PARM_DESC(iso_layout, "Enable/Disable hardcoded ISO-layout of the keyboard. " + "(0 = disabled, [1] = enabled)"); + ++static unsigned int swap_opt_cmd = 0; ++module_param(swap_opt_cmd, uint, 0644); ++MODULE_PARM_DESC(swap_opt_cmd, "Swap the Option (\"Alt\") and Command (\"Flag\") keys. " ++ "(For people who want to keep Windows PC keyboard muscle memory. " ++ "[0] = as-is, Mac layout. 1 = swapped, Windows layout.)"); ++ + struct apple_sc { + unsigned long quirks; + unsigned int fn_on; +@@ -150,6 +156,14 @@ static const struct apple_key_translatio + { } + }; + ++static const struct apple_key_translation swapped_option_cmd_keys[] = { ++ { KEY_LEFTALT, KEY_LEFTMETA }, ++ { KEY_LEFTMETA, KEY_LEFTALT }, ++ { KEY_RIGHTALT, KEY_RIGHTMETA }, ++ { KEY_RIGHTMETA,KEY_RIGHTALT }, ++ { } ++}; ++ + static const struct apple_key_translation *apple_find_translation( + const struct apple_key_translation *table, u16 from) + { +@@ -242,6 +256,14 @@ static int hidinput_apple_event(struct h + } + } + ++ if (swap_opt_cmd) { ++ trans = apple_find_translation(swapped_option_cmd_keys, usage->code); ++ if (trans) { ++ input_event(input, usage->type, trans->to, value); ++ return 1; ++ } ++ } ++ + return 0; + } + diff --git a/queue-3.12/hid-enable-mayflash-usb-gamecube-adapter.patch b/queue-3.12/hid-enable-mayflash-usb-gamecube-adapter.patch new file mode 100644 index 00000000000..e839abf6e0a --- /dev/null +++ b/queue-3.12/hid-enable-mayflash-usb-gamecube-adapter.patch @@ -0,0 +1,51 @@ +From e17f5d7667c5414b8f12a93ef14aae0824bd2beb Mon Sep 17 00:00:00 2001 +From: Tristan Rice +Date: Tue, 12 Nov 2013 19:06:23 +0100 +Subject: HID: enable Mayflash USB Gamecube Adapter + +From: Tristan Rice + +commit e17f5d7667c5414b8f12a93ef14aae0824bd2beb upstream. + +This is a patch that adds the new Mayflash Gamecube Controller to USB adapter +(ID 1a34:f705 ACRUX) to the ACRUX driver (drivers/hid/hid-axff.c) with full +force feedback support. + +Signed-off-by: Tristan Rice +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/hid-axff.c | 3 ++- + drivers/hid/hid-core.c | 1 + + 2 files changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/hid/hid-axff.c ++++ b/drivers/hid/hid-axff.c +@@ -95,7 +95,7 @@ static int axff_init(struct hid_device * + } + } + +- if (field_count < 4) { ++ if (field_count < 4 && hid->product != 0xf705) { + hid_err(hid, "not enough fields in the report: %d\n", + field_count); + return -ENODEV; +@@ -180,6 +180,7 @@ static void ax_remove(struct hid_device + + static const struct hid_device_id ax_devices[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_ACRUX, 0x0802), }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ACRUX, 0xf705), }, + { } + }; + MODULE_DEVICE_TABLE(hid, ax_devices); +--- a/drivers/hid/hid-core.c ++++ b/drivers/hid/hid-core.c +@@ -1605,6 +1605,7 @@ static const struct hid_device_id hid_ha + { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_X5_005D) }, + { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_RP_649) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ACRUX, 0x0802) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ACRUX, 0xf705) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MIGHTYMOUSE) }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICMOUSE) }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICTRACKPAD) }, diff --git a/queue-3.12/hid-roccat-add-missing-special-driver-declarations.patch b/queue-3.12/hid-roccat-add-missing-special-driver-declarations.patch new file mode 100644 index 00000000000..53a4a782276 --- /dev/null +++ b/queue-3.12/hid-roccat-add-missing-special-driver-declarations.patch @@ -0,0 +1,37 @@ +From e078809df5611600965f4d3420c3256260fc3e3d Mon Sep 17 00:00:00 2001 +From: Stefan Achatz +Date: Fri, 8 Nov 2013 14:12:00 +0100 +Subject: HID: roccat: add missing special driver declarations + +From: Stefan Achatz + +commit e078809df5611600965f4d3420c3256260fc3e3d upstream. + +Forgot two special driver declarations and sorted the list. + +Signed-off-by: Stefan Achatz +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/hid-core.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/hid/hid-core.c ++++ b/drivers/hid/hid-core.c +@@ -1802,12 +1802,14 @@ static const struct hid_device_id hid_ha + { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) }, + { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) }, + #if IS_ENABLED(CONFIG_HID_ROCCAT) +- { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ARVO) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ISKU) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ISKUFX) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONEPLUS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONEPURE) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONEPURE_OPTICAL) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONEXTD) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KOVAPLUS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_LUA) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_PYRA_WIRED) }, diff --git a/queue-3.12/hid-roccat-add-new-device-return-value.patch b/queue-3.12/hid-roccat-add-new-device-return-value.patch new file mode 100644 index 00000000000..5f0f1ea5e04 --- /dev/null +++ b/queue-3.12/hid-roccat-add-new-device-return-value.patch @@ -0,0 +1,53 @@ +From 14fc4290df2fb94a28f39dab9ed32feaa5527bef Mon Sep 17 00:00:00 2001 +From: Stefan Achatz +Date: Mon, 28 Oct 2013 18:52:03 +0100 +Subject: HID: roccat: add new device return value + +From: Stefan Achatz + +commit 14fc4290df2fb94a28f39dab9ed32feaa5527bef upstream. + +Ryos uses a new return value for critical errors, others have been +confirmed. + +Signed-off-by: Stefan Achatz +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/hid-roccat-common.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/drivers/hid/hid-roccat-common.c ++++ b/drivers/hid/hid-roccat-common.c +@@ -65,10 +65,11 @@ int roccat_common2_send(struct usb_devic + EXPORT_SYMBOL_GPL(roccat_common2_send); + + enum roccat_common2_control_states { +- ROCCAT_COMMON_CONTROL_STATUS_OVERLOAD = 0, ++ ROCCAT_COMMON_CONTROL_STATUS_CRITICAL = 0, + ROCCAT_COMMON_CONTROL_STATUS_OK = 1, + ROCCAT_COMMON_CONTROL_STATUS_INVALID = 2, +- ROCCAT_COMMON_CONTROL_STATUS_WAIT = 3, ++ ROCCAT_COMMON_CONTROL_STATUS_BUSY = 3, ++ ROCCAT_COMMON_CONTROL_STATUS_CRITICAL_NEW = 4, + }; + + static int roccat_common2_receive_control_status(struct usb_device *usb_dev) +@@ -88,13 +89,12 @@ static int roccat_common2_receive_contro + switch (control.value) { + case ROCCAT_COMMON_CONTROL_STATUS_OK: + return 0; +- case ROCCAT_COMMON_CONTROL_STATUS_WAIT: ++ case ROCCAT_COMMON_CONTROL_STATUS_BUSY: + msleep(500); + continue; + case ROCCAT_COMMON_CONTROL_STATUS_INVALID: +- +- case ROCCAT_COMMON_CONTROL_STATUS_OVERLOAD: +- /* seems to be critical - replug necessary */ ++ case ROCCAT_COMMON_CONTROL_STATUS_CRITICAL: ++ case ROCCAT_COMMON_CONTROL_STATUS_CRITICAL_NEW: + return -EINVAL; + default: + dev_err(&usb_dev->dev, diff --git a/queue-3.12/hid-roccat-fix-coverity-cid-141438.patch b/queue-3.12/hid-roccat-fix-coverity-cid-141438.patch new file mode 100644 index 00000000000..e939a9a7364 --- /dev/null +++ b/queue-3.12/hid-roccat-fix-coverity-cid-141438.patch @@ -0,0 +1,35 @@ +From 7be63f20b00840a6f1c718dcee00855688d64acd Mon Sep 17 00:00:00 2001 +From: Stefan Achatz +Date: Sun, 3 Nov 2013 06:25:33 +0100 +Subject: HID: roccat: fix Coverity CID 141438 + +From: Stefan Achatz + +commit 7be63f20b00840a6f1c718dcee00855688d64acd upstream. + +Add missing switch breaks. + +Signed-off-by: Stefan Achatz +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/hid-roccat-kovaplus.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/hid/hid-roccat-kovaplus.c ++++ b/drivers/hid/hid-roccat-kovaplus.c +@@ -554,9 +554,13 @@ static void kovaplus_keep_values_up_to_d + break; + case KOVAPLUS_MOUSE_REPORT_BUTTON_TYPE_CPI: + kovaplus->actual_cpi = kovaplus_convert_event_cpi(button_report->data1); ++ break; + case KOVAPLUS_MOUSE_REPORT_BUTTON_TYPE_SENSITIVITY: + kovaplus->actual_x_sensitivity = button_report->data1; + kovaplus->actual_y_sensitivity = button_report->data2; ++ break; ++ default: ++ break; + } + } + diff --git a/queue-3.12/series b/queue-3.12/series index 63f2fa7de57..9f7f0c715e0 100644 --- a/queue-3.12/series +++ b/queue-3.12/series @@ -204,3 +204,9 @@ media-dvb-frontends-don-t-use-dynamic-static-allocation.patch media-dvb-frontends-again-don-t-use-dynamic-static-allocation.patch media-s5h1420-don-t-use-dynamic-static-allocation.patch x.509-remove-certificate-date-checks.patch +hid-roccat-add-new-device-return-value.patch +hid-roccat-fix-coverity-cid-141438.patch +hid-roccat-add-missing-special-driver-declarations.patch +hid-add-support-for-leetgion-hellion-gaming-mouse.patch +hid-enable-mayflash-usb-gamecube-adapter.patch +hid-apple-option-to-swap-the-option-alt-and-command-flag-keys.patch