Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bbdf1c1e authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Russell King
Browse files

[ARM] 5037/1: Orion: fix DNS323/Kurobox Pro PCI initialisation



Whereas most Orion 5x machine support code would initialise the PCI
subsystem with nr_controllers in their struct hw_pci set to 2, the
DNS323 and Kurobox Pro machine support code had nr_controllers set
to 1.

This was presumably done because on those two machines, the PCI(-X)
controller (nr == 1) isn't used, requiring initialisation of only
the PCIe controller (nr == 0.)  However, not initialising the PCI(-X)
controller on boards that don't use it leads to a situation where
both the PCIe and the PCI(-X) controller think that their root bus is
zero, and it messes up IRQ assignment.

This patch changes the DNS323 and Kurobox Pro support code to always
use nr_controllers == 2.

Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent b3a8b751
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -58,7 +58,7 @@ static int __init dns323_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
}
}


static struct hw_pci dns323_pci __initdata = {
static struct hw_pci dns323_pci __initdata = {
	.nr_controllers = 1,
	.nr_controllers = 2,
	.swizzle	= pci_std_swizzle,
	.swizzle	= pci_std_swizzle,
	.setup		= orion5x_pci_sys_setup,
	.setup		= orion5x_pci_sys_setup,
	.scan		= orion5x_pci_sys_scan_bus,
	.scan		= orion5x_pci_sys_scan_bus,
+1 −1
Original line number Original line Diff line number Diff line
@@ -138,7 +138,7 @@ static int __init kurobox_pro_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
}
}


static struct hw_pci kurobox_pro_pci __initdata = {
static struct hw_pci kurobox_pro_pci __initdata = {
	.nr_controllers	= 1,
	.nr_controllers	= 2,
	.swizzle	= pci_std_swizzle,
	.swizzle	= pci_std_swizzle,
	.setup		= orion5x_pci_sys_setup,
	.setup		= orion5x_pci_sys_setup,
	.scan		= orion5x_pci_sys_scan_bus,
	.scan		= orion5x_pci_sys_scan_bus,