@@ -44,11 +44,6 @@ struct local_timer_ops {
#ifdef CONFIG_LOCAL_TIMERS
/*
- * Setup a local timer interrupt for a CPU.
- */
-int local_timer_setup(struct clock_event_device *);
-
-/*
* Register a local timer.
*/
void percpu_timer_register(struct local_timer_ops *);
@@ -23,15 +23,9 @@
extern void __iomem *twd_base;
#ifdef CONFIG_HAVE_ARM_TWD
-struct local_timer_ops *local_timer_get_twd_ops(void);
int twd_timer_register_setup(int (*setup)(struct clock_event_device *));
#else
-static inline struct local_timer_ops *local_timer_get_twd_ops(void)
-{
- return NULL;
-}
-
-static inline int twd_timer_register_setup(int (*setup)(struct clock_event_device *))
+static inline int twd_timer_register_setup(void (*setup)(struct clock_event_device *))
{
return -ENODEV;
}
@@ -15,7 +15,6 @@
#include <linux/clockchips.h>
#include <asm/localtimer.h>
-#include <asm/smp_twd.h>
#ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
static void broadcast_timer_set_mode(enum clock_event_mode mode,
@@ -45,12 +44,7 @@ static struct local_timer_ops broadcast_timer_ops = {
.setup = broadcast_timer_setup,
};
-static struct local_timer_ops *timer_ops;
-
-int __attribute__ ((weak)) local_timer_setup(struct clock_event_device *evt)
-{
- return -ENXIO;
-}
+static struct local_timer_ops *timer_ops = &broadcast_timer_ops;
void percpu_timer_register(struct local_timer_ops *ops)
{
@@ -108,18 +102,6 @@ void __cpuinit percpu_timer_setup(void)
unsigned int cpu = smp_processor_id();
struct clock_event_device *evt = &per_cpu(percpu_clockevent, cpu);
- /*
- * All this can go away once we've migrated all users to
- * properly register the timer they use, and broadcast can
- * become the fallback.
- */
- if (!timer_ops)
- timer_ops = local_timer_get_twd_ops();
- if (!timer_ops)
- timer_ops = &broadcast_timer_ops;
- if (!timer_ops->plat_setup)
- timer_ops->plat_setup = local_timer_setup;
-
evt->cpumask = cpumask_of(cpu);
if (timer_ops->pre_setup)
@@ -168,20 +168,12 @@ static struct local_timer_ops twd_timer_ops = {
.ack = twd_timer_ack,
};
-struct local_timer_ops *local_timer_get_twd_ops(void)
+int __init twd_timer_register_setup(int (*setup)(struct clock_event_device *))
{
if (!twd_base) {
pr_warn("TWD base address not set\n");
- return NULL;
- }
-
- return &twd_timer_ops;
-}
-
-int __init twd_timer_register_setup(int (*setup)(struct clock_event_device *))
-{
- if (!twd_base)
return -ENODEV;
+ }
percpu_timer_register_setup(&twd_timer_ops, setup, NULL);
return 0;