• David Brownell's avatar
    mfd: twl4030-core irq simplification · 9297a0e7
    David Brownell authored
    Simplify twl4030 IRQ handling by removing a needless custom flow
    handler.  The top level IRQs, from the PIH, are well suited for
    handle_simple_irq() ... they can't be acked or masked.
    
    Switching resolves some issues with how IRQs were dispatched.
    Notably, abuse of desc->status, IRQ accounting, and handling
    of various faults.
    
    In short, use standard genirq code.
    
    Drivers that request_irq() to the PIH will need to pay more
    attention to things like setting IRQF_DISABLED (since it's
    no longer ignored), and making I2C calls from handlers (you'll
    need a lockdep workaround).
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarSamuel Ortiz <sameo@openedhand.com>
    9297a0e7
twl4030-core.c 30 KB