diff options
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index ca9ff6411dfa..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; }) |
| @@ -349,13 +355,13 @@ static inline char *pack_hex_byte(char *buf, u8 byte) | |||
| 349 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) | 355 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) |
| 350 | 356 | ||
| 351 | /* If you are writing a driver, please use dev_dbg instead */ | 357 | /* If you are writing a driver, please use dev_dbg instead */ |
| 352 | #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) | ||
| 353 | #define pr_debug(fmt, ...) do { \ | 362 | #define pr_debug(fmt, ...) do { \ |
| 354 | dynamic_pr_debug(pr_fmt(fmt), ##__VA_ARGS__); \ | 363 | dynamic_pr_debug(pr_fmt(fmt), ##__VA_ARGS__); \ |
| 355 | } while (0) | 364 | } while (0) |
| 356 | #elif defined(DEBUG) | ||
| 357 | #define pr_debug(fmt, ...) \ | ||
| 358 | printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) | ||
| 359 | #else | 365 | #else |
| 360 | #define pr_debug(fmt, ...) \ | 366 | #define pr_debug(fmt, ...) \ |
| 361 | ({ if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); 0; }) | 367 | ({ if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); 0; }) |
| @@ -470,6 +476,12 @@ static inline char *pack_hex_byte(char *buf, u8 byte) | |||
| 470 | __val = __val < __min ? __min: __val; \ | 476 | __val = __val < __min ? __min: __val; \ |
| 471 | __val > __max ? __max: __val; }) | 477 | __val > __max ? __max: __val; }) |
| 472 | 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 | |||
| 473 | /** | 485 | /** |
| 474 | * 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 |
| 475 | * @ptr: the pointer to the member. | 487 | * @ptr: the pointer to the member. |
