Re: [PATCH v4 0/3] Add support for BCM7271 style interrupt controller

From: Florian Fainelli
Date: Tue Sep 19 2017 - 14:05:46 EST

On 09/18/2017 05:59 PM, Doug Berger wrote:
> This patch set extends the functionality of the irq-brcmstb-l2 interrupt
> controller driver to cover a hardware variant first introduced in the
> BCM7271 SoC. The main difference between this variant and the block
> found in earlier brcmstb SoCs is that this variant only supports level
> sensitive interrupts and therefore does not latch the interrupt state
> based on edges. Since there is no longer a need to ack interrupts with
> a register write to clear the latch the register map has been changed.
> Therefore the change to add support for the new hardware block is to
> abstract the register accesses to accommodate different maps and to
> identify the block with a new device-tree compatible string.
> I also took the opportunity to make some small efficiency enhancements
> to the driver. One of these was to make use of the slightly more
> efficient irq_mask_ack method. However, I discovered that the defined
> irq_gc_mask_disable_reg_and_ack() generic irq function was insufficient
> for my needs. Previous submissions offered candidate solutions to
> address my needs within the generic irqchip library, but since those
> submissions appear to have stalled I am submitting this version that
> includes the function in the driver to prevent controversy and allow
> the new functionality to be included.

For this entire series:

Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>

Thanks Doug.

> Changes in v4:
> - The first three commits were removed from the patch set to remove any
> dependencies on changing the generic irqchip or irqchip-tango imple-
> mentations. If there is a will to make those changes in the future
> they can be applied at that time, but they needn't hold up the accept-
> ance of this patch set.
> Changes in v3:
> - I did not submit a v3 patch set, but Marc Gonzalez included a PATCH v3
> in a response to the v2 patch so I am skipping ahead to v4 to avoid
> confusion.
> Changes in v2:
> - removed unused permutations of irq_mask_ack methods
> - added Reviewed-by and Acked-by responses from first submission
> Doug Berger (3):
> irqchip: brcmstb-l2: Remove some processing from the handler
> irqchip: brcmstb-l2: Abstract register accesses
> irqchip: brcmstb-l2: Add support for the BCM7271 L2 controller
> .../bindings/interrupt-controller/brcm,l2-intc.txt | 3 +-
> drivers/irqchip/irq-brcmstb-l2.c | 171 +++++++++++++++------
> 2 files changed, 126 insertions(+), 48 deletions(-)