--- zzzz-none-000/linux-2.6.19.2/include/linux/kernel.h 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/include/linux/kernel.h 2007-05-08 15:50:11.000000000 +0000 @@ -30,10 +30,8 @@ #define STACK_MAGIC 0xdeadbeef -#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) -#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) - #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#define ALIGN(x,a) (((x)+(a)-1UL)&~((a)-1UL)) #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f)) #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) #define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) @@ -144,8 +142,17 @@ #ifdef CONFIG_PRINTK asmlinkage int vprintk(const char *fmt, va_list args) __attribute__ ((format (printf, 1, 0))); -asmlinkage int printk(const char * fmt, ...) - __attribute__ ((format (printf, 1, 2))); + +/* zeigt immer auf printk */ +extern asmlinkage int (*__printk)(const char * fmt, ...) __attribute__ ((format (printf, 1, 2))); + +/* wird ggf. auf andere Funktion umgebogen */ +#define printk _printk +extern asmlinkage int (*_printk)(const char * fmt, ...) __attribute__ ((format (printf, 1, 2))); + +void set_printk(int (*__print)(const char * fmt, ...) __attribute__ ((format (printf, 1, 2)))); +void restore_printk(void); + #else static inline int vprintk(const char *s, va_list args) __attribute__ ((format (printf, 1, 0))); @@ -173,8 +180,6 @@ extern int printk_ratelimit(void); extern int __printk_ratelimit(int ratelimit_jiffies, int ratelimit_burst); -extern bool printk_timed_ratelimit(unsigned long *caller_jiffies, - unsigned int interval_msec); static inline void console_silent(void) {