diff options
| author | David Howells <dhowells@redhat.com> | 2012-03-28 18:30:02 +0100 | 
|---|---|---|
| committer | David Howells <dhowells@redhat.com> | 2012-03-28 18:30:02 +0100 | 
| commit | b81947c646bfefdf98e2fde5d7d39cbbda8525d4 (patch) | |
| tree | 944890e7a466af7512e878fa4f71bca1b0f7a600 | |
| parent | c40d04df152a1111c5bbcb632278394dabd2b73d (diff) | |
| download | olio-linux-3.10-b81947c646bfefdf98e2fde5d7d39cbbda8525d4.tar.xz olio-linux-3.10-b81947c646bfefdf98e2fde5d7d39cbbda8525d4.zip  | |
Disintegrate asm/system.h for MIPS
Disintegrate asm/system.h for MIPS.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
cc: linux-mips@linux-mips.org
90 files changed, 262 insertions, 309 deletions
diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c index 260b2736734..d3a9f012aa0 100644 --- a/arch/mips/cavium-octeon/setup.c +++ b/arch/mips/cavium-octeon/setup.c @@ -24,7 +24,6 @@  #include <asm/processor.h>  #include <asm/reboot.h>  #include <asm/smp-ops.h> -#include <asm/system.h>  #include <asm/irq_cpu.h>  #include <asm/mipsregs.h>  #include <asm/bootinfo.h> diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c index b1535fe409d..c3e2b85c3b0 100644 --- a/arch/mips/cavium-octeon/smp.c +++ b/arch/mips/cavium-octeon/smp.c @@ -15,8 +15,8 @@  #include <linux/module.h>  #include <asm/mmu_context.h> -#include <asm/system.h>  #include <asm/time.h> +#include <asm/setup.h>  #include <asm/octeon/octeon.h> diff --git a/arch/mips/dec/ecc-berr.c b/arch/mips/dec/ecc-berr.c index 7abce661b90..5abf4e89421 100644 --- a/arch/mips/dec/ecc-berr.c +++ b/arch/mips/dec/ecc-berr.c @@ -24,7 +24,6 @@  #include <asm/irq_regs.h>  #include <asm/processor.h>  #include <asm/ptrace.h> -#include <asm/system.h>  #include <asm/traps.h>  #include <asm/dec/ecc.h> diff --git a/arch/mips/dec/kn01-berr.c b/arch/mips/dec/kn01-berr.c index 94d23b4a7dc..44d8a87a8a6 100644 --- a/arch/mips/dec/kn01-berr.c +++ b/arch/mips/dec/kn01-berr.c @@ -22,7 +22,6 @@  #include <asm/mipsregs.h>  #include <asm/page.h>  #include <asm/ptrace.h> -#include <asm/system.h>  #include <asm/traps.h>  #include <asm/uaccess.h> diff --git a/arch/mips/dec/kn02xa-berr.c b/arch/mips/dec/kn02xa-berr.c index 07ca5405d48..ebb73c51d82 100644 --- a/arch/mips/dec/kn02xa-berr.c +++ b/arch/mips/dec/kn02xa-berr.c @@ -21,7 +21,6 @@  #include <asm/addrspace.h>  #include <asm/irq_regs.h>  #include <asm/ptrace.h> -#include <asm/system.h>  #include <asm/traps.h>  #include <asm/dec/kn02ca.h> diff --git a/arch/mips/dec/wbflush.c b/arch/mips/dec/wbflush.c index 925c0525344..43feddd5e19 100644 --- a/arch/mips/dec/wbflush.c +++ b/arch/mips/dec/wbflush.c @@ -17,8 +17,8 @@  #include <linux/init.h>  #include <asm/bootinfo.h> -#include <asm/system.h>  #include <asm/wbflush.h> +#include <asm/barrier.h>  static void wbflush_kn01(void);  static void wbflush_kn210(void); diff --git a/arch/mips/emma/markeins/irq.c b/arch/mips/emma/markeins/irq.c index 7798887a128..b5f08255d9c 100644 --- a/arch/mips/emma/markeins/irq.c +++ b/arch/mips/emma/markeins/irq.c @@ -27,7 +27,6 @@  #include <linux/delay.h>  #include <asm/irq_cpu.h> -#include <asm/system.h>  #include <asm/mipsregs.h>  #include <asm/addrspace.h>  #include <asm/bootinfo.h> diff --git a/arch/mips/fw/arc/misc.c b/arch/mips/fw/arc/misc.c index 29627fbae7a..7cf80ca2c1d 100644 --- a/arch/mips/fw/arc/misc.c +++ b/arch/mips/fw/arc/misc.c @@ -17,7 +17,6 @@  #include <asm/fw/arc/types.h>  #include <asm/sgialib.h>  #include <asm/bootinfo.h> -#include <asm/system.h>  VOID  ArcHalt(VOID) diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h index 1d93f81d57e..3f4c5cb6433 100644 --- a/arch/mips/include/asm/atomic.h +++ b/arch/mips/include/asm/atomic.h @@ -18,8 +18,8 @@  #include <linux/types.h>  #include <asm/barrier.h>  #include <asm/cpu-features.h> +#include <asm/cmpxchg.h>  #include <asm/war.h> -#include <asm/system.h>  #define ATOMIC_INIT(i)    { (i) } diff --git a/arch/mips/include/asm/barrier.h b/arch/mips/include/asm/barrier.h index c0884f02d3a..f7fdc24e972 100644 --- a/arch/mips/include/asm/barrier.h +++ b/arch/mips/include/asm/barrier.h @@ -8,6 +8,8 @@  #ifndef __ASM_BARRIER_H  #define __ASM_BARRIER_H +#include <asm/addrspace.h> +  /*   * read_barrier_depends - Flush all pending reads that subsequents reads   * depend on. diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h index d8d1c2805ac..285a41fa0b1 100644 --- a/arch/mips/include/asm/cmpxchg.h +++ b/arch/mips/include/asm/cmpxchg.h @@ -9,6 +9,130 @@  #define __ASM_CMPXCHG_H  #include <linux/irqflags.h> +#include <asm/war.h> + +static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) +{ +	__u32 retval; + +	smp_mb__before_llsc(); + +	if (kernel_uses_llsc && R10000_LLSC_WAR) { +		unsigned long dummy; + +		__asm__ __volatile__( +		"	.set	mips3					\n" +		"1:	ll	%0, %3			# xchg_u32	\n" +		"	.set	mips0					\n" +		"	move	%2, %z4					\n" +		"	.set	mips3					\n" +		"	sc	%2, %1					\n" +		"	beqzl	%2, 1b					\n" +		"	.set	mips0					\n" +		: "=&r" (retval), "=m" (*m), "=&r" (dummy) +		: "R" (*m), "Jr" (val) +		: "memory"); +	} else if (kernel_uses_llsc) { +		unsigned long dummy; + +		do { +			__asm__ __volatile__( +			"	.set	mips3				\n" +			"	ll	%0, %3		# xchg_u32	\n" +			"	.set	mips0				\n" +			"	move	%2, %z4				\n" +			"	.set	mips3				\n" +			"	sc	%2, %1				\n" +			"	.set	mips0				\n" +			: "=&r" (retval), "=m" (*m), "=&r" (dummy) +			: "R" (*m), "Jr" (val) +			: "memory"); +		} while (unlikely(!dummy)); +	} else { +		unsigned long flags; + +		raw_local_irq_save(flags); +		retval = *m; +		*m = val; +		raw_local_irq_restore(flags);	/* implies memory barrier  */ +	} + +	smp_llsc_mb(); + +	return retval; +} + +#ifdef CONFIG_64BIT +static inline __u64 __xchg_u64(volatile __u64 * m, __u64 val) +{ +	__u64 retval; + +	smp_mb__before_llsc(); + +	if (kernel_uses_llsc && R10000_LLSC_WAR) { +		unsigned long dummy; + +		__asm__ __volatile__( +		"	.set	mips3					\n" +		"1:	lld	%0, %3			# xchg_u64	\n" +		"	move	%2, %z4					\n" +		"	scd	%2, %1					\n" +		"	beqzl	%2, 1b					\n" +		"	.set	mips0					\n" +		: "=&r" (retval), "=m" (*m), "=&r" (dummy) +		: "R" (*m), "Jr" (val) +		: "memory"); +	} else if (kernel_uses_llsc) { +		unsigned long dummy; + +		do { +			__asm__ __volatile__( +			"	.set	mips3				\n" +			"	lld	%0, %3		# xchg_u64	\n" +			"	move	%2, %z4				\n" +			"	scd	%2, %1				\n" +			"	.set	mips0				\n" +			: "=&r" (retval), "=m" (*m), "=&r" (dummy) +			: "R" (*m), "Jr" (val) +			: "memory"); +		} while (unlikely(!dummy)); +	} else { +		unsigned long flags; + +		raw_local_irq_save(flags); +		retval = *m; +		*m = val; +		raw_local_irq_restore(flags);	/* implies memory barrier  */ +	} + +	smp_llsc_mb(); + +	return retval; +} +#else +extern __u64 __xchg_u64_unsupported_on_32bit_kernels(volatile __u64 * m, __u64 val); +#define __xchg_u64 __xchg_u64_unsupported_on_32bit_kernels +#endif + +static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size) +{ +	switch (size) { +	case 4: +		return __xchg_u32(ptr, x); +	case 8: +		return __xchg_u64(ptr, x); +	} + +	return x; +} + +#define xchg(ptr, x)							\ +({									\ +	BUILD_BUG_ON(sizeof(*(ptr)) & ~0xc);				\ +									\ +	((__typeof__(*(ptr)))						\ +		__xchg((unsigned long)(x), (ptr), sizeof(*(ptr))));	\ +})  #define __HAVE_ARCH_CMPXCHG 1 diff --git a/arch/mips/include/asm/dma.h b/arch/mips/include/asm/dma.h index 2d47da62d5a..f5097f65a8a 100644 --- a/arch/mips/include/asm/dma.h +++ b/arch/mips/include/asm/dma.h @@ -15,7 +15,6 @@  #include <asm/io.h>			/* need byte IO */  #include <linux/spinlock.h>		/* And spinlocks */  #include <linux/delay.h> -#include <asm/system.h>  #ifdef HAVE_REALLY_SLOW_DMA_CONTROLLER diff --git a/arch/mips/include/asm/exec.h b/arch/mips/include/asm/exec.h new file mode 100644 index 00000000000..c1f6afa4bc4 --- /dev/null +++ b/arch/mips/include/asm/exec.h @@ -0,0 +1,17 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License.  See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1994, 95, 96, 97, 98, 99, 2003, 06 by Ralf Baechle + * Copyright (C) 1996 by Paul M. Antoine + * Copyright (C) 1999 Silicon Graphics + * Kevin D. Kissell, kevink@mips.org and Carsten Langgaard, carstenl@mips.com + * Copyright (C) 2000 MIPS Technologies, Inc. + */ +#ifndef _ASM_EXEC_H +#define _ASM_EXEC_H + +extern unsigned long arch_align_stack(unsigned long sp); + +#endif /* _ASM_EXEC_H */ diff --git a/arch/mips/include/asm/mach-au1x00/au1000_dma.h b/arch/mips/include/asm/mach-au1x00/au1000_dma.h index 59f5b55b220..ba4cf0e91c8 100644 --- a/arch/mips/include/asm/mach-au1x00/au1000_dma.h +++ b/arch/mips/include/asm/mach-au1x00/au1000_dma.h @@ -33,7 +33,6 @@  #include <linux/io.h>		/* need byte IO */  #include <linux/spinlock.h>	/* And spinlocks */  #include <linux/delay.h> -#include <asm/system.h>  #define NUM_AU1000_DMA_CHANNELS	8 diff --git a/arch/mips/include/asm/processor.h b/arch/mips/include/asm/processor.h index c104f1039a6..20e9dcf42b2 100644 --- a/arch/mips/include/asm/processor.h +++ b/arch/mips/include/asm/processor.h @@ -19,7 +19,6 @@  #include <asm/cpu-info.h>  #include <asm/mipsregs.h>  #include <asm/prefetch.h> -#include <asm/system.h>  /*   * Return current * instruction pointer ("program counter"). @@ -356,6 +355,12 @@ unsigned long get_wchan(struct task_struct *p);  #define ARCH_HAS_PREFETCHW  #define prefetchw(x) __builtin_prefetch((x), 1, 1) +/* + * See Documentation/scheduler/sched-arch.txt; prevents deadlock on SMP + * systems. + */ +#define __ARCH_WANT_UNLOCKED_CTXSW +  #endif  #endif /* _ASM_PROCESSOR_H */ diff --git a/arch/mips/include/asm/setup.h b/arch/mips/include/asm/setup.h index 50511aac04e..6dce6d8d09a 100644 --- a/arch/mips/include/asm/setup.h +++ b/arch/mips/include/asm/setup.h @@ -5,6 +5,17 @@  #ifdef  __KERNEL__  extern void setup_early_printk(void); + +extern void set_handler(unsigned long offset, void *addr, unsigned long len); +extern void set_uncached_handler(unsigned long offset, void *addr, unsigned long len); + +typedef void (*vi_handler_t)(void); +extern void *set_vi_handler(int n, vi_handler_t addr); + +extern void *set_except_vector(int n, void *addr); +extern unsigned long ebase; +extern void per_cpu_trap_init(void); +  #endif /* __KERNEL__ */  #endif /* __SETUP_H */ diff --git a/arch/mips/include/asm/switch_to.h b/arch/mips/include/asm/switch_to.h new file mode 100644 index 00000000000..5d33621b565 --- /dev/null +++ b/arch/mips/include/asm/switch_to.h @@ -0,0 +1,85 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License.  See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1994, 95, 96, 97, 98, 99, 2003, 06 by Ralf Baechle + * Copyright (C) 1996 by Paul M. Antoine + * Copyright (C) 1999 Silicon Graphics + * Kevin D. Kissell, kevink@mips.org and Carsten Langgaard, carstenl@mips.com + * Copyright (C) 2000 MIPS Technologies, Inc. + */ +#ifndef _ASM_SWITCH_TO_H +#define _ASM_SWITCH_TO_H + +#include <asm/cpu-features.h> +#include <asm/watch.h> +#include <asm/dsp.h> + +struct task_struct; + +/* + * switch_to(n) should switch tasks to task nr n, first + * checking that n isn't the current task, in which case it does nothing. + */ +extern asmlinkage void *resume(void *last, void *next, void *next_ti); + +extern unsigned int ll_bit; +extern struct task_struct *ll_task; + +#ifdef CONFIG_MIPS_MT_FPAFF + +/* + * Handle the scheduler resume end of FPU affinity management.  We do this + * inline to try to keep the overhead down. If we have been forced to run on + * a "CPU" with an FPU because of a previous high level of FP computation, + * but did not actually use the FPU during the most recent time-slice (CU1 + * isn't set), we undo the restriction on cpus_allowed. + * + * We're not calling set_cpus_allowed() here, because we have no need to + * force prompt migration - we're already switching the current CPU to a + * different thread. + */ + +#define __mips_mt_fpaff_switch_to(prev)					\ +do {									\ +	struct thread_info *__prev_ti = task_thread_info(prev);		\ +									\ +	if (cpu_has_fpu &&						\ +	    test_ti_thread_flag(__prev_ti, TIF_FPUBOUND) &&		\ +	    (!(KSTK_STATUS(prev) & ST0_CU1))) {				\ +		clear_ti_thread_flag(__prev_ti, TIF_FPUBOUND);		\ +		prev->cpus_allowed = prev->thread.user_cpus_allowed;	\ +	}								\ +	next->thread.emulated_fp = 0;					\ +} while(0) + +#else +#define __mips_mt_fpaff_switch_to(prev) do { (void) (prev); } while (0) +#endif + +#define __clear_software_ll_bit()					\ +do {									\ +	if (!__builtin_constant_p(cpu_has_llsc) || !cpu_has_llsc)	\ +		ll_bit = 0;						\ +} while (0) + +#define switch_to(prev, next, last)					\ +do {									\ +	__mips_mt_fpaff_switch_to(prev);				\ +	if (cpu_has_dsp)						\ +		__save_dsp(prev);					\ +	__clear_software_ll_bit();					\ +	(last) = resume(prev, next, task_thread_info(next));		\ +} while (0) + +#define finish_arch_switch(prev)					\ +do {									\ +	if (cpu_has_dsp)						\ +		__restore_dsp(current);					\ +	if (cpu_has_userlocal)						\ +		write_c0_userlocal(current_thread_info()->tp_value);	\ +	__restore_watch();						\ +} while (0) + +#endif /* _ASM_SWITCH_TO_H */ diff --git a/arch/mips/include/asm/system.h b/arch/mips/include/asm/system.h index 6018c80ce37..a7f40578587 100644 --- a/arch/mips/include/asm/system.h +++ b/arch/mips/include/asm/system.h @@ -1,235 +1,5 @@ -/* - * This file is subject to the terms and conditions of the GNU General Public - * License.  See the file "COPYING" in the main directory of this archive - * for more details. - * - * Copyright (C) 1994, 95, 96, 97, 98, 99, 2003, 06 by Ralf Baechle - * Copyright (C) 1996 by Paul M. Antoine - * Copyright (C) 1999 Silicon Graphics - * Kevin D. Kissell, kevink@mips.org and Carsten Langgaard, carstenl@mips.com - * Copyright (C) 2000 MIPS Technologies, Inc. - */ -#ifndef _ASM_SYSTEM_H -#define _ASM_SYSTEM_H - -#include <linux/kernel.h> -#include <linux/types.h> -#include <linux/irqflags.h> - -#include <asm/addrspace.h> +/* FILE TO BE DELETED. DO NOT ADD STUFF HERE! */  #include <asm/barrier.h>  #include <asm/cmpxchg.h> -#include <asm/cpu-features.h> -#include <asm/dsp.h> -#include <asm/watch.h> -#include <asm/war.h> - - -/* - * switch_to(n) should switch tasks to task nr n, first - * checking that n isn't the current task, in which case it does nothing. - */ -extern asmlinkage void *resume(void *last, void *next, void *next_ti); - -struct task_struct; - -extern unsigned int ll_bit; -extern struct task_struct *ll_task; - -#ifdef CONFIG_MIPS_MT_FPAFF - -/* - * Handle the scheduler resume end of FPU affinity management.  We do this - * inline to try to keep the overhead down. If we have been forced to run on - * a "CPU" with an FPU because of a previous high level of FP computation, - * but did not actually use the FPU during the most recent time-slice (CU1 - * isn't set), we undo the restriction on cpus_allowed. - * - * We're not calling set_cpus_allowed() here, because we have no need to - * force prompt migration - we're already switching the current CPU to a - * different thread. - */ - -#define __mips_mt_fpaff_switch_to(prev)					\ -do {									\ -	struct thread_info *__prev_ti = task_thread_info(prev);		\ -									\ -	if (cpu_has_fpu &&						\ -	    test_ti_thread_flag(__prev_ti, TIF_FPUBOUND) &&		\ -	    (!(KSTK_STATUS(prev) & ST0_CU1))) {				\ -		clear_ti_thread_flag(__prev_ti, TIF_FPUBOUND);		\ -		prev->cpus_allowed = prev->thread.user_cpus_allowed;	\ -	}								\ -	next->thread.emulated_fp = 0;					\ -} while(0) - -#else -#define __mips_mt_fpaff_switch_to(prev) do { (void) (prev); } while (0) -#endif - -#define __clear_software_ll_bit()					\ -do {									\ -	if (!__builtin_constant_p(cpu_has_llsc) || !cpu_has_llsc)	\ -		ll_bit = 0;						\ -} while (0) - -#define switch_to(prev, next, last)					\ -do {									\ -	__mips_mt_fpaff_switch_to(prev);				\ -	if (cpu_has_dsp)						\ -		__save_dsp(prev);					\ -	__clear_software_ll_bit();					\ -	(last) = resume(prev, next, task_thread_info(next));		\ -} while (0) - -#define finish_arch_switch(prev)					\ -do {									\ -	if (cpu_has_dsp)						\ -		__restore_dsp(current);					\ -	if (cpu_has_userlocal)						\ -		write_c0_userlocal(current_thread_info()->tp_value);	\ -	__restore_watch();						\ -} while (0) - -static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) -{ -	__u32 retval; - -	smp_mb__before_llsc(); - -	if (kernel_uses_llsc && R10000_LLSC_WAR) { -		unsigned long dummy; - -		__asm__ __volatile__( -		"	.set	mips3					\n" -		"1:	ll	%0, %3			# xchg_u32	\n" -		"	.set	mips0					\n" -		"	move	%2, %z4					\n" -		"	.set	mips3					\n" -		"	sc	%2, %1					\n" -		"	beqzl	%2, 1b					\n" -		"	.set	mips0					\n" -		: "=&r" (retval), "=m" (*m), "=&r" (dummy) -		: "R" (*m), "Jr" (val) -		: "memory"); -	} else if (kernel_uses_llsc) { -		unsigned long dummy; - -		do { -			__asm__ __volatile__( -			"	.set	mips3				\n" -			"	ll	%0, %3		# xchg_u32	\n" -			"	.set	mips0				\n" -			"	move	%2, %z4				\n" -			"	.set	mips3				\n" -			"	sc	%2, %1				\n" -			"	.set	mips0				\n" -			: "=&r" (retval), "=m" (*m), "=&r" (dummy) -			: "R" (*m), "Jr" (val) -			: "memory"); -		} while (unlikely(!dummy)); -	} else { -		unsigned long flags; - -		raw_local_irq_save(flags); -		retval = *m; -		*m = val; -		raw_local_irq_restore(flags);	/* implies memory barrier  */ -	} - -	smp_llsc_mb(); - -	return retval; -} - -#ifdef CONFIG_64BIT -static inline __u64 __xchg_u64(volatile __u64 * m, __u64 val) -{ -	__u64 retval; - -	smp_mb__before_llsc(); - -	if (kernel_uses_llsc && R10000_LLSC_WAR) { -		unsigned long dummy; - -		__asm__ __volatile__( -		"	.set	mips3					\n" -		"1:	lld	%0, %3			# xchg_u64	\n" -		"	move	%2, %z4					\n" -		"	scd	%2, %1					\n" -		"	beqzl	%2, 1b					\n" -		"	.set	mips0					\n" -		: "=&r" (retval), "=m" (*m), "=&r" (dummy) -		: "R" (*m), "Jr" (val) -		: "memory"); -	} else if (kernel_uses_llsc) { -		unsigned long dummy; - -		do { -			__asm__ __volatile__( -			"	.set	mips3				\n" -			"	lld	%0, %3		# xchg_u64	\n" -			"	move	%2, %z4				\n" -			"	scd	%2, %1				\n" -			"	.set	mips0				\n" -			: "=&r" (retval), "=m" (*m), "=&r" (dummy) -			: "R" (*m), "Jr" (val) -			: "memory"); -		} while (unlikely(!dummy)); -	} else { -		unsigned long flags; - -		raw_local_irq_save(flags); -		retval = *m; -		*m = val; -		raw_local_irq_restore(flags);	/* implies memory barrier  */ -	} - -	smp_llsc_mb(); - -	return retval; -} -#else -extern __u64 __xchg_u64_unsupported_on_32bit_kernels(volatile __u64 * m, __u64 val); -#define __xchg_u64 __xchg_u64_unsupported_on_32bit_kernels -#endif - -static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size) -{ -	switch (size) { -	case 4: -		return __xchg_u32(ptr, x); -	case 8: -		return __xchg_u64(ptr, x); -	} - -	return x; -} - -#define xchg(ptr, x)							\ -({									\ -	BUILD_BUG_ON(sizeof(*(ptr)) & ~0xc);				\ -									\ -	((__typeof__(*(ptr)))						\ -		__xchg((unsigned long)(x), (ptr), sizeof(*(ptr))));	\ -}) - -extern void set_handler(unsigned long offset, void *addr, unsigned long len); -extern void set_uncached_handler(unsigned long offset, void *addr, unsigned long len); - -typedef void (*vi_handler_t)(void); -extern void *set_vi_handler(int n, vi_handler_t addr); - -extern void *set_except_vector(int n, void *addr); -extern unsigned long ebase; -extern void per_cpu_trap_init(void); - -/* - * See include/asm-ia64/system.h; prevents deadlock on SMP - * systems. - */ -#define __ARCH_WANT_UNLOCKED_CTXSW - -extern unsigned long arch_align_stack(unsigned long sp); - -#endif /* _ASM_SYSTEM_H */ +#include <asm/exec.h> +#include <asm/switch_to.h> diff --git a/arch/mips/include/asm/txx9/jmr3927.h b/arch/mips/include/asm/txx9/jmr3927.h index a409c446bf1..8808d7f82da 100644 --- a/arch/mips/include/asm/txx9/jmr3927.h +++ b/arch/mips/include/asm/txx9/jmr3927.h @@ -12,7 +12,6 @@  #include <asm/txx9/tx3927.h>  #include <asm/addrspace.h> -#include <asm/system.h>  #include <asm/txx9irq.h>  /* CS */ diff --git a/arch/mips/kernel/cpu-bugs64.c b/arch/mips/kernel/cpu-bugs64.c index f305ca14351..d6a18644365 100644 --- a/arch/mips/kernel/cpu-bugs64.c +++ b/arch/mips/kernel/cpu-bugs64.c @@ -16,7 +16,7 @@  #include <asm/cpu.h>  #include <asm/fpu.h>  #include <asm/mipsregs.h> -#include <asm/system.h> +#include <asm/setup.h>  static char bug64hit[] __initdata =  	"reliable operation impossible!\n%s"; diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index 0bab464b8e3..5099201fb7b 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c @@ -22,7 +22,6 @@  #include <asm/cpu.h>  #include <asm/fpu.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <asm/watch.h>  #include <asm/elf.h>  #include <asm/spram.h> diff --git a/arch/mips/kernel/irq-rm7000.c b/arch/mips/kernel/irq-rm7000.c index a8a8977d588..b0662cf97ea 100644 --- a/arch/mips/kernel/irq-rm7000.c +++ b/arch/mips/kernel/irq-rm7000.c @@ -16,7 +16,6 @@  #include <asm/irq_cpu.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  static inline void unmask_rm7k_irq(struct irq_data *d)  { diff --git a/arch/mips/kernel/irq-rm9000.c b/arch/mips/kernel/irq-rm9000.c index 38874a4b925..1282b9ae81c 100644 --- a/arch/mips/kernel/irq-rm9000.c +++ b/arch/mips/kernel/irq-rm9000.c @@ -17,7 +17,6 @@  #include <asm/irq_cpu.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  static inline void unmask_rm9k_irq(struct irq_data *d)  { diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 7f50318061b..a5aa43d07c8 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -23,7 +23,6 @@  #include <linux/ftrace.h>  #include <linux/atomic.h> -#include <asm/system.h>  #include <asm/uaccess.h>  #ifdef CONFIG_KGDB diff --git a/arch/mips/kernel/irq_cpu.c b/arch/mips/kernel/irq_cpu.c index 191eb52228c..972263bcf40 100644 --- a/arch/mips/kernel/irq_cpu.c +++ b/arch/mips/kernel/irq_cpu.c @@ -35,7 +35,6 @@  #include <asm/irq_cpu.h>  #include <asm/mipsregs.h>  #include <asm/mipsmtregs.h> -#include <asm/system.h>  static inline void unmask_mips_irq(struct irq_data *d)  { diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c index c23d11f6851..7f3376b1c21 100644 --- a/arch/mips/kernel/mips-mt.c +++ b/arch/mips/kernel/mips-mt.c @@ -13,7 +13,6 @@  #include <asm/cpu.h>  #include <asm/processor.h>  #include <linux/atomic.h> -#include <asm/system.h>  #include <asm/hardirq.h>  #include <asm/mmu_context.h>  #include <asm/mipsmtregs.h> diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 61f1cb45a1d..e9a5fd7277f 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c @@ -32,7 +32,6 @@  #include <asm/dsp.h>  #include <asm/fpu.h>  #include <asm/pgtable.h> -#include <asm/system.h>  #include <asm/mipsregs.h>  #include <asm/processor.h>  #include <asm/uaccess.h> diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c index 7786b608d93..7c24c2973c6 100644 --- a/arch/mips/kernel/ptrace.c +++ b/arch/mips/kernel/ptrace.c @@ -34,7 +34,6 @@  #include <asm/mipsmtregs.h>  #include <asm/pgtable.h>  #include <asm/page.h> -#include <asm/system.h>  #include <asm/uaccess.h>  #include <asm/bootinfo.h>  #include <asm/reg.h> diff --git a/arch/mips/kernel/ptrace32.c b/arch/mips/kernel/ptrace32.c index 32644b4a071..a3b017815ef 100644 --- a/arch/mips/kernel/ptrace32.c +++ b/arch/mips/kernel/ptrace32.c @@ -32,7 +32,6 @@  #include <asm/mipsmtregs.h>  #include <asm/pgtable.h>  #include <asm/page.h> -#include <asm/system.h>  #include <asm/uaccess.h>  #include <asm/bootinfo.h> diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c index a9d801dec6b..b8c18dcdd2c 100644 --- a/arch/mips/kernel/rtlx.c +++ b/arch/mips/kernel/rtlx.c @@ -38,7 +38,6 @@  #include <linux/atomic.h>  #include <asm/cpu.h>  #include <asm/processor.h> -#include <asm/system.h>  #include <asm/vpe.h>  #include <asm/rtlx.h> diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index 058e964e730..c504b212f8f 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c @@ -31,7 +31,6 @@  #include <asm/sections.h>  #include <asm/setup.h>  #include <asm/smp-ops.h> -#include <asm/system.h>  #include <asm/prom.h>  struct cpuinfo_mips cpu_data[NR_CPUS] __read_mostly; diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c index f8524003676..185ca00c4c8 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c @@ -34,6 +34,7 @@  #include <asm/cpu-features.h>  #include <asm/war.h>  #include <asm/vdso.h> +#include <asm/dsp.h>  #include "signal-common.h" diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c index aae98661379..06b5da392e2 100644 --- a/arch/mips/kernel/signal32.c +++ b/arch/mips/kernel/signal32.c @@ -29,10 +29,10 @@  #include <asm/cacheflush.h>  #include <asm/sim.h>  #include <asm/ucontext.h> -#include <asm/system.h>  #include <asm/fpu.h>  #include <asm/war.h>  #include <asm/vdso.h> +#include <asm/dsp.h>  #include "signal-common.h" diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c index ee24d814d5b..ae29e894ab8 100644 --- a/arch/mips/kernel/signal_n32.c +++ b/arch/mips/kernel/signal_n32.c @@ -35,7 +35,6 @@  #include <asm/sim.h>  #include <asm/uaccess.h>  #include <asm/ucontext.h> -#include <asm/system.h>  #include <asm/fpu.h>  #include <asm/cpu-features.h>  #include <asm/war.h> diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c index d5e950ab852..ca673569fd2 100644 --- a/arch/mips/kernel/smp-bmips.c +++ b/arch/mips/kernel/smp-bmips.c @@ -28,7 +28,6 @@  #include <asm/time.h>  #include <asm/pgtable.h>  #include <asm/processor.h> -#include <asm/system.h>  #include <asm/bootinfo.h>  #include <asm/pmon.h>  #include <asm/cacheflush.h> diff --git a/arch/mips/kernel/smp-cmp.c b/arch/mips/kernel/smp-cmp.c index fe309516065..e7e03ecf549 100644 --- a/arch/mips/kernel/smp-cmp.c +++ b/arch/mips/kernel/smp-cmp.c @@ -29,7 +29,6 @@  #include <asm/cacheflush.h>  #include <asm/cpu.h>  #include <asm/processor.h> -#include <asm/system.h>  #include <asm/hardirq.h>  #include <asm/mmu_context.h>  #include <asm/smp.h> diff --git a/arch/mips/kernel/smp-mt.c b/arch/mips/kernel/smp-mt.c index ce9e286f0a7..ff17868734c 100644 --- a/arch/mips/kernel/smp-mt.c +++ b/arch/mips/kernel/smp-mt.c @@ -28,7 +28,6 @@  #include <asm/cacheflush.h>  #include <asm/cpu.h>  #include <asm/processor.h> -#include <asm/system.h>  #include <asm/hardirq.h>  #include <asm/mmu_context.h>  #include <asm/time.h> diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index 32c1e954cd3..9c1cce9de35 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c @@ -38,9 +38,9 @@  #include <asm/cpu.h>  #include <asm/processor.h>  #include <asm/r4k-timer.h> -#include <asm/system.h>  #include <asm/mmu_context.h>  #include <asm/time.h> +#include <asm/setup.h>  #ifdef CONFIG_MIPS_MT_SMTC  #include <asm/mipsmtregs.h> diff --git a/arch/mips/kernel/smtc-proc.c b/arch/mips/kernel/smtc-proc.c index 928a5a61e1a..145771c0ed7 100644 --- a/arch/mips/kernel/smtc-proc.c +++ b/arch/mips/kernel/smtc-proc.c @@ -11,7 +11,6 @@  #include <asm/cpu.h>  #include <asm/processor.h>  #include <linux/atomic.h> -#include <asm/system.h>  #include <asm/hardirq.h>  #include <asm/mmu_context.h>  #include <asm/mipsregs.h> diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c index 0a42ff3ff6a..c4f75bbc0bd 100644 --- a/arch/mips/kernel/smtc.c +++ b/arch/mips/kernel/smtc.c @@ -31,7 +31,6 @@  #include <asm/cpu.h>  #include <asm/processor.h>  #include <linux/atomic.h> -#include <asm/system.h>  #include <asm/hardirq.h>  #include <asm/hazards.h>  #include <asm/irq.h> diff --git a/arch/mips/kernel/spram.c b/arch/mips/kernel/spram.c index 1821d12a641..6af08d896e2 100644 --- a/arch/mips/kernel/spram.c +++ b/arch/mips/kernel/spram.c @@ -15,7 +15,6 @@  #include <asm/fpu.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <asm/r4kcache.h>  #include <asm/hazards.h> diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index d02765708dd..b08220c8211 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c @@ -37,6 +37,7 @@  #include <asm/shmparam.h>  #include <asm/sysmips.h>  #include <asm/uaccess.h> +#include <asm/switch_to.h>  /*   * For historic reasons the pipe(2) syscall on MIPS has an unusual calling diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index d79ae5437b5..cfdaaa4cffc 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c @@ -45,7 +45,6 @@  #include <asm/pgtable.h>  #include <asm/ptrace.h>  #include <asm/sections.h> -#include <asm/system.h>  #include <asm/tlbdebug.h>  #include <asm/traps.h>  #include <asm/uaccess.h> diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c index aedb8941caa..9c58bdf58f2 100644 --- a/arch/mips/kernel/unaligned.c +++ b/arch/mips/kernel/unaligned.c @@ -85,7 +85,6 @@  #include <asm/cop2.h>  #include <asm/inst.h>  #include <asm/uaccess.h> -#include <asm/system.h>  #define STR(x)  __STR(x)  #define __STR(x)  #x diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c index bfa12a4f97b..f6f91523cb1 100644 --- a/arch/mips/kernel/vpe.c +++ b/arch/mips/kernel/vpe.c @@ -49,7 +49,6 @@  #include <asm/cpu.h>  #include <asm/mips_mt.h>  #include <asm/processor.h> -#include <asm/system.h>  #include <asm/vpe.h>  #include <asm/kspd.h> diff --git a/arch/mips/lasat/reset.c b/arch/mips/lasat/reset.c index b1e7a89fb73..e21f0b9a586 100644 --- a/arch/mips/lasat/reset.c +++ b/arch/mips/lasat/reset.c @@ -21,7 +21,6 @@  #include <linux/pm.h>  #include <asm/reboot.h> -#include <asm/system.h>  #include <asm/lasat/lasat.h>  #include "picvue.h" diff --git a/arch/mips/math-emu/dsemul.c b/arch/mips/math-emu/dsemul.c index 3c4a8c5ba7f..384a3b0091e 100644 --- a/arch/mips/math-emu/dsemul.c +++ b/arch/mips/math-emu/dsemul.c @@ -12,7 +12,6 @@  #include <asm/uaccess.h>  #include <asm/branch.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <asm/cacheflush.h>  #include <asm/fpu_emulator.h> diff --git a/arch/mips/mipssim/sim_smtc.c b/arch/mips/mipssim/sim_smtc.c index 915063991f6..3c104abd8aa 100644 --- a/arch/mips/mipssim/sim_smtc.c +++ b/arch/mips/mipssim/sim_smtc.c @@ -28,7 +28,6 @@  #include <asm/cpu.h>  #include <asm/processor.h>  #include <asm/smtc.h> -#include <asm/system.h>  #include <asm/mmu_context.h>  #include <asm/smtc_ipi.h> diff --git a/arch/mips/mipssim/sim_time.c b/arch/mips/mipssim/sim_time.c index 5492c42f765..77bad3c0428 100644 --- a/arch/mips/mipssim/sim_time.c +++ b/arch/mips/mipssim/sim_time.c @@ -11,6 +11,7 @@  #include <asm/hardirq.h>  #include <asm/div64.h>  #include <asm/cpu.h> +#include <asm/setup.h>  #include <asm/time.h>  #include <asm/irq.h>  #include <asm/mc146818-time.h> diff --git a/arch/mips/mm/c-octeon.c b/arch/mips/mm/c-octeon.c index cf7895db073..1f9ca07f53c 100644 --- a/arch/mips/mm/c-octeon.c +++ b/arch/mips/mm/c-octeon.c @@ -21,7 +21,6 @@  #include <asm/page.h>  #include <asm/pgtable.h>  #include <asm/r4kcache.h> -#include <asm/system.h>  #include <asm/mmu_context.h>  #include <asm/war.h> diff --git a/arch/mips/mm/c-r3k.c b/arch/mips/mm/c-r3k.c index 0765583d0c9..031c4c2cdf2 100644 --- a/arch/mips/mm/c-r3k.c +++ b/arch/mips/mm/c-r3k.c @@ -18,7 +18,6 @@  #include <asm/page.h>  #include <asm/pgtable.h>  #include <asm/mmu_context.h> -#include <asm/system.h>  #include <asm/isadep.h>  #include <asm/io.h>  #include <asm/bootinfo.h> diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index c97087d12d0..bda8eb26ece 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c @@ -29,7 +29,6 @@  #include <asm/pgtable.h>  #include <asm/r4kcache.h>  #include <asm/sections.h> -#include <asm/system.h>  #include <asm/mmu_context.h>  #include <asm/war.h>  #include <asm/cacheflush.h> /* for run_uncached() */ diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c index a43c197ccf8..87d23cada6d 100644 --- a/arch/mips/mm/c-tx39.c +++ b/arch/mips/mm/c-tx39.c @@ -18,7 +18,6 @@  #include <asm/page.h>  #include <asm/pgtable.h>  #include <asm/mmu_context.h> -#include <asm/system.h>  #include <asm/isadep.h>  #include <asm/io.h>  #include <asm/bootinfo.h> diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c index 69ebd586d7f..c14f6dfed99 100644 --- a/arch/mips/mm/fault.c +++ b/arch/mips/mm/fault.c @@ -22,7 +22,6 @@  #include <asm/branch.h>  #include <asm/mmu_context.h> -#include <asm/system.h>  #include <asm/uaccess.h>  #include <asm/ptrace.h>  #include <asm/highmem.h>		/* For VMALLOC_END */ diff --git a/arch/mips/mm/page.c b/arch/mips/mm/page.c index 36272f7d374..cc0b626858b 100644 --- a/arch/mips/mm/page.c +++ b/arch/mips/mm/page.c @@ -22,7 +22,6 @@  #include <asm/page.h>  #include <asm/pgtable.h>  #include <asm/prefetch.h> -#include <asm/system.h>  #include <asm/bootinfo.h>  #include <asm/mipsregs.h>  #include <asm/mmu_context.h> diff --git a/arch/mips/mm/sc-ip22.c b/arch/mips/mm/sc-ip22.c index a6bd11fba7b..1eb708ef75f 100644 --- a/arch/mips/mm/sc-ip22.c +++ b/arch/mips/mm/sc-ip22.c @@ -12,7 +12,6 @@  #include <asm/bcache.h>  #include <asm/page.h>  #include <asm/pgtable.h> -#include <asm/system.h>  #include <asm/bootinfo.h>  #include <asm/sgi/ip22.h>  #include <asm/sgi/mc.h> diff --git a/arch/mips/mm/sc-mips.c b/arch/mips/mm/sc-mips.c index 9cca8de0054..93d937b4b1b 100644 --- a/arch/mips/mm/sc-mips.c +++ b/arch/mips/mm/sc-mips.c @@ -11,7 +11,6 @@  #include <asm/cacheops.h>  #include <asm/page.h>  #include <asm/pgtable.h> -#include <asm/system.h>  #include <asm/mmu_context.h>  #include <asm/r4kcache.h> diff --git a/arch/mips/mm/sc-r5k.c b/arch/mips/mm/sc-r5k.c index ae1e533a096..8d90ff25b12 100644 --- a/arch/mips/mm/sc-r5k.c +++ b/arch/mips/mm/sc-r5k.c @@ -12,7 +12,6 @@  #include <asm/cacheops.h>  #include <asm/page.h>  #include <asm/pgtable.h> -#include <asm/system.h>  #include <asm/mmu_context.h>  #include <asm/r4kcache.h> diff --git a/arch/mips/mm/tlb-r3k.c b/arch/mips/mm/tlb-r3k.c index ed1fa460f84..a63d1ed0827 100644 --- a/arch/mips/mm/tlb-r3k.c +++ b/arch/mips/mm/tlb-r3k.c @@ -19,7 +19,6 @@  #include <asm/page.h>  #include <asm/pgtable.h>  #include <asm/mmu_context.h> -#include <asm/system.h>  #include <asm/tlbmisc.h>  #include <asm/isadep.h>  #include <asm/io.h> diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c index 2dc625346c4..d2572cb232d 100644 --- a/arch/mips/mm/tlb-r4k.c +++ b/arch/mips/mm/tlb-r4k.c @@ -18,7 +18,6 @@  #include <asm/bootinfo.h>  #include <asm/mmu_context.h>  #include <asm/pgtable.h> -#include <asm/system.h>  #include <asm/tlbmisc.h>  extern void build_tlb_refill_handler(void); diff --git a/arch/mips/mm/tlb-r8k.c b/arch/mips/mm/tlb-r8k.c index 3d95f76c106..91c2499f806 100644 --- a/arch/mips/mm/tlb-r8k.c +++ b/arch/mips/mm/tlb-r8k.c @@ -17,7 +17,6 @@  #include <asm/bootinfo.h>  #include <asm/mmu_context.h>  #include <asm/pgtable.h> -#include <asm/system.h>  extern void build_tlb_refill_handler(void); diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index e06370f58ef..0bc485b3cd6 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c @@ -32,6 +32,7 @@  #include <asm/pgtable.h>  #include <asm/war.h>  #include <asm/uasm.h> +#include <asm/setup.h>  /*   * TLB load/store/modify handlers. diff --git a/arch/mips/mti-malta/malta-init.c b/arch/mips/mti-malta/malta-init.c index 4b988b9a30d..27a6cdb36e3 100644 --- a/arch/mips/mti-malta/malta-init.c +++ b/arch/mips/mti-malta/malta-init.c @@ -26,7 +26,6 @@  #include <asm/bootinfo.h>  #include <asm/gt64120.h>  #include <asm/io.h> -#include <asm/system.h>  #include <asm/cacheflush.h>  #include <asm/smp-ops.h>  #include <asm/traps.h> diff --git a/arch/mips/mti-malta/malta-int.c b/arch/mips/mti-malta/malta-int.c index a588b5cef8d..7b13a4caeea 100644 --- a/arch/mips/mti-malta/malta-int.c +++ b/arch/mips/mti-malta/malta-int.c @@ -44,6 +44,7 @@  #include <asm/msc01_ic.h>  #include <asm/gic.h>  #include <asm/gcmpregs.h> +#include <asm/setup.h>  int gcmp_present = -1;  int gic_present; diff --git a/arch/mips/mti-malta/malta-time.c b/arch/mips/mti-malta/malta-time.c index f8ee945ee41..115f5bc0600 100644 --- a/arch/mips/mti-malta/malta-time.c +++ b/arch/mips/mti-malta/malta-time.c @@ -35,6 +35,7 @@  #include <asm/irq.h>  #include <asm/div64.h>  #include <asm/cpu.h> +#include <asm/setup.h>  #include <asm/time.h>  #include <asm/mc146818-time.h>  #include <asm/msc01_ic.h> diff --git a/arch/mips/netlogic/common/irq.c b/arch/mips/netlogic/common/irq.c index 49a4f6cf71e..e52bfcbce09 100644 --- a/arch/mips/netlogic/common/irq.c +++ b/arch/mips/netlogic/common/irq.c @@ -43,7 +43,6 @@  #include <asm/errno.h>  #include <asm/signal.h> -#include <asm/system.h>  #include <asm/ptrace.h>  #include <asm/mipsregs.h>  #include <asm/thread_info.h> diff --git a/arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c b/arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c index c4fa2d775d8..2e6f7cab24c 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c @@ -16,7 +16,6 @@  #include <linux/irq.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <msp_cic_int.h>  #include <msp_regs.h> diff --git a/arch/mips/pmc-sierra/msp71xx/msp_irq_per.c b/arch/mips/pmc-sierra/msp71xx/msp_irq_per.c index 98fd0099d96..598b6a66b97 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_irq_per.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_irq_per.c @@ -16,7 +16,6 @@  #include <linux/bitops.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <msp_cic_int.h>  #include <msp_regs.h> diff --git a/arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c b/arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c index 5bbcc47da6b..83a1c5eae3f 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c @@ -16,7 +16,6 @@  #include <linux/bitops.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <msp_slp_int.h>  #include <msp_regs.h> diff --git a/arch/mips/pmc-sierra/yosemite/irq.c b/arch/mips/pmc-sierra/yosemite/irq.c index 25bbbf428be..6590812daa5 100644 --- a/arch/mips/pmc-sierra/yosemite/irq.c +++ b/arch/mips/pmc-sierra/yosemite/irq.c @@ -44,7 +44,6 @@  #include <asm/irq.h>  #include <asm/irq_cpu.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <asm/titan_dep.h>  /* Hypertransport specific */ diff --git a/arch/mips/pmc-sierra/yosemite/prom.c b/arch/mips/pmc-sierra/yosemite/prom.c index dcc926e06fc..6a2754c4f10 100644 --- a/arch/mips/pmc-sierra/yosemite/prom.c +++ b/arch/mips/pmc-sierra/yosemite/prom.c @@ -20,7 +20,6 @@  #include <asm/processor.h>  #include <asm/reboot.h>  #include <asm/smp-ops.h> -#include <asm/system.h>  #include <asm/bootinfo.h>  #include <asm/pmon.h> diff --git a/arch/mips/pnx833x/common/interrupts.c b/arch/mips/pnx833x/common/interrupts.c index adc171c8846..a86d5d5fceb 100644 --- a/arch/mips/pnx833x/common/interrupts.c +++ b/arch/mips/pnx833x/common/interrupts.c @@ -25,6 +25,7 @@  #include <linux/interrupt.h>  #include <asm/mipsregs.h>  #include <asm/irq_cpu.h> +#include <asm/setup.h>  #include <irq.h>  #include <irq-mapping.h>  #include <gpio.h> diff --git a/arch/mips/powertv/asic/asic_int.c b/arch/mips/powertv/asic/asic_int.c index 529c44a52d6..99d82e10000 100644 --- a/arch/mips/powertv/asic/asic_int.c +++ b/arch/mips/powertv/asic/asic_int.c @@ -34,6 +34,7 @@  #include <asm/irq_cpu.h>  #include <linux/io.h>  #include <asm/irq_regs.h> +#include <asm/setup.h>  #include <asm/mips-boards/generic.h>  #include <asm/mach-powertv/asic_regs.h> diff --git a/arch/mips/powertv/asic/irq_asic.c b/arch/mips/powertv/asic/irq_asic.c index 7fb97fb0931..fa9ae958471 100644 --- a/arch/mips/powertv/asic/irq_asic.c +++ b/arch/mips/powertv/asic/irq_asic.c @@ -17,7 +17,6 @@  #include <asm/irq_cpu.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <asm/mach-powertv/asic_regs.h> diff --git a/arch/mips/powertv/init.c b/arch/mips/powertv/init.c index 83552288e80..1cf5abbef71 100644 --- a/arch/mips/powertv/init.c +++ b/arch/mips/powertv/init.c @@ -26,7 +26,6 @@  #include <asm/bootinfo.h>  #include <linux/io.h> -#include <asm/system.h>  #include <asm/cacheflush.h>  #include <asm/traps.h> diff --git a/arch/mips/rb532/irq.c b/arch/mips/rb532/irq.c index 7c6db74e3fa..f298430cff0 100644 --- a/arch/mips/rb532/irq.c +++ b/arch/mips/rb532/irq.c @@ -42,7 +42,6 @@  #include <asm/bootinfo.h>  #include <asm/time.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <asm/mach-rc32434/irq.h>  #include <asm/mach-rc32434/gpio.h> diff --git a/arch/mips/sgi-ip22/ip22-berr.c b/arch/mips/sgi-ip22/ip22-berr.c index 911d3999c0c..3f6ccd53c15 100644 --- a/arch/mips/sgi-ip22/ip22-berr.c +++ b/arch/mips/sgi-ip22/ip22-berr.c @@ -9,7 +9,6 @@  #include <linux/sched.h>  #include <asm/addrspace.h> -#include <asm/system.h>  #include <asm/traps.h>  #include <asm/branch.h>  #include <asm/irq_regs.h> diff --git a/arch/mips/sgi-ip22/ip22-reset.c b/arch/mips/sgi-ip22/ip22-reset.c index 45b6694c207..20363d29cb5 100644 --- a/arch/mips/sgi-ip22/ip22-reset.c +++ b/arch/mips/sgi-ip22/ip22-reset.c @@ -18,7 +18,6 @@  #include <asm/io.h>  #include <asm/irq.h> -#include <asm/system.h>  #include <asm/reboot.h>  #include <asm/sgialib.h>  #include <asm/sgi/ioc.h> diff --git a/arch/mips/sgi-ip22/ip28-berr.c b/arch/mips/sgi-ip22/ip28-berr.c index 88c684e05a3..0626555fd1a 100644 --- a/arch/mips/sgi-ip22/ip28-berr.c +++ b/arch/mips/sgi-ip22/ip28-berr.c @@ -11,7 +11,6 @@  #include <linux/seq_file.h>  #include <asm/addrspace.h> -#include <asm/system.h>  #include <asm/traps.h>  #include <asm/branch.h>  #include <asm/irq_regs.h> diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c index 23642238c68..69a939ae65e 100644 --- a/arch/mips/sgi-ip27/ip27-irq.c +++ b/arch/mips/sgi-ip27/ip27-irq.c @@ -27,7 +27,6 @@  #include <asm/bootinfo.h>  #include <asm/io.h>  #include <asm/mipsregs.h> -#include <asm/system.h>  #include <asm/processor.h>  #include <asm/pci/bridge.h> diff --git a/arch/mips/sgi-ip27/ip27-reset.c b/arch/mips/sgi-ip27/ip27-reset.c index c17076108d4..f347bc6b795 100644 --- a/arch/mips/sgi-ip27/ip27-reset.c +++ b/arch/mips/sgi-ip27/ip27-reset.c @@ -19,7 +19,6 @@  #include <asm/io.h>  #include <asm/irq.h>  #include <asm/reboot.h> -#include <asm/system.h>  #include <asm/sgialib.h>  #include <asm/sn/addrs.h>  #include <asm/sn/arch.h> diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c index a092860d519..e7d5054de8c 100644 --- a/arch/mips/sgi-ip32/ip32-irq.c +++ b/arch/mips/sgi-ip32/ip32-irq.c @@ -22,7 +22,6 @@  #include <asm/irq_cpu.h>  #include <asm/mipsregs.h>  #include <asm/signal.h> -#include <asm/system.h>  #include <asm/time.h>  #include <asm/ip32/crime.h>  #include <asm/ip32/mace.h> diff --git a/arch/mips/sgi-ip32/ip32-reset.c b/arch/mips/sgi-ip32/ip32-reset.c index 9b95d80ebc6..1f823da4c77 100644 --- a/arch/mips/sgi-ip32/ip32-reset.c +++ b/arch/mips/sgi-ip32/ip32-reset.c @@ -20,7 +20,6 @@  #include <asm/addrspace.h>  #include <asm/irq.h>  #include <asm/reboot.h> -#include <asm/system.h>  #include <asm/wbflush.h>  #include <asm/ip32/mace.h>  #include <asm/ip32/crime.h> diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c index 09740d60e18..215713e1f3c 100644 --- a/arch/mips/sibyte/bcm1480/irq.c +++ b/arch/mips/sibyte/bcm1480/irq.c @@ -27,7 +27,6 @@  #include <asm/errno.h>  #include <asm/irq_regs.h>  #include <asm/signal.h> -#include <asm/system.h>  #include <asm/io.h>  #include <asm/sibyte/bcm1480_regs.h> diff --git a/arch/mips/sibyte/common/sb_tbprof.c b/arch/mips/sibyte/common/sb_tbprof.c index 48853ab5bcf..e8c4538c5f6 100644 --- a/arch/mips/sibyte/common/sb_tbprof.c +++ b/arch/mips/sibyte/common/sb_tbprof.c @@ -53,7 +53,6 @@  #define K_INT_PERF_CNT K_BCM1480_INT_PERF_CNT  #endif -#include <asm/system.h>  #include <asm/uaccess.h>  #define SBPROF_TB_MAJOR 240 diff --git a/arch/mips/sibyte/sb1250/bus_watcher.c b/arch/mips/sibyte/sb1250/bus_watcher.c index 45274bd3cd8..86e6e54dd15 100644 --- a/arch/mips/sibyte/sb1250/bus_watcher.c +++ b/arch/mips/sibyte/sb1250/bus_watcher.c @@ -30,7 +30,6 @@  #include <linux/interrupt.h>  #include <linux/sched.h>  #include <linux/proc_fs.h> -#include <asm/system.h>  #include <asm/io.h>  #include <asm/sibyte/sb1250.h> diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c index 76ee045e2ce..340aaf62665 100644 --- a/arch/mips/sibyte/sb1250/irq.c +++ b/arch/mips/sibyte/sb1250/irq.c @@ -26,7 +26,6 @@  #include <asm/errno.h>  #include <asm/signal.h> -#include <asm/system.h>  #include <asm/time.h>  #include <asm/io.h> diff --git a/arch/mips/sni/reset.c b/arch/mips/sni/reset.c index 79f8d70f48c..244f9427625 100644 --- a/arch/mips/sni/reset.c +++ b/arch/mips/sni/reset.c @@ -5,7 +5,6 @@   */  #include <asm/io.h>  #include <asm/reboot.h> -#include <asm/system.h>  #include <asm/sni.h>  /* diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c index fad2bef432c..ae0e4ee6c61 100644 --- a/arch/mips/vr41xx/common/irq.c +++ b/arch/mips/vr41xx/common/irq.c @@ -22,7 +22,6 @@  #include <linux/irq.h>  #include <asm/irq_cpu.h> -#include <asm/system.h>  #include <asm/vr41xx/irq.h>  typedef struct irq_cascade { diff --git a/arch/mips/vr41xx/common/pmu.c b/arch/mips/vr41xx/common/pmu.c index 692b4e85b7f..9fbf5f0d1fa 100644 --- a/arch/mips/vr41xx/common/pmu.c +++ b/arch/mips/vr41xx/common/pmu.c @@ -30,7 +30,6 @@  #include <asm/io.h>  #include <asm/processor.h>  #include <asm/reboot.h> -#include <asm/system.h>  #define PMU_TYPE1_BASE	0x0b0000a0UL  #define PMU_TYPE1_SIZE	0x0eUL  |