pinctrl: samsung: Fix invalid register offset used for Exynos5433 external interrupts
authorKrzysztof Kozlowski <krzk@kernel.org>
Wed, 14 Jun 2017 13:18:28 +0000 (15:18 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Tue, 18 Jul 2017 17:02:44 +0000 (19:02 +0200)
commitaf0b0baa89953aed07034725023371b2fa50a1e6
tree264ef44df6762971791be8535a07c841c35f2298
parentcee7413d84044a0c1919a7c70a2d761ae24390de
pinctrl: samsung: Fix invalid register offset used for Exynos5433 external interrupts

When setting the pin function for external interrupts, the driver used
wrong IO memory address base.  The pin function register is always under
pctl_base, not the eint_base.

By updating wrong register, the external interrupts for chosen GPIO
would not work at all and some other GPIO might be configured to wrong
value.  For example on Exynos5433-based boards, the external interrupts
for gpf{1-5}-X GPIOs should not work at all (driver toggled reserved
registers from ALIVE bank instead).

Platforms other than Exynos5433 should not be affected as eint_base
equals pctl_base in such case.

Fixes: 8b1bd11c1f8f ("pinctrl: samsung: Add the support the multiple IORESOURCE_MEM for one pin-bank")
Cc: <stable@vger.kernel.org>
Reported-by: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
drivers/pinctrl/samsung/pinctrl-exynos.c