diff options
| author | Steve French <sfrench@us.ibm.com> | 2006-03-20 16:58:09 +0000 | 
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2006-03-20 16:58:09 +0000 | 
| commit | fd4a0b92db6a57cba8d03efbe1cebf91f9124ce0 (patch) | |
| tree | 5886a08bfa1132058b06074f4666a36dc5ddd2a1 /arch/mips/kernel | |
| parent | 88274815f7477dc7550439413ab87c5ce4c5a623 (diff) | |
| parent | 7705a8792b0fc82fd7d4dd923724606bbfd9fb20 (diff) | |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'arch/mips/kernel')
| -rw-r--r-- | arch/mips/kernel/irq-mv6434x.c | 8 | ||||
| -rw-r--r-- | arch/mips/kernel/time.c | 6 | ||||
| -rw-r--r-- | arch/mips/kernel/vmlinux.lds.S | 4 | 
3 files changed, 12 insertions, 6 deletions
| diff --git a/arch/mips/kernel/irq-mv6434x.c b/arch/mips/kernel/irq-mv6434x.c index 0ac067f45cf..0613f1f36b1 100644 --- a/arch/mips/kernel/irq-mv6434x.c +++ b/arch/mips/kernel/irq-mv6434x.c @@ -11,12 +11,14 @@  #include <linux/module.h>  #include <linux/interrupt.h>  #include <linux/kernel.h> -#include <asm/ptrace.h> -#include <linux/sched.h>  #include <linux/kernel_stat.h> +#include <linux/mv643xx.h> +#include <linux/sched.h> + +#include <asm/ptrace.h>  #include <asm/io.h>  #include <asm/irq.h> -#include <linux/mv643xx.h> +#include <asm/marvell.h>  static unsigned int irq_base; diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index 42c94c771af..51273b7297a 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c @@ -424,6 +424,8 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	unsigned long j;  	unsigned int count; +	write_seqlock(&xtime_lock); +  	count = mips_hpt_read();  	mips_timer_ack(); @@ -441,7 +443,6 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	 * CMOS clock accordingly every ~11 minutes. rtc_set_time() has to be  	 * called as close as possible to 500 ms before the new second starts.  	 */ -	write_seqlock(&xtime_lock);  	if (ntp_synced() &&  	    xtime.tv_sec > last_rtc_update + 660 &&  	    (xtime.tv_nsec / 1000) >= 500000 - ((unsigned) TICK_SIZE) / 2 && @@ -453,7 +454,6 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  			last_rtc_update = xtime.tv_sec - 600;  		}  	} -	write_sequnlock(&xtime_lock);  	/*  	 * If jiffies has overflown in this timer_interrupt, we must @@ -496,6 +496,8 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  		}  	} +	write_sequnlock(&xtime_lock); +  	/*  	 * In UP mode, we call local_timer_interrupt() to do profiling  	 * and process accouting. diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index ff699dbb99f..2ad0cedf29f 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -106,6 +106,9 @@ SECTIONS    .con_initcall.init : { *(.con_initcall.init) }    __con_initcall_end = .;    SECURITY_INIT +    /* .exit.text is discarded at runtime, not link time, to deal with +     references from .rodata */ +  .exit.text : { *(.exit.text) }    . = ALIGN(_PAGE_SIZE);    __initramfs_start = .;    .init.ramfs : { *(.init.ramfs) } @@ -133,7 +136,6 @@ SECTIONS    /* Sections to be discarded */    /DISCARD/ : { -        *(.exit.text)          *(.exit.data)          *(.exitcall.exit) | 
