diff options
| author | Benjamin Tissoires <[email protected]> | 2016-11-25 16:11:41 +0000 |
|---|---|---|
| committer | Andy Shevchenko <[email protected]> | 2016-12-16 21:30:25 +0000 |
| commit | 3dda3b3798f96d2974b5f60811142d3e25547807 (patch) | |
| tree | b8cbcf8ad12078d58b98229ae303664d36d4dfe4 /net/lapb/lapb_out.c | |
| parent | platform/x86: mlx-platform: Add mlxcpld-hotplug driver registration (diff) | |
| download | kernel-3dda3b3798f96d2974b5f60811142d3e25547807.tar.gz kernel-3dda3b3798f96d2974b5f60811142d3e25547807.zip | |
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 <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
Diffstat (limited to 'net/lapb/lapb_out.c')
0 files changed, 0 insertions, 0 deletions
