clocksource: mips-gic: Use clockevents_config_and_register
authorAndrew Bresticker <abrestic@chromium.org>
Mon, 20 Oct 2014 19:04:05 +0000 (12:04 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 24 Nov 2014 06:45:16 +0000 (07:45 +0100)
Use clockevents_config_and_register to setup the clock_event_device
based on frequency and min/max ticks instead of doing it ourselves.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Qais Yousef <qais.yousef@imgtec.com>
Cc: John Crispin <blogic@openwrt.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8140/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/clocksource/mips-gic-timer.c

index 3ce992bc574f9ced16ec29673550abebd7296e33..84fbb7ae4db2ff502e8d10546c2169d8cd6d57e7 100644 (file)
@@ -15,8 +15,6 @@
 #include <linux/smp.h>
 #include <linux/time.h>
 
-#include <asm/time.h>
-
 static DEFINE_PER_CPU(struct clock_event_device, gic_clockevent_device);
 static int gic_timer_irq;
 static unsigned int gic_frequency;
@@ -63,19 +61,13 @@ static void gic_clockevent_cpu_init(struct clock_event_device *cd)
        cd->features            = CLOCK_EVT_FEAT_ONESHOT |
                                  CLOCK_EVT_FEAT_C3STOP;
 
-       clockevent_set_clock(cd, gic_frequency);
-
-       /* Calculate the min / max delta */
-       cd->max_delta_ns        = clockevent_delta2ns(0x7fffffff, cd);
-       cd->min_delta_ns        = clockevent_delta2ns(0x300, cd);
-
        cd->rating              = 300;
        cd->irq                 = gic_timer_irq;
        cd->cpumask             = cpumask_of(cpu);
        cd->set_next_event      = gic_next_event;
        cd->set_mode            = gic_set_clock_mode;
 
-       clockevents_register_device(cd);
+       clockevents_config_and_register(cd, gic_frequency, 0x300, 0x7fffffff);
 
        enable_percpu_irq(gic_timer_irq, IRQ_TYPE_NONE);
 }