diff options
Diffstat (limited to 'arch/sh/kernel/time.c')
-rw-r--r-- | arch/sh/kernel/time.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/arch/sh/kernel/time.c b/arch/sh/kernel/time.c index 2c73255f4..f1e8d28bf 100644 --- a/arch/sh/kernel/time.c +++ b/arch/sh/kernel/time.c @@ -26,6 +26,7 @@ #include <asm/io.h> #include <asm/irq.h> #include <asm/delay.h> +#include <asm/machvec.h> #include <linux/timex.h> #include <linux/irq.h> @@ -226,6 +227,11 @@ static inline void do_timer_interrupt(int irq, void *dev_id, struct pt_regs *reg sh_do_profile(regs->pc); #endif +#ifdef CONFIG_HEARTBEAT + if (sh_mv.mv_heartbeat != NULL) + sh_mv.mv_heartbeat(); +#endif + /* * If we have an externally synchronized Linux clock, then update * RTC clock accordingly every ~11 minutes. Set_rtc_mmss() has to be @@ -441,11 +447,11 @@ void __init time_init(void) tmp = (frqcr & 0x2000) >> 11; tmp |= frqcr & 0x0003; pfc = pfc_table[tmp]; -#ifdef CONFIG_SH_HP600 - master_clock = cpu_clock/6; -#else - master_clock = cpu_clock; -#endif + if (MACH_HP600) { + master_clock = cpu_clock/6; + } else { + master_clock = cpu_clock; + } bus_clock = master_clock/pfc; } #elif defined(__SH4__) |