From 98f1131240b7cd2cba77335bf77c3b72f39eb5a8 Mon Sep 17 00:00:00 2001 From: Edayilliam Jayadev Date: Thu, 16 Feb 2023 16:14:03 +0530 Subject: [PATCH] qcacmn: Add an API to decrement an atomic variable if it is positive Add an API to decrement an atomic variable if its value is positive. CRs-Fixed: 3408572 Change-Id: I9649f1093850452a38acae6fa48e663a4e6d9c68 --- qdf/inc/qdf_atomic.h | 12 ++++++++++++ qdf/linux/src/i_qdf_atomic.h | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/qdf/inc/qdf_atomic.h b/qdf/inc/qdf_atomic.h index d788ec3b68..fd31603367 100644 --- a/qdf/inc/qdf_atomic.h +++ b/qdf/inc/qdf_atomic.h @@ -154,6 +154,18 @@ static inline int32_t qdf_atomic_dec_return(qdf_atomic_t *v) return __qdf_atomic_dec_return(v); } +/** + * qdf_atomic_dec_if_positive() - Decrement an atomic variable if its + * value is positive + * @v: A pointer to an opaque atomic variable + * + * Return: The old value of the variable minus 1 + */ +static inline int32_t qdf_atomic_dec_if_positive(qdf_atomic_t *v) +{ + return __qdf_atomic_dec_if_positive(v); +} + /** * qdf_atomic_inc_not_zero() - increment if not zero * @v: A pointer to an opaque atomic variable diff --git a/qdf/linux/src/i_qdf_atomic.h b/qdf/linux/src/i_qdf_atomic.h index b62e2a58ea..c3c0c49c33 100644 --- a/qdf/linux/src/i_qdf_atomic.h +++ b/qdf/linux/src/i_qdf_atomic.h @@ -149,6 +149,18 @@ static inline int32_t __qdf_atomic_dec_return(__qdf_atomic_t *v) return atomic_dec_return(v); } +/** + * __qdf_atomic_dec_if_positive() - Decrement an atomic variable if its + * value is positive + * @v: A pointer to an opaque atomic variable + * + * Return: The old value of the variable minus 1 + */ +static inline int32_t __qdf_atomic_dec_if_positive(__qdf_atomic_t *v) +{ + return atomic_dec_if_positive(v); +} + /** * __qdf_atomic_inc_not_zero() - increment if not zero * @v: A pointer to an opaque atomic variable