]> git.baikalelectronics.ru Git - kernel.git/commit
pinctrl: cherryview: Add a quirk to make Acer Chromebook keyboard work again
authorMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 10 Apr 2017 10:16:33 +0000 (13:16 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 11 Apr 2017 08:09:39 +0000 (10:09 +0200)
commit7cb480686182a2cbc47416529948bec8e1fc2ccf
tree69609f308cc481918765fe55817797f9f5f0c1c7
parentf36cde2e3697bf0adafe55216e28b4172111b2b3
pinctrl: cherryview: Add a quirk to make Acer Chromebook keyboard work again

After commit b297e169d901 ("pinctrl: cherryview: Do not add all
southwest and north GPIOs to IRQ domain") the driver does not add all
GPIOs to the irqdomain. The reason for that is that those GPIOs cannot
generate IRQs at all, only GPEs (General Purpose Events). This causes
Linux virtual IRQ numbering to change.

However, it seems some CYAN Chromebooks, including Acer Chromebook
hardcodes these Linux IRQ numbers in the ACPI tables of the machine.
Since the numbering is different now, the IRQ meant for keyboard does
not match the Linux virtual IRQ number anymore making the keyboard
non-functional.

Work this around by adding special quirk just for these machines where
we add back all GPIOs to the irqdomain. Rest of the Cherryview/Braswell
based machines will not be affected by the change.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=194945
Fixes: b297e169d901 ("pinctrl: cherryview: Do not add all southwest and north GPIOs to IRQ domain")
Reported-by: Adam S Levy <theadamlevy@gmail.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/intel/pinctrl-cherryview.c