1 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/drivers/input/serio/i8042-ppcio.h linux-2.6.27-720/drivers/input/serio/i8042-ppcio.h
2 --- linux-2.6.27-710/drivers/input/serio/i8042-ppcio.h 2008-10-09 18:13:53.000000000 -0400
3 +++ linux-2.6.27-720/drivers/input/serio/i8042-ppcio.h 2009-05-04 16:03:46.000000000 -0400
5 asm volatile("lis 7,0xff88 \n\
8 - : "=r" (kbd_data) :: "6", "7");
9 + : "=r" (kbd_data) : : "6", "7");
11 __raw_writel(0x00000000, 0xff50000c);
17 - : "=r" (kbd_status) :: "6", "7");
18 + : "=r" (kbd_status) : : "6", "7");
20 __raw_writel(0x00000000, 0xff50000c);
22 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/drivers/net/wireless/rayctl.h linux-2.6.27-720/drivers/net/wireless/rayctl.h
23 --- linux-2.6.27-710/drivers/net/wireless/rayctl.h 2008-10-09 18:13:53.000000000 -0400
24 +++ linux-2.6.27-720/drivers/net/wireless/rayctl.h 2009-05-04 16:03:46.000000000 -0400
28 /****** Host-to-ECF Data Area at Shared RAM offset 0x200 *********************/
29 -struct host_to_ecf_area {
32 +EMPTY_STRUCT_DECL(host_to_ecf_area);
34 /****** ECF-to-Host Data Area at Shared RAM offset 0x0300 ********************/
35 struct startup_res_518 {
36 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/drivers/video/i810/i810_main.h linux-2.6.27-720/drivers/video/i810/i810_main.h
37 --- linux-2.6.27-710/drivers/video/i810/i810_main.h 2008-10-09 18:13:53.000000000 -0400
38 +++ linux-2.6.27-720/drivers/video/i810/i810_main.h 2009-05-04 16:03:46.000000000 -0400
41 static inline void flush_cache(void)
43 - asm volatile ("wbinvd":::"memory");
44 + asm volatile ("wbinvd": : :"memory");
47 #define flush_cache() do { } while(0)
48 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/fs/file_table.c linux-2.6.27-720/fs/file_table.c
49 --- linux-2.6.27-710/fs/file_table.c 2009-05-04 12:36:00.000000000 -0400
50 +++ linux-2.6.27-720/fs/file_table.c 2009-05-04 16:03:46.000000000 -0400
52 /* public. Not pretty! */
53 __cacheline_aligned_in_smp DEFINE_SPINLOCK(files_lock);
55 +EXPORT_SYMBOL(files_lock);
57 static struct percpu_counter nr_files __cacheline_aligned_in_smp;
59 static inline void file_free_rcu(struct rcu_head *head)
60 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/fs/super.c linux-2.6.27-720/fs/super.c
61 --- linux-2.6.27-710/fs/super.c 2009-05-04 12:36:00.000000000 -0400
62 +++ linux-2.6.27-720/fs/super.c 2009-05-04 16:03:46.000000000 -0400
64 LIST_HEAD(super_blocks);
65 DEFINE_SPINLOCK(sb_lock);
67 +EXPORT_SYMBOL(sb_lock);
70 * alloc_super - create new superblock
71 * @type: filesystem type superblock should belong to
72 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-cris/arch-v10/io.h linux-2.6.27-720/include/asm-cris/arch-v10/io.h
73 --- linux-2.6.27-710/include/asm-cris/arch-v10/io.h 2008-10-09 18:13:53.000000000 -0400
74 +++ linux-2.6.27-720/include/asm-cris/arch-v10/io.h 2009-05-04 16:03:46.000000000 -0400
76 ({ int _Foofoo; __asm__ volatile ("bmod [%0],%0" : "=r" (_Foofoo) : "0" \
79 -#define TRACE_OFF() do { __asm__ volatile ("bmod [%0],%0" :: "r" (254)); } while (0)
80 -#define SIM_END() do { __asm__ volatile ("bmod [%0],%0" :: "r" (28)); } while (0)
81 +#define TRACE_OFF() do { __asm__ volatile ("bmod [%0],%0" : : "r" (254)); } while (0)
82 +#define SIM_END() do { __asm__ volatile ("bmod [%0],%0" : : "r" (28)); } while (0)
83 #define CRIS_CYCLES() __extension__ \
84 ({ unsigned long c; asm ("bmod [%1],%0" : "=r" (c) : "r" (27)); c;})
85 #endif /* ! defined CONFIG_SVINTO_SIM */
86 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-cris/module.h linux-2.6.27-720/include/asm-cris/module.h
87 --- linux-2.6.27-710/include/asm-cris/module.h 2008-10-09 18:13:53.000000000 -0400
88 +++ linux-2.6.27-720/include/asm-cris/module.h 2009-05-04 16:03:46.000000000 -0400
90 #ifndef _ASM_CRIS_MODULE_H
91 #define _ASM_CRIS_MODULE_H
93 -struct mod_arch_specific { };
94 +EMPTY_STRUCT_DECL(mod_arch_specific);
96 #define Elf_Shdr Elf32_Shdr
97 #define Elf_Sym Elf32_Sym
98 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/bug.h linux-2.6.27-720/include/asm-frv/bug.h
99 --- linux-2.6.27-710/include/asm-frv/bug.h 2008-10-09 18:13:53.000000000 -0400
100 +++ linux-2.6.27-720/include/asm-frv/bug.h 2009-05-04 16:03:46.000000000 -0400
103 * Tell the user there is some problem.
105 -extern asmlinkage void __debug_bug_trap(int signr);
106 +asmlinkage void __debug_bug_trap(int signr);
108 #ifdef CONFIG_NO_KERNEL_MSG
109 #define _debug_bug_printk()
110 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/fpu.h linux-2.6.27-720/include/asm-frv/fpu.h
111 --- linux-2.6.27-710/include/asm-frv/fpu.h 2008-10-09 18:13:53.000000000 -0400
112 +++ linux-2.6.27-720/include/asm-frv/fpu.h 2009-05-04 16:03:46.000000000 -0400
114 * MAX floating point unit state size (FSAVE/FRESTORE)
117 -#define kernel_fpu_end() do { asm volatile("bar":::"memory"); preempt_enable(); } while(0)
118 +#define kernel_fpu_end() do { asm volatile("bar": : :"memory"); preempt_enable(); } while(0)
120 #endif /* __ASM_FPU_H */
121 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/gdb-stub.h linux-2.6.27-720/include/asm-frv/gdb-stub.h
122 --- linux-2.6.27-710/include/asm-frv/gdb-stub.h 2008-10-09 18:13:53.000000000 -0400
123 +++ linux-2.6.27-720/include/asm-frv/gdb-stub.h 2009-05-04 16:03:46.000000000 -0400
125 extern void gdbstub_tx_flush(void);
126 extern void gdbstub_do_rx(void);
128 -extern asmlinkage void __debug_stub_init_break(void);
129 -extern asmlinkage void __break_hijack_kernel_event(void);
130 -extern asmlinkage void __break_hijack_kernel_event_breaks_here(void);
131 -extern asmlinkage void start_kernel(void);
133 -extern asmlinkage void gdbstub_rx_handler(void);
134 -extern asmlinkage void gdbstub_rx_irq(void);
135 -extern asmlinkage void gdbstub_intercept(void);
136 +asmlinkage void __debug_stub_init_break(void);
137 +asmlinkage void __break_hijack_kernel_event(void);
138 +asmlinkage void __break_hijack_kernel_event_breaks_here(void);
139 +asmlinkage void start_kernel(void);
141 +asmlinkage void gdbstub_rx_handler(void);
142 +asmlinkage void gdbstub_rx_irq(void);
143 +asmlinkage void gdbstub_intercept(void);
145 extern uint32_t __entry_usertrap_table[];
146 extern uint32_t __entry_kerneltrap_table[];
147 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/highmem.h linux-2.6.27-720/include/asm-frv/highmem.h
148 --- linux-2.6.27-710/include/asm-frv/highmem.h 2008-10-09 18:13:53.000000000 -0400
149 +++ linux-2.6.27-720/include/asm-frv/highmem.h 2009-05-04 16:03:46.000000000 -0400
151 dampr = paddr | xAMPRx_L | xAMPRx_M | xAMPRx_S | xAMPRx_SS_16Kb | xAMPRx_V; \
153 if (type != __KM_CACHE) \
154 - asm volatile("movgs %0,dampr"#ampr :: "r"(dampr) : "memory"); \
155 + asm volatile("movgs %0,dampr"#ampr : : "r"(dampr) : "memory"); \
157 asm volatile("movgs %0,iampr"#ampr"\n" \
158 "movgs %0,dampr"#ampr"\n" \
159 - :: "r"(dampr) : "memory" \
160 + : : "r"(dampr) : "memory" \
163 asm("movsg damlr"#ampr",%0" : "=r"(damlr)); \
166 #define __kunmap_atomic_primary(type, ampr) \
168 - asm volatile("movgs gr0,dampr"#ampr"\n" ::: "memory"); \
169 + asm volatile("movgs gr0,dampr"#ampr"\n" : : : "memory"); \
170 if (type == __KM_CACHE) \
171 - asm volatile("movgs gr0,iampr"#ampr"\n" ::: "memory"); \
172 + asm volatile("movgs gr0,iampr"#ampr"\n" : : : "memory");\
175 #define __kunmap_atomic_secondary(slot, vaddr) \
176 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/module.h linux-2.6.27-720/include/asm-frv/module.h
177 --- linux-2.6.27-710/include/asm-frv/module.h 2008-10-09 18:13:53.000000000 -0400
178 +++ linux-2.6.27-720/include/asm-frv/module.h 2009-05-04 16:03:46.000000000 -0400
180 #ifndef _ASM_MODULE_H
181 #define _ASM_MODULE_H
183 -struct mod_arch_specific
186 +EMPTY_STRUCT_DECL(mod_arch_specific);
188 #define Elf_Shdr Elf32_Shdr
189 #define Elf_Sym Elf32_Sym
190 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/pgtable.h linux-2.6.27-720/include/asm-frv/pgtable.h
191 --- linux-2.6.27-710/include/asm-frv/pgtable.h 2008-10-09 18:13:53.000000000 -0400
192 +++ linux-2.6.27-720/include/asm-frv/pgtable.h 2009-05-04 16:03:46.000000000 -0400
194 #define set_pte(pteptr, pteval) \
196 *(pteptr) = (pteval); \
197 - asm volatile("dcf %M0" :: "U"(*pteptr)); \
198 + asm volatile("dcf %M0" : : "U"(*pteptr)); \
200 #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
203 #define set_pgd(pgdptr, pgdval) \
205 memcpy((pgdptr), &(pgdval), sizeof(pgd_t)); \
206 - asm volatile("dcf %M0" :: "U"(*(pgdptr))); \
207 + asm volatile("dcf %M0" : : "U"(*(pgdptr))); \
210 static inline pud_t *pud_offset(pgd_t *pgd, unsigned long address)
211 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/processor.h linux-2.6.27-720/include/asm-frv/processor.h
212 --- linux-2.6.27-710/include/asm-frv/processor.h 2008-10-09 18:13:53.000000000 -0400
213 +++ linux-2.6.27-720/include/asm-frv/processor.h 2009-05-04 16:03:46.000000000 -0400
218 -extern asmlinkage int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
219 -extern asmlinkage void save_user_regs(struct user_context *target);
220 -extern asmlinkage void *restore_user_regs(const struct user_context *target, ...);
221 +asmlinkage int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
222 +asmlinkage void save_user_regs(struct user_context *target);
223 +asmlinkage void *restore_user_regs(const struct user_context *target, ...);
225 #define copy_segments(tsk, mm) do { } while (0)
226 #define release_segments(mm) do { } while (0)
227 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/spr-regs.h linux-2.6.27-720/include/asm-frv/spr-regs.h
228 --- linux-2.6.27-710/include/asm-frv/spr-regs.h 2008-10-09 18:13:53.000000000 -0400
229 +++ linux-2.6.27-720/include/asm-frv/spr-regs.h 2009-05-04 16:03:46.000000000 -0400
232 #define restore_dampr(R, _dampr) \
234 - asm volatile("movgs %0,dampr"R :: "r"(_dampr)); \
235 + asm volatile("movgs %0,dampr"R : : "r"(_dampr)); \
239 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-frv/system.h linux-2.6.27-720/include/asm-frv/system.h
240 --- linux-2.6.27-710/include/asm-frv/system.h 2008-10-09 18:13:53.000000000 -0400
241 +++ linux-2.6.27-720/include/asm-frv/system.h 2009-05-04 16:03:46.000000000 -0400
243 * `prev' will never be the same as `next'.
244 * The `mb' is to tell GCC not to cache `current' across this call.
248 struct task_struct *__switch_to(struct thread_struct *prev_thread,
249 struct thread_struct *next_thread,
250 struct task_struct *prev);
253 * Force strict CPU ordering.
255 -#define nop() asm volatile ("nop"::)
256 +#define nop() asm volatile ("nop": :)
257 #define mb() asm volatile ("membar" : : :"memory")
258 #define rmb() asm volatile ("membar" : : :"memory")
259 #define wmb() asm volatile ("membar" : : :"memory")
260 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-generic/bitops/hweight.h linux-2.6.27-720/include/asm-generic/bitops/hweight.h
261 --- linux-2.6.27-710/include/asm-generic/bitops/hweight.h 2008-10-09 18:13:53.000000000 -0400
262 +++ linux-2.6.27-720/include/asm-generic/bitops/hweight.h 2009-05-04 16:03:46.000000000 -0400
265 #include <asm/types.h>
268 +#ifndef CXX_PROTECTED
269 +#error Unprotected code region
273 extern unsigned int hweight32(unsigned int w);
274 extern unsigned int hweight16(unsigned int w);
275 extern unsigned int hweight8(unsigned int w);
276 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-m32r/module.h linux-2.6.27-720/include/asm-m32r/module.h
277 --- linux-2.6.27-710/include/asm-m32r/module.h 2008-10-09 18:13:53.000000000 -0400
278 +++ linux-2.6.27-720/include/asm-m32r/module.h 2009-05-04 16:03:46.000000000 -0400
280 #ifndef _ASM_M32R_MODULE_H
281 #define _ASM_M32R_MODULE_H
283 -struct mod_arch_specific { };
284 +EMPTY_STRUCT_DECL(mod_arch_specific);
286 #define Elf_Shdr Elf32_Shdr
287 #define Elf_Sym Elf32_Sym
288 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-m68k/system.h linux-2.6.27-720/include/asm-m68k/system.h
289 --- linux-2.6.27-710/include/asm-m68k/system.h 2008-10-09 18:13:53.000000000 -0400
290 +++ linux-2.6.27-720/include/asm-m68k/system.h 2009-05-04 16:03:46.000000000 -0400
291 @@ -167,23 +167,23 @@
292 #define __HAVE_ARCH_CMPXCHG 1
294 static inline unsigned long __cmpxchg(volatile void *p, unsigned long old,
295 - unsigned long new, int size)
296 + unsigned long n, int size)
300 __asm__ __volatile__ ("casb %0,%2,%1"
301 : "=d" (old), "=m" (*(char *)p)
302 - : "d" (new), "0" (old), "m" (*(char *)p));
303 + : "d" (n), "0" (old), "m" (*(char *)p));
306 __asm__ __volatile__ ("casw %0,%2,%1"
307 : "=d" (old), "=m" (*(short *)p)
308 - : "d" (new), "0" (old), "m" (*(short *)p));
309 + : "d" (n), "0" (old), "m" (*(short *)p));
312 __asm__ __volatile__ ("casl %0,%2,%1"
313 : "=d" (old), "=m" (*(int *)p)
314 - : "d" (new), "0" (old), "m" (*(int *)p));
315 + : "d" (n), "0" (old), "m" (*(int *)p));
319 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/fpu.h linux-2.6.27-720/include/asm-mips/fpu.h
320 --- linux-2.6.27-710/include/asm-mips/fpu.h 2008-10-09 18:13:53.000000000 -0400
321 +++ linux-2.6.27-720/include/asm-mips/fpu.h 2009-05-04 16:03:46.000000000 -0400
326 -extern asmlinkage int (*save_fp_context)(struct sigcontext __user *sc);
327 -extern asmlinkage int (*restore_fp_context)(struct sigcontext __user *sc);
328 +asmlinkage int (*save_fp_context)(struct sigcontext __user *sc);
329 +asmlinkage int (*restore_fp_context)(struct sigcontext __user *sc);
331 -extern asmlinkage int (*save_fp_context32)(struct sigcontext32 __user *sc);
332 -extern asmlinkage int (*restore_fp_context32)(struct sigcontext32 __user *sc);
333 +asmlinkage int (*save_fp_context32)(struct sigcontext32 __user *sc);
334 +asmlinkage int (*restore_fp_context32)(struct sigcontext32 __user *sc);
336 extern void fpu_emulator_init_fpu(void);
337 extern int fpu_emulator_save_context(struct sigcontext __user *sc);
338 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/io.h linux-2.6.27-720/include/asm-mips/io.h
339 --- linux-2.6.27-710/include/asm-mips/io.h 2008-10-09 18:13:53.000000000 -0400
340 +++ linux-2.6.27-720/include/asm-mips/io.h 2009-05-04 16:03:46.000000000 -0400
342 volatile type *__mem; \
345 - __mem = (void *)__swizzle_addr_##bwlq((unsigned long)(mem)); \
346 + __mem = (type *)__swizzle_addr_##bwlq((unsigned long)(mem)); \
348 __val = pfx##ioswab##bwlq(__mem, val); \
351 volatile type *__mem; \
354 - __mem = (void *)__swizzle_addr_##bwlq((unsigned long)(mem)); \
355 + __mem = (type *)__swizzle_addr_##bwlq((unsigned long)(mem)); \
357 if (sizeof(type) != sizeof(u64) || sizeof(u64) == sizeof(long)) \
360 volatile type *__addr; \
363 - __addr = (void *)__swizzle_addr_##bwlq(mips_io_port_base + port); \
364 + __addr = (type *)__swizzle_addr_##bwlq(mips_io_port_base + port); \
366 __val = pfx##ioswab##bwlq(__addr, val); \
369 volatile type *__addr; \
372 - __addr = (void *)__swizzle_addr_##bwlq(mips_io_port_base + port); \
373 + __addr = (type *)__swizzle_addr_##bwlq(mips_io_port_base + port); \
375 BUILD_BUG_ON(sizeof(type) > sizeof(unsigned long)); \
378 static inline void writes##bwlq(volatile void __iomem *mem, \
379 const void *addr, unsigned int count) \
381 - const volatile type *__addr = addr; \
382 + const volatile type *__addr = (const type *) addr; \
385 __mem_write##bwlq(*__addr, mem); \
387 static inline void reads##bwlq(volatile void __iomem *mem, void *addr, \
388 unsigned int count) \
390 - volatile type *__addr = addr; \
391 + volatile type *__addr = (type *) addr; \
394 *__addr = __mem_read##bwlq(mem); \
396 static inline void outs##bwlq(unsigned long port, const void *addr, \
397 unsigned int count) \
399 - const volatile type *__addr = addr; \
400 + const volatile type *__addr = (const type *) addr; \
403 __mem_out##bwlq(*__addr, port); \
405 static inline void ins##bwlq(unsigned long port, void *addr, \
406 unsigned int count) \
408 - volatile type *__addr = addr; \
409 + volatile type *__addr = (type *) addr; \
412 *__addr = __mem_in##bwlq(port); \
416 /* Depends on MIPS II instruction set */
417 -#define mmiowb() asm volatile ("sync" ::: "memory")
418 +#define mmiowb() asm volatile ("sync" : : : "memory")
420 static inline void memset_io(volatile void __iomem *addr, unsigned char val, int count)
422 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/ip32/mace.h linux-2.6.27-720/include/asm-mips/ip32/mace.h
423 --- linux-2.6.27-710/include/asm-mips/ip32/mace.h 2008-10-09 18:13:53.000000000 -0400
424 +++ linux-2.6.27-720/include/asm-mips/ip32/mace.h 2009-05-04 16:03:46.000000000 -0400
429 -struct mace_parallel {
431 +EMPTY_STRUCT_DECL(mace_parallel);
433 -struct mace_ecp1284 { /* later... */
435 +EMPTY_STRUCT_DECL(mace_ecp1284); /* later... */
439 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/mips-boards/sim.h linux-2.6.27-720/include/asm-mips/mips-boards/sim.h
440 --- linux-2.6.27-710/include/asm-mips/mips-boards/sim.h 2008-10-09 18:13:53.000000000 -0400
441 +++ linux-2.6.27-720/include/asm-mips/mips-boards/sim.h 2009-05-04 16:03:46.000000000 -0400
444 __asm__ __volatile__( \
451 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/mipsregs.h linux-2.6.27-720/include/asm-mips/mipsregs.h
452 --- linux-2.6.27-710/include/asm-mips/mipsregs.h 2008-10-09 18:13:53.000000000 -0400
453 +++ linux-2.6.27-720/include/asm-mips/mipsregs.h 2009-05-04 16:03:46.000000000 -0400
454 @@ -1052,15 +1052,15 @@
455 #define mfhi2() ({ long mfhi2; __asm__("mfhi %0, $ac2" : "=r" (mfhi2)); mfhi2;})
456 #define mfhi3() ({ long mfhi3; __asm__("mfhi %0, $ac3" : "=r" (mfhi3)); mfhi3;})
458 -#define mtlo0(x) __asm__("mtlo %0, $ac0" ::"r" (x))
459 -#define mtlo1(x) __asm__("mtlo %0, $ac1" ::"r" (x))
460 -#define mtlo2(x) __asm__("mtlo %0, $ac2" ::"r" (x))
461 -#define mtlo3(x) __asm__("mtlo %0, $ac3" ::"r" (x))
463 -#define mthi0(x) __asm__("mthi %0, $ac0" ::"r" (x))
464 -#define mthi1(x) __asm__("mthi %0, $ac1" ::"r" (x))
465 -#define mthi2(x) __asm__("mthi %0, $ac2" ::"r" (x))
466 -#define mthi3(x) __asm__("mthi %0, $ac3" ::"r" (x))
467 +#define mtlo0(x) __asm__("mtlo %0, $ac0" : :"r" (x))
468 +#define mtlo1(x) __asm__("mtlo %0, $ac1" : :"r" (x))
469 +#define mtlo2(x) __asm__("mtlo %0, $ac2" : :"r" (x))
470 +#define mtlo3(x) __asm__("mtlo %0, $ac3" : :"r" (x))
472 +#define mthi0(x) __asm__("mthi %0, $ac0" : :"r" (x))
473 +#define mthi1(x) __asm__("mthi %0, $ac1" : :"r" (x))
474 +#define mthi2(x) __asm__("mthi %0, $ac2" : :"r" (x))
475 +#define mthi3(x) __asm__("mthi %0, $ac3" : :"r" (x))
479 @@ -1390,13 +1390,13 @@
482 static inline unsigned int \
483 -change_c0_##name(unsigned int change, unsigned int new) \
484 +change_c0_##name(unsigned int change, unsigned int newval) \
488 res = read_c0_##name(); \
490 - res |= (new & change); \
491 + res |= (newval & change); \
492 write_c0_##name(res); \
495 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/paccess.h linux-2.6.27-720/include/asm-mips/paccess.h
496 --- linux-2.6.27-710/include/asm-mips/paccess.h 2008-10-09 18:13:53.000000000 -0400
497 +++ linux-2.6.27-720/include/asm-mips/paccess.h 2009-05-04 16:03:46.000000000 -0400
499 #define __PA_ADDR ".dword"
502 -extern asmlinkage void handle_ibe(void);
503 -extern asmlinkage void handle_dbe(void);
504 +asmlinkage void handle_ibe(void);
505 +asmlinkage void handle_dbe(void);
507 #define put_dbe(x, ptr) __put_dbe((x), (ptr), sizeof(*(ptr)))
508 #define get_dbe(x, ptr) __get_dbe((x), (ptr), sizeof(*(ptr)))
509 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/processor.h linux-2.6.27-720/include/asm-mips/processor.h
510 --- linux-2.6.27-710/include/asm-mips/processor.h 2008-10-09 18:13:53.000000000 -0400
511 +++ linux-2.6.27-720/include/asm-mips/processor.h 2009-05-04 16:03:46.000000000 -0400
513 * overhead of a function call by forcing the compiler to save the return
514 * address register on the stack.
516 -#define return_address() ({__asm__ __volatile__("":::"$31");__builtin_return_address(0);})
517 +#define return_address() ({__asm__ __volatile__("": : :"$31");__builtin_return_address(0);})
519 #ifdef CONFIG_CPU_HAS_PREFETCH
521 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/ptrace.h linux-2.6.27-720/include/asm-mips/ptrace.h
522 --- linux-2.6.27-710/include/asm-mips/ptrace.h 2008-10-09 18:13:53.000000000 -0400
523 +++ linux-2.6.27-720/include/asm-mips/ptrace.h 2009-05-04 16:03:46.000000000 -0400
525 #define instruction_pointer(regs) ((regs)->cp0_epc)
526 #define profile_pc(regs) instruction_pointer(regs)
528 -extern asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit);
529 +asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit);
531 extern NORET_TYPE void die(const char *, const struct pt_regs *) ATTRIB_NORET;
533 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/smp.h linux-2.6.27-720/include/asm-mips/smp.h
534 --- linux-2.6.27-710/include/asm-mips/smp.h 2008-10-09 18:13:53.000000000 -0400
535 +++ linux-2.6.27-720/include/asm-mips/smp.h 2009-05-04 16:03:46.000000000 -0400
537 mp_ops->send_ipi_single(cpu, SMP_RESCHEDULE_YOURSELF);
540 -extern asmlinkage void smp_call_function_interrupt(void);
541 +asmlinkage void smp_call_function_interrupt(void);
543 extern void arch_send_call_function_single_ipi(int cpu);
544 extern void arch_send_call_function_ipi(cpumask_t mask);
545 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-mips/system.h linux-2.6.27-720/include/asm-mips/system.h
546 --- linux-2.6.27-710/include/asm-mips/system.h 2008-10-09 18:13:53.000000000 -0400
547 +++ linux-2.6.27-720/include/asm-mips/system.h 2009-05-04 16:03:46.000000000 -0400
549 * switch_to(n) should switch tasks to task nr n, first
550 * checking that n isn't the current task, in which case it does nothing.
552 -extern asmlinkage void *resume(void *last, void *next, void *next_ti);
553 +asmlinkage void *resume(void *last, void *next, void *next_ti);
561 - return __xchg_u32(ptr, x);
562 + return __xchg_u32((volatile int *) ptr, x);
564 - return __xchg_u64(ptr, x);
565 + return __xchg_u64((volatile __u64 *) ptr, x);
567 __xchg_called_with_bad_pointer();
569 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-parisc/system.h linux-2.6.27-720/include/asm-parisc/system.h
570 --- linux-2.6.27-710/include/asm-parisc/system.h 2008-10-09 18:13:53.000000000 -0400
571 +++ linux-2.6.27-720/include/asm-parisc/system.h 2009-05-04 16:03:46.000000000 -0400
573 ** The __asm__ op below simple prevents gcc/ld from reordering
574 ** instructions across the mb() "call".
576 -#define mb() __asm__ __volatile__("":::"memory") /* barrier() */
577 +#define mb() __asm__ __volatile__("": : :"memory") /* barrier() */
580 #define smp_mb() mb()
581 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-um/module-i386.h linux-2.6.27-720/include/asm-um/module-i386.h
582 --- linux-2.6.27-710/include/asm-um/module-i386.h 2008-10-09 18:13:53.000000000 -0400
583 +++ linux-2.6.27-720/include/asm-um/module-i386.h 2009-05-04 16:03:46.000000000 -0400
585 #define __UM_MODULE_I386_H
588 -struct mod_arch_specific
591 +EMPTY_STRUCT_DECL(mod_arch_specific);
593 #define Elf_Shdr Elf32_Shdr
594 #define Elf_Sym Elf32_Sym
595 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-um/module-x86_64.h linux-2.6.27-720/include/asm-um/module-x86_64.h
596 --- linux-2.6.27-710/include/asm-um/module-x86_64.h 2008-10-09 18:13:53.000000000 -0400
597 +++ linux-2.6.27-720/include/asm-um/module-x86_64.h 2009-05-04 16:03:46.000000000 -0400
599 #define __UM_MODULE_X86_64_H
602 -struct mod_arch_specific
605 +EMPTY_STRUCT_DECL(mod_arch_specific);
607 #define Elf_Shdr Elf64_Shdr
608 #define Elf_Sym Elf64_Sym
609 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/bitops.h linux-2.6.27-720/include/asm-x86/bitops.h
610 --- linux-2.6.27-710/include/asm-x86/bitops.h 2008-10-09 18:13:53.000000000 -0400
611 +++ linux-2.6.27-720/include/asm-x86/bitops.h 2009-05-04 16:03:46.000000000 -0400
613 * a mask operation on a byte.
615 #define IS_IMMEDIATE(nr) (__builtin_constant_p(nr))
616 -#define CONST_MASK_ADDR(nr, addr) BITOP_ADDR((void *)(addr) + ((nr)>>3))
617 +#define CONST_MASK_ADDR(nr, addr) BITOP_ADDR((char *)(addr) + ((nr)>>3))
618 #define CONST_MASK(nr) (1 << ((nr) & 7))
621 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/desc.h linux-2.6.27-720/include/asm-x86/desc.h
622 --- linux-2.6.27-710/include/asm-x86/desc.h 2008-10-09 18:13:53.000000000 -0400
623 +++ linux-2.6.27-720/include/asm-x86/desc.h 2009-05-04 16:03:46.000000000 -0400
626 static inline int desc_empty(const void *ptr)
628 - const u32 *desc = ptr;
629 + const u32 *desc = (const u32 *) ptr;
630 return !(desc[0] | desc[1]);
633 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/hw_irq.h linux-2.6.27-720/include/asm-x86/hw_irq.h
634 --- linux-2.6.27-710/include/asm-x86/hw_irq.h 2008-10-09 18:13:53.000000000 -0400
635 +++ linux-2.6.27-720/include/asm-x86/hw_irq.h 2009-05-04 16:03:46.000000000 -0400
637 extern void eisa_set_level_irq(unsigned int irq);
639 /* Voyager functions */
641 +asmlinkage void vic_cpi_interrupt(void);
642 +asmlinkage void vic_sys_interrupt(void);
643 +asmlinkage void vic_cmn_interrupt(void);
644 +asmlinkage void qic_timer_interrupt(void);
645 +asmlinkage void qic_invalidate_interrupt(void);
646 +asmlinkage void qic_reschedule_interrupt(void);
647 +asmlinkage void qic_enable_irq_interrupt(void);
648 +asmlinkage void qic_call_function_interrupt(void);
650 extern asmlinkage void vic_cpi_interrupt(void);
651 extern asmlinkage void vic_sys_interrupt(void);
652 extern asmlinkage void vic_cmn_interrupt(void);
654 extern asmlinkage void qic_enable_irq_interrupt(void);
655 extern asmlinkage void qic_call_function_interrupt(void);
660 extern void (*const interrupt[NR_IRQS])(void);
662 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/page.h linux-2.6.27-720/include/asm-x86/page.h
663 --- linux-2.6.27-710/include/asm-x86/page.h 2008-10-09 18:13:53.000000000 -0400
664 +++ linux-2.6.27-720/include/asm-x86/page.h 2009-05-04 16:03:46.000000000 -0400
667 static inline pte_t native_make_pte(pteval_t val)
669 - return (pte_t) { .pte = val };
670 + return (pte_t) ({pte_t duh; duh.pte = val;duh;});
673 static inline pteval_t native_pte_val(pte_t pte)
674 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/paravirt.h linux-2.6.27-720/include/asm-x86/paravirt.h
675 --- linux-2.6.27-710/include/asm-x86/paravirt.h 2008-10-09 18:13:53.000000000 -0400
676 +++ linux-2.6.27-720/include/asm-x86/paravirt.h 2009-05-04 16:03:46.000000000 -0400
677 @@ -1060,7 +1060,7 @@
681 - return (pte_t) { .pte = ret };
682 + return (pte_t) ({pte_t duh; duh.pte = ret;duh;});
685 static inline pteval_t pte_val(pte_t pte)
686 @@ -1131,7 +1131,7 @@
687 ret = PVOP_CALL3(pteval_t, pv_mmu_ops.ptep_modify_prot_start,
690 - return (pte_t) { .pte = ret };
691 + return (pte_t) ({pte_t duh; duh.pte = ret;duh;});
694 static inline void ptep_modify_prot_commit(struct mm_struct *mm, unsigned long addr,
695 @@ -1314,10 +1314,12 @@
696 set_pte_at(mm, addr, ptep, __pte(0));
700 static inline void pmd_clear(pmd_t *pmdp)
702 set_pmd(pmdp, __pmd(0));
705 #endif /* CONFIG_X86_PAE */
707 /* Lazy mode for batching updates / context switch */
708 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/pgtable-2level.h linux-2.6.27-720/include/asm-x86/pgtable-2level.h
709 --- linux-2.6.27-710/include/asm-x86/pgtable-2level.h 2008-10-09 18:13:53.000000000 -0400
710 +++ linux-2.6.27-720/include/asm-x86/pgtable-2level.h 2009-05-04 16:03:46.000000000 -0400
712 native_set_pte(ptep, pte);
716 static inline void native_pmd_clear(pmd_t *pmdp)
718 native_set_pmd(pmdp, __pmd(0));
722 static inline void native_pte_clear(struct mm_struct *mm,
723 unsigned long addr, pte_t *xp)
724 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/pgtable.h linux-2.6.27-720/include/asm-x86/pgtable.h
725 --- linux-2.6.27-710/include/asm-x86/pgtable.h 2008-10-09 18:13:53.000000000 -0400
726 +++ linux-2.6.27-720/include/asm-x86/pgtable.h 2009-05-04 16:03:46.000000000 -0400
727 @@ -260,11 +260,13 @@
728 pgprot_val(pgprot)) & __supported_pte_mask);
732 static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot)
734 return __pmd((((phys_addr_t)page_nr << PAGE_SHIFT) |
735 pgprot_val(pgprot)) & __supported_pte_mask);
739 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
741 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/spinlock_types.h linux-2.6.27-720/include/asm-x86/spinlock_types.h
742 --- linux-2.6.27-710/include/asm-x86/spinlock_types.h 2008-10-09 18:13:53.000000000 -0400
743 +++ linux-2.6.27-720/include/asm-x86/spinlock_types.h 2009-05-04 16:03:46.000000000 -0400
749 #define __RAW_SPIN_LOCK_UNLOCKED { 0 }
751 +#define __RAW_SPIN_LOCK_UNLOCKED ({raw_spinlock_t duh; duh.slock=0;duh;})
759 #define __RAW_RW_LOCK_UNLOCKED { RW_LOCK_BIAS }
762 +#define __RAW_RW_LOCK_UNLOCKED ({raw_rwlock_t duh;duh.lock=RW_LOCK_BIAS;duh;})
765 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-x86/vdso.h linux-2.6.27-720/include/asm-x86/vdso.h
766 --- linux-2.6.27-710/include/asm-x86/vdso.h 2008-10-09 18:13:53.000000000 -0400
767 +++ linux-2.6.27-720/include/asm-x86/vdso.h 2009-05-04 16:03:46.000000000 -0400
769 * These symbols are defined with the addresses in the vsyscall page.
770 * See vsyscall-sigreturn.S.
772 -extern void __user __kernel_sigreturn;
773 -extern void __user __kernel_rt_sigreturn;
774 +extern void* __user __kernel_sigreturn;
775 +extern void* __user __kernel_rt_sigreturn;
778 * These symbols are defined by vdso32.S to mark the bounds
779 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-xtensa/module.h linux-2.6.27-720/include/asm-xtensa/module.h
780 --- linux-2.6.27-710/include/asm-xtensa/module.h 2008-10-09 18:13:53.000000000 -0400
781 +++ linux-2.6.27-720/include/asm-xtensa/module.h 2009-05-04 16:03:46.000000000 -0400
783 #ifndef _XTENSA_MODULE_H
784 #define _XTENSA_MODULE_H
786 -struct mod_arch_specific
788 - /* No special elements, yet. */
790 +EMPTY_STRUCT_DECL(mod_arch_specific);
792 #define MODULE_ARCH_VERMAGIC "xtensa-" __stringify(XCHAL_CORE_ID) " "
794 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-xtensa/processor.h linux-2.6.27-720/include/asm-xtensa/processor.h
795 --- linux-2.6.27-710/include/asm-xtensa/processor.h 2008-10-09 18:13:53.000000000 -0400
796 +++ linux-2.6.27-720/include/asm-xtensa/processor.h 2009-05-04 16:03:46.000000000 -0400
799 /* Special register access. */
801 -#define WSR(v,sr) __asm__ __volatile__ ("wsr %0,"__stringify(sr) :: "a"(v));
802 +#define WSR(v,sr) __asm__ __volatile__ ("wsr %0,"__stringify(sr) : : "a"(v));
803 #define RSR(v,sr) __asm__ __volatile__ ("rsr %0,"__stringify(sr) : "=a"(v));
805 #define set_sr(x,sr) ({unsigned int v=(unsigned int)x; WSR(v,sr);})
806 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/asm-xtensa/system.h linux-2.6.27-720/include/asm-xtensa/system.h
807 --- linux-2.6.27-710/include/asm-xtensa/system.h 2008-10-09 18:13:53.000000000 -0400
808 +++ linux-2.6.27-720/include/asm-xtensa/system.h 2009-05-04 16:03:46.000000000 -0400
810 __asm__ __volatile__ ("rsr %0,"__stringify(PS) : "=a" (x));
811 #define local_irq_restore(x) do { \
812 __asm__ __volatile__ ("wsr %0, "__stringify(PS)" ; rsync" \
813 - :: "a" (x) : "memory"); } while(0);
814 + : : "a" (x) : "memory"); } while(0);
815 #define local_irq_save(x) do { \
816 __asm__ __volatile__ ("rsil %0, "__stringify(LOCKLEVEL) \
817 - : "=a" (x) :: "memory");} while(0);
818 + : "=a" (x) : : "memory");} while(0);
820 static inline void local_irq_disable(void)
823 __asm__ __volatile__ ("rsil %0, "__stringify(LOCKLEVEL)
824 - : "=a" (flags) :: "memory");
825 + : "=a" (flags) : : "memory");
827 static inline void local_irq_enable(void)
830 - __asm__ __volatile__ ("rsil %0, 0" : "=a" (flags) :: "memory");
831 + __asm__ __volatile__ ("rsil %0, 0" : "=a" (flags) : : "memory");
835 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/backing-dev.h linux-2.6.27-720/include/linux/backing-dev.h
836 --- linux-2.6.27-710/include/linux/backing-dev.h 2008-10-09 18:13:53.000000000 -0400
837 +++ linux-2.6.27-720/include/linux/backing-dev.h 2009-05-04 16:03:46.000000000 -0400
839 BDI_unused, /* Available bits start here */
842 -typedef int (congested_fn)(void *, int);
843 +typedef int (congested_fn_t)(void *, int);
848 unsigned long ra_pages; /* max readahead in PAGE_CACHE_SIZE units */
849 unsigned long state; /* Always use atomic bitops on this */
850 unsigned int capabilities; /* Device capabilities */
851 - congested_fn *congested_fn; /* Function pointer if device is md/dm */
852 + congested_fn_t *congested_fn; /* Function pointer if device is md/dm */
853 void *congested_data; /* Pointer to aux data for congested func */
854 void (*unplug_io_fn)(struct backing_dev_info *, struct page *);
855 void *unplug_io_data;
856 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/bitops.h linux-2.6.27-720/include/linux/bitops.h
857 --- linux-2.6.27-710/include/linux/bitops.h 2008-10-09 18:13:53.000000000 -0400
858 +++ linux-2.6.27-720/include/linux/bitops.h 2009-05-04 16:03:46.000000000 -0400
861 return sizeof(w) == 4 ? hweight32(w) : hweight64(w);
865 * rol32 - rotate a 32-bit value left
866 * @word: value to rotate
867 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/compat.h linux-2.6.27-720/include/linux/compat.h
868 --- linux-2.6.27-710/include/linux/compat.h 2009-05-04 12:35:57.000000000 -0400
869 +++ linux-2.6.27-720/include/linux/compat.h 2009-05-04 16:03:46.000000000 -0400
872 struct compat_siginfo;
874 -extern asmlinkage long compat_sys_waitid(int, compat_pid_t,
875 +asmlinkage long compat_sys_waitid(int, compat_pid_t,
876 struct compat_siginfo __user *, int,
877 struct compat_rusage __user *);
879 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/dmaengine.h linux-2.6.27-720/include/linux/dmaengine.h
880 --- linux-2.6.27-710/include/linux/dmaengine.h 2008-10-09 18:13:53.000000000 -0400
881 +++ linux-2.6.27-720/include/linux/dmaengine.h 2009-05-04 16:03:46.000000000 -0400
884 static inline void async_tx_ack(struct dma_async_tx_descriptor *tx)
886 - tx->flags |= DMA_CTRL_ACK;
887 + tx->flags = (enum dma_ctrl_flags) (tx->flags | DMA_CTRL_ACK);
890 static inline bool async_tx_test_ack(struct dma_async_tx_descriptor *tx)
891 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/dqblk_v1.h linux-2.6.27-720/include/linux/dqblk_v1.h
892 --- linux-2.6.27-710/include/linux/dqblk_v1.h 2008-10-09 18:13:53.000000000 -0400
893 +++ linux-2.6.27-720/include/linux/dqblk_v1.h 2009-05-04 16:03:46.000000000 -0400
895 #define V1_DEL_REWRITE 2
897 /* Special information about quotafile */
898 -struct v1_mem_dqinfo {
900 +EMPTY_STRUCT_DECL(v1_mem_dqinfo);
902 #endif /* _LINUX_DQBLK_V1_H */
903 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/fs.h linux-2.6.27-720/include/linux/fs.h
904 --- linux-2.6.27-710/include/linux/fs.h 2009-05-04 12:36:50.000000000 -0400
905 +++ linux-2.6.27-720/include/linux/fs.h 2009-05-04 16:03:46.000000000 -0400
906 @@ -2111,7 +2111,7 @@
908 static inline void simple_transaction_set(struct file *file, size_t n)
910 - struct simple_transaction_argresp *ar = file->private_data;
911 + struct simple_transaction_argresp *ar = (struct simple_transaction_argresp *) file->private_data;
913 BUG_ON(n > SIMPLE_TRANSACTION_LIMIT);
915 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/highmem.h linux-2.6.27-720/include/linux/highmem.h
916 --- linux-2.6.27-710/include/linux/highmem.h 2008-10-09 18:13:53.000000000 -0400
917 +++ linux-2.6.27-720/include/linux/highmem.h 2009-05-04 16:03:46.000000000 -0400
922 - vfrom = kmap_atomic(from, KM_USER0);
923 - vto = kmap_atomic(to, KM_USER1);
924 + vfrom = (char*)kmap_atomic(from, KM_USER0);
925 + vto = (char*)kmap_atomic(to, KM_USER1);
926 copy_user_page(vto, vfrom, vaddr, to);
927 kunmap_atomic(vfrom, KM_USER0);
928 kunmap_atomic(vto, KM_USER1);
933 - vfrom = kmap_atomic(from, KM_USER0);
934 - vto = kmap_atomic(to, KM_USER1);
935 + vfrom = (char*)kmap_atomic(from, KM_USER0);
936 + vto = (char*)kmap_atomic(to, KM_USER1);
937 copy_page(vto, vfrom);
938 kunmap_atomic(vfrom, KM_USER0);
939 kunmap_atomic(vto, KM_USER1);
940 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/hrtimer.h linux-2.6.27-720/include/linux/hrtimer.h
941 --- linux-2.6.27-710/include/linux/hrtimer.h 2008-10-09 18:13:53.000000000 -0400
942 +++ linux-2.6.27-720/include/linux/hrtimer.h 2009-05-04 16:03:46.000000000 -0400
944 static inline void timer_stats_account_hrtimer(struct hrtimer *timer)
946 timer_stats_update_stats(timer, timer->start_pid, timer->start_site,
947 - timer->function, timer->start_comm, 0);
948 + (void *) timer->function, timer->start_comm, 0);
951 extern void __timer_stats_hrtimer_set_start_info(struct hrtimer *timer,
952 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/inetdevice.h linux-2.6.27-720/include/linux/inetdevice.h
953 --- linux-2.6.27-710/include/linux/inetdevice.h 2008-10-09 18:13:53.000000000 -0400
954 +++ linux-2.6.27-720/include/linux/inetdevice.h 2009-05-04 16:03:46.000000000 -0400
957 static inline struct in_device *__in_dev_get_rcu(const struct net_device *dev)
959 - struct in_device *in_dev = dev->ip_ptr;
960 + struct in_device *in_dev = (struct in_device *) dev->ip_ptr;
962 in_dev = rcu_dereference(in_dev);
964 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/jhash.h linux-2.6.27-720/include/linux/jhash.h
965 --- linux-2.6.27-710/include/linux/jhash.h 2008-10-09 18:13:53.000000000 -0400
966 +++ linux-2.6.27-720/include/linux/jhash.h 2009-05-04 16:03:46.000000000 -0400
968 static inline u32 jhash(const void *key, u32 length, u32 initval)
972 + const u8 *k = (const u8 *) key;
975 a = b = JHASH_GOLDEN_RATIO;
976 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/kernel.h linux-2.6.27-720/include/linux/kernel.h
977 --- linux-2.6.27-710/include/linux/kernel.h 2008-10-09 18:13:53.000000000 -0400
978 +++ linux-2.6.27-720/include/linux/kernel.h 2009-05-04 16:03:46.000000000 -0400
983 -extern void asmlinkage __attribute__((format(printf, 1, 2)))
984 +asmlinkage void __attribute__((format(printf, 1, 2)))
985 early_printk(const char *fmt, ...);
987 unsigned long int_sqrt(unsigned long);
988 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/ktime.h linux-2.6.27-720/include/linux/ktime.h
989 --- linux-2.6.27-710/include/linux/ktime.h 2008-10-09 18:13:53.000000000 -0400
990 +++ linux-2.6.27-720/include/linux/ktime.h 2009-05-04 16:03:46.000000000 -0400
993 #if (BITS_PER_LONG == 64) || defined(CONFIG_KTIME_SCALAR)
996 +# define KTIME_TV64(__s) ({ ktime_t __kt; __kt.tv64 = (__s); __kt; })
998 +# define KTIME_TV64(__s) ((ktime_t) { .tv64 = (__s) })
1002 * ktime_set - Set a ktime_t variable from a seconds/nanoseconds value
1003 * @secs: seconds to set
1006 #if (BITS_PER_LONG == 64)
1007 if (unlikely(secs >= KTIME_SEC_MAX))
1008 - return (ktime_t){ .tv64 = KTIME_MAX };
1009 + return KTIME_TV64(KTIME_MAX);
1011 - return (ktime_t) { .tv64 = (s64)secs * NSEC_PER_SEC + (s64)nsecs };
1012 + return KTIME_TV64((s64)secs * NSEC_PER_SEC + (s64)nsecs);
1015 /* Subtract two ktime_t variables. rem = lhs -rhs: */
1016 #define ktime_sub(lhs, rhs) \
1017 - ({ (ktime_t){ .tv64 = (lhs).tv64 - (rhs).tv64 }; })
1018 + KTIME_TV64((lhs).tv64 - (rhs).tv64)
1020 /* Add two ktime_t variables. res = lhs + rhs: */
1021 #define ktime_add(lhs, rhs) \
1022 - ({ (ktime_t){ .tv64 = (lhs).tv64 + (rhs).tv64 }; })
1023 + KTIME_TV64((lhs).tv64 + (rhs).tv64)
1026 * Add a ktime_t variable and a scalar nanosecond value.
1029 #define ktime_add_ns(kt, nsval) \
1030 - ({ (ktime_t){ .tv64 = (kt).tv64 + (nsval) }; })
1031 + KTIME_TV64((kt).tv64 + (nsval))
1034 * Subtract a scalar nanosecod from a ktime_t variable
1038 +#define ktime_sub_ns(kt, nsval) \
1039 + ({ktime_t duh; duh.tv64 = (kt).tv64 - (nsval); duh; })
1041 #define ktime_sub_ns(kt, nsval) \
1042 ({ (ktime_t){ .tv64 = (kt).tv64 - (nsval) }; })
1045 /* convert a timespec to ktime_t format: */
1046 static inline ktime_t timespec_to_ktime(struct timespec ts)
1047 @@ -132,6 +143,18 @@
1052 +# define KTIME_TV64(__s) ({ ktime_t __kt; __kt.tv64 = (__s); __kt; })
1053 +# define KTIME_SEC_NSEC(__sec, __nsec) ({ ktime_t __kt; __kt.tv.sec = (__sec); __kt.tv.nsec = (__nsec); __kt; })
1054 +# define TIMEVAL_SEC_USEC(__sec, __usec) ({ struct timeval __tv; __tv.tv_sec = (__sec); __tv.tv_usec = (__usec); __tv; })
1055 +# define TIMESPEC_SEC_NSEC(__sec, __nsec) ({ struct timespec __ts; __ts.tv_sec = (__sec); __ts.tv_nsec = (__nsec); __ts; })
1057 +# define KTIME_TV64(__s) ((ktime_t) { .tv64 = (__s) })
1058 +# define KTIME_SEC_NSEC(__sec, __nsec) ((ktime_t) { .tv = { .sec = (__sec), .nsec = (__nsec) } })
1059 +# define TIMEVAL_SEC_USEC(__sec, __usec) ((struct timeval) { .tv_sec = (__sec), .tv_usec = (__usec) })
1060 +# define TIMESPEC_SEC_NSEC(__sec, __nsec) ((struct timespec) { .tv_sec = (__sec), .tv_nsec = (__nsec) })
1064 * Helper macros/inlines to get the ktime_t math right in the timespec
1065 * representation. The macros are sometimes ugly - their actual use is
1067 /* Set a ktime_t variable to a value in sec/nsec representation: */
1068 static inline ktime_t ktime_set(const long secs, const unsigned long nsecs)
1070 - return (ktime_t) { .tv = { .sec = secs, .nsec = nsecs } };
1071 + return KTIME_SEC_NSEC(secs, nsecs);
1077 static inline ktime_t timespec_to_ktime(const struct timespec ts)
1079 - return (ktime_t) { .tv = { .sec = (s32)ts.tv_sec,
1080 - .nsec = (s32)ts.tv_nsec } };
1081 + return KTIME_SEC_NSEC((s32)ts.tv_sec, (s32)ts.tv_nsec);
1087 static inline ktime_t timeval_to_ktime(const struct timeval tv)
1089 - return (ktime_t) { .tv = { .sec = (s32)tv.tv_sec,
1090 - .nsec = (s32)tv.tv_usec * 1000 } };
1091 + return KTIME_SEC_NSEC((s32)tv.tv_sec, (s32)tv.tv_usec * 1000);
1097 static inline struct timespec ktime_to_timespec(const ktime_t kt)
1099 - return (struct timespec) { .tv_sec = (time_t) kt.tv.sec,
1100 - .tv_nsec = (long) kt.tv.nsec };
1101 + return TIMESPEC_SEC_NSEC((time_t) kt.tv.sec, (long) kt.tv.nsec);
1107 static inline struct timeval ktime_to_timeval(const ktime_t kt)
1109 - return (struct timeval) {
1110 - .tv_sec = (time_t) kt.tv.sec,
1111 - .tv_usec = (suseconds_t) (kt.tv.nsec / NSEC_PER_USEC) };
1112 + return TIMEVAL_SEC_USEC((time_t) kt.tv.sec,
1113 + (suseconds_t) (kt.tv.nsec / NSEC_PER_USEC));
1119 static inline ktime_t ns_to_ktime(u64 ns)
1121 - static const ktime_t ktime_zero = { .tv64 = 0 };
1122 + static ktime_t ktime_zero;
1123 + ktime_zero = ({ktime_t duh; duh.tv64 = 0;duh;});
1124 return ktime_add_ns(ktime_zero, ns);
1127 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/linkage.h linux-2.6.27-720/include/linux/linkage.h
1128 --- linux-2.6.27-710/include/linux/linkage.h 2008-10-09 18:13:53.000000000 -0400
1129 +++ linux-2.6.27-720/include/linux/linkage.h 2009-05-04 16:03:46.000000000 -0400
1132 #define CPP_ASMLINKAGE
1134 +#ifndef extern_asmlinkage
1135 +# ifdef __cplusplus
1136 +# define extern_asmlinkage asmlinkage
1138 +# define extern_asmlinkage extern asmlinkage
1143 #define asmlinkage CPP_ASMLINKAGE
1144 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/list.h linux-2.6.27-720/include/linux/list.h
1145 --- linux-2.6.27-710/include/linux/list.h 2008-10-09 18:13:53.000000000 -0400
1146 +++ linux-2.6.27-720/include/linux/list.h 2009-05-04 16:03:46.000000000 -0400
1148 struct list_head *next, *prev;
1152 +#define LIST_HEAD_INIT(name) ({struct list_head duh;duh.next=&(name);duh.prev=&(name);duh;})
1154 #define LIST_HEAD_INIT(name) { &(name), &(name) }
1157 #define LIST_HEAD(name) \
1158 struct list_head name = LIST_HEAD_INIT(name)
1160 static inline void list_del(struct list_head *entry)
1162 __list_del(entry->prev, entry->next);
1163 - entry->next = LIST_POISON1;
1164 - entry->prev = LIST_POISON2;
1165 + entry->next = (struct list_head*)(LIST_POISON1);
1166 + entry->prev = (struct list_head*)(LIST_POISON2);
1169 extern void list_del(struct list_head *entry);
1171 static inline void hlist_del(struct hlist_node *n)
1174 - n->next = LIST_POISON1;
1175 - n->pprev = LIST_POISON2;
1176 + n->next = (struct hlist_node*)(LIST_POISON1);
1177 + n->pprev = (struct hlist_node**)(LIST_POISON2);
1180 static inline void hlist_del_init(struct hlist_node *n)
1181 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/mempolicy.h linux-2.6.27-720/include/linux/mempolicy.h
1182 --- linux-2.6.27-710/include/linux/mempolicy.h 2008-10-09 18:13:53.000000000 -0400
1183 +++ linux-2.6.27-720/include/linux/mempolicy.h 2009-05-04 16:03:46.000000000 -0400
1188 -struct mempolicy {};
1189 +EMPTY_STRUCT_DECL(mempolicy);
1191 static inline int mpol_equal(struct mempolicy *a, struct mempolicy *b)
1197 -struct shared_policy {};
1198 +EMPTY_STRUCT_DECL(shared_policy);
1200 static inline int mpol_set_shared_policy(struct shared_policy *info,
1201 struct vm_area_struct *vma,
1202 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/mm.h linux-2.6.27-720/include/linux/mm.h
1203 --- linux-2.6.27-710/include/linux/mm.h 2009-05-04 12:35:57.000000000 -0400
1204 +++ linux-2.6.27-720/include/linux/mm.h 2009-05-04 16:03:46.000000000 -0400
1206 static inline void set_compound_page_dtor(struct page *page,
1207 compound_page_dtor *dtor)
1209 - page[1].lru.next = (void *)dtor;
1210 + page[1].lru.next = (struct list_head *)dtor;
1213 static inline compound_page_dtor *get_compound_page_dtor(struct page *page)
1216 static inline void set_compound_order(struct page *page, unsigned long order)
1218 - page[1].lru.prev = (void *)order;
1219 + page[1].lru.prev = (struct list_head *)order;
1225 static inline enum zone_type page_zonenum(struct page *page)
1227 - return (page->flags >> ZONES_PGSHIFT) & ZONES_MASK;
1228 + return (enum zone_type) ((page->flags >> ZONES_PGSHIFT) & ZONES_MASK);
1232 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/netdevice.h linux-2.6.27-720/include/linux/netdevice.h
1233 --- linux-2.6.27-710/include/linux/netdevice.h 2009-05-04 12:36:43.000000000 -0400
1234 +++ linux-2.6.27-720/include/linux/netdevice.h 2009-05-04 16:03:46.000000000 -0400
1235 @@ -735,6 +735,46 @@
1237 struct garp_port *garp_port;
1239 + /* Click polling support */
1241 + * polling is < 0 if the device does not support polling, == 0 if the
1242 + * device supports polling but interrupts are on, and > 0 if polling
1246 + int (*poll_on)(struct net_device *);
1247 + int (*poll_off)(struct net_device *);
1249 + * rx_poll returns to caller a linked list of sk_buff objects received
1250 + * by the device. on call, the want argument specifies the number of
1251 + * packets wanted. on return, the want argument specifies the number
1252 + * of packets actually returned.
1254 + struct sk_buff * (*rx_poll)(struct net_device*, int *want);
1255 + /* refill rx dma ring using the given sk_buff list. returns 0 if
1256 + * successful, or if there are more entries need to be cleaned,
1257 + * returns the number of dirty entries. the ptr to the sk_buff list is
1258 + * updated by the driver to point to any unused skbs.
1260 + int (*rx_refill)(struct net_device*, struct sk_buff**);
1262 + * place sk_buff on the transmit ring. returns 0 if successful, 1
1265 + int (*tx_queue)(struct net_device *, struct sk_buff *);
1267 + * clean tx dma ring. returns the list of skb objects cleaned
1269 + struct sk_buff* (*tx_clean)(struct net_device *);
1271 + * start transmission. returns 0 if successful, 1 otherwise
1273 + int (*tx_start)(struct net_device *);
1275 + * tell device the end of a batch of packets
1277 + int (*tx_eob)(struct net_device *);
1279 /* class/net/name entry */
1281 /* space for optional statistics and wireless sysfs groups */
1282 @@ -919,6 +959,11 @@
1283 extern int dev_queue_xmit(struct sk_buff *skb);
1284 extern int register_netdevice(struct net_device *dev);
1285 extern void unregister_netdevice(struct net_device *dev);
1287 +extern int register_net_in(struct notifier_block *nb); /* Click */
1288 +extern int unregister_net_in(struct notifier_block *nb); /* Click */
1289 +extern int ptype_dispatch(struct sk_buff *skb, unsigned short type); /* Click */
1291 extern void free_netdev(struct net_device *dev);
1292 extern void synchronize_net(void);
1293 extern int register_netdevice_notifier(struct notifier_block *nb);
1294 @@ -1217,7 +1262,10 @@
1295 extern int netif_rx(struct sk_buff *skb);
1296 extern int netif_rx_ni(struct sk_buff *skb);
1297 #define HAVE_NETIF_RECEIVE_SKB 1
1298 -extern int netif_receive_skb(struct sk_buff *skb);
1299 +//extern int netif_receive_skb(struct sk_buff *skb);
1300 +#define HAVE___NETIF_RECEIVE_SKB 1
1301 +extern int __netif_receive_skb(struct sk_buff *skb, unsigned short protocol, int ignore_notifiers);
1303 extern void netif_nit_deliver(struct sk_buff *skb);
1304 extern int dev_valid_name(const char *name);
1305 extern int dev_ioctl(struct net *net, unsigned int cmd, void __user *);
1306 @@ -1358,6 +1406,11 @@
1308 extern void netif_device_attach(struct net_device *dev);
1310 +static inline int netif_receive_skb(struct sk_buff *skb)
1312 + return __netif_receive_skb(skb, skb->protocol, 0);
1316 * Network interface message level settings
1318 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/netlink.h linux-2.6.27-720/include/linux/netlink.h
1319 --- linux-2.6.27-710/include/linux/netlink.h 2008-10-09 18:13:53.000000000 -0400
1320 +++ linux-2.6.27-720/include/linux/netlink.h 2009-05-04 16:03:46.000000000 -0400
1322 nlh->nlmsg_flags = flags;
1323 nlh->nlmsg_pid = pid;
1324 nlh->nlmsg_seq = seq;
1325 - memset(NLMSG_DATA(nlh) + len, 0, NLMSG_ALIGN(size) - size);
1326 + memset((char*) NLMSG_DATA(nlh) + len, 0, NLMSG_ALIGN(size) - size);
1330 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/page-flags.h linux-2.6.27-720/include/linux/page-flags.h
1331 --- linux-2.6.27-710/include/linux/page-flags.h 2008-10-09 18:13:53.000000000 -0400
1332 +++ linux-2.6.27-720/include/linux/page-flags.h 2009-05-04 16:03:46.000000000 -0400
1333 @@ -174,8 +174,10 @@
1334 PAGEFLAG(Pinned, pinned) TESTSCFLAG(Pinned, pinned) /* Xen */
1335 PAGEFLAG(SavePinned, savepinned); /* Xen */
1336 PAGEFLAG(Reserved, reserved) __CLEARPAGEFLAG(Reserved, reserved)
1337 +#ifndef __cplusplus
1338 PAGEFLAG(Private, private) __CLEARPAGEFLAG(Private, private)
1339 __SETPAGEFLAG(Private, private)
1342 __PAGEFLAG(SlobPage, slob_page)
1343 __PAGEFLAG(SlobFree, slob_free)
1344 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/posix_types.h linux-2.6.27-720/include/linux/posix_types.h
1345 --- linux-2.6.27-710/include/linux/posix_types.h 2008-10-09 18:13:53.000000000 -0400
1346 +++ linux-2.6.27-720/include/linux/posix_types.h 2009-05-04 16:03:46.000000000 -0400
1349 #define __FDMASK(d) (1UL << ((d) % __NFDBITS))
1353 unsigned long fds_bits [__FDSET_LONGS];
1355 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/prefetch.h linux-2.6.27-720/include/linux/prefetch.h
1356 --- linux-2.6.27-710/include/linux/prefetch.h 2008-10-09 18:13:53.000000000 -0400
1357 +++ linux-2.6.27-720/include/linux/prefetch.h 2009-05-04 16:03:46.000000000 -0400
1360 #ifdef ARCH_HAS_PREFETCH
1362 - char *end = addr + len;
1363 + char *end = (char*)(addr) + len;
1365 - for (cp = addr; cp < end; cp += PREFETCH_STRIDE)
1366 + for (cp = (char*)(addr); cp < end; cp += PREFETCH_STRIDE)
1370 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/proc_fs.h linux-2.6.27-720/include/linux/proc_fs.h
1371 --- linux-2.6.27-710/include/linux/proc_fs.h 2009-05-04 12:36:01.000000000 -0400
1372 +++ linux-2.6.27-720/include/linux/proc_fs.h 2009-05-04 16:03:46.000000000 -0400
1375 static inline struct net *PDE_NET(struct proc_dir_entry *pde)
1377 - return pde->parent->data;
1378 + return (struct net *) pde->parent->data;
1381 struct proc_maps_private {
1382 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/rculist.h linux-2.6.27-720/include/linux/rculist.h
1383 --- linux-2.6.27-710/include/linux/rculist.h 2008-10-09 18:13:53.000000000 -0400
1384 +++ linux-2.6.27-720/include/linux/rculist.h 2009-05-04 16:03:46.000000000 -0400
1386 static inline void list_del_rcu(struct list_head *entry)
1388 __list_del(entry->prev, entry->next);
1389 - entry->prev = LIST_POISON2;
1390 + entry->prev = (struct list_head *) LIST_POISON2;
1395 new->prev = old->prev;
1396 rcu_assign_pointer(new->prev->next, new);
1397 new->next->prev = new;
1398 - old->prev = LIST_POISON2;
1399 + old->prev = (struct list_head *) LIST_POISON2;
1404 static inline void hlist_del_rcu(struct hlist_node *n)
1407 - n->pprev = LIST_POISON2;
1408 + n->pprev = (struct hlist_node **) LIST_POISON2;
1413 rcu_assign_pointer(*new->pprev, new);
1415 new->next->pprev = &new->next;
1416 - old->pprev = LIST_POISON2;
1417 + old->pprev = (struct hlist_node **) LIST_POISON2;
1421 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/reiserfs_fs_sb.h linux-2.6.27-720/include/linux/reiserfs_fs_sb.h
1422 --- linux-2.6.27-710/include/linux/reiserfs_fs_sb.h 2009-05-04 12:36:01.000000000 -0400
1423 +++ linux-2.6.27-720/include/linux/reiserfs_fs_sb.h 2009-05-04 16:03:46.000000000 -0400
1426 } reiserfs_proc_info_data_t;
1428 -typedef struct reiserfs_proc_info_data {
1429 -} reiserfs_proc_info_data_t;
1430 +typedef EMPTY_STRUCT_DECL(reiserfs_proc_info_data) reiserfs_proc_info_data_t;
1433 /* reiserfs union of in-core super block data */
1434 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/rtnetlink.h linux-2.6.27-720/include/linux/rtnetlink.h
1435 --- linux-2.6.27-710/include/linux/rtnetlink.h 2008-10-09 18:13:53.000000000 -0400
1436 +++ linux-2.6.27-720/include/linux/rtnetlink.h 2009-05-04 16:03:46.000000000 -0400
1438 rta = (struct rtattr*)skb_put(skb, RTA_ALIGN(size));
1439 rta->rta_type = attrtype;
1440 rta->rta_len = size;
1441 - memset(RTA_DATA(rta) + attrlen, 0, RTA_ALIGN(size) - size);
1442 + memset((char*) RTA_DATA(rta) + attrlen, 0, RTA_ALIGN(size) - size);
1446 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/scatterlist.h linux-2.6.27-720/include/linux/scatterlist.h
1447 --- linux-2.6.27-710/include/linux/scatterlist.h 2008-10-09 18:13:53.000000000 -0400
1448 +++ linux-2.6.27-720/include/linux/scatterlist.h 2009-05-04 16:03:46.000000000 -0400
1451 static inline void *sg_virt(struct scatterlist *sg)
1453 - return page_address(sg_page(sg)) + sg->offset;
1454 + return (char *) page_address(sg_page(sg)) + sg->offset;
1457 struct scatterlist *sg_next(struct scatterlist *);
1458 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/sched.h linux-2.6.27-720/include/linux/sched.h
1459 --- linux-2.6.27-710/include/linux/sched.h 2009-05-04 12:36:01.000000000 -0400
1460 +++ linux-2.6.27-720/include/linux/sched.h 2009-05-04 16:03:46.000000000 -0400
1461 @@ -242,7 +242,12 @@
1463 extern void sched_init(void);
1464 extern void sched_init_smp(void);
1466 +asmlinkage void schedule_tail(struct task_struct *prev);
1468 extern asmlinkage void schedule_tail(struct task_struct *prev);
1471 extern void init_idle(struct task_struct *idle, int cpu);
1472 extern void init_idle_bootup_task(struct task_struct *idle);
1474 @@ -1977,7 +1982,7 @@
1476 static inline unsigned long *end_of_stack(struct task_struct *p)
1478 - return (unsigned long *)(task_thread_info(p) + 1);
1479 + return (unsigned long *)((char *) task_thread_info(p) + 1);
1483 @@ -1986,7 +1991,7 @@
1485 void *stack = task_stack_page(current);
1487 - return (obj >= stack) && (obj < (stack + THREAD_SIZE));
1488 + return (obj >= stack) && ((char *) obj < ((char *) stack + THREAD_SIZE));
1491 extern void thread_info_cache_init(void);
1492 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/seccomp.h linux-2.6.27-720/include/linux/seccomp.h
1493 --- linux-2.6.27-710/include/linux/seccomp.h 2008-10-09 18:13:53.000000000 -0400
1494 +++ linux-2.6.27-720/include/linux/seccomp.h 2009-05-04 16:03:46.000000000 -0400
1497 #else /* CONFIG_SECCOMP */
1499 -typedef struct { } seccomp_t;
1500 +typedef EMPTY_STRUCT_DECL(/* unnamed */) seccomp_t;
1502 #define secure_computing(x) do { } while (0)
1504 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/security.h linux-2.6.27-720/include/linux/security.h
1505 --- linux-2.6.27-710/include/linux/security.h 2008-10-09 18:13:53.000000000 -0400
1506 +++ linux-2.6.27-720/include/linux/security.h 2009-05-04 16:03:46.000000000 -0400
1507 @@ -2427,7 +2427,7 @@
1508 static inline struct dentry *securityfs_create_dir(const char *name,
1509 struct dentry *parent)
1511 - return ERR_PTR(-ENODEV);
1512 + return (struct dentry *) ERR_PTR(-ENODEV);
1515 static inline struct dentry *securityfs_create_file(const char *name,
1516 @@ -2436,7 +2436,7 @@
1518 const struct file_operations *fops)
1520 - return ERR_PTR(-ENODEV);
1521 + return (struct dentry *) ERR_PTR(-ENODEV);
1524 static inline void securityfs_remove(struct dentry *dentry)
1525 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/semaphore.h linux-2.6.27-720/include/linux/semaphore.h
1526 --- linux-2.6.27-710/include/linux/semaphore.h 2008-10-09 18:13:53.000000000 -0400
1527 +++ linux-2.6.27-720/include/linux/semaphore.h 2009-05-04 16:03:46.000000000 -0400
1529 struct list_head wait_list;
1533 +#define __SEMAPHORE_INITIALIZER(name, n) \
1534 +({ struct semaphore duh; \
1535 + duh.lock = __SPIN_LOCK_UNLOCKED((name).lock), \
1537 + duh.wait_list = LIST_HEAD_INIT((name).wait_list), \
1540 #define __SEMAPHORE_INITIALIZER(name, n) \
1542 .lock = __SPIN_LOCK_UNLOCKED((name).lock), \
1544 .wait_list = LIST_HEAD_INIT((name).wait_list), \
1548 #define DECLARE_MUTEX(name) \
1549 struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1)
1550 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/skbuff.h linux-2.6.27-720/include/linux/skbuff.h
1551 --- linux-2.6.27-710/include/linux/skbuff.h 2009-05-04 12:36:07.000000000 -0400
1552 +++ linux-2.6.27-720/include/linux/skbuff.h 2009-05-04 16:03:46.000000000 -0400
1553 @@ -194,6 +194,12 @@
1554 typedef unsigned char *sk_buff_data_t;
1557 +/* Click: overload sk_buff.pkt_type to contain information about whether
1558 + a packet is clean. Clean packets have the following fields zero:
1559 + dst, destructor, pkt_bridged, prev, list, sk, security, priority. */
1560 +#define PACKET_CLEAN 128 /* Is packet clean? */
1561 +#define PACKET_TYPE_MASK 127 /* Actual packet type */
1564 * struct sk_buff - socket buffer
1565 * @next: Next buffer in list
1568 extern struct sk_buff *pskb_copy(struct sk_buff *skb,
1570 +extern struct sk_buff *skb_recycle(struct sk_buff *skb);
1571 extern int pskb_expand_head(struct sk_buff *skb,
1572 int nhead, int ntail,
1574 @@ -1326,7 +1333,7 @@
1577 static inline int skb_add_data(struct sk_buff *skb,
1578 - char __user *from, int copy)
1579 + unsigned char __user *from, int copy)
1581 const int off = skb->len;
1583 @@ -1402,7 +1409,7 @@
1584 const void *start, unsigned int len)
1586 if (skb->ip_summed == CHECKSUM_COMPLETE)
1587 - skb->csum = csum_sub(skb->csum, csum_partial(start, len, 0));
1588 + skb->csum = csum_sub(skb->csum, csum_partial((const unsigned char *) start, len, 0));
1591 unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len);
1592 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/spinlock.h linux-2.6.27-720/include/linux/spinlock.h
1593 --- linux-2.6.27-710/include/linux/spinlock.h 2008-10-09 18:13:53.000000000 -0400
1594 +++ linux-2.6.27-720/include/linux/spinlock.h 2009-05-04 16:03:46.000000000 -0400
1596 #include <linux/kernel.h>
1597 #include <linux/stringify.h>
1598 #include <linux/bottom_half.h>
1599 +#include <linux/types.h>
1601 #include <asm/system.h>
1603 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/spinlock_types.h linux-2.6.27-720/include/linux/spinlock_types.h
1604 --- linux-2.6.27-710/include/linux/spinlock_types.h 2008-10-09 18:13:53.000000000 -0400
1605 +++ linux-2.6.27-720/include/linux/spinlock_types.h 2009-05-04 16:03:46.000000000 -0400
1608 #define SPINLOCK_OWNER_INIT ((void *)-1L)
1610 +#if defined(CONFIG_PREEMPT) && defined(CONFIG_SMP)
1611 +# define SPINLOCK_BREAK_LOCK_INIT 0,
1613 +# define SPINLOCK_BREAK_LOCK_INIT
1616 #ifdef CONFIG_DEBUG_LOCK_ALLOC
1617 -# define SPIN_DEP_MAP_INIT(lockname) .dep_map = { .name = #lockname }
1618 +# define SPIN_DEP_MAP_INIT(lockname) { 0, 0, #lockname }
1620 # define SPIN_DEP_MAP_INIT(lockname)
1623 #ifdef CONFIG_DEBUG_LOCK_ALLOC
1624 -# define RW_DEP_MAP_INIT(lockname) .dep_map = { .name = #lockname }
1625 +# define RW_DEP_MAP_INIT(lockname) { 0, 0, #lockname }
1627 # define RW_DEP_MAP_INIT(lockname)
1630 #ifdef CONFIG_DEBUG_SPINLOCK
1631 # define __SPIN_LOCK_UNLOCKED(lockname) \
1632 - (spinlock_t) { .raw_lock = __RAW_SPIN_LOCK_UNLOCKED, \
1633 - .magic = SPINLOCK_MAGIC, \
1634 - .owner = SPINLOCK_OWNER_INIT, \
1635 - .owner_cpu = -1, \
1636 + (spinlock_t) { /*raw_lock*/ __RAW_SPIN_LOCK_UNLOCKED, \
1637 + /*break_lock*/ SPINLOCK_BREAK_LOCK_INIT \
1638 + /*magic*/ SPINLOCK_MAGIC, \
1639 + /*owner_cpu*/ -1, \
1640 + /*owner*/ SPINLOCK_OWNER_INIT, \
1641 SPIN_DEP_MAP_INIT(lockname) }
1642 #define __RW_LOCK_UNLOCKED(lockname) \
1643 - (rwlock_t) { .raw_lock = __RAW_RW_LOCK_UNLOCKED, \
1644 - .magic = RWLOCK_MAGIC, \
1645 - .owner = SPINLOCK_OWNER_INIT, \
1646 - .owner_cpu = -1, \
1647 + (rwlock_t) { /*raw_lock*/ __RAW_RW_LOCK_UNLOCKED, \
1648 + /*break_lock*/ SPINLOCK_BREAK_LOCK_INIT \
1649 + /*magic*/ RWLOCK_MAGIC, \
1650 + /*owner_cpu*/ -1, \
1651 + /*owner*/ SPINLOCK_OWNER_INIT, \
1652 RW_DEP_MAP_INIT(lockname) }
1654 # define __SPIN_LOCK_UNLOCKED(lockname) \
1655 - (spinlock_t) { .raw_lock = __RAW_SPIN_LOCK_UNLOCKED, \
1656 + (spinlock_t) { /*raw_lock*/ __RAW_SPIN_LOCK_UNLOCKED, \
1657 + /*break_lock*/ SPINLOCK_BREAK_LOCK_INIT \
1658 SPIN_DEP_MAP_INIT(lockname) }
1659 #define __RW_LOCK_UNLOCKED(lockname) \
1660 - (rwlock_t) { .raw_lock = __RAW_RW_LOCK_UNLOCKED, \
1661 + (rwlock_t) { /*raw_lock*/ __RAW_RW_LOCK_UNLOCKED, \
1662 + /*break_lock*/ SPINLOCK_BREAK_LOCK_INIT \
1663 RW_DEP_MAP_INIT(lockname) }
1666 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/stddef.h linux-2.6.27-720/include/linux/stddef.h
1667 --- linux-2.6.27-710/include/linux/stddef.h 2008-10-09 18:13:53.000000000 -0400
1668 +++ linux-2.6.27-720/include/linux/stddef.h 2009-05-04 16:03:46.000000000 -0400
1674 +#ifndef __cplusplus
1682 #ifdef __compiler_offsetof
1683 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/sysctl.h linux-2.6.27-720/include/linux/sysctl.h
1684 --- linux-2.6.27-710/include/linux/sysctl.h 2009-05-04 12:36:06.000000000 -0400
1685 +++ linux-2.6.27-720/include/linux/sysctl.h 2009-05-04 16:03:46.000000000 -0400
1687 void __user *oldval, size_t __user *oldlenp,
1688 void __user *newval, size_t newlen);
1690 -typedef int proc_handler (struct ctl_table *ctl, int write, struct file * filp,
1691 +typedef int proc_handler_t (struct ctl_table *ctl, int write, struct file * filp,
1692 void __user *buffer, size_t *lenp, loff_t *ppos);
1694 extern int proc_dostring(struct ctl_table *, int, struct file *,
1695 @@ -1066,7 +1066,7 @@
1697 struct ctl_table *child;
1698 struct ctl_table *parent; /* Automatically set */
1699 - proc_handler *proc_handler; /* Callback for text formatting */
1700 + proc_handler_t *proc_handler; /* Callback for text formatting */
1701 ctl_handler *strategy; /* Callback function for all r/w */
1704 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/textsearch.h linux-2.6.27-720/include/linux/textsearch.h
1705 --- linux-2.6.27-710/include/linux/textsearch.h 2008-10-09 18:13:53.000000000 -0400
1706 +++ linux-2.6.27-720/include/linux/textsearch.h 2009-05-04 16:03:46.000000000 -0400
1709 struct ts_config *conf;
1711 - conf = kzalloc(TS_PRIV_ALIGN(sizeof(*conf)) + payload, gfp_mask);
1712 + conf = (struct ts_config *) kzalloc(TS_PRIV_ALIGN(sizeof(*conf)) + payload, gfp_mask);
1714 - return ERR_PTR(-ENOMEM);
1715 + return (struct ts_config *) ERR_PTR(-ENOMEM);
1719 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/types.h linux-2.6.27-720/include/linux/types.h
1720 --- linux-2.6.27-710/include/linux/types.h 2009-05-04 12:36:01.000000000 -0400
1721 +++ linux-2.6.27-720/include/linux/types.h 2009-05-04 16:03:46.000000000 -0400
1723 typedef __kernel_mqd_t mqd_t;
1726 +#ifndef __cplusplus
1730 typedef __kernel_uid32_t uid_t;
1731 typedef __kernel_gid32_t gid_t;
1732 @@ -209,4 +211,12 @@
1734 #endif /* __KERNEL__ */
1737 + * Click: Macros for defining empty structures. Needed because GCC's C and C++
1738 + * compilers have different ABIs for empty structures.
1741 +#define EMPTY_STRUCT_DECL(s) struct s { int gcc_is_buggy; }
1742 +#define EMPTY_STRUCT_INIT(s) (s) { 0 }
1744 #endif /* _LINUX_TYPES_H */
1745 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/unwind.h linux-2.6.27-720/include/linux/unwind.h
1746 --- linux-2.6.27-710/include/linux/unwind.h 2008-10-09 18:13:53.000000000 -0400
1747 +++ linux-2.6.27-720/include/linux/unwind.h 2009-05-04 16:03:46.000000000 -0400
1752 -struct unwind_frame_info {};
1753 +EMPTY_STRUCT_DECL(unwind_frame_info);
1755 static inline void unwind_init(void) {}
1756 static inline void unwind_setup(void) {}
1757 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/linux/wait.h linux-2.6.27-720/include/linux/wait.h
1758 --- linux-2.6.27-710/include/linux/wait.h 2008-10-09 18:13:53.000000000 -0400
1759 +++ linux-2.6.27-720/include/linux/wait.h 2009-05-04 16:03:46.000000000 -0400
1761 static inline int wait_on_bit(void *word, int bit,
1762 int (*action)(void *), unsigned mode)
1764 - if (!test_bit(bit, word))
1765 + if (!test_bit(bit, (volatile unsigned long *) word))
1767 return out_of_line_wait_on_bit(word, bit, action, mode);
1770 static inline int wait_on_bit_lock(void *word, int bit,
1771 int (*action)(void *), unsigned mode)
1773 - if (!test_and_set_bit(bit, word))
1774 + if (!test_and_set_bit(bit, (volatile unsigned long *) word))
1776 return out_of_line_wait_on_bit_lock(word, bit, action, mode);
1778 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/net/compat.h linux-2.6.27-720/include/net/compat.h
1779 --- linux-2.6.27-710/include/net/compat.h 2008-10-09 18:13:53.000000000 -0400
1780 +++ linux-2.6.27-720/include/net/compat.h 2009-05-04 16:03:46.000000000 -0400
1783 extern int get_compat_msghdr(struct msghdr *, struct compat_msghdr __user *);
1784 extern int verify_compat_iovec(struct msghdr *, struct iovec *, struct sockaddr *, int);
1785 -extern asmlinkage long compat_sys_sendmsg(int,struct compat_msghdr __user *,unsigned);
1786 -extern asmlinkage long compat_sys_recvmsg(int,struct compat_msghdr __user *,unsigned);
1787 -extern asmlinkage long compat_sys_getsockopt(int, int, int, char __user *, int __user *);
1788 +asmlinkage long compat_sys_sendmsg(int,struct compat_msghdr __user *,unsigned);
1789 +asmlinkage long compat_sys_recvmsg(int,struct compat_msghdr __user *,unsigned);
1790 +asmlinkage long compat_sys_getsockopt(int, int, int, char __user *, int __user *);
1791 extern int put_cmsg_compat(struct msghdr*, int, int, int, void *);
1793 extern int cmsghdr_from_user_compat_to_kern(struct msghdr *, struct sock *, unsigned char *, int);
1794 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/net/neighbour.h linux-2.6.27-720/include/net/neighbour.h
1795 --- linux-2.6.27-710/include/net/neighbour.h 2008-10-09 18:13:53.000000000 -0400
1796 +++ linux-2.6.27-720/include/net/neighbour.h 2009-05-04 16:03:46.000000000 -0400
1798 struct neigh_parms *p,
1799 int p_id, int pdev_id,
1801 - proc_handler *proc_handler,
1802 + proc_handler_t *proc_handler,
1803 ctl_handler *strategy);
1804 extern void neigh_sysctl_unregister(struct neigh_parms *p);
1806 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/net/netlink.h linux-2.6.27-720/include/net/netlink.h
1807 --- linux-2.6.27-710/include/net/netlink.h 2008-10-09 18:13:53.000000000 -0400
1808 +++ linux-2.6.27-720/include/net/netlink.h 2009-05-04 16:03:46.000000000 -0400
1810 static inline struct nlattr *nlmsg_attrdata(const struct nlmsghdr *nlh,
1813 - unsigned char *data = nlmsg_data(nlh);
1814 + unsigned char *data = (unsigned char *) nlmsg_data(nlh);
1815 return (struct nlattr *) (data + NLMSG_ALIGN(hdrlen));
1820 static inline struct nlattr *nla_find_nested(struct nlattr *nla, int attrtype)
1822 - return nla_find(nla_data(nla), nla_len(nla), attrtype);
1823 + return nla_find((struct nlattr *) nla_data(nla), nla_len(nla), attrtype);
1829 const struct nla_policy *policy)
1831 - return nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy);
1832 + return nla_parse(tb, maxtype, (struct nlattr *) nla_data(nla), nla_len(nla), policy);
1839 if (nested_len >= nla_attr_size(0))
1840 - return nla_parse(tb, maxtype, nla_data(nla) + NLA_ALIGN(len),
1841 + return nla_parse(tb, maxtype, (struct nlattr *) nla_data(nla) + NLA_ALIGN(len),
1842 nested_len, policy);
1843 memset(tb, 0, sizeof(struct nlattr *) * (maxtype + 1));
1845 @@ -1069,7 +1069,7 @@
1847 static inline int nla_nest_compat_end(struct sk_buff *skb, struct nlattr *start)
1849 - struct nlattr *nest = (void *)start + NLMSG_ALIGN(start->nla_len);
1850 + struct nlattr *nest = (struct nlattr *) (char *)start + NLMSG_ALIGN(start->nla_len);
1852 start->nla_len = skb_tail_pointer(skb) - (unsigned char *)start;
1853 return nla_nest_end(skb, nest);
1854 @@ -1103,7 +1103,7 @@
1855 static inline int nla_validate_nested(struct nlattr *start, int maxtype,
1856 const struct nla_policy *policy)
1858 - return nla_validate(nla_data(start), nla_len(start), maxtype, policy);
1859 + return nla_validate((struct nlattr *) nla_data(start), nla_len(start), maxtype, policy);
1863 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/net/pkt_cls.h linux-2.6.27-720/include/net/pkt_cls.h
1864 --- linux-2.6.27-710/include/net/pkt_cls.h 2008-10-09 18:13:53.000000000 -0400
1865 +++ linux-2.6.27-720/include/net/pkt_cls.h 2009-05-04 16:03:46.000000000 -0400
1868 #else /* CONFIG_NET_EMATCH */
1870 -struct tcf_ematch_tree
1873 +EMPTY_STRUCT_DECL(tcf_ematch_tree);
1875 #define tcf_em_tree_validate(tp, tb, t) ((void)(t), 0)
1876 #define tcf_em_tree_destroy(tp, t) do { (void)(t); } while(0)
1877 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/net/request_sock.h linux-2.6.27-720/include/net/request_sock.h
1878 --- linux-2.6.27-710/include/net/request_sock.h 2008-10-09 18:13:53.000000000 -0400
1879 +++ linux-2.6.27-720/include/net/request_sock.h 2009-05-04 16:03:46.000000000 -0400
1882 static inline struct request_sock *reqsk_alloc(const struct request_sock_ops *ops)
1884 - struct request_sock *req = kmem_cache_alloc(ops->slab, GFP_ATOMIC);
1885 + struct request_sock *req = (struct request_sock *) kmem_cache_alloc(ops->slab, GFP_ATOMIC);
1889 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/net/route.h linux-2.6.27-720/include/net/route.h
1890 --- linux-2.6.27-710/include/net/route.h 2009-05-04 12:36:01.000000000 -0400
1891 +++ linux-2.6.27-720/include/net/route.h 2009-05-04 16:03:46.000000000 -0400
1892 @@ -161,6 +161,16 @@
1893 __be16 sport, __be16 dport, struct sock *sk,
1899 + fl.nl_u.ip4_u.daddr = dst;
1900 + fl.nl_u.ip4_u.saddr = src;
1901 + fl.nl_u.ip4_u.tos = tos;
1902 + fl.proto = protocol;
1903 + fl.uli_u.ports.sport = sport;
1904 + fl.uli_u.ports.dport = dport;
1906 struct flowi fl = { .oif = oif,
1907 .mark = sk->sk_mark,
1908 .nl_u = { .ip4_u = { .daddr = dst,
1912 .dport = dport } } };
1916 struct net *net = sock_net(sk);
1917 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/net/sock.h linux-2.6.27-720/include/net/sock.h
1918 --- linux-2.6.27-710/include/net/sock.h 2009-05-04 12:36:01.000000000 -0400
1919 +++ linux-2.6.27-720/include/net/sock.h 2009-05-04 16:03:46.000000000 -0400
1920 @@ -1104,13 +1104,13 @@
1922 if (skb->ip_summed == CHECKSUM_NONE) {
1924 - __wsum csum = csum_and_copy_from_user(from,
1925 - page_address(page) + off,
1926 + __wsum csum = csum_and_copy_from_user((unsigned char *) from,
1927 + (unsigned char *) page_address(page) + off,
1931 skb->csum = csum_block_add(skb->csum, csum, skb->len);
1932 - } else if (copy_from_user(page_address(page) + off, from, copy))
1933 + } else if (copy_from_user((char *) page_address(page) + off, from, copy))
1937 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/include/rdma/ib_user_verbs.h linux-2.6.27-720/include/rdma/ib_user_verbs.h
1938 --- linux-2.6.27-710/include/rdma/ib_user_verbs.h 2008-10-09 18:13:53.000000000 -0400
1939 +++ linux-2.6.27-720/include/rdma/ib_user_verbs.h 2009-05-04 16:03:47.000000000 -0400
1941 __u64 driver_data[0];
1944 -struct ib_uverbs_modify_qp_resp {
1946 +EMPTY_STRUCT_DECL(ib_uverbs_modify_qp_resp);
1948 struct ib_uverbs_destroy_qp {
1950 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/kernel/sched.c linux-2.6.27-720/kernel/sched.c
1951 --- linux-2.6.27-710/kernel/sched.c 2009-05-04 12:36:01.000000000 -0400
1952 +++ linux-2.6.27-720/kernel/sched.c 2009-05-04 16:03:47.000000000 -0400
1953 @@ -6298,7 +6298,7 @@
1955 set_table_entry(struct ctl_table *entry,
1956 const char *procname, void *data, int maxlen,
1957 - mode_t mode, proc_handler *proc_handler)
1958 + mode_t mode, proc_handler_t *proc_handler)
1960 entry->procname = procname;
1962 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/net/core/dev.c linux-2.6.27-720/net/core/dev.c
1963 --- linux-2.6.27-710/net/core/dev.c 2009-05-04 12:36:43.000000000 -0400
1964 +++ linux-2.6.27-720/net/core/dev.c 2009-05-04 16:05:12.000000000 -0400
1966 write_unlock_bh(&dev_base_lock);
1969 +/* Click: input packet handlers, might steal packets from net_rx_action. */
1970 +static RAW_NOTIFIER_HEAD(net_in_chain);
1975 @@ -2021,6 +2024,31 @@
1976 return pt_prev->func(skb, skb->dev, pt_prev, orig_dev);
1981 + * Click: Allow Click to ask to intercept input packets.
1984 +register_net_in(struct notifier_block *nb)
1988 + err = raw_notifier_chain_register(&net_in_chain, nb);
1994 +unregister_net_in(struct notifier_block *nb)
1998 + err = raw_notifier_chain_unregister(&net_in_chain, nb);
2004 #if defined(CONFIG_BRIDGE) || defined (CONFIG_BRIDGE_MODULE)
2005 /* These hooks defined here for ATM */
2007 @@ -2191,14 +2219,16 @@
2008 * NET_RX_SUCCESS: no congestion
2009 * NET_RX_DROP: packet was dropped
2011 -int netif_receive_skb(struct sk_buff *skb)
2013 +int __netif_receive_skb(struct sk_buff *skb, unsigned short type, int notifier_data)
2014 +//int netif_receive_skb(struct sk_buff *skb)
2016 struct packet_type *ptype, *pt_prev;
2017 struct net_device *orig_dev;
2018 struct net_device *null_or_orig;
2019 int ret = NET_RX_DROP;
2020 int *cur_elevator = &__get_cpu_var(sknid_elevator);
2026 @@ -2227,6 +2257,14 @@
2027 skb_reset_transport_header(skb);
2028 skb->mac_len = skb->network_header - skb->mac_header;
2030 + /* Click: may want to steal the packet */
2031 + if (notifier_data >= 0
2032 + && raw_notifier_call_chain(&net_in_chain,
2034 + skb) & NOTIFY_STOP_MASK) {
2041 @@ -2345,7 +2383,8 @@
2045 - netif_receive_skb(skb);
2046 + __netif_receive_skb(skb, skb->protocol, skb_queue_len(&queue->input_pkt_queue));
2047 +//XXX netif_receive_skb(skb);
2048 } while (++work < quota && jiffies == start_time);
2051 @@ -4898,6 +4937,7 @@
2052 EXPORT_SYMBOL(dev_get_by_index);
2053 EXPORT_SYMBOL(dev_get_by_name);
2054 EXPORT_SYMBOL(dev_open);
2055 +EXPORT_SYMBOL(dev_ioctl);
2056 EXPORT_SYMBOL(dev_queue_xmit);
2057 EXPORT_SYMBOL(dev_remove_pack);
2058 EXPORT_SYMBOL(dev_set_allmulti);
2059 @@ -4910,10 +4950,16 @@
2060 EXPORT_SYMBOL(netdev_set_master);
2061 EXPORT_SYMBOL(netdev_state_change);
2062 EXPORT_SYMBOL(netif_receive_skb);
2063 +EXPORT_SYMBOL(__netif_receive_skb);
2064 EXPORT_SYMBOL(netif_rx);
2065 EXPORT_SYMBOL(register_gifconf);
2066 EXPORT_SYMBOL(register_netdevice);
2067 EXPORT_SYMBOL(register_netdevice_notifier);
2070 +EXPORT_SYMBOL(register_net_in);
2071 +EXPORT_SYMBOL(unregister_net_in);
2073 EXPORT_SYMBOL(skb_checksum_help);
2074 EXPORT_SYMBOL(synchronize_net);
2075 EXPORT_SYMBOL(unregister_netdevice);
2076 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/net/core/dev.c.rej linux-2.6.27-720/net/core/dev.c.rej
2077 --- linux-2.6.27-710/net/core/dev.c.rej 1969-12-31 19:00:00.000000000 -0500
2078 +++ linux-2.6.27-720/net/core/dev.c.rej 2009-05-04 16:03:47.000000000 -0400
2082 + * NET_RX_SUCCESS: no congestion
2083 + * NET_RX_DROP: packet was dropped
2085 +- int netif_receive_skb(struct sk_buff *skb)
2087 + struct packet_type *ptype, *pt_prev;
2088 + struct net_device *orig_dev;
2089 + struct net_device *null_or_orig;
2090 + int ret = NET_RX_DROP;
2093 + /* if we've gotten here through NAPI, check netpoll */
2094 + if (netpoll_receive_skb(skb))
2096 + * NET_RX_SUCCESS: no congestion
2097 + * NET_RX_DROP: packet was dropped
2099 ++ //int netif_receive_skb(struct sk_buff *skb)
2100 ++ int __netif_receive_skb(struct sk_buff *skb, unsigned short type, int notifier_data)
2102 + struct packet_type *ptype, *pt_prev;
2103 + struct net_device *orig_dev;
2104 + struct net_device *null_or_orig;
2105 + int ret = NET_RX_DROP;
2108 + /* if we've gotten here through NAPI, check netpoll */
2109 + if (netpoll_receive_skb(skb))
2110 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/net/core/neighbour.c linux-2.6.27-720/net/core/neighbour.c
2111 --- linux-2.6.27-710/net/core/neighbour.c 2008-10-09 18:13:53.000000000 -0400
2112 +++ linux-2.6.27-720/net/core/neighbour.c 2009-05-04 16:03:47.000000000 -0400
2113 @@ -2702,7 +2702,7 @@
2115 int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
2116 int p_id, int pdev_id, char *p_name,
2117 - proc_handler *handler, ctl_handler *strategy)
2118 + proc_handler_t *handler, ctl_handler *strategy)
2120 struct neigh_sysctl_table *t;
2121 const char *dev_name_source = NULL;
2122 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/net/core/skbuff.c linux-2.6.27-720/net/core/skbuff.c
2123 --- linux-2.6.27-710/net/core/skbuff.c 2009-05-04 12:36:07.000000000 -0400
2124 +++ linux-2.6.27-720/net/core/skbuff.c 2009-05-04 16:03:47.000000000 -0400
2125 @@ -575,6 +575,112 @@
2126 skb_shinfo(new)->gso_type = skb_shinfo(old)->gso_type;
2130 +/* Click: clear skb header state */
2131 +static inline void skb_headerinit(void *p, struct kmem_cache *cache,
2132 + unsigned long flags)
2134 + struct sk_buff *skb = p;
2139 + skb->tstamp.tv64 = 0; /* No idea about time */
2144 + memset(skb->cb, 0, sizeof(skb->cb));
2145 + skb->priority = 0;
2146 + skb->pkt_type = PACKET_HOST; /* Default type */
2147 + skb->ip_summed = 0;
2148 + skb->destructor = NULL;
2150 +#ifdef CONFIG_NETFILTER
2153 +# if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
2154 + skb->nfct_reasm = NULL;
2156 +# ifdef CONFIG_BRIDGE_NETFILTER
2157 + skb->nf_bridge = NULL;
2160 +#ifdef CONFIG_NET_SCHED
2161 + skb->tc_index = 0;
2162 +# ifdef CONFIG_NET_CLS_ACT
2168 +/* Click: attempts to recycle a sk_buff. if it can be recycled, return it */
2169 +struct sk_buff *skb_recycle(struct sk_buff *skb)
2171 + if (atomic_dec_and_test(&skb->users)) {
2172 + dst_release(skb->dst);
2174 + secpath_put(skb->sp);
2176 + if(skb->destructor) {
2177 + WARN_ON(in_irq());
2178 + skb->destructor(skb);
2180 +#ifdef CONFIG_NETFILTER
2181 + nf_conntrack_put(skb->nfct);
2182 +# if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
2183 + nf_conntrack_put_reasm(skb->nfct_reasm);
2185 +# ifdef CONFIG_BRIDGE_NETFILTER
2186 + nf_bridge_put(skb->nf_bridge);
2189 + skb_headerinit(skb, NULL, 0);
2191 + if (skb->fclone == SKB_FCLONE_UNAVAILABLE
2192 + && (!skb->cloned ||
2193 + atomic_read(&skb_shinfo(skb)->dataref) == (skb->nohdr ? (1 << SKB_DATAREF_SHIFT) + 1 : 1))) {
2194 + /* Don't need to atomic_sub skb_shinfo(skb)->dataref,
2195 + as we set that to 1 below. */
2197 + if (skb_shinfo(skb)->nr_frags) {
2199 + for (i = 0; i < skb_shinfo(skb)->nr_frags; i++)
2200 + put_page(skb_shinfo(skb)->frags[i].page);
2201 + /* Jason Park patch */
2202 + skb_shinfo(skb)->nr_frags = 0;
2205 + if (skb_shinfo(skb)->frag_list)
2206 + skb_drop_fraglist(skb);
2208 + /* Load the data pointers. */
2209 + skb->data = skb->head;
2210 + skb->tail = skb->data;
2211 + /* end and truesize should have never changed */
2212 + /* skb->end = skb->data + skb->truesize; */
2214 + /* set up other state */
2218 + atomic_set(&skb->users, 1);
2219 + atomic_set(&(skb_shinfo(skb)->dataref), 1);
2220 + /* Jason Park patch */
2221 + skb_shinfo(skb)->gso_size = 0;
2222 + skb_shinfo(skb)->gso_segs = 0;
2223 + skb_shinfo(skb)->gso_type = 0;
2224 + skb_shinfo(skb)->ip6_frag_id = 0;
2229 + kfree_skbmem(skb);
2236 * skb_copy - create private copy of an sk_buff
2237 * @skb: buffer to copy
2238 @@ -2604,6 +2710,7 @@
2239 EXPORT_SYMBOL(skb_append_datato_frags);
2240 EXPORT_SYMBOL(__skb_warn_lro_forwarding);
2242 +EXPORT_SYMBOL(skb_recycle);
2243 EXPORT_SYMBOL_GPL(skb_to_sgvec);
2244 EXPORT_SYMBOL_GPL(skb_cow_data);
2245 EXPORT_SYMBOL_GPL(skb_partial_csum_set);
2246 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/net/ipv4/arp.c linux-2.6.27-720/net/ipv4/arp.c
2247 --- linux-2.6.27-710/net/ipv4/arp.c 2008-10-09 18:13:53.000000000 -0400
2248 +++ linux-2.6.27-720/net/ipv4/arp.c 2009-05-04 16:03:47.000000000 -0400
2253 + u8 dst_ha_buf[MAX_ADDR_LEN+sizeof(unsigned long)];
2254 struct net_device *dev = neigh->dev;
2255 __be32 target = *(__be32*)neigh->primary_key;
2256 int probes = atomic_read(&neigh->probes);
2258 if ((probes -= neigh->parms->ucast_probes) < 0) {
2259 if (!(neigh->nud_state&NUD_VALID))
2260 printk(KERN_DEBUG "trying to ucast probe in NUD_INVALID\n");
2261 - dst_ha = neigh->ha;
2262 - read_lock_bh(&neigh->lock);
2263 + memcpy(dst_ha_buf, neigh->ha, sizeof(neigh->ha));
2264 + dst_ha = dst_ha_buf;
2265 } else if ((probes -= neigh->parms->app_probes) < 0) {
2267 neigh_app_ns(neigh);
2270 arp_send(ARPOP_REQUEST, ETH_P_ARP, target, dev, saddr,
2271 dst_ha, dev->dev_addr, NULL);
2273 - read_unlock_bh(&neigh->lock);
2276 static int arp_ignore(struct in_device *in_dev, __be32 sip, __be32 tip)
2277 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/net/ipv4/devinet.c linux-2.6.27-720/net/ipv4/devinet.c
2278 --- linux-2.6.27-710/net/ipv4/devinet.c 2009-05-04 12:36:01.000000000 -0400
2279 +++ linux-2.6.27-720/net/ipv4/devinet.c 2009-05-04 16:03:47.000000000 -0400
2280 @@ -1687,3 +1687,4 @@
2281 EXPORT_SYMBOL(inetdev_by_index);
2282 EXPORT_SYMBOL(register_inetaddr_notifier);
2283 EXPORT_SYMBOL(unregister_inetaddr_notifier);
2284 +EXPORT_SYMBOL(devinet_ioctl);
2285 diff -Nurb --exclude='*.a' --exclude='*.dbg' --exclude='*.order' --exclude='*.d' --exclude='*.elf' --exclude='*.o' --exclude='*.mod' --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.27-710/scr linux-2.6.27-720/scr
2286 --- linux-2.6.27-710/scr 1969-12-31 19:00:00.000000000 -0500
2287 +++ linux-2.6.27-720/scr 2009-05-04 16:03:47.000000000 -0400
2289 +vi -o ./include/asm-um/elf-x86_64.h ./include/asm-um/elf-x86_64.h.rej
2290 +vi -o ./include/asm-frv/tlbflush.h ./include/asm-frv/tlbflush.h.rej
2291 +vi -o ./include/asm-frv/pgtable.h ./include/asm-frv/pgtable.h.rej
2292 +vi -o ./include/asm-xtensa/pgalloc.h ./include/asm-xtensa/pgalloc.h.rej
2293 +vi -o ./include/asm-xtensa/pgtable.h ./include/asm-xtensa/pgtable.h.rej
2294 +vi -o ./include/asm-xtensa/module.h ./include/asm-xtensa/module.h.rej
2295 +vi -o ./include/asm-xtensa/system.h ./include/asm-xtensa/system.h.rej
2296 +vi -o ./include/asm-xtensa/timex.h ./include/asm-xtensa/timex.h.rej
2297 +vi -o ./include/net/sock.h ./include/net/sock.h.rej
2298 +vi -o ./include/net/compat.h ./include/net/compat.h.rej
2299 +vi -o ./include/asm-mips/fpu.h ./include/asm-mips/fpu.h.rej
2300 +vi -o ./include/asm-mips/time.h ./include/asm-mips/time.h.rej
2301 +vi -o ./include/asm-mips/irq.h ./include/asm-mips/irq.h.rej
2302 +vi -o ./include/asm-mips/system.h ./include/asm-mips/system.h.rej
2303 +vi -o ./include/linux/lockdep.h ./include/linux/lockdep.h.rej
2304 +vi -o ./include/linux/ktime.h ./include/linux/ktime.h.rej
2305 +vi -o ./include/linux/textsearch.h ./include/linux/textsearch.h.rej
2306 +vi -o ./include/linux/backing-dev.h ./include/linux/backing-dev.h.rej
2307 +vi -o ./include/linux/kexec.h ./include/linux/kexec.h.rej
2308 +vi -o ./include/linux/sysctl.h ./include/linux/sysctl.h.rej
2309 +vi -o ./include/linux/netdevice.h ./include/linux/netdevice.h.rej
2310 +vi -o ./include/linux/spinlock_types_up.h ./include/linux/spinlock_types_up.h.rej
2311 +vi -o ./include/linux/list.h ./include/linux/list.h.rej
2312 +vi -o ./include/asm-m68k/module.h ./include/asm-m68k/module.h.rej
2313 +vi -o ./net/core/dev.c ./net/core/dev.c.rej
2314 +vi -o ./net/core/skbuff.c ./net/core/skbuff.c.rej
2315 +vi -o ./net/core/neighbour.c ./net/core/neighbour.c.rej
2316 +vi -o ./drivers/media/dvb/bt8xx/bt878.h ./drivers/media/dvb/bt8xx/bt878.h.rej
2317 +vi -o ./drivers/net/ibmveth.c ./drivers/net/ibmveth.c.rej