[PATCH 05/11] blackfin: fix cmpxchg build fails from system.h fallout

From: Paul Gortmaker
Date: Sun Apr 01 2012 - 16:41:08 EST


Commit 3bed8d67469cc7129b0babc0211c32fa68408ce0

"Disintegrate asm/system.h for Blackfin [ver #2]"

introduced arch/blackfin/include/asm/cmpxchg.h but has it also
including the asm-generic one which causes this:

CC arch/blackfin/kernel/asm-offsets.s
In file included from arch/blackfin/include/asm/cmpxchg.h:125:0,
from arch/blackfin/include/asm/atomic.h:10,
from include/linux/atomic.h:4,
from include/linux/spinlock.h:384,
from include/linux/seqlock.h:29,
from include/linux/time.h:8,
from include/linux/timex.h:56,
from include/linux/sched.h:57,
from arch/blackfin/kernel/asm-offsets.c:10:
include/asm-generic/cmpxchg.h:24:15: error: redefinition of '__xchg'
arch/blackfin/include/asm/cmpxchg.h:82:29: note: previous definition of '__xchg' was here
In file included from arch/blackfin/include/asm/atomic.h:10:0,
from include/linux/atomic.h:4,
from include/linux/spinlock.h:384,
from include/linux/seqlock.h:29,
from include/linux/time.h:8,
from include/linux/timex.h:56,
from include/linux/sched.h:57,
from arch/blackfin/kernel/asm-offsets.c:10:
arch/blackfin/include/asm/cmpxchg.h:129:0: warning: "xchg" redefined [enabled by default]
include/asm-generic/cmpxchg.h:81:0: note: this is the location of the previous definition
make[2]: *** [arch/blackfin/kernel/asm-offsets.s] Error 1

It really only needs two simple defines from asm-generic, so just
use those instead.

Cc: Bob Liu <lliubbo@xxxxxxxxx>
Cc: Mike Frysinger <vapier@xxxxxxxxxx>
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
---
arch/blackfin/include/asm/cmpxchg.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/blackfin/include/asm/cmpxchg.h b/arch/blackfin/include/asm/cmpxchg.h
index ba2484f..c05868c 100644
--- a/arch/blackfin/include/asm/cmpxchg.h
+++ b/arch/blackfin/include/asm/cmpxchg.h
@@ -122,7 +122,8 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr,
(unsigned long)(n), sizeof(*(ptr))))
#define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n))

-#include <asm-generic/cmpxchg.h>
+#define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n))
+#define cmpxchg64(ptr, o, n) cmpxchg64_local((ptr), (o), (n))

#endif /* !CONFIG_SMP */

--
1.7.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/