diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2016-11-25 17:11:41 +0100 |
---|---|---|
committer | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2016-12-16 23:30:25 +0200 |
commit | 3dda3b3798f96d2974b5f60811142d3e25547807 (patch) | |
tree | b8cbcf8ad12078d58b98229ae303664d36d4dfe4 /drivers/platform/x86/Kconfig | |
parent | afc4715901f0dce3206837a7051af05abf5a1e06 (diff) | |
download | op-kernel-dev-3dda3b3798f96d2974b5f60811142d3e25547807.zip op-kernel-dev-3dda3b3798f96d2974b5f60811142d3e25547807.tar.gz |
platform/x86: Add custom surface3 platform device for controlling LID
The LID state provided by ACPI on the Surface 3 is not accurate.
The ACPI node doesn't get notified on LID open, which means the
LID input switch stays close most of the time.
Fortunatelly, there is a WMI method which directly queries the
GPIO underneath the LID state, so it's far more reliable than ACPI.
To get the notifications that the LID was opened/closed, we can
rely on the ACPI notification of the touchscreen: the DSDT shows
that the touchscreen will get notified on close/open as it also
controls its _STA method.
Note that we need to set the tag "power-switch" to the LID
input node through a udev rule for logind to accept it:
SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="surface3-wmi", \
TAG+="power-switch"
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Diffstat (limited to 'drivers/platform/x86/Kconfig')
-rw-r--r-- | drivers/platform/x86/Kconfig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index 4639d97..0414d76d 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -363,6 +363,18 @@ config IDEAPAD_LAPTOP This is a driver for Lenovo IdeaPad netbooks contains drivers for rfkill switch, hotkey, fan control and backlight control. +config SURFACE3_WMI + tristate "Surface 3 WMI Driver" + depends on ACPI_WMI + depends on DMI + depends on INPUT + depends on SPI + ---help--- + Say Y here if you have a Surface 3. + + To compile this driver as a module, choose M here: the module will + be called surface3-wmi. + config THINKPAD_ACPI tristate "ThinkPad ACPI Laptop Extras" depends on ACPI |