diff options
Diffstat (limited to 'arch/mips/alchemy/common/prom.c')
-rw-r--r-- | arch/mips/alchemy/common/prom.c | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/arch/mips/alchemy/common/prom.c b/arch/mips/alchemy/common/prom.c index 18b310b475c..c29511b11d4 100644 --- a/arch/mips/alchemy/common/prom.c +++ b/arch/mips/alchemy/common/prom.c | |||
@@ -43,29 +43,15 @@ int prom_argc; | |||
43 | char **prom_argv; | 43 | char **prom_argv; |
44 | char **prom_envp; | 44 | char **prom_envp; |
45 | 45 | ||
46 | char * __init_or_module prom_getcmdline(void) | ||
47 | { | ||
48 | return &(arcs_cmdline[0]); | ||
49 | } | ||
50 | |||
51 | void prom_init_cmdline(void) | 46 | void prom_init_cmdline(void) |
52 | { | 47 | { |
53 | char *cp; | 48 | int i; |
54 | int actr; | ||
55 | |||
56 | actr = 1; /* Always ignore argv[0] */ | ||
57 | 49 | ||
58 | cp = &(arcs_cmdline[0]); | 50 | for (i = 1; i < prom_argc; i++) { |
59 | while (actr < prom_argc) { | 51 | strlcat(arcs_cmdline, prom_argv[i], COMMAND_LINE_SIZE); |
60 | strcpy(cp, prom_argv[actr]); | 52 | if (i < (prom_argc - 1)) |
61 | cp += strlen(prom_argv[actr]); | 53 | strlcat(arcs_cmdline, " ", COMMAND_LINE_SIZE); |
62 | *cp++ = ' '; | ||
63 | actr++; | ||
64 | } | 54 | } |
65 | if (cp != &(arcs_cmdline[0])) /* get rid of trailing space */ | ||
66 | --cp; | ||
67 | if (prom_argc > 1) | ||
68 | *cp = '\0'; | ||
69 | } | 55 | } |
70 | 56 | ||
71 | char *prom_getenv(char *envname) | 57 | char *prom_getenv(char *envname) |
@@ -121,14 +107,12 @@ static inline void str2eaddr(unsigned char *ea, unsigned char *str) | |||
121 | int prom_get_ethernet_addr(char *ethernet_addr) | 107 | int prom_get_ethernet_addr(char *ethernet_addr) |
122 | { | 108 | { |
123 | char *ethaddr_str; | 109 | char *ethaddr_str; |
124 | char *argptr; | ||
125 | 110 | ||
126 | /* Check the environment variables first */ | 111 | /* Check the environment variables first */ |
127 | ethaddr_str = prom_getenv("ethaddr"); | 112 | ethaddr_str = prom_getenv("ethaddr"); |
128 | if (!ethaddr_str) { | 113 | if (!ethaddr_str) { |
129 | /* Check command line */ | 114 | /* Check command line */ |
130 | argptr = prom_getcmdline(); | 115 | ethaddr_str = strstr(arcs_cmdline, "ethaddr="); |
131 | ethaddr_str = strstr(argptr, "ethaddr="); | ||
132 | if (!ethaddr_str) | 116 | if (!ethaddr_str) |
133 | return -1; | 117 | return -1; |
134 | 118 | ||