]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip/brcmstb-l2: Remove some processing from the handler
authorDoug Berger <opendmb@gmail.com>
Tue, 19 Sep 2017 00:59:58 +0000 (17:59 -0700)
committerMarc Zyngier <marc.zyngier@arm.com>
Thu, 19 Oct 2017 09:56:24 +0000 (10:56 +0100)
commitc173c5067c9d1d3e17b1bdad57894ef25e42b953
tree72abfc9052fe7b92628ed8c48c7a005fc3732827
parentf56ce172be39f017def338968ec57fa3fb9ff7fc
irqchip/brcmstb-l2: Remove some processing from the handler

Saving the generic chip pointer in the brcmstb_l2_intc_data prevents
the need to call irq_get_domain_generic_chip().  Also don't need to
save parent_irq and base there since local variables in the
brcmstb_l2_intc_of_init() function are just as good.

The handle_edge_irq flow or chained_irq_enter takes care of the
acknowledgment of the interrupt so it is redundant to clear it in
brcmstb_l2_intc_irq_handle().

irq_linear_revmap() is a fast path equivalent of irq_find_mapping()
that is appropriate to use for domain controllers of this type.

Defining irq_mask_ack is slightly more efficient than just
implementing irq_mask and irq_ack separately.

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Doug Berger <opendmb@gmail.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-brcmstb-l2.c