linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Akinobu Mita <mita@miraclelinux.com>
To: linux-kernel@vger.kernel.org
Cc: Akinobu Mita <mita@miraclelinux.com>
Subject: [patch 44/44] remove unused generic bitops in include/linux/bitops.h
Date: Wed, 01 Feb 2006 18:03:08 +0900	[thread overview]
Message-ID: <20060201090336.067087000@localhost.localdomain> (raw)
In-Reply-To: 20060201090224.536581000@localhost.localdomain

[-- Attachment #1: remove-unused.patch --]
[-- Type: text/plain, Size: 3768 bytes --]

generic_{ffs,fls,fls64,hweight{64,32,16,8}}() were moved into
include/asm-generic/bitops.h. So all architectures don't use them.


Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
 include/linux/bitops.h |  124 -------------------------------------------------
 1 files changed, 1 insertion(+), 123 deletions(-)

Index: 2.6-git/include/linux/bitops.h
===================================================================
--- 2.6-git.orig/include/linux/bitops.h
+++ 2.6-git/include/linux/bitops.h
@@ -3,88 +3,11 @@
 #include <asm/types.h>
 
 /*
- * ffs: find first bit set. This is defined the same way as
- * the libc and compiler builtin ffs routines, therefore
- * differs in spirit from the above ffz (man ffs).
- */
-
-static inline int generic_ffs(int x)
-{
-	int r = 1;
-
-	if (!x)
-		return 0;
-	if (!(x & 0xffff)) {
-		x >>= 16;
-		r += 16;
-	}
-	if (!(x & 0xff)) {
-		x >>= 8;
-		r += 8;
-	}
-	if (!(x & 0xf)) {
-		x >>= 4;
-		r += 4;
-	}
-	if (!(x & 3)) {
-		x >>= 2;
-		r += 2;
-	}
-	if (!(x & 1)) {
-		x >>= 1;
-		r += 1;
-	}
-	return r;
-}
-
-/*
- * fls: find last bit set.
- */
-
-static __inline__ int generic_fls(int x)
-{
-	int r = 32;
-
-	if (!x)
-		return 0;
-	if (!(x & 0xffff0000u)) {
-		x <<= 16;
-		r -= 16;
-	}
-	if (!(x & 0xff000000u)) {
-		x <<= 8;
-		r -= 8;
-	}
-	if (!(x & 0xf0000000u)) {
-		x <<= 4;
-		r -= 4;
-	}
-	if (!(x & 0xc0000000u)) {
-		x <<= 2;
-		r -= 2;
-	}
-	if (!(x & 0x80000000u)) {
-		x <<= 1;
-		r -= 1;
-	}
-	return r;
-}
-
-/*
  * Include this here because some architectures need generic_ffs/fls in
  * scope
  */
 #include <asm/bitops.h>
 
-
-static inline int generic_fls64(__u64 x)
-{
-	__u32 h = x >> 32;
-	if (h)
-		return fls(x) + 32;
-	return fls(x);
-}
-
 static __inline__ int get_bitmask_order(unsigned int count)
 {
 	int order;
@@ -103,54 +26,9 @@ static __inline__ int get_count_order(un
 	return order;
 }
 
-/*
- * hweightN: returns the hamming weight (i.e. the number
- * of bits set) of a N-bit word
- */
-
-static inline unsigned int generic_hweight32(unsigned int w)
-{
-        unsigned int res = (w & 0x55555555) + ((w >> 1) & 0x55555555);
-        res = (res & 0x33333333) + ((res >> 2) & 0x33333333);
-        res = (res & 0x0F0F0F0F) + ((res >> 4) & 0x0F0F0F0F);
-        res = (res & 0x00FF00FF) + ((res >> 8) & 0x00FF00FF);
-        return (res & 0x0000FFFF) + ((res >> 16) & 0x0000FFFF);
-}
-
-static inline unsigned int generic_hweight16(unsigned int w)
-{
-        unsigned int res = (w & 0x5555) + ((w >> 1) & 0x5555);
-        res = (res & 0x3333) + ((res >> 2) & 0x3333);
-        res = (res & 0x0F0F) + ((res >> 4) & 0x0F0F);
-        return (res & 0x00FF) + ((res >> 8) & 0x00FF);
-}
-
-static inline unsigned int generic_hweight8(unsigned int w)
-{
-        unsigned int res = (w & 0x55) + ((w >> 1) & 0x55);
-        res = (res & 0x33) + ((res >> 2) & 0x33);
-        return (res & 0x0F) + ((res >> 4) & 0x0F);
-}
-
-static inline unsigned long generic_hweight64(__u64 w)
-{
-#if BITS_PER_LONG < 64
-	return generic_hweight32((unsigned int)(w >> 32)) +
-				generic_hweight32((unsigned int)w);
-#else
-	u64 res;
-	res = (w & 0x5555555555555555ul) + ((w >> 1) & 0x5555555555555555ul);
-	res = (res & 0x3333333333333333ul) + ((res >> 2) & 0x3333333333333333ul);
-	res = (res & 0x0F0F0F0F0F0F0F0Ful) + ((res >> 4) & 0x0F0F0F0F0F0F0F0Ful);
-	res = (res & 0x00FF00FF00FF00FFul) + ((res >> 8) & 0x00FF00FF00FF00FFul);
-	res = (res & 0x0000FFFF0000FFFFul) + ((res >> 16) & 0x0000FFFF0000FFFFul);
-	return (res & 0x00000000FFFFFFFFul) + ((res >> 32) & 0x00000000FFFFFFFFul);
-#endif
-}
-
 static inline unsigned long hweight_long(unsigned long w)
 {
-	return sizeof(w) == 4 ? generic_hweight32(w) : generic_hweight64(w);
+	return sizeof(w) == 4 ? hweight32(w) : hweight64(w);
 }
 
 /*

--

  parent reply	other threads:[~2006-02-01  9:03 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-01  9:02 [patch 00/44] generic bitops Akinobu Mita
2006-02-01  9:02 ` [patch 01/44] ia64: use cpu_set() instead of __set_bit() Akinobu Mita
2006-02-01  9:02 ` [patch 02/44] parisc: add ()-pair in __ffz() macro Akinobu Mita
2006-02-01  9:02 ` [patch 03/44] cris: remove unnecessary local_irq_restore() Akinobu Mita
2006-02-01  9:02 ` [patch 04/44] use non atomic operations for minix_*_bit() and ext2_*_bit() Akinobu Mita
2006-02-01  9:02 ` [patch 05/44] generic {,test_and_}{set,clear,change}_bit() Akinobu Mita
2006-02-03  9:55   ` Martin Waitz
2006-02-06 23:07     ` Russell King
2006-02-01  9:02 ` [patch 06/44] generic __{,test_and_}{set,clear,change}_bit() and test_bit() Akinobu Mita
2006-02-01  9:02 ` [patch 07/44] generic __ffs() Akinobu Mita
2006-02-01  9:02 ` [patch 08/44] generic ffz() Akinobu Mita
2006-02-01  9:02 ` [patch 09/44] generic fls() Akinobu Mita
2006-02-01  9:02 ` [patch 10/44] generic fls64() Akinobu Mita
2006-02-01  9:02 ` [patch 11/44] generic find_{next,first}{,_zero}_bit() Akinobu Mita
2006-02-01  9:02 ` [patch 12/44] generic sched_find_first_bit() Akinobu Mita
2006-02-03  3:58   ` [parisc-linux] " Grant Grundler
2006-02-01  9:02 ` [patch 13/44] generic ffs() Akinobu Mita
2006-02-01  9:02 ` [patch 14/44] generic hweight{64,32,16,8}() Akinobu Mita
2006-02-01  9:06   ` Andi Kleen
2006-02-01  9:26     ` Michael Tokarev
2006-02-01 10:24       ` Andi Kleen
2006-02-02 12:50         ` Akinobu Mita
2006-02-09  5:55           ` [PATCH] alpha: remove __alpha_cix__ and __alpha_fix__ Akinobu Mita
2006-02-09 19:12             ` Richard Henderson
2006-02-10  5:40               ` Akinobu Mita
2006-02-02  1:26   ` [patch 14/44] generic hweight{64,32,16,8}() Gabriel Paubert
2006-02-06 11:52     ` Akinobu Mita
2006-02-03  8:31   ` Ulrich Eckhardt
2006-02-01  9:02 ` [patch 15/44] generic ext2_{set,clear,test,find_first_zero,find_next_zero}_bit() Akinobu Mita
2006-02-01 11:27   ` Roman Zippel
2006-02-06 11:47     ` Akinobu Mita
2006-02-08 10:41     ` Akinobu Mita
2006-02-01  9:02 ` [patch 16/44] generic ext2_{set,clear}_bit_atomic() Akinobu Mita
2006-02-01  9:02 ` [patch 17/44] generic minix_{test,set,test_and_clear,test,find_first_zero}_bit() Akinobu Mita
2006-02-01  9:02 ` [patch 18/44] alpha: use generic bitops Akinobu Mita
2006-02-01  9:02 ` [patch 19/44] arm: " Akinobu Mita
2006-02-01  9:02 ` [patch 20/44] arm26: " Akinobu Mita
2006-02-01  9:02 ` [patch 21/44] cris: " Akinobu Mita
2006-02-01  9:02 ` [patch 22/44] frv: " Akinobu Mita
2006-02-01  9:02 ` [patch 23/44] h8300: " Akinobu Mita
2006-02-01  9:02 ` [patch 24/44] i386: " Akinobu Mita
2006-02-01  9:02 ` [patch 25/44] ia64: " Akinobu Mita
2006-02-01  9:02 ` [patch 26/44] m32r: " Akinobu Mita
2006-02-01  9:02 ` [patch 27/44] m68k: " Akinobu Mita
2006-02-01  9:02 ` [patch 28/44] m68knommu: " Akinobu Mita
2006-02-01  9:02 ` [patch 29/44] mips: " Akinobu Mita
2006-02-01  9:02 ` [patch 30/44] parisc: " Akinobu Mita
2006-02-01  9:02 ` [patch 31/44] powerpc: " Akinobu Mita
2006-02-01  9:02 ` [patch 32/44] s390: " Akinobu Mita
2006-02-01  9:02 ` [patch 33/44] sh: " Akinobu Mita
2006-02-01  9:02 ` [patch 34/44] sh64: " Akinobu Mita
2006-02-01  9:02 ` [patch 35/44] sparc: " Akinobu Mita
2006-02-01  9:03 ` [patch 36/44] sparc64: " Akinobu Mita
2006-02-01  9:03 ` [patch 37/44] v850: " Akinobu Mita
2006-02-01  9:03 ` [patch 38/44] x86_64: " Akinobu Mita
2006-02-01  9:03 ` [patch 39/44] xtensa: " Akinobu Mita
2006-02-01  9:03 ` [patch 40/44] update include/asm-generic/bitops.h Akinobu Mita
2006-02-01  9:03 ` [patch 41/44] make thread_info.flags an unsigned long Akinobu Mita
2006-02-01  9:03 ` [patch 42/44] ia64: make partial_page.bitmap " Akinobu Mita
2006-02-01  9:03 ` [patch 43/44] ntfs: remove generic_ffs() Akinobu Mita
2006-02-01  9:03 ` Akinobu Mita [this message]
2006-02-06 10:26 ` [patch 11/44] generic find_{next,first}{,_zero}_bit() David Howells
2006-02-07  2:02   ` Akinobu Mita

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060201090336.067087000@localhost.localdomain \
    --to=mita@miraclelinux.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).