Commit bbfc97e1 authored by Alexandre Belloni's avatar Alexandre Belloni Committed by Nicolas Ferre

ARM: at91: properly initialize timer

Use clocksource_of_init to initialize the system timer instead of relying on a
custom function.
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
parent d8d1c6c8
...@@ -23,12 +23,6 @@ static const struct at91_soc rm9200_socs[] = { ...@@ -23,12 +23,6 @@ static const struct at91_soc rm9200_socs[] = {
{ /* sentinel */ }, { /* sentinel */ },
}; };
static void __init at91rm9200_dt_timer_init(void)
{
of_clk_init(NULL);
at91rm9200_timer_init();
}
static void __init at91rm9200_dt_device_init(void) static void __init at91rm9200_dt_device_init(void)
{ {
struct soc_device *soc; struct soc_device *soc;
...@@ -50,7 +44,6 @@ static const char *at91rm9200_dt_board_compat[] __initconst = { ...@@ -50,7 +44,6 @@ static const char *at91rm9200_dt_board_compat[] __initconst = {
}; };
DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200") DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200")
.init_time = at91rm9200_dt_timer_init,
.init_machine = at91rm9200_dt_device_init, .init_machine = at91rm9200_dt_device_init,
.dt_compat = at91rm9200_dt_board_compat, .dt_compat = at91rm9200_dt_board_compat,
MACHINE_END MACHINE_END
...@@ -222,7 +222,7 @@ static int __init of_at91rm9200_st_init(void) ...@@ -222,7 +222,7 @@ static int __init of_at91rm9200_st_init(void)
/* /*
* ST (system timer) module supports both clockevents and clocksource. * ST (system timer) module supports both clockevents and clocksource.
*/ */
void __init at91rm9200_timer_init(void) static void __init atmel_st_timer_init(struct device_node *node)
{ {
/* For device tree enabled device: initialize here */ /* For device tree enabled device: initialize here */
of_at91rm9200_st_init(); of_at91rm9200_st_init();
...@@ -249,3 +249,5 @@ void __init at91rm9200_timer_init(void) ...@@ -249,3 +249,5 @@ void __init at91rm9200_timer_init(void)
/* register clocksource */ /* register clocksource */
clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK); clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK);
} }
CLOCKSOURCE_OF_DECLARE(atmel_st_timer, "atmel,at91rm9200-st",
atmel_st_timer_init);
...@@ -18,9 +18,6 @@ ...@@ -18,9 +18,6 @@
extern void __init at91_map_io(void); extern void __init at91_map_io(void);
extern void __init at91_alt_map_io(void); extern void __init at91_alt_map_io(void);
/* Timer */
extern void at91rm9200_timer_init(void);
/* idle */ /* idle */
extern void at91rm9200_idle(void); extern void at91rm9200_idle(void);
extern void at91sam9_idle(void); extern void at91sam9_idle(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment