diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-01-12 05:32:03 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-01-12 05:32:03 -0500 |
| commit | e3ee1e123183ca9847e74b7b8e2694c9e3b817a6 (patch) | |
| tree | 652a84674ed05eaa46a813de2223af0bd0168a5a /include/linux/kernel.h | |
| parent | 5762ba1873b0bb9faa631aaa02f533c2b9837f82 (diff) | |
| parent | c59765042f53a79a7a65585042ff463b69cb248c (diff) | |
Merge commit 'v2.6.29-rc1' into timers/hrtimers
Conflicts:
kernel/time/tick-common.c
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 6002ae76785c..343df9ef2412 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
| @@ -48,6 +48,12 @@ extern const char linux_proc_banner[]; | |||
| 48 | #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f)) | 48 | #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f)) |
| 49 | #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) | 49 | #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) |
| 50 | #define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) | 50 | #define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) |
| 51 | #define DIV_ROUND_CLOSEST(x, divisor)( \ | ||
| 52 | { \ | ||
| 53 | typeof(divisor) __divisor = divisor; \ | ||
| 54 | (((x) + ((__divisor) / 2)) / (__divisor)); \ | ||
| 55 | } \ | ||
| 56 | ) | ||
| 51 | 57 | ||
| 52 | #define _RET_IP_ (unsigned long)__builtin_return_address(0) | 58 | #define _RET_IP_ (unsigned long)__builtin_return_address(0) |
| 53 | #define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; }) | 59 | #define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; }) |
| @@ -141,6 +147,15 @@ extern int _cond_resched(void); | |||
| 141 | (__x < 0) ? -__x : __x; \ | 147 | (__x < 0) ? -__x : __x; \ |
| 142 | }) | 148 | }) |
| 143 | 149 | ||
| 150 | #ifdef CONFIG_PROVE_LOCKING | ||
| 151 | void might_fault(void); | ||
| 152 | #else | ||
| 153 | static inline void might_fault(void) | ||
| 154 | { | ||
| 155 | might_sleep(); | ||
| 156 | } | ||
| 157 | #endif | ||
| 158 | |||
| 144 | extern struct atomic_notifier_head panic_notifier_list; | 159 | extern struct atomic_notifier_head panic_notifier_list; |
| 145 | extern long (*panic_blink)(long time); | 160 | extern long (*panic_blink)(long time); |
| 146 | NORET_TYPE void panic(const char * fmt, ...) | 161 | NORET_TYPE void panic(const char * fmt, ...) |
| @@ -188,6 +203,8 @@ extern unsigned long long memparse(const char *ptr, char **retptr); | |||
| 188 | extern int core_kernel_text(unsigned long addr); | 203 | extern int core_kernel_text(unsigned long addr); |
| 189 | extern int __kernel_text_address(unsigned long addr); | 204 | extern int __kernel_text_address(unsigned long addr); |
| 190 | extern int kernel_text_address(unsigned long addr); | 205 | extern int kernel_text_address(unsigned long addr); |
| 206 | extern int func_ptr_is_kernel_text(void *ptr); | ||
| 207 | |||
| 191 | struct pid; | 208 | struct pid; |
| 192 | extern struct pid *session_of_pgrp(struct pid *pgrp); | 209 | extern struct pid *session_of_pgrp(struct pid *pgrp); |
| 193 | 210 | ||
| @@ -338,13 +355,13 @@ static inline char *pack_hex_byte(char *buf, u8 byte) | |||
| 338 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) | 355 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) |
| 339 | 356 | ||
| 340 | /* If you are writing a driver, please use dev_dbg instead */ | 357 | /* If you are writing a driver, please use dev_dbg instead */ |
| 341 | #if defined(CONFIG_DYNAMIC_PRINTK_DEBUG) | 358 | #if defined(DEBUG) |
| 359 | #define pr_debug(fmt, ...) \ | ||
| 360 | printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) | ||
| 361 | #elif defined(CONFIG_DYNAMIC_PRINTK_DEBUG) | ||
| 342 | #define pr_debug(fmt, ...) do { \ | 362 | #define pr_debug(fmt, ...) do { \ |
| 343 | dynamic_pr_debug(pr_fmt(fmt), ##__VA_ARGS__); \ | 363 | dynamic_pr_debug(pr_fmt(fmt), ##__VA_ARGS__); \ |
| 344 | } while (0) | 364 | } while (0) |
| 345 | #elif defined(DEBUG) | ||
| 346 | #define pr_debug(fmt, ...) \ | ||
| 347 | printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) | ||
| 348 | #else | 365 | #else |
| 349 | #define pr_debug(fmt, ...) \ | 366 | #define pr_debug(fmt, ...) \ |
| 350 | ({ if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); 0; }) | 367 | ({ if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); 0; }) |
| @@ -459,6 +476,12 @@ static inline char *pack_hex_byte(char *buf, u8 byte) | |||
| 459 | __val = __val < __min ? __min: __val; \ | 476 | __val = __val < __min ? __min: __val; \ |
| 460 | __val > __max ? __max: __val; }) | 477 | __val > __max ? __max: __val; }) |
| 461 | 478 | ||
| 479 | |||
| 480 | /* | ||
| 481 | * swap - swap value of @a and @b | ||
| 482 | */ | ||
| 483 | #define swap(a, b) ({ typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; }) | ||
| 484 | |||
| 462 | /** | 485 | /** |
| 463 | * container_of - cast a member of a structure out to the containing structure | 486 | * container_of - cast a member of a structure out to the containing structure |
| 464 | * @ptr: the pointer to the member. | 487 | * @ptr: the pointer to the member. |
