diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2009-12-11 01:42:21 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2009-12-11 01:42:21 -0500 |
commit | 86e032213424958b45564d0cc96b3316641a49d3 (patch) | |
tree | 34b9f5ddd49180a558a325b9ccb47140f5cc7cbd /arch/powerpc/kernel/prom.c | |
parent | 0f0b56c3f2df4a083fc9e934266e5bab1710e286 (diff) |
of/flattree: merge early_init_dt_scan_chosen()
Merge common code between PowerPC and Microblaze. This patch
splits the arch-specific stuff out into a new function,
early_init_dt_scan_chosen_arch().
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/prom.c')
-rw-r--r-- | arch/powerpc/kernel/prom.c | 46 |
1 files changed, 10 insertions, 36 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 4e3181cded44..877fad9b3745 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -367,18 +367,9 @@ static int __init early_init_dt_scan_cpus(unsigned long node, | |||
367 | return 0; | 367 | return 0; |
368 | } | 368 | } |
369 | 369 | ||
370 | static int __init early_init_dt_scan_chosen(unsigned long node, | 370 | void __init early_init_dt_scan_chosen_arch(unsigned long node) |
371 | const char *uname, int depth, void *data) | ||
372 | { | 371 | { |
373 | unsigned long *lprop; | 372 | unsigned long *lprop; |
374 | unsigned long l; | ||
375 | char *p; | ||
376 | |||
377 | DBG("search \"chosen\", depth: %d, uname: %s\n", depth, uname); | ||
378 | |||
379 | if (depth != 1 || | ||
380 | (strcmp(uname, "chosen") != 0 && strcmp(uname, "chosen@0") != 0)) | ||
381 | return 0; | ||
382 | 373 | ||
383 | #ifdef CONFIG_PPC64 | 374 | #ifdef CONFIG_PPC64 |
384 | /* check if iommu is forced on or off */ | 375 | /* check if iommu is forced on or off */ |
@@ -389,17 +380,17 @@ static int __init early_init_dt_scan_chosen(unsigned long node, | |||
389 | #endif | 380 | #endif |
390 | 381 | ||
391 | /* mem=x on the command line is the preferred mechanism */ | 382 | /* mem=x on the command line is the preferred mechanism */ |
392 | lprop = of_get_flat_dt_prop(node, "linux,memory-limit", NULL); | 383 | lprop = of_get_flat_dt_prop(node, "linux,memory-limit", NULL); |
393 | if (lprop) | 384 | if (lprop) |
394 | memory_limit = *lprop; | 385 | memory_limit = *lprop; |
395 | 386 | ||
396 | #ifdef CONFIG_PPC64 | 387 | #ifdef CONFIG_PPC64 |
397 | lprop = of_get_flat_dt_prop(node, "linux,tce-alloc-start", NULL); | 388 | lprop = of_get_flat_dt_prop(node, "linux,tce-alloc-start", NULL); |
398 | if (lprop) | 389 | if (lprop) |
399 | tce_alloc_start = *lprop; | 390 | tce_alloc_start = *lprop; |
400 | lprop = of_get_flat_dt_prop(node, "linux,tce-alloc-end", NULL); | 391 | lprop = of_get_flat_dt_prop(node, "linux,tce-alloc-end", NULL); |
401 | if (lprop) | 392 | if (lprop) |
402 | tce_alloc_end = *lprop; | 393 | tce_alloc_end = *lprop; |
403 | #endif | 394 | #endif |
404 | 395 | ||
405 | #ifdef CONFIG_KEXEC | 396 | #ifdef CONFIG_KEXEC |
@@ -411,23 +402,6 @@ static int __init early_init_dt_scan_chosen(unsigned long node, | |||
411 | if (lprop) | 402 | if (lprop) |
412 | crashk_res.end = crashk_res.start + *lprop - 1; | 403 | crashk_res.end = crashk_res.start + *lprop - 1; |
413 | #endif | 404 | #endif |
414 | |||
415 | early_init_dt_check_for_initrd(node); | ||
416 | |||
417 | /* Retreive command line */ | ||
418 | p = of_get_flat_dt_prop(node, "bootargs", &l); | ||
419 | if (p != NULL && l > 0) | ||
420 | strlcpy(cmd_line, p, min((int)l, COMMAND_LINE_SIZE)); | ||
421 | |||
422 | #ifdef CONFIG_CMDLINE | ||
423 | if (p == NULL || l == 0 || (l == 1 && (*p) == 0)) | ||
424 | strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); | ||
425 | #endif /* CONFIG_CMDLINE */ | ||
426 | |||
427 | DBG("Command line is: %s\n", cmd_line); | ||
428 | |||
429 | /* break now */ | ||
430 | return 1; | ||
431 | } | 405 | } |
432 | 406 | ||
433 | #ifdef CONFIG_PPC_PSERIES | 407 | #ifdef CONFIG_PPC_PSERIES |