From 0093fda9e85344fe47f162e1a5627479c183947a Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sat, 2 Oct 1999 05:59:29 +0000 Subject: 1999-10-02 Roland McGrath * bitmap.c (count_free, find_next_zero_bit, find_first_zero_bit): Make these all static inline. (ffz, ffz_nibble_map): Function and variable removed. (ffz): Replace decl with macro defined in terms of ffs. * ext2fs.h (count_free, find_next_zero_bit, find_first_zero_bit, ffz): Remove these declarations. * Makefile (SRCS): Remove bitmap.c. (LCLHDRS): Add bitmap.c here instead. * balloc.c, ialloc.c: #include "bitmap.c" here. --- ext2fs/bitmap.c | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) (limited to 'ext2fs/bitmap.c') diff --git a/ext2fs/bitmap.c b/ext2fs/bitmap.c index b6c91127..fb6d2ada 100644 --- a/ext2fs/bitmap.c +++ b/ext2fs/bitmap.c @@ -1,6 +1,6 @@ /* Bitmap perusing routines - Copyright (C) 1995, 1999 Free Software Foundation, Inc. + Copyright (C) 1995 Free Software Foundation, Inc. Converted to work under the hurd by Miles Bader @@ -18,6 +18,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define ffz(word) (ffs (~(word)) - 1) + /* * linux/fs/ext2/bitmap.c (&c) * @@ -29,6 +31,7 @@ static int nibblemap[] = {4, 3, 3, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 1, 1, 0}; +static inline unsigned long count_free (char * map, unsigned int numchars) { unsigned int i; @@ -44,31 +47,6 @@ unsigned long count_free (char * map, unsigned int numchars) /* ---------------------------------------------------------------- */ -static int ffz_nibble_map[] = {0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4}; - -inline unsigned long ffz(unsigned long word) -{ - int offset = 0; - if ((word & 0xFFFF) == 0xFFFF) - { - word >>= 16; - offset += 16; - } - if ((word & 0xFF) == 0xFF) - { - word >>= 8; - offset += 8; - } - if ((word & 0xF) == 0xF) - { - word >>= 4; - offset += 4; - } - return ffz_nibble_map[word & 0xF] + offset; -} - -/* ---------------------------------------------------------------- */ - /* * Copyright 1994, David S. Miller (davem@caip.rutgers.edu). */ @@ -78,7 +56,7 @@ inline unsigned long ffz(unsigned long word) * on Linus's ALPHA routines, which are pretty portable BTW. */ -inline unsigned long +static inline unsigned long find_next_zero_bit(void *addr, unsigned long size, unsigned long offset) { unsigned long *p = ((unsigned long *) addr) + (offset >> 5); @@ -121,7 +99,7 @@ found_middle: * holds on the Sparc as it does for the ALPHA. */ -inline int +static inline int find_first_zero_bit(void *buf, unsigned len) { return find_next_zero_bit(buf, len, 0); -- cgit v1.2.3