aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2011-03-23 19:42:16 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-03-23 22:46:22 -0400
commit61f2e7b0f474225b4226772830ae4b29a3a21f8d (patch)
tree52f880fe6feec8efe5e5e028a3e0637629a500b7 /arch/m68k
parent3fca5af7860f87eb2cd706c2d7dda4ad03230a07 (diff)
bitops: remove minix bitops from asm/bitops.h
minix bit operations are only used by minix filesystem and useless by other modules. Because byte order of inode and block bitmaps is different on each architecture like below: m68k: big-endian 16bit indexed bitmaps h8300, microblaze, s390, sparc, m68knommu: big-endian 32 or 64bit indexed bitmaps m32r, mips, sh, xtensa: big-endian 32 or 64bit indexed bitmaps for big-endian mode little-endian bitmaps for little-endian mode Others: little-endian bitmaps In order to move minix bit operations from asm/bitops.h to architecture independent code in minix filesystem, this provides two config options. CONFIG_MINIX_FS_BIG_ENDIAN_16BIT_INDEXED is only selected by m68k. CONFIG_MINIX_FS_NATIVE_ENDIAN is selected by the architectures which use native byte order bitmaps (h8300, microblaze, s390, sparc, m68knommu, m32r, mips, sh, xtensa). The architectures which always use little-endian bitmaps do not select these options. Finally, we can remove minix bit operations from asm/bitops.h for all architectures. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Greg Ungerer <gerg@uclinux.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Andreas Schwab <schwab@linux-m68k.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Michal Simek <monstr@monstr.eu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Hirokazu Takata <takata@linux-m32r.org> Acked-by: Ralf Baechle <ralf@linux-mips.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Cc: Chris Zankel <chris@zankel.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/include/asm/bitops_mm.h30
-rw-r--r--arch/m68k/include/asm/bitops_no.h2
2 files changed, 0 insertions, 32 deletions
diff --git a/arch/m68k/include/asm/bitops_mm.h b/arch/m68k/include/asm/bitops_mm.h
index a403b5e69aab..9d69f6e62365 100644
--- a/arch/m68k/include/asm/bitops_mm.h
+++ b/arch/m68k/include/asm/bitops_mm.h
@@ -325,36 +325,6 @@ static inline int __fls(int x)
325#include <asm-generic/bitops/hweight.h> 325#include <asm-generic/bitops/hweight.h>
326#include <asm-generic/bitops/lock.h> 326#include <asm-generic/bitops/lock.h>
327 327
328/* Bitmap functions for the minix filesystem */
329
330static inline int minix_find_first_zero_bit(const void *vaddr, unsigned size)
331{
332 const unsigned short *p = vaddr, *addr = vaddr;
333 unsigned short num;
334
335 if (!size)
336 return 0;
337
338 size = (size >> 4) + ((size & 15) > 0);
339 while (*p++ == 0xffff) {
340 if (--size == 0)
341 return (p - addr) << 4;
342 }
343
344 num = *--p;
345 return ((p - addr) << 4) + ffz(num);
346}
347
348#define minix_test_and_set_bit(nr, addr) __test_and_set_bit((nr) ^ 16, (unsigned long *)(addr))
349#define minix_set_bit(nr,addr) __set_bit((nr) ^ 16, (unsigned long *)(addr))
350#define minix_test_and_clear_bit(nr, addr) __test_and_clear_bit((nr) ^ 16, (unsigned long *)(addr))
351
352static inline int minix_test_bit(int nr, const void *vaddr)
353{
354 const unsigned short *p = vaddr;
355 return (p[nr >> 4] & (1U << (nr & 15))) != 0;
356}
357
358/* Bitmap functions for the little endian bitmap. */ 328/* Bitmap functions for the little endian bitmap. */
359 329
360static inline void __set_bit_le(int nr, void *addr) 330static inline void __set_bit_le(int nr, void *addr)
diff --git a/arch/m68k/include/asm/bitops_no.h b/arch/m68k/include/asm/bitops_no.h
index 8db5fef8631f..7d3779fdc5b6 100644
--- a/arch/m68k/include/asm/bitops_no.h
+++ b/arch/m68k/include/asm/bitops_no.h
@@ -336,8 +336,6 @@ found_middle:
336 return result + ffz(__swab32(tmp)); 336 return result + ffz(__swab32(tmp));
337} 337}
338 338
339#include <asm-generic/bitops/minix.h>
340
341#endif /* __KERNEL__ */ 339#endif /* __KERNEL__ */
342 340
343#include <asm-generic/bitops/fls.h> 341#include <asm-generic/bitops/fls.h>