ACPI: thinkpad-acpi: add CMOS NVRAM polling for hot keysv2.6.23-rc6-239-gc2f8289+thinkpad-acpi-20070916
commite395bba882cb014f8d86352a1b8e64d7c117c2f9
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>
Sun, 16 Sep 2007 10:55:40 +0000 (16 07:55 -0300)
committerHenrique de Moraes Holschuh <hmh@hmh.eng.br>
Tue, 18 Sep 2007 03:45:35 +0000 (18 00:45 -0300)
tree0e314d56495e4e354cfbee9f4e50fcf1a1095cdb
parentba7cdbf8c8363a17f3317f3216a27994171f9d6f
ACPI: thinkpad-acpi: add CMOS NVRAM polling for hot keys

Older ThinkPad models do not export some of the hot keys over the
event-based ACPI hot key interface.  For these models, one has to poll the
CMOS NVRAM to check the key state at a rate faster than the expected rate
at which the user might repeatedly press the same hot key.

This patch implements this functionality for many of the hotkeys in a
transparent way: hot keys will now Just Work, and the driver knows the best
approach (events or NVRAM polling) to employ, based on the HKEY.MHKA ACPI
method.

Also, the driver can turn off the polling when there are no users for the
hot keys that need such polling.

The NVRAM-based hot keys of the A3x series that have never been implemented
by later models are not supported, to avoid changes in the keymap of the
input devices that could cause headaches in the future.

This patch is based on a previous effort by Richard Hughes.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Richard Hughes <hughsient@gmail.com>
Documentation/thinkpad-acpi.txt
drivers/misc/thinkpad_acpi.c
drivers/misc/thinkpad_acpi.h