powerpc/4xx: PCIe driver now detects if a port is disabled via the dev-tree
authorStefan Roese <sr@denx.de>
Thu, 5 Jun 2008 14:22:29 +0000 (00:22 +1000)
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>
Wed, 11 Jun 2008 12:06:51 +0000 (08:06 -0400)
This patch add a check to the PPC4xx PCIe driver to detect if the port
is disabled via the device-tree. This is needed for the AMCC Canyonlands
board which has an option to either select 2 PCIe ports or 1 PCIe port
and one SATA port. The SATA port and the 1st PCIe port pins are multiplexed
so we can't start both drivers.

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
arch/powerpc/sysdev/ppc4xx_pci.c

index b4a54c52e8805cac1fb32af31d85d0168ff41bda..76886cf0e6dc305b17ee1a4d6e1585b6cdc9f5ad 100644 (file)
@@ -1634,6 +1634,15 @@ static void __init ppc4xx_probe_pciex_bridge(struct device_node *np)
        }
        port = &ppc4xx_pciex_ports[portno];
        port->index = portno;
+
+       /*
+        * Check if device is enabled
+        */
+       if (!of_device_is_available(np)) {
+               printk(KERN_INFO "PCIE%d: Port disabled via device-tree\n", port->index);
+               return;
+       }
+
        port->node = of_node_get(np);
        pval = of_get_property(np, "sdr-base", NULL);
        if (pval == NULL) {