From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161114AbXCGBW2 (ORCPT ); Tue, 6 Mar 2007 20:22:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1161125AbXCGBW1 (ORCPT ); Tue, 6 Mar 2007 20:22:27 -0500 Received: from imx12.toshiba.co.jp ([61.202.160.132]:39732 "EHLO imx12.toshiba.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161123AbXCGBW0 (ORCPT ); Tue, 6 Mar 2007 20:22:26 -0500 Date: Wed, 07 Mar 2007 10:22:09 +0900 Message-ID: From: Tsutomu OWA To: mingo@elte.hu Cc: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org, tsutomu.owa@toshiba.co.jp Subject: [patch 7/7 -rt] powerpc 2.6.20-rt8: fix compile error (hw_irq.h) In-Reply-To: References: User-Agent: Wanderlust/2.8.1 (Something) Emacs/20.7 Mule/4.0 (HANANOEN) Organization: Software Engineering Center, TOSHIBA. MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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 -- 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 -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