[PATCH V2 00/15] genirq endian fixes; bcm7120/brcmstb IRQ updates

From: Kevin Cernekee
Date: Wed Oct 29 2014 - 22:19:50 EST


I don't know if this will make everyone 100% happy but hopefully we're
inching slightly closer to a solution...

V1->V2:

- Rework big endian support per the discussion on the list
- Get rid of the global compile-time irq_reg_{readl,writel} accessors
and make them private to generic-chip.c, so that on multiplatform
kernels, different irqchip drivers can specify different MMIO behavior
- Rebase on Linus's head of tree

Patch 06/15 still feels a bit like premature optimization to me. Perhaps
we can drop it if nobody reports a measurable performance advantage in
any known configuration?


Kevin Cernekee (15):
irqchip: Replace irq_reg_{readl,writel} with {readl,writel}
sh: Eliminate unused irq_reg_{readl,writel} accessors
genirq: Generic chip: Move irq_reg_{readl,writel} accessors into
generic-chip.c
genirq: Generic chip: Change irq_reg_{readl,writel} arguments
genirq: Generic chip: Add big endian I/O accessors
genirq: Generic chip: Optimize for fixed-endian systems
irqchip: brcmstb-l2: Eliminate dependency on ARM code
irqchip: bcm7120-l2: Eliminate bad IRQ check
irqchip: Remove ARM dependency for bcm7120-l2 and brcmstb-l2
irqchip: bcm7120-l2: Make sure all register accesses use base+offset
irqchip: bcm7120-l2: Fix missing nibble in gc->unused mask
irqchip: bcm7120-l2: Use gc->mask_cache to simplify suspend/resume
functions
irqchip: bcm7120-l2: Extend driver to support 64+ bit controllers
irqchip: Decouple bcm7120-l2 from brcmstb-l2
irqchip: bcm7120-l2: Enable big endian register accesses on BE kernels

.../interrupt-controller/brcm,bcm7120-l2-intc.txt | 26 +++-
arch/arm/mach-bcm/Kconfig | 1 +
arch/sh/boards/mach-se/7343/irq.c | 3 -
arch/sh/boards/mach-se/7722/irq.c | 3 -
drivers/irqchip/Kconfig | 8 +-
drivers/irqchip/Makefile | 4 +-
drivers/irqchip/irq-atmel-aic.c | 40 ++---
drivers/irqchip/irq-atmel-aic5.c | 63 ++++----
drivers/irqchip/irq-bcm7120-l2.c | 169 +++++++++++++--------
drivers/irqchip/irq-brcmstb-l2.c | 7 +-
drivers/irqchip/irq-sunxi-nmi.c | 4 +-
drivers/irqchip/irq-tb10x.c | 4 +-
include/linux/irq.h | 8 +-
kernel/irq/Kconfig | 5 +
kernel/irq/Makefile | 1 +
kernel/irq/generic-chip.c | 51 +++++--
16 files changed, 237 insertions(+), 160 deletions(-)

--
2.1.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/