diff options
Diffstat (limited to 'include')
26 files changed, 109 insertions, 53 deletions
diff --git a/include/asm-alpha/posix_types.h b/include/asm-alpha/posix_types.h index c78c04a94f4e..db167413300b 100644 --- a/include/asm-alpha/posix_types.h +++ b/include/asm-alpha/posix_types.h | |||
| @@ -49,7 +49,7 @@ typedef unsigned int __kernel_old_dev_t; | |||
| 49 | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) | 49 | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) |
| 50 | #define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0) | 50 | #define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0) |
| 51 | #define __FD_ZERO(set) \ | 51 | #define __FD_ZERO(set) \ |
| 52 | ((void) memset ((__ptr_t) (set), 0, sizeof (__kernel_fd_set))) | 52 | ((void) memset ((void *) (set), 0, sizeof (__kernel_fd_set))) |
| 53 | 53 | ||
| 54 | #else /* __GNUC__ */ | 54 | #else /* __GNUC__ */ |
| 55 | 55 | ||
diff --git a/include/asm-arm/arch-iop32x/iop32x.h b/include/asm-arm/arch-iop32x/iop32x.h index 4bbd85f3ed2a..2e9469047eb1 100644 --- a/include/asm-arm/arch-iop32x/iop32x.h +++ b/include/asm-arm/arch-iop32x/iop32x.h | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | * Peripherals that are shared between the iop32x and iop33x but | 19 | * Peripherals that are shared between the iop32x and iop33x but |
| 20 | * located at different addresses. | 20 | * located at different addresses. |
| 21 | */ | 21 | */ |
| 22 | #define IOP3XX_GPIO_REG(reg) (IOP3XX_PERIPHERAL_VIRT_BASE + 0x07c0 + (reg)) | 22 | #define IOP3XX_GPIO_REG(reg) (IOP3XX_PERIPHERAL_VIRT_BASE + 0x07c4 + (reg)) |
| 23 | #define IOP3XX_TIMER_REG(reg) (IOP3XX_PERIPHERAL_VIRT_BASE + 0x07e0 + (reg)) | 23 | #define IOP3XX_TIMER_REG(reg) (IOP3XX_PERIPHERAL_VIRT_BASE + 0x07e0 + (reg)) |
| 24 | 24 | ||
| 25 | #include <asm/hardware/iop3xx.h> | 25 | #include <asm/hardware/iop3xx.h> |
diff --git a/include/asm-arm/cacheflush.h b/include/asm-arm/cacheflush.h index d51049522cd0..5f531ea03059 100644 --- a/include/asm-arm/cacheflush.h +++ b/include/asm-arm/cacheflush.h | |||
| @@ -357,6 +357,16 @@ extern void flush_dcache_page(struct page *); | |||
| 357 | 357 | ||
| 358 | extern void __flush_dcache_page(struct address_space *mapping, struct page *page); | 358 | extern void __flush_dcache_page(struct address_space *mapping, struct page *page); |
| 359 | 359 | ||
| 360 | #define ARCH_HAS_FLUSH_ANON_PAGE | ||
| 361 | static inline void flush_anon_page(struct vm_area_struct *vma, | ||
| 362 | struct page *page, unsigned long vmaddr) | ||
| 363 | { | ||
| 364 | extern void __flush_anon_page(struct vm_area_struct *vma, | ||
| 365 | struct page *, unsigned long); | ||
| 366 | if (PageAnon(page)) | ||
| 367 | __flush_anon_page(vma, page, vmaddr); | ||
| 368 | } | ||
| 369 | |||
| 360 | #define flush_dcache_mmap_lock(mapping) \ | 370 | #define flush_dcache_mmap_lock(mapping) \ |
| 361 | write_lock_irq(&(mapping)->tree_lock) | 371 | write_lock_irq(&(mapping)->tree_lock) |
| 362 | #define flush_dcache_mmap_unlock(mapping) \ | 372 | #define flush_dcache_mmap_unlock(mapping) \ |
diff --git a/include/asm-arm/hardware/iop3xx.h b/include/asm-arm/hardware/iop3xx.h index 1018a7486ab7..13ac8a4cd01f 100644 --- a/include/asm-arm/hardware/iop3xx.h +++ b/include/asm-arm/hardware/iop3xx.h | |||
| @@ -168,9 +168,9 @@ extern void gpio_line_set(int line, int value); | |||
| 168 | #define IOP3XX_PERCR0 (volatile u32 *)IOP3XX_REG_ADDR(0x0710) | 168 | #define IOP3XX_PERCR0 (volatile u32 *)IOP3XX_REG_ADDR(0x0710) |
| 169 | 169 | ||
| 170 | /* General Purpose I/O */ | 170 | /* General Purpose I/O */ |
| 171 | #define IOP3XX_GPOE (volatile u32 *)IOP3XX_GPIO_REG(0x0004) | 171 | #define IOP3XX_GPOE (volatile u32 *)IOP3XX_GPIO_REG(0x0000) |
| 172 | #define IOP3XX_GPID (volatile u32 *)IOP3XX_GPIO_REG(0x0008) | 172 | #define IOP3XX_GPID (volatile u32 *)IOP3XX_GPIO_REG(0x0004) |
| 173 | #define IOP3XX_GPOD (volatile u32 *)IOP3XX_GPIO_REG(0x000c) | 173 | #define IOP3XX_GPOD (volatile u32 *)IOP3XX_GPIO_REG(0x0008) |
| 174 | 174 | ||
| 175 | /* Timers */ | 175 | /* Timers */ |
| 176 | #define IOP3XX_TU_TMR0 (volatile u32 *)IOP3XX_TIMER_REG(0x0000) | 176 | #define IOP3XX_TU_TMR0 (volatile u32 *)IOP3XX_TIMER_REG(0x0000) |
diff --git a/include/asm-ia64/posix_types.h b/include/asm-ia64/posix_types.h index adb62272694f..17885567b731 100644 --- a/include/asm-ia64/posix_types.h +++ b/include/asm-ia64/posix_types.h | |||
| @@ -54,7 +54,7 @@ typedef unsigned int __kernel_old_dev_t; | |||
| 54 | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) | 54 | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) |
| 55 | #define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0) | 55 | #define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0) |
| 56 | #define __FD_ZERO(set) \ | 56 | #define __FD_ZERO(set) \ |
| 57 | ((void) memset ((__ptr_t) (set), 0, sizeof (__kernel_fd_set))) | 57 | ((void) memset ((void *) (set), 0, sizeof (__kernel_fd_set))) |
| 58 | 58 | ||
| 59 | # else /* !__GNUC__ */ | 59 | # else /* !__GNUC__ */ |
| 60 | 60 | ||
diff --git a/include/asm-mips/checksum.h b/include/asm-mips/checksum.h index 9b768c3b96b3..24cdcc6eaab8 100644 --- a/include/asm-mips/checksum.h +++ b/include/asm-mips/checksum.h | |||
| @@ -29,31 +29,38 @@ | |||
| 29 | */ | 29 | */ |
| 30 | __wsum csum_partial(const void *buff, int len, __wsum sum); | 30 | __wsum csum_partial(const void *buff, int len, __wsum sum); |
| 31 | 31 | ||
| 32 | __wsum __csum_partial_copy_user(const void *src, void *dst, | ||
| 33 | int len, __wsum sum, int *err_ptr); | ||
| 34 | |||
| 32 | /* | 35 | /* |
| 33 | * this is a new version of the above that records errors it finds in *errp, | 36 | * this is a new version of the above that records errors it finds in *errp, |
| 34 | * but continues and zeros the rest of the buffer. | 37 | * but continues and zeros the rest of the buffer. |
| 35 | */ | 38 | */ |
| 36 | __wsum csum_partial_copy_from_user(const void __user *src, | 39 | static inline |
| 37 | void *dst, int len, | 40 | __wsum csum_partial_copy_from_user(const void __user *src, void *dst, int len, |
| 38 | __wsum sum, int *errp); | 41 | __wsum sum, int *err_ptr) |
| 42 | { | ||
| 43 | might_sleep(); | ||
| 44 | return __csum_partial_copy_user((__force void *)src, dst, | ||
| 45 | len, sum, err_ptr); | ||
| 46 | } | ||
| 39 | 47 | ||
| 40 | /* | 48 | /* |
| 41 | * Copy and checksum to user | 49 | * Copy and checksum to user |
| 42 | */ | 50 | */ |
| 43 | #define HAVE_CSUM_COPY_USER | 51 | #define HAVE_CSUM_COPY_USER |
| 44 | static inline __wsum csum_and_copy_to_user (const void *src, void __user *dst, | 52 | static inline |
| 45 | int len, __wsum sum, | 53 | __wsum csum_and_copy_to_user(const void *src, void __user *dst, int len, |
| 46 | int *err_ptr) | 54 | __wsum sum, int *err_ptr) |
| 47 | { | 55 | { |
| 48 | might_sleep(); | 56 | might_sleep(); |
| 49 | sum = csum_partial(src, len, sum); | 57 | if (access_ok(VERIFY_WRITE, dst, len)) |
| 50 | 58 | return __csum_partial_copy_user(src, (__force void *)dst, | |
| 51 | if (copy_to_user(dst, src, len)) { | 59 | len, sum, err_ptr); |
| 60 | if (len) | ||
| 52 | *err_ptr = -EFAULT; | 61 | *err_ptr = -EFAULT; |
| 53 | return (__force __wsum)-1; | ||
| 54 | } | ||
| 55 | 62 | ||
| 56 | return sum; | 63 | return (__force __wsum)-1; /* invalid checksum */ |
| 57 | } | 64 | } |
| 58 | 65 | ||
| 59 | /* | 66 | /* |
diff --git a/include/asm-mips/irq.h b/include/asm-mips/irq.h index 67657089efa7..386da82e5774 100644 --- a/include/asm-mips/irq.h +++ b/include/asm-mips/irq.h | |||
| @@ -31,14 +31,14 @@ static inline int irq_canonicalize(int irq) | |||
| 31 | * functions will take over re-enabling the low-level mask. | 31 | * functions will take over re-enabling the low-level mask. |
| 32 | * Otherwise it will be done on return from exception. | 32 | * Otherwise it will be done on return from exception. |
| 33 | */ | 33 | */ |
| 34 | #define __DO_IRQ_SMTC_HOOK() \ | 34 | #define __DO_IRQ_SMTC_HOOK(irq) \ |
| 35 | do { \ | 35 | do { \ |
| 36 | if (irq_hwmask[irq] & 0x0000ff00) \ | 36 | if (irq_hwmask[irq] & 0x0000ff00) \ |
| 37 | write_c0_tccontext(read_c0_tccontext() & \ | 37 | write_c0_tccontext(read_c0_tccontext() & \ |
| 38 | ~(irq_hwmask[irq] & 0x0000ff00)); \ | 38 | ~(irq_hwmask[irq] & 0x0000ff00)); \ |
| 39 | } while (0) | 39 | } while (0) |
| 40 | #else | 40 | #else |
| 41 | #define __DO_IRQ_SMTC_HOOK() do { } while (0) | 41 | #define __DO_IRQ_SMTC_HOOK(irq) do { } while (0) |
| 42 | #endif | 42 | #endif |
| 43 | 43 | ||
| 44 | /* | 44 | /* |
| @@ -52,7 +52,7 @@ do { \ | |||
| 52 | #define do_IRQ(irq) \ | 52 | #define do_IRQ(irq) \ |
| 53 | do { \ | 53 | do { \ |
| 54 | irq_enter(); \ | 54 | irq_enter(); \ |
| 55 | __DO_IRQ_SMTC_HOOK(); \ | 55 | __DO_IRQ_SMTC_HOOK(irq); \ |
| 56 | generic_handle_irq(irq); \ | 56 | generic_handle_irq(irq); \ |
| 57 | irq_exit(); \ | 57 | irq_exit(); \ |
| 58 | } while (0) | 58 | } while (0) |
diff --git a/include/asm-parisc/cacheflush.h b/include/asm-parisc/cacheflush.h index aedb0512cb04..a799dd8ef395 100644 --- a/include/asm-parisc/cacheflush.h +++ b/include/asm-parisc/cacheflush.h | |||
| @@ -186,7 +186,7 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long | |||
| 186 | } | 186 | } |
| 187 | 187 | ||
| 188 | static inline void | 188 | static inline void |
| 189 | flush_anon_page(struct page *page, unsigned long vmaddr) | 189 | flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vmaddr) |
| 190 | { | 190 | { |
| 191 | if (PageAnon(page)) | 191 | if (PageAnon(page)) |
| 192 | flush_user_dcache_page(vmaddr); | 192 | flush_user_dcache_page(vmaddr); |
diff --git a/include/asm-powerpc/bug.h b/include/asm-powerpc/bug.h index 709568879f73..f6fa39474846 100644 --- a/include/asm-powerpc/bug.h +++ b/include/asm-powerpc/bug.h | |||
| @@ -11,10 +11,31 @@ | |||
| 11 | #define BUG_OPCODE .long 0x00b00b00 /* For asm */ | 11 | #define BUG_OPCODE .long 0x00b00b00 /* For asm */ |
| 12 | #define BUG_ILLEGAL_INSTR "0x00b00b00" /* For BUG macro */ | 12 | #define BUG_ILLEGAL_INSTR "0x00b00b00" /* For BUG macro */ |
| 13 | 13 | ||
| 14 | #ifndef __ASSEMBLY__ | ||
| 15 | |||
| 16 | #ifdef CONFIG_BUG | 14 | #ifdef CONFIG_BUG |
| 17 | 15 | ||
| 16 | #ifdef __ASSEMBLY__ | ||
| 17 | #ifdef CONFIG_DEBUG_BUGVERBOSE | ||
| 18 | .macro EMIT_BUG_ENTRY addr,file,line,flags | ||
| 19 | .section __bug_table,"a" | ||
| 20 | 5001: PPC_LONG \addr, 5002f | ||
| 21 | .short \line, \flags | ||
| 22 | .org 5001b+BUG_ENTRY_SIZE | ||
| 23 | .previous | ||
| 24 | .section .rodata,"a" | ||
| 25 | 5002: .asciz "\file" | ||
| 26 | .previous | ||
| 27 | .endm | ||
| 28 | #else | ||
| 29 | .macro EMIT_BUG_ENTRY addr,file,line,flags | ||
| 30 | .section __bug_table,"a" | ||
| 31 | 5001: PPC_LONG \addr | ||
| 32 | .short \flags | ||
| 33 | .org 5001b+BUG_ENTRY_SIZE | ||
| 34 | .previous | ||
| 35 | .endm | ||
| 36 | #endif /* verbose */ | ||
| 37 | |||
| 38 | #else /* !__ASSEMBLY__ */ | ||
| 18 | /* _EMIT_BUG_ENTRY expects args %0,%1,%2,%3 to be FILE, LINE, flags and | 39 | /* _EMIT_BUG_ENTRY expects args %0,%1,%2,%3 to be FILE, LINE, flags and |
| 19 | sizeof(struct bug_entry), respectively */ | 40 | sizeof(struct bug_entry), respectively */ |
| 20 | #ifdef CONFIG_DEBUG_BUGVERBOSE | 41 | #ifdef CONFIG_DEBUG_BUGVERBOSE |
| @@ -91,8 +112,8 @@ | |||
| 91 | #define HAVE_ARCH_BUG | 112 | #define HAVE_ARCH_BUG |
| 92 | #define HAVE_ARCH_BUG_ON | 113 | #define HAVE_ARCH_BUG_ON |
| 93 | #define HAVE_ARCH_WARN_ON | 114 | #define HAVE_ARCH_WARN_ON |
| 94 | #endif /* CONFIG_BUG */ | ||
| 95 | #endif /* __ASSEMBLY __ */ | 115 | #endif /* __ASSEMBLY __ */ |
| 116 | #endif /* CONFIG_BUG */ | ||
| 96 | 117 | ||
| 97 | #include <asm-generic/bug.h> | 118 | #include <asm-generic/bug.h> |
| 98 | 119 | ||
diff --git a/include/asm-powerpc/hvcall.h b/include/asm-powerpc/hvcall.h index 257d1cecb8c9..7a500732b671 100644 --- a/include/asm-powerpc/hvcall.h +++ b/include/asm-powerpc/hvcall.h | |||
| @@ -252,8 +252,6 @@ struct hcall_stats { | |||
| 252 | unsigned long tb_total; /* total wall time (mftb) of calls. */ | 252 | unsigned long tb_total; /* total wall time (mftb) of calls. */ |
| 253 | unsigned long purr_total; /* total cpu time (PURR) of calls. */ | 253 | unsigned long purr_total; /* total cpu time (PURR) of calls. */ |
| 254 | }; | 254 | }; |
| 255 | void update_hcall_stats(unsigned long opcode, unsigned long tb_delta, | ||
| 256 | unsigned long purr_delta); | ||
| 257 | #define HCALL_STAT_ARRAY_SIZE ((MAX_HCALL_OPCODE >> 2) + 1) | 255 | #define HCALL_STAT_ARRAY_SIZE ((MAX_HCALL_OPCODE >> 2) + 1) |
| 258 | 256 | ||
| 259 | #endif /* __ASSEMBLY__ */ | 257 | #endif /* __ASSEMBLY__ */ |
diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h index 4a28a850998c..4560d72fc758 100644 --- a/include/asm-powerpc/mpc52xx.h +++ b/include/asm-powerpc/mpc52xx.h | |||
| @@ -244,6 +244,7 @@ struct mpc52xx_cdm { | |||
| 244 | extern void __iomem * mpc52xx_find_and_map(const char *); | 244 | extern void __iomem * mpc52xx_find_and_map(const char *); |
| 245 | extern unsigned int mpc52xx_find_ipb_freq(struct device_node *node); | 245 | extern unsigned int mpc52xx_find_ipb_freq(struct device_node *node); |
| 246 | extern void mpc52xx_setup_cpu(void); | 246 | extern void mpc52xx_setup_cpu(void); |
| 247 | extern void mpc52xx_declare_of_platform_devices(void); | ||
| 247 | 248 | ||
| 248 | extern void mpc52xx_init_irq(void); | 249 | extern void mpc52xx_init_irq(void); |
| 249 | extern unsigned int mpc52xx_get_irq(void); | 250 | extern unsigned int mpc52xx_get_irq(void); |
diff --git a/include/asm-powerpc/posix_types.h b/include/asm-powerpc/posix_types.h index c6391077224f..2f2288f520be 100644 --- a/include/asm-powerpc/posix_types.h +++ b/include/asm-powerpc/posix_types.h | |||
| @@ -60,7 +60,7 @@ typedef struct { | |||
| 60 | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) | 60 | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) |
| 61 | #define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0) | 61 | #define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0) |
| 62 | #define __FD_ZERO(set) \ | 62 | #define __FD_ZERO(set) \ |
| 63 | ((void) memset ((__ptr_t) (set), 0, sizeof (__kernel_fd_set))) | 63 | ((void) memset ((void *) (set), 0, sizeof (__kernel_fd_set))) |
| 64 | 64 | ||
| 65 | #else /* __GNUC__ */ | 65 | #else /* __GNUC__ */ |
| 66 | 66 | ||
diff --git a/include/asm-s390/futex.h b/include/asm-s390/futex.h index 5e261e1de671..5c5d02de49e9 100644 --- a/include/asm-s390/futex.h +++ b/include/asm-s390/futex.h | |||
| @@ -4,8 +4,8 @@ | |||
| 4 | #ifdef __KERNEL__ | 4 | #ifdef __KERNEL__ |
| 5 | 5 | ||
| 6 | #include <linux/futex.h> | 6 | #include <linux/futex.h> |
| 7 | #include <linux/uaccess.h> | ||
| 7 | #include <asm/errno.h> | 8 | #include <asm/errno.h> |
| 8 | #include <asm/uaccess.h> | ||
| 9 | 9 | ||
| 10 | static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | 10 | static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) |
| 11 | { | 11 | { |
| @@ -21,7 +21,9 @@ static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | |||
| 21 | if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) | 21 | if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) |
| 22 | return -EFAULT; | 22 | return -EFAULT; |
| 23 | 23 | ||
| 24 | pagefault_disable(); | ||
| 24 | ret = uaccess.futex_atomic_op(op, uaddr, oparg, &oldval); | 25 | ret = uaccess.futex_atomic_op(op, uaddr, oparg, &oldval); |
| 26 | pagefault_enable(); | ||
| 25 | 27 | ||
| 26 | if (!ret) { | 28 | if (!ret) { |
| 27 | switch (cmp) { | 29 | switch (cmp) { |
diff --git a/include/asm-s390/posix_types.h b/include/asm-s390/posix_types.h index b94c98856e12..397d93fba3a7 100644 --- a/include/asm-s390/posix_types.h +++ b/include/asm-s390/posix_types.h | |||
| @@ -104,7 +104,7 @@ static inline int __FD_ISSET(unsigned long fd, const __kernel_fd_set *fdsetp) | |||
| 104 | 104 | ||
| 105 | #undef __FD_ZERO | 105 | #undef __FD_ZERO |
| 106 | #define __FD_ZERO(fdsetp) \ | 106 | #define __FD_ZERO(fdsetp) \ |
| 107 | ((void) memset ((__ptr_t) (fdsetp), 0, sizeof (__kernel_fd_set))) | 107 | ((void) memset ((void *) (fdsetp), 0, sizeof (__kernel_fd_set))) |
| 108 | 108 | ||
| 109 | #endif /* __KERNEL__ */ | 109 | #endif /* __KERNEL__ */ |
| 110 | 110 | ||
diff --git a/include/asm-x86_64/bitops.h b/include/asm-x86_64/bitops.h index 5b535eaf5309..8da9609070f4 100644 --- a/include/asm-x86_64/bitops.h +++ b/include/asm-x86_64/bitops.h | |||
| @@ -7,7 +7,13 @@ | |||
| 7 | 7 | ||
| 8 | #include <asm/alternative.h> | 8 | #include <asm/alternative.h> |
| 9 | 9 | ||
| 10 | #define ADDR (*(volatile long *) addr) | 10 | #if __GNUC__ < 4 || __GNUC_MINOR__ < 1 |
| 11 | /* Technically wrong, but this avoids compilation errors on some gcc | ||
| 12 | versions. */ | ||
| 13 | #define ADDR "=m" (*(volatile long *) addr) | ||
| 14 | #else | ||
| 15 | #define ADDR "+m" (*(volatile long *) addr) | ||
| 16 | #endif | ||
| 11 | 17 | ||
| 12 | /** | 18 | /** |
| 13 | * set_bit - Atomically set a bit in memory | 19 | * set_bit - Atomically set a bit in memory |
| @@ -23,7 +29,7 @@ static __inline__ void set_bit(int nr, volatile void * addr) | |||
| 23 | { | 29 | { |
| 24 | __asm__ __volatile__( LOCK_PREFIX | 30 | __asm__ __volatile__( LOCK_PREFIX |
| 25 | "btsl %1,%0" | 31 | "btsl %1,%0" |
| 26 | :"+m" (ADDR) | 32 | :ADDR |
| 27 | :"dIr" (nr) : "memory"); | 33 | :"dIr" (nr) : "memory"); |
| 28 | } | 34 | } |
| 29 | 35 | ||
| @@ -40,7 +46,7 @@ static __inline__ void __set_bit(int nr, volatile void * addr) | |||
| 40 | { | 46 | { |
| 41 | __asm__ volatile( | 47 | __asm__ volatile( |
| 42 | "btsl %1,%0" | 48 | "btsl %1,%0" |
| 43 | :"+m" (ADDR) | 49 | :ADDR |
| 44 | :"dIr" (nr) : "memory"); | 50 | :"dIr" (nr) : "memory"); |
| 45 | } | 51 | } |
| 46 | 52 | ||
| @@ -58,7 +64,7 @@ static __inline__ void clear_bit(int nr, volatile void * addr) | |||
| 58 | { | 64 | { |
| 59 | __asm__ __volatile__( LOCK_PREFIX | 65 | __asm__ __volatile__( LOCK_PREFIX |
| 60 | "btrl %1,%0" | 66 | "btrl %1,%0" |
| 61 | :"+m" (ADDR) | 67 | :ADDR |
| 62 | :"dIr" (nr)); | 68 | :"dIr" (nr)); |
| 63 | } | 69 | } |
| 64 | 70 | ||
| @@ -66,7 +72,7 @@ static __inline__ void __clear_bit(int nr, volatile void * addr) | |||
| 66 | { | 72 | { |
| 67 | __asm__ __volatile__( | 73 | __asm__ __volatile__( |
| 68 | "btrl %1,%0" | 74 | "btrl %1,%0" |
| 69 | :"+m" (ADDR) | 75 | :ADDR |
| 70 | :"dIr" (nr)); | 76 | :"dIr" (nr)); |
| 71 | } | 77 | } |
| 72 | 78 | ||
| @@ -86,7 +92,7 @@ static __inline__ void __change_bit(int nr, volatile void * addr) | |||
| 86 | { | 92 | { |
| 87 | __asm__ __volatile__( | 93 | __asm__ __volatile__( |
| 88 | "btcl %1,%0" | 94 | "btcl %1,%0" |
| 89 | :"+m" (ADDR) | 95 | :ADDR |
| 90 | :"dIr" (nr)); | 96 | :"dIr" (nr)); |
| 91 | } | 97 | } |
| 92 | 98 | ||
| @@ -103,7 +109,7 @@ static __inline__ void change_bit(int nr, volatile void * addr) | |||
| 103 | { | 109 | { |
| 104 | __asm__ __volatile__( LOCK_PREFIX | 110 | __asm__ __volatile__( LOCK_PREFIX |
| 105 | "btcl %1,%0" | 111 | "btcl %1,%0" |
| 106 | :"+m" (ADDR) | 112 | :ADDR |
| 107 | :"dIr" (nr)); | 113 | :"dIr" (nr)); |
| 108 | } | 114 | } |
| 109 | 115 | ||
| @@ -121,7 +127,7 @@ static __inline__ int test_and_set_bit(int nr, volatile void * addr) | |||
| 121 | 127 | ||
| 122 | __asm__ __volatile__( LOCK_PREFIX | 128 | __asm__ __volatile__( LOCK_PREFIX |
| 123 | "btsl %2,%1\n\tsbbl %0,%0" | 129 | "btsl %2,%1\n\tsbbl %0,%0" |
| 124 | :"=r" (oldbit),"+m" (ADDR) | 130 | :"=r" (oldbit),ADDR |
| 125 | :"dIr" (nr) : "memory"); | 131 | :"dIr" (nr) : "memory"); |
| 126 | return oldbit; | 132 | return oldbit; |
| 127 | } | 133 | } |
| @@ -141,7 +147,7 @@ static __inline__ int __test_and_set_bit(int nr, volatile void * addr) | |||
| 141 | 147 | ||
| 142 | __asm__( | 148 | __asm__( |
| 143 | "btsl %2,%1\n\tsbbl %0,%0" | 149 | "btsl %2,%1\n\tsbbl %0,%0" |
| 144 | :"=r" (oldbit),"+m" (ADDR) | 150 | :"=r" (oldbit),ADDR |
| 145 | :"dIr" (nr)); | 151 | :"dIr" (nr)); |
| 146 | return oldbit; | 152 | return oldbit; |
| 147 | } | 153 | } |
| @@ -160,7 +166,7 @@ static __inline__ int test_and_clear_bit(int nr, volatile void * addr) | |||
| 160 | 166 | ||
| 161 | __asm__ __volatile__( LOCK_PREFIX | 167 | __asm__ __volatile__( LOCK_PREFIX |
| 162 | "btrl %2,%1\n\tsbbl %0,%0" | 168 | "btrl %2,%1\n\tsbbl %0,%0" |
| 163 | :"=r" (oldbit),"+m" (ADDR) | 169 | :"=r" (oldbit),ADDR |
| 164 | :"dIr" (nr) : "memory"); | 170 | :"dIr" (nr) : "memory"); |
| 165 | return oldbit; | 171 | return oldbit; |
| 166 | } | 172 | } |
| @@ -180,7 +186,7 @@ static __inline__ int __test_and_clear_bit(int nr, volatile void * addr) | |||
| 180 | 186 | ||
| 181 | __asm__( | 187 | __asm__( |
| 182 | "btrl %2,%1\n\tsbbl %0,%0" | 188 | "btrl %2,%1\n\tsbbl %0,%0" |
| 183 | :"=r" (oldbit),"+m" (ADDR) | 189 | :"=r" (oldbit),ADDR |
| 184 | :"dIr" (nr)); | 190 | :"dIr" (nr)); |
| 185 | return oldbit; | 191 | return oldbit; |
| 186 | } | 192 | } |
| @@ -192,7 +198,7 @@ static __inline__ int __test_and_change_bit(int nr, volatile void * addr) | |||
| 192 | 198 | ||
| 193 | __asm__ __volatile__( | 199 | __asm__ __volatile__( |
| 194 | "btcl %2,%1\n\tsbbl %0,%0" | 200 | "btcl %2,%1\n\tsbbl %0,%0" |
| 195 | :"=r" (oldbit),"+m" (ADDR) | 201 | :"=r" (oldbit),ADDR |
| 196 | :"dIr" (nr) : "memory"); | 202 | :"dIr" (nr) : "memory"); |
| 197 | return oldbit; | 203 | return oldbit; |
| 198 | } | 204 | } |
| @@ -211,7 +217,7 @@ static __inline__ int test_and_change_bit(int nr, volatile void * addr) | |||
| 211 | 217 | ||
| 212 | __asm__ __volatile__( LOCK_PREFIX | 218 | __asm__ __volatile__( LOCK_PREFIX |
| 213 | "btcl %2,%1\n\tsbbl %0,%0" | 219 | "btcl %2,%1\n\tsbbl %0,%0" |
| 214 | :"=r" (oldbit),"+m" (ADDR) | 220 | :"=r" (oldbit),ADDR |
| 215 | :"dIr" (nr) : "memory"); | 221 | :"dIr" (nr) : "memory"); |
| 216 | return oldbit; | 222 | return oldbit; |
| 217 | } | 223 | } |
| @@ -237,7 +243,7 @@ static __inline__ int variable_test_bit(int nr, volatile const void * addr) | |||
| 237 | __asm__ __volatile__( | 243 | __asm__ __volatile__( |
| 238 | "btl %2,%1\n\tsbbl %0,%0" | 244 | "btl %2,%1\n\tsbbl %0,%0" |
| 239 | :"=r" (oldbit) | 245 | :"=r" (oldbit) |
| 240 | :"m" (ADDR),"dIr" (nr)); | 246 | :"m" (*(volatile long *)addr),"dIr" (nr)); |
| 241 | return oldbit; | 247 | return oldbit; |
| 242 | } | 248 | } |
| 243 | 249 | ||
diff --git a/include/asm-xtensa/posix_types.h b/include/asm-xtensa/posix_types.h index 3470b44c12ce..4ad77dda6d5f 100644 --- a/include/asm-xtensa/posix_types.h +++ b/include/asm-xtensa/posix_types.h | |||
| @@ -60,7 +60,7 @@ typedef struct { | |||
| 60 | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) | 60 | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) |
| 61 | #define __FD_ISSET(d, set) ((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) | 61 | #define __FD_ISSET(d, set) ((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) |
| 62 | #define __FD_ZERO(set) \ | 62 | #define __FD_ZERO(set) \ |
| 63 | ((void) memset ((__ptr_t) (set), 0, sizeof (__kernel_fd_set))) | 63 | ((void) memset ((void *) (set), 0, sizeof (__kernel_fd_set))) |
| 64 | 64 | ||
| 65 | #else /* __GNUC__ */ | 65 | #else /* __GNUC__ */ |
| 66 | 66 | ||
diff --git a/include/linux/fs.h b/include/linux/fs.h index 186da813541e..1410e5330c8d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -426,6 +426,7 @@ struct address_space_operations { | |||
| 426 | /* migrate the contents of a page to the specified target */ | 426 | /* migrate the contents of a page to the specified target */ |
| 427 | int (*migratepage) (struct address_space *, | 427 | int (*migratepage) (struct address_space *, |
| 428 | struct page *, struct page *); | 428 | struct page *, struct page *); |
| 429 | int (*launder_page) (struct page *); | ||
| 429 | }; | 430 | }; |
| 430 | 431 | ||
| 431 | struct backing_dev_info; | 432 | struct backing_dev_info; |
| @@ -458,7 +459,7 @@ struct block_device { | |||
| 458 | struct inode * bd_inode; /* will die */ | 459 | struct inode * bd_inode; /* will die */ |
| 459 | int bd_openers; | 460 | int bd_openers; |
| 460 | struct mutex bd_mutex; /* open/close mutex */ | 461 | struct mutex bd_mutex; /* open/close mutex */ |
| 461 | struct mutex bd_mount_mutex; /* mount mutex */ | 462 | struct semaphore bd_mount_sem; |
| 462 | struct list_head bd_inodes; | 463 | struct list_head bd_inodes; |
| 463 | void * bd_holder; | 464 | void * bd_holder; |
| 464 | int bd_holders; | 465 | int bd_holders; |
diff --git a/include/linux/highmem.h b/include/linux/highmem.h index ca9a602cffd7..645d440807c2 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | #include <asm/cacheflush.h> | 8 | #include <asm/cacheflush.h> |
| 9 | 9 | ||
| 10 | #ifndef ARCH_HAS_FLUSH_ANON_PAGE | 10 | #ifndef ARCH_HAS_FLUSH_ANON_PAGE |
| 11 | static inline void flush_anon_page(struct page *page, unsigned long vmaddr) | 11 | static inline void flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vmaddr) |
| 12 | { | 12 | { |
| 13 | } | 13 | } |
| 14 | #endif | 14 | #endif |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index b0c4a05a4b0c..63fb18dcac30 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
| @@ -17,6 +17,9 @@ | |||
| 17 | #include <asm/byteorder.h> | 17 | #include <asm/byteorder.h> |
| 18 | #include <asm/bug.h> | 18 | #include <asm/bug.h> |
| 19 | 19 | ||
| 20 | extern const char linux_banner[]; | ||
| 21 | extern const char linux_proc_banner[]; | ||
| 22 | |||
| 20 | #define INT_MAX ((int)(~0U>>1)) | 23 | #define INT_MAX ((int)(~0U>>1)) |
| 21 | #define INT_MIN (-INT_MAX - 1) | 24 | #define INT_MIN (-INT_MAX - 1) |
| 22 | #define UINT_MAX (~0U) | 25 | #define UINT_MAX (~0U) |
diff --git a/include/linux/mm.h b/include/linux/mm.h index a17b147c61e7..76912231af41 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
| @@ -978,7 +978,8 @@ extern int early_pfn_to_nid(unsigned long pfn); | |||
| 978 | #endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */ | 978 | #endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */ |
| 979 | #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */ | 979 | #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */ |
| 980 | extern void set_dma_reserve(unsigned long new_dma_reserve); | 980 | extern void set_dma_reserve(unsigned long new_dma_reserve); |
| 981 | extern void memmap_init_zone(unsigned long, int, unsigned long, unsigned long); | 981 | extern void memmap_init_zone(unsigned long, int, unsigned long, |
| 982 | unsigned long, enum memmap_context); | ||
| 982 | extern void setup_per_zone_pages_min(void); | 983 | extern void setup_per_zone_pages_min(void); |
| 983 | extern void mem_init(void); | 984 | extern void mem_init(void); |
| 984 | extern void show_mem(void); | 985 | extern void show_mem(void); |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index e339a7345f25..b262f47961fb 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
| @@ -450,9 +450,13 @@ void build_all_zonelists(void); | |||
| 450 | void wakeup_kswapd(struct zone *zone, int order); | 450 | void wakeup_kswapd(struct zone *zone, int order); |
| 451 | int zone_watermark_ok(struct zone *z, int order, unsigned long mark, | 451 | int zone_watermark_ok(struct zone *z, int order, unsigned long mark, |
| 452 | int classzone_idx, int alloc_flags); | 452 | int classzone_idx, int alloc_flags); |
| 453 | 453 | enum memmap_context { | |
| 454 | MEMMAP_EARLY, | ||
| 455 | MEMMAP_HOTPLUG, | ||
| 456 | }; | ||
| 454 | extern int init_currently_empty_zone(struct zone *zone, unsigned long start_pfn, | 457 | extern int init_currently_empty_zone(struct zone *zone, unsigned long start_pfn, |
| 455 | unsigned long size); | 458 | unsigned long size, |
| 459 | enum memmap_context context); | ||
| 456 | 460 | ||
| 457 | #ifdef CONFIG_HAVE_MEMORY_PRESENT | 461 | #ifdef CONFIG_HAVE_MEMORY_PRESENT |
| 458 | void memory_present(int nid, unsigned long start, unsigned long end); | 462 | void memory_present(int nid, unsigned long start, unsigned long end); |
diff --git a/include/linux/netfilter/nf_conntrack_tcp.h b/include/linux/netfilter/nf_conntrack_tcp.h index 6b01ba297727..2f4e98b90cc0 100644 --- a/include/linux/netfilter/nf_conntrack_tcp.h +++ b/include/linux/netfilter/nf_conntrack_tcp.h | |||
| @@ -25,7 +25,7 @@ enum tcp_conntrack { | |||
| 25 | #define IP_CT_TCP_FLAG_SACK_PERM 0x02 | 25 | #define IP_CT_TCP_FLAG_SACK_PERM 0x02 |
| 26 | 26 | ||
| 27 | /* This sender sent FIN first */ | 27 | /* This sender sent FIN first */ |
| 28 | #define IP_CT_TCP_FLAG_CLOSE_INIT 0x03 | 28 | #define IP_CT_TCP_FLAG_CLOSE_INIT 0x04 |
| 29 | 29 | ||
| 30 | #ifdef __KERNEL__ | 30 | #ifdef __KERNEL__ |
| 31 | 31 | ||
diff --git a/include/linux/netfilter_arp/arp_tables.h b/include/linux/netfilter_arp/arp_tables.h index 0be235418a2f..24c8786d12e9 100644 --- a/include/linux/netfilter_arp/arp_tables.h +++ b/include/linux/netfilter_arp/arp_tables.h | |||
| @@ -190,6 +190,7 @@ struct arpt_replace | |||
| 190 | 190 | ||
| 191 | /* The argument to ARPT_SO_ADD_COUNTERS. */ | 191 | /* The argument to ARPT_SO_ADD_COUNTERS. */ |
| 192 | #define arpt_counters_info xt_counters_info | 192 | #define arpt_counters_info xt_counters_info |
| 193 | #define arpt_counters xt_counters | ||
| 193 | 194 | ||
| 194 | /* The argument to ARPT_SO_GET_ENTRIES. */ | 195 | /* The argument to ARPT_SO_GET_ENTRIES. */ |
| 195 | struct arpt_get_entries | 196 | struct arpt_get_entries |
diff --git a/include/linux/profile.h b/include/linux/profile.h index 5670b340c4ef..eec48f5f9348 100644 --- a/include/linux/profile.h +++ b/include/linux/profile.h | |||
| @@ -15,6 +15,7 @@ extern int prof_on __read_mostly; | |||
| 15 | #define CPU_PROFILING 1 | 15 | #define CPU_PROFILING 1 |
| 16 | #define SCHED_PROFILING 2 | 16 | #define SCHED_PROFILING 2 |
| 17 | #define SLEEP_PROFILING 3 | 17 | #define SLEEP_PROFILING 3 |
| 18 | #define KVM_PROFILING 4 | ||
| 18 | 19 | ||
| 19 | struct proc_dir_entry; | 20 | struct proc_dir_entry; |
| 20 | struct pt_regs; | 21 | struct pt_regs; |
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index e6af381e206d..e02d85f56e60 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h | |||
| @@ -218,7 +218,7 @@ struct ieee80211_snap_hdr { | |||
| 218 | #define WLAN_FC_GET_STYPE(fc) ((fc) & IEEE80211_FCTL_STYPE) | 218 | #define WLAN_FC_GET_STYPE(fc) ((fc) & IEEE80211_FCTL_STYPE) |
| 219 | 219 | ||
| 220 | #define WLAN_GET_SEQ_FRAG(seq) ((seq) & IEEE80211_SCTL_FRAG) | 220 | #define WLAN_GET_SEQ_FRAG(seq) ((seq) & IEEE80211_SCTL_FRAG) |
| 221 | #define WLAN_GET_SEQ_SEQ(seq) ((seq) & IEEE80211_SCTL_SEQ) | 221 | #define WLAN_GET_SEQ_SEQ(seq) (((seq) & IEEE80211_SCTL_SEQ) >> 4) |
| 222 | 222 | ||
| 223 | /* Authentication algorithms */ | 223 | /* Authentication algorithms */ |
| 224 | #define WLAN_AUTH_OPEN 0 | 224 | #define WLAN_AUTH_OPEN 0 |
diff --git a/include/sound/version.h b/include/sound/version.h index 2949b9b991b5..20f7babad514 100644 --- a/include/sound/version.h +++ b/include/sound/version.h | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | /* include/version.h. Generated by alsa/ksync script. */ | 1 | /* include/version.h. Generated by alsa/ksync script. */ |
| 2 | #define CONFIG_SND_VERSION "1.0.14rc1" | 2 | #define CONFIG_SND_VERSION "1.0.14rc1" |
| 3 | #define CONFIG_SND_DATE " (Wed Dec 20 08:11:48 2006 UTC)" | 3 | #define CONFIG_SND_DATE " (Tue Jan 09 09:56:17 2007 UTC)" |
