main/linux-vanilla: upgrade to 4.9.47

This commit is contained in:
Natanael Copa 2017-09-04 20:03:10 +00:00
parent d2a8f5bc6e
commit 6a3eeebd69
2 changed files with 71 additions and 2 deletions

View File

@ -0,0 +1,67 @@
From 0a802b5595bc6769a8984ad83662204db79c5e31 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Mon, 4 Sep 2017 19:44:18 +0000
Subject: [PATCH] HID: apple: fix Fn key Magic Keyboard on bluetooth
The vendor id is 0x004c, when Magic Keyboard is connected via bluetooth.
This appears to be the bluetooth fendor id for Apple.
We also need to check against HID_UP_MSVENDOR to get the Fn key working
properly.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
drivers/hid/hid-apple.c | 4 +++-
drivers/hid/hid-core.c | 1 +
drivers/hid/hid-ids.h | 1 +
3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
index 25b7bd56ae11..c79dbf836925 100644
--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -335,7 +335,7 @@ static int apple_input_mapping(struct hid_device *hdev, struct hid_input *hi,
struct hid_field *field, struct hid_usage *usage,
unsigned long **bit, int *max)
{
- if (usage->hid == (HID_UP_CUSTOM | 0x0003)) {
+ if (usage->hid == (HID_UP_CUSTOM | 0x0003) || usage->hid == (HID_UP_MSVENDOR | 0x0003)) {
/* The fn key on Apple USB keyboards */
set_bit(EV_REP, hi->input->evbit);
hid_map_usage_clear(hi, usage, bit, max, EV_KEY, KEY_FN);
@@ -472,6 +472,8 @@ static const struct hid_device_id apple_devices[] = {
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI),
.driver_data = APPLE_HAS_FN },
+ { HID_BLUETOOTH_DEVICE(BLUETOOTH_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI),
+ .driver_data = APPLE_HAS_FN },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),
.driver_data = APPLE_HAS_FN },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO),
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 9017dcc14502..36e43986f415 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1964,6 +1964,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_JIS) },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI) },
+ { HID_BLUETOOTH_DEVICE(BLUETOOTH_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI) },
{ 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) },
#endif
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index c9ba4c6db74c..3f654444c011 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -85,6 +85,7 @@
#define USB_DEVICE_ID_ANTON_TOUCH_PAD 0x3101
#define USB_VENDOR_ID_APPLE 0x05ac
+#define BLUETOOTH_VENDOR_ID_APPLE 0x004c
#define USB_DEVICE_ID_APPLE_MIGHTYMOUSE 0x0304
#define USB_DEVICE_ID_APPLE_MAGICMOUSE 0x030d
#define USB_DEVICE_ID_APPLE_MAGICTRACKPAD 0x030e
--
2.14.1

View File

@ -2,7 +2,7 @@
_flavor=vanilla
pkgname=linux-${_flavor}
pkgver=4.9.44
pkgver=4.9.47
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=$pkgver;;
@ -16,6 +16,7 @@ options="!strip"
_config=${config:-config-vanilla.${CARCH}}
install=
source="https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar.xz
0001-HID-apple-fix-Fn-key-Magic-Keyboard-on-bluetooth.patch
config-vanilla.aarch64
config-vanilla.armhf
config-vanilla.x86
@ -172,6 +173,7 @@ dev() {
}
sha512sums="bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a linux-4.9.tar.xz
5373728be2b507c3db5e042e1d768740df7965078868afdc46418b1adc4cae3d8f9f1aedb59975a0f2acf8754340499354fcf97c503397a5d9886ccc9689b782 0001-HID-apple-fix-Fn-key-Magic-Keyboard-on-bluetooth.patch
2716c39e6254afabc24d9334c98e80a4d59f929adae01093c8bf841bc5dd6e9c4a5c945e2f655f722041dc2fbb94efef1d9b07fc11d6736e6813f27ed5a5e809 config-vanilla.aarch64
6a5a40e15cb1a1cd7d4e1f83be82dd66b762126313f6d1f95444684e2b3a2d7de539fa915cc0d800d53c74c5b0624bbd0003e21d3c636e13900f7028be8ed9ac config-vanilla.armhf
30c585d679b96571149ecf80c66a074059923c191cc9eebbca8cbcdff98e08b354cff954354723f2ff5db23166ce947bce5b0c4c47bd439b3e7840057cab08ac config-vanilla.x86
@ -179,4 +181,4 @@ sha512sums="bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a
ee565e219530bcfaf5cade2622432cfb83743bdbbfc388781901461f19ca553b7fdee3c81ce6b34225ef78a209eb60088630284fcbb0430947aad77a5d8a0865 config-vanilla.ppc
899df65a70300273a05c6a7ba1c17a8d51cf44487bf200c9be63f95edc3620330e33f66cc381820ff73481fc847136a181cb0f10aa8291e7001d6df47981f7d2 config-vanilla.ppc64le
040ded4603acd7d72227b8ea648876118f647d5750331c68419f057def3da4e751a13e8d73ae6d2f040e8a2eedd128415d9cf75420c1e3d5314910d11c705d95 config-vanilla.s390x
4f5d055f002e23e6d91b78c300048d346933c06839d1bf8dea40d5f4e240ae6864a1baddb4218661af857843a8d2567e8f888a31f0f0ac08d50e427aecb779ae patch-4.9.44.xz"
1444676c9bdff6133191db4885fb6ddfb989e355c7f16ddc42ff1ed9415917f06c8147cd69346525624da8547204a68303d5002417b40e11c0174341f55cfc09 patch-4.9.47.xz"