diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S
index 7eca56b7debfc84afc69a2a23bf1822e3a5ef527..875035e0c070c75e23419d2640bfcaae5f515bbb 100644
--- a/arch/arm/mm/proc-arm1020.S
+++ b/arch/arm/mm/proc-arm1020.S
@@ -65,15 +65,6 @@
 #define CACHE_DLIMIT	32768
 
 	.text
-/*
- * cpu_arm1020_check_bugs()
- */
-ENTRY(cpu_arm1020_check_bugs)
-	mrs	ip, cpsr
-	bic	ip, ip, #PSR_F_BIT
-	msr	cpsr, ip
-	mov	pc, lr
-
 /*
  * cpu_arm1020_proc_init()
  */
@@ -486,7 +477,6 @@ __arm1020_setup:
 	.type	arm1020_processor_functions, #object
 arm1020_processor_functions:
 	.word	v4t_early_abort
-	.word	cpu_arm1020_check_bugs
 	.word	cpu_arm1020_proc_init
 	.word	cpu_arm1020_proc_fin
 	.word	cpu_arm1020_reset
diff --git a/arch/arm/mm/proc-arm2_3.S b/arch/arm/mm/proc-arm2_3.S
index 69b584489135a8680c2af1b68bffd5d879ec5fa8..4ecce02b2c0963c54803d1882f4feec5306c2ecf 100644
--- a/arch/arm/mm/proc-arm2_3.S
+++ b/arch/arm/mm/proc-arm2_3.S
@@ -273,9 +273,6 @@ _arm2_xchg_4:	mov	r2, pc
 _arm3_xchg_4:	swp	r0, r0, [r1]
 		movs	pc, lr
 
-_arm2_3_check_bugs:
-		bics	pc, lr, #0x04000000		@ Clear FIQ disable bit
-
 cpu_arm2_name:
 		.asciz	"ARM 2"
 cpu_arm250_name:
@@ -290,7 +287,6 @@ cpu_arm3_name:
  */
 		.globl	arm2_processor_functions
 arm2_processor_functions:
-		.word	_arm2_3_check_bugs
 		.word	_arm2_proc_init
 		.word	_arm2_proc_fin
 		.word	_arm2_set_pgd
@@ -299,7 +295,6 @@ arm2_processor_functions:
 
 		.globl	arm250_processor_functions
 arm250_processor_functions:
-		.word	_arm2_3_check_bugs
 		.word	_arm2_proc_init
 		.word	_arm2_proc_fin
 		.word	_arm2_set_pgd
@@ -308,7 +303,6 @@ arm250_processor_functions:
 
 		.globl	arm3_processor_functions
 arm3_processor_functions:
-		.word	_arm2_3_check_bugs
 		.word	_arm3_proc_init
 		.word	_arm3_proc_fin
 		.word	_arm3_set_pgd
diff --git a/arch/arm/mm/proc-arm6_7.S b/arch/arm/mm/proc-arm6_7.S
index ef62add1cda68ed982e0308c15b81dbef94d7037..9f37920f71655da60aa518965742fc120631aea7 100644
--- a/arch/arm/mm/proc-arm6_7.S
+++ b/arch/arm/mm/proc-arm6_7.S
@@ -188,20 +188,6 @@ Ldata_lateldrpostreg:
 		addeq	r7, r0, r2
 		b	Ldata_saver7
 
-/*
- * Function: arm6_7_check_bugs (void)
- *	   : arm6_7_proc_init (void)
- *	   : arm6_7_proc_fin (void)
- *
- * Notes   : This processor does not require these
- */
-ENTRY(cpu_arm6_check_bugs)
-ENTRY(cpu_arm7_check_bugs)
-		mrs	ip, cpsr
-		bic	ip, ip, #PSR_F_BIT
-		msr	cpsr, ip
-		mov	pc, lr
-
 ENTRY(cpu_arm6_proc_init)
 ENTRY(cpu_arm7_proc_init)
 		mov	pc, lr
@@ -313,7 +299,6 @@ __arm7_setup:	mov	r0, #0
 		.type	arm6_processor_functions, #object
 ENTRY(arm6_processor_functions)
 		.word	cpu_arm6_data_abort
-		.word	cpu_arm6_check_bugs
 		.word	cpu_arm6_proc_init
 		.word	cpu_arm6_proc_fin
 		.word	cpu_arm6_reset
@@ -346,7 +331,6 @@ ENTRY(arm6_processor_functions)
 		.type	arm7_processor_functions, #object
 ENTRY(arm7_processor_functions)
 		.word	cpu_arm7_data_abort
-		.word	cpu_arm7_check_bugs
 		.word	cpu_arm7_proc_init
 		.word	cpu_arm7_proc_fin
 		.word	cpu_arm7_reset
diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S
index d2f4ba58da4278ddc20df4268db3a91f4f8dab54..70ea6283de5c862f48b125d298dd061a6c2718a9 100644
--- a/arch/arm/mm/proc-arm720.S
+++ b/arch/arm/mm/proc-arm720.S
@@ -38,18 +38,11 @@
 #include <asm/hardware.h>
 
 /*
- * Function: arm720_check_bugs (void)
- *	   : arm720_proc_init (void)
+ * Function: arm720_proc_init (void)
  *	   : arm720_proc_fin (void)
  *
  * Notes   : This processor does not require these
  */
-ENTRY(cpu_arm720_check_bugs)
-		mrs	ip, cpsr
-		bic	ip, ip, #PSR_F_BIT
-		msr	cpsr, ip
-		mov	pc, lr
-
 ENTRY(cpu_arm720_dcache_clean_area)
 ENTRY(cpu_arm720_proc_init)
 		mov	pc, lr
@@ -156,7 +149,6 @@ __arm720_setup:	mov	r0, #0
 		.type	arm720_processor_functions, #object
 ENTRY(arm720_processor_functions)
 		.word	v4t_late_abort
-		.word	cpu_arm720_check_bugs
 		.word	cpu_arm720_proc_init
 		.word	cpu_arm720_proc_fin
 		.word	cpu_arm720_reset
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S
index a1b48a09a6a95c24285a3d1f598a130e1919d974..c0a8ca3de3fdff1c2bf9fe3bde21e2a14593a277 100644
--- a/arch/arm/mm/proc-arm920.S
+++ b/arch/arm/mm/proc-arm920.S
@@ -57,15 +57,6 @@
 
 
 	.text
-/*
- * cpu_arm920_check_bugs()
- */
-ENTRY(cpu_arm920_check_bugs)
-	mrs	ip, cpsr
-	bic	ip, ip, #PSR_F_BIT
-	msr	cpsr, ip
-	mov	pc, lr
-
 /*
  * cpu_arm920_proc_init()
  */
@@ -426,7 +417,6 @@ __arm920_setup:
 	.type	arm920_processor_functions, #object
 arm920_processor_functions:
 	.word	v4t_early_abort
-	.word	cpu_arm920_check_bugs
 	.word	cpu_arm920_proc_init
 	.word	cpu_arm920_proc_fin
 	.word	cpu_arm920_reset
diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S
index 4cce1d2c87d79a01de4c3941ef2a3f25ee4c8343..f06ad84e4c83c45bc6773d2ccb48ad612104607b 100644
--- a/arch/arm/mm/proc-arm922.S
+++ b/arch/arm/mm/proc-arm922.S
@@ -59,15 +59,6 @@
 
 
 	.text
-/*
- * cpu_arm922_check_bugs()
- */
-ENTRY(cpu_arm922_check_bugs)
-	mrs	ip, cpsr
-	bic	ip, ip, #PSR_F_BIT
-	msr	cpsr, ip
-	mov	pc, lr
-
 /*
  * cpu_arm922_proc_init()
  */
@@ -430,7 +421,6 @@ __arm922_setup:
 	.type	arm922_processor_functions, #object
 arm922_processor_functions:
 	.word	v4t_early_abort
