ACPI / x86: Cleanup initrd related code
authorLv Zheng <lv.zheng@intel.com>
Mon, 11 Apr 2016 02:13:27 +0000 (10:13 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 18 Apr 2016 21:59:09 +0000 (23:59 +0200)
In arch/x86/kernel/setup.c, the #ifdef kept for CONFIG_ACPI actually is
related to the accessibility of initrd_start/initrd_end, so the stub should
be provided from this source file and should only be dependent on
CONFIG_BLK_DEV_INITRD.

Note that when ACPI=n and BLK_DEV_INITRD=y, early_initrd_acpi_init() is
still a stub because of the stub prepared for early_acpi_table_init().

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/x86/kernel/setup.c

index 902a6f7..c4e7b39 100644 (file)
@@ -398,6 +398,11 @@ static void __init reserve_initrd(void)
 
        memblock_free(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
+static void __init early_initrd_acpi_init(void)
+{
+       early_acpi_table_init((void *)initrd_start, initrd_end - initrd_start);
+}
 #else
 static void __init early_reserve_initrd(void)
 {
@@ -405,6 +410,9 @@ static void __init early_reserve_initrd(void)
 static void __init reserve_initrd(void)
 {
 }
+static void __init early_initrd_acpi_init(void)
+{
+}
 #endif /* CONFIG_BLK_DEV_INITRD */
 
 static void __init parse_setup_data(void)
@@ -1138,9 +1146,7 @@ void __init setup_arch(char **cmdline_p)
 
        reserve_initrd();
 
-#if defined(CONFIG_ACPI) && defined(CONFIG_BLK_DEV_INITRD)
-       early_acpi_table_init((void *)initrd_start, initrd_end - initrd_start);
-#endif
+       early_initrd_acpi_init();
 
        vsmp_init();