Blame view

include/asm-generic/cmpxchg.h 537 Bytes
068fbad28   Mathieu Desnoyers   Add cmpxchg_local...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  #ifndef __ASM_GENERIC_CMPXCHG_H
  #define __ASM_GENERIC_CMPXCHG_H
  
  /*
   * Generic cmpxchg
   *
   * Uses the local cmpxchg. Does not support SMP.
   */
  #ifdef CONFIG_SMP
  #error "Cannot use generic cmpxchg on SMP"
  #endif
  
  /*
   * Atomic compare and exchange.
   *
   * Do not define __HAVE_ARCH_CMPXCHG because we want to use it to check whether
   * a cmpxchg primitive faster than repeated local irq save/restore exists.
   */
  #define cmpxchg(ptr, o, n)	cmpxchg_local((ptr), (o), (n))
  #define cmpxchg64(ptr, o, n)	cmpxchg64_local((ptr), (o), (n))
  
  #endif