1*57521aaaSLukasz Majewski // SPDX-License-Identifier: GPL-2.0+ 2*57521aaaSLukasz Majewski #ifndef __LINUX_BITMAP_H 3*57521aaaSLukasz Majewski #define __LINUX_BITMAP_H 4*57521aaaSLukasz Majewski 5*57521aaaSLukasz Majewski #include <asm/types.h> 6*57521aaaSLukasz Majewski #include <linux/types.h> 7*57521aaaSLukasz Majewski #include <linux/bitops.h> 8*57521aaaSLukasz Majewski 9*57521aaaSLukasz Majewski #define small_const_nbits(nbits) \ 10*57521aaaSLukasz Majewski (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG) 11*57521aaaSLukasz Majewski bitmap_zero(unsigned long * dst,int nbits)12*57521aaaSLukasz Majewskistatic inline void bitmap_zero(unsigned long *dst, int nbits) 13*57521aaaSLukasz Majewski { 14*57521aaaSLukasz Majewski if (small_const_nbits(nbits)) { 15*57521aaaSLukasz Majewski *dst = 0UL; 16*57521aaaSLukasz Majewski } else { 17*57521aaaSLukasz Majewski int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long); 18*57521aaaSLukasz Majewski 19*57521aaaSLukasz Majewski memset(dst, 0, len); 20*57521aaaSLukasz Majewski } 21*57521aaaSLukasz Majewski } 22*57521aaaSLukasz Majewski 23*57521aaaSLukasz Majewski #endif /* __LINUX_BITMAP_H */ 24