Re: Add #includes needed to permit the removal of asm/system.h - sha1 96f951edb1f1bdbbc99b0cd458f9808bb83d58ae

From: Michal Simek
Date: Fri Jan 04 2013 - 06:41:31 EST

2013/1/3 David Howells <dhowells@xxxxxxxxxx>:
> Michal Simek <monstr@xxxxxxxxx> wrote:
>> It is because microblaze uses cmpxchg_local which is defined
>> asm-generic/atomic.h file.
>> Arnds patch has added it to atomic.h
>> asm-generic: add generic atomic.h and io.h
>> (sha1: 3f7e212df82ca0459d44c91d9e019efd1b5f936c)
>> What about to move cmpxchg_local and cmpxchg64_local from atomic.h to
>> cmpxchg-local.h?
> Hmmm... cmpxchg_local() should be obtained through asm/cmpxchg.h, not
> asm/atomic.h. See:
> grep -r define\\s*cmpxchg_local arch

But it is also here which Microblaze uses.

[linux-2.6.x]$ grep -r define\\s*cmpxchg_local include/asm-generic/
include/asm-generic/atomic.h:#define cmpxchg_local(ptr, o, n) \

(not checked on the latest but probably it is the same)
m68k, arm contains the same copy for one case
c6x, unicore, cris, blackfin, h8300, sparc32

Probably make sense to move these two macros
cmpxchg64_local and cmpxchg_local to asm-generic/cmpxchg-local.h
with #ifndef cmpxchg_local ...etc. and remove it from architectures above.


Michal Simek, Ing. (M.Eng)
w: p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu -
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at