aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sh/Kconfig4
-rw-r--r--arch/sh/kernel/time.c2
-rw-r--r--include/asm-sh/timer.h4
3 files changed, 10 insertions, 0 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index f6a0c4436168..6a461d4caeff 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -45,6 +45,9 @@ config GENERIC_CALIBRATE_DELAY
45config GENERIC_IOMAP 45config GENERIC_IOMAP
46 bool 46 bool
47 47
48config GENERIC_TIME
49 def_bool n
50
48config ARCH_MAY_HAVE_PC_FDC 51config ARCH_MAY_HAVE_PC_FDC
49 bool 52 bool
50 53
@@ -357,6 +360,7 @@ config CPU_HAS_SR_RB
357endmenu 360endmenu
358 361
359menu "Timer support" 362menu "Timer support"
363depends on !GENERIC_TIME
360 364
361config SH_TMU 365config SH_TMU
362 bool "TMU timer support" 366 bool "TMU timer support"
diff --git a/arch/sh/kernel/time.c b/arch/sh/kernel/time.c
index 450c68f1df05..1fbb83c665dd 100644
--- a/arch/sh/kernel/time.c
+++ b/arch/sh/kernel/time.c
@@ -47,6 +47,7 @@ unsigned long long __attribute__ ((weak)) sched_clock(void)
47 return (unsigned long long)jiffies * (1000000000 / HZ); 47 return (unsigned long long)jiffies * (1000000000 / HZ);
48} 48}
49 49
50#ifndef CONFIG_GENERIC_TIME
50void do_gettimeofday(struct timeval *tv) 51void do_gettimeofday(struct timeval *tv)
51{ 52{
52 unsigned long seq; 53 unsigned long seq;
@@ -99,6 +100,7 @@ int do_settimeofday(struct timespec *tv)
99 return 0; 100 return 0;
100} 101}
101EXPORT_SYMBOL(do_settimeofday); 102EXPORT_SYMBOL(do_settimeofday);
103#endif /* !CONFIG_GENERIC_TIME */
102 104
103/* last time the RTC clock got updated */ 105/* last time the RTC clock got updated */
104static long last_rtc_update; 106static long last_rtc_update;
diff --git a/include/asm-sh/timer.h b/include/asm-sh/timer.h
index c7ab28095ba0..ebc78db1a9ea 100644
--- a/include/asm-sh/timer.h
+++ b/include/asm-sh/timer.h
@@ -8,7 +8,9 @@ struct sys_timer_ops {
8 int (*init)(void); 8 int (*init)(void);
9 int (*start)(void); 9 int (*start)(void);
10 int (*stop)(void); 10 int (*stop)(void);
11#ifndef CONFIG_GENERIC_TIME
11 unsigned long (*get_offset)(void); 12 unsigned long (*get_offset)(void);
13#endif
12 unsigned long (*get_frequency)(void); 14 unsigned long (*get_frequency)(void);
13}; 15};
14 16
@@ -24,10 +26,12 @@ struct sys_timer {
24extern struct sys_timer tmu_timer; 26extern struct sys_timer tmu_timer;
25extern struct sys_timer *sys_timer; 27extern struct sys_timer *sys_timer;
26 28
29#ifndef CONFIG_GENERIC_TIME
27static inline unsigned long get_timer_offset(void) 30static inline unsigned long get_timer_offset(void)
28{ 31{
29 return sys_timer->ops->get_offset(); 32 return sys_timer->ops->get_offset();
30} 33}
34#endif
31 35
32static inline unsigned long get_timer_frequency(void) 36static inline unsigned long get_timer_frequency(void)
33{ 37{