Commit 6d5ac6e1 authored by Weng Xuetian's avatar Weng Xuetian Committed by Darren Hart

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=109871Signed-off-by: default avatarWeng Xuetian <wengxt@gmail.com>
Acked-by: default avatarChen Yu <yu.c.chen@intel.com>
Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
parent 87bee290
...@@ -967,10 +967,10 @@ config INTEL_PMC_IPC ...@@ -967,10 +967,10 @@ config INTEL_PMC_IPC
with other entities in the CPU. with other entities in the CPU.
config SURFACE_PRO3_BUTTON 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 depends on ACPI && INPUT
---help--- ---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 config INTEL_PUNIT_IPC
tristate "Intel P-Unit IPC Driver" tristate "Intel P-Unit IPC Driver"
......
/* /*
* power/home/volume button support for * power/home/volume button support for
* Microsoft Surface Pro 3 tablet. * Microsoft Surface Pro 3/4 tablet.
* *
* Copyright (c) 2015 Intel Corporation. * Copyright (c) 2015 Intel Corporation.
* All rights reserved. * All rights reserved.
...@@ -19,9 +19,10 @@ ...@@ -19,9 +19,10 @@
#include <linux/acpi.h> #include <linux/acpi.h>
#include <acpi/button.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_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_PRESS_POWER 0xc6
#define SURFACE_BUTTON_NOTIFY_RELEASE_POWER 0xc7 #define SURFACE_BUTTON_NOTIFY_RELEASE_POWER 0xc7
...@@ -54,7 +55,8 @@ MODULE_LICENSE("GPL v2"); ...@@ -54,7 +55,8 @@ MODULE_LICENSE("GPL v2");
* acpi_driver. * acpi_driver.
*/ */
static const struct acpi_device_id surface_button_device_ids[] = { 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}, {"", 0},
}; };
MODULE_DEVICE_TABLE(acpi, surface_button_device_ids); MODULE_DEVICE_TABLE(acpi, surface_button_device_ids);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment