Index: linux-2.6.20-rc1/include/asm-arm/system.h =================================================================== --- linux-2.6.20-rc1.orig/include/asm-arm/system.h +++ linux-2.6.20-rc1/include/asm-arm/system.h @@ -173,23 +173,25 @@ static inline void set_copro_access(unsi extern unsigned long cr_no_alignment; /* defined in entry-armv.S */ extern unsigned long cr_alignment; /* defined in entry-armv.S */ +#include + #ifndef CONFIG_SMP static inline void adjust_cr(unsigned long mask, unsigned long set) { - unsigned long flags, cr; + unsigned long flags; mask &= ~CR_A; set &= mask; - local_irq_save(flags); + raw_local_irq_save(flags); cr_no_alignment = (cr_no_alignment & ~mask) | set; cr_alignment = (cr_alignment & ~mask) | set; set_cr((get_cr() & ~mask) | set); - local_irq_restore(flags); + raw_local_irq_restore(flags); } #endif @@ -248,8 +250,6 @@ static inline void sched_cacheflush(void { } -#include - #ifdef CONFIG_SMP #define smp_mb() mb()