aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clocksource/nomadik-mtu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clocksource/nomadik-mtu.c')
-rw-r--r--drivers/clocksource/nomadik-mtu.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/drivers/clocksource/nomadik-mtu.c b/drivers/clocksource/nomadik-mtu.c
index ed7b73b508e0..f00b5c9ce8b6 100644
--- a/drivers/clocksource/nomadik-mtu.c
+++ b/drivers/clocksource/nomadik-mtu.c
@@ -20,7 +20,6 @@
20#include <linux/jiffies.h> 20#include <linux/jiffies.h>
21#include <linux/delay.h> 21#include <linux/delay.h>
22#include <linux/err.h> 22#include <linux/err.h>
23#include <linux/platform_data/clocksource-nomadik-mtu.h>
24#include <linux/sched_clock.h> 23#include <linux/sched_clock.h>
25#include <asm/mach/time.h> 24#include <asm/mach/time.h>
26 25
@@ -103,7 +102,7 @@ static int nmdk_clkevt_next(unsigned long evt, struct clock_event_device *ev)
103 return 0; 102 return 0;
104} 103}
105 104
106void nmdk_clkevt_reset(void) 105static void nmdk_clkevt_reset(void)
107{ 106{
108 if (clkevt_periodic) { 107 if (clkevt_periodic) {
109 /* Timer: configure load and background-load, and fire it up */ 108 /* Timer: configure load and background-load, and fire it up */
@@ -144,7 +143,7 @@ static void nmdk_clkevt_mode(enum clock_event_mode mode,
144 } 143 }
145} 144}
146 145
147void nmdk_clksrc_reset(void) 146static void nmdk_clksrc_reset(void)
148{ 147{
149 /* Disable */ 148 /* Disable */
150 writel(0, mtu_base + MTU_CR(0)); 149 writel(0, mtu_base + MTU_CR(0));
@@ -192,8 +191,8 @@ static struct irqaction nmdk_timer_irq = {
192 .dev_id = &nmdk_clkevt, 191 .dev_id = &nmdk_clkevt,
193}; 192};
194 193
195static void __init __nmdk_timer_init(void __iomem *base, int irq, 194static void __init nmdk_timer_init(void __iomem *base, int irq,
196 struct clk *pclk, struct clk *clk) 195 struct clk *pclk, struct clk *clk)
197{ 196{
198 unsigned long rate; 197 unsigned long rate;
199 198
@@ -245,18 +244,6 @@ static void __init __nmdk_timer_init(void __iomem *base, int irq,
245 register_current_timer_delay(&mtu_delay_timer); 244 register_current_timer_delay(&mtu_delay_timer);
246} 245}
247 246
248void __init nmdk_timer_init(void __iomem *base, int irq)
249{
250 struct clk *clk0, *pclk0;
251
252 pclk0 = clk_get_sys("mtu0", "apb_pclk");
253 BUG_ON(IS_ERR(pclk0));
254 clk0 = clk_get_sys("mtu0", NULL);
255 BUG_ON(IS_ERR(clk0));
256
257 __nmdk_timer_init(base, irq, pclk0, clk0);
258}
259
260static void __init nmdk_timer_of_init(struct device_node *node) 247static void __init nmdk_timer_of_init(struct device_node *node)
261{ 248{
262 struct clk *pclk; 249 struct clk *pclk;
@@ -280,7 +267,7 @@ static void __init nmdk_timer_of_init(struct device_node *node)
280 if (irq <= 0) 267 if (irq <= 0)
281 panic("Can't parse IRQ"); 268 panic("Can't parse IRQ");
282 269
283 __nmdk_timer_init(base, irq, pclk, clk); 270 nmdk_timer_init(base, irq, pclk, clk);
284} 271}
285CLOCKSOURCE_OF_DECLARE(nomadik_mtu, "st,nomadik-mtu", 272CLOCKSOURCE_OF_DECLARE(nomadik_mtu, "st,nomadik-mtu",
286 nmdk_timer_of_init); 273 nmdk_timer_of_init);