1
0
Fork 0

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>
hifive-unleashed-5.1
Weng Xuetian 2016-01-17 15:10:38 -08:00 committed by Darren Hart
parent 87bee29099
commit 6d5ac6e177
2 changed files with 8 additions and 6 deletions

View File

@ -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"

View File

@ -1,6 +1,6 @@
/* /*
* 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 @@
#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");
* 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);