• Thomas Gleixner's avatar
    genirq: Provide advanced irq chip functions · f8822657
    Thomas Gleixner authored
    The low level irq chip functions want access to irq_desc->irq_data.
    Provide new functions which hand down irq_data instead of the irq
    number so these functions avoid to call irq_to_desc() which is a radix
    tree lookup in case of sparse irq.
    
    This provides all the old functions except one: end(). end() is a
    relict of __do_IRQ() and will just go away with the __do_IRQ() code.
    
    The replacement for set_affinity() has an extra argument "bool
    force". The reason for this is to notify the low level code, that the
    move has to be done right away and cannot be delayed until the next
    interrupt happens. That's necessary to handle the irq fixup on cpu
    unplug in the generic code.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    LKML-Reference: <20100927121841.742126604@linutronix.de>
    Reviewed-by: default avatarH. Peter Anvin <hpa@zytor.com>
    Reviewed-by: default avatarIngo Molnar <mingo@elte.hu>
    f8822657
irq.h 18 KB