OpenCloudOS-Kernel/drivers/pinctrl/sunxi
Hans de Goede 5e7515ba78 pinctrl: sunxi: Fix A33 external interrupts not working
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>
2016-03-30 10:57:52 +02:00
..
Kconfig drivers: pinctrl: add driver for Allwinner A64 SoC 2016-03-11 22:46:27 +07:00
Makefile drivers: pinctrl: add driver for Allwinner A64 SoC 2016-03-11 22:46:27 +07:00
pinctrl-sun4i-a10.c pinctrl: sun4i: add spdif to pin description. 2015-08-13 16:03:21 +02:00
pinctrl-sun5i-a10s.c pinctrl: sun5i: Fix a10s pwm1 pinctrl mapping 2015-10-02 04:06:01 -07:00
pinctrl-sun5i-a13.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-sun6i-a31-r.c pinctrl: sunxi: Add irq pinmuxing to sun6i "r" pincontroller 2015-10-23 10:13:30 +02:00
pinctrl-sun6i-a31.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-sun6i-a31s.c pinctrl: Remove .owner field 2015-06-04 10:12:42 +02:00
pinctrl-sun7i-a20.c pinctrl: sunxi: Change mux setting on PI irq pins 2016-03-08 16:02:27 +07:00
pinctrl-sun8i-a23-r.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-sun8i-a23.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-sun8i-a33.c pinctrl: sunxi: Fix A33 external interrupts not working 2016-03-30 10:57:52 +02:00
pinctrl-sun8i-a83t.c pinctrl: sunxi: add allwinner A83T PIO controller support 2015-10-02 04:09:44 -07:00
pinctrl-sun8i-h3-r.c pinctrl: sunxi: Add H3 R_PIO controller support 2016-02-11 14:29:24 +01:00
pinctrl-sun8i-h3.c pinctrl: sunxi: H3 requires irq_read_needs_mux 2016-02-11 14:29:13 +01:00
pinctrl-sun9i-a80-r.c pinctrl: sunxi: make A80 explicitly non-modular 2016-03-09 10:27:25 +07:00
pinctrl-sun9i-a80.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-sun50i-a64.c drivers: pinctrl: add driver for Allwinner A64 SoC 2016-03-11 22:46:27 +07:00
pinctrl-sunxi.c pinctrl: sunxi: Fix A33 external interrupts not working 2016-03-30 10:57:52 +02:00
pinctrl-sunxi.h pinctrl: sunxi: Fix A33 external interrupts not working 2016-03-30 10:57:52 +02:00