compat: Added headers and macros to support RHEL7.0
[compat-rdma/compat.git] / include / linux / kernel.h
1 #ifndef COMPAT_KERNEL_H
2 #define COMPAT_KERNEL_H
3
4 #include "../../compat/config.h"
5
6 #include_next <linux/kernel.h>
7
8 #ifndef DIV_ROUND_UP_ULL
9 #define DIV_ROUND_UP_ULL(ll,d) \
10         ({ unsigned long long _tmp = (ll)+(d)-1; do_div(_tmp, d); _tmp; })
11 #endif
12
13 #ifndef SIZE_MAX
14 #define SIZE_MAX       (~(size_t)0)
15 #endif
16
17 #ifndef U16_MAX
18 #define U16_MAX        ((u16)~0U)
19 #endif
20
21 #ifndef U32_MAX
22 #define U32_MAX        ((u32)~0U)
23 #endif
24
25 #ifndef U64_MAX
26 #define U64_MAX        ((u64)~0U)
27 #endif
28
29 #ifdef __KERNEL__
30 #ifndef HAVE_RECIPROCAL_SCALE
31 static inline u32 reciprocal_scale(u32 val, u32 ep_ro)
32 {
33         return (u32)(((u64) val * ep_ro) >> 32);
34 }
35 #endif
36 #endif /* __KERNEL__ */
37
38 #endif /* COMPAT_KERNEL_H */