• Jeff Dike's avatar
    x86: create asm/cmpxchg.h · a436ed9c
    Jeff Dike authored
    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: default avatarJeff Dike <jdike@linux.intel.com>
    Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Cc: Andi Kleen <ak@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    a436ed9c
cmpxchg.h 7.8 KB