Hey everyone, Here's the second RFC for the irq_domain patches. I could use some help testing now. I still expect there will be a few bugs. The series is based on v3.3-rc1, and I've pushed it out to my git server:
git://git.secretlab.ca/git/linux-2.6.git irqdomain/next On Wed, Jan 11, 2012 at 1:22 PM, Grant Likely <grant.lik...@secretlab.ca> wrote: > Here are the patches that I've been working on to finish up the creation > of the generic irq_domain infrastructure. > > I'm taking a different approach that I originally intended. > Originally I intended to start with the basic design of irq_host from > powerpc, but there were some things about the implementation that I > didn't like, so I was going to reimplement those bits and then migrate > powerpc over to use it. That was a mistake and would have resulted in > a lot more work. Instead, I should have started with the powerpc > irq_host code, moved it to a common location, and then reworked it in > place. The powerpc code is working and well tested. It is a lot less > risky to use it as the starting point with a nicely bisectable series > of changes to make it do what other architectures need. [RFCv2 01/14] irq_domain: add documentation and MAINTAINERS entry. [RFCv2 02/14] dt: Make irqdomain less verbose [RFCv2 03/14] irq_domain: Make irq_domain structure match powerpc's [RFCv2 04/14] irq_domain: convert microblaze from irq_host to [RFCv2 05/14] irq_domain/powerpc: Use common irq_domain structure [RFCv2 06/14] irq_domain/powerpc: eliminate irq_map; use [RFCv2 07/14] irq_domain/powerpc: Eliminate virq_is_host() [RFCv2 08/14] irq_domain: Move irq_domain code from powerpc to [RFCv2 09/14] irqdomain: remove NO_IRQ from irq domain code [RFCv2 10/14] irq_domain: Remove references to old irq_host names [RFCv2 11/14] irq_domain: Replace irq_alloc_host() with [RFCv2 12/14] irq_domain: Add support for base irq and hwirq in [RFCv2 13/14] irq_domain: Remove 'new' irq_domain in favour of the [RFCv2 14/14] irq_domain: Remove irq_domain_add_simple() Documentation/IRQ-domain.txt | 113 ++++ MAINTAINERS | 9 + arch/arm/common/gic.c | 97 ++-- arch/arm/common/vic.c | 16 +- arch/arm/include/asm/hardware/gic.h | 4 +- arch/arm/include/asm/hardware/vic.h | 2 + arch/arm/mach-exynos/common.c | 2 +- arch/arm/mach-imx/mach-imx6q.c | 3 +- arch/arm/mach-msm/board-msm8x60.c | 8 +- arch/arm/mach-mx5/imx51-dt.c | 4 +- arch/arm/mach-mx5/imx53-dt.c | 4 +- arch/arm/mach-omap2/board-generic.c | 2 +- arch/arm/mach-prima2/irq.c | 2 +- arch/arm/mach-versatile/core.c | 5 +- arch/microblaze/include/asm/irq.h | 4 +- arch/microblaze/kernel/irq.c | 2 +- arch/microblaze/kernel/setup.c | 2 - arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/ehv_pic.h | 2 +- arch/powerpc/include/asm/i8259.h | 2 +- arch/powerpc/include/asm/irq.h | 247 +------- arch/powerpc/include/asm/mpic.h | 2 +- arch/powerpc/include/asm/xics.h | 2 +- arch/powerpc/kernel/irq.c | 617 +------------------ arch/powerpc/platforms/512x/mpc5121_ads_cpld.c | 12 +- arch/powerpc/platforms/52xx/media5200.c | 15 +- arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 16 +- arch/powerpc/platforms/52xx/mpc52xx_pic.c | 12 +- arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | 14 +- arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 15 +- arch/powerpc/platforms/86xx/gef_pic.c | 15 +- arch/powerpc/platforms/cell/axon_msi.c | 29 +- arch/powerpc/platforms/cell/beat_interrupt.c | 16 +- arch/powerpc/platforms/cell/interrupt.c | 16 +- arch/powerpc/platforms/cell/spider-pic.c | 14 +- arch/powerpc/platforms/embedded6xx/flipper-pic.c | 30 +- arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 35 +- arch/powerpc/platforms/iseries/irq.c | 11 +- arch/powerpc/platforms/powermac/pic.c | 15 +- arch/powerpc/platforms/powermac/smp.c | 9 +- arch/powerpc/platforms/ps3/interrupt.c | 11 +- arch/powerpc/platforms/wsp/opb_pic.c | 15 +- arch/powerpc/sysdev/cpm1.c | 9 +- arch/powerpc/sysdev/cpm2_pic.c | 11 +- arch/powerpc/sysdev/ehv_pic.c | 14 +- arch/powerpc/sysdev/fsl_msi.c | 10 +- arch/powerpc/sysdev/fsl_msi.h | 2 +- arch/powerpc/sysdev/i8259.c | 15 +- arch/powerpc/sysdev/ipic.c | 15 +- arch/powerpc/sysdev/ipic.h | 2 +- arch/powerpc/sysdev/mpc8xx_pic.c | 11 +- arch/powerpc/sysdev/mpic.c | 17 +- arch/powerpc/sysdev/mpic_msi.c | 2 +- arch/powerpc/sysdev/mv64x60_pic.c | 11 +- arch/powerpc/sysdev/qe_lib/qe_ic.c | 13 +- arch/powerpc/sysdev/qe_lib/qe_ic.h | 2 +- arch/powerpc/sysdev/tsi108_pci.c | 13 +- arch/powerpc/sysdev/uic.c | 14 +- arch/powerpc/sysdev/xics/xics-common.c | 25 +- arch/powerpc/sysdev/xilinx_intc.c | 19 +- drivers/gpio/gpio-mpc8xxx.c | 15 +- drivers/mfd/twl-core.c | 12 +- include/linux/irqdomain.h | 180 ++++-- kernel/irq/irqdomain.c | 757 ++++++++++++++++++---- 64 files changed, 1207 insertions(+), 1414 deletions(-) _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev