Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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: 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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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"
+6 −4
Original line number Diff line number Diff line
/*
 * 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);