linux/arch/powerpc/sysdev
Grant Likely 4013369f37 powerpc/irqdomain: Fix broken NR_IRQ references
The switch from using irq_map to irq_alloc_desc*() for managing irq
number allocations introduced new bugs in some of the powerpc
interrupt code.  Several functions rely on the value of NR_IRQS to
determine the maximum irq number that could get allocated.  However,
with sparse_irq and using irq_alloc_desc*() the maximum possible irq
number is now specified with 'nr_irqs' which may be a number larger
than NR_IRQS.  This has caused breakage on powermac when
CONFIG_NR_IRQS is set to 32.

This patch removes most of the direct references to NR_IRQS in the
powerpc code and replaces them with either a nr_irqs reference or by
using the common for_each_irq_desc() macro.  The powerpc-specific
for_each_irq() macro is removed at the same time.

Also, the Cell axon_msi driver is refactored to remove the global
build assumption on the size of NR_IRQS and instead add a limit to the
maximum irq number when calling irq_domain_add_nomap().

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-04-30 10:45:26 +10:00
..
bestcomm powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
ge Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-21 18:55:10 -07:00
qe_lib powerpc/qe: Update the SNUM table for MPC8569 Rev2.0 2012-03-29 08:14:16 -05:00
xics powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
6xx-suspend.S
axonram.c fs: move code out of buffer.c 2012-01-03 22:54:07 -05:00
cpm1.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
cpm2_pic.c powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
cpm2_pic.h
cpm2.c
cpm_common.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
dart_iommu.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
dart.h
dcr-low.S
dcr.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
ehv_pic.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
fsl_85xx_cache_ctlr.h powerpc/85xx: add cache-sram support 2010-10-14 00:54:38 -05:00
fsl_85xx_cache_sram.c powerpc/85xx: Fix compiler error with THIS_MODULE and related 2012-03-16 14:50:25 -05:00
fsl_85xx_l2ctlr.c powerpc/85xx: l2sram - Add compatible entry for mpc8548 L2 controller 2012-03-16 14:50:45 -05:00
fsl_gtm.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
fsl_ifc.c powerpc/fsl: Add support for Integrated Flash Controller 2012-01-04 15:41:22 -06:00
fsl_lbc.c powerpc/85xx: Add lbc suspend support for PM 2011-11-24 02:01:40 -06:00
fsl_msi.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-21 18:55:10 -07:00
fsl_msi.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
fsl_pci.c powerpc/fsl/pci: Fix PCIe fixup regression 2012-02-16 16:15:03 +11:00
fsl_pci.h powerpc/fsl_pci: Add support for FSL PCIe controllers v2.x 2011-03-15 09:29:56 -05:00
fsl_pmc.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
fsl_rio.c powerpc/srio: Fix the relocation errors when building with 64bit 2012-03-16 10:46:30 -05:00
fsl_rio.h fsl-rio: Add two ports and rapidio message units support 2011-11-24 02:01:34 -06:00
fsl_rmu.c powerpc/srio: Fix the compile errors when building with 64bit 2012-03-16 10:46:30 -05:00
fsl_soc.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
fsl_soc.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x into fbdev-next 2011-08-29 09:14:30 +00:00
grackle.c powerpc: rename ppc_pci_*_flags to pci_*_flags 2011-07-12 09:28:04 -05:00
i8259.c irq_domain: Add support for base irq and hwirq in legacy mappings 2012-02-16 06:11:23 -07:00
indirect_pci.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ipic.c irq_domain/powerpc: Replace custom xlate functions with library functions 2012-02-16 06:11:24 -07:00
ipic.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
Kconfig powerpc: Move GE PIC drivers 2012-03-16 11:08:11 -05:00
Makefile powerpc: add support for MPIC message register API 2012-03-16 16:15:28 -05:00
micropatch.c powerpc/cpm1: Mark micropatch code/data static and __init 2010-07-11 11:04:06 -05:00
mmio_nvram.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
mpc5xxx_clocks.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
mpc8xx_pic.c powerpc/8xx: Fix NR_IRQ bugs and refactor 8xx interrupt controller 2012-04-30 10:45:25 +10:00
mpc8xx_pic.h
mpic_msgr.c powerpc/mpic_msgr: fix offset error when setting mer register 2012-04-19 14:55:56 -05:00
mpic_msi.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-21 18:55:10 -07:00
mpic_pasemi_msi.c powerpc: Convert to new irq_* function names 2011-03-29 14:48:12 +02:00
mpic_u3msi.c powerpc: Convert to new irq_* function names 2011-03-29 14:48:12 +02:00
mpic.c powerpc/mpic: Properly set default triggers 2012-04-23 11:04:30 +10:00
mpic.h powerpc: mpic irq_data conversion. 2011-03-10 11:03:56 +11:00
msi_bitmap.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
mv64x60_dev.c powerpc/mv64x60: Suspected typo in assignment 2011-03-02 16:50:05 +11:00
mv64x60_pci.c powerpc: Fix up implicit stat.h users 2011-10-31 19:30:39 -04:00
mv64x60_pic.c irq_domain: Replace irq_alloc_host() with revmap-specific initializers 2012-02-16 06:11:22 -07:00
mv64x60_udbg.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
mv64x60.h
of_rtc.c
pmi.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
ppc4xx_cpm.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
ppc4xx_gpio.c of/gpio: add default of_xlate function if device has a node pointer 2010-07-05 16:14:30 -06:00
ppc4xx_msi.c powerpc: include export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:38 -04:00
ppc4xx_pci.c powerpc/44x: Add support PCI-E for APM821xx SoC and Bluestone board 2012-03-17 08:49:34 -04:00
ppc4xx_pci.h powerpc/476fpe: Add 476fpe SoC code 2011-12-09 07:51:02 -05:00
ppc4xx_soc.c powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
rtc_cmos_setup.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
scom.c powerpc: fix system.h fallout in sysdev/scom.c [chroma_defconfig] 2012-04-18 18:11:47 -04:00
simple_gpio.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
simple_gpio.h
tsi108_dev.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
tsi108_pci.c irq_domain: Add support for base irq and hwirq in legacy mappings 2012-02-16 06:11:23 -07:00
uic.c irq_domain/powerpc: Replace custom xlate functions with library functions 2012-02-16 06:11:24 -07:00
xilinx_intc.c irq_domain: Replace irq_alloc_host() with revmap-specific initializers 2012-02-16 06:11:22 -07:00
xilinx_pci.c