diff --git a/arch/microblaze/kernel/timer.c b/arch/microblaze/kernel/timer.c index 06609e01f1cfbcedc85a407912597e8822a581e7..fb0c61443f196ebbe7776e2d88108280bbc80025 100644 --- a/arch/microblaze/kernel/timer.c +++ b/arch/microblaze/kernel/timer.c @@ -230,9 +230,15 @@ static int __init xilinx_clocksource_init(void) static void __init xilinx_timer_init(struct device_node *timer) { struct clk *clk; + static int initialized; u32 irq; u32 timer_num = 1; + if (initialized) + return; + + initialized = 1; + timer_baseaddr = of_iomap(timer, 0); if (!timer_baseaddr) { pr_err("ERROR: invalid timer base address\n");