[PATCH v2 4/6] bitops: Remove code related to for_each_set_clump8

From: Syed Nayyar Waris
Date: Sat Apr 25 2020 - 15:05:54 EST


Remove code related to the old for_each_set_clump8 macro because
it has now been replaced by the new generic for_each_set_clump macro.

Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Syed Nayyar Waris <syednwaris@xxxxxxxxx>
Signed-off-by: William Breathitt Gray <vilhelm.gray@xxxxxxxxx>
---
Changes in v2:
- No change.

include/asm-generic/bitops/find.h | 17 ----------
include/linux/bitmap.h | 35 ---------------------
include/linux/bitops.h | 12 --------
lib/find_bit.c | 14 ---------
lib/test_bitmap.c | 65 ---------------------------------------
5 files changed, 143 deletions(-)

diff --git a/include/asm-generic/bitops/find.h b/include/asm-generic/bitops/find.h
index 4e66007..d412268 100644
--- a/include/asm-generic/bitops/find.h
+++ b/include/asm-generic/bitops/find.h
@@ -81,23 +81,6 @@ extern unsigned long find_first_zero_bit(const unsigned long *addr,
#endif /* CONFIG_GENERIC_FIND_FIRST_BIT */

/**
- * find_next_clump8 - find next 8-bit clump with set bits in a memory region
- * @clump: location to store copy of found clump
- * @addr: address to base the search on
- * @size: bitmap size in number of bits
- * @offset: bit offset at which to start searching
- *
- * Returns the bit offset for the next set clump; the found clump value is
- * copied to the location pointed by @clump. If no bits are set, returns @size.
- */
-extern unsigned long find_next_clump8(unsigned long *clump,
- const unsigned long *addr,
- unsigned long size, unsigned long offset);
-
-#define find_first_clump8(clump, bits, size) \
- find_next_clump8((clump), (bits), (size), 0)
-
-/**
* find_next_clump - find next clump with set bits in a memory region
* @clump: location to store copy of found clump
* @addr: address to base the search on
diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h
index 7ab2c65..d6595bc1 100644
--- a/include/linux/bitmap.h
+++ b/include/linux/bitmap.h
@@ -74,10 +74,8 @@
* bitmap_allocate_region(bitmap, pos, order) Allocate specified bit region
* bitmap_from_arr32(dst, buf, nbits) Copy nbits from u32[] buf to dst
* bitmap_to_arr32(buf, src, nbits) Copy nbits from buf to u32[] dst
- * bitmap_get_value8(map, start) Get 8bit value from map at start
* bitmap_get_value(map, start, nbits) Get bit value of size
* 'nbits' from map at start
- * bitmap_set_value8(map, value, start) Set 8bit value to map at start
* bitmap_set_value(map, value, start, nbits) Set bit value of size 'nbits'
* of map at start
*
@@ -551,23 +549,6 @@ static inline void bitmap_from_u64(unsigned long *dst, u64 mask)
}

/**
- * bitmap_get_value8 - get an 8-bit value within a memory region
- * @map: address to the bitmap memory region
- * @start: bit offset of the 8-bit value; must be a multiple of 8
- *
- * Returns the 8-bit value located at the @start bit offset within the @src
- * memory region.
- */
-static inline unsigned long bitmap_get_value8(const unsigned long *map,
- unsigned long start)
-{
- const size_t index = BIT_WORD(start);
- const unsigned long offset = start % BITS_PER_LONG;
-
- return (map[index] >> offset) & 0xFF;
-}
-
-/**
* bitmap_get_value - get a value of n-bits from the memory region
* @map: address to the bitmap memory region
* @start: bit offset of the n-bit value
@@ -596,22 +577,6 @@ static inline unsigned long bitmap_get_value(const unsigned long *map,
}

/**
- * bitmap_set_value8 - set an 8-bit value within a memory region
- * @map: address to the bitmap memory region
- * @value: the 8-bit value; values wider than 8 bits may clobber bitmap
- * @start: bit offset of the 8-bit value; must be a multiple of 8
- */
-static inline void bitmap_set_value8(unsigned long *map, unsigned long value,
- unsigned long start)
-{
- const size_t index = BIT_WORD(start);
- const unsigned long offset = start % BITS_PER_LONG;
-
- map[index] &= ~(0xFFUL << offset);
- map[index] |= value << offset;
-}
-
-/**
* bitmap_set_value - set n-bit value within a memory region
* @map: address to the bitmap memory region
* @value: value of nbits
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index 41c2d9c..cc0a413 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -51,18 +51,6 @@ extern unsigned long __sw_hweight64(__u64 w);
(bit) = find_next_zero_bit((addr), (size), (bit) + 1))

/**
- * for_each_set_clump8 - iterate over bitmap for each 8-bit clump with set bits
- * @start: bit offset to start search and to store the current iteration offset
- * @clump: location to store copy of current 8-bit clump
- * @bits: bitmap address to base the search on
- * @size: bitmap size in number of bits
- */
-#define for_each_set_clump8(start, clump, bits, size) \
- for ((start) = find_first_clump8(&(clump), (bits), (size)); \
- (start) < (size); \
- (start) = find_next_clump8(&(clump), (bits), (size), (start) + 8))
-
-/**
* for_each_set_clump - iterate over bitmap for each clump with set bits
* @start: bit offset to start search and to store the current iteration offset
* @clump: location to store copy of current 8-bit clump
diff --git a/lib/find_bit.c b/lib/find_bit.c
index 1341bd3..6332ec1 100644
--- a/lib/find_bit.c
+++ b/lib/find_bit.c
@@ -177,20 +177,6 @@ EXPORT_SYMBOL(find_next_bit_le);

#endif /* __BIG_ENDIAN */

-unsigned long find_next_clump8(unsigned long *clump, const unsigned long *addr,
- unsigned long size, unsigned long offset)
-{
- offset = find_next_bit(addr, size, offset);
- if (offset == size)
- return size;
-
- offset = round_down(offset, 8);
- *clump = bitmap_get_value8(addr, offset);
-
- return offset;
-}
-EXPORT_SYMBOL(find_next_clump8);
-
unsigned long find_next_clump(unsigned long *clump, const unsigned long *addr,
unsigned long size, unsigned long offset,
unsigned long clump_size)
diff --git a/lib/test_bitmap.c b/lib/test_bitmap.c
index 13fe9a2..100443c 100644
--- a/lib/test_bitmap.c
+++ b/lib/test_bitmap.c
@@ -125,36 +125,6 @@ __check_eq_u32_array(const char *srcfile, unsigned int line,
return true;
}

-static bool __init __check_eq_clump8(const char *srcfile, unsigned int line,
- const unsigned int offset,
- const unsigned int size,
- const unsigned char *const clump_exp,
- const unsigned long *const clump)
-{
- unsigned long exp;
-
- if (offset >= size) {
- pr_warn("[%s:%u] bit offset for clump out-of-bounds: expected less than %u, got %u\n",
- srcfile, line, size, offset);
- return false;
- }
-
- exp = clump_exp[offset / 8];
- if (!exp) {
- pr_warn("[%s:%u] bit offset for zero clump: expected nonzero clump, got bit offset %u with clump value 0",
- srcfile, line, offset);
- return false;
- }
-
- if (*clump != exp) {
- pr_warn("[%s:%u] expected clump value of 0x%lX, got clump value of 0x%lX",
- srcfile, line, exp, *clump);
- return false;
- }
-
- return true;
-}
-
static bool __init __check_eq_clump(const char *srcfile, unsigned int line,
const unsigned int offset,
const unsigned int size,
@@ -203,7 +173,6 @@ static bool __init __check_eq_clump(const char *srcfile, unsigned int line,
#define expect_eq_bitmap(...) __expect_eq(bitmap, ##__VA_ARGS__)
#define expect_eq_pbl(...) __expect_eq(pbl, ##__VA_ARGS__)
#define expect_eq_u32_array(...) __expect_eq(u32_array, ##__VA_ARGS__)
-#define expect_eq_clump8(...) __expect_eq(clump8, ##__VA_ARGS__)
#define expect_eq_clump(...) __expect_eq(clump, ##__VA_ARGS__)

static void __init test_zero_clear(void)
@@ -610,17 +579,6 @@ static void noinline __init test_mem_optimisations(void)
}
}

-static const unsigned char clump_exp[] __initconst = {
- 0x01, /* 1 bit set */
- 0x02, /* non-edge 1 bit set */
- 0x00, /* zero bits set */
- 0x38, /* 3 bits set across 4-bit boundary */
- 0x38, /* Repeated clump */
- 0x0F, /* 4 bits set */
- 0xFF, /* all bits set */
- 0x05, /* non-adjacent 2 bits set */
-};
-
static const unsigned long clump_exp1[] __initconst = {
0x01, /* 1 bit set */
0x02, /* non-edge 1 bit set */
@@ -661,28 +619,6 @@ static const unsigned long clump_exp4[] __initconst = {
0x2b,
};

-static void __init test_for_each_set_clump8(void)
-{
-#define CLUMP_EXP_NUMBITS 64
- DECLARE_BITMAP(bits, CLUMP_EXP_NUMBITS);
- unsigned int start;
- unsigned long clump;
-
- /* set bitmap to test case */
- bitmap_zero(bits, CLUMP_EXP_NUMBITS);
- bitmap_set(bits, 0, 1); /* 0x01 */
- bitmap_set(bits, 9, 1); /* 0x02 */
- bitmap_set(bits, 27, 3); /* 0x28 */
- bitmap_set(bits, 35, 3); /* 0x28 */
- bitmap_set(bits, 40, 4); /* 0x0F */
- bitmap_set(bits, 48, 8); /* 0xFF */
- bitmap_set(bits, 56, 1); /* 0x05 - part 1 */
- bitmap_set(bits, 58, 1); /* 0x05 - part 2 */
-
- for_each_set_clump8(start, clump, bits, CLUMP_EXP_NUMBITS)
- expect_eq_clump8(start, CLUMP_EXP_NUMBITS, clump_exp, &clump);
-}
-
static void __init execute_for_each_set_clump(unsigned long *bits,
unsigned long size,
const unsigned long *clump_exp,
@@ -742,7 +678,6 @@ static void __init selftest(void)
test_bitmap_parselist();
test_bitmap_parselist_user();
test_mem_optimisations();
- test_for_each_set_clump8();
test_for_each_set_clump();
}

--
2.7.4