• Doug Berger's avatar
    irqchip/brcmstb-l2: Remove some processing from the handler · 49aa6ef0
    Doug Berger authored
    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: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDoug Berger <opendmb@gmail.com>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    49aa6ef0
irq-brcmstb-l2.c 6.37 KB