x86: create asm/cmpxchg.h
authorJeff Dike <jdike@addtoit.com>
Tue, 8 May 2007 07:35:02 +0000 (00:35 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 8 May 2007 18:15:20 +0000 (11:15 -0700)
commita436ed9c5106b41606cbb55ab3b28389fe8ae04f
treeb8df0bde6d7eb2808c37da815d8857396ee1eaf1
parent5dc12ddee93d63d7107cbbf70db23476d7b30e43
x86: create asm/cmpxchg.h

i386:

  Rearrange the cmpxchg code to allow atomic.h to get it without needing to
  include system.h.  This kills warnings in the UML build from atomic.h about
  implicit declarations of cmpxchg symbols.  The i386 build presumably isn't
  seeing this because a separate inclusion of system.h is covering it over.

  The cmpxchg stuff is moved to asm-i386/cmpxchg.h, with an include left in
  system.h for the benefit of generic code which expects cmpxchg there.

  Meanwhile, atomic.h includes cmpxchg.h.

  This causes no noticable damage to the i386 build.

x86_64:

  Move cmpxchg into its own header.  atomic.h already included system.h, so
  this is changed to include cmpxchg.h.

  This is purely cleanup - it's not fixing any warnings - so if the x86_64
  system.h isn't considered as cleanup-worthy as i386, then this can be
  dropped.

  It causes no noticable damage to the x86_64 build.

uml:

  The i386 and x86_64 cmpxchg patches require an asm-um/cmpxchg.h for the
  UML build.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-i386/atomic.h
include/asm-i386/cmpxchg.h [new file with mode: 0644]
include/asm-i386/system.h
include/asm-um/cmpxchg.h [new file with mode: 0644]
include/asm-x86_64/atomic.h
include/asm-x86_64/cmpxchg.h [new file with mode: 0644]
include/asm-x86_64/system.h