1 #include <asm/mach/time.h>
2 #include <mach/mt_timer.h>
3 #include <linux/version.h>
5 extern struct mt_clock mt6582_gpt
;
6 extern int generic_timer_register(void);
9 struct mt_clock
*mt6582_clocks
[] =
14 void __init
mt6582_timer_init(void)
17 struct mt_clock
*clock
;
20 for (i
= 0; i
< ARRAY_SIZE(mt6582_clocks
); i
++) {
21 clock
= mt6582_clocks
[i
];
25 if (clock
->clocksource
.name
) {
26 err
= clocksource_register(&(clock
->clocksource
));
28 pr_err("mt6582_timer_init: clocksource_register failed for %s\n", clock
->clocksource
.name
);
32 err
= setup_irq(clock
->irq
.irq
, &(clock
->irq
));
34 pr_err("mt6582_timer_init: setup_irq failed for %s\n", clock
->irq
.name
);
37 if (clock
->clockevent
.name
)
38 clockevents_register_device(&(clock
->clockevent
));
41 #ifndef CONFIG_MT8127_FPGA
42 err
= generic_timer_register();
44 pr_err("generic_timer_register failed, err=%d\n", err
);
46 // printk("fwq no generic timer");
50 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
51 struct sys_timer mt6582_timer
= {
52 .init
= mt6582_timer_init
,