genirq: Implement irq_set_handler_locked()/irq_set_chip_handler_name_locked()
authorThomas Gleixner <tglx@linutronix.de>
Tue, 23 Jun 2015 13:01:30 +0000 (15:01 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 26 Jun 2015 19:32:30 +0000 (21:32 +0200)
commitbbc9d21fc0071c245c19077155ea371092ff0db8
tree24bee30d2d536090dc8177a3e9166ef7d999d6ba
parent304adf8a8fff972f633bf52b3d160682d3f3d5d2
genirq: Implement irq_set_handler_locked()/irq_set_chip_handler_name_locked()

The main use case for the exisiting __irq_set_*_locked() inlines is to
replace the handler [,chip and name] of an interrupt from a region
which has the irq descriptor lock held, e.g. from the irq_set_type()
callback. The first argument is the irq number, so the functions need
so perform a pointless lookup of the interrupt descriptor for those
cases which have the irq_data pointer handy.

Provide new functions which take an irq_data pointer instead of the
interrupt number, so the lookup of the interrupt descriptor can be
avoided.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jiang Liu <jiang.liu@linux.intel.com>
Conflicts:
include/linux/irqdesc.h
include/linux/irqdesc.h