diff mbox series

[v3,1/5] linux/bitmap.h: add bitmap_empty helper

Message ID 20240708-b4-qcom-rpmh-v3-1-846cc6c5b728@linaro.org
State Superseded
Headers show
Series qcom: rpmh core and regulator support | expand

Commit Message

Caleb Connolly July 8, 2024, 12:20 p.m. UTC
Import this function from Linux.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
---
 include/linux/bitmap.h | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Tom Rini July 8, 2024, 3:49 p.m. UTC | #1
On Mon, Jul 08, 2024 at 02:20:23PM +0200, Caleb Connolly wrote:

> Import this function from Linux.
> 
> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>

Since I just told someone else this too, please note that tag you're
taking this from in the Linux Kernel, thanks.
diff mbox series

Patch

diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h
index 0a8503af9f14..40ca2212cb40 100644
--- a/include/linux/bitmap.h
+++ b/include/linux/bitmap.h
@@ -195,8 +195,16 @@  static inline void bitmap_fill(unsigned long *dst, unsigned int nbits)
 		memset(dst, 0xff, len);
 	}
 }
 
+static inline bool bitmap_empty(const unsigned long *src, unsigned int nbits)
+{
+	if (small_const_nbits(nbits))
+		return !(*src & BITMAP_LAST_WORD_MASK(nbits));
+
+	return find_first_bit(src, nbits) == nbits;
+}
+
 static inline void bitmap_or(unsigned long *dst, const unsigned long *src1,
 			     const unsigned long *src2, unsigned int nbits)
 {
 	if (small_const_nbits(nbits))