diff options
Diffstat (limited to 'arch/arm/mach-netx/time.c')
-rw-r--r-- | arch/arm/mach-netx/time.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/arch/arm/mach-netx/time.c b/arch/arm/mach-netx/time.c index e24c141ba489..6df42e643031 100644 --- a/arch/arm/mach-netx/time.c +++ b/arch/arm/mach-netx/time.c | |||
@@ -76,7 +76,6 @@ static int netx_set_next_event(unsigned long evt, | |||
76 | 76 | ||
77 | static struct clock_event_device netx_clockevent = { | 77 | static struct clock_event_device netx_clockevent = { |
78 | .name = "netx-timer" __stringify(TIMER_CLOCKEVENT), | 78 | .name = "netx-timer" __stringify(TIMER_CLOCKEVENT), |
79 | .shift = 32, | ||
80 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, | 79 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, |
81 | .set_next_event = netx_set_next_event, | 80 | .set_next_event = netx_set_next_event, |
82 | .set_mode = netx_set_mode, | 81 | .set_mode = netx_set_mode, |
@@ -107,7 +106,7 @@ static struct irqaction netx_timer_irq = { | |||
107 | /* | 106 | /* |
108 | * Set up timer interrupt | 107 | * Set up timer interrupt |
109 | */ | 108 | */ |
110 | static void __init netx_timer_init(void) | 109 | void __init netx_timer_init(void) |
111 | { | 110 | { |
112 | /* disable timer initially */ | 111 | /* disable timer initially */ |
113 | writel(0, NETX_GPIO_COUNTER_CTRL(0)); | 112 | writel(0, NETX_GPIO_COUNTER_CTRL(0)); |
@@ -140,18 +139,9 @@ static void __init netx_timer_init(void) | |||
140 | clocksource_mmio_init(NETX_GPIO_COUNTER_CURRENT(TIMER_CLOCKSOURCE), | 139 | clocksource_mmio_init(NETX_GPIO_COUNTER_CURRENT(TIMER_CLOCKSOURCE), |
141 | "netx_timer", CLOCK_TICK_RATE, 200, 32, clocksource_mmio_readl_up); | 140 | "netx_timer", CLOCK_TICK_RATE, 200, 32, clocksource_mmio_readl_up); |
142 | 141 | ||
143 | netx_clockevent.mult = div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, | ||
144 | netx_clockevent.shift); | ||
145 | netx_clockevent.max_delta_ns = | ||
146 | clockevent_delta2ns(0xfffffffe, &netx_clockevent); | ||
147 | /* with max_delta_ns >= delta2ns(0x800) the system currently runs fine. | 142 | /* with max_delta_ns >= delta2ns(0x800) the system currently runs fine. |
148 | * Adding some safety ... */ | 143 | * Adding some safety ... */ |
149 | netx_clockevent.min_delta_ns = | ||
150 | clockevent_delta2ns(0xa00, &netx_clockevent); | ||
151 | netx_clockevent.cpumask = cpumask_of(0); | 144 | netx_clockevent.cpumask = cpumask_of(0); |
152 | clockevents_register_device(&netx_clockevent); | 145 | clockevents_config_and_register(&netx_clockevent, CLOCK_TICK_RATE, |
146 | 0xa00, 0xfffffffe); | ||
153 | } | 147 | } |
154 | |||
155 | struct sys_timer netx_timer = { | ||
156 | .init = netx_timer_init, | ||
157 | }; | ||