[U-Boot-Users] [PATCH 2/2] Moved initialization of MCFFEC Ethernet driver to CPU directory

Ben Warren biggerbadderben at gmail.com
Thu Jul 3 09:07:23 CEST 2008


    Added a cpu_eth_init() function to coldfire CPU directories and
    removed code from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben at gmail.com>
---
 cpu/mcf523x/cpu.c    |   14 ++++++++++++++
 cpu/mcf52x2/cpu.c    |   15 +++++++++++++++
 cpu/mcf532x/cpu.c    |   14 ++++++++++++++
 cpu/mcf5445x/cpu.c   |   14 ++++++++++++++
 cpu/mcf547x_8x/cpu.c |   16 ++++++++++++++--
 drivers/net/mcffec.c |    2 +-
 net/eth.c            |    4 ----
 7 files changed, 72 insertions(+), 7 deletions(-)

diff --git a/cpu/mcf523x/cpu.c b/cpu/mcf523x/cpu.c
index f0d954b..8d2152d 100644
--- a/cpu/mcf523x/cpu.c
+++ b/cpu/mcf523x/cpu.c
@@ -107,3 +107,17 @@ int watchdog_init(void)
 	return (0);
 }
 #endif				/* CONFIG_WATCHDOG */
+
+#if defined(CONFIG_MCFFEC)
+/* Default initializations for MCFFEC controllers.  To override,
+ * create a board-specific function called:
+ * 	int board_eth_init(bd_t *bis)
+ */
+
+extern int mcffec_initialize(bd_t*);
+
+int cpu_eth_init(bd_t *bis)
+{
+	return mcffec_initialize(bis);
+}
+#endif
diff --git a/cpu/mcf52x2/cpu.c b/cpu/mcf52x2/cpu.c
index d5d3d33..2af31cb 100644
--- a/cpu/mcf52x2/cpu.c
+++ b/cpu/mcf52x2/cpu.c
@@ -321,3 +321,18 @@ int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
 	return 0;
 };
 #endif
+
+#if defined(CONFIG_MCFFEC)
+/* Default initializations for MCFFEC controllers.  To override,
+ * create a board-specific function called:
+ * 	int board_eth_init(bd_t *bis)
+ */
+
+extern int mcffec_initialize(bd_t*);
+
+int cpu_eth_init(bd_t *bis)
+{
+	return mcffec_initialize(bis);
+}
+#endif
+
diff --git a/cpu/mcf532x/cpu.c b/cpu/mcf532x/cpu.c
index 61541ab..20d0d5c 100644
--- a/cpu/mcf532x/cpu.c
+++ b/cpu/mcf532x/cpu.c
@@ -129,3 +129,17 @@ int watchdog_init(void)
 	return (0);
 }
 #endif				/* CONFIG_WATCHDOG */
+
+#if defined(CONFIG_MCFFEC)
+/* Default initializations for MCFFEC controllers.  To override,
+ * create a board-specific function called:
+ * 	int board_eth_init(bd_t *bis)
+ */
+
+extern int mcffec_initialize(bd_t*);
+
+int cpu_eth_init(bd_t *bis)
+{
+	return mcffec_initialize(bis);
+}
+#endif
diff --git a/cpu/mcf5445x/cpu.c b/cpu/mcf5445x/cpu.c
index e601b89..ab342dd 100644
--- a/cpu/mcf5445x/cpu.c
+++ b/cpu/mcf5445x/cpu.c
@@ -95,3 +95,17 @@ int checkcpu(void)
 
 	return 0;
 }
+
+#if defined(CONFIG_MCFFEC)
+/* Default initializations for MCFFEC controllers.  To override,
+ * create a board-specific function called:
+ * 	int board_eth_init(bd_t *bis)
+ */
+
+extern int mcffec_initialize(bd_t*);
+
+int cpu_eth_init(bd_t *bis)
+{
+	return mcffec_initialize(bis);
+}
+#endif
diff --git a/cpu/mcf547x_8x/cpu.c b/cpu/mcf547x_8x/cpu.c
index e29b45c..4a04b7f 100644
--- a/cpu/mcf547x_8x/cpu.c
+++ b/cpu/mcf547x_8x/cpu.c
@@ -142,11 +142,23 @@ int watchdog_init(void)
 }
 #endif				/* CONFIG_HW_WATCHDOG */
 
-#if defined(CONFIG_FSLDMAFEC)
+#if defined(CONFIG_FSLDMAFEC) || #if defined(CONFIG_MCFFEC)
+/* Default initializations for MCFFEC controllers.  To override,
+ * create a board-specific function called:
+ * 	int board_eth_init(bd_t *bis)
+ */
+
 extern int mcdmafec_initialize(bd_t *bis);
+extern int mcffec_initialize(bd_t*);
 
 int cpu_eth_init(bd_t *bis)
 {
-	return mcdmafec_initialize(bis);
+#if defined(CONFIG_FSLDMAFEC)
+	mcdmafec_initialize(bis);
+#endif
+#if defined(CONFIG_MCFFEC)
+	mcffec_initialize(bis);
+#endif
+	return 0;
 }
 #endif
diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index 58ed5e3..6e69b46 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -599,5 +599,5 @@ int mcffec_initialize(bd_t * bis)
 	/* default speed */
 	bis->bi_ethspeed = 10;
 
-	return 1;
+	return 0;
 }
diff --git a/net/eth.c b/net/eth.c
index 40bbed4..bc74f47 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -72,7 +72,6 @@ extern int bfin_EMAC_initialize(bd_t *);
 extern int atstk1000_eth_initialize(bd_t *);
 extern int greth_initialize(bd_t *);
 extern int atngw100_eth_initialize(bd_t *);
-extern int mcffec_initialize(bd_t*);
 extern int at91sam9_eth_initialize(bd_t *);
 
 #ifdef CONFIG_API
@@ -279,9 +278,6 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_ATNGW100)
 	atngw100_eth_initialize(bis);
 #endif
-#if defined(CONFIG_MCFFEC)
-	mcffec_initialize(bis);
-#endif
 #if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
     defined(CONFIG_AT91SAM9263)
 	at91sam9_eth_initialize(bis);
-- 
1.5.4.3





More information about the U-Boot mailing list