Benjamin Tissoires 3dda3b3798 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>
2016-12-16 23:30:25 +02:00
..
2016-10-14 12:50:05 -07:00
2016-10-11 15:06:33 -07:00
2016-10-07 21:23:40 -07:00
2016-10-07 21:34:49 -07:00
2016-10-06 17:13:54 -07:00
2016-10-07 21:23:40 -07:00
2016-10-19 08:39:47 -07:00
2016-10-10 10:58:22 +02:00
2016-10-04 10:56:14 -07:00
2016-10-05 14:50:51 -07:00
2016-10-11 12:52:41 -07:00
2016-09-27 12:33:47 +02:00
2016-10-11 15:06:33 -07:00
2016-10-19 08:39:47 -07:00
2016-10-07 21:23:40 -07:00
2016-10-07 08:35:35 -07:00
2016-10-03 20:17:35 -07:00
2016-10-14 13:43:08 -07:00
2016-10-07 21:23:40 -07:00
2016-10-07 21:23:40 -07:00
2016-10-06 17:03:49 -07:00
2016-10-14 13:13:44 -07:00
2016-10-07 09:28:53 -07:00
2016-10-19 08:39:47 -07:00
2016-10-14 11:07:42 -07:00
2016-10-11 15:06:33 -07:00
2016-10-11 15:06:33 -07:00
2016-09-29 13:36:38 -06:00
2016-10-19 08:39:47 -07:00
2016-10-06 11:19:10 -07:00