Hi Dmitry, This patch is a bit of a kludge, but the problem it fixes has been encountered on 2 different models now, so it seems that we really need a workaround for this. This patch applies on top of these 2 patches: "Input: soc_button_array - Add active_low setting to soc_button_info" "Input: soc_button_array - Add support for INT33D3 tablet-mode switch devices" Which I have posted multiple times upstream already (they are from May!), but these have not been getting any attention. The soc_button_array code really is x86 specific glue code to translate various incarnations of gpio-keys in ACPI tables to gpio_keys_platform_data. As such I wonder if it would not be better to move this driver to drivers/platform/x86? I seem to be doing most if not all of the recent work on soc_button_array, and soon I will be a co-maintainer of drivers/platform/x86. So having it there and adding me in MAINTAINERS as maintaining it seems to be best? If you want I can do a patch moving soc_button_array to drivers/platform/x86 and then add the other 3 patches on top and then we can merge all of this through drivers/platform/x86? Regards, Hans