aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/setup-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/setup-common.c')
-rw-r--r--arch/powerpc/kernel/setup-common.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 465e7435efbc..0af3fc1bdcc9 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -304,18 +304,21 @@ struct seq_operations cpuinfo_op = {
304void __init check_for_initrd(void) 304void __init check_for_initrd(void)
305{ 305{
306#ifdef CONFIG_BLK_DEV_INITRD 306#ifdef CONFIG_BLK_DEV_INITRD
307 const unsigned long *prop; 307 const unsigned int *prop;
308 int len;
308 309
309 DBG(" -> check_for_initrd()\n"); 310 DBG(" -> check_for_initrd()\n");
310 311
311 if (of_chosen) { 312 if (of_chosen) {
312 prop = get_property(of_chosen, "linux,initrd-start", NULL); 313 prop = get_property(of_chosen, "linux,initrd-start", &len);
313 if (prop != NULL) { 314 if (prop != NULL) {
314 initrd_start = (unsigned long)__va(*prop); 315 initrd_start = (unsigned long)
316 __va(of_read_ulong(prop, len / 4));
315 prop = get_property(of_chosen, 317 prop = get_property(of_chosen,
316 "linux,initrd-end", NULL); 318 "linux,initrd-end", &len);
317 if (prop != NULL) { 319 if (prop != NULL) {
318 initrd_end = (unsigned long)__va(*prop); 320 initrd_end = (unsigned long)
321 __va(of_read_ulong(prop, len / 4));
319 initrd_below_start_ok = 1; 322 initrd_below_start_ok = 1;
320 } else 323 } else
321 initrd_start = 0; 324 initrd_start = 0;