diff options
Diffstat (limited to 'tools/testing/radix-tree/linux/kernel.h')
-rw-r--r-- | tools/testing/radix-tree/linux/kernel.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/testing/radix-tree/linux/kernel.h b/tools/testing/radix-tree/linux/kernel.h index dbe4b92806b8..23e77f5673ce 100644 --- a/tools/testing/radix-tree/linux/kernel.h +++ b/tools/testing/radix-tree/linux/kernel.h | |||
@@ -47,4 +47,15 @@ static inline int in_interrupt(void) | |||
47 | { | 47 | { |
48 | return 0; | 48 | return 0; |
49 | } | 49 | } |
50 | |||
51 | /* | ||
52 | * This looks more complex than it should be. But we need to | ||
53 | * get the type for the ~ right in round_down (it needs to be | ||
54 | * as wide as the result!), and we want to evaluate the macro | ||
55 | * arguments just once each. | ||
56 | */ | ||
57 | #define __round_mask(x, y) ((__typeof__(x))((y)-1)) | ||
58 | #define round_up(x, y) ((((x)-1) | __round_mask(x, y))+1) | ||
59 | #define round_down(x, y) ((x) & ~__round_mask(x, y)) | ||
60 | |||
50 | #endif /* _KERNEL_H */ | 61 | #endif /* _KERNEL_H */ |