Input: soc_button_array - add support for ACPI 6.0 Generic Button Device
authorHans de Goede <hdegoede@redhat.com>
Fri, 17 Mar 2017 21:03:54 +0000 (14:03 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 17 Mar 2017 21:09:23 +0000 (14:09 -0700)
commit4c3362f44980aba8e1e69cd6970effbd9f17dc69
tree23c22d79a8007913bb53da71121f095b45f41f84
parent7283b47d5d4d8e6528a08dc6c7ac6ff7cfed66d9
Input: soc_button_array - add support for ACPI 6.0 Generic Button Device

Windows 10 tablets with gpio buttons will typically use the ACPI 6.0
Generic Button Device with a HID of ACPI0011 for these buttons.

The ACPI description for these in the ACPI0011 devices _DSD object uses
something resembling HID descriptors, except that instead of indicating
a bit index into a HID input report, the index indicates the _CRS index
for the GPIO.

The use of 1 interrupt per button, some of which need to be wakeup
sources, instead of using input reports makes it impossible to use the
HID subsystem for this.

This really is just another gpio-keys input device with the platform
data described in ACPI, so this commit adds parsing for this new way
to describe gpio-keys to the soc_button_array driver.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/soc_button_array.c