aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/clocksource/bcm_kona_timer.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/clocksource/bcm_kona_timer.c b/drivers/clocksource/bcm_kona_timer.c
index 350f49356458..ba3d85904c9a 100644
--- a/drivers/clocksource/bcm_kona_timer.c
+++ b/drivers/clocksource/bcm_kona_timer.c
@@ -103,16 +103,10 @@ static const struct of_device_id bcm_timer_ids[] __initconst = {
103 {}, 103 {},
104}; 104};
105 105
106static void __init kona_timers_init(void) 106static void __init kona_timers_init(struct device_node *node)
107{ 107{
108 struct device_node *node;
109 u32 freq; 108 u32 freq;
110 109
111 node = of_find_matching_node(NULL, bcm_timer_ids);
112
113 if (!node)
114 panic("No timer");
115
116 if (!of_property_read_u32(node, "clock-frequency", &freq)) 110 if (!of_property_read_u32(node, "clock-frequency", &freq))
117 arch_timer_rate = freq; 111 arch_timer_rate = freq;
118 else 112 else
@@ -199,13 +193,12 @@ static struct irqaction kona_timer_irq = {
199 .handler = kona_timer_interrupt, 193 .handler = kona_timer_interrupt,
200}; 194};
201 195
202static void __init kona_timer_init(void) 196static void __init kona_timer_init(struct device_node *node)
203{ 197{
204 kona_timers_init(); 198 kona_timers_init(node);
205 kona_timer_clockevents_init(); 199 kona_timer_clockevents_init();
206 setup_irq(timers.tmr_irq, &kona_timer_irq); 200 setup_irq(timers.tmr_irq, &kona_timer_irq);
207 kona_timer_set_next_event((arch_timer_rate / HZ), NULL); 201 kona_timer_set_next_event((arch_timer_rate / HZ), NULL);
208} 202}
209 203
210CLOCKSOURCE_OF_DECLARE(bcm_kona, "bcm,kona-timer", 204CLOCKSOURCE_OF_DECLARE(bcm_kona, "bcm,kona-timer", kona_timer_init);
211 kona_timer_init);