#include <linux/module.h> #include <linux/bitops.h> /* Find string of zero bits in a bitmap */ unsigned long find_next_zero_string(unsigned long *bitmap, long start, long nbits, int len) { unsigned long n, end, i; again: n = find_next_zero_bit(bitmap, nbits, start); if (n == -1) return -1; /* could test bitsliced, but it's hardly worth it */ end = n+len; if (end >= nbits) return -1; for (i = n+1; i < end; i++) { if (test_bit(i, bitmap)) { start = i+1; goto again; } } return n; } EXPORT_SYMBOL(find_next_zero_string);