• Henrique de Moraes Holschuh's avatar
    ACPI: thinkpad-acpi: add CMOS NVRAM polling for hot keys (v9) · 01e88f25
    Henrique de Moraes Holschuh authored
    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.
    
    There is a Kconfig option to avoid compiling the NVRAM polling code, as
    it is not very small, and unlikely to be useful on any ThinkPad newer
    than a T40, X31 or R52.
    
    This feature is based on a previous effort by Richard Hughes.
    Signed-off-by: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
    Cc: Richard Hughes <hughsient@gmail.com>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    01e88f25
thinkpad_acpi.c 136 KB