2 * arch/sh/kernel/timers/timer.c - Common timer code
4 * Copyright (C) 2005 Paul Mundt
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
10 #include <linux/kernel.h>
11 #include <linux/init.h>
12 #include <linux/timer.h>
13 #include <linux/string.h>
14 #include <asm/timer.h>
16 static struct sys_timer *sys_timers[] __initdata = {
29 static char timer_override[10] __initdata;
30 static int __init timer_setup(char *str)
33 strlcpy(timer_override, str, sizeof(timer_override));
36 __setup("timer=", timer_setup);
38 struct sys_timer *get_sys_timer(void)
42 for (i = 0; i < ARRAY_SIZE(sys_timers); i++) {
43 struct sys_timer *t = sys_timers[i];
47 if (unlikely(timer_override[0]))
48 if ((strcmp(timer_override, t->name) != 0))
50 if (likely(t->ops->init() == 0))