5e7515ba78
pinctrl-sun8i-a33.c (and the dts) declare only 2 interrupt banks, where as the closely related a23 has 3 banks. This matches with the datasheet for the A33 where only interrupt banks B and G are specified where as the A23 has banks A, B and G. However the A33 being the A23 derative it is means that the interrupt configure/status io-addresses for the 2 banks it has are not changed from the A23, iow they have the same address as if bank A was still present. Where as the sunxi pinctrl currently tries to use the A23 bank A addresses for bank B, since the pinctrl code does not know about the removed bank A. Add a irq_bank_base parameter and use this where appropriate to take the missing bank A into account. This fixes external interrupts not working on the A33 (tested with an i2c touchscreen controller which uses an external interrupt). Cc: stable@vger.kernel.org Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
pinctrl-sun4i-a10.c | ||
pinctrl-sun5i-a10s.c | ||
pinctrl-sun5i-a13.c | ||
pinctrl-sun6i-a31-r.c | ||
pinctrl-sun6i-a31.c | ||
pinctrl-sun6i-a31s.c | ||
pinctrl-sun7i-a20.c | ||
pinctrl-sun8i-a23-r.c | ||
pinctrl-sun8i-a23.c | ||
pinctrl-sun8i-a33.c | ||
pinctrl-sun8i-a83t.c | ||
pinctrl-sun8i-h3-r.c | ||
pinctrl-sun8i-h3.c | ||
pinctrl-sun9i-a80-r.c | ||
pinctrl-sun9i-a80.c | ||
pinctrl-sun50i-a64.c | ||
pinctrl-sunxi.c | ||
pinctrl-sunxi.h |