/* * lib/clz_ctz.c * * Copyright (C) 2013 Chanho Min * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * The functions in this file aren't called directly, but are required by * GCC builtins such as __builtin_ctz, and therefore they can't be removed * despite appearing unreferenced in kernel source. * * __c[lt]z[sd]i2 can be overridden by linking arch-specific versions. */ #include #include int __weak __ctzsi2(int val); int __weak __ctzsi2(int val) { return __ffs(val); } EXPORT_SYMBOL(__ctzsi2); int __weak __clzsi2(int val); int __weak __clzsi2(int val) { return 32 - fls(val); } EXPORT_SYMBOL(__clzsi2); int __weak __clzdi2(long val); int __weak __ctzdi2(long val); #if BITS_PER_LONG == 32 int __weak __clzdi2(long val) { return 32 - fls((int)val); } EXPORT_SYMBOL(__clzdi2); int __weak __ctzdi2(long val) { return __ffs((u32)val); } EXPORT_SYMBOL(__ctzdi2); #elif BITS_PER_LONG == 64 int __weak __clzdi2(long val) { return 64 - fls64((u64)val); } EXPORT_SYMBOL(__clzdi2); int __weak __ctzdi2(long val) { return __ffs64((u64)val); } EXPORT_SYMBOL(__ctzdi2); #else #error BITS_PER_LONG not 32 or 64 #endif alue='packet-rx-pump-back'>packet-rx-pump-back net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-27 12:41:46 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-27 12:41:46 -0800
commit5906374446386fd16fe562b042429d905d231ec3 (patch)
tree8e8a9f367d1aeba25c644d3fcf096ffc443c4c5a /tools/perf/util/data.h
parent2fb78e89405f4321b86274a0c24b30896dd50529 (diff)
parent57b59ed2e5b91e958843609c7884794e29e6c4cb (diff)
Merge branch 'for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs updates from Chris Mason: "Some fixes that we've collected from the list. We still have one more pending to nail down a regression in lzo compression, but I wanted to get this batch out the door" * 'for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: remove ->{get, set}_acl() from btrfs_dir_ro_inode_operations Btrfs: disable xattr operations on subvolume directories Btrfs: remove old tree_root case in btrfs_read_locked_inode() Btrfs: fix truncate down when no_holes feature is enabled Btrfs: Fix deadlock between direct IO and fast fsync btrfs: fix false enospc error when truncating heavily reflinked file
Diffstat (limited to 'tools/perf/util/data.h')