diff options
author | Olof Johansson <olof@lixom.net> | 2013-01-28 22:36:23 +0100 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-01-28 22:36:23 +0100 |
commit | 7bcdd8d5e31db4f49ae52580e86723c376ee0999 (patch) | |
tree | bd252895046e9e17d3ab74b6a4d592b74976ca99 /drivers/clocksource/sunxi_timer.c | |
parent | Merge tag 'ux500-cpufreq-for-arm-soc' of git://git.kernel.org/pub/scm/linux/k... (diff) | |
parent | Merge tag 'gic-vic-to-irqchip' of git://sources.calxeda.com/kernel/linux into... (diff) | |
download | linux-7bcdd8d5e31db4f49ae52580e86723c376ee0999.tar.xz linux-7bcdd8d5e31db4f49ae52580e86723c376ee0999.zip |
Merge branch 'depends/cleanup' into next/drivers
* depends/cleanup: (375 commits)
ARM: at91: fix board-rm9200-dt after sys_timer conversion
clocksource: use clockevents_config_and_register() where possible
ARM: use clockevents_config_and_register() where possible
clockevents: export clockevents_config_and_register for module use
timer: vt8500: Move timer code to drivers/clocksource
irqchip: Move ARM vic.h to include/linux/irqchip/arm-vic.h
ARM: picoxcell: use common irqchip_init function
ARM: spear: use common irqchip_init function
irqchip: Move ARM VIC to drivers/irqchip
ARM: samsung: remove unused tick.h
ARM: remove unneeded vic.h includes
ARM: remove mach .handle_irq for VIC users
ARM: VIC: set handle_arch_irq in VIC initialization
ARM: VIC: shrink down vic.h
irqchip: Move ARM gic.h to include/linux/irqchip/arm-gic.h
ARM: use common irqchip_init for GIC init
irqchip: Move ARM GIC to drivers/irqchip
ARM: remove mach .handle_irq for GIC users
ARM: GIC: set handle_arch_irq in GIC initialization
ARM: GIC: remove direct use of gic_raise_softirq
...
Diffstat (limited to 'drivers/clocksource/sunxi_timer.c')
-rw-r--r-- | drivers/clocksource/sunxi_timer.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/clocksource/sunxi_timer.c b/drivers/clocksource/sunxi_timer.c index 3cd1bd3d7aee..0ce85e29769b 100644 --- a/drivers/clocksource/sunxi_timer.c +++ b/drivers/clocksource/sunxi_timer.c @@ -74,7 +74,6 @@ static int sunxi_clkevt_next_event(unsigned long evt, static struct clock_event_device sunxi_clockevent = { .name = "sunxi_tick", - .shift = 32, .rating = 300, .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, .set_mode = sunxi_clkevt_mode, @@ -104,7 +103,7 @@ static struct of_device_id sunxi_timer_dt_ids[] = { { } }; -static void __init sunxi_timer_init(void) +void __init sunxi_timer_init(void) { struct device_node *node; unsigned long rate = 0; @@ -154,18 +153,8 @@ static void __init sunxi_timer_init(void) val = readl(timer_base + TIMER_CTL_REG); writel(val | TIMER_CTL_ENABLE, timer_base + TIMER_CTL_REG); - sunxi_clockevent.mult = div_sc(rate / TIMER_SCAL, - NSEC_PER_SEC, - sunxi_clockevent.shift); - sunxi_clockevent.max_delta_ns = clockevent_delta2ns(0xff, - &sunxi_clockevent); - sunxi_clockevent.min_delta_ns = clockevent_delta2ns(0x1, - &sunxi_clockevent); sunxi_clockevent.cpumask = cpumask_of(0); - clockevents_register_device(&sunxi_clockevent); + clockevents_config_and_register(&sunxi_clockevent, rate / TIMER_SCAL, + 0x1, 0xff); } - -struct sys_timer sunxi_timer = { - .init = sunxi_timer_init, -}; |