ACPI / init: Run acpi_early_init() before timekeeping_init()
authorLee, Chun-Yi <joeyli.kernel@gmail.com>
Wed, 15 Jan 2014 07:25:48 +0000 (15:25 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 16 Jan 2014 00:46:31 +0000 (01:46 +0100)
This is a variant patch from Rafael J. Wysocki's
ACPI / init: Run acpi_early_init() before efi_enter_virtual_mode()

According to Matt Fleming, if acpi_early_init() was executed before
efi_enter_virtual_mode(), the EFI initialization could benefit from
it, so Rafael's patch makes that happen.

And, we want accessing ACPI TAD device to set system clock, so move
acpi_early_init() before timekeeping_init(). This final position is
also before efi_enter_virtual_mode().

Tested-by: Toshi Kani <toshi.kani@hp.com>
Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
init/main.c

index febc511e078a65d08ac4dd6a3be67b26926195cd..b6d93c84015446a76a214f95a87ba875ed306dc8 100644 (file)
@@ -565,6 +565,7 @@ asmlinkage void __init start_kernel(void)
        init_timers();
        hrtimers_init();
        softirq_init();
+       acpi_early_init();
        timekeeping_init();
        time_init();
        sched_clock_postinit();
@@ -641,7 +642,6 @@ asmlinkage void __init start_kernel(void)
 
        check_bugs();
 
-       acpi_early_init(); /* before LAPIC and SMP init */
        sfi_init_late();
 
        if (efi_enabled(EFI_RUNTIME_SERVICES)) {