xref: /openbmc/linux/arch/x86/include/asm/qrwlock.h (revision bd01ec1a)
1bd01ec1aSWaiman Long #ifndef _ASM_X86_QRWLOCK_H
2bd01ec1aSWaiman Long #define _ASM_X86_QRWLOCK_H
3bd01ec1aSWaiman Long 
4bd01ec1aSWaiman Long #include <asm-generic/qrwlock_types.h>
5bd01ec1aSWaiman Long 
6bd01ec1aSWaiman Long #if !defined(CONFIG_X86_OOSTORE) && !defined(CONFIG_X86_PPRO_FENCE)
7bd01ec1aSWaiman Long #define queue_write_unlock queue_write_unlock
8bd01ec1aSWaiman Long static inline void queue_write_unlock(struct qrwlock *lock)
9bd01ec1aSWaiman Long {
10bd01ec1aSWaiman Long         barrier();
11bd01ec1aSWaiman Long         ACCESS_ONCE(*(u8 *)&lock->cnts) = 0;
12bd01ec1aSWaiman Long }
13bd01ec1aSWaiman Long #endif
14bd01ec1aSWaiman Long 
15bd01ec1aSWaiman Long #include <asm-generic/qrwlock.h>
16bd01ec1aSWaiman Long 
17bd01ec1aSWaiman Long #endif /* _ASM_X86_QRWLOCK_H */
18