diff options
author | Markus Gaugusch <dsdt@gaugusch.at> | 2008-02-04 18:04:06 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-02-06 22:07:41 -0500 |
commit | 71fc47a9adf8ee89e5c96a47222915c5485ac437 (patch) | |
tree | a2eaefbb703dde933a9726eae7e6399761d40136 /init/main.c | |
parent | 488b5ec871191359b9b79262a3d48456dae7ea5f (diff) |
ACPI: basic initramfs DSDT override support
The basics of DSDT from initramfs. In case this option is selected,
populate_rootfs() is called a bit earlier to have the initramfs content
available during ACPI initialization.
This is a very similar path to the one available at
http://gaugusch.at/kernel.shtml but with some update in the
documentation, default set to No and the change of populate_rootfs() the
"Jeff Mahony way" (which avoids reading the initramfs twice).
Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'init/main.c')
-rw-r--r-- | init/main.c | 7 |
1 files changed, 7 insertions, 0 deletions
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) { } | |||
102 | extern void tc_init(void); | 102 | extern void tc_init(void); |
103 | #endif | 103 | #endif |
104 | 104 | ||
105 | #ifdef CONFIG_ACPI_CUSTOM_DSDT_INITRD | ||
106 | extern int populate_rootfs(void); | ||
107 | #else | ||
108 | static inline void populate_rootfs(void) {} | ||
109 | #endif | ||
110 | |||
105 | enum system_states system_state; | 111 | enum system_states system_state; |
106 | EXPORT_SYMBOL(system_state); | 112 | EXPORT_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 */ |