diff options
Diffstat (limited to 'include')
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 | */ |
528 | static inline void mmiowb(void) | 528 | static 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 | ||
122 | extern struct paca_struct paca[]; | 122 | extern struct paca_struct paca[]; |
123 | 123 | ||
124 | void 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 | 84 | extern void early_quirks(void); |
85 | extern void check_acpi_pci(void); | ||
86 | #else | ||
87 | static inline void check_acpi_pci(void) { } | ||
88 | #endif | ||
89 | 85 | ||
90 | #ifdef CONFIG_ACPI | 86 | #ifdef CONFIG_ACPI |
91 | extern int acpi_lapic; | 87 | extern 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 | */ | ||
187 | typedef 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 | ||
23 | static 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 | ||
44 | static inline void load_gdt(const struct desc_ptr *ptr) | ||
45 | { | ||
46 | asm volatile("lgdt %w0"::"m" (*ptr)); | ||
47 | } | ||
48 | |||
49 | static inline void store_gdt(struct desc_ptr *ptr) | ||
50 | { | ||
51 | asm("sgdt %w0":"=m" (*ptr)); | ||
52 | } | ||
53 | |||
34 | static inline void _set_gate(void *adr, unsigned type, unsigned long func, unsigned dpl, unsigned ist) | 54 | static 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 | ||
94 | static inline void load_idt(const struct desc_ptr *ptr) | ||
95 | { | ||
96 | asm volatile("lidt %w0"::"m" (*ptr)); | ||
97 | } | ||
98 | |||
99 | static inline void store_idt(struct desc_ptr *dtr) | ||
100 | { | ||
101 | asm("sidt %w0":"=m" (*dtr)); | ||
102 | } | ||
103 | |||
74 | static inline void set_tssldt_descriptor(void *ptr, unsigned long tss, unsigned type, | 104 | static 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 */ |
65 | extern unsigned long hpet_address; | 59 | extern unsigned long hpet_address; |
66 | extern unsigned long force_hpet_address; | 60 | extern unsigned long force_hpet_address; |
61 | extern int hpet_force_user; | ||
67 | extern int is_hpet_enabled(void); | 62 | extern int is_hpet_enabled(void); |
68 | extern int hpet_enable(void); | 63 | extern int hpet_enable(void); |
69 | extern unsigned long hpet_readl(unsigned long a); | 64 | extern 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 | ||
134 | extern spinlock_t i8259A_lock; | 134 | extern spinlock_t i8259A_lock; |
135 | 135 | ||
136 | extern 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); | |||
45 | void init_IRQ(void); | 45 | void init_IRQ(void); |
46 | void __init native_init_IRQ(void); | 46 | void __init native_init_IRQ(void); |
47 | 47 | ||
48 | /* Interrupt vector management */ | ||
49 | extern 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; | |||
103 | DECLARE_PER_CPU(struct tss_struct, init_tss); | 104 | DECLARE_PER_CPU(struct tss_struct, init_tss); |
104 | 105 | ||
105 | #ifdef CONFIG_SMP | 106 | #ifdef CONFIG_SMP |
106 | extern struct cpuinfo_x86 cpu_data[]; | 107 | DECLARE_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 | ||
113 | extern 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 | */ | ||
119 | DECLARE_PER_CPU(u8, cpu_llc_id); | ||
114 | extern char ignore_fpu_irq; | 120 | extern char ignore_fpu_irq; |
115 | 121 | ||
116 | void __init cpu_detect(struct cpuinfo_x86 *c); | 122 | void __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 |
91 | extern struct cpuinfo_x86 cpu_data[]; | 92 | DECLARE_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 | ||
98 | extern char ignore_irq13; | 100 | extern 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 | ||
394 | static 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 |
400 | static inline void prefetchw(void *x) | 396 | static 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; | |||
83 | extern int reboot_force; | 83 | extern int reboot_force; |
84 | extern int notsc_setup(char *); | 84 | extern int notsc_setup(char *); |
85 | 85 | ||
86 | extern int timer_over_8254; | ||
87 | |||
88 | extern int gsi_irq_sharing(int gsi); | 86 | extern int gsi_irq_sharing(int gsi); |
89 | 87 | ||
90 | extern int force_mwait; | 88 | extern 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 | ||
60 | extern unsigned long profile_pc(struct pt_regs *regs); | 62 | extern 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 | ||
45 | extern unsigned long profile_pc(struct pt_regs *regs); | 47 | extern 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); | |||
39 | extern void unlock_ipi_call_lock(void); | 39 | extern void unlock_ipi_call_lock(void); |
40 | 40 | ||
41 | #define MAX_APICID 256 | 41 | #define MAX_APICID 256 |
42 | extern u8 x86_cpu_to_apicid[]; | 42 | extern u8 __initdata x86_cpu_to_apicid_init[]; |
43 | extern void *x86_cpu_to_apicid_ptr; | ||
44 | DECLARE_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 | ||
46 | extern void set_cpu_sibling_map(int cpu); | 48 | extern 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); | |||
37 | extern void unlock_ipi_call_lock(void); | 37 | extern void unlock_ipi_call_lock(void); |
38 | extern int smp_num_siblings; | 38 | extern int smp_num_siblings; |
39 | extern void smp_send_reschedule(int cpu); | 39 | extern void smp_send_reschedule(int cpu); |
40 | extern 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 | */ |
48 | DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); | 50 | DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); |
49 | DECLARE_PER_CPU(cpumask_t, cpu_core_map); | 51 | DECLARE_PER_CPU(cpumask_t, cpu_core_map); |
50 | extern u8 cpu_llc_id[NR_CPUS]; | 52 | DECLARE_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 | */ |
87 | extern u8 x86_cpu_to_apicid[NR_CPUS]; /* physical ID */ | 89 | extern u8 __initdata x86_cpu_to_apicid_init[]; |
90 | extern void *x86_cpu_to_apicid_ptr; | ||
91 | DECLARE_PER_CPU(u8, x86_cpu_to_apicid); /* physical ID */ | ||
88 | extern u8 bios_cpu_apicid[]; | 92 | extern u8 bios_cpu_apicid[]; |
89 | 93 | ||
90 | static inline int cpu_present_to_apicid(int mps_cpu) | 94 | static 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 |
124 | extern 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); | |||
315 | extern void free_init_pages(char *what, unsigned long begin, unsigned long end); | 315 | extern void free_init_pages(char *what, unsigned long begin, unsigned long end); |
316 | 316 | ||
317 | void default_idle(void); | 317 | void default_idle(void); |
318 | void __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 | */ |
184 | uint32_t dm_get_event_nr(struct mapped_device *md); | 184 | uint32_t dm_get_event_nr(struct mapped_device *md); |
185 | int dm_wait_event(struct mapped_device *md, int event_nr); | 185 | int dm_wait_event(struct mapped_device *md, int event_nr); |
186 | uint32_t dm_next_uevent_seq(struct mapped_device *md); | ||
187 | void dm_uevent_add(struct mapped_device *md, struct list_head *elist); | ||
186 | 188 | ||
187 | /* | 189 | /* |
188 | * Info functions. | 190 | * Info functions. |
189 | */ | 191 | */ |
190 | const char *dm_device_name(struct mapped_device *md); | 192 | const char *dm_device_name(struct mapped_device *md); |
193 | int dm_copy_name_and_uuid(struct mapped_device *md, char *name, char *uuid); | ||
191 | struct gendisk *dm_disk(struct mapped_device *md); | 194 | struct gendisk *dm_disk(struct mapped_device *md); |
192 | int dm_suspended(struct mapped_device *md); | 195 | int dm_suspended(struct mapped_device *md); |
193 | int dm_noflush_suspending(struct dm_target *ti); | 196 | int 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 | ||
1537 | extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs, | 1537 | extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs, |
1538 | struct file *filp); | 1538 | struct file *filp); |
1539 | extern long do_sys_open(int fdf, const char __user *filename, int flags, | 1539 | extern long do_sys_open(int dfd, const char __user *filename, int flags, |
1540 | int mode); | 1540 | int mode); |
1541 | extern struct file *filp_open(const char *, int, int); | 1541 | extern struct file *filp_open(const char *, int, int); |
1542 | extern struct file * dentry_open(struct dentry *, struct vfsmount *, int); | 1542 | extern 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 */ | |||
192 | struct hwif_s; | 192 | struct hwif_s; |
193 | typedef int (ide_ack_intr_t)(struct hwif_s *); | 193 | typedef 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 | */ |
203 | typedef enum { ide_unknown, ide_generic, ide_pci, | 199 | enum { 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 | |||
208 | typedef 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, | |||
215 | typedef struct hw_regs_s { | 213 | typedef 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 | /* | 221 | struct hwif_s * ide_find_port(unsigned long); |
225 | * Register new hardware with ide | 222 | |
226 | */ | 223 | int ide_register_hw(hw_regs_t *, void (*)(struct hwif_s *), int, |
227 | int ide_register_hw(hw_regs_t *, int, struct hwif_s **); | 224 | struct hwif_s **); |
228 | int 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 | */ | ||
234 | void ide_setup_ports( hw_regs_t *hw, | 226 | void 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 | ||
276 | static inline void ide_init_hwif_ports(hw_regs_t *hw, | 264 | static 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 | */ |
368 | typedef union { | 355 | typedef 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 | ||
660 | struct ide_pci_device_s; | 647 | struct ide_port_info; |
661 | 648 | ||
662 | typedef struct hwif_s { | 649 | typedef 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); | |||
1030 | int ide_end_dequeued_request(ide_drive_t *drive, struct request *rq, | 1018 | int 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 | */ | ||
1037 | extern void ide_set_handler (ide_drive_t *drive, ide_handler_t *handler, unsigned int timeout, ide_expiry_t *expiry); | 1021 | extern 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 | */ | ||
1044 | extern void ide_execute_command(ide_drive_t *, task_ioreg_t cmd, ide_handler_t *, unsigned int, ide_expiry_t *); | 1023 | extern void ide_execute_command(ide_drive_t *, task_ioreg_t cmd, ide_handler_t *, unsigned int, ide_expiry_t *); |
1045 | 1024 | ||
1046 | ide_startstop_t __ide_error(ide_drive_t *, struct request *, u8, u8); | 1025 | ide_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 | */ | ||
1054 | ide_startstop_t ide_error (ide_drive_t *drive, const char *msg, byte stat); | 1027 | ide_startstop_t ide_error (ide_drive_t *drive, const char *msg, byte stat); |
1055 | 1028 | ||
1056 | ide_startstop_t __ide_abort(ide_drive_t *, struct request *); | 1029 | ide_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 | */ | ||
1063 | extern ide_startstop_t ide_abort(ide_drive_t *, const char *); | 1031 | extern ide_startstop_t ide_abort(ide_drive_t *, const char *); |
1064 | 1032 | ||
1065 | extern void ide_fix_driveid(struct hd_driveid *); | 1033 | extern void ide_fix_driveid(struct hd_driveid *); |
@@ -1075,15 +1043,8 @@ extern void ide_fixstring(u8 *, const int, const int); | |||
1075 | 1043 | ||
1076 | int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); | 1044 | int 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 | */ | ||
1082 | extern ide_startstop_t ide_do_reset (ide_drive_t *); | 1046 | extern 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 | */ | ||
1087 | extern void ide_init_drive_cmd (struct request *rq); | 1048 | extern void ide_init_drive_cmd (struct request *rq); |
1088 | 1049 | ||
1089 | /* | 1050 | /* |
@@ -1098,13 +1059,6 @@ typedef enum { | |||
1098 | 1059 | ||
1099 | extern int ide_do_drive_cmd(ide_drive_t *, struct request *, ide_action_t); | 1060 | extern 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 | */ | ||
1108 | extern void ide_end_drive_cmd(ide_drive_t *, u8, u8); | 1062 | extern 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 | ||
1178 | extern int ide_wait_not_busy(ide_hwif_t *hwif, unsigned long timeout); | 1132 | extern 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 | */ | ||
1184 | extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout); | 1134 | extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout); |
1185 | 1135 | ||
1186 | extern int ide_spin_wait_hwgroup(ide_drive_t *); | 1136 | extern 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 | ||
1203 | void ide_pci_setup_ports(struct pci_dev *, struct ide_pci_device_s *, int, ata_index_t *); | 1153 | void ide_pci_setup_ports(struct pci_dev *, const struct ide_port_info *, int, u8 *); |
1204 | extern void ide_setup_pci_noise (struct pci_dev *dev, struct ide_pci_device_s *d); | 1154 | void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *); |
1205 | 1155 | ||
1206 | extern void default_hwif_iops(ide_hwif_t *); | 1156 | extern void default_hwif_iops(ide_hwif_t *); |
1207 | extern void default_hwif_mmiops(ide_hwif_t *); | 1157 | extern 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 | ||
1272 | typedef struct ide_pci_device_s { | 1230 | struct 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 | ||
1289 | extern int ide_setup_pci_device(struct pci_dev *, ide_pci_device_t *); | 1247 | int ide_setup_pci_device(struct pci_dev *, const struct ide_port_info *); |
1290 | extern int ide_setup_pci_devices(struct pci_dev *, struct pci_dev *, ide_pci_device_t *); | 1248 | int ide_setup_pci_devices(struct pci_dev *, struct pci_dev *, const struct ide_port_info *); |
1291 | 1249 | ||
1292 | void ide_map_sg(ide_drive_t *, struct request *); | 1250 | void ide_map_sg(ide_drive_t *, struct request *); |
1293 | void ide_init_sg_cmd(ide_drive_t *, struct request *); | 1251 | void ide_init_sg_cmd(ide_drive_t *, struct request *); |
@@ -1370,8 +1328,7 @@ void ide_unregister_region(struct gendisk *); | |||
1370 | 1328 | ||
1371 | void ide_undecoded_slave(ide_hwif_t *); | 1329 | void ide_undecoded_slave(ide_hwif_t *); |
1372 | 1330 | ||
1373 | int probe_hwif_init_with_fixup(ide_hwif_t *, void (*)(ide_hwif_t *)); | 1331 | int ide_device_add(u8 idx[4]); |
1374 | extern int probe_hwif_init(ide_hwif_t *); | ||
1375 | 1332 | ||
1376 | static inline void *ide_get_hwifdata (ide_hwif_t * hwif) | 1333 | static 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 | */ |
395 | extern int nfs_async_unlink(struct inode *dir, struct dentry *dentry); | 401 | extern int nfs_async_unlink(struct inode *dir, struct dentry *dentry); |
396 | extern void nfs_complete_unlink(struct dentry *dentry, struct inode *); | 402 | extern void nfs_complete_unlink(struct dentry *dentry, struct inode *); |
403 | extern void nfs_block_sillyrename(struct dentry *dentry); | ||
404 | extern 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 |
43 | static 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 |
47 | static 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. |