diff --git a/qdf/inc/qdf_util.h b/qdf/inc/qdf_util.h index dad7df1f64..0eea9b00bb 100644 --- a/qdf/inc/qdf_util.h +++ b/qdf/inc/qdf_util.h @@ -194,6 +194,27 @@ typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t; */ #define qdf_find_first_bit(addr, nbits) __qdf_find_first_bit(addr, nbits) +/** + * qdf_bitmap_empty() - Check if bitmap is empty + * @addr: Address buffer pointer + * @nbits: Number of bits + * + * Return: True if no bit set, else false + */ +#define qdf_bitmap_empty(addr, nbits) __qdf_bitmap_empty(addr, nbits) + +/** + * qdf_bitmap_and() - AND operation on the bitmap + * @dst: Destination buffer pointer + * @src1: First source buffer pointer + * @src2: Second source buffer pointer + * @nbits: Number of bits + * + * Return: Bitwise and of src1 and src2 in dst + */ +#define qdf_bitmap_and(dst, src1, src2, nbits) \ + __qdf_bitmap_and(dst, src1, src2, nbits) + #define qdf_wait_queue_interruptible(wait_queue, condition) \ __qdf_wait_queue_interruptible(wait_queue, condition) diff --git a/qdf/linux/src/i_qdf_util.h b/qdf/linux/src/i_qdf_util.h index fdd7804ba4..3c10405b03 100644 --- a/qdf/linux/src/i_qdf_util.h +++ b/qdf/linux/src/i_qdf_util.h @@ -113,6 +113,18 @@ static inline unsigned long __qdf_find_first_bit(unsigned long *addr, return find_first_bit(addr, nbits); } +static inline bool __qdf_bitmap_empty(unsigned long *addr, + unsigned long nbits) +{ + return bitmap_empty(addr, nbits); +} + +static inline int __qdf_bitmap_and(unsigned long *dst, unsigned long *src1, + unsigned long *src2, unsigned long nbits) +{ + return bitmap_and(dst, src1, src2, nbits); +} + /** * __qdf_set_macaddr_broadcast() - set a QDF MacAddress to the 'broadcast' * @mac_addr: pointer to the qdf MacAddress to set to broadcast