From: Johannes Berg <johannes.berg@xxxxxxxxx> Some of the new fetch atomics are now required, add them by using the _return ones and changing the value accordingly. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> --- backport/backport-include/linux/atomic.h | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/backport/backport-include/linux/atomic.h b/backport/backport-include/linux/atomic.h index 9ceb586e864a..6669831ca8a9 100644 --- a/backport/backport-include/linux/atomic.h +++ b/backport/backport-include/linux/atomic.h @@ -60,4 +60,36 @@ static inline int atomic_fetch_add_unless(atomic_t *v, int a, int u) #endif #endif +#ifndef __atomic_pre_full_fence +#define __atomic_pre_full_fence smp_mb__before_atomic +#endif + +#ifndef __atomic_post_full_fence +#define __atomic_post_full_fence smp_mb__after_atomic +#endif + +#if LINUX_VERSION_IS_LESS(4,8,0) +static inline int +atomic_fetch_add(int i, atomic_t *v) +{ + return atomic_add_return(i, v) - i; +} + +static inline int +atomic_fetch_sub(int i, atomic_t *v) +{ + return atomic_sub_return(i, v) + i; +} +#endif + +#ifndef atomic_fetch_add_relaxed +#define atomic_fetch_add_relaxed atomic_fetch_add +#endif + +#ifndef atomic_fetch_sub_relaxed +#define atomic_fetch_sub_acquire atomic_fetch_sub +#define atomic_fetch_sub_release atomic_fetch_sub +#define atomic_fetch_sub_relaxed atomic_fetch_sub +#endif + #endif /* __BP_ATOMIC_H */ -- 2.24.1 -- To unsubscribe from this list: send the line "unsubscribe backports" in