clocksource / arm_arch_timer: Convert to ACPI probing
authorMarc Zyngier <Marc.Zyngier@arm.com>
Mon, 28 Sep 2015 14:49:17 +0000 (15:49 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 1 Oct 2015 00:18:39 +0000 (02:18 +0200)
It is now absolutely trivial to convert the arch timer driver to
use ACPI probing, just like its DT counterpart.

Let's enjoy another crapectomy.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/arm64/kernel/time.c
drivers/clocksource/Kconfig
drivers/clocksource/arm_arch_timer.c
include/linux/clocksource.h

index 149151f..819a105 100644 (file)
@@ -71,12 +71,6 @@ void __init time_init(void)
 
        tick_setup_hrtimer_broadcast();
 
-       /*
-        * Since ACPI or FDT will only one be available in the system,
-        * we can use acpi_generic_timer_init() here safely
-        */
-       acpi_generic_timer_init();
-
        arch_timer_rate = arch_timer_get_rate();
        if (!arch_timer_rate)
                panic("Unable to initialise architected timer.\n");
index fefedf1..1a9c5dc 100644 (file)
@@ -131,6 +131,7 @@ config CLKSRC_STM32
 config ARM_ARCH_TIMER
        bool
        select CLKSRC_OF if OF
+       select CLKSRC_ACPI if ACPI
 
 config ARM_ARCH_TIMER_EVTSTREAM
        bool "Support for ARM architected timer event stream generation"
index d6e3e49..c64d543 100644 (file)
@@ -864,13 +864,5 @@ static int __init arch_timer_acpi_init(struct acpi_table_header *table)
        arch_timer_init();
        return 0;
 }
-
-/* Initialize all the generic timers presented in GTDT */
-void __init acpi_generic_timer_init(void)
-{
-       if (acpi_disabled)
-               return;
-
-       acpi_table_parse(ACPI_SIG_GTDT, arch_timer_acpi_init);
-}
+CLOCKSOURCE_ACPI_DECLARE(arch_timer, ACPI_SIG_GTDT, arch_timer_acpi_init);
 #endif
index 6eab6ab..116645f 100644 (file)
@@ -252,12 +252,6 @@ extern void clocksource_of_init(void);
 static inline void clocksource_of_init(void) {}
 #endif
 
-#ifdef CONFIG_ACPI
-void acpi_generic_timer_init(void);
-#else
-static inline void acpi_generic_timer_init(void) { }
-#endif
-
 #define CLOCKSOURCE_ACPI_DECLARE(name, table_id, fn)           \
        ACPI_DECLARE_PROBE_ENTRY(clksrc, name, table_id, 0, NULL, 0, fn)