Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
asm-generic
bitops
fls64.h
Go to the documentation of this file.
1
#ifndef _ASM_GENERIC_BITOPS_FLS64_H_
2
#define _ASM_GENERIC_BITOPS_FLS64_H_
3
4
#include <asm/types.h>
5
17
#if BITS_PER_LONG == 32
18
static
__always_inline
int
fls64(
__u64
x
)
19
{
20
__u32
h
= x >> 32;
21
if
(h)
22
return
fls(h) + 32;
23
return
fls(x);
24
}
25
#elif BITS_PER_LONG == 64
26
static
__always_inline
int
fls64(
__u64
x)
27
{
28
if
(x == 0)
29
return
0;
30
return
__fls
(x) + 1;
31
}
32
#else
33
#error BITS_PER_LONG not 32 or 64
34
#endif
35
36
#endif
/* _ASM_GENERIC_BITOPS_FLS64_H_ */
Generated on Thu Jan 10 2013 14:50:49 for Linux Kernel by
1.8.2