• Simon Guinot's avatar
    genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd) · 659fb32d
    Simon Guinot authored
    This fixes a regression introduced by e59347a1 "arm: orion:
    Use generic irq chip".
    
    Depending on the device, interrupts acknowledgement is done by setting
    or by clearing a dedicated register. Replace irq_gc_ack() with some
    {set,clr}_bit variants allows to handle both cases.
    
    Note that this patch affects the following SoCs: Davinci, Samsung and
    Orion. Except for this last, the change is minor: irq_gc_ack() is just
    renamed into irq_gc_ack_set_bit().
    
    For the Orion SoCs, the edge GPIO interrupts support is currently
    broken. irq_gc_ack() try to acknowledge a such interrupt by setting
    the corresponding cause register bit. The Orion GPIO device expect the
    opposite. To fix this issue, the irq_gc_ack_clr_bit() variant is used.
    
    Tested on Network Space v2.
    Reported-by: default avatarJoey Oravec <joravec@drewtech.com>
    Signed-off-by: default avatarSimon Guinot <sguinot@lacie.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    659fb32d
irq-uart.c 2.47 KB