cpuidle / ux500 : use CPUIDLE_FLAG_TIMER_STOP flag
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 21 Mar 2013 12:21:34 +0000 (12:21 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sun, 31 Mar 2013 23:10:27 +0000 (01:10 +0200)
Use the CPUIDLE_FLAG_TIMER_STOP and let the cpuidle framework
to handle the CLOCK_EVT_NOTIFY_BROADCAST_ENTER/EXIT when entering
this state.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/arm/mach-ux500/cpuidle.c

index ce9149302cc3c73f7f3247714d2791ff9770a4b4..6d0c4b657a215fb7731fefbd9bece7346f1f57e1 100644 (file)
@@ -30,8 +30,6 @@ static inline int ux500_enter_idle(struct cpuidle_device *dev,
        int this_cpu = smp_processor_id();
        bool recouple = false;
 
-       clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &this_cpu);
-
        if (atomic_inc_return(&master) == num_online_cpus()) {
 
                /* With this lock, we prevent the other cpu to exit and enter
@@ -91,8 +89,6 @@ out:
                spin_unlock(&master_lock);
        }
 
-       clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &this_cpu);
-
        return index;
 }
 
@@ -106,7 +102,8 @@ static struct cpuidle_driver ux500_idle_driver = {
                        .enter            = ux500_enter_idle,
                        .exit_latency     = 70,
                        .target_residency = 260,
-                       .flags            = CPUIDLE_FLAG_TIME_VALID,
+                       .flags            = CPUIDLE_FLAG_TIME_VALID |
+                                           CPUIDLE_FLAG_TIMER_STOP,
                        .name             = "ApIdle",
                        .desc             = "ARM Retention",
                },