To fix the following compile error by changing local_irq_restore() to raw_local_irq_restore().
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - include/asm-powerpc/hw_irq.h In file included from include/asm/system.h:9, from include/linux/list.h:9, from include/linux/signal.h:8, from arch/powerpc/kernel/asm-offsets.c:16: include/asm/hw_irq.h: In function 'local_get_flags': include/asm/hw_irq.h:23: error: expected expression before '<<' token include/asm/hw_irq.h:24: error: expected expression before '<<' token include/asm/hw_irq.h:25: error: expected expression before ':' token include/asm/hw_irq.h:25: error: expected statement before ')' token - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Signed-off-by: Tsutomu Owa <[EMAIL PROTECTED]> -- owa diff -rup linux-rt8/include/asm-powerpc/hw_irq.h rt/include/asm-powerpc/hw_irq.h --- linux-rt8/include/asm-powerpc/hw_irq.h 2007-02-20 14:30:40.000000000 +0900 +++ rt/include/asm-powerpc/hw_irq.h 2007-03-05 10:39:22.000000000 +0900 @@ -16,18 +16,18 @@ extern void timer_interrupt(struct pt_re #ifdef CONFIG_PPC64 #include <asm/paca.h> -static inline unsigned long local_get_flags(void) +static inline unsigned long raw_local_get_flags(void) { unsigned long flags; -<<<<<<< delete extern unsigned long local_get_flags(void); -<<<<<<< delete extern unsigned long local_irq_disable(void); + __asm__ __volatile__("lbz %0,%1(13)" + : "=r" (flags) : "i" (offsetof(struct paca_struct, soft_enabled))); return flags; } -static inline unsigned long local_irq_disable(void) +static inline unsigned long raw_local_irq_disable(void) { unsigned long flags, zero; @@ -39,32 +39,28 @@ static inline unsigned long local_irq_di return flags; } -extern void iseries_handle_interrupts(void); -extern unsigned long raw_local_get_flags(void); -extern unsigned long raw_local_irq_disable(void); extern void raw_local_irq_restore(unsigned long); +extern void iseries_handle_interrupts(void); -#define raw_local_irq_enable() raw_local_irq_restore(1) +#define raw_local_irq_enable() raw_local_irq_restore(1) #define raw_local_save_flags(flags) ((flags) = raw_local_get_flags()) #define raw_local_irq_save(flags) ((flags) = raw_local_irq_disable()) -#define raw_irqs_disabled() (raw_local_get_flags() == 0) +#define raw_irqs_disabled() (raw_local_get_flags() == 0) #define raw_irqs_disabled_flags(flags) ((flags) == 0) -#define hard_irq_enable() __mtmsrd(mfmsr() | MSR_EE, 1) -#define hard_irq_disable() __mtmsrd(mfmsr() & ~MSR_EE, 1) +#define hard_irq_enable() __mtmsrd(mfmsr() | MSR_EE, 1) +#define hard_irq_disable() __mtmsrd(mfmsr() & ~MSR_EE, 1) -#else +#else /* CONFIG_PPC64 */ #if defined(CONFIG_BOOKE) #define SET_MSR_EE(x) mtmsr(x) #define raw_local_irq_restore(flags) __asm__ __volatile__("wrtee %0" : : "r" (flags) : "memory") -<<<<<<< delete #define local_irq_restore(flags) do { \ -#define raw_local_irq_restore(flags) do { \ #else #define SET_MSR_EE(x) mtmsr(x) #define raw_local_irq_restore(flags) mtmsr(flags) -#endif +#endif /* CONFIG_BOOKE */ static inline void raw_local_irq_disable(void) { diff -rup linux-rt8/arch/powerpc/kernel/irq.c rt/arch/powerpc/kernel/irq.c --- linux-rt8/arch/powerpc/kernel/irq.c 2007-02-20 14:30:38.000000000 +0900 +++ rt/arch/powerpc/kernel/irq.c 2007-02-20 15:44:11.000000000 +0900 @@ -111,7 +111,7 @@ static inline void set_soft_enabled(unsi : : "r" (enable), "i" (offsetof(struct paca_struct, soft_enabled))); } -void local_irq_restore(unsigned long en) +void raw_local_irq_restore(unsigned long en) { /* * get_paca()->soft_enabled = en; diff -rup linux-rt8/arch/powerpc/kernel/head_64.S rt/arch/powerpc/kernel/head_64.S --- linux-rt8/arch/powerpc/kernel/head_64.S 2007-02-20 09:38:52.000000000 +0900 +++ rt/arch/powerpc/kernel/head_64.S 2007-02-20 15:42:25.000000000 +0900 @@ -1385,7 +1385,7 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISER * handles any interrupts pending at this point. */ ld r3,SOFTE(r1) - bl .local_irq_restore + bl .raw_local_irq_restore b 11f /* Here we have a page fault that hash_page can't handle. */ diff -rup linux-rt8/arch/powerpc/kernel/ppc_ksyms.c rt/arch/powerpc/kernel/ppc_ksyms.c --- linux-rt8/arch/powerpc/kernel/ppc_ksyms.c 2007-02-20 14:30:38.000000000 +0900 +++ rt/arch/powerpc/kernel/ppc_ksyms.c 2007-02-20 15:44:34.000000000 +0900 @@ -49,7 +49,7 @@ #endif #ifdef CONFIG_PPC64 -EXPORT_SYMBOL(local_irq_restore); +EXPORT_SYMBOL(raw_local_irq_restore); #endif #ifdef CONFIG_PPC32 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/