linux/arch/powerpc/platforms/cell
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
..
spufs Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-03-29 18:12:23 -07:00
axon_msi.c powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
beat.c powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
beat.h
beat_htab.c powerpc: Random little legacy iSeries removal tidy ups 2012-03-28 11:33:23 +11:00
beat_hvCall.S
beat_interrupt.c powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
beat_interrupt.h powerpc: Remove stubbed beat smp support 2011-05-19 15:30:59 +10:00
beat_iommu.c powerpc/cell: Beat dma ops cleanup 2010-11-29 15:48:20 +11:00
beat_spu_priv1.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
beat_syscall.h
beat_udbg.c powerpc/cell: Use correct types in beat files 2009-01-08 16:25:16 +11:00
beat_wrapper.h powerpc: cell/beat_wrapper.h is implicitly using memcpy functions 2011-10-31 19:30:40 -04:00
cbe_cpufreq.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
cbe_cpufreq.h
cbe_cpufreq_pervasive.c powerpc/cell: local_irq_save takes an unsigned long 2009-01-08 16:25:13 +11:00
cbe_cpufreq_pmi.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
cbe_powerbutton.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
cbe_regs.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
cbe_thermal.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
celleb_pci.c powerpc: Remove alloc_maybe_bootmem for zalloc version 2011-05-19 15:30:57 +10:00
celleb_pci.h powerpc/pci: Move IO workarounds to the common kernel dir 2011-04-27 14:18:29 +10:00
celleb_scc.h
celleb_scc_epci.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
celleb_scc_pciex.c powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
celleb_scc_sio.c
celleb_scc_uhc.c
celleb_setup.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
cpufreq_spudemand.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
interrupt.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
interrupt.h powerpc/cell: Rename ipi functions to match current abstractions 2011-05-26 13:38:58 +10:00
iommu.c PowerPC: adapt for dma_map_ops changes 2012-03-28 16:36:33 +02:00
Kconfig net: fix IBM EMAC driver after rename. 2011-08-18 21:33:49 -07:00
Makefile powerpc: Remove stubbed beat smp support 2011-05-19 15:30:59 +10:00
pervasive.c
pervasive.h
pmu.c powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
qpace_setup.c powerpc: Mark const init data with __initconst instead of __initdata 2012-04-02 14:00:03 +10:00
ras.c powerpc/cell: Add of_node_put to avoid memory leak 2010-09-02 14:07:33 +10:00
ras.h
setup.c powerpc: Mark const init data with __initconst instead of __initdata 2012-04-02 14:00:03 +10:00
smp.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
spider-pci.c powerpc/pci: Move IO workarounds to the common kernel dir 2011-04-27 14:18:29 +10:00
spider-pic.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
spu_base.c Merge branch 'driver-core-next' into Linux 3.2 2012-01-06 11:42:52 -08:00
spu_callbacks.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
spu_fault.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
spu_manage.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
spu_notify.c powerpc: fix implicit notifier use in converting to export.h 2011-10-31 19:30:41 -04:00
spu_priv1_mmio.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
spu_priv1_mmio.h
spu_syscalls.c switch spu_create(2) to use of SYSCALL_DEFINE4, make it use umode_t 2012-01-03 22:55:16 -05:00