All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 4/6] bitops: Remove code related to for_each_set_clump8
@ 2020-04-24 12:28 Syed Nayyar Waris
  0 siblings, 0 replies; only message in thread
From: Syed Nayyar Waris @ 2020-04-24 12:28 UTC (permalink / raw)
  To: akpm
  Cc: andriy.shevchenko, vilhelm.gray, arnd, linus.walleij, linux-arch,
	linux-kernel

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@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Syed Nayyar Waris <syednwaris@gmail.com>
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
---
 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 5c1f98f..d75d77f 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 test_for_each_set_clump_8(void)  /* 8 bit clumps test using
 						  new for_each_set_clump */
 {
@@ -777,7 +713,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_8();
 	test_for_each_set_clump_24();
 	test_for_each_set_clump_30();
-- 
2.7.4

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-04-24 12:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-24 12:28 [PATCH 4/6] bitops: Remove code related to for_each_set_clump8 Syed Nayyar Waris

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.