diff options
author | Weng Xuetian <wengxt@gmail.com> | 2016-01-17 15:10:38 -0800 |
---|---|---|
committer | Darren Hart <dvhart@linux.intel.com> | 2016-01-19 17:35:52 -0800 |
commit | 6d5ac6e1771e30137ba1a2898885102b8bc21851 (patch) | |
tree | a423858e30fecf8bfee9c390bf5c96208164b4be | |
parent | 87bee290998d062937eecf40ad409480e7281b0e (diff) |
surface pro 4: Add support for Surface Pro 4 Buttons
Surface Pro 4 buttons are managed by a device with _HID "MSHW0040"
different from Surface Pro 3.
This commit adds MSHW0040 to id list to support the Surface Pro 4.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109871
Signed-off-by: Weng Xuetian <wengxt@gmail.com>
Acked-by: Chen Yu <yu.c.chen@intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
-rw-r--r-- | drivers/platform/x86/Kconfig | 4 | ||||
-rw-r--r-- | drivers/platform/x86/surfacepro3_button.c | 10 |
2 files changed, 8 insertions, 6 deletions
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index d72b14809d7e..69f93a576e45 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -967,10 +967,10 @@ config INTEL_PMC_IPC with other entities in the CPU. config SURFACE_PRO3_BUTTON - tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3 tablet" + tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 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 3/4 tablet. config INTEL_PUNIT_IPC tristate "Intel P-Unit IPC Driver" diff --git a/drivers/platform/x86/surfacepro3_button.c b/drivers/platform/x86/surfacepro3_button.c index f7dade3fd2ab..b9c38f6a3845 100644 --- a/drivers/platform/x86/surfacepro3_button.c +++ b/drivers/platform/x86/surfacepro3_button.c @@ -1,6 +1,6 @@ /* * power/home/volume button support for - * Microsoft Surface Pro 3 tablet. + * Microsoft Surface Pro 3/4 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 3/4 Buttons" #define SURFACE_BUTTON_NOTIFY_PRESS_POWER 0xc6 #define SURFACE_BUTTON_NOTIFY_RELEASE_POWER 0xc7 @@ -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); |