Loading arch/cris/arch-v32/kernel/time.c +17 −11 Original line number Diff line number Diff line Loading @@ -57,7 +57,6 @@ static int __init etrax_init_cont_rotime(void) } arch_initcall(etrax_init_cont_rotime); unsigned long timer_regs[NR_CPUS] = { regi_timer0, Loading @@ -69,9 +68,8 @@ unsigned long timer_regs[NR_CPUS] = extern int set_rtc_mmss(unsigned long nowtime); #ifdef CONFIG_CPU_FREQ static int cris_time_freq_notifier(struct notifier_block *nb, unsigned long val, void *data); static int cris_time_freq_notifier(struct notifier_block *nb, unsigned long val, void *data); static struct notifier_block cris_time_freq_notifier_block = { .notifier_call = cris_time_freq_notifier, Loading @@ -88,7 +86,6 @@ unsigned long get_ns_in_jiffie(void) return ns; } /* From timer MDS describing the hardware watchdog: * 4.3.1 Watchdog Operation * The watchdog timer is an 8-bit timer with a configurable start value. Loading @@ -110,11 +107,18 @@ static short int watchdog_key = 42; /* arbitrary 7 bit number */ * is used though, so set this really low. */ #define WATCHDOG_MIN_FREE_PAGES 8 /* for reliable NICE_DOGGY behaviour */ static int bite_in_progress; void reset_watchdog(void) { #if defined(CONFIG_ETRAX_WATCHDOG) reg_timer_rw_wd_ctrl wd_ctrl = { 0 }; #if defined(CONFIG_ETRAX_WATCHDOG_NICE_DOGGY) if (unlikely(bite_in_progress)) return; #endif /* Only keep watchdog happy as long as we have memory left! */ if(nr_free_pages() > WATCHDOG_MIN_FREE_PAGES) { /* Reset the watchdog with the inverse of the old key */ Loading Loading @@ -149,7 +153,9 @@ void handle_watchdog_bite(struct pt_regs *regs) #if defined(CONFIG_ETRAX_WATCHDOG) extern int cause_of_death; nmi_enter(); oops_in_progress = 1; bite_in_progress = 1; printk(KERN_WARNING "Watchdog bite\n"); /* Check if forced restart or unexpected watchdog */ Loading @@ -171,6 +177,7 @@ void handle_watchdog_bite(struct pt_regs *regs) printk(KERN_WARNING "Oops: bitten by watchdog\n"); show_registers(regs); oops_in_progress = 0; printk("\n"); /* Flush mtdoops. */ #ifndef CONFIG_ETRAX_WATCHDOG_NICE_DOGGY reset_watchdog(); #endif Loading Loading @@ -299,9 +306,8 @@ void __init time_init(void) } #ifdef CONFIG_CPU_FREQ static int cris_time_freq_notifier(struct notifier_block *nb, unsigned long val, void *data) static int cris_time_freq_notifier(struct notifier_block *nb, unsigned long val, void *data) { struct cpufreq_freqs *freqs = data; if (val == CPUFREQ_POSTCHANGE) { Loading Loading
arch/cris/arch-v32/kernel/time.c +17 −11 Original line number Diff line number Diff line Loading @@ -57,7 +57,6 @@ static int __init etrax_init_cont_rotime(void) } arch_initcall(etrax_init_cont_rotime); unsigned long timer_regs[NR_CPUS] = { regi_timer0, Loading @@ -69,9 +68,8 @@ unsigned long timer_regs[NR_CPUS] = extern int set_rtc_mmss(unsigned long nowtime); #ifdef CONFIG_CPU_FREQ static int cris_time_freq_notifier(struct notifier_block *nb, unsigned long val, void *data); static int cris_time_freq_notifier(struct notifier_block *nb, unsigned long val, void *data); static struct notifier_block cris_time_freq_notifier_block = { .notifier_call = cris_time_freq_notifier, Loading @@ -88,7 +86,6 @@ unsigned long get_ns_in_jiffie(void) return ns; } /* From timer MDS describing the hardware watchdog: * 4.3.1 Watchdog Operation * The watchdog timer is an 8-bit timer with a configurable start value. Loading @@ -110,11 +107,18 @@ static short int watchdog_key = 42; /* arbitrary 7 bit number */ * is used though, so set this really low. */ #define WATCHDOG_MIN_FREE_PAGES 8 /* for reliable NICE_DOGGY behaviour */ static int bite_in_progress; void reset_watchdog(void) { #if defined(CONFIG_ETRAX_WATCHDOG) reg_timer_rw_wd_ctrl wd_ctrl = { 0 }; #if defined(CONFIG_ETRAX_WATCHDOG_NICE_DOGGY) if (unlikely(bite_in_progress)) return; #endif /* Only keep watchdog happy as long as we have memory left! */ if(nr_free_pages() > WATCHDOG_MIN_FREE_PAGES) { /* Reset the watchdog with the inverse of the old key */ Loading Loading @@ -149,7 +153,9 @@ void handle_watchdog_bite(struct pt_regs *regs) #if defined(CONFIG_ETRAX_WATCHDOG) extern int cause_of_death; nmi_enter(); oops_in_progress = 1; bite_in_progress = 1; printk(KERN_WARNING "Watchdog bite\n"); /* Check if forced restart or unexpected watchdog */ Loading @@ -171,6 +177,7 @@ void handle_watchdog_bite(struct pt_regs *regs) printk(KERN_WARNING "Oops: bitten by watchdog\n"); show_registers(regs); oops_in_progress = 0; printk("\n"); /* Flush mtdoops. */ #ifndef CONFIG_ETRAX_WATCHDOG_NICE_DOGGY reset_watchdog(); #endif Loading Loading @@ -299,9 +306,8 @@ void __init time_init(void) } #ifdef CONFIG_CPU_FREQ static int cris_time_freq_notifier(struct notifier_block *nb, unsigned long val, void *data) static int cris_time_freq_notifier(struct notifier_block *nb, unsigned long val, void *data) { struct cpufreq_freqs *freqs = data; if (val == CPUFREQ_POSTCHANGE) { Loading