aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-alpha/ide.h1
-rw-r--r--include/asm-arm/arch-aaec2000/aaec2000.h4
-rw-r--r--include/asm-arm/dma-mapping.h2
-rw-r--r--include/asm-arm/ide.h1
-rw-r--r--include/asm-blackfin/ide.h1
-rw-r--r--include/asm-blackfin/system.h4
-rw-r--r--include/asm-cris/arch-v32/ide.h2
-rw-r--r--include/asm-h8300/system.h3
-rw-r--r--include/asm-ia64/ide.h1
-rw-r--r--include/asm-m32r/ide.h1
-rw-r--r--include/asm-m68k/ide.h2
-rw-r--r--include/asm-m68knommu/system.h3
-rw-r--r--include/asm-mips/mach-generic/ide.h1
-rw-r--r--include/asm-mips/pci/bridge.h2
-rw-r--r--include/asm-parisc/ide.h1
-rw-r--r--include/asm-powerpc/ide.h3
-rw-r--r--include/asm-powerpc/io.h2
-rw-r--r--include/asm-powerpc/paca.h2
-rw-r--r--include/asm-sh/se7751.h2
-rw-r--r--include/asm-sh/systemh7751.h2
-rw-r--r--include/asm-sh64/ide.h1
-rw-r--r--include/asm-sh64/system.h3
-rw-r--r--include/asm-sparc/ide.h1
-rw-r--r--include/asm-sparc64/ide.h1
-rw-r--r--include/asm-v850/system.h3
-rw-r--r--include/asm-x86/acpi_32.h6
-rw-r--r--include/asm-x86/compat.h6
-rw-r--r--include/asm-x86/desc_64.h30
-rw-r--r--include/asm-x86/geode.h2
-rw-r--r--include/asm-x86/hpet.h7
-rw-r--r--include/asm-x86/ide.h1
-rw-r--r--include/asm-x86/io_apic_64.h2
-rw-r--r--include/asm-x86/ipi.h2
-rw-r--r--include/asm-x86/irq_32.h3
-rw-r--r--include/asm-x86/msr-index.h36
-rw-r--r--include/asm-x86/processor_32.h16
-rw-r--r--include/asm-x86/processor_64.h16
-rw-r--r--include/asm-x86/proto.h2
-rw-r--r--include/asm-x86/ptrace_32.h2
-rw-r--r--include/asm-x86/ptrace_64.h2
-rw-r--r--include/asm-x86/smp_32.h6
-rw-r--r--include/asm-x86/smp_64.h11
-rw-r--r--include/asm-x86/system_32.h1
-rw-r--r--include/asm-x86/topology_32.h4
-rw-r--r--include/asm-x86/topology_64.h4
-rw-r--r--include/linux/cdrom.h6
-rw-r--r--include/linux/crypto.h2
-rw-r--r--include/linux/device-mapper.h3
-rw-r--r--include/linux/dm-ioctl.h5
-rw-r--r--include/linux/fs.h2
-rw-r--r--include/linux/ide.h109
-rw-r--r--include/linux/ipmi_smi.h2
-rw-r--r--include/linux/nfs_fs.h8
-rw-r--r--include/linux/prefetch.h9
-rw-r--r--include/linux/security.h17
-rw-r--r--include/net/irda/irttp.h4
56 files changed, 196 insertions, 179 deletions
diff --git a/include/asm-alpha/ide.h b/include/asm-alpha/ide.h
index 2a5cc0b367ab..b7bf68d0407b 100644
--- a/include/asm-alpha/ide.h
+++ b/include/asm-alpha/ide.h
@@ -40,7 +40,6 @@ static inline unsigned long ide_default_io_base(int index)
40 } 40 }
41} 41}
42 42
43#define IDE_ARCH_OBSOLETE_INIT
44#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 43#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
45 44
46#ifdef CONFIG_PCI 45#ifdef CONFIG_PCI
diff --git a/include/asm-arm/arch-aaec2000/aaec2000.h b/include/asm-arm/arch-aaec2000/aaec2000.h
index 002227924b9f..a6d1ee0980f2 100644
--- a/include/asm-arm/arch-aaec2000/aaec2000.h
+++ b/include/asm-arm/arch-aaec2000/aaec2000.h
@@ -140,11 +140,11 @@
140#define TIMER3_CLEAR __REG(0x80000e0c) /* Timer 3 Clear Register */ 140#define TIMER3_CLEAR __REG(0x80000e0c) /* Timer 3 Clear Register */
141 141
142/* Timer Control register bits */ 142/* Timer Control register bits */
143#define TIMER_CTRL_ENABLE (1 << 7) /* Enable (Start° Timer */ 143#define TIMER_CTRL_ENABLE (1 << 7) /* Enable (Start Timer) */
144#define TIMER_CTRL_PERIODIC (1 << 6) /* Periodic Running Mode */ 144#define TIMER_CTRL_PERIODIC (1 << 6) /* Periodic Running Mode */
145#define TIMER_CTRL_FREE_RUNNING (0 << 6) /* Normal Running Mode */ 145#define TIMER_CTRL_FREE_RUNNING (0 << 6) /* Normal Running Mode */
146#define TIMER_CTRL_CLKSEL_508K (1 << 3) /* 508KHz Clock select (Timer 1, 2) */ 146#define TIMER_CTRL_CLKSEL_508K (1 << 3) /* 508KHz Clock select (Timer 1, 2) */
147#define TIMER_CTRL_CLKSEL_2K (0 << 3) /* 2KHz Clock Select (Timer 1, 2)*/ 147#define TIMER_CTRL_CLKSEL_2K (0 << 3) /* 2KHz Clock Select (Timer 1, 2) */
148 148
149/* Power and State Control */ 149/* Power and State Control */
150#define POWER_BASE __REG(0x80000400) 150#define POWER_BASE __REG(0x80000400)
diff --git a/include/asm-arm/dma-mapping.h b/include/asm-arm/dma-mapping.h
index 678134bf2475..1eb8aac43228 100644
--- a/include/asm-arm/dma-mapping.h
+++ b/include/asm-arm/dma-mapping.h
@@ -401,7 +401,7 @@ extern void dma_sync_sg_for_device(struct device*, struct scatterlist*, int, enu
401 * 401 *
402 * On the SA-1111, a bug limits DMA to only certain regions of RAM. 402 * On the SA-1111, a bug limits DMA to only certain regions of RAM.
403 * On the IXP425, the PCI inbound window is 64MB (256MB total RAM) 403 * On the IXP425, the PCI inbound window is 64MB (256MB total RAM)
404 * On some ADI engineering sytems, PCI inbound window is 32MB (12MB total RAM) 404 * On some ADI engineering systems, PCI inbound window is 32MB (12MB total RAM)
405 * 405 *
406 * The following are helper functions used by the dmabounce subystem 406 * The following are helper functions used by the dmabounce subystem
407 * 407 *
diff --git a/include/asm-arm/ide.h b/include/asm-arm/ide.h
index 4f68c8a5a199..f348fcf3150b 100644
--- a/include/asm-arm/ide.h
+++ b/include/asm-arm/ide.h
@@ -18,7 +18,6 @@
18#endif 18#endif
19 19
20#if !defined(CONFIG_ARCH_L7200) 20#if !defined(CONFIG_ARCH_L7200)
21# define IDE_ARCH_OBSOLETE_INIT
22# ifdef CONFIG_ARCH_CLPS7500 21# ifdef CONFIG_ARCH_CLPS7500
23# define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 22# define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
24# else 23# else
diff --git a/include/asm-blackfin/ide.h b/include/asm-blackfin/ide.h
index 41b2db46a168..121e272581d6 100644
--- a/include/asm-blackfin/ide.h
+++ b/include/asm-blackfin/ide.h
@@ -20,7 +20,6 @@
20#define MAX_HWIFS 1 20#define MAX_HWIFS 1
21 21
22/* Legacy ... BLK_DEV_IDECS */ 22/* Legacy ... BLK_DEV_IDECS */
23#define IDE_ARCH_OBSOLETE_INIT
24#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 23#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
25 24
26 25
diff --git a/include/asm-blackfin/system.h b/include/asm-blackfin/system.h
index 2b3d47d0bbb6..4a927379ee1c 100644
--- a/include/asm-blackfin/system.h
+++ b/include/asm-blackfin/system.h
@@ -128,9 +128,7 @@ extern unsigned long irq_flags;
128#define mb() asm volatile ("" : : :"memory") 128#define mb() asm volatile ("" : : :"memory")
129#define rmb() asm volatile ("" : : :"memory") 129#define rmb() asm volatile ("" : : :"memory")
130#define wmb() asm volatile ("" : : :"memory") 130#define wmb() asm volatile ("" : : :"memory")
131#define set_rmb(var, value) do { (void) xchg(&var, value); } while (0) 131#define set_mb(var, value) do { (void) xchg(&var, value); } while (0)
132#define set_mb(var, value) set_rmb(var, value)
133#define set_wmb(var, value) do { var = value; wmb(); } while (0)
134 132
135#define read_barrier_depends() do { } while(0) 133#define read_barrier_depends() do { } while(0)
136 134
diff --git a/include/asm-cris/arch-v32/ide.h b/include/asm-cris/arch-v32/ide.h
index 6590f657500d..11296170d057 100644
--- a/include/asm-cris/arch-v32/ide.h
+++ b/include/asm-cris/arch-v32/ide.h
@@ -54,7 +54,7 @@ static inline unsigned long ide_default_io_base(int index)
54#define SUPPORT_VLB_SYNC 0 54#define SUPPORT_VLB_SYNC 0
55 55
56#define IDE_ARCH_ACK_INTR 56#define IDE_ARCH_ACK_INTR
57#define ide_ack_intr(hwif) (hwif)->hw.ack_intr(hwif) 57#define ide_ack_intr(hwif) ((hwif)->ack_intr(hwif))
58 58
59#endif /* __KERNEL__ */ 59#endif /* __KERNEL__ */
60 60
diff --git a/include/asm-h8300/system.h b/include/asm-h8300/system.h
index 7807018f8500..2c1e83f7b419 100644
--- a/include/asm-h8300/system.h
+++ b/include/asm-h8300/system.h
@@ -82,8 +82,7 @@ asmlinkage void resume(void);
82#define mb() asm volatile ("" : : :"memory") 82#define mb() asm volatile ("" : : :"memory")
83#define rmb() asm volatile ("" : : :"memory") 83#define rmb() asm volatile ("" : : :"memory")
84#define wmb() asm volatile ("" : : :"memory") 84#define wmb() asm volatile ("" : : :"memory")
85#define set_rmb(var, value) do { xchg(&var, value); } while (0) 85#define set_mb(var, value) do { xchg(&var, value); } while (0)
86#define set_mb(var, value) set_rmb(var, value)
87 86
88#ifdef CONFIG_SMP 87#ifdef CONFIG_SMP
89#define smp_mb() mb() 88#define smp_mb() mb()
diff --git a/include/asm-ia64/ide.h b/include/asm-ia64/ide.h
index e928675de352..1ccf23809329 100644
--- a/include/asm-ia64/ide.h
+++ b/include/asm-ia64/ide.h
@@ -46,7 +46,6 @@ static inline unsigned long ide_default_io_base(int index)
46 } 46 }
47} 47}
48 48
49#define IDE_ARCH_OBSOLETE_INIT
50#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 49#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
51 50
52#ifdef CONFIG_PCI 51#ifdef CONFIG_PCI
diff --git a/include/asm-m32r/ide.h b/include/asm-m32r/ide.h
index 4672a49e8760..5d2044e529ab 100644
--- a/include/asm-m32r/ide.h
+++ b/include/asm-m32r/ide.h
@@ -65,7 +65,6 @@ static __inline__ unsigned long ide_default_io_base(int index)
65 } 65 }
66} 66}
67 67
68#define IDE_ARCH_OBSOLETE_INIT
69#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 68#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
70 69
71#ifdef CONFIG_BLK_DEV_IDEPCI 70#ifdef CONFIG_BLK_DEV_IDEPCI
diff --git a/include/asm-m68k/ide.h b/include/asm-m68k/ide.h
index f9ffb2cbbae8..909c6dfd3851 100644
--- a/include/asm-m68k/ide.h
+++ b/include/asm-m68k/ide.h
@@ -137,7 +137,7 @@ ide_get_lock(irq_handler_t handler, void *data)
137#endif /* CONFIG_BLK_DEV_FALCON_IDE */ 137#endif /* CONFIG_BLK_DEV_FALCON_IDE */
138 138
139#define IDE_ARCH_ACK_INTR 139#define IDE_ARCH_ACK_INTR
140#define ide_ack_intr(hwif) ((hwif)->hw.ack_intr ? (hwif)->hw.ack_intr(hwif) : 1) 140#define ide_ack_intr(hwif) ((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)
141 141
142#endif /* __KERNEL__ */ 142#endif /* __KERNEL__ */
143#endif /* _M68K_IDE_H */ 143#endif /* _M68K_IDE_H */
diff --git a/include/asm-m68knommu/system.h b/include/asm-m68knommu/system.h
index 1bd1142685e1..15b4c7d45c94 100644
--- a/include/asm-m68knommu/system.h
+++ b/include/asm-m68knommu/system.h
@@ -104,8 +104,7 @@ asmlinkage void resume(void);
104#define mb() asm volatile ("" : : :"memory") 104#define mb() asm volatile ("" : : :"memory")
105#define rmb() asm volatile ("" : : :"memory") 105#define rmb() asm volatile ("" : : :"memory")
106#define wmb() asm volatile ("" : : :"memory") 106#define wmb() asm volatile ("" : : :"memory")
107#define set_rmb(var, value) do { xchg(&var, value); } while (0) 107#define set_mb(var, value) do { xchg(&var, value); } while (0)
108#define set_mb(var, value) set_rmb(var, value)
109 108
110#ifdef CONFIG_SMP 109#ifdef CONFIG_SMP
111#define smp_mb() mb() 110#define smp_mb() mb()
diff --git a/include/asm-mips/mach-generic/ide.h b/include/asm-mips/mach-generic/ide.h
index a77128362a7d..4ec2b930dfbb 100644
--- a/include/asm-mips/mach-generic/ide.h
+++ b/include/asm-mips/mach-generic/ide.h
@@ -98,7 +98,6 @@ static __inline__ unsigned long ide_default_io_base(int index)
98 } 98 }
99} 99}
100 100
101#define IDE_ARCH_OBSOLETE_INIT
102#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 101#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
103 102
104#ifdef CONFIG_BLK_DEV_IDEPCI 103#ifdef CONFIG_BLK_DEV_IDEPCI
diff --git a/include/asm-mips/pci/bridge.h b/include/asm-mips/pci/bridge.h
index b84feebf2cef..5f4b9d4e4114 100644
--- a/include/asm-mips/pci/bridge.h
+++ b/include/asm-mips/pci/bridge.h
@@ -538,7 +538,7 @@ typedef struct bridge_err_cmdword_s {
538 BRIDGE_ISR_PMU_ESIZE_FAULT) 538 BRIDGE_ISR_PMU_ESIZE_FAULT)
539 539
540/* 540/*
541 * List of Errors which are fatal and kill the sytem 541 * List of Errors which are fatal and kill the system
542 */ 542 */
543#define BRIDGE_ISR_ERROR_FATAL \ 543#define BRIDGE_ISR_ERROR_FATAL \
544 ((BRIDGE_ISR_XTALK_ERROR & ~BRIDGE_ISR_XREAD_REQ_TIMEOUT)|\ 544 ((BRIDGE_ISR_XTALK_ERROR & ~BRIDGE_ISR_XREAD_REQ_TIMEOUT)|\
diff --git a/include/asm-parisc/ide.h b/include/asm-parisc/ide.h
index b27bf7aeb256..be8760fbc8ee 100644
--- a/include/asm-parisc/ide.h
+++ b/include/asm-parisc/ide.h
@@ -17,7 +17,6 @@
17#define MAX_HWIFS 2 17#define MAX_HWIFS 2
18#endif 18#endif
19 19
20#define IDE_ARCH_OBSOLETE_INIT
21#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 20#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
22 21
23#define ide_request_irq(irq,hand,flg,dev,id) request_irq((irq),(hand),(flg),(dev),(id)) 22#define ide_request_irq(irq,hand,flg,dev,id) request_irq((irq),(hand),(flg),(dev),(id))
diff --git a/include/asm-powerpc/ide.h b/include/asm-powerpc/ide.h
index 1644e44c8757..fd7f5a430f0a 100644
--- a/include/asm-powerpc/ide.h
+++ b/include/asm-powerpc/ide.h
@@ -69,12 +69,11 @@ static __inline__ unsigned long ide_default_io_base(int index)
69 69
70#ifdef CONFIG_BLK_DEV_MPC8xx_IDE 70#ifdef CONFIG_BLK_DEV_MPC8xx_IDE
71#define IDE_ARCH_ACK_INTR 1 71#define IDE_ARCH_ACK_INTR 1
72#define ide_ack_intr(hwif) (hwif->hw.ack_intr ? hwif->hw.ack_intr(hwif) : 1) 72#define ide_ack_intr(hwif) ((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)
73#endif 73#endif
74 74
75#endif /* __powerpc64__ */ 75#endif /* __powerpc64__ */
76 76
77#define IDE_ARCH_OBSOLETE_INIT
78#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 77#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
79 78
80#endif /* __KERNEL__ */ 79#endif /* __KERNEL__ */
diff --git a/include/asm-powerpc/io.h b/include/asm-powerpc/io.h
index bf14ab4ef4c9..e44cdfc8493a 100644
--- a/include/asm-powerpc/io.h
+++ b/include/asm-powerpc/io.h
@@ -522,7 +522,7 @@ static inline void name at \
522#else 522#else
523/* 523/*
524 * Enforce synchronisation of stores vs. spin_unlock 524 * Enforce synchronisation of stores vs. spin_unlock
525 * (this does it explicitely, though our implementation of spin_unlock 525 * (this does it explicitly, though our implementation of spin_unlock
526 * does it implicitely too) 526 * does it implicitely too)
527 */ 527 */
528static inline void mmiowb(void) 528static inline void mmiowb(void)
diff --git a/include/asm-powerpc/paca.h b/include/asm-powerpc/paca.h
index 98c6bd5756b7..f6dfce025adf 100644
--- a/include/asm-powerpc/paca.h
+++ b/include/asm-powerpc/paca.h
@@ -121,7 +121,5 @@ struct paca_struct {
121 121
122extern struct paca_struct paca[]; 122extern struct paca_struct paca[];
123 123
124void setup_boot_paca(void);
125
126#endif /* __KERNEL__ */ 124#endif /* __KERNEL__ */
127#endif /* _ASM_POWERPC_PACA_H */ 125#endif /* _ASM_POWERPC_PACA_H */
diff --git a/include/asm-sh/se7751.h b/include/asm-sh/se7751.h
index 02ca9347f043..b36792ac5d66 100644
--- a/include/asm-sh/se7751.h
+++ b/include/asm-sh/se7751.h
@@ -36,7 +36,7 @@
36#define PA_LED 0xba000000 /* LED */ 36#define PA_LED 0xba000000 /* LED */
37#define PA_BCR 0xbb000000 /* FPGA on the MS7751SE01 */ 37#define PA_BCR 0xbb000000 /* FPGA on the MS7751SE01 */
38 38
39#define PA_MRSHPC 0xb83fffe0 /* MR-SHPC-01 PCMCIA controler */ 39#define PA_MRSHPC 0xb83fffe0 /* MR-SHPC-01 PCMCIA controller */
40#define PA_MRSHPC_MW1 0xb8400000 /* MR-SHPC-01 memory window base */ 40#define PA_MRSHPC_MW1 0xb8400000 /* MR-SHPC-01 memory window base */
41#define PA_MRSHPC_MW2 0xb8500000 /* MR-SHPC-01 attribute window base */ 41#define PA_MRSHPC_MW2 0xb8500000 /* MR-SHPC-01 attribute window base */
42#define PA_MRSHPC_IO 0xb8600000 /* MR-SHPC-01 I/O window base */ 42#define PA_MRSHPC_IO 0xb8600000 /* MR-SHPC-01 I/O window base */
diff --git a/include/asm-sh/systemh7751.h b/include/asm-sh/systemh7751.h
index b143bb2a2ca7..4161122c84ef 100644
--- a/include/asm-sh/systemh7751.h
+++ b/include/asm-sh/systemh7751.h
@@ -36,7 +36,7 @@
36#define PA_LED 0xba000000 /* LED */ 36#define PA_LED 0xba000000 /* LED */
37#define PA_BCR 0xbb000000 /* FPGA on the MS7751SE01 */ 37#define PA_BCR 0xbb000000 /* FPGA on the MS7751SE01 */
38 38
39#define PA_MRSHPC 0xb83fffe0 /* MR-SHPC-01 PCMCIA controler */ 39#define PA_MRSHPC 0xb83fffe0 /* MR-SHPC-01 PCMCIA controller */
40#define PA_MRSHPC_MW1 0xb8400000 /* MR-SHPC-01 memory window base */ 40#define PA_MRSHPC_MW1 0xb8400000 /* MR-SHPC-01 memory window base */
41#define PA_MRSHPC_MW2 0xb8500000 /* MR-SHPC-01 attribute window base */ 41#define PA_MRSHPC_MW2 0xb8500000 /* MR-SHPC-01 attribute window base */
42#define PA_MRSHPC_IO 0xb8600000 /* MR-SHPC-01 I/O window base */ 42#define PA_MRSHPC_IO 0xb8600000 /* MR-SHPC-01 I/O window base */
diff --git a/include/asm-sh64/ide.h b/include/asm-sh64/ide.h
index c9d84d5f772e..b6e31e8b9410 100644
--- a/include/asm-sh64/ide.h
+++ b/include/asm-sh64/ide.h
@@ -19,7 +19,6 @@
19/* Without this, the initialisation of PCI IDE cards end up calling 19/* Without this, the initialisation of PCI IDE cards end up calling
20 * ide_init_hwif_ports, which won't work. */ 20 * ide_init_hwif_ports, which won't work. */
21#ifdef CONFIG_BLK_DEV_IDEPCI 21#ifdef CONFIG_BLK_DEV_IDEPCI
22#define IDE_ARCH_OBSOLETE_INIT 1
23#define ide_default_io_ctl(base) (0) 22#define ide_default_io_ctl(base) (0)
24#endif 23#endif
25 24
diff --git a/include/asm-sh64/system.h b/include/asm-sh64/system.h
index 5ff94644e8c8..be2a15ffcc55 100644
--- a/include/asm-sh64/system.h
+++ b/include/asm-sh64/system.h
@@ -62,8 +62,7 @@ extern void __xchg_called_with_bad_pointer(void);
62#define smp_read_barrier_depends() do { } while (0) 62#define smp_read_barrier_depends() do { } while (0)
63#endif /* CONFIG_SMP */ 63#endif /* CONFIG_SMP */
64 64
65#define set_rmb(var, value) do { (void)xchg(&var, value); } while (0) 65#define set_mb(var, value) do { (void)xchg(&var, value); } while (0)
66#define set_mb(var, value) set_rmb(var, value)
67 66
68/* Interrupt Control */ 67/* Interrupt Control */
69#ifndef HARD_CLI 68#ifndef HARD_CLI
diff --git a/include/asm-sparc/ide.h b/include/asm-sparc/ide.h
index a6d735a1310e..404022765fc7 100644
--- a/include/asm-sparc/ide.h
+++ b/include/asm-sparc/ide.h
@@ -18,7 +18,6 @@
18#undef MAX_HWIFS 18#undef MAX_HWIFS
19#define MAX_HWIFS 2 19#define MAX_HWIFS 2
20 20
21#define IDE_ARCH_OBSOLETE_INIT
22#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 21#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
23 22
24#define __ide_insl(data_reg, buffer, wcount) \ 23#define __ide_insl(data_reg, buffer, wcount) \
diff --git a/include/asm-sparc64/ide.h b/include/asm-sparc64/ide.h
index 55149cf933c2..ac7eb210b941 100644
--- a/include/asm-sparc64/ide.h
+++ b/include/asm-sparc64/ide.h
@@ -24,7 +24,6 @@
24# endif 24# endif
25#endif 25#endif
26 26
27#define IDE_ARCH_OBSOLETE_INIT
28#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 27#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
29 28
30#define __ide_insl(data_reg, buffer, wcount) \ 29#define __ide_insl(data_reg, buffer, wcount) \
diff --git a/include/asm-v850/system.h b/include/asm-v850/system.h
index 0de2481fd990..a34ddfafd561 100644
--- a/include/asm-v850/system.h
+++ b/include/asm-v850/system.h
@@ -66,8 +66,7 @@ static inline int irqs_disabled (void)
66#define rmb() mb () 66#define rmb() mb ()
67#define wmb() mb () 67#define wmb() mb ()
68#define read_barrier_depends() ((void)0) 68#define read_barrier_depends() ((void)0)
69#define set_rmb(var, value) do { xchg (&var, value); } while (0) 69#define set_mb(var, value) do { xchg (&var, value); } while (0)
70#define set_mb(var, value) set_rmb (var, value)
71 70
72#define smp_mb() mb () 71#define smp_mb() mb ()
73#define smp_rmb() rmb () 72#define smp_rmb() rmb ()
diff --git a/include/asm-x86/acpi_32.h b/include/asm-x86/acpi_32.h
index 125179adf044..723493e6c851 100644
--- a/include/asm-x86/acpi_32.h
+++ b/include/asm-x86/acpi_32.h
@@ -81,11 +81,7 @@ int __acpi_release_global_lock(unsigned int *lock);
81 :"=r"(n_hi), "=r"(n_lo) \ 81 :"=r"(n_hi), "=r"(n_lo) \
82 :"0"(n_hi), "1"(n_lo)) 82 :"0"(n_hi), "1"(n_lo))
83 83
84#ifdef CONFIG_X86_IO_APIC 84extern void early_quirks(void);
85extern void check_acpi_pci(void);
86#else
87static inline void check_acpi_pci(void) { }
88#endif
89 85
90#ifdef CONFIG_ACPI 86#ifdef CONFIG_ACPI
91extern int acpi_lapic; 87extern int acpi_lapic;
diff --git a/include/asm-x86/compat.h b/include/asm-x86/compat.h
index 53cb96b68a62..66ba7987184a 100644
--- a/include/asm-x86/compat.h
+++ b/include/asm-x86/compat.h
@@ -6,6 +6,7 @@
6 */ 6 */
7#include <linux/types.h> 7#include <linux/types.h>
8#include <linux/sched.h> 8#include <linux/sched.h>
9#include <asm/user32.h>
9 10
10#define COMPAT_USER_HZ 100 11#define COMPAT_USER_HZ 100
11 12
@@ -181,6 +182,11 @@ struct compat_shmid64_ds {
181}; 182};
182 183
183/* 184/*
185 * The type of struct elf_prstatus.pr_reg in compatible core dumps.
186 */
187typedef struct user_regs_struct32 compat_elf_gregset_t;
188
189/*
184 * A pointer passed in from user mode. This should not 190 * A pointer passed in from user mode. This should not
185 * be used for syscall parameters, just declare them 191 * be used for syscall parameters, just declare them
186 * as pointers because the syscall entry code will have 192 * as pointers because the syscall entry code will have
diff --git a/include/asm-x86/desc_64.h b/include/asm-x86/desc_64.h
index ac991b5ca0fd..7d9c938e69fd 100644
--- a/include/asm-x86/desc_64.h
+++ b/include/asm-x86/desc_64.h
@@ -20,6 +20,16 @@ extern struct desc_struct cpu_gdt_table[GDT_ENTRIES];
20#define load_LDT_desc() asm volatile("lldt %w0"::"r" (GDT_ENTRY_LDT*8)) 20#define load_LDT_desc() asm volatile("lldt %w0"::"r" (GDT_ENTRY_LDT*8))
21#define clear_LDT() asm volatile("lldt %w0"::"r" (0)) 21#define clear_LDT() asm volatile("lldt %w0"::"r" (0))
22 22
23static inline unsigned long __store_tr(void)
24{
25 unsigned long tr;
26
27 asm volatile ("str %w0":"=r" (tr));
28 return tr;
29}
30
31#define store_tr(tr) (tr) = __store_tr()
32
23/* 33/*
24 * This is the ldt that every process will get unless we need 34 * This is the ldt that every process will get unless we need
25 * something other than this. 35 * something other than this.
@@ -31,6 +41,16 @@ extern struct desc_ptr cpu_gdt_descr[];
31/* the cpu gdt accessor */ 41/* the cpu gdt accessor */
32#define cpu_gdt(_cpu) ((struct desc_struct *)cpu_gdt_descr[_cpu].address) 42#define cpu_gdt(_cpu) ((struct desc_struct *)cpu_gdt_descr[_cpu].address)
33 43
44static inline void load_gdt(const struct desc_ptr *ptr)
45{
46 asm volatile("lgdt %w0"::"m" (*ptr));
47}
48
49static inline void store_gdt(struct desc_ptr *ptr)
50{
51 asm("sgdt %w0":"=m" (*ptr));
52}
53
34static inline void _set_gate(void *adr, unsigned type, unsigned long func, unsigned dpl, unsigned ist) 54static inline void _set_gate(void *adr, unsigned type, unsigned long func, unsigned dpl, unsigned ist)
35{ 55{
36 struct gate_struct s; 56 struct gate_struct s;
@@ -71,6 +91,16 @@ static inline void set_system_gate_ist(int nr, void *func, unsigned ist)
71 _set_gate(&idt_table[nr], GATE_INTERRUPT, (unsigned long) func, 3, ist); 91 _set_gate(&idt_table[nr], GATE_INTERRUPT, (unsigned long) func, 3, ist);
72} 92}
73 93
94static inline void load_idt(const struct desc_ptr *ptr)
95{
96 asm volatile("lidt %w0"::"m" (*ptr));
97}
98
99static inline void store_idt(struct desc_ptr *dtr)
100{
101 asm("sidt %w0":"=m" (*dtr));
102}
103
74static inline void set_tssldt_descriptor(void *ptr, unsigned long tss, unsigned type, 104static inline void set_tssldt_descriptor(void *ptr, unsigned long tss, unsigned type,
75 unsigned size) 105 unsigned size)
76{ 106{
diff --git a/include/asm-x86/geode.h b/include/asm-x86/geode.h
index d94898831bac..771af336734f 100644
--- a/include/asm-x86/geode.h
+++ b/include/asm-x86/geode.h
@@ -38,6 +38,8 @@ extern int geode_get_dev_base(unsigned int dev);
38#define MSR_LBAR_ACPI 0x5140000E 38#define MSR_LBAR_ACPI 0x5140000E
39#define MSR_LBAR_PMS 0x5140000F 39#define MSR_LBAR_PMS 0x5140000F
40 40
41#define MSR_DIVIL_SOFT_RESET 0x51400017
42
41#define MSR_PIC_YSEL_LOW 0x51400020 43#define MSR_PIC_YSEL_LOW 0x51400020
42#define MSR_PIC_YSEL_HIGH 0x51400021 44#define MSR_PIC_YSEL_HIGH 0x51400021
43#define MSR_PIC_ZSEL_LOW 0x51400022 45#define MSR_PIC_ZSEL_LOW 0x51400022
diff --git a/include/asm-x86/hpet.h b/include/asm-x86/hpet.h
index d4ab6db050b6..b1f3c1ea55d9 100644
--- a/include/asm-x86/hpet.h
+++ b/include/asm-x86/hpet.h
@@ -3,12 +3,6 @@
3 3
4#ifdef CONFIG_HPET_TIMER 4#ifdef CONFIG_HPET_TIMER
5 5
6/*
7 * Documentation on HPET can be found at:
8 * http://www.intel.com/ial/home/sp/pcmmspec.htm
9 * ftp://download.intel.com/ial/home/sp/mmts098.pdf
10 */
11
12#define HPET_MMAP_SIZE 1024 6#define HPET_MMAP_SIZE 1024
13 7
14#define HPET_ID 0x000 8#define HPET_ID 0x000
@@ -64,6 +58,7 @@
64/* hpet memory map physical address */ 58/* hpet memory map physical address */
65extern unsigned long hpet_address; 59extern unsigned long hpet_address;
66extern unsigned long force_hpet_address; 60extern unsigned long force_hpet_address;
61extern int hpet_force_user;
67extern int is_hpet_enabled(void); 62extern int is_hpet_enabled(void);
68extern int hpet_enable(void); 63extern int hpet_enable(void);
69extern unsigned long hpet_readl(unsigned long a); 64extern unsigned long hpet_readl(unsigned long a);
diff --git a/include/asm-x86/ide.h b/include/asm-x86/ide.h
index e7817a3d6578..42130adf9c7c 100644
--- a/include/asm-x86/ide.h
+++ b/include/asm-x86/ide.h
@@ -62,7 +62,6 @@ static __inline__ unsigned long ide_default_io_base(int index)
62 } 62 }
63} 63}
64 64
65#define IDE_ARCH_OBSOLETE_INIT
66#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 65#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */
67 66
68#ifdef CONFIG_BLK_DEV_IDEPCI 67#ifdef CONFIG_BLK_DEV_IDEPCI
diff --git a/include/asm-x86/io_apic_64.h b/include/asm-x86/io_apic_64.h
index d9f2e54324d5..e2c13675ee4e 100644
--- a/include/asm-x86/io_apic_64.h
+++ b/include/asm-x86/io_apic_64.h
@@ -133,4 +133,6 @@ void enable_NMI_through_LVT0 (void * dummy);
133 133
134extern spinlock_t i8259A_lock; 134extern spinlock_t i8259A_lock;
135 135
136extern int timer_over_8254;
137
136#endif 138#endif
diff --git a/include/asm-x86/ipi.h b/include/asm-x86/ipi.h
index a7c75ea408a8..6d011bd6067d 100644
--- a/include/asm-x86/ipi.h
+++ b/include/asm-x86/ipi.h
@@ -119,7 +119,7 @@ static inline void send_IPI_mask_sequence(cpumask_t mask, int vector)
119 */ 119 */
120 local_irq_save(flags); 120 local_irq_save(flags);
121 for_each_cpu_mask(query_cpu, mask) { 121 for_each_cpu_mask(query_cpu, mask) {
122 __send_IPI_dest_field(x86_cpu_to_apicid[query_cpu], 122 __send_IPI_dest_field(per_cpu(x86_cpu_to_apicid, query_cpu),
123 vector, APIC_DEST_PHYSICAL); 123 vector, APIC_DEST_PHYSICAL);
124 } 124 }
125 local_irq_restore(flags); 125 local_irq_restore(flags);
diff --git a/include/asm-x86/irq_32.h b/include/asm-x86/irq_32.h
index 36f310632c49..aca9c96e8e6b 100644
--- a/include/asm-x86/irq_32.h
+++ b/include/asm-x86/irq_32.h
@@ -45,4 +45,7 @@ unsigned int do_IRQ(struct pt_regs *regs);
45void init_IRQ(void); 45void init_IRQ(void);
46void __init native_init_IRQ(void); 46void __init native_init_IRQ(void);
47 47
48/* Interrupt vector management */
49extern DECLARE_BITMAP(used_vectors, NR_VECTORS);
50
48#endif /* _ASM_IRQ_H */ 51#endif /* _ASM_IRQ_H */
diff --git a/include/asm-x86/msr-index.h b/include/asm-x86/msr-index.h
index a02eb2991349..a4944732be04 100644
--- a/include/asm-x86/msr-index.h
+++ b/include/asm-x86/msr-index.h
@@ -73,8 +73,32 @@
73#define MSR_P6_EVNTSEL0 0x00000186 73#define MSR_P6_EVNTSEL0 0x00000186
74#define MSR_P6_EVNTSEL1 0x00000187 74#define MSR_P6_EVNTSEL1 0x00000187
75 75
76/* K7/K8 MSRs. Not complete. See the architecture manual for a more 76/* AMD64 MSRs. Not complete. See the architecture manual for a more
77 complete list. */ 77 complete list. */
78
79#define MSR_AMD64_IBSFETCHCTL 0xc0011030
80#define MSR_AMD64_IBSFETCHLINAD 0xc0011031
81#define MSR_AMD64_IBSFETCHPHYSAD 0xc0011032
82#define MSR_AMD64_IBSOPCTL 0xc0011033
83#define MSR_AMD64_IBSOPRIP 0xc0011034
84#define MSR_AMD64_IBSOPDATA 0xc0011035
85#define MSR_AMD64_IBSOPDATA2 0xc0011036
86#define MSR_AMD64_IBSOPDATA3 0xc0011037
87#define MSR_AMD64_IBSDCLINAD 0xc0011038
88#define MSR_AMD64_IBSDCPHYSAD 0xc0011039
89#define MSR_AMD64_IBSCTL 0xc001103a
90
91/* K8 MSRs */
92#define MSR_K8_TOP_MEM1 0xc001001a
93#define MSR_K8_TOP_MEM2 0xc001001d
94#define MSR_K8_SYSCFG 0xc0010010
95#define MSR_K8_HWCR 0xc0010015
96#define MSR_K8_ENABLE_C1E 0xc0010055
97#define K8_MTRRFIXRANGE_DRAM_ENABLE 0x00040000 /* MtrrFixDramEn bit */
98#define K8_MTRRFIXRANGE_DRAM_MODIFY 0x00080000 /* MtrrFixDramModEn bit */
99#define K8_MTRR_RDMEM_WRMEM_MASK 0x18181818 /* Mask: RdMem|WrMem */
100
101/* K7 MSRs */
78#define MSR_K7_EVNTSEL0 0xc0010000 102#define MSR_K7_EVNTSEL0 0xc0010000
79#define MSR_K7_PERFCTR0 0xc0010004 103#define MSR_K7_PERFCTR0 0xc0010004
80#define MSR_K7_EVNTSEL1 0xc0010001 104#define MSR_K7_EVNTSEL1 0xc0010001
@@ -83,20 +107,10 @@
83#define MSR_K7_PERFCTR2 0xc0010006 107#define MSR_K7_PERFCTR2 0xc0010006
84#define MSR_K7_EVNTSEL3 0xc0010003 108#define MSR_K7_EVNTSEL3 0xc0010003
85#define MSR_K7_PERFCTR3 0xc0010007 109#define MSR_K7_PERFCTR3 0xc0010007
86#define MSR_K8_TOP_MEM1 0xc001001a
87#define MSR_K7_CLK_CTL 0xc001001b 110#define MSR_K7_CLK_CTL 0xc001001b
88#define MSR_K8_TOP_MEM2 0xc001001d
89#define MSR_K8_SYSCFG 0xc0010010
90
91#define K8_MTRRFIXRANGE_DRAM_ENABLE 0x00040000 /* MtrrFixDramEn bit */
92#define K8_MTRRFIXRANGE_DRAM_MODIFY 0x00080000 /* MtrrFixDramModEn bit */
93#define K8_MTRR_RDMEM_WRMEM_MASK 0x18181818 /* Mask: RdMem|WrMem */
94
95#define MSR_K7_HWCR 0xc0010015 111#define MSR_K7_HWCR 0xc0010015
96#define MSR_K8_HWCR 0xc0010015
97#define MSR_K7_FID_VID_CTL 0xc0010041 112#define MSR_K7_FID_VID_CTL 0xc0010041
98#define MSR_K7_FID_VID_STATUS 0xc0010042 113#define MSR_K7_FID_VID_STATUS 0xc0010042
99#define MSR_K8_ENABLE_C1E 0xc0010055
100 114
101/* K6 MSRs */ 115/* K6 MSRs */
102#define MSR_K6_EFER 0xc0000080 116#define MSR_K6_EFER 0xc0000080
diff --git a/include/asm-x86/processor_32.h b/include/asm-x86/processor_32.h
index 83800e7496ee..13976b086837 100644
--- a/include/asm-x86/processor_32.h
+++ b/include/asm-x86/processor_32.h
@@ -79,6 +79,7 @@ struct cpuinfo_x86 {
79 unsigned char booted_cores; /* number of cores as seen by OS */ 79 unsigned char booted_cores; /* number of cores as seen by OS */
80 __u8 phys_proc_id; /* Physical processor id. */ 80 __u8 phys_proc_id; /* Physical processor id. */
81 __u8 cpu_core_id; /* Core id */ 81 __u8 cpu_core_id; /* Core id */
82 __u8 cpu_index; /* index into per_cpu list */
82#endif 83#endif
83} __attribute__((__aligned__(SMP_CACHE_BYTES))); 84} __attribute__((__aligned__(SMP_CACHE_BYTES)));
84 85
@@ -103,14 +104,19 @@ extern struct tss_struct doublefault_tss;
103DECLARE_PER_CPU(struct tss_struct, init_tss); 104DECLARE_PER_CPU(struct tss_struct, init_tss);
104 105
105#ifdef CONFIG_SMP 106#ifdef CONFIG_SMP
106extern struct cpuinfo_x86 cpu_data[]; 107DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info);
107#define current_cpu_data cpu_data[smp_processor_id()] 108#define cpu_data(cpu) per_cpu(cpu_info, cpu)
109#define current_cpu_data cpu_data(smp_processor_id())
108#else 110#else
109#define cpu_data (&boot_cpu_data) 111#define cpu_data(cpu) boot_cpu_data
110#define current_cpu_data boot_cpu_data 112#define current_cpu_data boot_cpu_data
111#endif 113#endif
112 114
113extern int cpu_llc_id[NR_CPUS]; 115/*
116 * the following now lives in the per cpu area:
117 * extern int cpu_llc_id[NR_CPUS];
118 */
119DECLARE_PER_CPU(u8, cpu_llc_id);
114extern char ignore_fpu_irq; 120extern char ignore_fpu_irq;
115 121
116void __init cpu_detect(struct cpuinfo_x86 *c); 122void __init cpu_detect(struct cpuinfo_x86 *c);
diff --git a/include/asm-x86/processor_64.h b/include/asm-x86/processor_64.h
index f422becbddd9..e4f19970a82b 100644
--- a/include/asm-x86/processor_64.h
+++ b/include/asm-x86/processor_64.h
@@ -74,6 +74,7 @@ struct cpuinfo_x86 {
74 __u8 booted_cores; /* number of cores as seen by OS */ 74 __u8 booted_cores; /* number of cores as seen by OS */
75 __u8 phys_proc_id; /* Physical Processor id. */ 75 __u8 phys_proc_id; /* Physical Processor id. */
76 __u8 cpu_core_id; /* Core id. */ 76 __u8 cpu_core_id; /* Core id. */
77 __u8 cpu_index; /* index into per_cpu list */
77#endif 78#endif
78} ____cacheline_aligned; 79} ____cacheline_aligned;
79 80
@@ -88,11 +89,12 @@ struct cpuinfo_x86 {
88#define X86_VENDOR_UNKNOWN 0xff 89#define X86_VENDOR_UNKNOWN 0xff
89 90
90#ifdef CONFIG_SMP 91#ifdef CONFIG_SMP
91extern struct cpuinfo_x86 cpu_data[]; 92DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info);
92#define current_cpu_data cpu_data[smp_processor_id()] 93#define cpu_data(cpu) per_cpu(cpu_info, cpu)
94#define current_cpu_data cpu_data(smp_processor_id())
93#else 95#else
94#define cpu_data (&boot_cpu_data) 96#define cpu_data(cpu) boot_cpu_data
95#define current_cpu_data boot_cpu_data 97#define current_cpu_data boot_cpu_data
96#endif 98#endif
97 99
98extern char ignore_irq13; 100extern char ignore_irq13;
@@ -390,12 +392,6 @@ static inline void sync_core(void)
390 asm volatile("cpuid" : "=a" (tmp) : "0" (1) : "ebx","ecx","edx","memory"); 392 asm volatile("cpuid" : "=a" (tmp) : "0" (1) : "ebx","ecx","edx","memory");
391} 393}
392 394
393#define ARCH_HAS_PREFETCH
394static inline void prefetch(void *x)
395{
396 asm volatile("prefetcht0 (%0)" :: "r" (x));
397}
398
399#define ARCH_HAS_PREFETCHW 1 395#define ARCH_HAS_PREFETCHW 1
400static inline void prefetchw(void *x) 396static inline void prefetchw(void *x)
401{ 397{
diff --git a/include/asm-x86/proto.h b/include/asm-x86/proto.h
index c44a3a93b5a4..dabba55f7ed8 100644
--- a/include/asm-x86/proto.h
+++ b/include/asm-x86/proto.h
@@ -83,8 +83,6 @@ extern unsigned tsc_khz;
83extern int reboot_force; 83extern int reboot_force;
84extern int notsc_setup(char *); 84extern int notsc_setup(char *);
85 85
86extern int timer_over_8254;
87
88extern int gsi_irq_sharing(int gsi); 86extern int gsi_irq_sharing(int gsi);
89 87
90extern int force_mwait; 88extern int force_mwait;
diff --git a/include/asm-x86/ptrace_32.h b/include/asm-x86/ptrace_32.h
index 6002597b9e12..78d063dabe0a 100644
--- a/include/asm-x86/ptrace_32.h
+++ b/include/asm-x86/ptrace_32.h
@@ -55,6 +55,8 @@ static inline int v8086_mode(struct pt_regs *regs)
55} 55}
56 56
57#define instruction_pointer(regs) ((regs)->eip) 57#define instruction_pointer(regs) ((regs)->eip)
58#define frame_pointer(regs) ((regs)->ebp)
59#define stack_pointer(regs) ((regs)->esp)
58#define regs_return_value(regs) ((regs)->eax) 60#define regs_return_value(regs) ((regs)->eax)
59 61
60extern unsigned long profile_pc(struct pt_regs *regs); 62extern unsigned long profile_pc(struct pt_regs *regs);
diff --git a/include/asm-x86/ptrace_64.h b/include/asm-x86/ptrace_64.h
index 7f166ccb0606..7bfe61e1b705 100644
--- a/include/asm-x86/ptrace_64.h
+++ b/include/asm-x86/ptrace_64.h
@@ -40,6 +40,8 @@ struct pt_regs {
40#define user_mode(regs) (!!((regs)->cs & 3)) 40#define user_mode(regs) (!!((regs)->cs & 3))
41#define user_mode_vm(regs) user_mode(regs) 41#define user_mode_vm(regs) user_mode(regs)
42#define instruction_pointer(regs) ((regs)->rip) 42#define instruction_pointer(regs) ((regs)->rip)
43#define frame_pointer(regs) ((regs)->rbp)
44#define stack_pointer(regs) ((regs)->rsp)
43#define regs_return_value(regs) ((regs)->rax) 45#define regs_return_value(regs) ((regs)->rax)
44 46
45extern unsigned long profile_pc(struct pt_regs *regs); 47extern unsigned long profile_pc(struct pt_regs *regs);
diff --git a/include/asm-x86/smp_32.h b/include/asm-x86/smp_32.h
index 1f576a93368f..7056d8684522 100644
--- a/include/asm-x86/smp_32.h
+++ b/include/asm-x86/smp_32.h
@@ -39,9 +39,11 @@ extern void lock_ipi_call_lock(void);
39extern void unlock_ipi_call_lock(void); 39extern void unlock_ipi_call_lock(void);
40 40
41#define MAX_APICID 256 41#define MAX_APICID 256
42extern u8 x86_cpu_to_apicid[]; 42extern u8 __initdata x86_cpu_to_apicid_init[];
43extern void *x86_cpu_to_apicid_ptr;
44DECLARE_PER_CPU(u8, x86_cpu_to_apicid);
43 45
44#define cpu_physical_id(cpu) x86_cpu_to_apicid[cpu] 46#define cpu_physical_id(cpu) per_cpu(x86_cpu_to_apicid, cpu)
45 47
46extern void set_cpu_sibling_map(int cpu); 48extern void set_cpu_sibling_map(int cpu);
47 49
diff --git a/include/asm-x86/smp_64.h b/include/asm-x86/smp_64.h
index d30e9b684fdd..6f0e0273b646 100644
--- a/include/asm-x86/smp_64.h
+++ b/include/asm-x86/smp_64.h
@@ -37,6 +37,8 @@ extern void lock_ipi_call_lock(void);
37extern void unlock_ipi_call_lock(void); 37extern void unlock_ipi_call_lock(void);
38extern int smp_num_siblings; 38extern int smp_num_siblings;
39extern void smp_send_reschedule(int cpu); 39extern void smp_send_reschedule(int cpu);
40extern int smp_call_function_mask(cpumask_t mask, void (*func)(void *),
41 void *info, int wait);
40 42
41/* 43/*
42 * cpu_sibling_map and cpu_core_map now live 44 * cpu_sibling_map and cpu_core_map now live
@@ -47,7 +49,7 @@ extern void smp_send_reschedule(int cpu);
47 */ 49 */
48DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); 50DECLARE_PER_CPU(cpumask_t, cpu_sibling_map);
49DECLARE_PER_CPU(cpumask_t, cpu_core_map); 51DECLARE_PER_CPU(cpumask_t, cpu_core_map);
50extern u8 cpu_llc_id[NR_CPUS]; 52DECLARE_PER_CPU(u8, cpu_llc_id);
51 53
52#define SMP_TRAMPOLINE_BASE 0x6000 54#define SMP_TRAMPOLINE_BASE 0x6000
53 55
@@ -84,7 +86,9 @@ static inline int hard_smp_processor_id(void)
84 * Some lowlevel functions might want to know about 86 * Some lowlevel functions might want to know about
85 * the real APIC ID <-> CPU # mapping. 87 * the real APIC ID <-> CPU # mapping.
86 */ 88 */
87extern u8 x86_cpu_to_apicid[NR_CPUS]; /* physical ID */ 89extern u8 __initdata x86_cpu_to_apicid_init[];
90extern void *x86_cpu_to_apicid_ptr;
91DECLARE_PER_CPU(u8, x86_cpu_to_apicid); /* physical ID */
88extern u8 bios_cpu_apicid[]; 92extern u8 bios_cpu_apicid[];
89 93
90static inline int cpu_present_to_apicid(int mps_cpu) 94static inline int cpu_present_to_apicid(int mps_cpu)
@@ -115,8 +119,9 @@ static __inline int logical_smp_processor_id(void)
115} 119}
116 120
117#ifdef CONFIG_SMP 121#ifdef CONFIG_SMP
118#define cpu_physical_id(cpu) x86_cpu_to_apicid[cpu] 122#define cpu_physical_id(cpu) per_cpu(x86_cpu_to_apicid, cpu)
119#else 123#else
124extern unsigned int boot_cpu_id;
120#define cpu_physical_id(cpu) boot_cpu_id 125#define cpu_physical_id(cpu) boot_cpu_id
121#endif /* !CONFIG_SMP */ 126#endif /* !CONFIG_SMP */
122#endif 127#endif
diff --git a/include/asm-x86/system_32.h b/include/asm-x86/system_32.h
index db6283eb5e46..ef8468883bac 100644
--- a/include/asm-x86/system_32.h
+++ b/include/asm-x86/system_32.h
@@ -315,5 +315,6 @@ extern unsigned long arch_align_stack(unsigned long sp);
315extern void free_init_pages(char *what, unsigned long begin, unsigned long end); 315extern void free_init_pages(char *what, unsigned long begin, unsigned long end);
316 316
317void default_idle(void); 317void default_idle(void);
318void __show_registers(struct pt_regs *, int all);
318 319
319#endif 320#endif
diff --git a/include/asm-x86/topology_32.h b/include/asm-x86/topology_32.h
index ae1074603c4b..9040f5a61278 100644
--- a/include/asm-x86/topology_32.h
+++ b/include/asm-x86/topology_32.h
@@ -28,8 +28,8 @@
28#define _ASM_I386_TOPOLOGY_H 28#define _ASM_I386_TOPOLOGY_H
29 29
30#ifdef CONFIG_X86_HT 30#ifdef CONFIG_X86_HT
31#define topology_physical_package_id(cpu) (cpu_data[cpu].phys_proc_id) 31#define topology_physical_package_id(cpu) (cpu_data(cpu).phys_proc_id)
32#define topology_core_id(cpu) (cpu_data[cpu].cpu_core_id) 32#define topology_core_id(cpu) (cpu_data(cpu).cpu_core_id)
33#define topology_core_siblings(cpu) (per_cpu(cpu_core_map, cpu)) 33#define topology_core_siblings(cpu) (per_cpu(cpu_core_map, cpu))
34#define topology_thread_siblings(cpu) (per_cpu(cpu_sibling_map, cpu)) 34#define topology_thread_siblings(cpu) (per_cpu(cpu_sibling_map, cpu))
35#endif 35#endif
diff --git a/include/asm-x86/topology_64.h b/include/asm-x86/topology_64.h
index c0c93d744673..a718dda037e0 100644
--- a/include/asm-x86/topology_64.h
+++ b/include/asm-x86/topology_64.h
@@ -56,8 +56,8 @@ extern int __node_distance(int, int);
56#endif 56#endif
57 57
58#ifdef CONFIG_SMP 58#ifdef CONFIG_SMP
59#define topology_physical_package_id(cpu) (cpu_data[cpu].phys_proc_id) 59#define topology_physical_package_id(cpu) (cpu_data(cpu).phys_proc_id)
60#define topology_core_id(cpu) (cpu_data[cpu].cpu_core_id) 60#define topology_core_id(cpu) (cpu_data(cpu).cpu_core_id)
61#define topology_core_siblings(cpu) (per_cpu(cpu_core_map, cpu)) 61#define topology_core_siblings(cpu) (per_cpu(cpu_core_map, cpu))
62#define topology_thread_siblings(cpu) (per_cpu(cpu_sibling_map, cpu)) 62#define topology_thread_siblings(cpu) (per_cpu(cpu_sibling_map, cpu))
63#define mc_capable() (boot_cpu_data.x86_max_cores > 1) 63#define mc_capable() (boot_cpu_data.x86_max_cores > 1)
diff --git a/include/linux/cdrom.h b/include/linux/cdrom.h
index 2b641b176e7f..c6d3e22c0624 100644
--- a/include/linux/cdrom.h
+++ b/include/linux/cdrom.h
@@ -2,7 +2,7 @@
2 * -- <linux/cdrom.h> 2 * -- <linux/cdrom.h>
3 * General header file for linux CD-ROM drivers 3 * General header file for linux CD-ROM drivers
4 * Copyright (C) 1992 David Giller, rafetmad@oxy.edu 4 * Copyright (C) 1992 David Giller, rafetmad@oxy.edu
5 * 1994, 1995 Eberhard Moenkeberg, emoenke@gwdg.de 5 * 1994, 1995 Eberhard Mönkeberg, emoenke@gwdg.de
6 * 1996 David van Leeuwen, david@tm.tno.nl 6 * 1996 David van Leeuwen, david@tm.tno.nl
7 * 1997, 1998 Erik Andersen, andersee@debian.org 7 * 1997, 1998 Erik Andersen, andersee@debian.org
8 * 1998-2002 Jens Axboe, axboe@suse.de 8 * 1998-2002 Jens Axboe, axboe@suse.de
@@ -76,7 +76,7 @@
76 (struct cdrom_multisession) */ 76 (struct cdrom_multisession) */
77#define CDROM_GET_MCN 0x5311 /* Obtain the "Universal Product Code" 77#define CDROM_GET_MCN 0x5311 /* Obtain the "Universal Product Code"
78 if available (struct cdrom_mcn) */ 78 if available (struct cdrom_mcn) */
79#define CDROM_GET_UPC CDROM_GET_MCN /* This one is depricated, 79#define CDROM_GET_UPC CDROM_GET_MCN /* This one is deprecated,
80 but here anyway for compatibility */ 80 but here anyway for compatibility */
81#define CDROMRESET 0x5312 /* hard-reset the drive */ 81#define CDROMRESET 0x5312 /* hard-reset the drive */
82#define CDROMVOLREAD 0x5313 /* Get the drive's volume setting 82#define CDROMVOLREAD 0x5313 /* Get the drive's volume setting
@@ -506,7 +506,7 @@ struct cdrom_generic_command
506#define GPMODE_TO_PROTECT_PAGE 0x1d 506#define GPMODE_TO_PROTECT_PAGE 0x1d
507#define GPMODE_CAPABILITIES_PAGE 0x2a 507#define GPMODE_CAPABILITIES_PAGE 0x2a
508#define GPMODE_ALL_PAGES 0x3f 508#define GPMODE_ALL_PAGES 0x3f
509/* Not in Mt. Fuji, but in ATAPI 2.6 -- depricated now in favor 509/* Not in Mt. Fuji, but in ATAPI 2.6 -- deprecated now in favor
510 * of MODE_SENSE_POWER_PAGE */ 510 * of MODE_SENSE_POWER_PAGE */
511#define GPMODE_CDROM_PAGE 0x0d 511#define GPMODE_CDROM_PAGE 0x0d
512 512
diff --git a/include/linux/crypto.h b/include/linux/crypto.h
index fc32694287e2..f3110ebe894a 100644
--- a/include/linux/crypto.h
+++ b/include/linux/crypto.h
@@ -6,7 +6,7 @@
6 * Copyright (c) 2005 Herbert Xu <herbert@gondor.apana.org.au> 6 * Copyright (c) 2005 Herbert Xu <herbert@gondor.apana.org.au>
7 * 7 *
8 * Portions derived from Cryptoapi, by Alexander Kjeldaas <astor@fast.no> 8 * Portions derived from Cryptoapi, by Alexander Kjeldaas <astor@fast.no>
9 * and Nettle, by Niels Möller. 9 * and Nettle, by Niels Möller.
10 * 10 *
11 * This program is free software; you can redistribute it and/or modify it 11 * This program is free software; you can redistribute it and/or modify it
12 * under the terms of the GNU General Public License as published by the Free 12 * under the terms of the GNU General Public License as published by the Free
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
index 499f5373e213..37c66d1254b5 100644
--- a/include/linux/device-mapper.h
+++ b/include/linux/device-mapper.h
@@ -183,11 +183,14 @@ int dm_resume(struct mapped_device *md);
183 */ 183 */
184uint32_t dm_get_event_nr(struct mapped_device *md); 184uint32_t dm_get_event_nr(struct mapped_device *md);
185int dm_wait_event(struct mapped_device *md, int event_nr); 185int dm_wait_event(struct mapped_device *md, int event_nr);
186uint32_t dm_next_uevent_seq(struct mapped_device *md);
187void dm_uevent_add(struct mapped_device *md, struct list_head *elist);
186 188
187/* 189/*
188 * Info functions. 190 * Info functions.
189 */ 191 */
190const char *dm_device_name(struct mapped_device *md); 192const char *dm_device_name(struct mapped_device *md);
193int dm_copy_name_and_uuid(struct mapped_device *md, char *name, char *uuid);
191struct gendisk *dm_disk(struct mapped_device *md); 194struct gendisk *dm_disk(struct mapped_device *md);
192int dm_suspended(struct mapped_device *md); 195int dm_suspended(struct mapped_device *md);
193int dm_noflush_suspending(struct dm_target *ti); 196int dm_noflush_suspending(struct dm_target *ti);
diff --git a/include/linux/dm-ioctl.h b/include/linux/dm-ioctl.h
index b93486107821..523281c5b7f5 100644
--- a/include/linux/dm-ioctl.h
+++ b/include/linux/dm-ioctl.h
@@ -131,6 +131,7 @@ struct dm_ioctl {
131 char name[DM_NAME_LEN]; /* device name */ 131 char name[DM_NAME_LEN]; /* device name */
132 char uuid[DM_UUID_LEN]; /* unique identifier for 132 char uuid[DM_UUID_LEN]; /* unique identifier for
133 * the block device */ 133 * the block device */
134 char data[7]; /* padding or data */
134}; 135};
135 136
136/* 137/*
@@ -285,9 +286,9 @@ typedef char ioctl_struct[308];
285#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) 286#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
286 287
287#define DM_VERSION_MAJOR 4 288#define DM_VERSION_MAJOR 4
288#define DM_VERSION_MINOR 11 289#define DM_VERSION_MINOR 12
289#define DM_VERSION_PATCHLEVEL 0 290#define DM_VERSION_PATCHLEVEL 0
290#define DM_VERSION_EXTRA "-ioctl (2006-10-12)" 291#define DM_VERSION_EXTRA "-ioctl (2007-10-02)"
291 292
292/* Status bits */ 293/* Status bits */
293#define DM_READONLY_FLAG (1 << 0) /* In/Out */ 294#define DM_READONLY_FLAG (1 << 0) /* In/Out */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 1657e995f72c..1bcce660cf03 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1536,7 +1536,7 @@ static inline int break_lease(struct inode *inode, unsigned int mode)
1536 1536
1537extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs, 1537extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs,
1538 struct file *filp); 1538 struct file *filp);
1539extern long do_sys_open(int fdf, const char __user *filename, int flags, 1539extern long do_sys_open(int dfd, const char __user *filename, int flags,
1540 int mode); 1540 int mode);
1541extern struct file *filp_open(const char *, int, int); 1541extern struct file *filp_open(const char *, int, int);
1542extern struct file * dentry_open(struct dentry *, struct vfsmount *, int); 1542extern struct file * dentry_open(struct dentry *, struct vfsmount *, int);
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 19db0a4ae447..2e4b8dd03cfe 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -192,22 +192,20 @@ typedef unsigned char byte; /* used everywhere */
192struct hwif_s; 192struct hwif_s;
193typedef int (ide_ack_intr_t)(struct hwif_s *); 193typedef int (ide_ack_intr_t)(struct hwif_s *);
194 194
195#ifndef NO_DMA
196#define NO_DMA 255
197#endif
198
199/* 195/*
200 * hwif_chipset_t is used to keep track of the specific hardware 196 * hwif_chipset_t is used to keep track of the specific hardware
201 * chipset used by each IDE interface, if known. 197 * chipset used by each IDE interface, if known.
202 */ 198 */
203typedef enum { ide_unknown, ide_generic, ide_pci, 199enum { ide_unknown, ide_generic, ide_pci,
204 ide_cmd640, ide_dtc2278, ide_ali14xx, 200 ide_cmd640, ide_dtc2278, ide_ali14xx,
205 ide_qd65xx, ide_umc8672, ide_ht6560b, 201 ide_qd65xx, ide_umc8672, ide_ht6560b,
206 ide_rz1000, ide_trm290, 202 ide_rz1000, ide_trm290,
207 ide_cmd646, ide_cy82c693, ide_4drives, 203 ide_cmd646, ide_cy82c693, ide_4drives,
208 ide_pmac, ide_etrax100, ide_acorn, 204 ide_pmac, ide_etrax100, ide_acorn,
209 ide_au1xxx, ide_forced 205 ide_au1xxx, ide_forced
210} hwif_chipset_t; 206};
207
208typedef u8 hwif_chipset_t;
211 209
212/* 210/*
213 * Structure to hold all information about the location of this port 211 * Structure to hold all information about the location of this port
@@ -215,22 +213,16 @@ typedef enum { ide_unknown, ide_generic, ide_pci,
215typedef struct hw_regs_s { 213typedef struct hw_regs_s {
216 unsigned long io_ports[IDE_NR_PORTS]; /* task file registers */ 214 unsigned long io_ports[IDE_NR_PORTS]; /* task file registers */
217 int irq; /* our irq number */ 215 int irq; /* our irq number */
218 int dma; /* our dma entry */
219 ide_ack_intr_t *ack_intr; /* acknowledge interrupt */ 216 ide_ack_intr_t *ack_intr; /* acknowledge interrupt */
220 hwif_chipset_t chipset; 217 hwif_chipset_t chipset;
221 struct device *dev; 218 struct device *dev;
222} hw_regs_t; 219} hw_regs_t;
223 220
224/* 221struct hwif_s * ide_find_port(unsigned long);
225 * Register new hardware with ide 222
226 */ 223int ide_register_hw(hw_regs_t *, void (*)(struct hwif_s *), int,
227int ide_register_hw(hw_regs_t *, int, struct hwif_s **); 224 struct hwif_s **);
228int ide_register_hw_with_fixup(hw_regs_t *, int, struct hwif_s **,
229 void (*)(struct hwif_s *));
230 225
231/*
232 * Set up hw_regs_t structure before calling ide_register_hw (optional)
233 */
234void ide_setup_ports( hw_regs_t *hw, 226void ide_setup_ports( hw_regs_t *hw,
235 unsigned long base, 227 unsigned long base,
236 int *offsets, 228 int *offsets,
@@ -268,11 +260,7 @@ static inline void ide_std_init_ports(hw_regs_t *hw,
268# define ide_init_default_irq(base) (0) 260# define ide_init_default_irq(base) (0)
269#endif 261#endif
270 262
271/* 263#ifdef CONFIG_IDE_ARCH_OBSOLETE_INIT
272 * ide_init_hwif_ports() is OBSOLETE and will be removed in 2.7 series.
273 * New ports shouldn't define IDE_ARCH_OBSOLETE_INIT in <asm/ide.h>.
274 */
275#ifdef IDE_ARCH_OBSOLETE_INIT
276static inline void ide_init_hwif_ports(hw_regs_t *hw, 264static inline void ide_init_hwif_ports(hw_regs_t *hw,
277 unsigned long io_addr, 265 unsigned long io_addr,
278 unsigned long ctl_addr, 266 unsigned long ctl_addr,
@@ -302,7 +290,7 @@ static inline void ide_init_hwif_ports(hw_regs_t *hw,
302 if (io_addr || ctl_addr) 290 if (io_addr || ctl_addr)
303 printk(KERN_WARNING "%s: must not be called\n", __FUNCTION__); 291 printk(KERN_WARNING "%s: must not be called\n", __FUNCTION__);
304} 292}
305#endif /* IDE_ARCH_OBSOLETE_INIT */ 293#endif /* CONFIG_IDE_ARCH_OBSOLETE_INIT */
306 294
307/* Currently only m68k, apus and m8xx need it */ 295/* Currently only m68k, apus and m8xx need it */
308#ifndef IDE_ARCH_ACK_INTR 296#ifndef IDE_ARCH_ACK_INTR
@@ -363,7 +351,6 @@ typedef union {
363 * ATA DATA Register Special. 351 * ATA DATA Register Special.
364 * ATA NSECTOR Count Register(). 352 * ATA NSECTOR Count Register().
365 * ATAPI Byte Count Register. 353 * ATAPI Byte Count Register.
366 * Channel index ordering pairs.
367 */ 354 */
368typedef union { 355typedef union {
369 unsigned all :16; 356 unsigned all :16;
@@ -378,7 +365,7 @@ typedef union {
378#error "Please fix <asm/byteorder.h>" 365#error "Please fix <asm/byteorder.h>"
379#endif 366#endif
380 } b; 367 } b;
381} ata_nsector_t, ata_data_t, atapi_bcount_t, ata_index_t; 368} ata_nsector_t, ata_data_t, atapi_bcount_t;
382 369
383/* 370/*
384 * ATA-IDE Select Register, aka Device-Head 371 * ATA-IDE Select Register, aka Device-Head
@@ -657,7 +644,7 @@ typedef struct ide_drive_s {
657 ((1<<ide_pci)|(1<<ide_cmd646)|(1<<ide_ali14xx)) 644 ((1<<ide_pci)|(1<<ide_cmd646)|(1<<ide_ali14xx))
658#define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1) 645#define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1)
659 646
660struct ide_pci_device_s; 647struct ide_port_info;
661 648
662typedef struct hwif_s { 649typedef struct hwif_s {
663 struct hwif_s *next; /* for linked-list in ide_hwgroup_t */ 650 struct hwif_s *next; /* for linked-list in ide_hwgroup_t */
@@ -672,7 +659,6 @@ typedef struct hwif_s {
672 unsigned long sata_scr[SATA_NR_PORTS]; 659 unsigned long sata_scr[SATA_NR_PORTS];
673 unsigned long sata_misc[SATA_NR_PORTS]; 660 unsigned long sata_misc[SATA_NR_PORTS];
674 661
675 hw_regs_t hw; /* Hardware info */
676 ide_drive_t drives[MAX_DRIVES]; /* drive info */ 662 ide_drive_t drives[MAX_DRIVES]; /* drive info */
677 663
678 u8 major; /* our major number */ 664 u8 major; /* our major number */
@@ -694,7 +680,9 @@ typedef struct hwif_s {
694 hwif_chipset_t chipset; /* sub-module for tuning.. */ 680 hwif_chipset_t chipset; /* sub-module for tuning.. */
695 681
696 struct pci_dev *pci_dev; /* for pci chipsets */ 682 struct pci_dev *pci_dev; /* for pci chipsets */
697 struct ide_pci_device_s *cds; /* chipset device struct */ 683 const struct ide_port_info *cds; /* chipset device struct */
684
685 ide_ack_intr_t *ack_intr;
698 686
699 void (*rw_disk)(ide_drive_t *, struct request *); 687 void (*rw_disk)(ide_drive_t *, struct request *);
700 688
@@ -725,6 +713,8 @@ typedef struct hwif_s {
725 u8 (*mdma_filter)(ide_drive_t *); 713 u8 (*mdma_filter)(ide_drive_t *);
726 u8 (*udma_filter)(ide_drive_t *); 714 u8 (*udma_filter)(ide_drive_t *);
727 715
716 void (*fixup)(struct hwif_s *);
717
728 void (*ata_input_data)(ide_drive_t *, void *, u32); 718 void (*ata_input_data)(ide_drive_t *, void *, u32);
729 void (*ata_output_data)(ide_drive_t *, void *, u32); 719 void (*ata_output_data)(ide_drive_t *, void *, u32);
730 720
@@ -841,8 +831,6 @@ typedef struct hwgroup_s {
841 831
842 /* for pci chipsets */ 832 /* for pci chipsets */
843 struct pci_dev *pci_dev; 833 struct pci_dev *pci_dev;
844 /* chipset device struct */
845 struct ide_pci_device_s *cds;
846 834
847 /* current request */ 835 /* current request */
848 struct request *rq; 836 struct request *rq;
@@ -1030,36 +1018,16 @@ extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs);
1030int ide_end_dequeued_request(ide_drive_t *drive, struct request *rq, 1018int ide_end_dequeued_request(ide_drive_t *drive, struct request *rq,
1031 int uptodate, int nr_sectors); 1019 int uptodate, int nr_sectors);
1032 1020
1033/*
1034 * This is used on exit from the driver to designate the next irq handler
1035 * and also to start the safety timer.
1036 */
1037extern void ide_set_handler (ide_drive_t *drive, ide_handler_t *handler, unsigned int timeout, ide_expiry_t *expiry); 1021extern void ide_set_handler (ide_drive_t *drive, ide_handler_t *handler, unsigned int timeout, ide_expiry_t *expiry);
1038 1022
1039/*
1040 * This is used on exit from the driver to designate the next irq handler
1041 * and start the safety time safely and atomically from the IRQ handler
1042 * with respect to the command issue (which it also does)
1043 */
1044extern void ide_execute_command(ide_drive_t *, task_ioreg_t cmd, ide_handler_t *, unsigned int, ide_expiry_t *); 1023extern void ide_execute_command(ide_drive_t *, task_ioreg_t cmd, ide_handler_t *, unsigned int, ide_expiry_t *);
1045 1024
1046ide_startstop_t __ide_error(ide_drive_t *, struct request *, u8, u8); 1025ide_startstop_t __ide_error(ide_drive_t *, struct request *, u8, u8);
1047 1026
1048/*
1049 * ide_error() takes action based on the error returned by the controller.
1050 * The caller should return immediately after invoking this.
1051 *
1052 * (drive, msg, status)
1053 */
1054ide_startstop_t ide_error (ide_drive_t *drive, const char *msg, byte stat); 1027ide_startstop_t ide_error (ide_drive_t *drive, const char *msg, byte stat);
1055 1028
1056ide_startstop_t __ide_abort(ide_drive_t *, struct request *); 1029ide_startstop_t __ide_abort(ide_drive_t *, struct request *);
1057 1030
1058/*
1059 * Abort a running command on the controller triggering the abort
1060 * from a host side, non error situation
1061 * (drive, msg)
1062 */
1063extern ide_startstop_t ide_abort(ide_drive_t *, const char *); 1031extern ide_startstop_t ide_abort(ide_drive_t *, const char *);
1064 1032
1065extern void ide_fix_driveid(struct hd_driveid *); 1033extern void ide_fix_driveid(struct hd_driveid *);
@@ -1075,15 +1043,8 @@ extern void ide_fixstring(u8 *, const int, const int);
1075 1043
1076int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); 1044int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long);
1077 1045
1078/*
1079 * Start a reset operation for an IDE interface.
1080 * The caller should return immediately after invoking this.
1081 */
1082extern ide_startstop_t ide_do_reset (ide_drive_t *); 1046extern ide_startstop_t ide_do_reset (ide_drive_t *);
1083 1047
1084/*
1085 * This function is intended to be used prior to invoking ide_do_drive_cmd().
1086 */
1087extern void ide_init_drive_cmd (struct request *rq); 1048extern void ide_init_drive_cmd (struct request *rq);
1088 1049
1089/* 1050/*
@@ -1098,13 +1059,6 @@ typedef enum {
1098 1059
1099extern int ide_do_drive_cmd(ide_drive_t *, struct request *, ide_action_t); 1060extern int ide_do_drive_cmd(ide_drive_t *, struct request *, ide_action_t);
1100 1061
1101/*
1102 * Clean up after success/failure of an explicit drive cmd.
1103 * stat/err are used only when (HWGROUP(drive)->rq->cmd == IDE_DRIVE_CMD).
1104 * stat/err are used only when (HWGROUP(drive)->rq->cmd == IDE_DRIVE_TASK_MASK).
1105 *
1106 * (ide_drive_t *drive, u8 stat, u8 err)
1107 */
1108extern void ide_end_drive_cmd(ide_drive_t *, u8, u8); 1062extern void ide_end_drive_cmd(ide_drive_t *, u8, u8);
1109 1063
1110/* 1064/*
@@ -1177,10 +1131,6 @@ extern int taskfile_lib_get_identify(ide_drive_t *drive, u8 *);
1177 1131
1178extern int ide_wait_not_busy(ide_hwif_t *hwif, unsigned long timeout); 1132extern int ide_wait_not_busy(ide_hwif_t *hwif, unsigned long timeout);
1179 1133
1180/*
1181 * ide_stall_queue() can be used by a drive to give excess bandwidth back
1182 * to the hwgroup by sleeping for timeout jiffies.
1183 */
1184extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout); 1134extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout);
1185 1135
1186extern int ide_spin_wait_hwgroup(ide_drive_t *); 1136extern int ide_spin_wait_hwgroup(ide_drive_t *);
@@ -1200,8 +1150,8 @@ extern int __ide_pci_register_driver(struct pci_driver *driver, struct module *o
1200#define ide_pci_register_driver(d) pci_register_driver(d) 1150#define ide_pci_register_driver(d) pci_register_driver(d)
1201#endif 1151#endif
1202 1152
1203void ide_pci_setup_ports(struct pci_dev *, struct ide_pci_device_s *, int, ata_index_t *); 1153void ide_pci_setup_ports(struct pci_dev *, const struct ide_port_info *, int, u8 *);
1204extern void ide_setup_pci_noise (struct pci_dev *dev, struct ide_pci_device_s *d); 1154void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *);
1205 1155
1206extern void default_hwif_iops(ide_hwif_t *); 1156extern void default_hwif_iops(ide_hwif_t *);
1207extern void default_hwif_mmiops(ide_hwif_t *); 1157extern void default_hwif_mmiops(ide_hwif_t *);
@@ -1261,6 +1211,14 @@ enum {
1261 IDE_HFLAG_SERIALIZE = (1 << 20), 1211 IDE_HFLAG_SERIALIZE = (1 << 20),
1262 /* use legacy IRQs */ 1212 /* use legacy IRQs */
1263 IDE_HFLAG_LEGACY_IRQS = (1 << 21), 1213 IDE_HFLAG_LEGACY_IRQS = (1 << 21),
1214 /* force use of legacy IRQs */
1215 IDE_HFLAG_FORCE_LEGACY_IRQS = (1 << 22),
1216 /* limit LBA48 requests to 256 sectors */
1217 IDE_HFLAG_RQSIZE_256 = (1 << 23),
1218 /* use 32-bit I/O ops */
1219 IDE_HFLAG_IO_32BIT = (1 << 24),
1220 /* unmask IRQs */
1221 IDE_HFLAG_UNMASK_IRQS = (1 << 25),
1264}; 1222};
1265 1223
1266#ifdef CONFIG_BLK_DEV_OFFBOARD 1224#ifdef CONFIG_BLK_DEV_OFFBOARD
@@ -1269,7 +1227,7 @@ enum {
1269# define IDE_HFLAG_OFF_BOARD 0 1227# define IDE_HFLAG_OFF_BOARD 0
1270#endif 1228#endif
1271 1229
1272typedef struct ide_pci_device_s { 1230struct ide_port_info {
1273 char *name; 1231 char *name;
1274 unsigned int (*init_chipset)(struct pci_dev *, const char *); 1232 unsigned int (*init_chipset)(struct pci_dev *, const char *);
1275 void (*init_iops)(ide_hwif_t *); 1233 void (*init_iops)(ide_hwif_t *);
@@ -1277,17 +1235,17 @@ typedef struct ide_pci_device_s {
1277 void (*init_dma)(ide_hwif_t *, unsigned long); 1235 void (*init_dma)(ide_hwif_t *, unsigned long);
1278 void (*fixup)(ide_hwif_t *); 1236 void (*fixup)(ide_hwif_t *);
1279 ide_pci_enablebit_t enablebits[2]; 1237 ide_pci_enablebit_t enablebits[2];
1238 hwif_chipset_t chipset;
1280 unsigned int extra; 1239 unsigned int extra;
1281 struct ide_pci_device_s *next;
1282 u32 host_flags; 1240 u32 host_flags;
1283 u8 pio_mask; 1241 u8 pio_mask;
1284 u8 swdma_mask; 1242 u8 swdma_mask;
1285 u8 mwdma_mask; 1243 u8 mwdma_mask;
1286 u8 udma_mask; 1244 u8 udma_mask;
1287} ide_pci_device_t; 1245};
1288 1246
1289extern int ide_setup_pci_device(struct pci_dev *, ide_pci_device_t *); 1247int ide_setup_pci_device(struct pci_dev *, const struct ide_port_info *);
1290extern int ide_setup_pci_devices(struct pci_dev *, struct pci_dev *, ide_pci_device_t *); 1248int ide_setup_pci_devices(struct pci_dev *, struct pci_dev *, const struct ide_port_info *);
1291 1249
1292void ide_map_sg(ide_drive_t *, struct request *); 1250void ide_map_sg(ide_drive_t *, struct request *);
1293void ide_init_sg_cmd(ide_drive_t *, struct request *); 1251void ide_init_sg_cmd(ide_drive_t *, struct request *);
@@ -1370,8 +1328,7 @@ void ide_unregister_region(struct gendisk *);
1370 1328
1371void ide_undecoded_slave(ide_hwif_t *); 1329void ide_undecoded_slave(ide_hwif_t *);
1372 1330
1373int probe_hwif_init_with_fixup(ide_hwif_t *, void (*)(ide_hwif_t *)); 1331int ide_device_add(u8 idx[4]);
1374extern int probe_hwif_init(ide_hwif_t *);
1375 1332
1376static inline void *ide_get_hwifdata (ide_hwif_t * hwif) 1333static inline void *ide_get_hwifdata (ide_hwif_t * hwif)
1377{ 1334{
diff --git a/include/linux/ipmi_smi.h b/include/linux/ipmi_smi.h
index efa292a52e7e..56ae438ae510 100644
--- a/include/linux/ipmi_smi.h
+++ b/include/linux/ipmi_smi.h
@@ -118,7 +118,7 @@ struct ipmi_smi_handlers
118 /* Enable/disable firmware maintenance mode. Note that this 118 /* Enable/disable firmware maintenance mode. Note that this
119 is *not* the modes defined, this is simply an on/off 119 is *not* the modes defined, this is simply an on/off
120 setting. The message handler does the mode handling. Note 120 setting. The message handler does the mode handling. Note
121 that this is called from interupt context, so it cannot 121 that this is called from interrupt context, so it cannot
122 block. */ 122 block. */
123 void (*set_maintenance_mode)(void *send_info, int enable); 123 void (*set_maintenance_mode)(void *send_info, int enable);
124 124
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index c5164c257f71..e82a6ebc725d 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -160,6 +160,12 @@ struct nfs_inode {
160 /* Open contexts for shared mmap writes */ 160 /* Open contexts for shared mmap writes */
161 struct list_head open_files; 161 struct list_head open_files;
162 162
163 /* Number of in-flight sillydelete RPC calls */
164 atomic_t silly_count;
165 /* List of deferred sillydelete requests */
166 struct hlist_head silly_list;
167 wait_queue_head_t waitqueue;
168
163#ifdef CONFIG_NFS_V4 169#ifdef CONFIG_NFS_V4
164 struct nfs4_cached_acl *nfs4_acl; 170 struct nfs4_cached_acl *nfs4_acl;
165 /* NFSv4 state */ 171 /* NFSv4 state */
@@ -394,6 +400,8 @@ extern void nfs_release_automount_timer(void);
394 */ 400 */
395extern int nfs_async_unlink(struct inode *dir, struct dentry *dentry); 401extern int nfs_async_unlink(struct inode *dir, struct dentry *dentry);
396extern void nfs_complete_unlink(struct dentry *dentry, struct inode *); 402extern void nfs_complete_unlink(struct dentry *dentry, struct inode *);
403extern void nfs_block_sillyrename(struct dentry *dentry);
404extern void nfs_unblock_sillyrename(struct dentry *dentry);
397 405
398/* 406/*
399 * linux/fs/nfs/write.c 407 * linux/fs/nfs/write.c
diff --git a/include/linux/prefetch.h b/include/linux/prefetch.h
index 1adfe668d031..af7c36a5a521 100644
--- a/include/linux/prefetch.h
+++ b/include/linux/prefetch.h
@@ -34,17 +34,12 @@
34 34
35*/ 35*/
36 36
37/*
38 * These cannot be do{}while(0) macros. See the mental gymnastics in
39 * the loop macro.
40 */
41
42#ifndef ARCH_HAS_PREFETCH 37#ifndef ARCH_HAS_PREFETCH
43static inline void prefetch(const void *x) {;} 38#define prefetch(x) __builtin_prefetch(x)
44#endif 39#endif
45 40
46#ifndef ARCH_HAS_PREFETCHW 41#ifndef ARCH_HAS_PREFETCHW
47static inline void prefetchw(const void *x) {;} 42#define prefetchw(x) __builtin_prefetch(x,1)
48#endif 43#endif
49 44
50#ifndef ARCH_HAS_SPINLOCK_PREFETCH 45#ifndef ARCH_HAS_SPINLOCK_PREFETCH
diff --git a/include/linux/security.h b/include/linux/security.h
index ff3f857f6957..ac050830a873 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -832,9 +832,11 @@ struct request_sock;
832 * incoming sk_buff @skb has been associated with a particular socket, @sk. 832 * incoming sk_buff @skb has been associated with a particular socket, @sk.
833 * @sk contains the sock (not socket) associated with the incoming sk_buff. 833 * @sk contains the sock (not socket) associated with the incoming sk_buff.
834 * @skb contains the incoming network data. 834 * @skb contains the incoming network data.
835 * @socket_getpeersec: 835 * @socket_getpeersec_stream:
836 * This hook allows the security module to provide peer socket security 836 * This hook allows the security module to provide peer socket security
837 * state to userspace via getsockopt SO_GETPEERSEC. 837 * state for unix or connected tcp sockets to userspace via getsockopt
838 * SO_GETPEERSEC. For tcp sockets this can be meaningful if the
839 * socket is associated with an ipsec SA.
838 * @sock is the local socket. 840 * @sock is the local socket.
839 * @optval userspace memory where the security state is to be copied. 841 * @optval userspace memory where the security state is to be copied.
840 * @optlen userspace int where the module should copy the actual length 842 * @optlen userspace int where the module should copy the actual length
@@ -843,6 +845,17 @@ struct request_sock;
843 * by the caller. 845 * by the caller.
844 * Return 0 if all is well, otherwise, typical getsockopt return 846 * Return 0 if all is well, otherwise, typical getsockopt return
845 * values. 847 * values.
848 * @socket_getpeersec_dgram:
849 * This hook allows the security module to provide peer socket security
850 * state for udp sockets on a per-packet basis to userspace via
851 * getsockopt SO_GETPEERSEC. The application must first have indicated
852 * the IP_PASSSEC option via getsockopt. It can then retrieve the
853 * security state returned by this hook for a packet via the SCM_SECURITY
854 * ancillary message type.
855 * @skb is the skbuff for the packet being queried
856 * @secdata is a pointer to a buffer in which to copy the security data
857 * @seclen is the maximum length for @secdata
858 * Return 0 on success, error on failure.
846 * @sk_alloc_security: 859 * @sk_alloc_security:
847 * Allocate and attach a security structure to the sk->sk_security field, 860 * Allocate and attach a security structure to the sk->sk_security field,
848 * which is used to copy security attributes between local stream sockets. 861 * which is used to copy security attributes between local stream sockets.
diff --git a/include/net/irda/irttp.h b/include/net/irda/irttp.h
index cf80c1af5854..32c385dd9e06 100644
--- a/include/net/irda/irttp.h
+++ b/include/net/irda/irttp.h
@@ -56,7 +56,7 @@
56 56
57/* Receive queue sizes */ 57/* Receive queue sizes */
58/* Minimum of credit that the peer should hold. 58/* Minimum of credit that the peer should hold.
59 * If the peer has less credits than 9 frames, we will explicitely send 59 * If the peer has less credits than 9 frames, we will explicitly send
60 * him some credits (through irttp_give_credit() and a specific frame). 60 * him some credits (through irttp_give_credit() and a specific frame).
61 * Note that when we give credits it's likely that it won't be sent in 61 * Note that when we give credits it's likely that it won't be sent in
62 * this LAP window, but in the next one. So, we make sure that the peer 62 * this LAP window, but in the next one. So, we make sure that the peer
@@ -66,7 +66,7 @@
66/* This is the default maximum number of credits held by the peer, so the 66/* This is the default maximum number of credits held by the peer, so the
67 * default maximum number of frames he can send us before needing flow 67 * default maximum number of frames he can send us before needing flow
68 * control answer from us (this may be negociated differently at TSAP setup). 68 * control answer from us (this may be negociated differently at TSAP setup).
69 * We want to minimise the number of times we have to explicitely send some 69 * We want to minimise the number of times we have to explicitly send some
70 * credit to the peer, hoping we can piggyback it on the return data. In 70 * credit to the peer, hoping we can piggyback it on the return data. In
71 * particular, it doesn't make sense for us to send credit more than once 71 * particular, it doesn't make sense for us to send credit more than once
72 * per LAP window. 72 * per LAP window.