diff options
author | Simon Glass <sjg@chromium.org> | 2011-10-27 06:24:32 +0000 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2011-10-27 23:53:58 +0200 |
commit | e4a3d57dc79e8c94e3272c4a82b146df0fe3dda6 (patch) | |
tree | 1f56c6b874ec39a786bdd878fb752cf3996015a2 /net/net.c | |
parent | ed1ada712aa206bfa51caf56f27659baa05623bf (diff) |
net: Export auto_load, use it in rarp
The rarp code includes another instance of the auto_load logic, so call
what is now net_auto_load() instead.
This also fixes an incorrect call to TftpStart() which was never seen
since apparently no boards enable rarp.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'net/net.c')
-rw-r--r-- | net/net.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/net/net.c b/net/net.c index cd34bf96fd3..8f55281f406 100644 --- a/net/net.c +++ b/net/net.c @@ -309,6 +309,36 @@ void ArpTimeoutCheck(void) } } +/* + * Check if autoload is enabled. If so, use either NFS or TFTP to download + * the boot file. + */ +void net_auto_load(void) +{ + const char *s = getenv("autoload"); + + if (s != NULL) { + if (*s == 'n') { + /* + * Just use BOOTP/RARP to configure system; + * Do not use TFTP to load the bootfile. + */ + NetState = NETLOOP_SUCCESS; + return; + } +#if defined(CONFIG_CMD_NFS) + if (strcmp(s, "NFS") == 0) { + /* + * Use NFS to load the bootfile. + */ + NfsStart(); + return; + } +#endif + } + TftpStart(TFTPGET); +} + static void NetInitLoop(enum proto_t protocol) { static int env_changed_id; |