aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/common/prom.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/alchemy/common/prom.c')
-rw-r--r--arch/mips/alchemy/common/prom.c28
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;
43char **prom_argv; 43char **prom_argv;
44char **prom_envp; 44char **prom_envp;
45 45
46char * __init_or_module prom_getcmdline(void)
47{
48 return &(arcs_cmdline[0]);
49}
50
51void prom_init_cmdline(void) 46void 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
71char *prom_getenv(char *envname) 57char *prom_getenv(char *envname)
@@ -121,14 +107,12 @@ static inline void str2eaddr(unsigned char *ea, unsigned char *str)
121int prom_get_ethernet_addr(char *ethernet_addr) 107int 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