summaryrefslogtreecommitdiffstats
path: root/arch/tile
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2011-05-17 15:25:21 -0400
committerChris Metcalf <cmetcalf@tilera.com>2011-05-19 22:56:05 -0400
commitf4de51de2edcd26ec77bfc71b1f00b1de5a5dc20 (patch)
tree5d565f18fbb0b0edc82af64d7d98e342a0c1c6d8 /arch/tile
parent571d76acdab95876aeff869ab6449f826c23aa43 (diff)
downloadlinux-f4de51de2edcd26ec77bfc71b1f00b1de5a5dc20.tar.gz
linux-f4de51de2edcd26ec77bfc71b1f00b1de5a5dc20.tar.bz2
linux-f4de51de2edcd26ec77bfc71b1f00b1de5a5dc20.zip
arch/tile: allocate PCI IRQs later in boot
This change became required due to some recent reworking in the platform-independent IRQ code. It is required for 2.6.38 and later. Cc: stable@kernel.org Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile')
-rw-r--r--arch/tile/kernel/pci.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c
index 65add0270bb6..6d4cb5d7a9fd 100644
--- a/arch/tile/kernel/pci.c
+++ b/arch/tile/kernel/pci.c
@@ -188,12 +188,6 @@ int __devinit tile_pci_init(void)
controller = &controllers[i];
- if (tile_init_irqs(i, controller)) {
- pr_err("PCI: Could not initialize "
- "IRQs, aborting.\n");
- goto err_cont;
- }
-
controller->index = i;
controller->hv_cfg_fd[0] = hv_cfg_fd0;
controller->hv_cfg_fd[1] = hv_cfg_fd1;
@@ -316,6 +310,11 @@ int __devinit pcibios_init(void)
struct pci_controller *controller = &controllers[i];
struct pci_bus *bus;
+ if (tile_init_irqs(i, controller)) {
+ pr_err("PCI: Could not initialize IRQs\n");
+ continue;
+ }
+
pr_info("PCI: initializing controller #%d\n", i);
/*