X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=include%2Fasm-generic%2Fbarrier.h;h=987b2e04ad5ac672206a00e3d251c159770e9d78;hb=57f7c0370f386d5e0960e25d2c3ceb0b8e8c489d;hp=b42afada1280e08534d6e98fbf9364b3dcae9d8a;hpb=d25ed277fbd4c20247286fda2014ae6a2b88316b;p=cascardo%2Flinux.git diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index b42afada1280..987b2e04ad5a 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -93,7 +93,7 @@ #endif /* CONFIG_SMP */ #ifndef smp_store_mb -#define smp_store_mb(var, value) do { WRITE_ONCE(var, value); mb(); } while (0) +#define smp_store_mb(var, value) do { WRITE_ONCE(var, value); smp_mb(); } while (0) #endif #ifndef smp_mb__before_atomic @@ -104,13 +104,16 @@ #define smp_mb__after_atomic() smp_mb() #endif +#ifndef smp_store_release #define smp_store_release(p, v) \ do { \ compiletime_assert_atomic_type(*p); \ smp_mb(); \ WRITE_ONCE(*p, v); \ } while (0) +#endif +#ifndef smp_load_acquire #define smp_load_acquire(p) \ ({ \ typeof(*p) ___p1 = READ_ONCE(*p); \ @@ -118,6 +121,7 @@ do { \ smp_mb(); \ ___p1; \ }) +#endif #endif /* !__ASSEMBLY__ */ #endif /* __ASM_GENERIC_BARRIER_H */