]> git.baikalelectronics.ru Git - kernel.git/commit
gpio: max77620: Initialize hardware state of interrupts
authorDmitry Osipenko <digetx@gmail.com>
Thu, 9 Jul 2020 17:12:03 +0000 (20:12 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 16 Jul 2020 08:50:40 +0000 (10:50 +0200)
commit0588661577fcc6c5f45410117e36f280c2b9dfa1
tree99513e17a424bfa0f6cb2f0214d2316c4e984159
parent7401f31f1b4e85051ff00cb3243e7c1a7d006100
gpio: max77620: Initialize hardware state of interrupts

I noticed on Nexus 7 that after rebooting from downstream kernel to
upstream, the GPIO interrupt is triggering non-stop despite interrupts
being disabled for all of GPIOs. This happens because Nexus 7 uses a
soft-reboot, meaning that bootloader should take care of resetting
hardware, but the bootloader doesn't do it well. As a result, GPIO
interrupt may be left ON at a boot time. Let's mask all GPIO interrupts
at the driver's initialization time in order to resolve the issue.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Link: https://lore.kernel.org/r/20200709171203.12950-7-digetx@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-max77620.c