[PATCH 03/11] [POWERPC] Add common mpc52xx_setup_pci() routine

Marian Balakowicz m8 at semihalf.com
Wed Oct 24 09:13:21 EST 2007


This patch moves a generic pci init code from lite5200
platform file to a common mpc52xx_setup_pci() routine
and adds additional compatibility property verification.

Signed-off-by: Marian Balakowicz <m8 at semihalf.com>
---

 arch/powerpc/platforms/52xx/lite5200.c    |    6 +-----
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |   15 +++++++++++++++
 include/asm-powerpc/mpc52xx.h             |    1 +
 3 files changed, 17 insertions(+), 5 deletions(-)


diff --git a/arch/powerpc/platforms/52xx/lite5200.c b/arch/powerpc/platforms/52xx/lite5200.c
index 25d2bfa..0262a9f 100644
--- a/arch/powerpc/platforms/52xx/lite5200.c
+++ b/arch/powerpc/platforms/52xx/lite5200.c
@@ -155,11 +155,7 @@ static void __init lite5200_setup_arch(void)
 #endif
 
 #ifdef CONFIG_PCI
-	np = of_find_node_by_type(NULL, "pci");
-	if (np) {
-		mpc52xx_add_bridge(np);
-		of_node_put(np);
-	}
+	mpc52xx_setup_pci();
 #endif
 }
 
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pci.c b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
index 4c6c82a..89304f2 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
@@ -406,3 +406,18 @@ mpc52xx_add_bridge(struct device_node *node)
 
 	return 0;
 }
+
+void __init mpc52xx_setup_pci(void)
+{
+	struct device_node *pci;
+
+	pci = of_find_node_by_type(NULL, "pci");
+	if (!pci)
+		return;
+
+	if (of_device_is_compatible(pci, "fsl,mpc5200-pci") ||
+		of_device_is_compatible(pci, "mpc5200-pci"))
+		mpc52xx_add_bridge(pci);
+
+	of_node_put(pci);
+}
diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h
index 39f619f..859ffb0 100644
--- a/include/asm-powerpc/mpc52xx.h
+++ b/include/asm-powerpc/mpc52xx.h
@@ -251,6 +251,7 @@ extern void mpc52xx_init_irq(void);
 extern unsigned int mpc52xx_get_irq(void);
 
 extern int __init mpc52xx_add_bridge(struct device_node *node);
+extern void __init mpc52xx_setup_pci(void);
 
 extern void __init mpc52xx_map_wdt(void);
 extern void mpc52xx_restart(char *cmd);




More information about the Linuxppc-dev mailing list