ARM: Kirkwood: Support basic hotplug for PCI-E
authorJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Wed, 21 Nov 2012 18:25:28 +0000 (11:25 -0700)
committerJason Cooper <jason@lakedaemon.net>
Wed, 30 Jan 2013 20:13:38 +0000 (20:13 +0000)
Unconditionally register the PCI-E bus, even if the link is currently
down. When the link is brought up the bus can be scanned through
/sys/bus/pci/rescan or otherwise. Since the HW has no interrupt for
link up, userspace will have to take care of the timing.

An earlier version of this was contingent on CONFIG_HOTPLUG, but
that is being removed from the kernel.

This also fixes printing the link up/down message to be displayed
on one line (structured logging broke this?)

Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/mach-kirkwood/pcie.c

index a1c3ab6..d96ad4c 100644 (file)
@@ -247,13 +247,9 @@ static struct hw_pci kirkwood_pci __initdata = {
 
 static void __init add_pcie_port(int index, void __iomem *base)
 {
-       pr_info("Kirkwood PCIe port %d: ", index);
-
-       if (orion_pcie_link_up(base)) {
-               pr_info("link up\n");
-               pcie_port_map[num_pcie_ports++] = index;
-       } else
-               pr_info("link down, ignoring\n");
+       pcie_port_map[num_pcie_ports++] = index;
+       pr_info("Kirkwood PCIe port %d: link %s\n", index,
+               orion_pcie_link_up(base) ? "up" : "down");
 }
 
 void __init kirkwood_pcie_init(unsigned int portmask)