aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/initramfs.c8
-rw-r--r--init/main.c7
2 files changed, 14 insertions, 1 deletions
diff --git a/init/initramfs.c b/init/initramfs.c
index d53fee8d8604..c0b1e0533d80 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -538,7 +538,7 @@ skip:
538 initrd_end = 0; 538 initrd_end = 0;
539} 539}
540 540
541static int __init populate_rootfs(void) 541int __init populate_rootfs(void)
542{ 542{
543 char *err = unpack_to_rootfs(__initramfs_start, 543 char *err = unpack_to_rootfs(__initramfs_start,
544 __initramfs_end - __initramfs_start, 0); 544 __initramfs_end - __initramfs_start, 0);
@@ -577,4 +577,10 @@ static int __init populate_rootfs(void)
577 } 577 }
578 return 0; 578 return 0;
579} 579}
580#ifndef CONFIG_ACPI_CUSTOM_DSDT_INITRD
581/*
582 * if this option is enabled, populate_rootfs() is called _earlier_ in the
583 * boot sequence. This insures that the ACPI initialisation can find the file.
584 */
580rootfs_initcall(populate_rootfs); 585rootfs_initcall(populate_rootfs);
586#endif
diff --git a/init/main.c b/init/main.c
index c691f5f7fc27..2a78932f6c07 100644
--- a/init/main.c
+++ b/init/main.c
@@ -102,6 +102,12 @@ static inline void mark_rodata_ro(void) { }
102extern void tc_init(void); 102extern void tc_init(void);
103#endif 103#endif
104 104
105#ifdef CONFIG_ACPI_CUSTOM_DSDT_INITRD
106extern int populate_rootfs(void);
107#else
108static inline void populate_rootfs(void) {}
109#endif
110
105enum system_states system_state; 111enum system_states system_state;
106EXPORT_SYMBOL(system_state); 112EXPORT_SYMBOL(system_state);
107 113
@@ -648,6 +654,7 @@ asmlinkage void __init start_kernel(void)
648 654
649 check_bugs(); 655 check_bugs();
650 656
657 populate_rootfs(); /* For DSDT override from initramfs */
651 acpi_early_init(); /* before LAPIC and SMP init */ 658 acpi_early_init(); /* before LAPIC and SMP init */
652 659
653 /* Do the rest non-__init'ed, we're now alive */ 660 /* Do the rest non-__init'ed, we're now alive */