All of lore.kernel.org
 help / color / mirror / Atom feed
From: Weng Xuetian <wengxt@gmail.com>
To: Chen Yu <yu.c.chen@intel.com>
Cc: Darren Hart <dvhart@infradead.org>,
	linux-kernel@vger.kernel.org,
	platform-driver-x86@vger.kernel.org,
	Weng Xuetian <wengxt@gmail.com>
Subject: [PATCH v2] surface pro 4: Add support for Surface Pro 4 Buttons
Date: Sun, 27 Dec 2015 09:29:49 -0800	[thread overview]
Message-ID: <1451237389-7993-1-git-send-email-wengxt@gmail.com> (raw)
In-Reply-To: <1450988919-945-1-git-send-email-wengxt@gmail.com>

Surface Pro 4 button is managed by a device with _HID "MSHW0040"
different from Surface Pro 3.

This commit adds MSHW0040 to id list to Support Surface Pro 4, and
rename the driver to surfacepro_button accordingly.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109871
Signed-off-by: Weng Xuetian <wengxt@gmail.com>
---
v2:
 - Reformat patch with -M -C
---
 MAINTAINERS                                            |  4 ++--
 drivers/platform/x86/Kconfig                           |  6 +++---
 drivers/platform/x86/Makefile                          |  2 +-
 .../x86/{surfacepro3_button.c => surfacepro_button.c}  | 18 ++++++++++--------
 4 files changed, 16 insertions(+), 14 deletions(-)
 rename drivers/platform/x86/{surfacepro3_button.c => surfacepro_button.c} (93%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 233f834..1c07436 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7019,11 +7019,11 @@ T:	git git://git.monstr.eu/linux-2.6-microblaze.git
 S:	Supported
 F:	arch/microblaze/
 
-MICROSOFT SURFACE PRO 3 BUTTON DRIVER
+MICROSOFT SURFACE PRO SERIES BUTTON DRIVER
 M:	Chen Yu <yu.c.chen@intel.com>
 L:	platform-driver-x86@vger.kernel.org
 S:	Supported
-F:	drivers/platform/x86/surfacepro3_button.c
+F:	drivers/platform/x86/surfacepro_button.c
 
 MICROTEK X6 SCANNER
 M:	Oliver Neukum <oliver@neukum.org>
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 1089eaa..3358fb0 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -939,9 +939,9 @@ config INTEL_PMC_IPC
 	The PMC is an ARC processor which defines IPC commands for communication
 	with other entities in the CPU.
 
-config SURFACE_PRO3_BUTTON
-	tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3 tablet"
+config SURFACE_PRO_BUTTON
+	tristate "Power/home/volume buttons driver for Microsoft Surface Pro Series tablet"
 	depends on ACPI && INPUT
 	---help---
-	  This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3 tablet.
+	  This driver handles the power/home/volume buttons on the Microsoft Surface Pro Series tablet.
 endif # X86_PLATFORM_DEVICES
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index 3ca78a3..b4ece33 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -61,4 +61,4 @@ obj-$(CONFIG_INTEL_SMARTCONNECT)	+= intel-smartconnect.o
 obj-$(CONFIG_PVPANIC)           += pvpanic.o
 obj-$(CONFIG_ALIENWARE_WMI)	+= alienware-wmi.o
 obj-$(CONFIG_INTEL_PMC_IPC)	+= intel_pmc_ipc.o
-obj-$(CONFIG_SURFACE_PRO3_BUTTON)	+= surfacepro3_button.o
+obj-$(CONFIG_SURFACE_PRO_BUTTON)	+= surfacepro_button.o
diff --git a/drivers/platform/x86/surfacepro3_button.c b/drivers/platform/x86/surfacepro_button.c
similarity index 93%
rename from drivers/platform/x86/surfacepro3_button.c
rename to drivers/platform/x86/surfacepro_button.c
index f7dade3..cda52b8 100644
--- a/drivers/platform/x86/surfacepro3_button.c
+++ b/drivers/platform/x86/surfacepro_button.c
@@ -1,6 +1,6 @@
 /*
  * power/home/volume button support for
- * Microsoft Surface Pro 3 tablet.
+ * Microsoft Surface Pro Series tablet.
  *
  * Copyright (c) 2015 Intel Corporation.
  * All rights reserved.
@@ -19,9 +19,10 @@
 #include <linux/acpi.h>
 #include <acpi/button.h>
 
-#define SURFACE_BUTTON_HID		"MSHW0028"
+#define SURFACE_PRO3_BUTTON_HID		"MSHW0028"
+#define SURFACE_PRO4_BUTTON_HID		"MSHW0040"
 #define SURFACE_BUTTON_OBJ_NAME		"VGBI"
-#define SURFACE_BUTTON_DEVICE_NAME	"Surface Pro 3 Buttons"
+#define SURFACE_BUTTON_DEVICE_NAME	"Surface Pro Series Buttons"
 
 #define SURFACE_BUTTON_NOTIFY_PRESS_POWER	0xc6
 #define SURFACE_BUTTON_NOTIFY_RELEASE_POWER	0xc7
@@ -35,10 +36,10 @@
 #define SURFACE_BUTTON_NOTIFY_PRESS_VOLUME_DOWN	0xc2
 #define SURFACE_BUTTON_NOTIFY_RELEASE_VOLUME_DOWN	0xc3
 
-ACPI_MODULE_NAME("surface pro 3 button");
+ACPI_MODULE_NAME("surface pro series button");
 
 MODULE_AUTHOR("Chen Yu");
-MODULE_DESCRIPTION("Surface Pro3 Button Driver");
+MODULE_DESCRIPTION("Surface Pro Series Button Driver");
 MODULE_LICENSE("GPL v2");
 
 /*
@@ -54,7 +55,8 @@ MODULE_LICENSE("GPL v2");
  * acpi_driver.
  */
 static const struct acpi_device_id surface_button_device_ids[] = {
-	{SURFACE_BUTTON_HID,    0},
+	{SURFACE_PRO3_BUTTON_HID,    0},
+	{SURFACE_PRO4_BUTTON_HID,    0},
 	{"", 0},
 };
 MODULE_DEVICE_TABLE(acpi, surface_button_device_ids);
@@ -202,8 +204,8 @@ static SIMPLE_DEV_PM_OPS(surface_button_pm,
 		surface_button_suspend, surface_button_resume);
 
 static struct acpi_driver surface_button_driver = {
-	.name = "surface_pro3_button",
-	.class = "SurfacePro3",
+	.name = "surface_pro_button",
+	.class = "SurfacePro",
 	.ids = surface_button_device_ids,
 	.ops = {
 		.add = surface_button_add,
-- 
2.6.4

  parent reply	other threads:[~2015-12-27 17:30 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-24 20:28 [PATCH] surface pro 4: Add support for Surface Pro 4 Buttons Weng Xuetian
2015-12-27 13:36 ` Andy Shevchenko
2015-12-27 17:29 ` Weng Xuetian [this message]
2015-12-27 19:07   ` [PATCH v2] " Chen, Yu C
2015-12-27 19:21   ` [PATCH v3] " Weng Xuetian
2015-12-27 20:58     ` Andy Shevchenko
2016-01-04 20:35       ` Darren Hart
2016-01-05  0:00         ` Chen, Yu C
2016-01-04 20:11     ` Darren Hart
2016-01-11 18:38     ` Darren Hart
2016-01-12 19:43     ` [PATCH v4] " Weng Xuetian
2016-01-14 23:01       ` Darren Hart
2016-01-15  1:41         ` Chen, Yu C
2016-01-15  1:50         ` Chen, Yu C
2016-01-17 23:10       ` [PATCH v5] " Weng Xuetian
2016-01-18  3:18         ` Chen, Yu C
2016-01-19 21:00         ` Darren Hart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1451237389-7993-1-git-send-email-wengxt@gmail.com \
    --to=wengxt@gmail.com \
    --cc=dvhart@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=yu.c.chen@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.