X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fmips%2Fau1000%2Fcommon%2Ftime.c;fp=arch%2Fmips%2Fau1000%2Fcommon%2Ftime.c;h=883d3f3d8c5369d10117bc7e16764c58c13c23a0;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=7fbea1bf7b4824afb61d2bacc1c28ab40d1e9458;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c index 7fbea1bf7..883d3f3d8 100644 --- a/arch/mips/au1000/common/time.c +++ b/arch/mips/au1000/common/time.c @@ -33,6 +33,7 @@ */ #include +#include #include #include #include @@ -49,6 +50,10 @@ #include #include +extern void do_softirq(void); +extern volatile unsigned long wall_jiffies; +unsigned long missed_heart_beats = 0; + static unsigned long r4k_offset; /* Amount to increment compare reg each time */ static unsigned long r4k_cur; /* What counter should be at next timer irq */ int no_au1xxx_32khz; @@ -111,7 +116,6 @@ void mips_timer_interrupt(struct pt_regs *regs) null: ack_r4ktimer(0); - irq_exit(); } #ifdef CONFIG_PM @@ -355,7 +359,7 @@ static unsigned long do_fast_cp0_gettimeoffset(void) : "hi", "lo", GCC_REG_ACCUM); /* - * Due to possible jiffies inconsistencies, we need to check + * Due to possible jiffies inconsistencies, we need to check * the result so that we'll get a timer that is monotonic. */ if (res >= USECS_PER_JIFFY) @@ -383,9 +387,10 @@ static unsigned long do_fast_pm_gettimeoffset(void) } #endif -void __init plat_timer_setup(struct irqaction *irq) +void au1xxx_timer_setup(struct irqaction *irq) { - unsigned int est_freq; + unsigned int est_freq; + extern unsigned long (*do_gettimeoffset)(void); printk("calculating r4koff... "); r4k_offset = cal_r4koff();