From 6d5ac6e1771e30137ba1a2898885102b8bc21851 Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Sun, 17 Jan 2016 15:10:38 -0800 Subject: [PATCH] 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 Acked-by: Chen Yu Signed-off-by: Darren Hart --- drivers/platform/x86/Kconfig | 4 ++-- 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 #include -#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);