diff options
Diffstat (limited to 'include')
36 files changed, 236 insertions, 394 deletions
diff --git a/include/asm-ia64/sn/mspec.h b/include/asm-ia64/sn/mspec.h index dbe13c6121a8..c1d3c50c3223 100644 --- a/include/asm-ia64/sn/mspec.h +++ b/include/asm-ia64/sn/mspec.h | |||
@@ -4,7 +4,7 @@ | |||
4 | * License. See the file "COPYING" in the main directory of this archive | 4 | * License. See the file "COPYING" in the main directory of this archive |
5 | * for more details. | 5 | * for more details. |
6 | * | 6 | * |
7 | * Copyright (c) 2001-2004 Silicon Graphics, Inc. All rights reserved. | 7 | * Copyright (c) 2001-2008 Silicon Graphics, Inc. All rights reserved. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #ifndef _ASM_IA64_SN_MSPEC_H | 10 | #ifndef _ASM_IA64_SN_MSPEC_H |
@@ -32,26 +32,26 @@ | |||
32 | #ifdef __KERNEL__ | 32 | #ifdef __KERNEL__ |
33 | 33 | ||
34 | /* | 34 | /* |
35 | * Each Atomic Memory Operation (AMO formerly known as fetchop) | 35 | * Each Atomic Memory Operation (amo, formerly known as fetchop) |
36 | * variable is 64 bytes long. The first 8 bytes are used. The | 36 | * variable is 64 bytes long. The first 8 bytes are used. The |
37 | * remaining 56 bytes are unaddressable due to the operation taking | 37 | * remaining 56 bytes are unaddressable due to the operation taking |
38 | * that portion of the address. | 38 | * that portion of the address. |
39 | * | 39 | * |
40 | * NOTE: The AMO_t _MUST_ be placed in either the first or second half | 40 | * NOTE: The amo structure _MUST_ be placed in either the first or second |
41 | * of the cache line. The cache line _MUST NOT_ be used for anything | 41 | * half of the cache line. The cache line _MUST NOT_ be used for anything |
42 | * other than additional AMO_t entries. This is because there are two | 42 | * other than additional amo entries. This is because there are two |
43 | * addresses which reference the same physical cache line. One will | 43 | * addresses which reference the same physical cache line. One will |
44 | * be a cached entry with the memory type bits all set. This address | 44 | * be a cached entry with the memory type bits all set. This address |
45 | * may be loaded into processor cache. The AMO_t will be referenced | 45 | * may be loaded into processor cache. The amo will be referenced |
46 | * uncached via the memory special memory type. If any portion of the | 46 | * uncached via the memory special memory type. If any portion of the |
47 | * cached cache-line is modified, when that line is flushed, it will | 47 | * cached cache-line is modified, when that line is flushed, it will |
48 | * overwrite the uncached value in physical memory and lead to | 48 | * overwrite the uncached value in physical memory and lead to |
49 | * inconsistency. | 49 | * inconsistency. |
50 | */ | 50 | */ |
51 | typedef struct { | 51 | struct amo { |
52 | u64 variable; | 52 | u64 variable; |
53 | u64 unused[7]; | 53 | u64 unused[7]; |
54 | } AMO_t; | 54 | }; |
55 | 55 | ||
56 | 56 | ||
57 | #endif /* __KERNEL__ */ | 57 | #endif /* __KERNEL__ */ |
diff --git a/include/asm-mips/gdb-stub.h b/include/asm-mips/gdb-stub.h deleted file mode 100644 index 22f67d4a71ab..000000000000 --- a/include/asm-mips/gdb-stub.h +++ /dev/null | |||
@@ -1,215 +0,0 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1995 Andreas Busse | ||
7 | * Copyright (C) 2003 Ralf Baechle | ||
8 | */ | ||
9 | #ifndef _ASM_GDB_STUB_H | ||
10 | #define _ASM_GDB_STUB_H | ||
11 | |||
12 | |||
13 | /* | ||
14 | * important register numbers | ||
15 | */ | ||
16 | |||
17 | #define REG_EPC 37 | ||
18 | #define REG_FP 72 | ||
19 | #define REG_SP 29 | ||
20 | |||
21 | /* | ||
22 | * Stack layout for the GDB exception handler | ||
23 | * Derived from the stack layout described in asm-mips/stackframe.h | ||
24 | * | ||
25 | * The first PTRSIZE*6 bytes are argument save space for C subroutines. | ||
26 | */ | ||
27 | #define NUMREGS 90 | ||
28 | |||
29 | #define GDB_FR_REG0 (PTRSIZE*6) /* 0 */ | ||
30 | #define GDB_FR_REG1 ((GDB_FR_REG0) + LONGSIZE) /* 1 */ | ||
31 | #define GDB_FR_REG2 ((GDB_FR_REG1) + LONGSIZE) /* 2 */ | ||
32 | #define GDB_FR_REG3 ((GDB_FR_REG2) + LONGSIZE) /* 3 */ | ||
33 | #define GDB_FR_REG4 ((GDB_FR_REG3) + LONGSIZE) /* 4 */ | ||
34 | #define GDB_FR_REG5 ((GDB_FR_REG4) + LONGSIZE) /* 5 */ | ||
35 | #define GDB_FR_REG6 ((GDB_FR_REG5) + LONGSIZE) /* 6 */ | ||
36 | #define GDB_FR_REG7 ((GDB_FR_REG6) + LONGSIZE) /* 7 */ | ||
37 | #define GDB_FR_REG8 ((GDB_FR_REG7) + LONGSIZE) /* 8 */ | ||
38 | #define GDB_FR_REG9 ((GDB_FR_REG8) + LONGSIZE) /* 9 */ | ||
39 | #define GDB_FR_REG10 ((GDB_FR_REG9) + LONGSIZE) /* 10 */ | ||
40 | #define GDB_FR_REG11 ((GDB_FR_REG10) + LONGSIZE) /* 11 */ | ||
41 | #define GDB_FR_REG12 ((GDB_FR_REG11) + LONGSIZE) /* 12 */ | ||
42 | #define GDB_FR_REG13 ((GDB_FR_REG12) + LONGSIZE) /* 13 */ | ||
43 | #define GDB_FR_REG14 ((GDB_FR_REG13) + LONGSIZE) /* 14 */ | ||
44 | #define GDB_FR_REG15 ((GDB_FR_REG14) + LONGSIZE) /* 15 */ | ||
45 | #define GDB_FR_REG16 ((GDB_FR_REG15) + LONGSIZE) /* 16 */ | ||
46 | #define GDB_FR_REG17 ((GDB_FR_REG16) + LONGSIZE) /* 17 */ | ||
47 | #define GDB_FR_REG18 ((GDB_FR_REG17) + LONGSIZE) /* 18 */ | ||
48 | #define GDB_FR_REG19 ((GDB_FR_REG18) + LONGSIZE) /* 19 */ | ||
49 | #define GDB_FR_REG20 ((GDB_FR_REG19) + LONGSIZE) /* 20 */ | ||
50 | #define GDB_FR_REG21 ((GDB_FR_REG20) + LONGSIZE) /* 21 */ | ||
51 | #define GDB_FR_REG22 ((GDB_FR_REG21) + LONGSIZE) /* 22 */ | ||
52 | #define GDB_FR_REG23 ((GDB_FR_REG22) + LONGSIZE) /* 23 */ | ||
53 | #define GDB_FR_REG24 ((GDB_FR_REG23) + LONGSIZE) /* 24 */ | ||
54 | #define GDB_FR_REG25 ((GDB_FR_REG24) + LONGSIZE) /* 25 */ | ||
55 | #define GDB_FR_REG26 ((GDB_FR_REG25) + LONGSIZE) /* 26 */ | ||
56 | #define GDB_FR_REG27 ((GDB_FR_REG26) + LONGSIZE) /* 27 */ | ||
57 | #define GDB_FR_REG28 ((GDB_FR_REG27) + LONGSIZE) /* 28 */ | ||
58 | #define GDB_FR_REG29 ((GDB_FR_REG28) + LONGSIZE) /* 29 */ | ||
59 | #define GDB_FR_REG30 ((GDB_FR_REG29) + LONGSIZE) /* 30 */ | ||
60 | #define GDB_FR_REG31 ((GDB_FR_REG30) + LONGSIZE) /* 31 */ | ||
61 | |||
62 | /* | ||
63 | * Saved special registers | ||
64 | */ | ||
65 | #define GDB_FR_STATUS ((GDB_FR_REG31) + LONGSIZE) /* 32 */ | ||
66 | #define GDB_FR_LO ((GDB_FR_STATUS) + LONGSIZE) /* 33 */ | ||
67 | #define GDB_FR_HI ((GDB_FR_LO) + LONGSIZE) /* 34 */ | ||
68 | #define GDB_FR_BADVADDR ((GDB_FR_HI) + LONGSIZE) /* 35 */ | ||
69 | #define GDB_FR_CAUSE ((GDB_FR_BADVADDR) + LONGSIZE) /* 36 */ | ||
70 | #define GDB_FR_EPC ((GDB_FR_CAUSE) + LONGSIZE) /* 37 */ | ||
71 | |||
72 | /* | ||
73 | * Saved floating point registers | ||
74 | */ | ||
75 | #define GDB_FR_FPR0 ((GDB_FR_EPC) + LONGSIZE) /* 38 */ | ||
76 | #define GDB_FR_FPR1 ((GDB_FR_FPR0) + LONGSIZE) /* 39 */ | ||
77 | #define GDB_FR_FPR2 ((GDB_FR_FPR1) + LONGSIZE) /* 40 */ | ||
78 | #define GDB_FR_FPR3 ((GDB_FR_FPR2) + LONGSIZE) /* 41 */ | ||
79 | #define GDB_FR_FPR4 ((GDB_FR_FPR3) + LONGSIZE) /* 42 */ | ||
80 | #define GDB_FR_FPR5 ((GDB_FR_FPR4) + LONGSIZE) /* 43 */ | ||
81 | #define GDB_FR_FPR6 ((GDB_FR_FPR5) + LONGSIZE) /* 44 */ | ||
82 | #define GDB_FR_FPR7 ((GDB_FR_FPR6) + LONGSIZE) /* 45 */ | ||
83 | #define GDB_FR_FPR8 ((GDB_FR_FPR7) + LONGSIZE) /* 46 */ | ||
84 | #define GDB_FR_FPR9 ((GDB_FR_FPR8) + LONGSIZE) /* 47 */ | ||
85 | #define GDB_FR_FPR10 ((GDB_FR_FPR9) + LONGSIZE) /* 48 */ | ||
86 | #define GDB_FR_FPR11 ((GDB_FR_FPR10) + LONGSIZE) /* 49 */ | ||
87 | #define GDB_FR_FPR12 ((GDB_FR_FPR11) + LONGSIZE) /* 50 */ | ||
88 | #define GDB_FR_FPR13 ((GDB_FR_FPR12) + LONGSIZE) /* 51 */ | ||
89 | #define GDB_FR_FPR14 ((GDB_FR_FPR13) + LONGSIZE) /* 52 */ | ||
90 | #define GDB_FR_FPR15 ((GDB_FR_FPR14) + LONGSIZE) /* 53 */ | ||
91 | #define GDB_FR_FPR16 ((GDB_FR_FPR15) + LONGSIZE) /* 54 */ | ||
92 | #define GDB_FR_FPR17 ((GDB_FR_FPR16) + LONGSIZE) /* 55 */ | ||
93 | #define GDB_FR_FPR18 ((GDB_FR_FPR17) + LONGSIZE) /* 56 */ | ||
94 | #define GDB_FR_FPR19 ((GDB_FR_FPR18) + LONGSIZE) /* 57 */ | ||
95 | #define GDB_FR_FPR20 ((GDB_FR_FPR19) + LONGSIZE) /* 58 */ | ||
96 | #define GDB_FR_FPR21 ((GDB_FR_FPR20) + LONGSIZE) /* 59 */ | ||
97 | #define GDB_FR_FPR22 ((GDB_FR_FPR21) + LONGSIZE) /* 60 */ | ||
98 | #define GDB_FR_FPR23 ((GDB_FR_FPR22) + LONGSIZE) /* 61 */ | ||
99 | #define GDB_FR_FPR24 ((GDB_FR_FPR23) + LONGSIZE) /* 62 */ | ||
100 | #define GDB_FR_FPR25 ((GDB_FR_FPR24) + LONGSIZE) /* 63 */ | ||
101 | #define GDB_FR_FPR26 ((GDB_FR_FPR25) + LONGSIZE) /* 64 */ | ||
102 | #define GDB_FR_FPR27 ((GDB_FR_FPR26) + LONGSIZE) /* 65 */ | ||
103 | #define GDB_FR_FPR28 ((GDB_FR_FPR27) + LONGSIZE) /* 66 */ | ||
104 | #define GDB_FR_FPR29 ((GDB_FR_FPR28) + LONGSIZE) /* 67 */ | ||
105 | #define GDB_FR_FPR30 ((GDB_FR_FPR29) + LONGSIZE) /* 68 */ | ||
106 | #define GDB_FR_FPR31 ((GDB_FR_FPR30) + LONGSIZE) /* 69 */ | ||
107 | |||
108 | #define GDB_FR_FSR ((GDB_FR_FPR31) + LONGSIZE) /* 70 */ | ||
109 | #define GDB_FR_FIR ((GDB_FR_FSR) + LONGSIZE) /* 71 */ | ||
110 | #define GDB_FR_FRP ((GDB_FR_FIR) + LONGSIZE) /* 72 */ | ||
111 | |||
112 | #define GDB_FR_DUMMY ((GDB_FR_FRP) + LONGSIZE) /* 73, unused ??? */ | ||
113 | |||
114 | /* | ||
115 | * Again, CP0 registers | ||
116 | */ | ||
117 | #define GDB_FR_CP0_INDEX ((GDB_FR_DUMMY) + LONGSIZE) /* 74 */ | ||
118 | #define GDB_FR_CP0_RANDOM ((GDB_FR_CP0_INDEX) + LONGSIZE) /* 75 */ | ||
119 | #define GDB_FR_CP0_ENTRYLO0 ((GDB_FR_CP0_RANDOM) + LONGSIZE)/* 76 */ | ||
120 | #define GDB_FR_CP0_ENTRYLO1 ((GDB_FR_CP0_ENTRYLO0) + LONGSIZE)/* 77 */ | ||
121 | #define GDB_FR_CP0_CONTEXT ((GDB_FR_CP0_ENTRYLO1) + LONGSIZE)/* 78 */ | ||
122 | #define GDB_FR_CP0_PAGEMASK ((GDB_FR_CP0_CONTEXT) + LONGSIZE)/* 79 */ | ||
123 | #define GDB_FR_CP0_WIRED ((GDB_FR_CP0_PAGEMASK) + LONGSIZE)/* 80 */ | ||
124 | #define GDB_FR_CP0_REG7 ((GDB_FR_CP0_WIRED) + LONGSIZE) /* 81 */ | ||
125 | #define GDB_FR_CP0_REG8 ((GDB_FR_CP0_REG7) + LONGSIZE) /* 82 */ | ||
126 | #define GDB_FR_CP0_REG9 ((GDB_FR_CP0_REG8) + LONGSIZE) /* 83 */ | ||
127 | #define GDB_FR_CP0_ENTRYHI ((GDB_FR_CP0_REG9) + LONGSIZE) /* 84 */ | ||
128 | #define GDB_FR_CP0_REG11 ((GDB_FR_CP0_ENTRYHI) + LONGSIZE)/* 85 */ | ||
129 | #define GDB_FR_CP0_REG12 ((GDB_FR_CP0_REG11) + LONGSIZE) /* 86 */ | ||
130 | #define GDB_FR_CP0_REG13 ((GDB_FR_CP0_REG12) + LONGSIZE) /* 87 */ | ||
131 | #define GDB_FR_CP0_REG14 ((GDB_FR_CP0_REG13) + LONGSIZE) /* 88 */ | ||
132 | #define GDB_FR_CP0_PRID ((GDB_FR_CP0_REG14) + LONGSIZE) /* 89 */ | ||
133 | |||
134 | #define GDB_FR_SIZE ((((GDB_FR_CP0_PRID) + LONGSIZE) + (PTRSIZE-1)) & ~(PTRSIZE-1)) | ||
135 | |||
136 | #ifndef __ASSEMBLY__ | ||
137 | |||
138 | /* | ||
139 | * This is the same as above, but for the high-level | ||
140 | * part of the GDB stub. | ||
141 | */ | ||
142 | |||
143 | struct gdb_regs { | ||
144 | /* | ||
145 | * Pad bytes for argument save space on the stack | ||
146 | * 24/48 Bytes for 32/64 bit code | ||
147 | */ | ||
148 | unsigned long pad0[6]; | ||
149 | |||
150 | /* | ||
151 | * saved main processor registers | ||
152 | */ | ||
153 | long reg0, reg1, reg2, reg3, reg4, reg5, reg6, reg7; | ||
154 | long reg8, reg9, reg10, reg11, reg12, reg13, reg14, reg15; | ||
155 | long reg16, reg17, reg18, reg19, reg20, reg21, reg22, reg23; | ||
156 | long reg24, reg25, reg26, reg27, reg28, reg29, reg30, reg31; | ||
157 | |||
158 | /* | ||
159 | * Saved special registers | ||
160 | */ | ||
161 | long cp0_status; | ||
162 | long lo; | ||
163 | long hi; | ||
164 | long cp0_badvaddr; | ||
165 | long cp0_cause; | ||
166 | long cp0_epc; | ||
167 | |||
168 | /* | ||
169 | * Saved floating point registers | ||
170 | */ | ||
171 | long fpr0, fpr1, fpr2, fpr3, fpr4, fpr5, fpr6, fpr7; | ||
172 | long fpr8, fpr9, fpr10, fpr11, fpr12, fpr13, fpr14, fpr15; | ||
173 | long fpr16, fpr17, fpr18, fpr19, fpr20, fpr21, fpr22, fpr23; | ||
174 | long fpr24, fpr25, fpr26, fpr27, fpr28, fpr29, fpr30, fpr31; | ||
175 | |||
176 | long cp1_fsr; | ||
177 | long cp1_fir; | ||
178 | |||
179 | /* | ||
180 | * Frame pointer | ||
181 | */ | ||
182 | long frame_ptr; | ||
183 | long dummy; /* unused */ | ||
184 | |||
185 | /* | ||
186 | * saved cp0 registers | ||
187 | */ | ||
188 | long cp0_index; | ||
189 | long cp0_random; | ||
190 | long cp0_entrylo0; | ||
191 | long cp0_entrylo1; | ||
192 | long cp0_context; | ||
193 | long cp0_pagemask; | ||
194 | long cp0_wired; | ||
195 | long cp0_reg7; | ||
196 | long cp0_reg8; | ||
197 | long cp0_reg9; | ||
198 | long cp0_entryhi; | ||
199 | long cp0_reg11; | ||
200 | long cp0_reg12; | ||
201 | long cp0_reg13; | ||
202 | long cp0_reg14; | ||
203 | long cp0_prid; | ||
204 | }; | ||
205 | |||
206 | /* | ||
207 | * Prototypes | ||
208 | */ | ||
209 | |||
210 | extern int kgdb_enabled; | ||
211 | void set_debug_traps(void); | ||
212 | void set_async_breakpoint(unsigned long *epc); | ||
213 | |||
214 | #endif /* !__ASSEMBLY__ */ | ||
215 | #endif /* _ASM_GDB_STUB_H */ | ||
diff --git a/include/asm-mips/kdebug.h b/include/asm-mips/kdebug.h index 6ece1b037665..5bf62aafc890 100644 --- a/include/asm-mips/kdebug.h +++ b/include/asm-mips/kdebug.h | |||
@@ -1 +1,13 @@ | |||
1 | #include <asm-generic/kdebug.h> | 1 | #ifndef _ASM_MIPS_KDEBUG_H |
2 | #define _ASM_MIPS_KDEBUG_H | ||
3 | |||
4 | #include <linux/notifier.h> | ||
5 | |||
6 | enum die_val { | ||
7 | DIE_OOPS = 1, | ||
8 | DIE_FP, | ||
9 | DIE_TRAP, | ||
10 | DIE_RI, | ||
11 | }; | ||
12 | |||
13 | #endif /* _ASM_MIPS_KDEBUG_H */ | ||
diff --git a/include/asm-mips/kgdb.h b/include/asm-mips/kgdb.h new file mode 100644 index 000000000000..48223b09396c --- /dev/null +++ b/include/asm-mips/kgdb.h | |||
@@ -0,0 +1,44 @@ | |||
1 | #ifndef __ASM_KGDB_H_ | ||
2 | #define __ASM_KGDB_H_ | ||
3 | |||
4 | #ifdef __KERNEL__ | ||
5 | |||
6 | #include <asm/sgidefs.h> | ||
7 | |||
8 | #if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) || \ | ||
9 | (_MIPS_ISA == _MIPS_ISA_MIPS32) | ||
10 | |||
11 | #define KGDB_GDB_REG_SIZE 32 | ||
12 | |||
13 | #elif (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \ | ||
14 | (_MIPS_ISA == _MIPS_ISA_MIPS64) | ||
15 | |||
16 | #ifdef CONFIG_32BIT | ||
17 | #define KGDB_GDB_REG_SIZE 32 | ||
18 | #else /* CONFIG_CPU_32BIT */ | ||
19 | #define KGDB_GDB_REG_SIZE 64 | ||
20 | #endif | ||
21 | #else | ||
22 | #error "Need to set KGDB_GDB_REG_SIZE for MIPS ISA" | ||
23 | #endif /* _MIPS_ISA */ | ||
24 | |||
25 | #define BUFMAX 2048 | ||
26 | #if (KGDB_GDB_REG_SIZE == 32) | ||
27 | #define NUMREGBYTES (90*sizeof(u32)) | ||
28 | #define NUMCRITREGBYTES (12*sizeof(u32)) | ||
29 | #else | ||
30 | #define NUMREGBYTES (90*sizeof(u64)) | ||
31 | #define NUMCRITREGBYTES (12*sizeof(u64)) | ||
32 | #endif | ||
33 | #define BREAK_INSTR_SIZE 4 | ||
34 | #define CACHE_FLUSH_IS_SAFE 0 | ||
35 | |||
36 | extern void arch_kgdb_breakpoint(void); | ||
37 | extern int kgdb_early_setup; | ||
38 | extern void *saved_vectors[32]; | ||
39 | extern void handle_exception(struct pt_regs *regs); | ||
40 | extern void breakinst(void); | ||
41 | |||
42 | #endif /* __KERNEL__ */ | ||
43 | |||
44 | #endif /* __ASM_KGDB_H_ */ | ||
diff --git a/include/asm-mips/pci.h b/include/asm-mips/pci.h index c205875d7f31..5510c53b7feb 100644 --- a/include/asm-mips/pci.h +++ b/include/asm-mips/pci.h | |||
@@ -174,4 +174,6 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | |||
174 | 174 | ||
175 | extern int pci_probe_only; | 175 | extern int pci_probe_only; |
176 | 176 | ||
177 | extern char * (*pcibios_plat_setup)(char *str); | ||
178 | |||
177 | #endif /* _ASM_PCI_H */ | 179 | #endif /* _ASM_PCI_H */ |
diff --git a/include/asm-mips/txx9/generic.h b/include/asm-mips/txx9/generic.h index cbae37ec3d88..5b1ccf901c62 100644 --- a/include/asm-mips/txx9/generic.h +++ b/include/asm-mips/txx9/generic.h | |||
@@ -44,5 +44,19 @@ extern struct txx9_board_vec *txx9_board_vec; | |||
44 | extern int (*txx9_irq_dispatch)(int pending); | 44 | extern int (*txx9_irq_dispatch)(int pending); |
45 | void prom_init_cmdline(void); | 45 | void prom_init_cmdline(void); |
46 | char *prom_getcmdline(void); | 46 | char *prom_getcmdline(void); |
47 | void txx9_wdt_init(unsigned long base); | ||
48 | void txx9_spi_init(int busid, unsigned long base, int irq); | ||
49 | void txx9_ethaddr_init(unsigned int id, unsigned char *ethaddr); | ||
50 | void txx9_sio_init(unsigned long baseaddr, int irq, | ||
51 | unsigned int line, unsigned int sclk, int nocts); | ||
52 | void prom_putchar(char c); | ||
53 | #ifdef CONFIG_EARLY_PRINTK | ||
54 | extern void (*txx9_prom_putchar)(char c); | ||
55 | void txx9_sio_putchar_init(unsigned long baseaddr); | ||
56 | #else | ||
57 | static inline void txx9_sio_putchar_init(unsigned long baseaddr) | ||
58 | { | ||
59 | } | ||
60 | #endif | ||
47 | 61 | ||
48 | #endif /* __ASM_TXX9_GENERIC_H */ | 62 | #endif /* __ASM_TXX9_GENERIC_H */ |
diff --git a/include/asm-mips/txx9/jmr3927.h b/include/asm-mips/txx9/jmr3927.h index d6eb1b6a54eb..a409c446bf18 100644 --- a/include/asm-mips/txx9/jmr3927.h +++ b/include/asm-mips/txx9/jmr3927.h | |||
@@ -149,8 +149,6 @@ | |||
149 | 149 | ||
150 | /* Clocks */ | 150 | /* Clocks */ |
151 | #define JMR3927_CORECLK 132710400 /* 132.7MHz */ | 151 | #define JMR3927_CORECLK 132710400 /* 132.7MHz */ |
152 | #define JMR3927_GBUSCLK (JMR3927_CORECLK / 2) /* 66.35MHz */ | ||
153 | #define JMR3927_IMCLK (JMR3927_CORECLK / 4) /* 33.17MHz */ | ||
154 | 152 | ||
155 | /* | 153 | /* |
156 | * TX3927 Pin Configuration: | 154 | * TX3927 Pin Configuration: |
diff --git a/include/asm-mips/txx9/pci.h b/include/asm-mips/txx9/pci.h index d89a45091e24..3d32529060aa 100644 --- a/include/asm-mips/txx9/pci.h +++ b/include/asm-mips/txx9/pci.h | |||
@@ -33,4 +33,7 @@ enum txx9_pci_err_action { | |||
33 | }; | 33 | }; |
34 | extern enum txx9_pci_err_action txx9_pci_err_action; | 34 | extern enum txx9_pci_err_action txx9_pci_err_action; |
35 | 35 | ||
36 | extern char * (*txx9_board_pcibios_setup)(char *str); | ||
37 | char *txx9_pcibios_setup(char *str); | ||
38 | |||
36 | #endif /* __ASM_TXX9_PCI_H */ | 39 | #endif /* __ASM_TXX9_PCI_H */ |
diff --git a/include/asm-mips/txx9/smsc_fdc37m81x.h b/include/asm-mips/txx9/smsc_fdc37m81x.h index 9375e4fc2289..02e161d0755d 100644 --- a/include/asm-mips/txx9/smsc_fdc37m81x.h +++ b/include/asm-mips/txx9/smsc_fdc37m81x.h | |||
@@ -56,7 +56,7 @@ | |||
56 | #define SMSC_FDC37M81X_CONFIG_EXIT 0xaa | 56 | #define SMSC_FDC37M81X_CONFIG_EXIT 0xaa |
57 | #define SMSC_FDC37M81X_CHIP_ID 0x4d | 57 | #define SMSC_FDC37M81X_CHIP_ID 0x4d |
58 | 58 | ||
59 | unsigned long __init smsc_fdc37m81x_init(unsigned long port); | 59 | unsigned long smsc_fdc37m81x_init(unsigned long port); |
60 | 60 | ||
61 | void smsc_fdc37m81x_config_beg(void); | 61 | void smsc_fdc37m81x_config_beg(void); |
62 | 62 | ||
diff --git a/include/asm-mips/txx9/tx3927.h b/include/asm-mips/txx9/tx3927.h index ea79e1b16e71..587deb9592d2 100644 --- a/include/asm-mips/txx9/tx3927.h +++ b/include/asm-mips/txx9/tx3927.h | |||
@@ -8,9 +8,8 @@ | |||
8 | #ifndef __ASM_TXX9_TX3927_H | 8 | #ifndef __ASM_TXX9_TX3927_H |
9 | #define __ASM_TXX9_TX3927_H | 9 | #define __ASM_TXX9_TX3927_H |
10 | 10 | ||
11 | #include <asm/txx9/txx927.h> | ||
12 | |||
13 | #define TX3927_REG_BASE 0xfffe0000UL | 11 | #define TX3927_REG_BASE 0xfffe0000UL |
12 | #define TX3927_REG_SIZE 0x00010000 | ||
14 | #define TX3927_SDRAMC_REG (TX3927_REG_BASE + 0x8000) | 13 | #define TX3927_SDRAMC_REG (TX3927_REG_BASE + 0x8000) |
15 | #define TX3927_ROMC_REG (TX3927_REG_BASE + 0x9000) | 14 | #define TX3927_ROMC_REG (TX3927_REG_BASE + 0x9000) |
16 | #define TX3927_DMA_REG (TX3927_REG_BASE + 0xb000) | 15 | #define TX3927_DMA_REG (TX3927_REG_BASE + 0xb000) |
@@ -236,11 +235,17 @@ struct tx3927_ccfg_reg { | |||
236 | /* see PCI_STATUS_XXX in linux/pci.h */ | 235 | /* see PCI_STATUS_XXX in linux/pci.h */ |
237 | #define PCI_STATUS_NEW_CAP 0x0010 | 236 | #define PCI_STATUS_NEW_CAP 0x0010 |
238 | 237 | ||
238 | /* bits for ISTAT/IIM */ | ||
239 | #define TX3927_PCIC_IIM_ALL 0x00001600 | ||
240 | |||
239 | /* bits for TC */ | 241 | /* bits for TC */ |
240 | #define TX3927_PCIC_TC_OF16E 0x00000020 | 242 | #define TX3927_PCIC_TC_OF16E 0x00000020 |
241 | #define TX3927_PCIC_TC_IF8E 0x00000010 | 243 | #define TX3927_PCIC_TC_IF8E 0x00000010 |
242 | #define TX3927_PCIC_TC_OF8E 0x00000008 | 244 | #define TX3927_PCIC_TC_OF8E 0x00000008 |
243 | 245 | ||
246 | /* bits for TSTAT/TIM */ | ||
247 | #define TX3927_PCIC_TIM_ALL 0x0003ffff | ||
248 | |||
244 | /* bits for IOBA/MBA */ | 249 | /* bits for IOBA/MBA */ |
245 | /* see PCI_BASE_ADDRESS_XXX in linux/pci.h */ | 250 | /* see PCI_BASE_ADDRESS_XXX in linux/pci.h */ |
246 | 251 | ||
@@ -313,12 +318,22 @@ struct tx3927_ccfg_reg { | |||
313 | #define tx3927_dmaptr ((struct tx3927_dma_reg *)TX3927_DMA_REG) | 318 | #define tx3927_dmaptr ((struct tx3927_dma_reg *)TX3927_DMA_REG) |
314 | #define tx3927_pcicptr ((struct tx3927_pcic_reg *)TX3927_PCIC_REG) | 319 | #define tx3927_pcicptr ((struct tx3927_pcic_reg *)TX3927_PCIC_REG) |
315 | #define tx3927_ccfgptr ((struct tx3927_ccfg_reg *)TX3927_CCFG_REG) | 320 | #define tx3927_ccfgptr ((struct tx3927_ccfg_reg *)TX3927_CCFG_REG) |
316 | #define tx3927_tmrptr(ch) ((struct txx927_tmr_reg *)TX3927_TMR_REG(ch)) | ||
317 | #define tx3927_sioptr(ch) ((struct txx927_sio_reg *)TX3927_SIO_REG(ch)) | 321 | #define tx3927_sioptr(ch) ((struct txx927_sio_reg *)TX3927_SIO_REG(ch)) |
318 | #define tx3927_pioptr ((struct txx9_pio_reg __iomem *)TX3927_PIO_REG) | 322 | #define tx3927_pioptr ((struct txx9_pio_reg __iomem *)TX3927_PIO_REG) |
319 | 323 | ||
324 | #define TX3927_REV_PCODE() (tx3927_ccfgptr->crir >> 16) | ||
325 | #define TX3927_ROMC_BA(ch) (tx3927_romcptr->cr[(ch)] & 0xfff00000) | ||
326 | #define TX3927_ROMC_SIZE(ch) \ | ||
327 | (0x00100000 << ((tx3927_romcptr->cr[(ch)] >> 8) & 0xf)) | ||
328 | |||
329 | void tx3927_wdt_init(void); | ||
330 | void tx3927_setup(void); | ||
331 | void tx3927_time_init(unsigned int evt_tmrnr, unsigned int src_tmrnr); | ||
332 | void tx3927_sio_init(unsigned int sclk, unsigned int cts_mask); | ||
320 | struct pci_controller; | 333 | struct pci_controller; |
321 | void __init tx3927_pcic_setup(struct pci_controller *channel, | 334 | void tx3927_pcic_setup(struct pci_controller *channel, |
322 | unsigned long sdram_size, int extarb); | 335 | unsigned long sdram_size, int extarb); |
336 | void tx3927_setup_pcierr_irq(void); | ||
337 | void tx3927_irq_init(void); | ||
323 | 338 | ||
324 | #endif /* __ASM_TXX9_TX3927_H */ | 339 | #endif /* __ASM_TXX9_TX3927_H */ |
diff --git a/include/asm-mips/txx9/tx4927.h b/include/asm-mips/txx9/tx4927.h index ceb4b79ff4e3..195f6515db9a 100644 --- a/include/asm-mips/txx9/tx4927.h +++ b/include/asm-mips/txx9/tx4927.h | |||
@@ -243,12 +243,13 @@ static inline void tx4927_ccfg_change(__u64 change, __u64 new) | |||
243 | } | 243 | } |
244 | 244 | ||
245 | unsigned int tx4927_get_mem_size(void); | 245 | unsigned int tx4927_get_mem_size(void); |
246 | void tx4927_wdr_init(void); | 246 | void tx4927_wdt_init(void); |
247 | void tx4927_setup(void); | 247 | void tx4927_setup(void); |
248 | void tx4927_time_init(unsigned int tmrnr); | 248 | void tx4927_time_init(unsigned int tmrnr); |
249 | void tx4927_setup_serial(void); | 249 | void tx4927_sio_init(unsigned int sclk, unsigned int cts_mask); |
250 | int tx4927_report_pciclk(void); | 250 | int tx4927_report_pciclk(void); |
251 | int tx4927_pciclk66_setup(void); | 251 | int tx4927_pciclk66_setup(void); |
252 | void tx4927_setup_pcierr_irq(void); | ||
252 | void tx4927_irq_init(void); | 253 | void tx4927_irq_init(void); |
253 | 254 | ||
254 | #endif /* __ASM_TXX9_TX4927_H */ | 255 | #endif /* __ASM_TXX9_TX4927_H */ |
diff --git a/include/asm-mips/txx9/tx4927pcic.h b/include/asm-mips/txx9/tx4927pcic.h index d61c3d09c4a2..c470b8a5fe57 100644 --- a/include/asm-mips/txx9/tx4927pcic.h +++ b/include/asm-mips/txx9/tx4927pcic.h | |||
@@ -10,6 +10,7 @@ | |||
10 | #define __ASM_TXX9_TX4927PCIC_H | 10 | #define __ASM_TXX9_TX4927PCIC_H |
11 | 11 | ||
12 | #include <linux/pci.h> | 12 | #include <linux/pci.h> |
13 | #include <linux/irqreturn.h> | ||
13 | 14 | ||
14 | struct tx4927_pcic_reg { | 15 | struct tx4927_pcic_reg { |
15 | u32 pciid; | 16 | u32 pciid; |
@@ -192,8 +193,11 @@ struct tx4927_pcic_reg { | |||
192 | 193 | ||
193 | struct tx4927_pcic_reg __iomem *get_tx4927_pcicptr( | 194 | struct tx4927_pcic_reg __iomem *get_tx4927_pcicptr( |
194 | struct pci_controller *channel); | 195 | struct pci_controller *channel); |
195 | void __init tx4927_pcic_setup(struct tx4927_pcic_reg __iomem *pcicptr, | 196 | void tx4927_pcic_setup(struct tx4927_pcic_reg __iomem *pcicptr, |
196 | struct pci_controller *channel, int extarb); | 197 | struct pci_controller *channel, int extarb); |
197 | void tx4927_report_pcic_status(void); | 198 | void tx4927_report_pcic_status(void); |
199 | char *tx4927_pcibios_setup(char *str); | ||
200 | void tx4927_dump_pcic_settings(void); | ||
201 | irqreturn_t tx4927_pcierr_interrupt(int irq, void *dev_id); | ||
198 | 202 | ||
199 | #endif /* __ASM_TXX9_TX4927PCIC_H */ | 203 | #endif /* __ASM_TXX9_TX4927PCIC_H */ |
diff --git a/include/asm-mips/txx9/tx4938.h b/include/asm-mips/txx9/tx4938.h index 1ed969d381d6..8175d4ccbc39 100644 --- a/include/asm-mips/txx9/tx4938.h +++ b/include/asm-mips/txx9/tx4938.h | |||
@@ -276,15 +276,18 @@ struct tx4938_ccfg_reg { | |||
276 | #define TX4938_EBUSC_SIZE(ch) TX4927_EBUSC_SIZE(ch) | 276 | #define TX4938_EBUSC_SIZE(ch) TX4927_EBUSC_SIZE(ch) |
277 | 277 | ||
278 | #define tx4938_get_mem_size() tx4927_get_mem_size() | 278 | #define tx4938_get_mem_size() tx4927_get_mem_size() |
279 | void tx4938_wdr_init(void); | 279 | void tx4938_wdt_init(void); |
280 | void tx4938_setup(void); | 280 | void tx4938_setup(void); |
281 | void tx4938_time_init(unsigned int tmrnr); | 281 | void tx4938_time_init(unsigned int tmrnr); |
282 | void tx4938_setup_serial(void); | 282 | void tx4938_sio_init(unsigned int sclk, unsigned int cts_mask); |
283 | void tx4938_spi_init(int busid); | ||
284 | void tx4938_ethaddr_init(unsigned char *addr0, unsigned char *addr1); | ||
283 | int tx4938_report_pciclk(void); | 285 | int tx4938_report_pciclk(void); |
284 | void tx4938_report_pci1clk(void); | 286 | void tx4938_report_pci1clk(void); |
285 | int tx4938_pciclk66_setup(void); | 287 | int tx4938_pciclk66_setup(void); |
286 | struct pci_dev; | 288 | struct pci_dev; |
287 | int tx4938_pcic1_map_irq(const struct pci_dev *dev, u8 slot); | 289 | int tx4938_pcic1_map_irq(const struct pci_dev *dev, u8 slot); |
290 | void tx4938_setup_pcierr_irq(void); | ||
288 | void tx4938_irq_init(void); | 291 | void tx4938_irq_init(void); |
289 | 292 | ||
290 | #endif | 293 | #endif |
diff --git a/include/asm-mips/txx9/txx927.h b/include/asm-mips/txx9/txx927.h deleted file mode 100644 index 97dd7ad1a890..000000000000 --- a/include/asm-mips/txx9/txx927.h +++ /dev/null | |||
@@ -1,121 +0,0 @@ | |||
1 | /* | ||
2 | * Common definitions for TX3927/TX4927 | ||
3 | * | ||
4 | * This file is subject to the terms and conditions of the GNU General Public | ||
5 | * License. See the file "COPYING" in the main directory of this archive | ||
6 | * for more details. | ||
7 | * | ||
8 | * Copyright (C) 2000 Toshiba Corporation | ||
9 | */ | ||
10 | #ifndef __ASM_TXX9_TXX927_H | ||
11 | #define __ASM_TXX9_TXX927_H | ||
12 | |||
13 | struct txx927_sio_reg { | ||
14 | volatile unsigned long lcr; | ||
15 | volatile unsigned long dicr; | ||
16 | volatile unsigned long disr; | ||
17 | volatile unsigned long cisr; | ||
18 | volatile unsigned long fcr; | ||
19 | volatile unsigned long flcr; | ||
20 | volatile unsigned long bgr; | ||
21 | volatile unsigned long tfifo; | ||
22 | volatile unsigned long rfifo; | ||
23 | }; | ||
24 | |||
25 | /* | ||
26 | * SIO | ||
27 | */ | ||
28 | /* SILCR : Line Control */ | ||
29 | #define TXx927_SILCR_SCS_MASK 0x00000060 | ||
30 | #define TXx927_SILCR_SCS_IMCLK 0x00000000 | ||
31 | #define TXx927_SILCR_SCS_IMCLK_BG 0x00000020 | ||
32 | #define TXx927_SILCR_SCS_SCLK 0x00000040 | ||
33 | #define TXx927_SILCR_SCS_SCLK_BG 0x00000060 | ||
34 | #define TXx927_SILCR_UEPS 0x00000010 | ||
35 | #define TXx927_SILCR_UPEN 0x00000008 | ||
36 | #define TXx927_SILCR_USBL_MASK 0x00000004 | ||
37 | #define TXx927_SILCR_USBL_1BIT 0x00000004 | ||
38 | #define TXx927_SILCR_USBL_2BIT 0x00000000 | ||
39 | #define TXx927_SILCR_UMODE_MASK 0x00000003 | ||
40 | #define TXx927_SILCR_UMODE_8BIT 0x00000000 | ||
41 | #define TXx927_SILCR_UMODE_7BIT 0x00000001 | ||
42 | |||
43 | /* SIDICR : DMA/Int. Control */ | ||
44 | #define TXx927_SIDICR_TDE 0x00008000 | ||
45 | #define TXx927_SIDICR_RDE 0x00004000 | ||
46 | #define TXx927_SIDICR_TIE 0x00002000 | ||
47 | #define TXx927_SIDICR_RIE 0x00001000 | ||
48 | #define TXx927_SIDICR_SPIE 0x00000800 | ||
49 | #define TXx927_SIDICR_CTSAC 0x00000600 | ||
50 | #define TXx927_SIDICR_STIE_MASK 0x0000003f | ||
51 | #define TXx927_SIDICR_STIE_OERS 0x00000020 | ||
52 | #define TXx927_SIDICR_STIE_CTSS 0x00000010 | ||
53 | #define TXx927_SIDICR_STIE_RBRKD 0x00000008 | ||
54 | #define TXx927_SIDICR_STIE_TRDY 0x00000004 | ||
55 | #define TXx927_SIDICR_STIE_TXALS 0x00000002 | ||
56 | #define TXx927_SIDICR_STIE_UBRKD 0x00000001 | ||
57 | |||
58 | /* SIDISR : DMA/Int. Status */ | ||
59 | #define TXx927_SIDISR_UBRK 0x00008000 | ||
60 | #define TXx927_SIDISR_UVALID 0x00004000 | ||
61 | #define TXx927_SIDISR_UFER 0x00002000 | ||
62 | #define TXx927_SIDISR_UPER 0x00001000 | ||
63 | #define TXx927_SIDISR_UOER 0x00000800 | ||
64 | #define TXx927_SIDISR_ERI 0x00000400 | ||
65 | #define TXx927_SIDISR_TOUT 0x00000200 | ||
66 | #define TXx927_SIDISR_TDIS 0x00000100 | ||
67 | #define TXx927_SIDISR_RDIS 0x00000080 | ||
68 | #define TXx927_SIDISR_STIS 0x00000040 | ||
69 | #define TXx927_SIDISR_RFDN_MASK 0x0000001f | ||
70 | |||
71 | /* SICISR : Change Int. Status */ | ||
72 | #define TXx927_SICISR_OERS 0x00000020 | ||
73 | #define TXx927_SICISR_CTSS 0x00000010 | ||
74 | #define TXx927_SICISR_RBRKD 0x00000008 | ||
75 | #define TXx927_SICISR_TRDY 0x00000004 | ||
76 | #define TXx927_SICISR_TXALS 0x00000002 | ||
77 | #define TXx927_SICISR_UBRKD 0x00000001 | ||
78 | |||
79 | /* SIFCR : FIFO Control */ | ||
80 | #define TXx927_SIFCR_SWRST 0x00008000 | ||
81 | #define TXx927_SIFCR_RDIL_MASK 0x00000180 | ||
82 | #define TXx927_SIFCR_RDIL_1 0x00000000 | ||
83 | #define TXx927_SIFCR_RDIL_4 0x00000080 | ||
84 | #define TXx927_SIFCR_RDIL_8 0x00000100 | ||
85 | #define TXx927_SIFCR_RDIL_12 0x00000180 | ||
86 | #define TXx927_SIFCR_RDIL_MAX 0x00000180 | ||
87 | #define TXx927_SIFCR_TDIL_MASK 0x00000018 | ||
88 | #define TXx927_SIFCR_TDIL_MASK 0x00000018 | ||
89 | #define TXx927_SIFCR_TDIL_1 0x00000000 | ||
90 | #define TXx927_SIFCR_TDIL_4 0x00000001 | ||
91 | #define TXx927_SIFCR_TDIL_8 0x00000010 | ||
92 | #define TXx927_SIFCR_TDIL_MAX 0x00000010 | ||
93 | #define TXx927_SIFCR_TFRST 0x00000004 | ||
94 | #define TXx927_SIFCR_RFRST 0x00000002 | ||
95 | #define TXx927_SIFCR_FRSTE 0x00000001 | ||
96 | #define TXx927_SIO_TX_FIFO 8 | ||
97 | #define TXx927_SIO_RX_FIFO 16 | ||
98 | |||
99 | /* SIFLCR : Flow Control */ | ||
100 | #define TXx927_SIFLCR_RCS 0x00001000 | ||
101 | #define TXx927_SIFLCR_TES 0x00000800 | ||
102 | #define TXx927_SIFLCR_RTSSC 0x00000200 | ||
103 | #define TXx927_SIFLCR_RSDE 0x00000100 | ||
104 | #define TXx927_SIFLCR_TSDE 0x00000080 | ||
105 | #define TXx927_SIFLCR_RTSTL_MASK 0x0000001e | ||
106 | #define TXx927_SIFLCR_RTSTL_MAX 0x0000001e | ||
107 | #define TXx927_SIFLCR_TBRK 0x00000001 | ||
108 | |||
109 | /* SIBGR : Baudrate Control */ | ||
110 | #define TXx927_SIBGR_BCLK_MASK 0x00000300 | ||
111 | #define TXx927_SIBGR_BCLK_T0 0x00000000 | ||
112 | #define TXx927_SIBGR_BCLK_T2 0x00000100 | ||
113 | #define TXx927_SIBGR_BCLK_T4 0x00000200 | ||
114 | #define TXx927_SIBGR_BCLK_T6 0x00000300 | ||
115 | #define TXx927_SIBGR_BRD_MASK 0x000000ff | ||
116 | |||
117 | /* | ||
118 | * PIO | ||
119 | */ | ||
120 | |||
121 | #endif /* __ASM_TXX9_TXX927_H */ | ||
diff --git a/include/asm-mips/txx9irq.h b/include/asm-mips/txx9irq.h index 1c439e51b875..5620879be37f 100644 --- a/include/asm-mips/txx9irq.h +++ b/include/asm-mips/txx9irq.h | |||
@@ -14,8 +14,12 @@ | |||
14 | #ifdef CONFIG_IRQ_CPU | 14 | #ifdef CONFIG_IRQ_CPU |
15 | #define TXX9_IRQ_BASE (MIPS_CPU_IRQ_BASE + 8) | 15 | #define TXX9_IRQ_BASE (MIPS_CPU_IRQ_BASE + 8) |
16 | #else | 16 | #else |
17 | #ifdef CONFIG_I8259 | ||
18 | #define TXX9_IRQ_BASE (I8259A_IRQ_BASE + 16) | ||
19 | #else | ||
17 | #define TXX9_IRQ_BASE 0 | 20 | #define TXX9_IRQ_BASE 0 |
18 | #endif | 21 | #endif |
22 | #endif | ||
19 | 23 | ||
20 | #ifdef CONFIG_CPU_TX39XX | 24 | #ifdef CONFIG_CPU_TX39XX |
21 | #define TXx9_MAX_IR 16 | 25 | #define TXx9_MAX_IR 16 |
diff --git a/include/asm-powerpc/cpm.h b/include/asm-powerpc/cpm.h index 63a55337c2de..24d79e3abd8e 100644 --- a/include/asm-powerpc/cpm.h +++ b/include/asm-powerpc/cpm.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #include <linux/compiler.h> | 4 | #include <linux/compiler.h> |
5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
6 | #include <linux/of.h> | ||
6 | 7 | ||
7 | /* Opcodes common to CPM1 and CPM2 | 8 | /* Opcodes common to CPM1 and CPM2 |
8 | */ | 9 | */ |
@@ -100,4 +101,6 @@ unsigned long cpm_muram_offset(void __iomem *addr); | |||
100 | dma_addr_t cpm_muram_dma(void __iomem *addr); | 101 | dma_addr_t cpm_muram_dma(void __iomem *addr); |
101 | int cpm_command(u32 command, u8 opcode); | 102 | int cpm_command(u32 command, u8 opcode); |
102 | 103 | ||
104 | int cpm2_gpiochip_add32(struct device_node *np); | ||
105 | |||
103 | #endif | 106 | #endif |
diff --git a/include/asm-powerpc/cpm2.h b/include/asm-powerpc/cpm2.h index 2c7fd9cee291..2a6fa0183ac9 100644 --- a/include/asm-powerpc/cpm2.h +++ b/include/asm-powerpc/cpm2.h | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #include <asm/immap_cpm2.h> | 13 | #include <asm/immap_cpm2.h> |
14 | #include <asm/cpm.h> | 14 | #include <asm/cpm.h> |
15 | #include <sysdev/fsl_soc.h> | ||
15 | 16 | ||
16 | #ifdef CONFIG_PPC_85xx | 17 | #ifdef CONFIG_PPC_85xx |
17 | #define CPM_MAP_ADDR (get_immrbase() + 0x80000) | 18 | #define CPM_MAP_ADDR (get_immrbase() + 0x80000) |
@@ -93,10 +94,40 @@ extern cpm_cpm2_t __iomem *cpmp; /* Pointer to comm processor */ | |||
93 | #define cpm_dpfree cpm_muram_free | 94 | #define cpm_dpfree cpm_muram_free |
94 | #define cpm_dpram_addr cpm_muram_addr | 95 | #define cpm_dpram_addr cpm_muram_addr |
95 | 96 | ||
96 | extern void cpm_setbrg(uint brg, uint rate); | ||
97 | extern void cpm2_fastbrg(uint brg, uint rate, int div16); | ||
98 | extern void cpm2_reset(void); | 97 | extern void cpm2_reset(void); |
99 | 98 | ||
99 | /* Baud rate generators. | ||
100 | */ | ||
101 | #define CPM_BRG_RST ((uint)0x00020000) | ||
102 | #define CPM_BRG_EN ((uint)0x00010000) | ||
103 | #define CPM_BRG_EXTC_INT ((uint)0x00000000) | ||
104 | #define CPM_BRG_EXTC_CLK3_9 ((uint)0x00004000) | ||
105 | #define CPM_BRG_EXTC_CLK5_15 ((uint)0x00008000) | ||
106 | #define CPM_BRG_ATB ((uint)0x00002000) | ||
107 | #define CPM_BRG_CD_MASK ((uint)0x00001ffe) | ||
108 | #define CPM_BRG_DIV16 ((uint)0x00000001) | ||
109 | |||
110 | #define CPM2_BRG_INT_CLK (get_brgfreq()) | ||
111 | #define CPM2_BRG_UART_CLK (CPM2_BRG_INT_CLK/16) | ||
112 | |||
113 | extern void __cpm2_setbrg(uint brg, uint rate, uint clk, int div16, int src); | ||
114 | |||
115 | /* This function is used by UARTS, or anything else that uses a 16x | ||
116 | * oversampled clock. | ||
117 | */ | ||
118 | static inline void cpm_setbrg(uint brg, uint rate) | ||
119 | { | ||
120 | __cpm2_setbrg(brg, rate, CPM2_BRG_UART_CLK, 0, CPM_BRG_EXTC_INT); | ||
121 | } | ||
122 | |||
123 | /* This function is used to set high speed synchronous baud rate | ||
124 | * clocks. | ||
125 | */ | ||
126 | static inline void cpm2_fastbrg(uint brg, uint rate, int div16) | ||
127 | { | ||
128 | __cpm2_setbrg(brg, rate, CPM2_BRG_INT_CLK, div16, CPM_BRG_EXTC_INT); | ||
129 | } | ||
130 | |||
100 | /* Function code bits, usually generic to devices. | 131 | /* Function code bits, usually generic to devices. |
101 | */ | 132 | */ |
102 | #define CPMFCR_GBL ((u_char)0x20) /* Set memory snooping */ | 133 | #define CPMFCR_GBL ((u_char)0x20) /* Set memory snooping */ |
@@ -195,17 +226,6 @@ typedef struct smc_uart { | |||
195 | #define SMCM_TX ((unsigned char)0x02) | 226 | #define SMCM_TX ((unsigned char)0x02) |
196 | #define SMCM_RX ((unsigned char)0x01) | 227 | #define SMCM_RX ((unsigned char)0x01) |
197 | 228 | ||
198 | /* Baud rate generators. | ||
199 | */ | ||
200 | #define CPM_BRG_RST ((uint)0x00020000) | ||
201 | #define CPM_BRG_EN ((uint)0x00010000) | ||
202 | #define CPM_BRG_EXTC_INT ((uint)0x00000000) | ||
203 | #define CPM_BRG_EXTC_CLK3_9 ((uint)0x00004000) | ||
204 | #define CPM_BRG_EXTC_CLK5_15 ((uint)0x00008000) | ||
205 | #define CPM_BRG_ATB ((uint)0x00002000) | ||
206 | #define CPM_BRG_CD_MASK ((uint)0x00001ffe) | ||
207 | #define CPM_BRG_DIV16 ((uint)0x00000001) | ||
208 | |||
209 | /* SCCs. | 229 | /* SCCs. |
210 | */ | 230 | */ |
211 | #define SCC_GSMRH_IRP ((uint)0x00040000) | 231 | #define SCC_GSMRH_IRP ((uint)0x00040000) |
diff --git a/include/asm-powerpc/pgtable-ppc64.h b/include/asm-powerpc/pgtable-ppc64.h index 5fc78c0be302..74c6f380b805 100644 --- a/include/asm-powerpc/pgtable-ppc64.h +++ b/include/asm-powerpc/pgtable-ppc64.h | |||
@@ -461,6 +461,8 @@ void pgtable_cache_init(void); | |||
461 | return pt; | 461 | return pt; |
462 | } | 462 | } |
463 | 463 | ||
464 | pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long address); | ||
465 | |||
464 | #endif /* __ASSEMBLY__ */ | 466 | #endif /* __ASSEMBLY__ */ |
465 | 467 | ||
466 | #endif /* _ASM_POWERPC_PGTABLE_PPC64_H_ */ | 468 | #endif /* _ASM_POWERPC_PGTABLE_PPC64_H_ */ |
diff --git a/include/asm-s390/hardirq.h b/include/asm-s390/hardirq.h index 4b7cb964ff35..89ec7056da28 100644 --- a/include/asm-s390/hardirq.h +++ b/include/asm-s390/hardirq.h | |||
@@ -34,4 +34,18 @@ typedef struct { | |||
34 | 34 | ||
35 | void clock_comparator_work(void); | 35 | void clock_comparator_work(void); |
36 | 36 | ||
37 | static inline unsigned long long local_tick_disable(void) | ||
38 | { | ||
39 | unsigned long long old; | ||
40 | |||
41 | old = S390_lowcore.clock_comparator; | ||
42 | S390_lowcore.clock_comparator = -1ULL; | ||
43 | return old; | ||
44 | } | ||
45 | |||
46 | static inline void local_tick_enable(unsigned long long comp) | ||
47 | { | ||
48 | S390_lowcore.clock_comparator = comp; | ||
49 | } | ||
50 | |||
37 | #endif /* __ASM_HARDIRQ_H */ | 51 | #endif /* __ASM_HARDIRQ_H */ |
diff --git a/include/asm-s390/ipl.h b/include/asm-s390/ipl.h index eaca6dff5405..1171e6d144a3 100644 --- a/include/asm-s390/ipl.h +++ b/include/asm-s390/ipl.h | |||
@@ -159,7 +159,8 @@ enum diag308_vm_flags { | |||
159 | }; | 159 | }; |
160 | 160 | ||
161 | enum diag308_rc { | 161 | enum diag308_rc { |
162 | DIAG308_RC_OK = 1, | 162 | DIAG308_RC_OK = 0x0001, |
163 | DIAG308_RC_NOCONFIG = 0x0102, | ||
163 | }; | 164 | }; |
164 | 165 | ||
165 | extern int diag308(unsigned long subcode, void *addr); | 166 | extern int diag308(unsigned long subcode, void *addr); |
diff --git a/include/asm-s390/schid.h b/include/asm-s390/schid.h index 7bdc0fe15691..825503cf3dc2 100644 --- a/include/asm-s390/schid.h +++ b/include/asm-s390/schid.h | |||
@@ -11,6 +11,7 @@ struct subchannel_id { | |||
11 | } __attribute__ ((packed, aligned(4))); | 11 | } __attribute__ ((packed, aligned(4))); |
12 | 12 | ||
13 | #ifdef __KERNEL__ | 13 | #ifdef __KERNEL__ |
14 | #include <linux/string.h> | ||
14 | 15 | ||
15 | /* Helper function for sane state of pre-allocated subchannel_id. */ | 16 | /* Helper function for sane state of pre-allocated subchannel_id. */ |
16 | static inline void | 17 | static inline void |
diff --git a/include/asm-s390/setup.h b/include/asm-s390/setup.h index 4ba14e463e83..2bd9faeb3919 100644 --- a/include/asm-s390/setup.h +++ b/include/asm-s390/setup.h | |||
@@ -65,7 +65,6 @@ extern unsigned long machine_flags; | |||
65 | 65 | ||
66 | #define MACHINE_FLAG_VM (1UL << 0) | 66 | #define MACHINE_FLAG_VM (1UL << 0) |
67 | #define MACHINE_FLAG_IEEE (1UL << 1) | 67 | #define MACHINE_FLAG_IEEE (1UL << 1) |
68 | #define MACHINE_FLAG_P390 (1UL << 2) | ||
69 | #define MACHINE_FLAG_CSP (1UL << 3) | 68 | #define MACHINE_FLAG_CSP (1UL << 3) |
70 | #define MACHINE_FLAG_MVPG (1UL << 4) | 69 | #define MACHINE_FLAG_MVPG (1UL << 4) |
71 | #define MACHINE_FLAG_DIAG44 (1UL << 5) | 70 | #define MACHINE_FLAG_DIAG44 (1UL << 5) |
diff --git a/include/asm-s390/unistd.h b/include/asm-s390/unistd.h index 583da807ea97..c8ad350d1444 100644 --- a/include/asm-s390/unistd.h +++ b/include/asm-s390/unistd.h | |||
@@ -259,7 +259,13 @@ | |||
259 | #define __NR_timerfd_create 319 | 259 | #define __NR_timerfd_create 319 |
260 | #define __NR_timerfd_settime 320 | 260 | #define __NR_timerfd_settime 320 |
261 | #define __NR_timerfd_gettime 321 | 261 | #define __NR_timerfd_gettime 321 |
262 | #define NR_syscalls 322 | 262 | #define __NR_signalfd4 322 |
263 | #define __NR_eventfd2 323 | ||
264 | #define __NR_inotify_init1 324 | ||
265 | #define __NR_pipe2 325 | ||
266 | #define __NR_dup3 326 | ||
267 | #define __NR_epoll_create1 327 | ||
268 | #define NR_syscalls 328 | ||
263 | 269 | ||
264 | /* | 270 | /* |
265 | * There are some system calls that are not present on 64 bit, some | 271 | * There are some system calls that are not present on 64 bit, some |
diff --git a/include/linux/connector.h b/include/linux/connector.h index 96a89d3d6727..5c7f9468f753 100644 --- a/include/linux/connector.h +++ b/include/linux/connector.h | |||
@@ -38,8 +38,9 @@ | |||
38 | #define CN_W1_VAL 0x1 | 38 | #define CN_W1_VAL 0x1 |
39 | #define CN_IDX_V86D 0x4 | 39 | #define CN_IDX_V86D 0x4 |
40 | #define CN_VAL_V86D_UVESAFB 0x1 | 40 | #define CN_VAL_V86D_UVESAFB 0x1 |
41 | #define CN_IDX_BB 0x5 /* BlackBoard, from the TSP GPL sampling framework */ | ||
41 | 42 | ||
42 | #define CN_NETLINK_USERS 5 | 43 | #define CN_NETLINK_USERS 6 |
43 | 44 | ||
44 | /* | 45 | /* |
45 | * Maximum connector's message size. | 46 | * Maximum connector's message size. |
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 2270ca5ec631..6fd5668aa572 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h | |||
@@ -106,6 +106,7 @@ struct cpufreq_policy { | |||
106 | #define CPUFREQ_ADJUST (0) | 106 | #define CPUFREQ_ADJUST (0) |
107 | #define CPUFREQ_INCOMPATIBLE (1) | 107 | #define CPUFREQ_INCOMPATIBLE (1) |
108 | #define CPUFREQ_NOTIFY (2) | 108 | #define CPUFREQ_NOTIFY (2) |
109 | #define CPUFREQ_START (3) | ||
109 | 110 | ||
110 | #define CPUFREQ_SHARED_TYPE_NONE (0) /* None */ | 111 | #define CPUFREQ_SHARED_TYPE_NONE (0) /* None */ |
111 | #define CPUFREQ_SHARED_TYPE_HW (1) /* HW does needed coordination */ | 112 | #define CPUFREQ_SHARED_TYPE_HW (1) /* HW does needed coordination */ |
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h index 96d0509fb8d8..d3219d73f8e6 100644 --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h | |||
@@ -287,7 +287,7 @@ static inline const cpumask_t *get_cpu_mask(unsigned int cpu) | |||
287 | * gcc optimizes it out (it's a constant) and there's no huge stack | 287 | * gcc optimizes it out (it's a constant) and there's no huge stack |
288 | * variable created: | 288 | * variable created: |
289 | */ | 289 | */ |
290 | #define cpumask_of_cpu(cpu) ({ *get_cpu_mask(cpu); }) | 290 | #define cpumask_of_cpu(cpu) (*get_cpu_mask(cpu)) |
291 | 291 | ||
292 | 292 | ||
293 | #define CPU_MASK_LAST_WORD BITMAP_LAST_WORD_MASK(NR_CPUS) | 293 | #define CPU_MASK_LAST_WORD BITMAP_LAST_WORD_MASK(NR_CPUS) |
diff --git a/include/linux/ioport.h b/include/linux/ioport.h index 2cd07cc29687..22d2115458c6 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h | |||
@@ -118,6 +118,10 @@ extern int allocate_resource(struct resource *root, struct resource *new, | |||
118 | int adjust_resource(struct resource *res, resource_size_t start, | 118 | int adjust_resource(struct resource *res, resource_size_t start, |
119 | resource_size_t size); | 119 | resource_size_t size); |
120 | resource_size_t resource_alignment(struct resource *res); | 120 | resource_size_t resource_alignment(struct resource *res); |
121 | static inline resource_size_t resource_size(struct resource *res) | ||
122 | { | ||
123 | return res->end - res->start + 1; | ||
124 | } | ||
121 | 125 | ||
122 | /* Convenience shorthand with allocation */ | 126 | /* Convenience shorthand with allocation */ |
123 | #define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name)) | 127 | #define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name)) |
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index 57aefa160a92..b96144887444 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h | |||
@@ -108,8 +108,7 @@ static inline void print_fn_descriptor_symbol(const char *fmt, void *addr) | |||
108 | 108 | ||
109 | static inline void print_ip_sym(unsigned long ip) | 109 | static inline void print_ip_sym(unsigned long ip) |
110 | { | 110 | { |
111 | printk("[<%p>]", (void *) ip); | 111 | printk("[<%p>] %pS\n", (void *) ip, (void *) ip); |
112 | print_symbol(" %s\n", ip); | ||
113 | } | 112 | } |
114 | 113 | ||
115 | #endif /*_LINUX_KALLSYMS_H*/ | 114 | #endif /*_LINUX_KALLSYMS_H*/ |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index fdbbf72ca2eb..aaa998f65c7a 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -75,6 +75,12 @@ extern const char linux_proc_banner[]; | |||
75 | */ | 75 | */ |
76 | #define upper_32_bits(n) ((u32)(((n) >> 16) >> 16)) | 76 | #define upper_32_bits(n) ((u32)(((n) >> 16) >> 16)) |
77 | 77 | ||
78 | /** | ||
79 | * lower_32_bits - return bits 0-31 of a number | ||
80 | * @n: the number we're accessing | ||
81 | */ | ||
82 | #define lower_32_bits(n) ((u32)(n)) | ||
83 | |||
78 | #define KERN_EMERG "<0>" /* system is unusable */ | 84 | #define KERN_EMERG "<0>" /* system is unusable */ |
79 | #define KERN_ALERT "<1>" /* action must be taken immediately */ | 85 | #define KERN_ALERT "<1>" /* action must be taken immediately */ |
80 | #define KERN_CRIT "<2>" /* critical conditions */ | 86 | #define KERN_CRIT "<2>" /* critical conditions */ |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 866a3dbe5c75..335288bff1b7 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -744,6 +744,8 @@ struct zap_details { | |||
744 | struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr, | 744 | struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr, |
745 | pte_t pte); | 745 | pte_t pte); |
746 | 746 | ||
747 | int zap_vma_ptes(struct vm_area_struct *vma, unsigned long address, | ||
748 | unsigned long size); | ||
747 | unsigned long zap_page_range(struct vm_area_struct *vma, unsigned long address, | 749 | unsigned long zap_page_range(struct vm_area_struct *vma, unsigned long address, |
748 | unsigned long size, struct zap_details *); | 750 | unsigned long size, struct zap_details *); |
749 | unsigned long unmap_vmas(struct mmu_gather **tlb, | 751 | unsigned long unmap_vmas(struct mmu_gather **tlb, |
@@ -1041,7 +1043,6 @@ extern unsigned long absent_pages_in_range(unsigned long start_pfn, | |||
1041 | extern void get_pfn_range_for_nid(unsigned int nid, | 1043 | extern void get_pfn_range_for_nid(unsigned int nid, |
1042 | unsigned long *start_pfn, unsigned long *end_pfn); | 1044 | unsigned long *start_pfn, unsigned long *end_pfn); |
1043 | extern unsigned long find_min_pfn_with_active_regions(void); | 1045 | extern unsigned long find_min_pfn_with_active_regions(void); |
1044 | extern unsigned long find_max_pfn_with_active_regions(void); | ||
1045 | extern void free_bootmem_with_active_regions(int nid, | 1046 | extern void free_bootmem_with_active_regions(int nid, |
1046 | unsigned long max_low_pfn); | 1047 | unsigned long max_low_pfn); |
1047 | typedef int (*work_fn_t)(unsigned long, unsigned long, void *); | 1048 | typedef int (*work_fn_t)(unsigned long, unsigned long, void *); |
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 54590a9a103e..25aaccdb2f26 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h | |||
@@ -239,9 +239,6 @@ static inline void __SetPageUptodate(struct page *page) | |||
239 | { | 239 | { |
240 | smp_wmb(); | 240 | smp_wmb(); |
241 | __set_bit(PG_uptodate, &(page)->flags); | 241 | __set_bit(PG_uptodate, &(page)->flags); |
242 | #ifdef CONFIG_S390 | ||
243 | page_clear_dirty(page); | ||
244 | #endif | ||
245 | } | 242 | } |
246 | 243 | ||
247 | static inline void SetPageUptodate(struct page *page) | 244 | static inline void SetPageUptodate(struct page *page) |
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index a39b38ccdc97..69ed3cb1197a 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h | |||
@@ -143,6 +143,29 @@ static inline int page_cache_get_speculative(struct page *page) | |||
143 | return 1; | 143 | return 1; |
144 | } | 144 | } |
145 | 145 | ||
146 | /* | ||
147 | * Same as above, but add instead of inc (could just be merged) | ||
148 | */ | ||
149 | static inline int page_cache_add_speculative(struct page *page, int count) | ||
150 | { | ||
151 | VM_BUG_ON(in_interrupt()); | ||
152 | |||
153 | #if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU) | ||
154 | # ifdef CONFIG_PREEMPT | ||
155 | VM_BUG_ON(!in_atomic()); | ||
156 | # endif | ||
157 | VM_BUG_ON(page_count(page) == 0); | ||
158 | atomic_add(count, &page->_count); | ||
159 | |||
160 | #else | ||
161 | if (unlikely(!atomic_add_unless(&page->_count, count, 0))) | ||
162 | return 0; | ||
163 | #endif | ||
164 | VM_BUG_ON(PageCompound(page) && page != compound_head(page)); | ||
165 | |||
166 | return 1; | ||
167 | } | ||
168 | |||
146 | static inline int page_freeze_refs(struct page *page, int count) | 169 | static inline int page_freeze_refs(struct page *page, int count) |
147 | { | 170 | { |
148 | return likely(atomic_cmpxchg(&page->_count, count, 0) == count); | 171 | return likely(atomic_cmpxchg(&page->_count, count, 0) == count); |
diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h index c5f6e54ec6ae..741d1a62cc3f 100644 --- a/include/linux/rfkill.h +++ b/include/linux/rfkill.h | |||
@@ -68,7 +68,8 @@ enum rfkill_state { | |||
68 | * @user_claim_unsupported: Whether the hardware supports exclusive | 68 | * @user_claim_unsupported: Whether the hardware supports exclusive |
69 | * RF-kill control by userspace. Set this before registering. | 69 | * RF-kill control by userspace. Set this before registering. |
70 | * @user_claim: Set when the switch is controlled exlusively by userspace. | 70 | * @user_claim: Set when the switch is controlled exlusively by userspace. |
71 | * @mutex: Guards switch state transitions | 71 | * @mutex: Guards switch state transitions. It serializes callbacks |
72 | * and also protects the state. | ||
72 | * @data: Pointer to the RF button drivers private data which will be | 73 | * @data: Pointer to the RF button drivers private data which will be |
73 | * passed along when toggling radio state. | 74 | * passed along when toggling radio state. |
74 | * @toggle_radio(): Mandatory handler to control state of the radio. | 75 | * @toggle_radio(): Mandatory handler to control state of the radio. |
@@ -89,12 +90,13 @@ struct rfkill { | |||
89 | const char *name; | 90 | const char *name; |
90 | enum rfkill_type type; | 91 | enum rfkill_type type; |
91 | 92 | ||
92 | enum rfkill_state state; | ||
93 | bool user_claim_unsupported; | 93 | bool user_claim_unsupported; |
94 | bool user_claim; | 94 | bool user_claim; |
95 | 95 | ||
96 | /* the mutex serializes callbacks and also protects | ||
97 | * the state */ | ||
96 | struct mutex mutex; | 98 | struct mutex mutex; |
97 | 99 | enum rfkill_state state; | |
98 | void *data; | 100 | void *data; |
99 | int (*toggle_radio)(void *data, enum rfkill_state state); | 101 | int (*toggle_radio)(void *data, enum rfkill_state state); |
100 | int (*get_state)(void *data, enum rfkill_state *state); | 102 | int (*get_state)(void *data, enum rfkill_state *state); |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 7ea44f6621f2..a640385e0598 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -316,7 +316,10 @@ struct sk_buff { | |||
316 | #ifdef CONFIG_IPV6_NDISC_NODETYPE | 316 | #ifdef CONFIG_IPV6_NDISC_NODETYPE |
317 | __u8 ndisc_nodetype:2; | 317 | __u8 ndisc_nodetype:2; |
318 | #endif | 318 | #endif |
319 | /* 14 bit hole */ | 319 | #if defined(CONFIG_MAC80211) || defined(CONFIG_MAC80211_MODULE) |
320 | __u8 do_not_encrypt:1; | ||
321 | #endif | ||
322 | /* 0/13/14 bit hole */ | ||
320 | 323 | ||
321 | #ifdef CONFIG_NET_DMA | 324 | #ifdef CONFIG_NET_DMA |
322 | dma_cookie_t dma_cookie; | 325 | dma_cookie_t dma_cookie; |
diff --git a/include/linux/snmp.h b/include/linux/snmp.h index 5df62ef1280c..7a6e6bba4a71 100644 --- a/include/linux/snmp.h +++ b/include/linux/snmp.h | |||
@@ -214,6 +214,8 @@ enum | |||
214 | LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */ | 214 | LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */ |
215 | LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */ | 215 | LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */ |
216 | LINUX_MIB_TCPSPURIOUSRTOS, /* TCPSpuriousRTOs */ | 216 | LINUX_MIB_TCPSPURIOUSRTOS, /* TCPSpuriousRTOs */ |
217 | LINUX_MIB_TCPMD5NOTFOUND, /* TCPMD5NotFound */ | ||
218 | LINUX_MIB_TCPMD5UNEXPECTED, /* TCPMD5Unexpected */ | ||
217 | __LINUX_MIB_MAX | 219 | __LINUX_MIB_MAX |
218 | }; | 220 | }; |
219 | 221 | ||
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 4dd3d93e1960..b52721008be8 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -206,8 +206,6 @@ struct ieee80211_bss_conf { | |||
206 | * These flags are used with the @flags member of &ieee80211_tx_info. | 206 | * These flags are used with the @flags member of &ieee80211_tx_info. |
207 | * | 207 | * |
208 | * @IEEE80211_TX_CTL_REQ_TX_STATUS: request TX status callback for this frame. | 208 | * @IEEE80211_TX_CTL_REQ_TX_STATUS: request TX status callback for this frame. |
209 | * @IEEE80211_TX_CTL_DO_NOT_ENCRYPT: send this frame without encryption; | ||
210 | * e.g., for EAPOL frame | ||
211 | * @IEEE80211_TX_CTL_USE_RTS_CTS: use RTS-CTS before sending frame | 209 | * @IEEE80211_TX_CTL_USE_RTS_CTS: use RTS-CTS before sending frame |
212 | * @IEEE80211_TX_CTL_USE_CTS_PROTECT: use CTS protection for the frame (e.g., | 210 | * @IEEE80211_TX_CTL_USE_CTS_PROTECT: use CTS protection for the frame (e.g., |
213 | * for combined 802.11g / 802.11b networks) | 211 | * for combined 802.11g / 802.11b networks) |
@@ -220,7 +218,6 @@ struct ieee80211_bss_conf { | |||
220 | * @IEEE80211_TX_CTL_SHORT_PREAMBLE: TBD | 218 | * @IEEE80211_TX_CTL_SHORT_PREAMBLE: TBD |
221 | * @IEEE80211_TX_CTL_LONG_RETRY_LIMIT: this frame should be send using the | 219 | * @IEEE80211_TX_CTL_LONG_RETRY_LIMIT: this frame should be send using the |
222 | * through set_retry_limit configured long retry value | 220 | * through set_retry_limit configured long retry value |
223 | * @IEEE80211_TX_CTL_EAPOL_FRAME: internal to mac80211 | ||
224 | * @IEEE80211_TX_CTL_SEND_AFTER_DTIM: send this frame after DTIM beacon | 221 | * @IEEE80211_TX_CTL_SEND_AFTER_DTIM: send this frame after DTIM beacon |
225 | * @IEEE80211_TX_CTL_AMPDU: this frame should be sent as part of an A-MPDU | 222 | * @IEEE80211_TX_CTL_AMPDU: this frame should be sent as part of an A-MPDU |
226 | * @IEEE80211_TX_CTL_OFDM_HT: this frame can be sent in HT OFDM rates. number | 223 | * @IEEE80211_TX_CTL_OFDM_HT: this frame can be sent in HT OFDM rates. number |
@@ -253,7 +250,6 @@ struct ieee80211_bss_conf { | |||
253 | */ | 250 | */ |
254 | enum mac80211_tx_control_flags { | 251 | enum mac80211_tx_control_flags { |
255 | IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0), | 252 | IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0), |
256 | IEEE80211_TX_CTL_DO_NOT_ENCRYPT = BIT(1), | ||
257 | IEEE80211_TX_CTL_USE_RTS_CTS = BIT(2), | 253 | IEEE80211_TX_CTL_USE_RTS_CTS = BIT(2), |
258 | IEEE80211_TX_CTL_USE_CTS_PROTECT = BIT(3), | 254 | IEEE80211_TX_CTL_USE_CTS_PROTECT = BIT(3), |
259 | IEEE80211_TX_CTL_NO_ACK = BIT(4), | 255 | IEEE80211_TX_CTL_NO_ACK = BIT(4), |
@@ -263,7 +259,6 @@ enum mac80211_tx_control_flags { | |||
263 | IEEE80211_TX_CTL_FIRST_FRAGMENT = BIT(8), | 259 | IEEE80211_TX_CTL_FIRST_FRAGMENT = BIT(8), |
264 | IEEE80211_TX_CTL_SHORT_PREAMBLE = BIT(9), | 260 | IEEE80211_TX_CTL_SHORT_PREAMBLE = BIT(9), |
265 | IEEE80211_TX_CTL_LONG_RETRY_LIMIT = BIT(10), | 261 | IEEE80211_TX_CTL_LONG_RETRY_LIMIT = BIT(10), |
266 | IEEE80211_TX_CTL_EAPOL_FRAME = BIT(11), | ||
267 | IEEE80211_TX_CTL_SEND_AFTER_DTIM = BIT(12), | 262 | IEEE80211_TX_CTL_SEND_AFTER_DTIM = BIT(12), |
268 | IEEE80211_TX_CTL_AMPDU = BIT(13), | 263 | IEEE80211_TX_CTL_AMPDU = BIT(13), |
269 | IEEE80211_TX_CTL_OFDM_HT = BIT(14), | 264 | IEEE80211_TX_CTL_OFDM_HT = BIT(14), |
@@ -323,7 +318,6 @@ struct ieee80211_tx_info { | |||
323 | struct ieee80211_vif *vif; | 318 | struct ieee80211_vif *vif; |
324 | struct ieee80211_key_conf *hw_key; | 319 | struct ieee80211_key_conf *hw_key; |
325 | unsigned long jiffies; | 320 | unsigned long jiffies; |
326 | int ifindex; | ||
327 | u16 aid; | 321 | u16 aid; |
328 | s8 rts_cts_rate_idx, alt_retry_rate_idx; | 322 | s8 rts_cts_rate_idx, alt_retry_rate_idx; |
329 | u8 retry_limit; | 323 | u8 retry_limit; |
@@ -746,7 +740,6 @@ enum ieee80211_tkip_key_type { | |||
746 | * Measurement, Channel Switch, Quieting, TPC | 740 | * Measurement, Channel Switch, Quieting, TPC |
747 | */ | 741 | */ |
748 | enum ieee80211_hw_flags { | 742 | enum ieee80211_hw_flags { |
749 | IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE = 1<<0, | ||
750 | IEEE80211_HW_RX_INCLUDES_FCS = 1<<1, | 743 | IEEE80211_HW_RX_INCLUDES_FCS = 1<<1, |
751 | IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING = 1<<2, | 744 | IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING = 1<<2, |
752 | IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE = 1<<3, | 745 | IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE = 1<<3, |