From patchwork Fri Jan 9 00:48:03 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: sparc32 broke Date: Thu, 08 Jan 2009 14:48:03 -0000 From: David Miller X-Patchwork-Id: 17448 Message-Id: <20090108.164803.166517203.davem@davemloft.net> To: reif@earthlink.net Cc: sparclinux@vger.kernel.org From: Robert Reif Date: Thu, 08 Jan 2009 19:32:21 -0500 > A compile of todays mainline produces this compile error: > > arch/sparc/kernel/sun4d_smp.c:63: error: expected identifier or ‘(’ before ‘{’ token > arch/sparc/kernel/sun4d_smp.c: In function ‘smp4d_callin’: > arch/sparc/kernel/sun4d_smp.c:118: error: lvalue required as left operand of assignment > arch/sparc/kernel/sun4d_smp.c:118: error: lvalue required as left operand of assignment Thanks for the report, I've committed the fix below to sparc-2.6 > Prior to today, sparc32 has also failed to boot completely for the last few days. > It boots but fails in the init scripts when it can't find the boot partition. > > Ill try to bisect the boot problem but it will take a while. Thanks, let us know if you need any help figuring something out. sparc: Fix sun4d_irq.c build. Reported by Robert Reif. Fallout from 'swap' changes. Signed-off-by: David S. Miller --- arch/sparc/kernel/sun4d_smp.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) -- 1.6.1.15.g159c88 diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c index 16ab0cb..50afaed 100644 --- a/arch/sparc/kernel/sun4d_smp.c +++ b/arch/sparc/kernel/sun4d_smp.c @@ -60,7 +60,7 @@ extern int __smp4d_processor_id(void); #define SMP_PRINTK(x) #endif -static inline unsigned long swap(volatile unsigned long *ptr, unsigned long val) +static inline unsigned long sun4d_swap(volatile unsigned long *ptr, unsigned long val) { __asm__ __volatile__("swap [%1], %0\n\t" : "=&r" (val), "=&r" (ptr) : @@ -115,7 +115,7 @@ void __cpuinit smp4d_callin(void) local_flush_tlb_all(); /* Allow master to continue. */ - swap((unsigned long *)&cpu_callin_map[cpuid], 1); + sun4d_swap((unsigned long *)&cpu_callin_map[cpuid], 1); local_flush_cache_all(); local_flush_tlb_all();