| From 9d9a04ee758b4c1fcc7586d065cdde7a7607e156 Mon Sep 17 00:00:00 2001 |
| From: Dmitry Torokhov <rydberg@euromail.se> |
| Date: Mon, 1 Jul 2013 11:46:27 -0700 |
| Subject: HID: apple: Add support for the 2013 Macbook Air |
| |
| From: Dmitry Torokhov <rydberg@euromail.se> |
| |
| commit 9d9a04ee758b4c1fcc7586d065cdde7a7607e156 upstream. |
| |
| This patch adds keyboard support for MacbookAir6,2 as WELLSPRING8 |
| (0x0291, 0x0292, 0x0293). The touchpad is handled in a separate |
| bcm5974 patch, as usual. |
| |
| Reported-and-tested-by: Brad Ford <plymouthffl@gmail.com> |
| Signed-off-by: Henrik Rydberg <rydberg@euromail.se> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/hid/hid-apple.c | 6 ++++++ |
| drivers/hid/hid-core.c | 6 ++++++ |
| drivers/hid/hid-ids.h | 3 +++ |
| 3 files changed, 15 insertions(+) |
| |
| --- a/drivers/hid/hid-apple.c |
| +++ b/drivers/hid/hid-apple.c |
| @@ -524,6 +524,12 @@ static const struct hid_device_id apple_ |
| .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS), |
| .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI), |
| + .driver_data = APPLE_HAS_FN }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO), |
| + .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS), |
| + .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, |
| { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI), |
| .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, |
| { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO), |
| --- a/drivers/hid/hid-core.c |
| +++ b/drivers/hid/hid-core.c |
| @@ -1547,6 +1547,9 @@ static const struct hid_device_id hid_ha |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI) }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO) }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS) }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI) }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO) }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS) }, |
| { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) }, |
| { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) }, |
| { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) }, |
| @@ -2179,6 +2182,9 @@ static const struct hid_device_id hid_mo |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI) }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO) }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS) }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI) }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO) }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS) }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, |
| { } |
| --- a/drivers/hid/hid-ids.h |
| +++ b/drivers/hid/hid-ids.h |
| @@ -135,6 +135,9 @@ |
| #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS 0x023b |
| #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI 0x0255 |
| #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO 0x0256 |
| +#define USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI 0x0291 |
| +#define USB_DEVICE_ID_APPLE_WELLSPRING8_ISO 0x0292 |
| +#define USB_DEVICE_ID_APPLE_WELLSPRING8_JIS 0x0293 |
| #define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a |
| #define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b |
| #define USB_DEVICE_ID_APPLE_IRCONTROL 0x8240 |