[linux] 03/05: [x86] platform: acer-wmi: setup accelerometer when machine has appropriate notify event (Closes: #853067)

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Fri Feb 17 03:59:08 UTC 2017


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch sid
in repository linux.

commit 31532f08512b6a12e7d25492aad69da2163706d2
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Fri Feb 17 02:37:50 2017 +0000

    [x86] platform: acer-wmi: setup accelerometer when machine has appropriate notify event (Closes: #853067)
---
 debian/changelog                                   |  2 +
 ...6-acer-wmi-setup-accelerometer-when-machi.patch | 79 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 3 files changed, 82 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 7a3710b..bde2abb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -255,6 +255,8 @@ linux (4.9.10-1) UNRELEASED; urgency=medium
   * [m68k] Change MAC8390, MAC_SCSI from built-in to modules (Closes: #826614)
     - udeb: Add mac8390 to nic-shared-modules
   * udeb: Add bcache to md-modules (Closes: #718548)
+  * [x86] platform: acer-wmi: setup accelerometer when machine has appropriate
+    notify event (Closes: #853067)
 
   [ Roger Shimizu ]
   * [armel] ARM: dts: orion5x-lschl: Fix model name
diff --git a/debian/patches/bugfix/x86/platform-x86-acer-wmi-setup-accelerometer-when-machi.patch b/debian/patches/bugfix/x86/platform-x86-acer-wmi-setup-accelerometer-when-machi.patch
new file mode 100644
index 0000000..4c7805c
--- /dev/null
+++ b/debian/patches/bugfix/x86/platform-x86-acer-wmi-setup-accelerometer-when-machi.patch
@@ -0,0 +1,79 @@
+From: "Lee, Chun-Yi" <joeyli.kernel at gmail.com>
+Date: Thu, 3 Nov 2016 08:18:52 +0800
+Subject: platform/x86: acer-wmi: setup accelerometer when machine has
+ appropriate notify event
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Origin: https://git.kernel.org/linus/98d610c3739ac354319a6590b915f4624d9151e6
+Bug-Debian: https://bugs.debian.org/853067
+
+The accelerometer event relies on the ACERWMID_EVENT_GUID notify.
+So, this patch changes the codes to setup accelerometer input device
+when detected ACERWMID_EVENT_GUID. It avoids that the accel input
+device created on every Acer machines.
+
+In addition, patch adds a clearly parsing logic of accelerometer hid
+to acer_wmi_get_handle_cb callback function. It is positive matching
+the "SENR" name with "BST0001" device to avoid non-supported hardware.
+
+Reported-by: Bjørn Mork <bjorn at mork.no>
+Cc: Darren Hart <dvhart at infradead.org>
+Signed-off-by: Lee, Chun-Yi <jlee at suse.com>
+[andy: slightly massage commit message]
+Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
+---
+ drivers/platform/x86/acer-wmi.c | 22 ++++++++++++++++++----
+ 1 file changed, 18 insertions(+), 4 deletions(-)
+
+--- a/drivers/platform/x86/acer-wmi.c
++++ b/drivers/platform/x86/acer-wmi.c
+@@ -1808,11 +1808,24 @@ static int __init acer_wmi_enable_lm(voi
+ 	return status;
+ }
+ 
++#define ACER_WMID_ACCEL_HID	"BST0001"
++
+ static acpi_status __init acer_wmi_get_handle_cb(acpi_handle ah, u32 level,
+ 						void *ctx, void **retval)
+ {
++	struct acpi_device *dev;
++
++	if (!strcmp(ctx, "SENR")) {
++		if (acpi_bus_get_device(ah, &dev))
++			return AE_OK;
++		if (!strcmp(ACER_WMID_ACCEL_HID, acpi_device_hid(dev)))
++			return AE_OK;
++	} else
++		return AE_OK;
++
+ 	*(acpi_handle *)retval = ah;
+-	return AE_OK;
++
++	return AE_CTRL_TERMINATE;
+ }
+ 
+ static int __init acer_wmi_get_handle(const char *name, const char *prop,
+@@ -1839,7 +1852,7 @@ static int __init acer_wmi_accel_setup(v
+ {
+ 	int err;
+ 
+-	err = acer_wmi_get_handle("SENR", "BST0001", &gsensor_handle);
++	err = acer_wmi_get_handle("SENR", ACER_WMID_ACCEL_HID, &gsensor_handle);
+ 	if (err)
+ 		return err;
+ 
+@@ -2177,10 +2190,11 @@ static int __init acer_wmi_init(void)
+ 		err = acer_wmi_input_setup();
+ 		if (err)
+ 			return err;
++		err = acer_wmi_accel_setup();
++		if (err)
++			return err;
+ 	}
+ 
+-	acer_wmi_accel_setup();
+-
+ 	err = platform_driver_register(&acer_platform_driver);
+ 	if (err) {
+ 		pr_err("Unable to register platform driver\n");
diff --git a/debian/patches/series b/debian/patches/series
index 454a19f..4afea7e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -48,6 +48,7 @@ debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch
 
 # Arch bug fixes
 bugfix/x86/asoc-intel-select-dw_dmac_core-since-it-s-mandatory.patch
+bugfix/x86/platform-x86-acer-wmi-setup-accelerometer-when-machi.patch
 
 # Arch features
 features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list