• Chen-Yu Tsai's avatar
    pinctrl: sunxi: use chained_irq_{enter, exit} for GIC compatibility · 905a5117
    Chen-Yu Tsai authored
    On tha Allwinner A20 SoC, the external interrupts on the pin controller
    device are connected to the GIC. Without chained_irq_{enter, exit},
    external GPIO interrupts, such as used by mmc core card detect, cause
    the system to hang.
    
    This issue was first encountered during my attempt to get out-of-band
    interrupts for WiFi on the Cubietruck working. With David's new series
    of sunci-mci using mmc slot-gpio for (GPIO interrupt based) card
    detection, removing the SD card also causes my Cubietruck to hang. This
    problem should extend to all Allwinner A20 based boards.
    
    With this fix, the system no longer hangs when I remove or insert the
    SD card. /proc/interrupts show that the interrupt has correctly fired.
    However the system still does not detect card removal/insertion. I
    believe this is another unrelated issue.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
    Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    905a5117
pinctrl-sunxi.c 22.9 KB