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