-	.word	cpu_arm922_check_bugs
 	.word	cpu_arm922_proc_init
 	.word	cpu_arm922_proc_fin
 	.word	cpu_arm922_reset
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S
index dc524cd2dc85bcd402e41d116e5609bbaf96a9ac..e4080b1defee37983dde896d461e8ebf558ca484 100644
--- a/arch/arm/mm/proc-arm926.S
+++ b/arch/arm/mm/proc-arm926.S
@@ -49,15 +49,6 @@
 #define CACHE_DLINESIZE	32
 
 	.text
-/*
- * cpu_arm926_check_bugs()
- */
-ENTRY(cpu_arm926_check_bugs)
-	mrs	ip, cpsr
-	bic	ip, ip, #PSR_F_BIT
-	msr	cpsr, ip
-	mov	pc, lr
-
 /*
  * cpu_arm926_proc_init()
  */
@@ -445,7 +436,6 @@ __arm926_setup:
 	.type	arm926_processor_functions, #object
 arm926_processor_functions:
 	.word	v5tej_early_abort
-	.word	cpu_arm926_check_bugs
 	.word	cpu_arm926_proc_init
 	.word	cpu_arm926_proc_fin
 	.word	cpu_arm926_reset
diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S
index b6d75c9129de0202aac30ffa9ba8d47e16aa0452..55efcba42c7970b5d4c0e57a09d407313cd3a3f2 100644
--- a/arch/arm/mm/proc-sa110.S
+++ b/arch/arm/mm/proc-sa110.S
@@ -42,15 +42,6 @@ flush_base:
 	.long	FLUSH_BASE
 	.text
 
-/*
- * cpu_sa110_check_bugs()
- */
-ENTRY(cpu_sa110_check_bugs)
-	mrs	ip, cpsr
-	bic	ip, ip, #PSR_F_BIT
-	msr	cpsr, ip
-	mov	pc, lr
-
 /*
  * cpu_sa110_proc_init()
  */
@@ -222,7 +213,6 @@ __sa110_setup:
 	.type	sa110_processor_functions, #object
 ENTRY(sa110_processor_functions)
 	.word	v4_early_abort
-	.word	cpu_sa110_check_bugs
 	.word	cpu_sa110_proc_init
 	.word	cpu_sa110_proc_fin
 	.word	cpu_sa110_reset
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S
index c8a8af4cd77d5be8c9758b08271572622d456d62..f063bf10c09953bbeb56b5b4befca1ad6d8c8c9d 100644
--- a/arch/arm/mm/proc-sa1100.S
+++ b/arch/arm/mm/proc-sa1100.S
@@ -54,15 +54,6 @@ flush_base:
 	.long	FLUSH_BASE
 	.text
 
