• Michael Ellerman's avatar
    powerpc: Fix __cmpxchg() to take a volatile ptr again · da58b23c
    Michael Ellerman authored
    In commit d0563a12 ("powerpc: Implement {cmp}xchg for u8 and u16")
    we removed the volatile from __cmpxchg().
    
    This is leading to warnings such as:
    
      drivers/gpu/drm/drm_lock.c: In function ‘drm_lock_take’:
      arch/powerpc/include/asm/cmpxchg.h:484:37: warning: passing argument 1
      of ‘__cmpxchg’ discards ‘volatile’ qualifier from pointer target
         (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_,   \
    
    There doesn't seem to be consensus across architectures whether the
    argument is volatile or not, so at least for now put the volatile back.
    
    Fixes: d0563a12 ("powerpc: Implement {cmp}xchg for u8 and u16")
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    da58b23c
cmpxchg.h 12.1 KB