The timer core takes care of serialization and IRQs. Hence the driver is
no longer required to disable interrupts when calling
clockevents_update_freq().

Signed-off-by: Soren Brinkmann <soren.brinkm...@xilinx.com>
---
v4:
 - no change

 drivers/clocksource/cadence_ttc_timer.c | 17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/drivers/clocksource/cadence_ttc_timer.c 
b/drivers/clocksource/cadence_ttc_timer.c
index 63f176de0d02..f05b9fdc7425 100644
--- a/drivers/clocksource/cadence_ttc_timer.c
+++ b/drivers/clocksource/cadence_ttc_timer.c
@@ -321,25 +321,12 @@ static int ttc_rate_change_clockevent_cb(struct 
notifier_block *nb,
 
        switch (event) {
        case POST_RATE_CHANGE:
-       {
-               unsigned long flags;
-
-               /*
-                * clockevents_update_freq should be called with IRQ disabled on
-                * the CPU the timer provides events for. The timer we use is
-                * common to both CPUs, not sure if we need to run on both
-                * cores.
-                */
-               local_irq_save(flags);
-               clockevents_update_freq(&ttcce->ce,
-                               ndata->new_rate / PRESCALE);
-               local_irq_restore(flags);
-
                /* update cached frequency */
                ttc->freq = ndata->new_rate;
 
+               clockevents_update_freq(&ttcce->ce, ndata->new_rate / PRESCALE);
+
                /* fall through */
-       }
        case PRE_RATE_CHANGE:
        case ABORT_RATE_CHANGE:
        default:
-- 
1.9.0.1.g4196000

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to