[U-Boot-Users] [PATCH] Add mechanisms for CPU and board-specific Ethernet initialization
Stefan Roese
sr at denx.de
Tue Jun 10 11:12:00 CEST 2008
Hi Ben,
On Tuesday 10 June 2008, Ben Warren wrote:
> This patch is the first step in cleaning up net/eth.c, by moving Ethernet
> initialization to CPU or board-specific code. Initial implementation is
> only on the Freescale TSEC controller, but others will be added soon.
Great, thanks.
<snip>
> diff --git a/net/eth.c b/net/eth.c
> index c4f24c6..e75dc43 100644
> --- a/net/eth.c
> +++ b/net/eth.c
> @@ -28,6 +28,12 @@
>
> #if defined(CONFIG_CMD_NET) && defined(CONFIG_NET_MULTI)
>
> +/* CPU and board-specific Ethernet initializations. Aliased function
> + * signals caller to move on */
> +static int __def_eth_init(bd_t *bis) {return -1;}
> +int cpu_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
> +int board_eth_init(bd_t *bis) __attribute((weak,
> alias("__def_eth_init"))); +
> #ifdef CFG_GT_6426x
> extern int gt6426x_eth_initialize(bd_t *bis);
> #endif
> @@ -165,6 +171,10 @@ int eth_initialize(bd_t *bis)
> #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
> miiphy_init();
> #endif
> + /* Try CPU-specific initialization first. If it fails or isn't
> + * present, call the board-specific initialization */
> + if (cpu_eth_init(bis) < 0 )
Nitpicking: No space before ")" please.
> + board_eth_init(bis);
Shouldn't this be the other way around?
+ if (board_eth_init(bis) < 0)
+ eth_eth_init(bis);
So that the board init routine can "overwrite" the cpu init version.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
More information about the U-Boot
mailing list