aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/main.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/init/main.c b/init/main.c
index 8651a720a092..913e48d658ee 100644
--- a/init/main.c
+++ b/init/main.c
@@ -162,16 +162,19 @@ extern struct obs_kernel_param __setup_start[], __setup_end[];
162static int __init obsolete_checksetup(char *line) 162static int __init obsolete_checksetup(char *line)
163{ 163{
164 struct obs_kernel_param *p; 164 struct obs_kernel_param *p;
165 int had_early_param = 0;
165 166
166 p = __setup_start; 167 p = __setup_start;
167 do { 168 do {
168 int n = strlen(p->str); 169 int n = strlen(p->str);
169 if (!strncmp(line, p->str, n)) { 170 if (!strncmp(line, p->str, n)) {
170 if (p->early) { 171 if (p->early) {
171 /* Already done in parse_early_param? (Needs 172 /* Already done in parse_early_param?
172 * exact match on param part) */ 173 * (Needs exact match on param part).
174 * Keep iterating, as we can have early
175 * params and __setups of same names 8( */
173 if (line[n] == '\0' || line[n] == '=') 176 if (line[n] == '\0' || line[n] == '=')
174 return 1; 177 had_early_param = 1;
175 } else if (!p->setup_func) { 178 } else if (!p->setup_func) {
176 printk(KERN_WARNING "Parameter %s is obsolete," 179 printk(KERN_WARNING "Parameter %s is obsolete,"
177 " ignored\n", p->str); 180 " ignored\n", p->str);
@@ -181,7 +184,8 @@ static int __init obsolete_checksetup(char *line)
181 } 184 }
182 p++; 185 p++;
183 } while (p < __setup_end); 186 } while (p < __setup_end);
184 return 0; 187
188 return had_early_param;
185} 189}
186 190
187/* 191/*
@@ -464,6 +468,7 @@ asmlinkage void __init start_kernel(void)
464 * Need to run as early as possible, to initialize the 468 * Need to run as early as possible, to initialize the
465 * lockdep hash: 469 * lockdep hash:
466 */ 470 */
471 unwind_init();
467 lockdep_init(); 472 lockdep_init();
468 473
469 local_irq_disable(); 474 local_irq_disable();
@@ -502,7 +507,6 @@ asmlinkage void __init start_kernel(void)
502 __stop___param - __start___param, 507 __stop___param - __start___param,
503 &unknown_bootoption); 508 &unknown_bootoption);
504 sort_main_extable(); 509 sort_main_extable();
505 unwind_init();
506 trap_init(); 510 trap_init();
507 rcu_init(); 511 rcu_init();
508 init_IRQ(); 512 init_IRQ();