diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-02-16 18:03:14 -0500 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-03-20 22:39:12 +0100 |
commit | d8d21e699d7fcfb6ab11635110266dd09b7edc62 (patch) | |
tree | ec591b9aaf82e817558bde954ba6dc616bc908fd /board/siemens/IAD210/IAD210.c | |
parent | f11e6ff5b1859d9213f0d501b3309e065f487543 (diff) |
boards: move board_get_enetaddr() into board-specific init
The environment is the canonical storage location of the mac address, so
we're killing off the global data location and moving everything to
querying the env directly.
Rather than have the common ppc code have board-specific hooks, move the
board_get_enetaddr() function into the board-specific init functions.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
CC: Ben Warren <biggerbadderben@gmail.com>
Diffstat (limited to 'board/siemens/IAD210/IAD210.c')
-rw-r--r-- | board/siemens/IAD210/IAD210.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/board/siemens/IAD210/IAD210.c b/board/siemens/IAD210/IAD210.c index e21bb245ab..67e5c8fc07 100644 --- a/board/siemens/IAD210/IAD210.c +++ b/board/siemens/IAD210/IAD210.c @@ -258,7 +258,7 @@ int board_early_init_f (void) return 0; } -void board_get_enetaddr (uchar * addr) +static void board_get_enetaddr(uchar *addr) { int i; volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR; @@ -284,3 +284,15 @@ void board_get_enetaddr (uchar * addr) cpm->cp_rccr = rccrtmp; } + +int misc_init_r(void) +{ + uchar enetaddr[6]; + + if (!eth_getenv_enetaddr("ethaddr", enetaddr)) { + board_get_enetaddr(enetaddr); + eth_putenv_enetaddr("ethaddr", enetaddr); + } + + return 0; +} |