1234567891011121314151617181920212223 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef __BARRIER_H
- #define __BARRIER_H
- #define mb() __asm__ __volatile__("mb": : :"memory")
- #define rmb() __asm__ __volatile__("mb": : :"memory")
- #define wmb() __asm__ __volatile__("wmb": : :"memory")
- #define __smp_load_acquire(p) \
- ({ \
- compiletime_assert_atomic_type(*p); \
- __READ_ONCE(*p); \
- })
- #ifdef CONFIG_SMP
- #define __ASM_SMP_MB "\tmb\n"
- #else
- #define __ASM_SMP_MB
- #endif
- #include <asm-generic/barrier.h>
- #endif /* __BARRIER_H */
|