aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/txx9/generic/setup.c34
1 files changed, 8 insertions, 26 deletions
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index 66ff74f80c6b..517828e1ec92 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -99,19 +99,6 @@ extern struct txx9_board_vec rbtx4927_vec;
99extern struct txx9_board_vec rbtx4937_vec; 99extern struct txx9_board_vec rbtx4937_vec;
100extern struct txx9_board_vec rbtx4938_vec; 100extern struct txx9_board_vec rbtx4938_vec;
101 101
102/* board definitions */
103static struct txx9_board_vec *board_vecs[] __initdata = {
104#ifdef CONFIG_TOSHIBA_JMR3927
105 &jmr3927_vec,
106#endif
107#ifdef CONFIG_TOSHIBA_RBTX4927
108 &rbtx4927_vec,
109 &rbtx4937_vec,
110#endif
111#ifdef CONFIG_TOSHIBA_RBTX4938
112 &rbtx4938_vec,
113#endif
114};
115struct txx9_board_vec *txx9_board_vec __initdata; 102struct txx9_board_vec *txx9_board_vec __initdata;
116static char txx9_system_type[32]; 103static char txx9_system_type[32];
117 104
@@ -134,31 +121,26 @@ void __init prom_init_cmdline(void)
134 121
135void __init prom_init(void) 122void __init prom_init(void)
136{ 123{
137 int i;
138
139#ifdef CONFIG_CPU_TX39XX 124#ifdef CONFIG_CPU_TX39XX
140 mips_machtype = MACH_TOSHIBA_JMR3927; 125 txx9_board_vec = &jmr3927_vec;
141#endif 126#endif
142#ifdef CONFIG_CPU_TX49XX 127#ifdef CONFIG_CPU_TX49XX
143 switch (TX4938_REV_PCODE()) { 128 switch (TX4938_REV_PCODE()) {
144 case 0x4927: 129 case 0x4927:
145 mips_machtype = MACH_TOSHIBA_RBTX4927; 130 txx9_board_vec = &rbtx4927_vec;
146 break; 131 break;
147 case 0x4937: 132 case 0x4937:
148 mips_machtype = MACH_TOSHIBA_RBTX4937; 133 txx9_board_vec = &rbtx4937_vec;
149 break; 134 break;
150 case 0x4938: 135 case 0x4938:
151 mips_machtype = MACH_TOSHIBA_RBTX4938; 136 txx9_board_vec = &rbtx4938_vec;
152 break; 137 break;
153 } 138 }
154#endif 139#endif
155 for (i = 0; i < ARRAY_SIZE(board_vecs); i++) { 140
156 if (board_vecs[i]->type == mips_machtype) { 141 strcpy(txx9_system_type, txx9_board_vec->system);
157 txx9_board_vec = board_vecs[i]; 142
158 strcpy(txx9_system_type, txx9_board_vec->system); 143 return txx9_board_vec->prom_init();
159 return txx9_board_vec->prom_init();
160 }
161 }
162} 144}
163 145
164void __init prom_free_prom_memory(void) 146void __init prom_free_prom_memory(void)