[RFC 00/10] Refactor irqdomain

Grant Likely grant.likely at linaro.org
Mon Jun 10 10:49:12 EST 2013


I've done a bunch of refactoring work on the irq_domain infrastructure.
Some of these patches I've posted before, and some our brand new. The
goal of this is to greatly simplify how irq_domains work. With this
series, instead of there being multiple different types of irq domains,
each with different mapping rules, instead there is now only one time of
irq_domain that contains both kinds of map; the linear map for irqs
below a certain value, and the radix tree for large & sparse irq
controllers. As you can see from the following diffstat, the result is a
fair bit less code. It should make it easier to understand irqdomains
too.

 arch/powerpc/platforms/cell/beat_interrupt.c |   2 +-
 arch/powerpc/platforms/powermac/smp.c        |   2 +-
 drivers/irqchip/Kconfig                      |   1 +
 drivers/irqchip/irq-versatile-fpga.c         | 104 ++++------
 include/linux/irqdomain.h                    | 123 ++++++-----
 kernel/irq/generic-chip.c                    |   6 +-
 kernel/irq/irqdomain.c                       | 555
 ++++++++++++++++----------------------------------
 7 files changed, 282 insertions(+), 511 deletions(-)

I've pushed this series out to my git server at the following branch:

git://git.secretlab.ca/git/linux irqdomain/next

It depends on the tip tree's irq/for-arm branch and also Linus' mainline
(they need to be merged). The branch above includes both.

I've tested this on ARM qemu models, but not much else. I'll test on
real hardware before pushing out, but I would appreciate anybody doing
additional testing, particularly on PowerPC and other non-ARM platforms.

Cheers,
g.



More information about the Linuxppc-dev mailing list