MIPS: Fix r4k clockevents registration
authorHuacai Chen <chenhc@lemote.com>
Thu, 21 Jul 2016 06:27:49 +0000 (14:27 +0800)
committerRalf Baechle <ralf@linux-mips.org>
Sun, 24 Jul 2016 09:59:48 +0000 (11:59 +0200)
CPUFreq need min_delta_ticks/max_delta_ticks to be initialized, and
this can be done by clockevents_config_and_register().

Cc: stable@vger.kernel.org
Signed-off-by: Heiher <r@hev.cc>
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Cc: John Crispin <john@phrozen.org>
Cc: Steven J . Hill <Steven.Hill@imgtec.com>
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Cc: stable@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/13817/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/cevt-r4k.c

index e4c21bb..804d2a2 100644 (file)
@@ -276,12 +276,7 @@ int r4k_clockevent_init(void)
                                  CLOCK_EVT_FEAT_C3STOP |
                                  CLOCK_EVT_FEAT_PERCPU;
 
-       clockevent_set_clock(cd, mips_hpt_frequency);
-
-       /* Calculate the min / max delta */
-       cd->max_delta_ns        = clockevent_delta2ns(0x7fffffff, cd);
        min_delta               = calculate_min_delta();
-       cd->min_delta_ns        = clockevent_delta2ns(min_delta, cd);
 
        cd->rating              = 300;
        cd->irq                 = irq;
@@ -289,7 +284,7 @@ int r4k_clockevent_init(void)
        cd->set_next_event      = mips_next_event;
        cd->event_handler       = mips_event_handler;
 
-       clockevents_register_device(cd);
+       clockevents_config_and_register(cd, mips_hpt_frequency, min_delta, 0x7fffffff);
 
        if (cp0_timer_irq_installed)
                return 0;