David Howells
f0d1b0b30d
[PATCH] LOG2: Implement a general integer log2 facility in the kernel
...
This facility provides three entry points:
ilog2() Log base 2 of unsigned long
ilog2_u32() Log base 2 of u32
ilog2_u64() Log base 2 of u64
These facilities can either be used inside functions on dynamic data:
int do_something(long q)
{
...;
y = ilog2(x)
...;
}
Or can be used to statically initialise global variables with constant values:
unsigned n = ilog2(27);
When performing static initialisation, the compiler will report "error:
initializer element is not constant" if asked to take a log of zero or of
something not reducible to a constant. They treat negative numbers as
unsigned.
When not dealing with a constant, they fall back to using fls() which permits
them to use arch-specific log calculation instructions - such as BSR on
x86/x86_64 or SCAN on FRV - if available.
[akpm@osdl.org: MMC fix]
Signed-off-by: David Howells <dhowells@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Howells <dhowells@redhat.com>
Cc: Wojtek Kaniewski <wojtekka@toxygen.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-08 08:28:51 -08:00
Josef Sipek
b3d7ae5f47
[PATCH] struct path: convert zorro
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
ad9a824e00
[PATCH] struct path: convert video
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
723731b2ee
[PATCH] struct path: convert v4l
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
33cb899400
[PATCH] struct path: convert usb
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
592ccbf9fb
[PATCH] struct path: convert unix
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
763454d610
[PATCH] struct path: convert ufs
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
5096e933a9
[PATCH] struct path: convert udf
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
5495ca657d
[PATCH] struct path: convert sysv
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
303b46bb77
[PATCH] struct path: convert sunrpc
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
1250ca4c8f
[PATCH] struct path: convert sparc64
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
45e079810a
[PATCH] struct path: convert sparc
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:50 -08:00
Josef Sipek
7bc563239e
[PATCH] struct path: convert sound
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
17b75e6949
[PATCH] struct path: convert smbfs
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
c943c4b49c
[PATCH] struct path: convert sh
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
3d5ff529ea
[PATCH] struct path: convert selinux
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
7ac6207b2a
[PATCH] struct path: convert scsi
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
7fa95f726a
[PATCH] struct path: convert sbus
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
d20343e740
[PATCH] struct path: convert s390
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
49522c97ac
[PATCH] struct path: convert s390-drivers
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
3027795e7b
[PATCH] struct path: convert romfs
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
1fc5adbd19
[PATCH] struct path: convert reiserfs
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
a57c4d65f7
[PATCH] struct path: convert ramfs
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:49 -08:00
Josef Sipek
24e23c24e7
[PATCH] struct path: convert qnx4
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:48 -08:00
Josef Sipek
c2c8bbadbf
[PATCH] struct path: convert ppc
...
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-12-08 08:28:48 -08:00