/* * 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 /select> net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@kernel.org>2016-06-29 15:14:52 -0700
committerMichal Marek <mmarek@suse.com>2016-07-22 12:13:39 +0200
commit8e826ad52b751ca34d5153533f4f58ec38cf4799 (patch)
tree8208174d1b04f2f521da280d1785a0cad75e5ccb /Documentation
parent13d948653372987388a09c259758abd44ed6e7f2 (diff)
coccicheck: make SPFLAGS more useful
SPFLAGS is set early, it means that any heuristics done on coccicheck cannot be overridden currently. Move SPFLAGS after OPTIONS and set this at the end. This lets you override any heuristics as coccinelle treats conflicts by only listening to the last option that makes sense. v3: this patch was added in the v3 series v4: Update Documentation/coccinelle.txt explaining how SPFLAGS works as well. Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Acked-by: Nicolas Palix <nicolas.palix@imag.fr> Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'Documentation')