|
@@ -11,7 +11,6 @@
|
|
|
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/cpuidle.h>
|
|
|
-#include <linux/clockchips.h>
|
|
|
#include <linux/spinlock.h>
|
|
|
#include <linux/atomic.h>
|
|
|
#include <linux/smp.h>
|
|
@@ -112,16 +111,6 @@ static struct cpuidle_driver ux500_idle_driver = {
|
|
|
.state_count = 2,
|
|
|
};
|
|
|
|
|
|
-/*
|
|
|
- * For each cpu, setup the broadcast timer because we will
|
|
|
- * need to migrate the timers for the states >= ApIdle.
|
|
|
- */
|
|
|
-static void ux500_setup_broadcast_timer(void *arg)
|
|
|
-{
|
|
|
- int cpu = smp_processor_id();
|
|
|
- clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &cpu);
|
|
|
-}
|
|
|
-
|
|
|
int __init ux500_idle_init(void)
|
|
|
{
|
|
|
int ret, cpu;
|
|
@@ -131,13 +120,6 @@ int __init ux500_idle_init(void)
|
|
|
prcmu_enable_wakeups(PRCMU_WAKEUP(ARM) | PRCMU_WAKEUP(RTC) |
|
|
|
PRCMU_WAKEUP(ABB));
|
|
|
|
|
|
- /*
|
|
|
- * Configure the timer broadcast for each cpu, that must
|
|
|
- * be done from the cpu context, so we use a smp cross
|
|
|
- * call with 'on_each_cpu'.
|
|
|
- */
|
|
|
- on_each_cpu(ux500_setup_broadcast_timer, NULL, 1);
|
|
|
-
|
|
|
ret = cpuidle_register_driver(&ux500_idle_driver);
|
|
|
if (ret) {
|
|
|
printk(KERN_ERR "failed to register ux500 idle driver\n");
|