-/*
- * cpu_sa1100_check_bugs()
- */
-ENTRY(cpu_sa1100_check_bugs)
-	mrs	ip, cpsr
-	bic	ip, ip, #PSR_F_BIT
-	msr	cpsr, ip
-	mov	pc, lr
-
 	__INIT
 
 /*
@@ -251,7 +242,6 @@ __sa1100_setup:
 	.type	sa1100_processor_functions, #object
 ENTRY(sa1100_processor_functions)
 	.word	v4_early_abort
-	.word	cpu_sa1100_check_bugs
 	.word	cpu_sa1100_proc_init
 	.word	cpu_sa1100_proc_fin
 	.word	cpu_sa1100_reset
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S
index 51ee9ea63b8fb2621eb617619fd8e3e97f9ff7a9..5c353c7f7eb49df2922a1919e42264f9fa5f41b2 100644
--- a/arch/arm/mm/proc-xscale.S
+++ b/arch/arm/mm/proc-xscale.S
@@ -107,15 +107,6 @@ clean_addr:	.word	CLEAN_ADDR
 
 	.text
 
-/*
- * cpu_xscale_check_bugs()
- */
-ENTRY(cpu_xscale_check_bugs)
-	mrs	ip, cpsr
-	bic	ip, ip, #PSR_F_BIT
-	msr	cpsr, ip
-	mov	pc, lr
-
 /*
  * cpu_xscale_proc_init()
  *
@@ -621,7 +612,6 @@ __xscale_setup:
 	.type	xscale_processor_functions, #object
 ENTRY(xscale_processor_functions)
 	.word	xscale_abort
-	.word	cpu_xscale_check_bugs
 	.word	cpu_xscale_proc_init
 	.word	cpu_xscale_proc_fin
 	.word	cpu_xscale_reset
diff --git a/include/asm-arm/bugs.h b/include/asm-arm/bugs.h
index 2f7b33b10334db41fa5b709081c463ca69adfdd4..14a4e05eee8c103ac8313c55096db0f1a2a33da2 100644
--- a/include/asm-arm/bugs.h
+++ b/include/asm-arm/bugs.h
@@ -1,7 +1,7 @@
 /*
  *  linux/include/asm-arm/bugs.h
  *
- *  Copyright (C) 1995  Russell King
+ *  Copyright (C) 1995-2003 Russell King
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -12,6 +12,6 @@
 
 #include <asm/proc-fns.h>
 
-#define check_bugs() cpu_check_bugs()
+#define check_bugs() do { } while (0)
 
 #endif
diff --git a/include/asm-arm/cpu-multi26.h b/include/asm-arm/cpu-multi26.h
index fc8d9a215ebc9ada5743cf2b12796102562d24d6..b237d577023805d19353fb715373476619ff6250 100644
--- a/include/asm-arm/cpu-multi26.h
+++ b/include/asm-arm/cpu-multi26.h
@@ -19,8 +19,6 @@ struct task_struct;
  * relies on it.
  */
 extern struct processor {
-	/* check for any bugs */
-	void (*_check_bugs)(void);
 	/* Set up any processor specifics */
 	void (*_proc_init)(void);
 	/* Disable any processor specifics */
@@ -36,7 +34,6 @@ extern const struct processor arm2_processor_functions;
 extern const struct processor arm250_processor_functions;
 extern const struct processor arm3_processor_functions;
 
-#define cpu_check_bugs()			processor._check_bugs()
 #define cpu_proc_init()				processor._proc_init()
 #define cpu_proc_fin()				processor._proc_fin()
 #define cpu_do_idle()				do { } while (0)
diff --git a/include/asm-arm/cpu-multi32.h b/include/asm-arm/cpu-multi32.h
index bb8b5bb1904191177966a6c8d74224d210325089..00f936197ad9271bae2a59d94af3f27ad38cc636 100644
--- a/include/asm-arm/cpu-multi32.h
+++ b/include/asm-arm/cpu-multi32.h
@@ -23,10 +23,6 @@ extern struct processor {
 	 * get data abort address/flags
 	 */
 	void (*_data_abort)(unsigned long pc);
-	/*
-	 * check for any bugs
-	 */
-	void (*_check_bugs)(void);
 	/*
 	 * Set up any processor specifics
 	 */
@@ -62,7 +58,6 @@ extern struct processor {
 	void (*set_pte)(pte_t *ptep, pte_t pte);
 } processor;
 
-#define cpu_check_bugs()		processor._check_bugs()
 #define cpu_proc_init()			processor._proc_init()
 #define cpu_proc_fin()			processor._proc_fin()
 #define cpu_reset(addr)			processor.reset(addr)
diff --git a/include/asm-arm/cpu-single.h b/include/asm-arm/cpu-single.h
index 30394b11876eb6116fae84e4a1db49248646d8f5..c75c98454d50802bf4a9c1282e303ca54ee7d576 100644
--- a/include/asm-arm/cpu-single.h
+++ b/include/asm-arm/cpu-single.h
@@ -22,7 +22,6 @@
  * function pointers for this lot.  Otherwise, we can optimise the
  * table away.
  */
-#define cpu_check_bugs			__cpu_fn(CPU_NAME,_check_bugs)
 #define cpu_proc_init			__cpu_fn(CPU_NAME,_proc_init)
 #define cpu_proc_fin			__cpu_fn(CPU_NAME,_proc_fin)
 #define cpu_reset			__cpu_fn(CPU_NAME,_reset)
@@ -39,7 +38,6 @@
 struct mm_struct;
 
 /* declare all the functions as extern */
-extern void cpu_check_bugs(void);
 extern void cpu_proc_init(void);
 extern void cpu_proc_fin(void);
 extern int cpu_do_idle(void);