]> git.ipfire.org Git - people/ms/linux.git/commit
irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ
authorEric Anholt <eric@anholt.net>
Thu, 6 Aug 2015 23:00:30 +0000 (16:00 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 20 Aug 2015 20:38:41 +0000 (22:38 +0200)
commitde58e52f207e3318cb1e1d43f951454e0c83827f
tree4313613cc6d999d3f8ae0b5cbb24cce34ff49d37
parent649953b5b89dc308747797810812747333d971cd
irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ

For BCM2836, we want to chain into this IRQ chip from the root
controller, and for chaining we need to do something else instead of
handle_IRQ() once we have decoded the IRQ.

Note that this changes the behavior a little bit: Previously for a
non-shortcut IRQ, we'd loop reading and handling the second level IRQ
status until it was cleared before returning to the loop reading the
top level IRQ status (Note that the top level bit is just an OR of the
low level bits).  For the expected case of just one interrupt to be
handled, this was an extra register read, so we're down from 4 to 3
reads.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Cc: linux-rpi-kernel@lists.infradead.org
Cc: Lee Jones <lee@kernel.org>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1438902033-31477-2-git-send-email-eric@anholt.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/irqchip/irq-bcm2835.c