This patch removes the old MTU2 driver (CONFIG_SH_MTU2/timer-mtu2.c) As replacement, select the sh_cmt driver with CONFIG_SH_TIMER_MTU2 and configure timer channel using platform data. If multiple MTU channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_mtu2.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
44 lines
854 B
C
44 lines
854 B
C
#ifndef __ASM_SH_TIMER_H
|
|
#define __ASM_SH_TIMER_H
|
|
|
|
#include <linux/sysdev.h>
|
|
#include <linux/clocksource.h>
|
|
#include <cpu/timer.h>
|
|
|
|
struct sys_timer_ops {
|
|
int (*init)(void);
|
|
int (*start)(void);
|
|
int (*stop)(void);
|
|
#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
|
|
unsigned long (*get_offset)(void);
|
|
#endif
|
|
};
|
|
|
|
struct sys_timer {
|
|
const char *name;
|
|
|
|
struct sys_device dev;
|
|
struct sys_timer_ops *ops;
|
|
};
|
|
|
|
#define TICK_SIZE (tick_nsec / 1000)
|
|
|
|
extern struct sys_timer tmu_timer;
|
|
extern struct sys_timer *sys_timer;
|
|
|
|
#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
|
|
static inline unsigned long get_timer_offset(void)
|
|
{
|
|
return sys_timer->ops->get_offset();
|
|
}
|
|
#endif
|
|
|
|
/* arch/sh/kernel/timers/timer.c */
|
|
struct sys_timer *get_sys_timer(void);
|
|
|
|
/* arch/sh/kernel/time.c */
|
|
void handle_timer_tick(void);
|
|
|
|
extern struct clocksource clocksource_sh;
|
|
|
|
#endif /* __ASM_SH_TIMER_H */
|