Add atomic load wrappers, atomic_cond_read_*_timeout() and atomic64_cond_read_*_timeout() for the cond-load timeout interfaces. Cc: Will Deacon Cc: Peter Zijlstra Cc: Boqun Feng Signed-off-by: Ankur Arora --- include/linux/atomic.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/linux/atomic.h b/include/linux/atomic.h index 8dd57c3a99e9..49f8100ad8af 100644 --- a/include/linux/atomic.h +++ b/include/linux/atomic.h @@ -31,6 +31,16 @@ #define atomic64_cond_read_acquire(v, c) smp_cond_load_acquire(&(v)->counter, (c)) #define atomic64_cond_read_relaxed(v, c) smp_cond_load_relaxed(&(v)->counter, (c)) +#define atomic_cond_read_acquire_timeout(v, c, t) \ + smp_cond_load_acquire_timeout(&(v)->counter, (c), (t)) +#define atomic_cond_read_relaxed_timeout(v, c, t) \ + smp_cond_load_relaxed_timeout(&(v)->counter, (c), (t)) + +#define atomic64_cond_read_acquire_timeout(v, c, t) \ + smp_cond_load_acquire_timeout(&(v)->counter, (c), (t)) +#define atomic64_cond_read_relaxed_timeout(v, c, t) \ + smp_cond_load_relaxed_timeout(&(v)->counter, (c), (t)) + /* * The idea here is to build acquire/release variants by adding explicit * barriers on top of the relaxed variant. In the case where the relaxed -- 2.43.5