mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
ARM: at91: properly initialize timer
Use clocksource_of_init to initialize the system timer instead of relying on a custom function. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:
parent
d8d1c6c8b0
commit
bbfc97e1b1
3 changed files with 3 additions and 11 deletions
|
@ -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 = {
|
||||||
};
|
};
|
||||||
|
|
||||||
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 @@ err:
|
||||||
/*
|
/*
|
||||||
* 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)
|
||||||
/* 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 @@
|
||||||
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);
|
||||||
|
|
Loading…
Add table
Reference in a new issue