From: Robert Reif <reif@xxxxxxxxxxxxx> 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 <davem@xxxxxxxxxxxxx> --- arch/sparc/kernel/sun4d_smp.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) 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(); -- 1.6.1.15.g159c88 ��.n��������+%������w��{.n������ܖ)�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f