diff options
Diffstat (limited to 'include')
45 files changed, 325 insertions, 137 deletions
diff --git a/include/asm-arm/arch-at91/irqs.h b/include/asm-arm/arch-at91/irqs.h index 1127a3b5e928..70b1216dce5d 100644 --- a/include/asm-arm/arch-at91/irqs.h +++ b/include/asm-arm/arch-at91/irqs.h | |||
@@ -42,4 +42,7 @@ | |||
42 | */ | 42 | */ |
43 | #define NR_IRQS (NR_AIC_IRQS + (5 * 32)) | 43 | #define NR_IRQS (NR_AIC_IRQS + (5 * 32)) |
44 | 44 | ||
45 | /* FIQ is AIC source 0. */ | ||
46 | #define FIQ_START AT91_ID_FIQ | ||
47 | |||
45 | #endif | 48 | #endif |
diff --git a/include/asm-arm/arch-omap/irda.h b/include/asm-arm/arch-omap/irda.h index 345a649ec838..96bb12fab438 100644 --- a/include/asm-arm/arch-omap/irda.h +++ b/include/asm-arm/arch-omap/irda.h | |||
@@ -31,6 +31,7 @@ struct omap_irda_config { | |||
31 | unsigned long src_start; | 31 | unsigned long src_start; |
32 | int tx_trigger; | 32 | int tx_trigger; |
33 | int rx_trigger; | 33 | int rx_trigger; |
34 | int mode; | ||
34 | }; | 35 | }; |
35 | 36 | ||
36 | #endif | 37 | #endif |
diff --git a/include/asm-arm/cacheflush.h b/include/asm-arm/cacheflush.h index d1294a46c70c..6c1c968b2987 100644 --- a/include/asm-arm/cacheflush.h +++ b/include/asm-arm/cacheflush.h | |||
@@ -426,6 +426,13 @@ static inline void flush_anon_page(struct vm_area_struct *vma, | |||
426 | */ | 426 | */ |
427 | #define flush_icache_page(vma,page) do { } while (0) | 427 | #define flush_icache_page(vma,page) do { } while (0) |
428 | 428 | ||
429 | static inline void flush_ioremap_region(unsigned long phys, void __iomem *virt, | ||
430 | unsigned offset, size_t size) | ||
431 | { | ||
432 | const void *start = (void __force *)virt + offset; | ||
433 | dmac_inv_range(start, start + size); | ||
434 | } | ||
435 | |||
429 | #define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) | 436 | #define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) |
430 | #define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29)) | 437 | #define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29)) |
431 | 438 | ||
diff --git a/include/asm-arm/plat-s3c/map.h b/include/asm-arm/plat-s3c/map.h index 95a82b0e84a1..b84289d32a54 100644 --- a/include/asm-arm/plat-s3c/map.h +++ b/include/asm-arm/plat-s3c/map.h | |||
@@ -30,11 +30,11 @@ | |||
30 | #define S3C_ADDR(x) (S3C_ADDR_BASE + (x)) | 30 | #define S3C_ADDR(x) (S3C_ADDR_BASE + (x)) |
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | #define S3C_VA_IRQ S3C_ADDR(0x000000000) /* irq controller(s) */ | 33 | #define S3C_VA_IRQ S3C_ADDR(0x00000000) /* irq controller(s) */ |
34 | #define S3C_VA_SYS S3C_ADDR(0x001000000) /* system control */ | 34 | #define S3C_VA_SYS S3C_ADDR(0x00100000) /* system control */ |
35 | #define S3C_VA_MEM S3C_ADDR(0x002000000) /* system control */ | 35 | #define S3C_VA_MEM S3C_ADDR(0x00200000) /* system control */ |
36 | #define S3C_VA_TIMER S3C_ADDR(0x003000000) /* timer block */ | 36 | #define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */ |
37 | #define S3C_VA_WATCHDOG S3C_ADDR(0x004000000) /* watchdog */ | 37 | #define S3C_VA_WATCHDOG S3C_ADDR(0x00400000) /* watchdog */ |
38 | #define S3C_VA_UART S3C_ADDR(0x010000000) /* UART */ | 38 | #define S3C_VA_UART S3C_ADDR(0x01000000) /* UART */ |
39 | 39 | ||
40 | #endif /* __ASM_PLAT_MAP_H */ | 40 | #endif /* __ASM_PLAT_MAP_H */ |
diff --git a/include/asm-generic/termios.h b/include/asm-generic/termios.h index 3769e6bd63b1..33dca30a3c45 100644 --- a/include/asm-generic/termios.h +++ b/include/asm-generic/termios.h | |||
@@ -63,6 +63,8 @@ static inline int kernel_termios_to_user_termio(struct termio __user *termio, | |||
63 | 63 | ||
64 | #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios)) | 64 | #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios)) |
65 | #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios)) | 65 | #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios)) |
66 | #define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios)) | ||
67 | #define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios)) | ||
66 | 68 | ||
67 | #endif /* __ARCH_TERMIO_GETPUT */ | 69 | #endif /* __ARCH_TERMIO_GETPUT */ |
68 | 70 | ||
diff --git a/include/asm-ia64/hpsim.h b/include/asm-ia64/hpsim.h new file mode 100644 index 000000000000..892ab198a9da --- /dev/null +++ b/include/asm-ia64/hpsim.h | |||
@@ -0,0 +1,16 @@ | |||
1 | #ifndef _ASMIA64_HPSIM_H | ||
2 | #define _ASMIA64_HPSIM_H | ||
3 | |||
4 | #ifndef CONFIG_HP_SIMSERIAL_CONSOLE | ||
5 | static inline int simcons_register(void) { return 1; } | ||
6 | #else | ||
7 | int simcons_register(void); | ||
8 | #endif | ||
9 | |||
10 | struct tty_driver; | ||
11 | extern struct tty_driver *hp_simserial_driver; | ||
12 | |||
13 | void ia64_ssc_connect_irq(long intr, long irq); | ||
14 | void ia64_ctl_trace(long on); | ||
15 | |||
16 | #endif | ||
diff --git a/include/asm-ia64/sn/arch.h b/include/asm-ia64/sn/arch.h index 16adc93d7a72..7caa1f44cd95 100644 --- a/include/asm-ia64/sn/arch.h +++ b/include/asm-ia64/sn/arch.h | |||
@@ -81,5 +81,6 @@ extern u8 sn_sharing_domain_size; | |||
81 | extern u8 sn_region_size; | 81 | extern u8 sn_region_size; |
82 | 82 | ||
83 | extern void sn_flush_all_caches(long addr, long bytes); | 83 | extern void sn_flush_all_caches(long addr, long bytes); |
84 | extern bool sn_cpu_disable_allowed(int cpu); | ||
84 | 85 | ||
85 | #endif /* _ASM_IA64_SN_ARCH_H */ | 86 | #endif /* _ASM_IA64_SN_ARCH_H */ |
diff --git a/include/asm-ia64/sn/intr.h b/include/asm-ia64/sn/intr.h index 12b54ddb06be..e0487aa97418 100644 --- a/include/asm-ia64/sn/intr.h +++ b/include/asm-ia64/sn/intr.h | |||
@@ -60,6 +60,7 @@ extern u64 sn_intr_alloc(nasid_t, int, | |||
60 | int, nasid_t, int); | 60 | int, nasid_t, int); |
61 | extern void sn_intr_free(nasid_t, int, struct sn_irq_info *); | 61 | extern void sn_intr_free(nasid_t, int, struct sn_irq_info *); |
62 | extern struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *, nasid_t, int); | 62 | extern struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *, nasid_t, int); |
63 | extern void sn_set_err_irq_affinity(unsigned int); | ||
63 | extern struct list_head **sn_irq_lh; | 64 | extern struct list_head **sn_irq_lh; |
64 | 65 | ||
65 | #define CPU_VECTOR_TO_IRQ(cpuid,vector) (vector) | 66 | #define CPU_VECTOR_TO_IRQ(cpuid,vector) (vector) |
diff --git a/include/asm-ia64/sn/sn_feature_sets.h b/include/asm-ia64/sn/sn_feature_sets.h index bfdc36273ed4..8e83ac117ace 100644 --- a/include/asm-ia64/sn/sn_feature_sets.h +++ b/include/asm-ia64/sn/sn_feature_sets.h | |||
@@ -31,6 +31,7 @@ extern int sn_prom_feature_available(int id); | |||
31 | #define PRF_PAL_CACHE_FLUSH_SAFE 0 | 31 | #define PRF_PAL_CACHE_FLUSH_SAFE 0 |
32 | #define PRF_DEVICE_FLUSH_LIST 1 | 32 | #define PRF_DEVICE_FLUSH_LIST 1 |
33 | #define PRF_HOTPLUG_SUPPORT 2 | 33 | #define PRF_HOTPLUG_SUPPORT 2 |
34 | #define PRF_CPU_DISABLE_SUPPORT 3 | ||
34 | 35 | ||
35 | /* --------------------- OS Features -------------------------------*/ | 36 | /* --------------------- OS Features -------------------------------*/ |
36 | 37 | ||
diff --git a/include/asm-m32r/assembler.h b/include/asm-m32r/assembler.h index 47041d19d4a8..26351539b5ff 100644 --- a/include/asm-m32r/assembler.h +++ b/include/asm-m32r/assembler.h | |||
@@ -52,27 +52,27 @@ | |||
52 | .endm | 52 | .endm |
53 | 53 | ||
54 | #if !(defined(CONFIG_CHIP_M32102) || defined(CONFIG_CHIP_M32104)) | 54 | #if !(defined(CONFIG_CHIP_M32102) || defined(CONFIG_CHIP_M32104)) |
55 | #define STI(reg) STI_M reg | 55 | #define ENABLE_INTERRUPTS(reg) ENABLE_INTERRUPTS reg |
56 | .macro STI_M reg | 56 | .macro ENABLE_INTERRUPTS reg |
57 | setpsw #0x40 -> nop | 57 | setpsw #0x40 -> nop |
58 | ; WORKAROUND: "-> nop" is a workaround for the M32700(TS1). | 58 | ; WORKAROUND: "-> nop" is a workaround for the M32700(TS1). |
59 | .endm | 59 | .endm |
60 | 60 | ||
61 | #define CLI(reg) CLI_M reg | 61 | #define DISABLE_INTERRUPTS(reg) DISABLE_INTERRUPTS reg |
62 | .macro CLI_M reg | 62 | .macro DISABLE_INTERRUPTS reg |
63 | clrpsw #0x40 -> nop | 63 | clrpsw #0x40 -> nop |
64 | ; WORKAROUND: "-> nop" is a workaround for the M32700(TS1). | 64 | ; WORKAROUND: "-> nop" is a workaround for the M32700(TS1). |
65 | .endm | 65 | .endm |
66 | #else /* CONFIG_CHIP_M32102 || CONFIG_CHIP_M32104 */ | 66 | #else /* CONFIG_CHIP_M32102 || CONFIG_CHIP_M32104 */ |
67 | #define STI(reg) STI_M reg | 67 | #define ENABLE_INTERRUPTS(reg) ENABLE_INTERRUPTS reg |
68 | .macro STI_M reg | 68 | .macro ENABLE_INTERRUPTS reg |
69 | mvfc \reg, psw | 69 | mvfc \reg, psw |
70 | or3 \reg, \reg, #0x0040 | 70 | or3 \reg, \reg, #0x0040 |
71 | mvtc \reg, psw | 71 | mvtc \reg, psw |
72 | .endm | 72 | .endm |
73 | 73 | ||
74 | #define CLI(reg) CLI_M reg | 74 | #define DISABLE_INTERRUPTS(reg) DISABLE_INTERRUPTS reg |
75 | .macro CLI_M reg | 75 | .macro DISABLE_INTERRUPTS reg |
76 | mvfc \reg, psw | 76 | mvfc \reg, psw |
77 | and3 \reg, \reg, #0xffbf | 77 | and3 \reg, \reg, #0xffbf |
78 | mvtc \reg, psw | 78 | mvtc \reg, psw |
diff --git a/include/asm-m32r/m32r.h b/include/asm-m32r/m32r.h index decfc59907c7..214b44b40757 100644 --- a/include/asm-m32r/m32r.h +++ b/include/asm-m32r/m32r.h | |||
@@ -22,12 +22,26 @@ | |||
22 | #include <asm/m32700ut/m32700ut_pld.h> | 22 | #include <asm/m32700ut/m32700ut_pld.h> |
23 | #include <asm/m32700ut/m32700ut_lan.h> | 23 | #include <asm/m32700ut/m32700ut_lan.h> |
24 | #include <asm/m32700ut/m32700ut_lcd.h> | 24 | #include <asm/m32700ut/m32700ut_lcd.h> |
25 | /* for ei_handler:linux/arch/m32r/kernel/entry.S */ | ||
26 | #define M32R_INT1ICU_ISTS PLD_ICUISTS | ||
27 | #define M32R_INT1ICU_IRQ_BASE M32700UT_PLD_IRQ_BASE | ||
28 | #define M32R_INT0ICU_ISTS M32700UT_LAN_ICUISTS | ||
29 | #define M32R_INT0ICU_IRQ_BASE M32700UT_LAN_PLD_IRQ_BASE | ||
30 | #define M32R_INT2ICU_ISTS M32700UT_LCD_ICUISTS | ||
31 | #define M32R_INT2ICU_IRQ_BASE M32700UT_LCD_PLD_IRQ_BASE | ||
25 | #endif /* CONFIG_PLAT_M32700UT */ | 32 | #endif /* CONFIG_PLAT_M32700UT */ |
26 | 33 | ||
27 | #if defined(CONFIG_PLAT_OPSPUT) | 34 | #if defined(CONFIG_PLAT_OPSPUT) |
28 | #include <asm/opsput/opsput_pld.h> | 35 | #include <asm/opsput/opsput_pld.h> |
29 | #include <asm/opsput/opsput_lan.h> | 36 | #include <asm/opsput/opsput_lan.h> |
30 | #include <asm/opsput/opsput_lcd.h> | 37 | #include <asm/opsput/opsput_lcd.h> |
38 | /* for ei_handler:linux/arch/m32r/kernel/entry.S */ | ||
39 | #define M32R_INT1ICU_ISTS PLD_ICUISTS | ||
40 | #define M32R_INT1ICU_IRQ_BASE OPSPUT_PLD_IRQ_BASE | ||
41 | #define M32R_INT0ICU_ISTS OPSPUT_LAN_ICUISTS | ||
42 | #define M32R_INT0ICU_IRQ_BASE OPSPUT_LAN_PLD_IRQ_BASE | ||
43 | #define M32R_INT2ICU_ISTS OPSPUT_LCD_ICUISTS | ||
44 | #define M32R_INT2ICU_IRQ_BASE OPSPUT_LCD_PLD_IRQ_BASE | ||
31 | #endif /* CONFIG_PLAT_OPSPUT */ | 45 | #endif /* CONFIG_PLAT_OPSPUT */ |
32 | 46 | ||
33 | #if defined(CONFIG_PLAT_MAPPI2) | 47 | #if defined(CONFIG_PLAT_MAPPI2) |
@@ -40,10 +54,16 @@ | |||
40 | 54 | ||
41 | #if defined(CONFIG_PLAT_USRV) | 55 | #if defined(CONFIG_PLAT_USRV) |
42 | #include <asm/m32700ut/m32700ut_pld.h> | 56 | #include <asm/m32700ut/m32700ut_pld.h> |
57 | /* for ei_handler:linux/arch/m32r/kernel/entry.S */ | ||
58 | #define M32R_INT1ICU_ISTS PLD_ICUISTS | ||
59 | #define M32R_INT1ICU_IRQ_BASE M32700UT_PLD_IRQ_BASE | ||
43 | #endif | 60 | #endif |
44 | 61 | ||
45 | #if defined(CONFIG_PLAT_M32104UT) | 62 | #if defined(CONFIG_PLAT_M32104UT) |
46 | #include <asm/m32104ut/m32104ut_pld.h> | 63 | #include <asm/m32104ut/m32104ut_pld.h> |
64 | /* for ei_handler:linux/arch/m32r/kernel/entry.S */ | ||
65 | #define M32R_INT1ICU_ISTS PLD_ICUISTS | ||
66 | #define M32R_INT1ICU_IRQ_BASE M32104UT_PLD_IRQ_BASE | ||
47 | #endif /* CONFIG_PLAT_M32104 */ | 67 | #endif /* CONFIG_PLAT_M32104 */ |
48 | 68 | ||
49 | /* | 69 | /* |
diff --git a/include/asm-m68k/unistd.h b/include/asm-m68k/unistd.h index fdbb60e6a0d4..a30fe9c64143 100644 --- a/include/asm-m68k/unistd.h +++ b/include/asm-m68k/unistd.h | |||
@@ -313,10 +313,20 @@ | |||
313 | #define __NR_tee 308 | 313 | #define __NR_tee 308 |
314 | #define __NR_vmsplice 309 | 314 | #define __NR_vmsplice 309 |
315 | #define __NR_move_pages 310 | 315 | #define __NR_move_pages 310 |
316 | #define __NR_sched_setaffinity 311 | ||
317 | #define __NR_sched_getaffinity 312 | ||
318 | #define __NR_kexec_load 313 | ||
319 | #define __NR_getcpu 314 | ||
320 | #define __NR_epoll_pwait 315 | ||
321 | #define __NR_utimensat 316 | ||
322 | #define __NR_signalfd 317 | ||
323 | #define __NR_timerfd 318 | ||
324 | #define __NR_eventfd 319 | ||
325 | #define __NR_fallocate 320 | ||
316 | 326 | ||
317 | #ifdef __KERNEL__ | 327 | #ifdef __KERNEL__ |
318 | 328 | ||
319 | #define NR_syscalls 311 | 329 | #define NR_syscalls 321 |
320 | 330 | ||
321 | #define __ARCH_WANT_IPC_PARSE_VERSION | 331 | #define __ARCH_WANT_IPC_PARSE_VERSION |
322 | #define __ARCH_WANT_OLD_READDIR | 332 | #define __ARCH_WANT_OLD_READDIR |
diff --git a/include/asm-m68knommu/unistd.h b/include/asm-m68knommu/unistd.h index 82e03195f325..eb1b566793fe 100644 --- a/include/asm-m68knommu/unistd.h +++ b/include/asm-m68knommu/unistd.h | |||
@@ -314,10 +314,20 @@ | |||
314 | #define __NR_tee 308 | 314 | #define __NR_tee 308 |
315 | #define __NR_vmsplice 309 | 315 | #define __NR_vmsplice 309 |
316 | #define __NR_move_pages 310 | 316 | #define __NR_move_pages 310 |
317 | #define __NR_sched_setaffinity 311 | ||
318 | #define __NR_sched_getaffinity 312 | ||
319 | #define __NR_kexec_load 313 | ||
320 | #define __NR_getcpu 314 | ||
321 | #define __NR_epoll_pwait 315 | ||
322 | #define __NR_utimensat 316 | ||
323 | #define __NR_signalfd 317 | ||
324 | #define __NR_timerfd 318 | ||
325 | #define __NR_eventfd 319 | ||
326 | #define __NR_fallocate 320 | ||
317 | 327 | ||
318 | #ifdef __KERNEL__ | 328 | #ifdef __KERNEL__ |
319 | 329 | ||
320 | #define NR_syscalls 311 | 330 | #define NR_syscalls 321 |
321 | 331 | ||
322 | #define __ARCH_WANT_IPC_PARSE_VERSION | 332 | #define __ARCH_WANT_IPC_PARSE_VERSION |
323 | #define __ARCH_WANT_OLD_READDIR | 333 | #define __ARCH_WANT_OLD_READDIR |
diff --git a/include/asm-mips/hazards.h b/include/asm-mips/hazards.h index 918a4894b587..6a5fa32f615b 100644 --- a/include/asm-mips/hazards.h +++ b/include/asm-mips/hazards.h | |||
@@ -172,6 +172,7 @@ ASMMACRO(tlb_probe_hazard, | |||
172 | nop; nop; nop | 172 | nop; nop; nop |
173 | ) | 173 | ) |
174 | ASMMACRO(irq_enable_hazard, | 174 | ASMMACRO(irq_enable_hazard, |
175 | _ssnop; _ssnop; _ssnop; | ||
175 | ) | 176 | ) |
176 | ASMMACRO(irq_disable_hazard, | 177 | ASMMACRO(irq_disable_hazard, |
177 | nop; nop; nop | 178 | nop; nop; nop |
diff --git a/include/asm-mips/ioctls.h b/include/asm-mips/ioctls.h index 92f6c36aac4d..5097cbf183a9 100644 --- a/include/asm-mips/ioctls.h +++ b/include/asm-mips/ioctls.h | |||
@@ -77,6 +77,10 @@ | |||
77 | #define TIOCSBRK 0x5427 /* BSD compatibility */ | 77 | #define TIOCSBRK 0x5427 /* BSD compatibility */ |
78 | #define TIOCCBRK 0x5428 /* BSD compatibility */ | 78 | #define TIOCCBRK 0x5428 /* BSD compatibility */ |
79 | #define TIOCGSID 0x7416 /* Return the session ID of FD */ | 79 | #define TIOCGSID 0x7416 /* Return the session ID of FD */ |
80 | #define TCGETS2 _IOR('T',0x2A, struct termios2) | ||
81 | #define TCSETS2 _IOW('T',0x2B, struct termios2) | ||
82 | #define TCSETSW2 _IOW('T',0x2C, struct termios2) | ||
83 | #define TCSETSF2 _IOW('T',0x2D, struct termios2) | ||
80 | #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ | 84 | #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ |
81 | #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ | 85 | #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ |
82 | 86 | ||
diff --git a/include/asm-mips/mach-ocelot/mach-gt64120.h b/include/asm-mips/mach-ocelot/mach-gt64120.h deleted file mode 100644 index a62ecb53c751..000000000000 --- a/include/asm-mips/mach-ocelot/mach-gt64120.h +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2001 MontaVista Software Inc. | ||
3 | * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License as published by the | ||
7 | * Free Software Foundation; either version 2 of the License, or (at your | ||
8 | * option) any later version. | ||
9 | */ | ||
10 | #ifndef _ASM_GT64120_MOMENCO_OCELOT_GT64120_DEP_H | ||
11 | #define _ASM_GT64120_MOMENCO_OCELOT_GT64120_DEP_H | ||
12 | |||
13 | /* | ||
14 | * PCI address allocation | ||
15 | */ | ||
16 | #define GT_PCI_MEM_BASE (0x22000000UL) | ||
17 | #define GT_PCI_MEM_SIZE GT_DEF_PCI0_MEM0_SIZE | ||
18 | #define GT_PCI_IO_BASE (0x20000000UL) | ||
19 | #define GT_PCI_IO_SIZE GT_DEF_PCI0_IO_SIZE | ||
20 | |||
21 | extern unsigned long gt64120_base; | ||
22 | |||
23 | #define GT64120_BASE (gt64120_base) | ||
24 | |||
25 | /* | ||
26 | * GT timer irq | ||
27 | */ | ||
28 | #define GT_TIMER 6 | ||
29 | |||
30 | #endif /* _ASM_GT64120_MOMENCO_OCELOT_GT64120_DEP_H */ | ||
diff --git a/include/asm-mips/sibyte/bcm1480_regs.h b/include/asm-mips/sibyte/bcm1480_regs.h index 2738c1366f66..c34d36b6b8c2 100644 --- a/include/asm-mips/sibyte/bcm1480_regs.h +++ b/include/asm-mips/sibyte/bcm1480_regs.h | |||
@@ -227,10 +227,15 @@ | |||
227 | (A_BCM1480_DUART(chan) + \ | 227 | (A_BCM1480_DUART(chan) + \ |
228 | BCM1480_DUART_CHANREG_SPACING * 3 + (reg)) | 228 | BCM1480_DUART_CHANREG_SPACING * 3 + (reg)) |
229 | 229 | ||
230 | #define DUART_IMRISR_SPACING 0x20 | ||
231 | #define DUART_INCHNG_SPACING 0x10 | ||
232 | |||
230 | #define R_BCM1480_DUART_IMRREG(chan) \ | 233 | #define R_BCM1480_DUART_IMRREG(chan) \ |
231 | (R_DUART_IMR_A + ((chan) & 1) * DUART_IMRISR_SPACING) | 234 | (R_DUART_IMR_A + ((chan) & 1) * DUART_IMRISR_SPACING) |
232 | #define R_BCM1480_DUART_ISRREG(chan) \ | 235 | #define R_BCM1480_DUART_ISRREG(chan) \ |
233 | (R_DUART_ISR_A + ((chan) & 1) * DUART_IMRISR_SPACING) | 236 | (R_DUART_ISR_A + ((chan) & 1) * DUART_IMRISR_SPACING) |
237 | #define R_BCM1480_DUART_INCHREG(chan) \ | ||
238 | (R_DUART_IN_CHNG_A + ((chan) & 1) * DUART_INCHNG_SPACING) | ||
234 | 239 | ||
235 | #define A_BCM1480_DUART_IMRREG(chan) \ | 240 | #define A_BCM1480_DUART_IMRREG(chan) \ |
236 | (A_BCM1480_DUART_CTRLREG((chan), R_BCM1480_DUART_IMRREG(chan))) | 241 | (A_BCM1480_DUART_CTRLREG((chan), R_BCM1480_DUART_IMRREG(chan))) |
diff --git a/include/asm-mips/termbits.h b/include/asm-mips/termbits.h index 5bfdc3b64510..c83c68444e86 100644 --- a/include/asm-mips/termbits.h +++ b/include/asm-mips/termbits.h | |||
@@ -164,6 +164,7 @@ struct ktermios { | |||
164 | #define HUPCL 0002000 /* Hang up on last close. */ | 164 | #define HUPCL 0002000 /* Hang up on last close. */ |
165 | #define CLOCAL 0004000 /* Ignore modem status lines. */ | 165 | #define CLOCAL 0004000 /* Ignore modem status lines. */ |
166 | #define CBAUDEX 0010000 | 166 | #define CBAUDEX 0010000 |
167 | #define BOTHER 0010000 | ||
167 | #define B57600 0010001 | 168 | #define B57600 0010001 |
168 | #define B115200 0010002 | 169 | #define B115200 0010002 |
169 | #define B230400 0010003 | 170 | #define B230400 0010003 |
@@ -179,9 +180,11 @@ struct ktermios { | |||
179 | #define B3000000 0010015 | 180 | #define B3000000 0010015 |
180 | #define B3500000 0010016 | 181 | #define B3500000 0010016 |
181 | #define B4000000 0010017 | 182 | #define B4000000 0010017 |
182 | #define CIBAUD 002003600000 /* input baud rate (not used) */ | 183 | #define CIBAUD 002003600000 /* input baud rate */ |
183 | #define CMSPAR 010000000000 /* mark or space (stick) parity */ | 184 | #define CMSPAR 010000000000 /* mark or space (stick) parity */ |
184 | #define CRTSCTS 020000000000 /* flow control */ | 185 | #define CRTSCTS 020000000000 /* flow control */ |
186 | |||
187 | #define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ | ||
185 | 188 | ||
186 | /* c_lflag bits */ | 189 | /* c_lflag bits */ |
187 | #define ISIG 0000001 /* Enable signals. */ | 190 | #define ISIG 0000001 /* Enable signals. */ |
diff --git a/include/asm-mips/termios.h b/include/asm-mips/termios.h index 2ce07f4be369..a275661fa7e1 100644 --- a/include/asm-mips/termios.h +++ b/include/asm-mips/termios.h | |||
@@ -122,8 +122,10 @@ struct termio { | |||
122 | copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ | 122 | copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ |
123 | }) | 123 | }) |
124 | 124 | ||
125 | #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios)) | 125 | #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2)) |
126 | #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios)) | 126 | #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2)) |
127 | #define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios)) | ||
128 | #define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios)) | ||
127 | 129 | ||
128 | #endif /* defined(__KERNEL__) */ | 130 | #endif /* defined(__KERNEL__) */ |
129 | 131 | ||
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h index 8836c0f1f2f7..5bde3980bf49 100644 --- a/include/asm-powerpc/spu.h +++ b/include/asm-powerpc/spu.h | |||
@@ -130,6 +130,7 @@ struct spu { | |||
130 | u64 flags; | 130 | u64 flags; |
131 | u64 dar; | 131 | u64 dar; |
132 | u64 dsisr; | 132 | u64 dsisr; |
133 | u64 class_0_pending; | ||
133 | size_t ls_size; | 134 | size_t ls_size; |
134 | unsigned int slb_replace; | 135 | unsigned int slb_replace; |
135 | struct mm_struct *mm; | 136 | struct mm_struct *mm; |
@@ -138,7 +139,6 @@ struct spu { | |||
138 | unsigned long long timestamp; | 139 | unsigned long long timestamp; |
139 | pid_t pid; | 140 | pid_t pid; |
140 | pid_t tgid; | 141 | pid_t tgid; |
141 | int class_0_pending; | ||
142 | spinlock_t register_lock; | 142 | spinlock_t register_lock; |
143 | 143 | ||
144 | void (* wbox_callback)(struct spu *spu); | 144 | void (* wbox_callback)(struct spu *spu); |
diff --git a/include/asm-sparc64/device.h b/include/asm-sparc64/device.h index d5a4559b9555..5111e8717be3 100644 --- a/include/asm-sparc64/device.h +++ b/include/asm-sparc64/device.h | |||
@@ -16,8 +16,6 @@ struct dev_archdata { | |||
16 | 16 | ||
17 | struct device_node *prom_node; | 17 | struct device_node *prom_node; |
18 | struct of_device *op; | 18 | struct of_device *op; |
19 | |||
20 | unsigned int msi_num; | ||
21 | }; | 19 | }; |
22 | 20 | ||
23 | #endif /* _ASM_SPARC64_DEVICE_H */ | 21 | #endif /* _ASM_SPARC64_DEVICE_H */ |
diff --git a/include/asm-sparc64/irq.h b/include/asm-sparc64/irq.h index e6c436ef9356..c00ad152771b 100644 --- a/include/asm-sparc64/irq.h +++ b/include/asm-sparc64/irq.h | |||
@@ -16,21 +16,21 @@ | |||
16 | #include <asm/ptrace.h> | 16 | #include <asm/ptrace.h> |
17 | 17 | ||
18 | /* IMAP/ICLR register defines */ | 18 | /* IMAP/ICLR register defines */ |
19 | #define IMAP_VALID 0x80000000 /* IRQ Enabled */ | 19 | #define IMAP_VALID 0x80000000UL /* IRQ Enabled */ |
20 | #define IMAP_TID_UPA 0x7c000000 /* UPA TargetID */ | 20 | #define IMAP_TID_UPA 0x7c000000UL /* UPA TargetID */ |
21 | #define IMAP_TID_JBUS 0x7c000000 /* JBUS TargetID */ | 21 | #define IMAP_TID_JBUS 0x7c000000UL /* JBUS TargetID */ |
22 | #define IMAP_TID_SHIFT 26 | 22 | #define IMAP_TID_SHIFT 26 |
23 | #define IMAP_AID_SAFARI 0x7c000000 /* Safari AgentID */ | 23 | #define IMAP_AID_SAFARI 0x7c000000UL /* Safari AgentID */ |
24 | #define IMAP_AID_SHIFT 26 | 24 | #define IMAP_AID_SHIFT 26 |
25 | #define IMAP_NID_SAFARI 0x03e00000 /* Safari NodeID */ | 25 | #define IMAP_NID_SAFARI 0x03e00000UL /* Safari NodeID */ |
26 | #define IMAP_NID_SHIFT 21 | 26 | #define IMAP_NID_SHIFT 21 |
27 | #define IMAP_IGN 0x000007c0 /* IRQ Group Number */ | 27 | #define IMAP_IGN 0x000007c0UL /* IRQ Group Number */ |
28 | #define IMAP_INO 0x0000003f /* IRQ Number */ | 28 | #define IMAP_INO 0x0000003fUL /* IRQ Number */ |
29 | #define IMAP_INR 0x000007ff /* Full interrupt number*/ | 29 | #define IMAP_INR 0x000007ffUL /* Full interrupt number*/ |
30 | 30 | ||
31 | #define ICLR_IDLE 0x00000000 /* Idle state */ | 31 | #define ICLR_IDLE 0x00000000UL /* Idle state */ |
32 | #define ICLR_TRANSMIT 0x00000001 /* Transmit state */ | 32 | #define ICLR_TRANSMIT 0x00000001UL /* Transmit state */ |
33 | #define ICLR_PENDING 0x00000003 /* Pending state */ | 33 | #define ICLR_PENDING 0x00000003UL /* Pending state */ |
34 | 34 | ||
35 | /* The largest number of unique interrupt sources we support. | 35 | /* The largest number of unique interrupt sources we support. |
36 | * If this needs to ever be larger than 255, you need to change | 36 | * If this needs to ever be larger than 255, you need to change |
@@ -53,6 +53,9 @@ extern unsigned int sun4v_build_msi(u32 devhandle, unsigned int *virt_irq_p, | |||
53 | extern void sun4v_destroy_msi(unsigned int virt_irq); | 53 | extern void sun4v_destroy_msi(unsigned int virt_irq); |
54 | extern unsigned int sbus_build_irq(void *sbus, unsigned int ino); | 54 | extern unsigned int sbus_build_irq(void *sbus, unsigned int ino); |
55 | 55 | ||
56 | extern void sparc64_set_msi(unsigned int virt_irq, u32 msi); | ||
57 | extern u32 sparc64_get_msi(unsigned int virt_irq); | ||
58 | |||
56 | extern void fixup_irqs(void); | 59 | extern void fixup_irqs(void); |
57 | 60 | ||
58 | static __inline__ void set_softint(unsigned long bits) | 61 | static __inline__ void set_softint(unsigned long bits) |
diff --git a/include/asm-um/common.lds.S b/include/asm-um/common.lds.S index e3f010bd12b3..cb0248616d49 100644 --- a/include/asm-um/common.lds.S +++ b/include/asm-um/common.lds.S | |||
@@ -16,82 +16,112 @@ | |||
16 | 16 | ||
17 | . = ALIGN(4096); | 17 | . = ALIGN(4096); |
18 | .note : { *(.note.*) } | 18 | .note : { *(.note.*) } |
19 | __start___ex_table = .; | 19 | __ex_table : { |
20 | __ex_table : { *(__ex_table) } | 20 | __start___ex_table = .; |
21 | __stop___ex_table = .; | 21 | *(__ex_table) |
22 | __stop___ex_table = .; | ||
23 | } | ||
22 | 24 | ||
23 | BUG_TABLE | 25 | BUG_TABLE |
24 | 26 | ||
25 | __uml_setup_start = .; | 27 | .uml.setup.init : { |
26 | .uml.setup.init : { *(.uml.setup.init) } | 28 | __uml_setup_start = .; |
27 | __uml_setup_end = .; | 29 | *(.uml.setup.init) |
30 | __uml_setup_end = .; | ||
31 | } | ||
28 | 32 | ||
29 | __uml_help_start = .; | 33 | .uml.help.init : { |
30 | .uml.help.init : { *(.uml.help.init) } | 34 | __uml_help_start = .; |
31 | __uml_help_end = .; | 35 | *(.uml.help.init) |
36 | __uml_help_end = .; | ||
37 | } | ||
32 | 38 | ||
33 | __uml_postsetup_start = .; | 39 | .uml.postsetup.init : { |
34 | .uml.postsetup.init : { *(.uml.postsetup.init) } | 40 | __uml_postsetup_start = .; |
35 | __uml_postsetup_end = .; | 41 | *(.uml.postsetup.init) |
42 | __uml_postsetup_end = .; | ||
43 | } | ||
36 | 44 | ||
37 | __setup_start = .; | 45 | .init.setup : { |
38 | .init.setup : { *(.init.setup) } | 46 | __setup_start = .; |
39 | __setup_end = .; | 47 | *(.init.setup) |
48 | __setup_end = .; | ||
49 | } | ||
40 | 50 | ||
41 | . = ALIGN(32); | 51 | . = ALIGN(32); |
42 | __per_cpu_start = . ; | 52 | .data.percpu : { |
43 | .data.percpu : { *(.data.percpu) } | 53 | __per_cpu_start = . ; |
44 | __per_cpu_end = . ; | 54 | *(.data.percpu) |
55 | __per_cpu_end = . ; | ||
56 | } | ||
45 | 57 | ||
46 | __initcall_start = .; | ||
47 | .initcall.init : { | 58 | .initcall.init : { |
59 | __initcall_start = .; | ||
48 | INITCALLS | 60 | INITCALLS |
61 | __initcall_end = .; | ||
49 | } | 62 | } |
50 | __initcall_end = .; | ||
51 | 63 | ||
52 | __con_initcall_start = .; | 64 | .con_initcall.init : { |
53 | .con_initcall.init : { *(.con_initcall.init) } | 65 | __con_initcall_start = .; |
54 | __con_initcall_end = .; | 66 | *(.con_initcall.init) |
67 | __con_initcall_end = .; | ||
68 | } | ||
55 | 69 | ||
56 | __uml_initcall_start = .; | 70 | .uml.initcall.init : { |
57 | .uml.initcall.init : { *(.uml.initcall.init) } | 71 | __uml_initcall_start = .; |
58 | __uml_initcall_end = .; | 72 | *(.uml.initcall.init) |
73 | __uml_initcall_end = .; | ||
74 | } | ||
59 | __init_end = .; | 75 | __init_end = .; |
60 | 76 | ||
61 | SECURITY_INIT | 77 | SECURITY_INIT |
62 | 78 | ||
63 | __exitcall_begin = .; | 79 | .exitcall : { |
64 | .exitcall : { *(.exitcall.exit) } | 80 | __exitcall_begin = .; |
65 | __exitcall_end = .; | 81 | *(.exitcall.exit) |
82 | __exitcall_end = .; | ||
83 | } | ||
66 | 84 | ||
67 | __uml_exitcall_begin = .; | 85 | .uml.exitcall : { |
68 | .uml.exitcall : { *(.uml.exitcall.exit) } | 86 | __uml_exitcall_begin = .; |
69 | __uml_exitcall_end = .; | 87 | *(.uml.exitcall.exit) |
88 | __uml_exitcall_end = .; | ||
89 | } | ||
70 | 90 | ||
71 | . = ALIGN(4); | 91 | . = ALIGN(4); |
72 | __alt_instructions = .; | 92 | .altinstructions : { |
73 | .altinstructions : { *(.altinstructions) } | 93 | __alt_instructions = .; |
74 | __alt_instructions_end = .; | 94 | *(.altinstructions) |
95 | __alt_instructions_end = .; | ||
96 | } | ||
75 | .altinstr_replacement : { *(.altinstr_replacement) } | 97 | .altinstr_replacement : { *(.altinstr_replacement) } |
76 | /* .exit.text is discard at runtime, not link time, to deal with references | 98 | /* .exit.text is discard at runtime, not link time, to deal with references |
77 | from .altinstructions and .eh_frame */ | 99 | from .altinstructions and .eh_frame */ |
78 | .exit.text : { *(.exit.text) } | 100 | .exit.text : { *(.exit.text) } |
79 | .exit.data : { *(.exit.data) } | 101 | .exit.data : { *(.exit.data) } |
80 | 102 | ||
81 | __preinit_array_start = .; | 103 | .preinit_array : { |
82 | .preinit_array : { *(.preinit_array) } | 104 | __preinit_array_start = .; |
83 | __preinit_array_end = .; | 105 | *(.preinit_array) |
84 | __init_array_start = .; | 106 | __preinit_array_end = .; |
85 | .init_array : { *(.init_array) } | 107 | } |
86 | __init_array_end = .; | 108 | .init_array : { |
87 | __fini_array_start = .; | 109 | __init_array_start = .; |
88 | .fini_array : { *(.fini_array) } | 110 | *(.init_array) |
89 | __fini_array_end = .; | 111 | __init_array_end = .; |
112 | } | ||
113 | .fini_array : { | ||
114 | __fini_array_start = .; | ||
115 | *(.fini_array) | ||
116 | __fini_array_end = .; | ||
117 | } | ||
90 | 118 | ||
91 | . = ALIGN(4096); | 119 | . = ALIGN(4096); |
92 | __initramfs_start = .; | 120 | .init.ramfs : { |
93 | .init.ramfs : { *(.init.ramfs) } | 121 | __initramfs_start = .; |
94 | __initramfs_end = .; | 122 | *(.init.ramfs) |
123 | __initramfs_end = .; | ||
124 | } | ||
95 | 125 | ||
96 | /* Sections to be discarded */ | 126 | /* Sections to be discarded */ |
97 | /DISCARD/ : { | 127 | /DISCARD/ : { |
diff --git a/include/asm-um/elf-x86_64.h b/include/asm-um/elf-x86_64.h index 8a8246d03936..857471c49dac 100644 --- a/include/asm-um/elf-x86_64.h +++ b/include/asm-um/elf-x86_64.h | |||
@@ -6,7 +6,9 @@ | |||
6 | #ifndef __UM_ELF_X86_64_H | 6 | #ifndef __UM_ELF_X86_64_H |
7 | #define __UM_ELF_X86_64_H | 7 | #define __UM_ELF_X86_64_H |
8 | 8 | ||
9 | #include <linux/sched.h> | ||
9 | #include <asm/user.h> | 10 | #include <asm/user.h> |
11 | #include "skas.h" | ||
10 | 12 | ||
11 | /* x86-64 relocation types, taken from asm-x86_64/elf.h */ | 13 | /* x86-64 relocation types, taken from asm-x86_64/elf.h */ |
12 | #define R_X86_64_NONE 0 /* No reloc */ | 14 | #define R_X86_64_NONE 0 /* No reloc */ |
@@ -64,6 +66,44 @@ typedef struct { } elf_fpregset_t; | |||
64 | PT_REGS_R15(regs) = 0; \ | 66 | PT_REGS_R15(regs) = 0; \ |
65 | } while (0) | 67 | } while (0) |
66 | 68 | ||
69 | #define ELF_CORE_COPY_REGS(pr_reg, regs) \ | ||
70 | (pr_reg)[0] = (regs)->regs.skas.regs[0]; \ | ||
71 | (pr_reg)[1] = (regs)->regs.skas.regs[1]; \ | ||
72 | (pr_reg)[2] = (regs)->regs.skas.regs[2]; \ | ||
73 | (pr_reg)[3] = (regs)->regs.skas.regs[3]; \ | ||
74 | (pr_reg)[4] = (regs)->regs.skas.regs[4]; \ | ||
75 | (pr_reg)[5] = (regs)->regs.skas.regs[5]; \ | ||
76 | (pr_reg)[6] = (regs)->regs.skas.regs[6]; \ | ||
77 | (pr_reg)[7] = (regs)->regs.skas.regs[7]; \ | ||
78 | (pr_reg)[8] = (regs)->regs.skas.regs[8]; \ | ||
79 | (pr_reg)[9] = (regs)->regs.skas.regs[9]; \ | ||
80 | (pr_reg)[10] = (regs)->regs.skas.regs[10]; \ | ||
81 | (pr_reg)[11] = (regs)->regs.skas.regs[11]; \ | ||
82 | (pr_reg)[12] = (regs)->regs.skas.regs[12]; \ | ||
83 | (pr_reg)[13] = (regs)->regs.skas.regs[13]; \ | ||
84 | (pr_reg)[14] = (regs)->regs.skas.regs[14]; \ | ||
85 | (pr_reg)[15] = (regs)->regs.skas.regs[15]; \ | ||
86 | (pr_reg)[16] = (regs)->regs.skas.regs[16]; \ | ||
87 | (pr_reg)[17] = (regs)->regs.skas.regs[17]; \ | ||
88 | (pr_reg)[18] = (regs)->regs.skas.regs[18]; \ | ||
89 | (pr_reg)[19] = (regs)->regs.skas.regs[19]; \ | ||
90 | (pr_reg)[20] = (regs)->regs.skas.regs[20]; \ | ||
91 | (pr_reg)[21] = current->thread.arch.fs; \ | ||
92 | (pr_reg)[22] = 0; \ | ||
93 | (pr_reg)[23] = 0; \ | ||
94 | (pr_reg)[24] = 0; \ | ||
95 | (pr_reg)[25] = 0; \ | ||
96 | (pr_reg)[26] = 0; | ||
97 | |||
98 | static inline int elf_core_copy_fpregs(struct task_struct *t, | ||
99 | elf_fpregset_t *fpu) | ||
100 | { | ||
101 | int cpu = current_thread->cpu; | ||
102 | return save_fp_registers(userspace_pid[cpu], (unsigned long *) fpu); | ||
103 | } | ||
104 | |||
105 | #define ELF_CORE_COPY_FPREGS(t, fpu) elf_core_copy_fpregs(t, fpu) | ||
106 | |||
67 | #ifdef TIF_IA32 /* XXX */ | 107 | #ifdef TIF_IA32 /* XXX */ |
68 | #error XXX, indeed | 108 | #error XXX, indeed |
69 | clear_thread_flag(TIF_IA32); | 109 | clear_thread_flag(TIF_IA32); |
diff --git a/include/linux/aer.h b/include/linux/aer.h index 509656286e53..bcf236d825e8 100644 --- a/include/linux/aer.h +++ b/include/linux/aer.h | |||
@@ -15,11 +15,26 @@ extern int pci_disable_pcie_error_reporting(struct pci_dev *dev); | |||
15 | extern int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev); | 15 | extern int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev); |
16 | extern int pci_cleanup_aer_correct_error_status(struct pci_dev *dev); | 16 | extern int pci_cleanup_aer_correct_error_status(struct pci_dev *dev); |
17 | #else | 17 | #else |
18 | #define pci_enable_pcie_error_reporting(dev) (-EINVAL) | 18 | static inline int pci_enable_pcie_error_reporting(struct pci_dev *dev) |
19 | #define pci_find_aer_capability(dev) (0) | 19 | { |
20 | #define pci_disable_pcie_error_reporting(dev) (-EINVAL) | 20 | return -EINVAL; |
21 | #define pci_cleanup_aer_uncorrect_error_status(dev) (-EINVAL) | 21 | } |
22 | #define pci_cleanup_aer_correct_error_status(dev) (-EINVAL) | 22 | static inline int pci_find_aer_capability(struct pci_dev *dev) |
23 | { | ||
24 | return 0; | ||
25 | } | ||
26 | static inline int pci_disable_pcie_error_reporting(struct pci_dev *dev) | ||
27 | { | ||
28 | return -EINVAL; | ||
29 | } | ||
30 | static inline int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev) | ||
31 | { | ||
32 | return -EINVAL; | ||
33 | } | ||
34 | static inline int pci_cleanup_aer_correct_error_status(struct pci_dev *dev) | ||
35 | { | ||
36 | return -EINVAL; | ||
37 | } | ||
23 | #endif | 38 | #endif |
24 | 39 | ||
25 | #endif //_AER_H_ | 40 | #endif //_AER_H_ |
diff --git a/include/linux/ata.h b/include/linux/ata.h index 23a22df039d8..c043c1ccf1c5 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -73,6 +73,19 @@ enum { | |||
73 | ATA_PIO5 = ATA_PIO4 | (1 << 5), | 73 | ATA_PIO5 = ATA_PIO4 | (1 << 5), |
74 | ATA_PIO6 = ATA_PIO5 | (1 << 6), | 74 | ATA_PIO6 = ATA_PIO5 | (1 << 6), |
75 | 75 | ||
76 | ATA_SWDMA0 = (1 << 0), | ||
77 | ATA_SWDMA1 = ATA_SWDMA0 | (1 << 1), | ||
78 | ATA_SWDMA2 = ATA_SWDMA1 | (1 << 2), | ||
79 | |||
80 | ATA_SWDMA2_ONLY = (1 << 2), | ||
81 | |||
82 | ATA_MWDMA0 = (1 << 0), | ||
83 | ATA_MWDMA1 = ATA_MWDMA0 | (1 << 1), | ||
84 | ATA_MWDMA2 = ATA_MWDMA1 | (1 << 2), | ||
85 | |||
86 | ATA_MWDMA12_ONLY = (1 << 1) | (1 << 2), | ||
87 | ATA_MWDMA2_ONLY = (1 << 2), | ||
88 | |||
76 | ATA_UDMA0 = (1 << 0), | 89 | ATA_UDMA0 = (1 << 0), |
77 | ATA_UDMA1 = ATA_UDMA0 | (1 << 1), | 90 | ATA_UDMA1 = ATA_UDMA0 | (1 << 1), |
78 | ATA_UDMA2 = ATA_UDMA1 | (1 << 2), | 91 | ATA_UDMA2 = ATA_UDMA1 | (1 << 2), |
diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 1d5ded0836ee..0ad72c4cf312 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h | |||
@@ -126,16 +126,16 @@ static inline void cpuhotplug_mutex_unlock(struct mutex *cpu_hp_mutex) | |||
126 | static inline int cpu_is_offline(int cpu) { return 0; } | 126 | static inline int cpu_is_offline(int cpu) { return 0; } |
127 | #endif /* CONFIG_HOTPLUG_CPU */ | 127 | #endif /* CONFIG_HOTPLUG_CPU */ |
128 | 128 | ||
129 | #ifdef CONFIG_SUSPEND_SMP | 129 | #ifdef CONFIG_PM_SLEEP_SMP |
130 | extern int suspend_cpu_hotplug; | 130 | extern int suspend_cpu_hotplug; |
131 | 131 | ||
132 | extern int disable_nonboot_cpus(void); | 132 | extern int disable_nonboot_cpus(void); |
133 | extern void enable_nonboot_cpus(void); | 133 | extern void enable_nonboot_cpus(void); |
134 | #else | 134 | #else /* !CONFIG_PM_SLEEP_SMP */ |
135 | #define suspend_cpu_hotplug 0 | 135 | #define suspend_cpu_hotplug 0 |
136 | 136 | ||
137 | static inline int disable_nonboot_cpus(void) { return 0; } | 137 | static inline int disable_nonboot_cpus(void) { return 0; } |
138 | static inline void enable_nonboot_cpus(void) {} | 138 | static inline void enable_nonboot_cpus(void) {} |
139 | #endif | 139 | #endif /* !CONFIG_PM_SLEEP_SMP */ |
140 | 140 | ||
141 | #endif /* _LINUX_CPU_H_ */ | 141 | #endif /* _LINUX_CPU_H_ */ |
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index e6a71c82d204..3a19b032c0eb 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
@@ -66,11 +66,8 @@ void hugetlb_free_pgd_range(struct mmu_gather **tlb, unsigned long addr, | |||
66 | * If the arch doesn't supply something else, assume that hugepage | 66 | * If the arch doesn't supply something else, assume that hugepage |
67 | * size aligned regions are ok without further preparation. | 67 | * size aligned regions are ok without further preparation. |
68 | */ | 68 | */ |
69 | static inline int prepare_hugepage_range(unsigned long addr, unsigned long len, | 69 | static inline int prepare_hugepage_range(unsigned long addr, unsigned long len) |
70 | pgoff_t pgoff) | ||
71 | { | 70 | { |
72 | if (pgoff & (~HPAGE_MASK >> PAGE_SHIFT)) | ||
73 | return -EINVAL; | ||
74 | if (len & ~HPAGE_MASK) | 71 | if (len & ~HPAGE_MASK) |
75 | return -EINVAL; | 72 | return -EINVAL; |
76 | if (addr & ~HPAGE_MASK) | 73 | if (addr & ~HPAGE_MASK) |
@@ -78,8 +75,7 @@ static inline int prepare_hugepage_range(unsigned long addr, unsigned long len, | |||
78 | return 0; | 75 | return 0; |
79 | } | 76 | } |
80 | #else | 77 | #else |
81 | int prepare_hugepage_range(unsigned long addr, unsigned long len, | 78 | int prepare_hugepage_range(unsigned long addr, unsigned long len); |
82 | pgoff_t pgoff); | ||
83 | #endif | 79 | #endif |
84 | 80 | ||
85 | #ifndef ARCH_HAS_SETCLEAR_HUGE_PTE | 81 | #ifndef ARCH_HAS_SETCLEAR_HUGE_PTE |
@@ -117,7 +113,7 @@ static inline unsigned long hugetlb_total_pages(void) | |||
117 | #define hugetlb_report_meminfo(buf) 0 | 113 | #define hugetlb_report_meminfo(buf) 0 |
118 | #define hugetlb_report_node_meminfo(n, buf) 0 | 114 | #define hugetlb_report_node_meminfo(n, buf) 0 |
119 | #define follow_huge_pmd(mm, addr, pmd, write) NULL | 115 | #define follow_huge_pmd(mm, addr, pmd, write) NULL |
120 | #define prepare_hugepage_range(addr,len,pgoff) (-EINVAL) | 116 | #define prepare_hugepage_range(addr,len) (-EINVAL) |
121 | #define pmd_huge(x) 0 | 117 | #define pmd_huge(x) 0 |
122 | #define is_hugepage_only_range(mm, addr, len) 0 | 118 | #define is_hugepage_only_range(mm, addr, len) 0 |
123 | #define hugetlb_free_pgd_range(tlb, addr, end, floor, ceiling) ({BUG(); 0; }) | 119 | #define hugetlb_free_pgd_range(tlb, addr, end, floor, ceiling) ({BUG(); 0; }) |
diff --git a/include/linux/ide.h b/include/linux/ide.h index c792b4fd1588..b9f66c10caa0 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1378,6 +1378,19 @@ static inline int ide_dev_has_iordy(struct hd_driveid *id) | |||
1378 | return ((id->field_valid & 2) && (id->capability & 8)) ? 1 : 0; | 1378 | return ((id->field_valid & 2) && (id->capability & 8)) ? 1 : 0; |
1379 | } | 1379 | } |
1380 | 1380 | ||
1381 | static inline int ide_dev_is_sata(struct hd_driveid *id) | ||
1382 | { | ||
1383 | /* | ||
1384 | * See if word 93 is 0 AND drive is at least ATA-5 compatible | ||
1385 | * verifying that word 80 by casting it to a signed type -- | ||
1386 | * this trick allows us to filter out the reserved values of | ||
1387 | * 0x0000 and 0xffff along with the earlier ATA revisions... | ||
1388 | */ | ||
1389 | if (id->hw_config == 0 && (short)id->major_rev_num >= 0x0020) | ||
1390 | return 1; | ||
1391 | return 0; | ||
1392 | } | ||
1393 | |||
1381 | u8 ide_dump_status(ide_drive_t *, const char *, u8); | 1394 | u8 ide_dump_status(ide_drive_t *, const char *, u8); |
1382 | 1395 | ||
1383 | typedef struct ide_pio_timings_s { | 1396 | typedef struct ide_pio_timings_s { |
diff --git a/include/linux/input.h b/include/linux/input.h index cf2b5619aa13..36e00aa6f03b 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -558,6 +558,8 @@ struct input_absinfo { | |||
558 | #define KEY_BRL_DOT6 0x1f6 | 558 | #define KEY_BRL_DOT6 0x1f6 |
559 | #define KEY_BRL_DOT7 0x1f7 | 559 | #define KEY_BRL_DOT7 0x1f7 |
560 | #define KEY_BRL_DOT8 0x1f8 | 560 | #define KEY_BRL_DOT8 0x1f8 |
561 | #define KEY_BRL_DOT9 0x1f9 | ||
562 | #define KEY_BRL_DOT10 0x1fa | ||
561 | 563 | ||
562 | /* We avoid low common keys in module aliases so they don't get huge. */ | 564 | /* We avoid low common keys in module aliases so they don't get huge. */ |
563 | #define KEY_MIN_INTERESTING KEY_MUTE | 565 | #define KEY_MIN_INTERESTING KEY_MUTE |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index f592df74b3cf..47160fe378c9 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -34,6 +34,7 @@ extern const char linux_proc_banner[]; | |||
34 | 34 | ||
35 | #define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) | 35 | #define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) |
36 | #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) | 36 | #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) |
37 | #define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a))) | ||
37 | 38 | ||
38 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) | 39 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) |
39 | 40 | ||
diff --git a/include/linux/keyboard.h b/include/linux/keyboard.h index de76843bbe8a..7ddbc30aa8e7 100644 --- a/include/linux/keyboard.h +++ b/include/linux/keyboard.h | |||
@@ -437,8 +437,10 @@ extern unsigned short plain_map[NR_KEYS]; | |||
437 | #define K_BRL_DOT6 K(KT_BRL, 6) | 437 | #define K_BRL_DOT6 K(KT_BRL, 6) |
438 | #define K_BRL_DOT7 K(KT_BRL, 7) | 438 | #define K_BRL_DOT7 K(KT_BRL, 7) |
439 | #define K_BRL_DOT8 K(KT_BRL, 8) | 439 | #define K_BRL_DOT8 K(KT_BRL, 8) |
440 | #define K_BRL_DOT9 K(KT_BRL, 9) | ||
441 | #define K_BRL_DOT10 K(KT_BRL, 10) | ||
440 | 442 | ||
441 | #define NR_BRL 9 | 443 | #define NR_BRL 11 |
442 | 444 | ||
443 | #define MAX_DIACR 256 | 445 | #define MAX_DIACR 256 |
444 | #endif | 446 | #endif |
diff --git a/include/linux/leds.h b/include/linux/leds.h index 421175092ee2..dc1178f6184b 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #define __LINUX_LEDS_H_INCLUDED | 13 | #define __LINUX_LEDS_H_INCLUDED |
14 | 14 | ||
15 | #include <linux/list.h> | 15 | #include <linux/list.h> |
16 | #include <linux/spinlock.h> | ||
16 | 17 | ||
17 | struct device; | 18 | struct device; |
18 | /* | 19 | /* |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 41978a557318..a67bb9075e9b 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -303,6 +303,7 @@ enum { | |||
303 | ATA_HORKAGE_NODMA = (1 << 1), /* DMA problems */ | 303 | ATA_HORKAGE_NODMA = (1 << 1), /* DMA problems */ |
304 | ATA_HORKAGE_NONCQ = (1 << 2), /* Don't use NCQ */ | 304 | ATA_HORKAGE_NONCQ = (1 << 2), /* Don't use NCQ */ |
305 | ATA_HORKAGE_MAX_SEC_128 = (1 << 3), /* Limit max sects to 128 */ | 305 | ATA_HORKAGE_MAX_SEC_128 = (1 << 3), /* Limit max sects to 128 */ |
306 | ATA_HORKAGE_BROKEN_HPA = (1 << 4), /* Broken HPA */ | ||
306 | }; | 307 | }; |
307 | 308 | ||
308 | enum hsm_task_states { | 309 | enum hsm_task_states { |
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 0eed0b7ab2df..1dd075eda595 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h | |||
@@ -88,9 +88,8 @@ struct nf_sockopt_ops | |||
88 | int (*compat_get)(struct sock *sk, int optval, | 88 | int (*compat_get)(struct sock *sk, int optval, |
89 | void __user *user, int *len); | 89 | void __user *user, int *len); |
90 | 90 | ||
91 | /* Number of users inside set() or get(). */ | 91 | /* Use the module struct to lock set/get code in place */ |
92 | unsigned int use; | 92 | struct module *owner; |
93 | struct task_struct *cleanup_task; | ||
94 | }; | 93 | }; |
95 | 94 | ||
96 | /* Each queued (to userspace) skbuff has one of these. */ | 95 | /* Each queued (to userspace) skbuff has one of these. */ |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 157dcb055b5c..7250eeadd7b5 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -431,6 +431,7 @@ extern int nfs_sync_mapping_range(struct address_space *, loff_t, loff_t, int); | |||
431 | extern int nfs_wb_all(struct inode *inode); | 431 | extern int nfs_wb_all(struct inode *inode); |
432 | extern int nfs_wb_page(struct inode *inode, struct page* page); | 432 | extern int nfs_wb_page(struct inode *inode, struct page* page); |
433 | extern int nfs_wb_page_priority(struct inode *inode, struct page* page, int how); | 433 | extern int nfs_wb_page_priority(struct inode *inode, struct page* page, int how); |
434 | extern int nfs_wb_page_cancel(struct inode *inode, struct page* page); | ||
434 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) | 435 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |
435 | extern int nfs_commit_inode(struct inode *, int); | 436 | extern int nfs_commit_inode(struct inode *, int); |
436 | extern struct nfs_write_data *nfs_commit_alloc(void); | 437 | extern struct nfs_write_data *nfs_commit_alloc(void); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 06d23e10a16d..55f307ffbf96 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -374,10 +374,9 @@ | |||
374 | #define PCI_DEVICE_ID_ATI_IXP400_SATA 0x4379 | 374 | #define PCI_DEVICE_ID_ATI_IXP400_SATA 0x4379 |
375 | #define PCI_DEVICE_ID_ATI_IXP400_SATA2 0x437a | 375 | #define PCI_DEVICE_ID_ATI_IXP400_SATA2 0x437a |
376 | #define PCI_DEVICE_ID_ATI_IXP600_SATA 0x4380 | 376 | #define PCI_DEVICE_ID_ATI_IXP600_SATA 0x4380 |
377 | #define PCI_DEVICE_ID_ATI_IXP600_SMBUS 0x4385 | 377 | #define PCI_DEVICE_ID_ATI_SBX00_SMBUS 0x4385 |
378 | #define PCI_DEVICE_ID_ATI_IXP600_IDE 0x438c | 378 | #define PCI_DEVICE_ID_ATI_IXP600_IDE 0x438c |
379 | #define PCI_DEVICE_ID_ATI_IXP700_SATA 0x4390 | 379 | #define PCI_DEVICE_ID_ATI_IXP700_SATA 0x4390 |
380 | #define PCI_DEVICE_ID_ATI_IXP700_SMBUS 0x4395 | ||
381 | #define PCI_DEVICE_ID_ATI_IXP700_IDE 0x439c | 380 | #define PCI_DEVICE_ID_ATI_IXP700_IDE 0x439c |
382 | 381 | ||
383 | #define PCI_VENDOR_ID_VLSI 0x1004 | 382 | #define PCI_VENDOR_ID_VLSI 0x1004 |
@@ -1344,6 +1343,7 @@ | |||
1344 | #define PCI_DEVICE_ID_VIA_8231_4 0x8235 | 1343 | #define PCI_DEVICE_ID_VIA_8231_4 0x8235 |
1345 | #define PCI_DEVICE_ID_VIA_8365_1 0x8305 | 1344 | #define PCI_DEVICE_ID_VIA_8365_1 0x8305 |
1346 | #define PCI_DEVICE_ID_VIA_CX700 0x8324 | 1345 | #define PCI_DEVICE_ID_VIA_CX700 0x8324 |
1346 | #define PCI_DEVICE_ID_VIA_VX800 0x8353 | ||
1347 | #define PCI_DEVICE_ID_VIA_8371_1 0x8391 | 1347 | #define PCI_DEVICE_ID_VIA_8371_1 0x8391 |
1348 | #define PCI_DEVICE_ID_VIA_82C598_1 0x8598 | 1348 | #define PCI_DEVICE_ID_VIA_82C598_1 0x8598 |
1349 | #define PCI_DEVICE_ID_VIA_838X_1 0xB188 | 1349 | #define PCI_DEVICE_ID_VIA_838X_1 0xB188 |
@@ -2293,6 +2293,8 @@ | |||
2293 | #define PCI_DEVICE_ID_INTEL_MCH_PC 0x3599 | 2293 | #define PCI_DEVICE_ID_INTEL_MCH_PC 0x3599 |
2294 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a | 2294 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a |
2295 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e | 2295 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e |
2296 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 | ||
2297 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_1 0x5032 | ||
2296 | #define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 | 2298 | #define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 |
2297 | #define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 | 2299 | #define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 |
2298 | #define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020 | 2300 | #define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020 |
diff --git a/include/linux/poll.h b/include/linux/poll.h index 27690798623f..16d813b364ef 100644 --- a/include/linux/poll.h +++ b/include/linux/poll.h | |||
@@ -21,6 +21,8 @@ | |||
21 | #define WQUEUES_STACK_ALLOC (MAX_STACK_ALLOC - FRONTEND_STACK_ALLOC) | 21 | #define WQUEUES_STACK_ALLOC (MAX_STACK_ALLOC - FRONTEND_STACK_ALLOC) |
22 | #define N_INLINE_POLL_ENTRIES (WQUEUES_STACK_ALLOC / sizeof(struct poll_table_entry)) | 22 | #define N_INLINE_POLL_ENTRIES (WQUEUES_STACK_ALLOC / sizeof(struct poll_table_entry)) |
23 | 23 | ||
24 | #define DEFAULT_POLLMASK (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM) | ||
25 | |||
24 | struct poll_table_struct; | 26 | struct poll_table_struct; |
25 | 27 | ||
26 | /* | 28 | /* |
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index c91476ce314a..dff3192374f8 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
@@ -351,6 +351,8 @@ enum | |||
351 | #define RTAX_INITCWND RTAX_INITCWND | 351 | #define RTAX_INITCWND RTAX_INITCWND |
352 | RTAX_FEATURES, | 352 | RTAX_FEATURES, |
353 | #define RTAX_FEATURES RTAX_FEATURES | 353 | #define RTAX_FEATURES RTAX_FEATURES |
354 | RTAX_RTO_MIN, | ||
355 | #define RTAX_RTO_MIN RTAX_RTO_MIN | ||
354 | __RTAX_MAX | 356 | __RTAX_MAX |
355 | }; | 357 | }; |
356 | 358 | ||
diff --git a/include/linux/sched.h b/include/linux/sched.h index bd6a0320a770..f4e324ed2e44 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -904,6 +904,7 @@ struct sched_entity { | |||
904 | 904 | ||
905 | u64 exec_start; | 905 | u64 exec_start; |
906 | u64 sum_exec_runtime; | 906 | u64 sum_exec_runtime; |
907 | u64 prev_sum_exec_runtime; | ||
907 | u64 wait_start_fair; | 908 | u64 wait_start_fair; |
908 | u64 sleep_start_fair; | 909 | u64 sleep_start_fair; |
909 | 910 | ||
diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h index 124270df8734..74962077f632 100644 --- a/include/linux/slub_def.h +++ b/include/linux/slub_def.h | |||
@@ -78,7 +78,7 @@ extern struct kmem_cache kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; | |||
78 | * Sorry that the following has to be that ugly but some versions of GCC | 78 | * Sorry that the following has to be that ugly but some versions of GCC |
79 | * have trouble with constant propagation and loops. | 79 | * have trouble with constant propagation and loops. |
80 | */ | 80 | */ |
81 | static inline int kmalloc_index(size_t size) | 81 | static __always_inline int kmalloc_index(size_t size) |
82 | { | 82 | { |
83 | if (!size) | 83 | if (!size) |
84 | return 0; | 84 | return 0; |
@@ -133,7 +133,7 @@ static inline int kmalloc_index(size_t size) | |||
133 | * This ought to end up with a global pointer to the right cache | 133 | * This ought to end up with a global pointer to the right cache |
134 | * in kmalloc_caches. | 134 | * in kmalloc_caches. |
135 | */ | 135 | */ |
136 | static inline struct kmem_cache *kmalloc_slab(size_t size) | 136 | static __always_inline struct kmem_cache *kmalloc_slab(size_t size) |
137 | { | 137 | { |
138 | int index = kmalloc_index(size); | 138 | int index = kmalloc_index(size); |
139 | 139 | ||
@@ -166,7 +166,7 @@ static inline struct kmem_cache *kmalloc_slab(size_t size) | |||
166 | void *kmem_cache_alloc(struct kmem_cache *, gfp_t); | 166 | void *kmem_cache_alloc(struct kmem_cache *, gfp_t); |
167 | void *__kmalloc(size_t size, gfp_t flags); | 167 | void *__kmalloc(size_t size, gfp_t flags); |
168 | 168 | ||
169 | static inline void *kmalloc(size_t size, gfp_t flags) | 169 | static __always_inline void *kmalloc(size_t size, gfp_t flags) |
170 | { | 170 | { |
171 | if (__builtin_constant_p(size) && !(flags & SLUB_DMA)) { | 171 | if (__builtin_constant_p(size) && !(flags & SLUB_DMA)) { |
172 | struct kmem_cache *s = kmalloc_slab(size); | 172 | struct kmem_cache *s = kmalloc_slab(size); |
@@ -183,7 +183,7 @@ static inline void *kmalloc(size_t size, gfp_t flags) | |||
183 | void *__kmalloc_node(size_t size, gfp_t flags, int node); | 183 | void *__kmalloc_node(size_t size, gfp_t flags, int node); |
184 | void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node); | 184 | void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node); |
185 | 185 | ||
186 | static inline void *kmalloc_node(size_t size, gfp_t flags, int node) | 186 | static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node) |
187 | { | 187 | { |
188 | if (__builtin_constant_p(size) && !(flags & SLUB_DMA)) { | 188 | if (__builtin_constant_p(size) && !(flags & SLUB_DMA)) { |
189 | struct kmem_cache *s = kmalloc_slab(size); | 189 | struct kmem_cache *s = kmalloc_slab(size); |
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h index 73cb9943c8a8..991c85bb9e36 100644 --- a/include/net/sctp/sm.h +++ b/include/net/sctp/sm.h | |||
@@ -214,7 +214,7 @@ struct sctp_chunk *sctp_make_shutdown_ack(const struct sctp_association *asoc, | |||
214 | const struct sctp_chunk *); | 214 | const struct sctp_chunk *); |
215 | struct sctp_chunk *sctp_make_shutdown_complete(const struct sctp_association *, | 215 | struct sctp_chunk *sctp_make_shutdown_complete(const struct sctp_association *, |
216 | const struct sctp_chunk *); | 216 | const struct sctp_chunk *); |
217 | void sctp_init_cause(struct sctp_chunk *, __be16 cause, const void *, size_t); | 217 | void sctp_init_cause(struct sctp_chunk *, __be16 cause, size_t); |
218 | struct sctp_chunk *sctp_make_abort(const struct sctp_association *, | 218 | struct sctp_chunk *sctp_make_abort(const struct sctp_association *, |
219 | const struct sctp_chunk *, | 219 | const struct sctp_chunk *, |
220 | const size_t hint); | 220 | const size_t hint); |
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index ee4559b11302..c0d5848c33dc 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -726,6 +726,7 @@ int sctp_user_addto_chunk(struct sctp_chunk *chunk, int off, int len, | |||
726 | struct iovec *data); | 726 | struct iovec *data); |
727 | void sctp_chunk_free(struct sctp_chunk *); | 727 | void sctp_chunk_free(struct sctp_chunk *); |
728 | void *sctp_addto_chunk(struct sctp_chunk *, int len, const void *data); | 728 | void *sctp_addto_chunk(struct sctp_chunk *, int len, const void *data); |
729 | void *sctp_addto_param(struct sctp_chunk *, int len, const void *data); | ||
729 | struct sctp_chunk *sctp_chunkify(struct sk_buff *, | 730 | struct sctp_chunk *sctp_chunkify(struct sk_buff *, |
730 | const struct sctp_association *, | 731 | const struct sctp_association *, |
731 | struct sock *); | 732 | struct sock *); |
diff --git a/include/net/sctp/ulpqueue.h b/include/net/sctp/ulpqueue.h index 39ea3f442b47..cd33270e86dd 100644 --- a/include/net/sctp/ulpqueue.h +++ b/include/net/sctp/ulpqueue.h | |||
@@ -83,6 +83,7 @@ int sctp_clear_pd(struct sock *sk, struct sctp_association *asoc); | |||
83 | /* Skip over an SSN. */ | 83 | /* Skip over an SSN. */ |
84 | void sctp_ulpq_skip(struct sctp_ulpq *ulpq, __u16 sid, __u16 ssn); | 84 | void sctp_ulpq_skip(struct sctp_ulpq *ulpq, __u16 sid, __u16 ssn); |
85 | 85 | ||
86 | void sctp_ulpq_reasm_flushtsn(struct sctp_ulpq *, __u32); | ||
86 | #endif /* __sctp_ulpqueue_h__ */ | 87 | #endif /* __sctp_ulpqueue_h__ */ |
87 | 88 | ||
88 | 89 | ||
diff --git a/include/scsi/libiscsi.h b/include/scsi/libiscsi.h index 007d442412e2..b4b31132618b 100644 --- a/include/scsi/libiscsi.h +++ b/include/scsi/libiscsi.h | |||
@@ -205,6 +205,13 @@ struct iscsi_queue { | |||
205 | }; | 205 | }; |
206 | 206 | ||
207 | struct iscsi_session { | 207 | struct iscsi_session { |
208 | /* | ||
209 | * Syncs up the scsi eh thread with the iscsi eh thread when sending | ||
210 | * task management functions. This must be taken before the session | ||
211 | * and recv lock. | ||
212 | */ | ||
213 | struct mutex eh_mutex; | ||
214 | |||
208 | /* iSCSI session-wide sequencing */ | 215 | /* iSCSI session-wide sequencing */ |
209 | uint32_t cmdsn; | 216 | uint32_t cmdsn; |
210 | uint32_t exp_cmdsn; | 217 | uint32_t exp_cmdsn; |