aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/common/setup.c
diff options
context:
space:
mode:
authorManuel Lauss <mano@roarinelk.homelinux.net>2008-12-21 03:26:16 -0500
committerRalf Baechle <ralf@linux-mips.org>2009-01-11 04:57:25 -0500
commit7179380ee9bdeb5fa2ff07581f512fe0f5382e5b (patch)
tree12bc5c0cfc3506434b0e51829bbbb66aaadf491a /arch/mips/alchemy/common/setup.c
parent23ba25d56606eec6fabc37c1efcbd48837dc9adc (diff)
MIPS: Alchemy: move commandline mangling out of common code
Not every alchemy-based board might want these options forced on it, and most of this stuff seems to be intended for devboard code anyway. Remove commandline mangling code out of common chip code and instead add relevant sections to all in-tree boards to not change existing behaviour. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/alchemy/common/setup.c')
-rw-r--r--arch/mips/alchemy/common/setup.c34
1 files changed, 4 insertions, 30 deletions
diff --git a/arch/mips/alchemy/common/setup.c b/arch/mips/alchemy/common/setup.c
index 1ac6b06f42a3..9889ec3ba4c4 100644
--- a/arch/mips/alchemy/common/setup.c
+++ b/arch/mips/alchemy/common/setup.c
@@ -35,7 +35,6 @@
35#include <asm/time.h> 35#include <asm/time.h>
36 36
37#include <au1000.h> 37#include <au1000.h>
38#include <prom.h>
39 38
40extern void __init board_setup(void); 39extern void __init board_setup(void);
41extern void au1000_restart(char *); 40extern void au1000_restart(char *);
@@ -46,12 +45,15 @@ extern void set_cpuspec(void);
46void __init plat_mem_setup(void) 45void __init plat_mem_setup(void)
47{ 46{
48 struct cpu_spec *sp; 47 struct cpu_spec *sp;
49 char *argptr;
50 unsigned long prid, cpufreq, bclk; 48 unsigned long prid, cpufreq, bclk;
51 49
52 set_cpuspec(); 50 set_cpuspec();
53 sp = cur_cpu_spec[0]; 51 sp = cur_cpu_spec[0];
54 52
53 _machine_restart = au1000_restart;
54 _machine_halt = au1000_halt;
55 pm_power_off = au1000_power_off;
56
55 board_setup(); /* board specific setup */ 57 board_setup(); /* board specific setup */
56 58
57 prid = read_c0_prid(); 59 prid = read_c0_prid();
@@ -79,34 +81,6 @@ void __init plat_mem_setup(void)
79 /* Clear to obtain best system bus performance */ 81 /* Clear to obtain best system bus performance */
80 clear_c0_config(1 << 19); /* Clear Config[OD] */ 82 clear_c0_config(1 << 19); /* Clear Config[OD] */
81 83
82 argptr = prom_getcmdline();
83
84#ifdef CONFIG_SERIAL_8250_CONSOLE
85 argptr = strstr(argptr, "console=");
86 if (argptr == NULL) {
87 argptr = prom_getcmdline();
88 strcat(argptr, " console=ttyS0,115200");
89 }
90#endif
91
92#ifdef CONFIG_FB_AU1100
93 argptr = strstr(argptr, "video=");
94 if (argptr == NULL) {
95 argptr = prom_getcmdline();
96 /* default panel */
97 /*strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");*/
98 }
99#endif
100
101#if defined(CONFIG_SOUND_AU1X00) && !defined(CONFIG_SOC_AU1000)
102 /* au1000 does not support vra, au1500 and au1100 do */
103 strcat(argptr, " au1000_audio=vra");
104 argptr = prom_getcmdline();
105#endif
106 _machine_restart = au1000_restart;
107 _machine_halt = au1000_halt;
108 pm_power_off = au1000_power_off;
109
110 /* IO/MEM resources. */ 84 /* IO/MEM resources. */
111 set_io_port_base(0); 85 set_io_port_base(0);
112 ioport_resource.start = IOPORT_RESOURCE_START; 86 ioport_resource.start = IOPORT_RESOURCE_START;