diff options
791 files changed, 20970 insertions, 5729 deletions
diff --git a/Documentation/ABI/testing/sysfs-kernel-slab b/Documentation/ABI/testing/sysfs-kernel-slab new file mode 100644 index 000000000000..6dcf75e594fb --- /dev/null +++ b/Documentation/ABI/testing/sysfs-kernel-slab | |||
@@ -0,0 +1,479 @@ | |||
1 | What: /sys/kernel/slab | ||
2 | Date: May 2007 | ||
3 | KernelVersion: 2.6.22 | ||
4 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
5 | Christoph Lameter <cl@linux-foundation.org> | ||
6 | Description: | ||
7 | The /sys/kernel/slab directory contains a snapshot of the | ||
8 | internal state of the SLUB allocator for each cache. Certain | ||
9 | files may be modified to change the behavior of the cache (and | ||
10 | any cache it aliases, if any). | ||
11 | Users: kernel memory tuning tools | ||
12 | |||
13 | What: /sys/kernel/slab/cache/aliases | ||
14 | Date: May 2007 | ||
15 | KernelVersion: 2.6.22 | ||
16 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
17 | Christoph Lameter <cl@linux-foundation.org> | ||
18 | Description: | ||
19 | The aliases file is read-only and specifies how many caches | ||
20 | have merged into this cache. | ||
21 | |||
22 | What: /sys/kernel/slab/cache/align | ||
23 | Date: May 2007 | ||
24 | KernelVersion: 2.6.22 | ||
25 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
26 | Christoph Lameter <cl@linux-foundation.org> | ||
27 | Description: | ||
28 | The align file is read-only and specifies the cache's object | ||
29 | alignment in bytes. | ||
30 | |||
31 | What: /sys/kernel/slab/cache/alloc_calls | ||
32 | Date: May 2007 | ||
33 | KernelVersion: 2.6.22 | ||
34 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
35 | Christoph Lameter <cl@linux-foundation.org> | ||
36 | Description: | ||
37 | The alloc_calls file is read-only and lists the kernel code | ||
38 | locations from which allocations for this cache were performed. | ||
39 | The alloc_calls file only contains information if debugging is | ||
40 | enabled for that cache (see Documentation/vm/slub.txt). | ||
41 | |||
42 | What: /sys/kernel/slab/cache/alloc_fastpath | ||
43 | Date: February 2008 | ||
44 | KernelVersion: 2.6.25 | ||
45 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
46 | Christoph Lameter <cl@linux-foundation.org> | ||
47 | Description: | ||
48 | The alloc_fastpath file is read-only and specifies how many | ||
49 | objects have been allocated using the fast path. | ||
50 | Available when CONFIG_SLUB_STATS is enabled. | ||
51 | |||
52 | What: /sys/kernel/slab/cache/alloc_from_partial | ||
53 | Date: February 2008 | ||
54 | KernelVersion: 2.6.25 | ||
55 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
56 | Christoph Lameter <cl@linux-foundation.org> | ||
57 | Description: | ||
58 | The alloc_from_partial file is read-only and specifies how | ||
59 | many times a cpu slab has been full and it has been refilled | ||
60 | by using a slab from the list of partially used slabs. | ||
61 | Available when CONFIG_SLUB_STATS is enabled. | ||
62 | |||
63 | What: /sys/kernel/slab/cache/alloc_refill | ||
64 | Date: February 2008 | ||
65 | KernelVersion: 2.6.25 | ||
66 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
67 | Christoph Lameter <cl@linux-foundation.org> | ||
68 | Description: | ||
69 | The alloc_refill file is read-only and specifies how many | ||
70 | times the per-cpu freelist was empty but there were objects | ||
71 | available as the result of remote cpu frees. | ||
72 | Available when CONFIG_SLUB_STATS is enabled. | ||
73 | |||
74 | What: /sys/kernel/slab/cache/alloc_slab | ||
75 | Date: February 2008 | ||
76 | KernelVersion: 2.6.25 | ||
77 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
78 | Christoph Lameter <cl@linux-foundation.org> | ||
79 | Description: | ||
80 | The alloc_slab file is read-only and specifies how many times | ||
81 | a new slab had to be allocated from the page allocator. | ||
82 | Available when CONFIG_SLUB_STATS is enabled. | ||
83 | |||
84 | What: /sys/kernel/slab/cache/alloc_slowpath | ||
85 | Date: February 2008 | ||
86 | KernelVersion: 2.6.25 | ||
87 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
88 | Christoph Lameter <cl@linux-foundation.org> | ||
89 | Description: | ||
90 | The alloc_slowpath file is read-only and specifies how many | ||
91 | objects have been allocated using the slow path because of a | ||
92 | refill or allocation from a partial or new slab. | ||
93 | Available when CONFIG_SLUB_STATS is enabled. | ||
94 | |||
95 | What: /sys/kernel/slab/cache/cache_dma | ||
96 | Date: May 2007 | ||
97 | KernelVersion: 2.6.22 | ||
98 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
99 | Christoph Lameter <cl@linux-foundation.org> | ||
100 | Description: | ||
101 | The cache_dma file is read-only and specifies whether objects | ||
102 | are from ZONE_DMA. | ||
103 | Available when CONFIG_ZONE_DMA is enabled. | ||
104 | |||
105 | What: /sys/kernel/slab/cache/cpu_slabs | ||
106 | Date: May 2007 | ||
107 | KernelVersion: 2.6.22 | ||
108 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
109 | Christoph Lameter <cl@linux-foundation.org> | ||
110 | Description: | ||
111 | The cpu_slabs file is read-only and displays how many cpu slabs | ||
112 | are active and their NUMA locality. | ||
113 | |||
114 | What: /sys/kernel/slab/cache/cpuslab_flush | ||
115 | Date: April 2009 | ||
116 | KernelVersion: 2.6.31 | ||
117 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
118 | Christoph Lameter <cl@linux-foundation.org> | ||
119 | Description: | ||
120 | The file cpuslab_flush is read-only and specifies how many | ||
121 | times a cache's cpu slabs have been flushed as the result of | ||
122 | destroying or shrinking a cache, a cpu going offline, or as | ||
123 | the result of forcing an allocation from a certain node. | ||
124 | Available when CONFIG_SLUB_STATS is enabled. | ||
125 | |||
126 | What: /sys/kernel/slab/cache/ctor | ||
127 | Date: May 2007 | ||
128 | KernelVersion: 2.6.22 | ||
129 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
130 | Christoph Lameter <cl@linux-foundation.org> | ||
131 | Description: | ||
132 | The ctor file is read-only and specifies the cache's object | ||
133 | constructor function, which is invoked for each object when a | ||
134 | new slab is allocated. | ||
135 | |||
136 | What: /sys/kernel/slab/cache/deactivate_empty | ||
137 | Date: February 2008 | ||
138 | KernelVersion: 2.6.25 | ||
139 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
140 | Christoph Lameter <cl@linux-foundation.org> | ||
141 | Description: | ||
142 | The file deactivate_empty is read-only and specifies how many | ||
143 | times an empty cpu slab was deactivated. | ||
144 | Available when CONFIG_SLUB_STATS is enabled. | ||
145 | |||
146 | What: /sys/kernel/slab/cache/deactivate_full | ||
147 | Date: February 2008 | ||
148 | KernelVersion: 2.6.25 | ||
149 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
150 | Christoph Lameter <cl@linux-foundation.org> | ||
151 | Description: | ||
152 | The file deactivate_full is read-only and specifies how many | ||
153 | times a full cpu slab was deactivated. | ||
154 | Available when CONFIG_SLUB_STATS is enabled. | ||
155 | |||
156 | What: /sys/kernel/slab/cache/deactivate_remote_frees | ||
157 | Date: February 2008 | ||
158 | KernelVersion: 2.6.25 | ||
159 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
160 | Christoph Lameter <cl@linux-foundation.org> | ||
161 | Description: | ||
162 | The file deactivate_remote_frees is read-only and specifies how | ||
163 | many times a cpu slab has been deactivated and contained free | ||
164 | objects that were freed remotely. | ||
165 | Available when CONFIG_SLUB_STATS is enabled. | ||
166 | |||
167 | What: /sys/kernel/slab/cache/deactivate_to_head | ||
168 | Date: February 2008 | ||
169 | KernelVersion: 2.6.25 | ||
170 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
171 | Christoph Lameter <cl@linux-foundation.org> | ||
172 | Description: | ||
173 | The file deactivate_to_head is read-only and specifies how | ||
174 | many times a partial cpu slab was deactivated and added to the | ||
175 | head of its node's partial list. | ||
176 | Available when CONFIG_SLUB_STATS is enabled. | ||
177 | |||
178 | What: /sys/kernel/slab/cache/deactivate_to_tail | ||
179 | Date: February 2008 | ||
180 | KernelVersion: 2.6.25 | ||
181 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
182 | Christoph Lameter <cl@linux-foundation.org> | ||
183 | Description: | ||
184 | The file deactivate_to_tail is read-only and specifies how | ||
185 | many times a partial cpu slab was deactivated and added to the | ||
186 | tail of its node's partial list. | ||
187 | Available when CONFIG_SLUB_STATS is enabled. | ||
188 | |||
189 | What: /sys/kernel/slab/cache/destroy_by_rcu | ||
190 | Date: May 2007 | ||
191 | KernelVersion: 2.6.22 | ||
192 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
193 | Christoph Lameter <cl@linux-foundation.org> | ||
194 | Description: | ||
195 | The destroy_by_rcu file is read-only and specifies whether | ||
196 | slabs (not objects) are freed by rcu. | ||
197 | |||
198 | What: /sys/kernel/slab/cache/free_add_partial | ||
199 | Date: February 2008 | ||
200 | KernelVersion: 2.6.25 | ||
201 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
202 | Christoph Lameter <cl@linux-foundation.org> | ||
203 | Description: | ||
204 | The file free_add_partial is read-only and specifies how many | ||
205 | times an object has been freed in a full slab so that it had to | ||
206 | added to its node's partial list. | ||
207 | Available when CONFIG_SLUB_STATS is enabled. | ||
208 | |||
209 | What: /sys/kernel/slab/cache/free_calls | ||
210 | Date: May 2007 | ||
211 | KernelVersion: 2.6.22 | ||
212 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
213 | Christoph Lameter <cl@linux-foundation.org> | ||
214 | Description: | ||
215 | The free_calls file is read-only and lists the locations of | ||
216 | object frees if slab debugging is enabled (see | ||
217 | Documentation/vm/slub.txt). | ||
218 | |||
219 | What: /sys/kernel/slab/cache/free_fastpath | ||
220 | Date: February 2008 | ||
221 | KernelVersion: 2.6.25 | ||
222 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
223 | Christoph Lameter <cl@linux-foundation.org> | ||
224 | Description: | ||
225 | The free_fastpath file is read-only and specifies how many | ||
226 | objects have been freed using the fast path because it was an | ||
227 | object from the cpu slab. | ||
228 | Available when CONFIG_SLUB_STATS is enabled. | ||
229 | |||
230 | What: /sys/kernel/slab/cache/free_frozen | ||
231 | Date: February 2008 | ||
232 | KernelVersion: 2.6.25 | ||
233 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
234 | Christoph Lameter <cl@linux-foundation.org> | ||
235 | Description: | ||
236 | The free_frozen file is read-only and specifies how many | ||
237 | objects have been freed to a frozen slab (i.e. a remote cpu | ||
238 | slab). | ||
239 | Available when CONFIG_SLUB_STATS is enabled. | ||
240 | |||
241 | What: /sys/kernel/slab/cache/free_remove_partial | ||
242 | Date: February 2008 | ||
243 | KernelVersion: 2.6.25 | ||
244 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
245 | Christoph Lameter <cl@linux-foundation.org> | ||
246 | Description: | ||
247 | The file free_remove_partial is read-only and specifies how | ||
248 | many times an object has been freed to a now-empty slab so | ||
249 | that it had to be removed from its node's partial list. | ||
250 | Available when CONFIG_SLUB_STATS is enabled. | ||
251 | |||
252 | What: /sys/kernel/slab/cache/free_slab | ||
253 | Date: February 2008 | ||
254 | KernelVersion: 2.6.25 | ||
255 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
256 | Christoph Lameter <cl@linux-foundation.org> | ||
257 | Description: | ||
258 | The free_slab file is read-only and specifies how many times an | ||
259 | empty slab has been freed back to the page allocator. | ||
260 | Available when CONFIG_SLUB_STATS is enabled. | ||
261 | |||
262 | What: /sys/kernel/slab/cache/free_slowpath | ||
263 | Date: February 2008 | ||
264 | KernelVersion: 2.6.25 | ||
265 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
266 | Christoph Lameter <cl@linux-foundation.org> | ||
267 | Description: | ||
268 | The free_slowpath file is read-only and specifies how many | ||
269 | objects have been freed using the slow path (i.e. to a full or | ||
270 | partial slab). | ||
271 | Available when CONFIG_SLUB_STATS is enabled. | ||
272 | |||
273 | What: /sys/kernel/slab/cache/hwcache_align | ||
274 | Date: May 2007 | ||
275 | KernelVersion: 2.6.22 | ||
276 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
277 | Christoph Lameter <cl@linux-foundation.org> | ||
278 | Description: | ||
279 | The hwcache_align file is read-only and specifies whether | ||
280 | objects are aligned on cachelines. | ||
281 | |||
282 | What: /sys/kernel/slab/cache/min_partial | ||
283 | Date: February 2009 | ||
284 | KernelVersion: 2.6.30 | ||
285 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
286 | David Rientjes <rientjes@google.com> | ||
287 | Description: | ||
288 | The min_partial file specifies how many empty slabs shall | ||
289 | remain on a node's partial list to avoid the overhead of | ||
290 | allocating new slabs. Such slabs may be reclaimed by utilizing | ||
291 | the shrink file. | ||
292 | |||
293 | What: /sys/kernel/slab/cache/object_size | ||
294 | Date: May 2007 | ||
295 | KernelVersion: 2.6.22 | ||
296 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
297 | Christoph Lameter <cl@linux-foundation.org> | ||
298 | Description: | ||
299 | The object_size file is read-only and specifies the cache's | ||
300 | object size. | ||
301 | |||
302 | What: /sys/kernel/slab/cache/objects | ||
303 | Date: May 2007 | ||
304 | KernelVersion: 2.6.22 | ||
305 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
306 | Christoph Lameter <cl@linux-foundation.org> | ||
307 | Description: | ||
308 | The objects file is read-only and displays how many objects are | ||
309 | active and from which nodes they are from. | ||
310 | |||
311 | What: /sys/kernel/slab/cache/objects_partial | ||
312 | Date: April 2008 | ||
313 | KernelVersion: 2.6.26 | ||
314 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
315 | Christoph Lameter <cl@linux-foundation.org> | ||
316 | Description: | ||
317 | The objects_partial file is read-only and displays how many | ||
318 | objects are on partial slabs and from which nodes they are | ||
319 | from. | ||
320 | |||
321 | What: /sys/kernel/slab/cache/objs_per_slab | ||
322 | Date: May 2007 | ||
323 | KernelVersion: 2.6.22 | ||
324 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
325 | Christoph Lameter <cl@linux-foundation.org> | ||
326 | Description: | ||
327 | The file objs_per_slab is read-only and specifies how many | ||
328 | objects may be allocated from a single slab of the order | ||
329 | specified in /sys/kernel/slab/cache/order. | ||
330 | |||
331 | What: /sys/kernel/slab/cache/order | ||
332 | Date: May 2007 | ||
333 | KernelVersion: 2.6.22 | ||
334 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
335 | Christoph Lameter <cl@linux-foundation.org> | ||
336 | Description: | ||
337 | The order file specifies the page order at which new slabs are | ||
338 | allocated. It is writable and can be changed to increase the | ||
339 | number of objects per slab. If a slab cannot be allocated | ||
340 | because of fragmentation, SLUB will retry with the minimum order | ||
341 | possible depending on its characteristics. | ||
342 | |||
343 | What: /sys/kernel/slab/cache/order_fallback | ||
344 | Date: April 2008 | ||
345 | KernelVersion: 2.6.26 | ||
346 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
347 | Christoph Lameter <cl@linux-foundation.org> | ||
348 | Description: | ||
349 | The file order_fallback is read-only and specifies how many | ||
350 | times an allocation of a new slab has not been possible at the | ||
351 | cache's order and instead fallen back to its minimum possible | ||
352 | order. | ||
353 | Available when CONFIG_SLUB_STATS is enabled. | ||
354 | |||
355 | What: /sys/kernel/slab/cache/partial | ||
356 | Date: May 2007 | ||
357 | KernelVersion: 2.6.22 | ||
358 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
359 | Christoph Lameter <cl@linux-foundation.org> | ||
360 | Description: | ||
361 | The partial file is read-only and displays how long many | ||
362 | partial slabs there are and how long each node's list is. | ||
363 | |||
364 | What: /sys/kernel/slab/cache/poison | ||
365 | Date: May 2007 | ||
366 | KernelVersion: 2.6.22 | ||
367 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
368 | Christoph Lameter <cl@linux-foundation.org> | ||
369 | Description: | ||
370 | The poison file specifies whether objects should be poisoned | ||
371 | when a new slab is allocated. | ||
372 | |||
373 | What: /sys/kernel/slab/cache/reclaim_account | ||
374 | Date: May 2007 | ||
375 | KernelVersion: 2.6.22 | ||
376 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
377 | Christoph Lameter <cl@linux-foundation.org> | ||
378 | Description: | ||
379 | The reclaim_account file specifies whether the cache's objects | ||
380 | are reclaimable (and grouped by their mobility). | ||
381 | |||
382 | What: /sys/kernel/slab/cache/red_zone | ||
383 | Date: May 2007 | ||
384 | KernelVersion: 2.6.22 | ||
385 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
386 | Christoph Lameter <cl@linux-foundation.org> | ||
387 | Description: | ||
388 | The red_zone file specifies whether the cache's objects are red | ||
389 | zoned. | ||
390 | |||
391 | What: /sys/kernel/slab/cache/remote_node_defrag_ratio | ||
392 | Date: January 2008 | ||
393 | KernelVersion: 2.6.25 | ||
394 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
395 | Christoph Lameter <cl@linux-foundation.org> | ||
396 | Description: | ||
397 | The file remote_node_defrag_ratio specifies the percentage of | ||
398 | times SLUB will attempt to refill the cpu slab with a partial | ||
399 | slab from a remote node as opposed to allocating a new slab on | ||
400 | the local node. This reduces the amount of wasted memory over | ||
401 | the entire system but can be expensive. | ||
402 | Available when CONFIG_NUMA is enabled. | ||
403 | |||
404 | What: /sys/kernel/slab/cache/sanity_checks | ||
405 | Date: May 2007 | ||
406 | KernelVersion: 2.6.22 | ||
407 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
408 | Christoph Lameter <cl@linux-foundation.org> | ||
409 | Description: | ||
410 | The sanity_checks file specifies whether expensive checks | ||
411 | should be performed on free and, at minimum, enables double free | ||
412 | checks. Caches that enable sanity_checks cannot be merged with | ||
413 | caches that do not. | ||
414 | |||
415 | What: /sys/kernel/slab/cache/shrink | ||
416 | Date: May 2007 | ||
417 | KernelVersion: 2.6.22 | ||
418 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
419 | Christoph Lameter <cl@linux-foundation.org> | ||
420 | Description: | ||
421 | The shrink file is written when memory should be reclaimed from | ||
422 | a cache. Empty partial slabs are freed and the partial list is | ||
423 | sorted so the slabs with the fewest available objects are used | ||
424 | first. | ||
425 | |||
426 | What: /sys/kernel/slab/cache/slab_size | ||
427 | Date: May 2007 | ||
428 | KernelVersion: 2.6.22 | ||
429 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
430 | Christoph Lameter <cl@linux-foundation.org> | ||
431 | Description: | ||
432 | The slab_size file is read-only and specifies the object size | ||
433 | with metadata (debugging information and alignment) in bytes. | ||
434 | |||
435 | What: /sys/kernel/slab/cache/slabs | ||
436 | Date: May 2007 | ||
437 | KernelVersion: 2.6.22 | ||
438 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
439 | Christoph Lameter <cl@linux-foundation.org> | ||
440 | Description: | ||
441 | The slabs file is read-only and displays how long many slabs | ||
442 | there are (both cpu and partial) and from which nodes they are | ||
443 | from. | ||
444 | |||
445 | What: /sys/kernel/slab/cache/store_user | ||
446 | Date: May 2007 | ||
447 | KernelVersion: 2.6.22 | ||
448 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
449 | Christoph Lameter <cl@linux-foundation.org> | ||
450 | Description: | ||
451 | The store_user file specifies whether the location of | ||
452 | allocation or free should be tracked for a cache. | ||
453 | |||
454 | What: /sys/kernel/slab/cache/total_objects | ||
455 | Date: April 2008 | ||
456 | KernelVersion: 2.6.26 | ||
457 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
458 | Christoph Lameter <cl@linux-foundation.org> | ||
459 | Description: | ||
460 | The total_objects file is read-only and displays how many total | ||
461 | objects a cache has and from which nodes they are from. | ||
462 | |||
463 | What: /sys/kernel/slab/cache/trace | ||
464 | Date: May 2007 | ||
465 | KernelVersion: 2.6.22 | ||
466 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
467 | Christoph Lameter <cl@linux-foundation.org> | ||
468 | Description: | ||
469 | The trace file specifies whether object allocations and frees | ||
470 | should be traced. | ||
471 | |||
472 | What: /sys/kernel/slab/cache/validate | ||
473 | Date: May 2007 | ||
474 | KernelVersion: 2.6.22 | ||
475 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
476 | Christoph Lameter <cl@linux-foundation.org> | ||
477 | Description: | ||
478 | Writing to the validate file causes SLUB to traverse all of its | ||
479 | cache's objects and check the validity of metadata. | ||
diff --git a/Documentation/DMA-API.txt b/Documentation/DMA-API.txt index d9aa43d78bcc..25fb8bcf32a2 100644 --- a/Documentation/DMA-API.txt +++ b/Documentation/DMA-API.txt | |||
@@ -704,12 +704,24 @@ this directory the following files can currently be found: | |||
704 | The current number of free dma_debug_entries | 704 | The current number of free dma_debug_entries |
705 | in the allocator. | 705 | in the allocator. |
706 | 706 | ||
707 | dma-api/driver-filter | ||
708 | You can write a name of a driver into this file | ||
709 | to limit the debug output to requests from that | ||
710 | particular driver. Write an empty string to | ||
711 | that file to disable the filter and see | ||
712 | all errors again. | ||
713 | |||
707 | If you have this code compiled into your kernel it will be enabled by default. | 714 | If you have this code compiled into your kernel it will be enabled by default. |
708 | If you want to boot without the bookkeeping anyway you can provide | 715 | If you want to boot without the bookkeeping anyway you can provide |
709 | 'dma_debug=off' as a boot parameter. This will disable DMA-API debugging. | 716 | 'dma_debug=off' as a boot parameter. This will disable DMA-API debugging. |
710 | Notice that you can not enable it again at runtime. You have to reboot to do | 717 | Notice that you can not enable it again at runtime. You have to reboot to do |
711 | so. | 718 | so. |
712 | 719 | ||
720 | If you want to see debug messages only for a special device driver you can | ||
721 | specify the dma_debug_driver=<drivername> parameter. This will enable the | ||
722 | driver filter at boot time. The debug code will only print errors for that | ||
723 | driver afterwards. This filter can be disabled or changed later using debugfs. | ||
724 | |||
713 | When the code disables itself at runtime this is most likely because it ran | 725 | When the code disables itself at runtime this is most likely because it ran |
714 | out of dma_debug_entries. These entries are preallocated at boot. The number | 726 | out of dma_debug_entries. These entries are preallocated at boot. The number |
715 | of preallocated entries is defined per architecture. If it is too low for you | 727 | of preallocated entries is defined per architecture. If it is too low for you |
diff --git a/Documentation/DocBook/kgdb.tmpl b/Documentation/DocBook/kgdb.tmpl index 372dec20c8da..5cff41a5fa7c 100644 --- a/Documentation/DocBook/kgdb.tmpl +++ b/Documentation/DocBook/kgdb.tmpl | |||
@@ -281,7 +281,7 @@ | |||
281 | seriously wrong while debugging, it will most often be the case | 281 | seriously wrong while debugging, it will most often be the case |
282 | that you want to enable gdb to be verbose about its target | 282 | that you want to enable gdb to be verbose about its target |
283 | communications. You do this prior to issuing the <constant>target | 283 | communications. You do this prior to issuing the <constant>target |
284 | remote</constant> command by typing in: <constant>set remote debug 1</constant> | 284 | remote</constant> command by typing in: <constant>set debug remote 1</constant> |
285 | </para> | 285 | </para> |
286 | </chapter> | 286 | </chapter> |
287 | <chapter id="KGDBTestSuite"> | 287 | <chapter id="KGDBTestSuite"> |
diff --git a/Documentation/filesystems/tmpfs.txt b/Documentation/filesystems/tmpfs.txt index 222437efd75a..3015da0c6b2a 100644 --- a/Documentation/filesystems/tmpfs.txt +++ b/Documentation/filesystems/tmpfs.txt | |||
@@ -133,4 +133,4 @@ RAM/SWAP in 10240 inodes and it is only accessible by root. | |||
133 | Author: | 133 | Author: |
134 | Christoph Rohland <cr@sap.com>, 1.12.01 | 134 | Christoph Rohland <cr@sap.com>, 1.12.01 |
135 | Updated: | 135 | Updated: |
136 | Hugh Dickins <hugh@veritas.com>, 4 June 2007 | 136 | Hugh Dickins, 4 June 2007 |
diff --git a/Documentation/hwmon/sysfs-interface b/Documentation/hwmon/sysfs-interface index 2f10ce6a879f..004ee161721e 100644 --- a/Documentation/hwmon/sysfs-interface +++ b/Documentation/hwmon/sysfs-interface | |||
@@ -150,6 +150,11 @@ fan[1-*]_min Fan minimum value | |||
150 | Unit: revolution/min (RPM) | 150 | Unit: revolution/min (RPM) |
151 | RW | 151 | RW |
152 | 152 | ||
153 | fan[1-*]_max Fan maximum value | ||
154 | Unit: revolution/min (RPM) | ||
155 | Only rarely supported by the hardware. | ||
156 | RW | ||
157 | |||
153 | fan[1-*]_input Fan input value. | 158 | fan[1-*]_input Fan input value. |
154 | Unit: revolution/min (RPM) | 159 | Unit: revolution/min (RPM) |
155 | RO | 160 | RO |
@@ -390,6 +395,7 @@ OR | |||
390 | in[0-*]_min_alarm | 395 | in[0-*]_min_alarm |
391 | in[0-*]_max_alarm | 396 | in[0-*]_max_alarm |
392 | fan[1-*]_min_alarm | 397 | fan[1-*]_min_alarm |
398 | fan[1-*]_max_alarm | ||
393 | temp[1-*]_min_alarm | 399 | temp[1-*]_min_alarm |
394 | temp[1-*]_max_alarm | 400 | temp[1-*]_max_alarm |
395 | temp[1-*]_crit_alarm | 401 | temp[1-*]_crit_alarm |
diff --git a/Documentation/input/multi-touch-protocol.txt b/Documentation/input/multi-touch-protocol.txt index 9f09557aea39..a12ea3b586e6 100644 --- a/Documentation/input/multi-touch-protocol.txt +++ b/Documentation/input/multi-touch-protocol.txt | |||
@@ -18,8 +18,12 @@ Usage | |||
18 | Anonymous finger details are sent sequentially as separate packets of ABS | 18 | Anonymous finger details are sent sequentially as separate packets of ABS |
19 | events. Only the ABS_MT events are recognized as part of a finger | 19 | events. Only the ABS_MT events are recognized as part of a finger |
20 | packet. The end of a packet is marked by calling the input_mt_sync() | 20 | packet. The end of a packet is marked by calling the input_mt_sync() |
21 | function, which generates a SYN_MT_REPORT event. The end of multi-touch | 21 | function, which generates a SYN_MT_REPORT event. This instructs the |
22 | transfer is marked by calling the usual input_sync() function. | 22 | receiver to accept the data for the current finger and prepare to receive |
23 | another. The end of a multi-touch transfer is marked by calling the usual | ||
24 | input_sync() function. This instructs the receiver to act upon events | ||
25 | accumulated since last EV_SYN/SYN_REPORT and prepare to receive a new | ||
26 | set of events/packets. | ||
23 | 27 | ||
24 | A set of ABS_MT events with the desired properties is defined. The events | 28 | A set of ABS_MT events with the desired properties is defined. The events |
25 | are divided into categories, to allow for partial implementation. The | 29 | are divided into categories, to allow for partial implementation. The |
@@ -27,11 +31,26 @@ minimum set consists of ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X and | |||
27 | ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked. If the | 31 | ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked. If the |
28 | device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide the size | 32 | device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide the size |
29 | of the approaching finger. Anisotropy and direction may be specified with | 33 | of the approaching finger. Anisotropy and direction may be specified with |
30 | ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and ABS_MT_ORIENTATION. Devices with | 34 | ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and ABS_MT_ORIENTATION. The |
31 | more granular information may specify general shapes as blobs, i.e., as a | 35 | ABS_MT_TOOL_TYPE may be used to specify whether the touching tool is a |
32 | sequence of rectangular shapes grouped together by an | 36 | finger or a pen or something else. Devices with more granular information |
33 | ABS_MT_BLOB_ID. Finally, the ABS_MT_TOOL_TYPE may be used to specify | 37 | may specify general shapes as blobs, i.e., as a sequence of rectangular |
34 | whether the touching tool is a finger or a pen or something else. | 38 | shapes grouped together by an ABS_MT_BLOB_ID. Finally, for the few devices |
39 | that currently support it, the ABS_MT_TRACKING_ID event may be used to | ||
40 | report finger tracking from hardware [5]. | ||
41 | |||
42 | Here is what a minimal event sequence for a two-finger touch would look | ||
43 | like: | ||
44 | |||
45 | ABS_MT_TOUCH_MAJOR | ||
46 | ABS_MT_POSITION_X | ||
47 | ABS_MT_POSITION_Y | ||
48 | SYN_MT_REPORT | ||
49 | ABS_MT_TOUCH_MAJOR | ||
50 | ABS_MT_POSITION_X | ||
51 | ABS_MT_POSITION_Y | ||
52 | SYN_MT_REPORT | ||
53 | SYN_REPORT | ||
35 | 54 | ||
36 | 55 | ||
37 | Event Semantics | 56 | Event Semantics |
@@ -44,24 +63,24 @@ ABS_MT_TOUCH_MAJOR | |||
44 | 63 | ||
45 | The length of the major axis of the contact. The length should be given in | 64 | The length of the major axis of the contact. The length should be given in |
46 | surface units. If the surface has an X times Y resolution, the largest | 65 | surface units. If the surface has an X times Y resolution, the largest |
47 | possible value of ABS_MT_TOUCH_MAJOR is sqrt(X^2 + Y^2), the diagonal. | 66 | possible value of ABS_MT_TOUCH_MAJOR is sqrt(X^2 + Y^2), the diagonal [4]. |
48 | 67 | ||
49 | ABS_MT_TOUCH_MINOR | 68 | ABS_MT_TOUCH_MINOR |
50 | 69 | ||
51 | The length, in surface units, of the minor axis of the contact. If the | 70 | The length, in surface units, of the minor axis of the contact. If the |
52 | contact is circular, this event can be omitted. | 71 | contact is circular, this event can be omitted [4]. |
53 | 72 | ||
54 | ABS_MT_WIDTH_MAJOR | 73 | ABS_MT_WIDTH_MAJOR |
55 | 74 | ||
56 | The length, in surface units, of the major axis of the approaching | 75 | The length, in surface units, of the major axis of the approaching |
57 | tool. This should be understood as the size of the tool itself. The | 76 | tool. This should be understood as the size of the tool itself. The |
58 | orientation of the contact and the approaching tool are assumed to be the | 77 | orientation of the contact and the approaching tool are assumed to be the |
59 | same. | 78 | same [4]. |
60 | 79 | ||
61 | ABS_MT_WIDTH_MINOR | 80 | ABS_MT_WIDTH_MINOR |
62 | 81 | ||
63 | The length, in surface units, of the minor axis of the approaching | 82 | The length, in surface units, of the minor axis of the approaching |
64 | tool. Omit if circular. | 83 | tool. Omit if circular [4]. |
65 | 84 | ||
66 | The above four values can be used to derive additional information about | 85 | The above four values can be used to derive additional information about |
67 | the contact. The ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR approximates | 86 | the contact. The ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR approximates |
@@ -70,14 +89,17 @@ different characteristic widths [1]. | |||
70 | 89 | ||
71 | ABS_MT_ORIENTATION | 90 | ABS_MT_ORIENTATION |
72 | 91 | ||
73 | The orientation of the ellipse. The value should describe half a revolution | 92 | The orientation of the ellipse. The value should describe a signed quarter |
74 | clockwise around the touch center. The scale of the value is arbitrary, but | 93 | of a revolution clockwise around the touch center. The signed value range |
75 | zero should be returned for an ellipse aligned along the Y axis of the | 94 | is arbitrary, but zero should be returned for a finger aligned along the Y |
76 | surface. As an example, an index finger placed straight onto the axis could | 95 | axis of the surface, a negative value when finger is turned to the left, and |
77 | return zero orientation, something negative when twisted to the left, and | 96 | a positive value when finger turned to the right. When completely aligned with |
78 | something positive when twisted to the right. This value can be omitted if | 97 | the X axis, the range max should be returned. Orientation can be omitted |
79 | the touching object is circular, or if the information is not available in | 98 | if the touching object is circular, or if the information is not available |
80 | the kernel driver. | 99 | in the kernel driver. Partial orientation support is possible if the device |
100 | can distinguish between the two axis, but not (uniquely) any values in | ||
101 | between. In such cases, the range of ABS_MT_ORIENTATION should be [0, 1] | ||
102 | [4]. | ||
81 | 103 | ||
82 | ABS_MT_POSITION_X | 104 | ABS_MT_POSITION_X |
83 | 105 | ||
@@ -98,8 +120,35 @@ ABS_MT_BLOB_ID | |||
98 | 120 | ||
99 | The BLOB_ID groups several packets together into one arbitrarily shaped | 121 | The BLOB_ID groups several packets together into one arbitrarily shaped |
100 | contact. This is a low-level anonymous grouping, and should not be confused | 122 | contact. This is a low-level anonymous grouping, and should not be confused |
101 | with the high-level contactID, explained below. Most kernel drivers will | 123 | with the high-level trackingID [5]. Most kernel drivers will not have blob |
102 | not have this capability, and can safely omit the event. | 124 | capability, and can safely omit the event. |
125 | |||
126 | ABS_MT_TRACKING_ID | ||
127 | |||
128 | The TRACKING_ID identifies an initiated contact throughout its life cycle | ||
129 | [5]. There are currently only a few devices that support it, so this event | ||
130 | should normally be omitted. | ||
131 | |||
132 | |||
133 | Event Computation | ||
134 | ----------------- | ||
135 | |||
136 | The flora of different hardware unavoidably leads to some devices fitting | ||
137 | better to the MT protocol than others. To simplify and unify the mapping, | ||
138 | this section gives recipes for how to compute certain events. | ||
139 | |||
140 | For devices reporting contacts as rectangular shapes, signed orientation | ||
141 | cannot be obtained. Assuming X and Y are the lengths of the sides of the | ||
142 | touching rectangle, here is a simple formula that retains the most | ||
143 | information possible: | ||
144 | |||
145 | ABS_MT_TOUCH_MAJOR := max(X, Y) | ||
146 | ABS_MT_TOUCH_MINOR := min(X, Y) | ||
147 | ABS_MT_ORIENTATION := bool(X > Y) | ||
148 | |||
149 | The range of ABS_MT_ORIENTATION should be set to [0, 1], to indicate that | ||
150 | the device can distinguish between a finger along the Y axis (0) and a | ||
151 | finger along the X axis (1). | ||
103 | 152 | ||
104 | 153 | ||
105 | Finger Tracking | 154 | Finger Tracking |
@@ -109,14 +158,18 @@ The kernel driver should generate an arbitrary enumeration of the set of | |||
109 | anonymous contacts currently on the surface. The order in which the packets | 158 | anonymous contacts currently on the surface. The order in which the packets |
110 | appear in the event stream is not important. | 159 | appear in the event stream is not important. |
111 | 160 | ||
112 | The process of finger tracking, i.e., to assign a unique contactID to each | 161 | The process of finger tracking, i.e., to assign a unique trackingID to each |
113 | initiated contact on the surface, is left to user space; preferably the | 162 | initiated contact on the surface, is left to user space; preferably the |
114 | multi-touch X driver [3]. In that driver, the contactID stays the same and | 163 | multi-touch X driver [3]. In that driver, the trackingID stays the same and |
115 | unique until the contact vanishes (when the finger leaves the surface). The | 164 | unique until the contact vanishes (when the finger leaves the surface). The |
116 | problem of assigning a set of anonymous fingers to a set of identified | 165 | problem of assigning a set of anonymous fingers to a set of identified |
117 | fingers is a euclidian bipartite matching problem at each event update, and | 166 | fingers is a euclidian bipartite matching problem at each event update, and |
118 | relies on a sufficiently rapid update rate. | 167 | relies on a sufficiently rapid update rate. |
119 | 168 | ||
169 | There are a few devices that support trackingID in hardware. User space can | ||
170 | make use of these native identifiers to reduce bandwidth and cpu usage. | ||
171 | |||
172 | |||
120 | Notes | 173 | Notes |
121 | ----- | 174 | ----- |
122 | 175 | ||
@@ -136,5 +189,7 @@ could be used to derive tilt. | |||
136 | time of writing (April 2009), the MT protocol is not yet merged, and the | 189 | time of writing (April 2009), the MT protocol is not yet merged, and the |
137 | prototype implements finger matching, basic mouse support and two-finger | 190 | prototype implements finger matching, basic mouse support and two-finger |
138 | scrolling. The project aims at improving the quality of current multi-touch | 191 | scrolling. The project aims at improving the quality of current multi-touch |
139 | functionality available in the synaptics X driver, and in addition | 192 | functionality available in the Synaptics X driver, and in addition |
140 | implement more advanced gestures. | 193 | implement more advanced gestures. |
194 | [4] See the section on event computation. | ||
195 | [5] See the section on finger tracking. | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index e87bdbfbcc75..8f9e17c855a0 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -329,11 +329,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
329 | flushed before they will be reused, which | 329 | flushed before they will be reused, which |
330 | is a lot of faster | 330 | is a lot of faster |
331 | 331 | ||
332 | amd_iommu_size= [HW,X86-64] | ||
333 | Define the size of the aperture for the AMD IOMMU | ||
334 | driver. Possible values are: | ||
335 | '32M', '64M' (default), '128M', '256M', '512M', '1G' | ||
336 | |||
337 | amijoy.map= [HW,JOY] Amiga joystick support | 332 | amijoy.map= [HW,JOY] Amiga joystick support |
338 | Map of devices attached to JOY0DAT and JOY1DAT | 333 | Map of devices attached to JOY0DAT and JOY1DAT |
339 | Format: <a>,<b> | 334 | Format: <a>,<b> |
@@ -646,6 +641,13 @@ and is between 256 and 4096 characters. It is defined in the file | |||
646 | DMA-API debugging code disables itself because the | 641 | DMA-API debugging code disables itself because the |
647 | architectural default is too low. | 642 | architectural default is too low. |
648 | 643 | ||
644 | dma_debug_driver=<driver_name> | ||
645 | With this option the DMA-API debugging driver | ||
646 | filter feature can be enabled at boot time. Just | ||
647 | pass the driver to filter for as the parameter. | ||
648 | The filter can be disabled or changed to another | ||
649 | driver later using sysfs. | ||
650 | |||
649 | dscc4.setup= [NET] | 651 | dscc4.setup= [NET] |
650 | 652 | ||
651 | dtc3181e= [HW,SCSI] | 653 | dtc3181e= [HW,SCSI] |
@@ -1535,6 +1537,10 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1535 | register save and restore. The kernel will only save | 1537 | register save and restore. The kernel will only save |
1536 | legacy floating-point registers on task switch. | 1538 | legacy floating-point registers on task switch. |
1537 | 1539 | ||
1540 | noxsave [BUGS=X86] Disables x86 extended register state save | ||
1541 | and restore using xsave. The kernel will fallback to | ||
1542 | enabling legacy floating-point and sse state. | ||
1543 | |||
1538 | nohlt [BUGS=ARM,SH] Tells the kernel that the sleep(SH) or | 1544 | nohlt [BUGS=ARM,SH] Tells the kernel that the sleep(SH) or |
1539 | wfi(ARM) instruction doesn't work correctly and not to | 1545 | wfi(ARM) instruction doesn't work correctly and not to |
1540 | use it. This is also useful when using JTAG debugger. | 1546 | use it. This is also useful when using JTAG debugger. |
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index ec5de02f543f..b121c5db707f 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -1266,13 +1266,22 @@ sctp_rmem - vector of 3 INTEGERs: min, default, max | |||
1266 | sctp_wmem - vector of 3 INTEGERs: min, default, max | 1266 | sctp_wmem - vector of 3 INTEGERs: min, default, max |
1267 | See tcp_wmem for a description. | 1267 | See tcp_wmem for a description. |
1268 | 1268 | ||
1269 | UNDOCUMENTED: | ||
1270 | 1269 | ||
1271 | /proc/sys/net/core/* | 1270 | /proc/sys/net/core/* |
1272 | dev_weight FIXME | 1271 | dev_weight - INTEGER |
1272 | The maximum number of packets that kernel can handle on a NAPI | ||
1273 | interrupt, it's a Per-CPU variable. | ||
1274 | |||
1275 | Default: 64 | ||
1273 | 1276 | ||
1274 | /proc/sys/net/unix/* | 1277 | /proc/sys/net/unix/* |
1275 | max_dgram_qlen FIXME | 1278 | max_dgram_qlen - INTEGER |
1279 | The maximum length of dgram socket receive queue | ||
1280 | |||
1281 | Default: 10 | ||
1282 | |||
1283 | |||
1284 | UNDOCUMENTED: | ||
1276 | 1285 | ||
1277 | /proc/sys/net/irda/* | 1286 | /proc/sys/net/irda/* |
1278 | fast_poll_increase FIXME | 1287 | fast_poll_increase FIXME |
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt index 8eec05bc079e..322869fc8a9e 100644 --- a/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/Documentation/sound/alsa/HD-Audio-Models.txt | |||
@@ -334,6 +334,7 @@ STAC9227/9228/9229/927x | |||
334 | ref-no-jd Reference board without HP/Mic jack detection | 334 | ref-no-jd Reference board without HP/Mic jack detection |
335 | 3stack D965 3stack | 335 | 3stack D965 3stack |
336 | 5stack D965 5stack + SPDIF | 336 | 5stack D965 5stack + SPDIF |
337 | 5stack-no-fp D965 5stack without front panel | ||
337 | dell-3stack Dell Dimension E520 | 338 | dell-3stack Dell Dimension E520 |
338 | dell-bios Fixes with Dell BIOS setup | 339 | dell-bios Fixes with Dell BIOS setup |
339 | auto BIOS setup (default) | 340 | auto BIOS setup (default) |
diff --git a/Documentation/sound/alsa/Procfile.txt b/Documentation/sound/alsa/Procfile.txt index bba2dbb79d81..cfac20cf9e33 100644 --- a/Documentation/sound/alsa/Procfile.txt +++ b/Documentation/sound/alsa/Procfile.txt | |||
@@ -104,6 +104,11 @@ card*/pcm*/xrun_debug | |||
104 | When this value is greater than 1, the driver will show the | 104 | When this value is greater than 1, the driver will show the |
105 | stack trace additionally. This may help the debugging. | 105 | stack trace additionally. This may help the debugging. |
106 | 106 | ||
107 | Since 2.6.30, this option also enables the hwptr check using | ||
108 | jiffies. This detects spontaneous invalid pointer callback | ||
109 | values, but can be lead to too much corrections for a (mostly | ||
110 | buggy) hardware that doesn't give smooth pointer updates. | ||
111 | |||
107 | card*/pcm*/sub*/info | 112 | card*/pcm*/sub*/info |
108 | The general information of this PCM sub-stream. | 113 | The general information of this PCM sub-stream. |
109 | 114 | ||
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt index b716d33912d8..c302ddf629a0 100644 --- a/Documentation/sysctl/vm.txt +++ b/Documentation/sysctl/vm.txt | |||
@@ -39,8 +39,6 @@ Currently, these files are in /proc/sys/vm: | |||
39 | - nr_hugepages | 39 | - nr_hugepages |
40 | - nr_overcommit_hugepages | 40 | - nr_overcommit_hugepages |
41 | - nr_pdflush_threads | 41 | - nr_pdflush_threads |
42 | - nr_pdflush_threads_min | ||
43 | - nr_pdflush_threads_max | ||
44 | - nr_trim_pages (only if CONFIG_MMU=n) | 42 | - nr_trim_pages (only if CONFIG_MMU=n) |
45 | - numa_zonelist_order | 43 | - numa_zonelist_order |
46 | - oom_dump_tasks | 44 | - oom_dump_tasks |
@@ -469,32 +467,6 @@ The default value is 0. | |||
469 | 467 | ||
470 | ============================================================== | 468 | ============================================================== |
471 | 469 | ||
472 | nr_pdflush_threads_min | ||
473 | |||
474 | This value controls the minimum number of pdflush threads. | ||
475 | |||
476 | At boot time, the kernel will create and maintain 'nr_pdflush_threads_min' | ||
477 | threads for the kernel's lifetime. | ||
478 | |||
479 | The default value is 2. The minimum value you can specify is 1, and | ||
480 | the maximum value is the current setting of 'nr_pdflush_threads_max'. | ||
481 | |||
482 | See 'nr_pdflush_threads_max' below for more information. | ||
483 | |||
484 | ============================================================== | ||
485 | |||
486 | nr_pdflush_threads_max | ||
487 | |||
488 | This value controls the maximum number of pdflush threads that can be | ||
489 | created. The pdflush algorithm will create a new pdflush thread (up to | ||
490 | this maximum) if no pdflush threads have been available for >= 1 second. | ||
491 | |||
492 | The default value is 8. The minimum value you can specify is the | ||
493 | current value of 'nr_pdflush_threads_min' and the | ||
494 | maximum is 1000. | ||
495 | |||
496 | ============================================================== | ||
497 | |||
498 | overcommit_memory: | 470 | overcommit_memory: |
499 | 471 | ||
500 | This value contains a flag that enables memory overcommitment. | 472 | This value contains a flag that enables memory overcommitment. |
diff --git a/Documentation/sysfs-rules.txt b/Documentation/sysfs-rules.txt index 6049a2a84dda..5d8bc2cd250c 100644 --- a/Documentation/sysfs-rules.txt +++ b/Documentation/sysfs-rules.txt | |||
@@ -113,7 +113,7 @@ versions of the sysfs interface. | |||
113 | "devices" directory at /sys/subsystem/<name>/devices. | 113 | "devices" directory at /sys/subsystem/<name>/devices. |
114 | 114 | ||
115 | If /sys/subsystem exists, /sys/bus, /sys/class and /sys/block can be | 115 | If /sys/subsystem exists, /sys/bus, /sys/class and /sys/block can be |
116 | ignored. If it does not exist, you have always to scan all three | 116 | ignored. If it does not exist, you always have to scan all three |
117 | places, as the kernel is free to move a subsystem from one place to | 117 | places, as the kernel is free to move a subsystem from one place to |
118 | the other, as long as the devices are still reachable by the same | 118 | the other, as long as the devices are still reachable by the same |
119 | subsystem name. | 119 | subsystem name. |
diff --git a/MAINTAINERS b/MAINTAINERS index 2b349ba4add4..cf4abddfc8a4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -434,7 +434,7 @@ F: arch/alpha/ | |||
434 | 434 | ||
435 | AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER | 435 | AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER |
436 | P: Thomas Dahlmann | 436 | P: Thomas Dahlmann |
437 | M: thomas.dahlmann@amd.com | 437 | M: dahlmann.thomas@arcor.de |
438 | L: linux-geode@lists.infradead.org (moderated for non-subscribers) | 438 | L: linux-geode@lists.infradead.org (moderated for non-subscribers) |
439 | S: Supported | 439 | S: Supported |
440 | F: drivers/usb/gadget/amd5536udc.* | 440 | F: drivers/usb/gadget/amd5536udc.* |
@@ -624,6 +624,7 @@ M: paulius.zaleckas@teltonika.lt | |||
624 | L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) | 624 | L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) |
625 | T: git git://gitorious.org/linux-gemini/mainline.git | 625 | T: git git://gitorious.org/linux-gemini/mainline.git |
626 | S: Maintained | 626 | S: Maintained |
627 | F: arch/arm/mach-gemini/ | ||
627 | 628 | ||
628 | ARM/EBSA110 MACHINE SUPPORT | 629 | ARM/EBSA110 MACHINE SUPPORT |
629 | P: Russell King | 630 | P: Russell King |
@@ -650,6 +651,7 @@ P: Paulius Zaleckas | |||
650 | M: paulius.zaleckas@teltonika.lt | 651 | M: paulius.zaleckas@teltonika.lt |
651 | L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) | 652 | L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) |
652 | S: Maintained | 653 | S: Maintained |
654 | F: arch/arm/mm/*-fa* | ||
653 | 655 | ||
654 | ARM/FOOTBRIDGE ARCHITECTURE | 656 | ARM/FOOTBRIDGE ARCHITECTURE |
655 | P: Russell King | 657 | P: Russell King |
@@ -1132,17 +1134,17 @@ F: fs/bfs/ | |||
1132 | F: include/linux/bfs_fs.h | 1134 | F: include/linux/bfs_fs.h |
1133 | 1135 | ||
1134 | BLACKFIN ARCHITECTURE | 1136 | BLACKFIN ARCHITECTURE |
1135 | P: Bryan Wu | 1137 | P: Mike Frysinger |
1136 | M: cooloney@kernel.org | 1138 | M: vapier@gentoo.org |
1137 | L: uclinux-dist-devel@blackfin.uclinux.org | 1139 | L: uclinux-dist-devel@blackfin.uclinux.org |
1138 | W: http://blackfin.uclinux.org | 1140 | W: http://blackfin.uclinux.org |
1139 | S: Supported | 1141 | S: Supported |
1140 | F: arch/blackfin/ | 1142 | F: arch/blackfin/ |
1141 | 1143 | ||
1142 | BLACKFIN EMAC DRIVER | 1144 | BLACKFIN EMAC DRIVER |
1143 | P: Bryan Wu | 1145 | P: Michael Hennerich |
1144 | M: cooloney@kernel.org | 1146 | M: michael.hennerich@analog.com |
1145 | L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only) | 1147 | L: uclinux-dist-devel@blackfin.uclinux.org |
1146 | W: http://blackfin.uclinux.org | 1148 | W: http://blackfin.uclinux.org |
1147 | S: Supported | 1149 | S: Supported |
1148 | F: drivers/net/bfin_mac.* | 1150 | F: drivers/net/bfin_mac.* |
@@ -1150,7 +1152,7 @@ F: drivers/net/bfin_mac.* | |||
1150 | BLACKFIN RTC DRIVER | 1152 | BLACKFIN RTC DRIVER |
1151 | P: Mike Frysinger | 1153 | P: Mike Frysinger |
1152 | M: vapier.adi@gmail.com | 1154 | M: vapier.adi@gmail.com |
1153 | L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only) | 1155 | L: uclinux-dist-devel@blackfin.uclinux.org |
1154 | W: http://blackfin.uclinux.org | 1156 | W: http://blackfin.uclinux.org |
1155 | S: Supported | 1157 | S: Supported |
1156 | F: drivers/rtc/rtc-bfin.c | 1158 | F: drivers/rtc/rtc-bfin.c |
@@ -1158,7 +1160,7 @@ F: drivers/rtc/rtc-bfin.c | |||
1158 | BLACKFIN SERIAL DRIVER | 1160 | BLACKFIN SERIAL DRIVER |
1159 | P: Sonic Zhang | 1161 | P: Sonic Zhang |
1160 | M: sonic.zhang@analog.com | 1162 | M: sonic.zhang@analog.com |
1161 | L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only) | 1163 | L: uclinux-dist-devel@blackfin.uclinux.org |
1162 | W: http://blackfin.uclinux.org | 1164 | W: http://blackfin.uclinux.org |
1163 | S: Supported | 1165 | S: Supported |
1164 | F: drivers/serial/bfin_5xx.c | 1166 | F: drivers/serial/bfin_5xx.c |
@@ -1166,7 +1168,7 @@ F: drivers/serial/bfin_5xx.c | |||
1166 | BLACKFIN WATCHDOG DRIVER | 1168 | BLACKFIN WATCHDOG DRIVER |
1167 | P: Mike Frysinger | 1169 | P: Mike Frysinger |
1168 | M: vapier.adi@gmail.com | 1170 | M: vapier.adi@gmail.com |
1169 | L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only) | 1171 | L: uclinux-dist-devel@blackfin.uclinux.org |
1170 | W: http://blackfin.uclinux.org | 1172 | W: http://blackfin.uclinux.org |
1171 | S: Supported | 1173 | S: Supported |
1172 | F: drivers/watchdog/bfin_wdt.c | 1174 | F: drivers/watchdog/bfin_wdt.c |
@@ -1174,7 +1176,7 @@ F: drivers/watchdog/bfin_wdt.c | |||
1174 | BLACKFIN I2C TWI DRIVER | 1176 | BLACKFIN I2C TWI DRIVER |
1175 | P: Sonic Zhang | 1177 | P: Sonic Zhang |
1176 | M: sonic.zhang@analog.com | 1178 | M: sonic.zhang@analog.com |
1177 | L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only) | 1179 | L: uclinux-dist-devel@blackfin.uclinux.org |
1178 | W: http://blackfin.uclinux.org/ | 1180 | W: http://blackfin.uclinux.org/ |
1179 | S: Supported | 1181 | S: Supported |
1180 | F: drivers/i2c/busses/i2c-bfin-twi.c | 1182 | F: drivers/i2c/busses/i2c-bfin-twi.c |
@@ -1431,6 +1433,14 @@ P: Russell King | |||
1431 | M: linux@arm.linux.org.uk | 1433 | M: linux@arm.linux.org.uk |
1432 | F: include/linux/clk.h | 1434 | F: include/linux/clk.h |
1433 | 1435 | ||
1436 | CISCO FCOE HBA DRIVER | ||
1437 | P: Abhijeet Joglekar | ||
1438 | M: abjoglek@cisco.com | ||
1439 | P: Joe Eykholt | ||
1440 | M: jeykholt@cisco.com | ||
1441 | L: linux-scsi@vger.kernel.org | ||
1442 | S: Supported | ||
1443 | |||
1434 | CODA FILE SYSTEM | 1444 | CODA FILE SYSTEM |
1435 | P: Jan Harkes | 1445 | P: Jan Harkes |
1436 | M: jaharkes@cs.cmu.edu | 1446 | M: jaharkes@cs.cmu.edu |
@@ -1532,6 +1542,13 @@ W: http://www.fi.muni.cz/~kas/cosa/ | |||
1532 | S: Maintained | 1542 | S: Maintained |
1533 | F: drivers/net/wan/cosa* | 1543 | F: drivers/net/wan/cosa* |
1534 | 1544 | ||
1545 | CPMAC ETHERNET DRIVER | ||
1546 | P: Florian Fainelli | ||
1547 | M: florian@openwrt.org | ||
1548 | L: netdev@vger.kernel.org | ||
1549 | S: Maintained | ||
1550 | F: drivers/net/cpmac.c | ||
1551 | |||
1535 | CPU FREQUENCY DRIVERS | 1552 | CPU FREQUENCY DRIVERS |
1536 | P: Dave Jones | 1553 | P: Dave Jones |
1537 | M: davej@redhat.com | 1554 | M: davej@redhat.com |
@@ -1963,8 +1980,8 @@ F: include/linux/edac.h | |||
1963 | 1980 | ||
1964 | EDAC-E752X | 1981 | EDAC-E752X |
1965 | P: Mark Gross | 1982 | P: Mark Gross |
1966 | P: Doug Thompson | ||
1967 | M: mark.gross@intel.com | 1983 | M: mark.gross@intel.com |
1984 | P: Doug Thompson | ||
1968 | M: dougthompson@xmission.com | 1985 | M: dougthompson@xmission.com |
1969 | L: bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers) | 1986 | L: bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers) |
1970 | W: bluesmoke.sourceforge.net | 1987 | W: bluesmoke.sourceforge.net |
@@ -2241,7 +2258,7 @@ P: Li Yang | |||
2241 | M: leoli@freescale.com | 2258 | M: leoli@freescale.com |
2242 | P: Zhang Wei | 2259 | P: Zhang Wei |
2243 | M: zw@zh-kernel.org | 2260 | M: zw@zh-kernel.org |
2244 | L: linuxppc-embedded@ozlabs.org | 2261 | L: linuxppc-dev@ozlabs.org |
2245 | L: linux-kernel@vger.kernel.org | 2262 | L: linux-kernel@vger.kernel.org |
2246 | S: Maintained | 2263 | S: Maintained |
2247 | F: drivers/dma/fsldma.* | 2264 | F: drivers/dma/fsldma.* |
@@ -5579,6 +5596,14 @@ M: ian@mnementh.co.uk | |||
5579 | S: Maintained | 5596 | S: Maintained |
5580 | F: drivers/mmc/host/tmio_mmc.* | 5597 | F: drivers/mmc/host/tmio_mmc.* |
5581 | 5598 | ||
5599 | TMPFS (SHMEM FILESYSTEM) | ||
5600 | P: Hugh Dickins | ||
5601 | M: hugh.dickins@tiscali.co.uk | ||
5602 | L: linux-mm@kvack.org | ||
5603 | S: Maintained | ||
5604 | F: include/linux/shmem_fs.h | ||
5605 | F: mm/shmem.c | ||
5606 | |||
5582 | TPM DEVICE DRIVER | 5607 | TPM DEVICE DRIVER |
5583 | P: Debora Velarde | 5608 | P: Debora Velarde |
5584 | M: debora@linux.vnet.ibm.com | 5609 | M: debora@linux.vnet.ibm.com |
@@ -1,8 +1,8 @@ | |||
1 | VERSION = 2 | 1 | VERSION = 2 |
2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
3 | SUBLEVEL = 30 | 3 | SUBLEVEL = 30 |
4 | EXTRAVERSION = -rc5 | 4 | EXTRAVERSION = -rc8 |
5 | NAME = Vindictive Armadillo | 5 | NAME = Man-Eating Seals of Antiquity |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
8 | # To see a list of typical targets execute "make help" | 8 | # To see a list of typical targets execute "make help" |
diff --git a/arch/alpha/include/asm/percpu.h b/arch/alpha/include/asm/percpu.h index e9e0bb5a23bf..06c5c7a4afd3 100644 --- a/arch/alpha/include/asm/percpu.h +++ b/arch/alpha/include/asm/percpu.h | |||
@@ -1,7 +1,9 @@ | |||
1 | #ifndef __ALPHA_PERCPU_H | 1 | #ifndef __ALPHA_PERCPU_H |
2 | #define __ALPHA_PERCPU_H | 2 | #define __ALPHA_PERCPU_H |
3 | |||
3 | #include <linux/compiler.h> | 4 | #include <linux/compiler.h> |
4 | #include <linux/threads.h> | 5 | #include <linux/threads.h> |
6 | #include <linux/percpu-defs.h> | ||
5 | 7 | ||
6 | /* | 8 | /* |
7 | * Determine the real variable name from the name visible in the | 9 | * Determine the real variable name from the name visible in the |
@@ -73,6 +75,28 @@ extern unsigned long __per_cpu_offset[NR_CPUS]; | |||
73 | 75 | ||
74 | #endif /* SMP */ | 76 | #endif /* SMP */ |
75 | 77 | ||
76 | #include <asm-generic/percpu.h> | 78 | #ifdef CONFIG_SMP |
79 | #define PER_CPU_BASE_SECTION ".data.percpu" | ||
80 | #else | ||
81 | #define PER_CPU_BASE_SECTION ".data" | ||
82 | #endif | ||
83 | |||
84 | #ifdef CONFIG_SMP | ||
85 | |||
86 | #ifdef MODULE | ||
87 | #define PER_CPU_SHARED_ALIGNED_SECTION "" | ||
88 | #else | ||
89 | #define PER_CPU_SHARED_ALIGNED_SECTION ".shared_aligned" | ||
90 | #endif | ||
91 | #define PER_CPU_FIRST_SECTION ".first" | ||
92 | |||
93 | #else | ||
94 | |||
95 | #define PER_CPU_SHARED_ALIGNED_SECTION "" | ||
96 | #define PER_CPU_FIRST_SECTION "" | ||
97 | |||
98 | #endif | ||
99 | |||
100 | #define PER_CPU_ATTRIBUTES | ||
77 | 101 | ||
78 | #endif /* __ALPHA_PERCPU_H */ | 102 | #endif /* __ALPHA_PERCPU_H */ |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index e60ec54df334..9d02cdb15b23 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -273,6 +273,7 @@ config ARCH_EP93XX | |||
273 | select HAVE_CLK | 273 | select HAVE_CLK |
274 | select COMMON_CLKDEV | 274 | select COMMON_CLKDEV |
275 | select ARCH_REQUIRE_GPIOLIB | 275 | select ARCH_REQUIRE_GPIOLIB |
276 | select ARCH_HAS_HOLES_MEMORYMODEL | ||
276 | help | 277 | help |
277 | This enables support for the Cirrus EP93xx series of CPUs. | 278 | This enables support for the Cirrus EP93xx series of CPUs. |
278 | 279 | ||
@@ -976,10 +977,9 @@ config OABI_COMPAT | |||
976 | UNPREDICTABLE (in fact it can be predicted that it won't work | 977 | UNPREDICTABLE (in fact it can be predicted that it won't work |
977 | at all). If in doubt say Y. | 978 | at all). If in doubt say Y. |
978 | 979 | ||
979 | config ARCH_FLATMEM_HAS_HOLES | 980 | config ARCH_HAS_HOLES_MEMORYMODEL |
980 | bool | 981 | bool |
981 | default y | 982 | default n |
982 | depends on FLATMEM | ||
983 | 983 | ||
984 | # Discontigmem is deprecated | 984 | # Discontigmem is deprecated |
985 | config ARCH_DISCONTIGMEM_ENABLE | 985 | config ARCH_DISCONTIGMEM_ENABLE |
diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c index c6884ba1d5ed..3e1714c6523f 100644 --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c | |||
@@ -253,9 +253,9 @@ void __cpuinit gic_cpu_init(unsigned int gic_nr, void __iomem *base) | |||
253 | } | 253 | } |
254 | 254 | ||
255 | #ifdef CONFIG_SMP | 255 | #ifdef CONFIG_SMP |
256 | void gic_raise_softirq(cpumask_t cpumask, unsigned int irq) | 256 | void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) |
257 | { | 257 | { |
258 | unsigned long map = *cpus_addr(cpumask); | 258 | unsigned long map = *cpus_addr(*mask); |
259 | 259 | ||
260 | /* this always happens on GIC0 */ | 260 | /* this always happens on GIC0 */ |
261 | writel(map << 16 | irq, gic_data[0].dist_base + GIC_DIST_SOFTINT); | 261 | writel(map << 16 | irq, gic_data[0].dist_base + GIC_DIST_SOFTINT); |
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h index 6116e4893c0a..15f8a092b700 100644 --- a/arch/arm/include/asm/assembler.h +++ b/arch/arm/include/asm/assembler.h | |||
@@ -114,3 +114,16 @@ | |||
114 | .align 3; \ | 114 | .align 3; \ |
115 | .long 9999b,9001f; \ | 115 | .long 9999b,9001f; \ |
116 | .previous | 116 | .previous |
117 | |||
118 | /* | ||
119 | * SMP data memory barrier | ||
120 | */ | ||
121 | .macro smp_dmb | ||
122 | #ifdef CONFIG_SMP | ||
123 | #if __LINUX_ARM_ARCH__ >= 7 | ||
124 | dmb | ||
125 | #elif __LINUX_ARM_ARCH__ == 6 | ||
126 | mcr p15, 0, r0, c7, c10, 5 @ dmb | ||
127 | #endif | ||
128 | #endif | ||
129 | .endm | ||
diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h index ee99723b3a6c..16b52f397983 100644 --- a/arch/arm/include/asm/atomic.h +++ b/arch/arm/include/asm/atomic.h | |||
@@ -44,11 +44,29 @@ static inline void atomic_set(atomic_t *v, int i) | |||
44 | : "cc"); | 44 | : "cc"); |
45 | } | 45 | } |
46 | 46 | ||
47 | static inline void atomic_add(int i, atomic_t *v) | ||
48 | { | ||
49 | unsigned long tmp; | ||
50 | int result; | ||
51 | |||
52 | __asm__ __volatile__("@ atomic_add\n" | ||
53 | "1: ldrex %0, [%2]\n" | ||
54 | " add %0, %0, %3\n" | ||
55 | " strex %1, %0, [%2]\n" | ||
56 | " teq %1, #0\n" | ||
57 | " bne 1b" | ||
58 | : "=&r" (result), "=&r" (tmp) | ||
59 | : "r" (&v->counter), "Ir" (i) | ||
60 | : "cc"); | ||
61 | } | ||
62 | |||
47 | static inline int atomic_add_return(int i, atomic_t *v) | 63 | static inline int atomic_add_return(int i, atomic_t *v) |
48 | { | 64 | { |
49 | unsigned long tmp; | 65 | unsigned long tmp; |
50 | int result; | 66 | int result; |
51 | 67 | ||
68 | smp_mb(); | ||
69 | |||
52 | __asm__ __volatile__("@ atomic_add_return\n" | 70 | __asm__ __volatile__("@ atomic_add_return\n" |
53 | "1: ldrex %0, [%2]\n" | 71 | "1: ldrex %0, [%2]\n" |
54 | " add %0, %0, %3\n" | 72 | " add %0, %0, %3\n" |
@@ -59,14 +77,34 @@ static inline int atomic_add_return(int i, atomic_t *v) | |||
59 | : "r" (&v->counter), "Ir" (i) | 77 | : "r" (&v->counter), "Ir" (i) |
60 | : "cc"); | 78 | : "cc"); |
61 | 79 | ||
80 | smp_mb(); | ||
81 | |||
62 | return result; | 82 | return result; |
63 | } | 83 | } |
64 | 84 | ||
85 | static inline void atomic_sub(int i, atomic_t *v) | ||
86 | { | ||
87 | unsigned long tmp; | ||
88 | int result; | ||
89 | |||
90 | __asm__ __volatile__("@ atomic_sub\n" | ||
91 | "1: ldrex %0, [%2]\n" | ||
92 | " sub %0, %0, %3\n" | ||
93 | " strex %1, %0, [%2]\n" | ||
94 | " teq %1, #0\n" | ||
95 | " bne 1b" | ||
96 | : "=&r" (result), "=&r" (tmp) | ||
97 | : "r" (&v->counter), "Ir" (i) | ||
98 | : "cc"); | ||
99 | } | ||
100 | |||
65 | static inline int atomic_sub_return(int i, atomic_t *v) | 101 | static inline int atomic_sub_return(int i, atomic_t *v) |
66 | { | 102 | { |
67 | unsigned long tmp; | 103 | unsigned long tmp; |
68 | int result; | 104 | int result; |
69 | 105 | ||
106 | smp_mb(); | ||
107 | |||
70 | __asm__ __volatile__("@ atomic_sub_return\n" | 108 | __asm__ __volatile__("@ atomic_sub_return\n" |
71 | "1: ldrex %0, [%2]\n" | 109 | "1: ldrex %0, [%2]\n" |
72 | " sub %0, %0, %3\n" | 110 | " sub %0, %0, %3\n" |
@@ -77,6 +115,8 @@ static inline int atomic_sub_return(int i, atomic_t *v) | |||
77 | : "r" (&v->counter), "Ir" (i) | 115 | : "r" (&v->counter), "Ir" (i) |
78 | : "cc"); | 116 | : "cc"); |
79 | 117 | ||
118 | smp_mb(); | ||
119 | |||
80 | return result; | 120 | return result; |
81 | } | 121 | } |
82 | 122 | ||
@@ -84,6 +124,8 @@ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new) | |||
84 | { | 124 | { |
85 | unsigned long oldval, res; | 125 | unsigned long oldval, res; |
86 | 126 | ||
127 | smp_mb(); | ||
128 | |||
87 | do { | 129 | do { |
88 | __asm__ __volatile__("@ atomic_cmpxchg\n" | 130 | __asm__ __volatile__("@ atomic_cmpxchg\n" |
89 | "ldrex %1, [%2]\n" | 131 | "ldrex %1, [%2]\n" |
@@ -95,6 +137,8 @@ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new) | |||
95 | : "cc"); | 137 | : "cc"); |
96 | } while (res); | 138 | } while (res); |
97 | 139 | ||
140 | smp_mb(); | ||
141 | |||
98 | return oldval; | 142 | return oldval; |
99 | } | 143 | } |
100 | 144 | ||
@@ -135,6 +179,7 @@ static inline int atomic_add_return(int i, atomic_t *v) | |||
135 | 179 | ||
136 | return val; | 180 | return val; |
137 | } | 181 | } |
182 | #define atomic_add(i, v) (void) atomic_add_return(i, v) | ||
138 | 183 | ||
139 | static inline int atomic_sub_return(int i, atomic_t *v) | 184 | static inline int atomic_sub_return(int i, atomic_t *v) |
140 | { | 185 | { |
@@ -148,6 +193,7 @@ static inline int atomic_sub_return(int i, atomic_t *v) | |||
148 | 193 | ||
149 | return val; | 194 | return val; |
150 | } | 195 | } |
196 | #define atomic_sub(i, v) (void) atomic_sub_return(i, v) | ||
151 | 197 | ||
152 | static inline int atomic_cmpxchg(atomic_t *v, int old, int new) | 198 | static inline int atomic_cmpxchg(atomic_t *v, int old, int new) |
153 | { | 199 | { |
@@ -187,10 +233,8 @@ static inline int atomic_add_unless(atomic_t *v, int a, int u) | |||
187 | } | 233 | } |
188 | #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) | 234 | #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) |
189 | 235 | ||
190 | #define atomic_add(i, v) (void) atomic_add_return(i, v) | 236 | #define atomic_inc(v) atomic_add(1, v) |
191 | #define atomic_inc(v) (void) atomic_add_return(1, v) | 237 | #define atomic_dec(v) atomic_sub(1, v) |
192 | #define atomic_sub(i, v) (void) atomic_sub_return(i, v) | ||
193 | #define atomic_dec(v) (void) atomic_sub_return(1, v) | ||
194 | 238 | ||
195 | #define atomic_inc_and_test(v) (atomic_add_return(1, v) == 0) | 239 | #define atomic_inc_and_test(v) (atomic_add_return(1, v) == 0) |
196 | #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0) | 240 | #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0) |
@@ -200,11 +244,10 @@ static inline int atomic_add_unless(atomic_t *v, int a, int u) | |||
200 | 244 | ||
201 | #define atomic_add_negative(i,v) (atomic_add_return(i, v) < 0) | 245 | #define atomic_add_negative(i,v) (atomic_add_return(i, v) < 0) |
202 | 246 | ||
203 | /* Atomic operations are already serializing on ARM */ | 247 | #define smp_mb__before_atomic_dec() smp_mb() |
204 | #define smp_mb__before_atomic_dec() barrier() | 248 | #define smp_mb__after_atomic_dec() smp_mb() |
205 | #define smp_mb__after_atomic_dec() barrier() | 249 | #define smp_mb__before_atomic_inc() smp_mb() |
206 | #define smp_mb__before_atomic_inc() barrier() | 250 | #define smp_mb__after_atomic_inc() smp_mb() |
207 | #define smp_mb__after_atomic_inc() barrier() | ||
208 | 251 | ||
209 | #include <asm-generic/atomic.h> | 252 | #include <asm-generic/atomic.h> |
210 | #endif | 253 | #endif |
diff --git a/arch/arm/include/asm/flat.h b/arch/arm/include/asm/flat.h index 1d77e51907f6..59426a4595c9 100644 --- a/arch/arm/include/asm/flat.h +++ b/arch/arm/include/asm/flat.h | |||
@@ -5,9 +5,6 @@ | |||
5 | #ifndef __ARM_FLAT_H__ | 5 | #ifndef __ARM_FLAT_H__ |
6 | #define __ARM_FLAT_H__ | 6 | #define __ARM_FLAT_H__ |
7 | 7 | ||
8 | /* An odd number of words will be pushed after this alignment, so | ||
9 | deliberately misalign the value. */ | ||
10 | #define flat_stack_align(sp) sp = (void *)(((unsigned long)(sp) - 4) | 4) | ||
11 | #define flat_argvp_envp_on_stack() 1 | 8 | #define flat_argvp_envp_on_stack() 1 |
12 | #define flat_old_ram_flag(flags) (flags) | 9 | #define flat_old_ram_flag(flags) (flags) |
13 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) | 10 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) |
diff --git a/arch/arm/include/asm/hardware/gic.h b/arch/arm/include/asm/hardware/gic.h index 4924914af188..7f34333bb545 100644 --- a/arch/arm/include/asm/hardware/gic.h +++ b/arch/arm/include/asm/hardware/gic.h | |||
@@ -36,7 +36,7 @@ | |||
36 | void gic_dist_init(unsigned int gic_nr, void __iomem *base, unsigned int irq_start); | 36 | void gic_dist_init(unsigned int gic_nr, void __iomem *base, unsigned int irq_start); |
37 | void gic_cpu_init(unsigned int gic_nr, void __iomem *base); | 37 | void gic_cpu_init(unsigned int gic_nr, void __iomem *base); |
38 | void gic_cascade_irq(unsigned int gic_nr, unsigned int irq); | 38 | void gic_cascade_irq(unsigned int gic_nr, unsigned int irq); |
39 | void gic_raise_softirq(cpumask_t cpumask, unsigned int irq); | 39 | void gic_raise_softirq(const struct cpumask *mask, unsigned int irq); |
40 | #endif | 40 | #endif |
41 | 41 | ||
42 | #endif | 42 | #endif |
diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h index fad70da5911d..5995935338e1 100644 --- a/arch/arm/include/asm/smp.h +++ b/arch/arm/include/asm/smp.h | |||
@@ -53,17 +53,12 @@ extern void smp_store_cpu_info(unsigned int cpuid); | |||
53 | /* | 53 | /* |
54 | * Raise an IPI cross call on CPUs in callmap. | 54 | * Raise an IPI cross call on CPUs in callmap. |
55 | */ | 55 | */ |
56 | extern void smp_cross_call(cpumask_t callmap); | 56 | extern void smp_cross_call(const struct cpumask *mask); |
57 | |||
58 | /* | ||
59 | * Broadcast a timer interrupt to the other CPUs. | ||
60 | */ | ||
61 | extern void smp_send_timer(void); | ||
62 | 57 | ||
63 | /* | 58 | /* |
64 | * Broadcast a clock event to other CPUs. | 59 | * Broadcast a clock event to other CPUs. |
65 | */ | 60 | */ |
66 | extern void smp_timer_broadcast(cpumask_t mask); | 61 | extern void smp_timer_broadcast(const struct cpumask *mask); |
67 | 62 | ||
68 | /* | 63 | /* |
69 | * Boot a secondary CPU, and assign it the specified idle task. | 64 | * Boot a secondary CPU, and assign it the specified idle task. |
@@ -102,7 +97,8 @@ extern int platform_cpu_kill(unsigned int cpu); | |||
102 | extern void platform_cpu_enable(unsigned int cpu); | 97 | extern void platform_cpu_enable(unsigned int cpu); |
103 | 98 | ||
104 | extern void arch_send_call_function_single_ipi(int cpu); | 99 | extern void arch_send_call_function_single_ipi(int cpu); |
105 | extern void arch_send_call_function_ipi(cpumask_t mask); | 100 | extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); |
101 | #define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask | ||
106 | 102 | ||
107 | /* | 103 | /* |
108 | * Local timer interrupt handling function (can be IPI'ed). | 104 | * Local timer interrupt handling function (can be IPI'ed). |
diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h index bd4dc8ed53d5..d65b2f5bf41f 100644 --- a/arch/arm/include/asm/system.h +++ b/arch/arm/include/asm/system.h | |||
@@ -248,6 +248,8 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size | |||
248 | unsigned int tmp; | 248 | unsigned int tmp; |
249 | #endif | 249 | #endif |
250 | 250 | ||
251 | smp_mb(); | ||
252 | |||
251 | switch (size) { | 253 | switch (size) { |
252 | #if __LINUX_ARM_ARCH__ >= 6 | 254 | #if __LINUX_ARM_ARCH__ >= 6 |
253 | case 1: | 255 | case 1: |
@@ -307,6 +309,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size | |||
307 | __bad_xchg(ptr, size), ret = 0; | 309 | __bad_xchg(ptr, size), ret = 0; |
308 | break; | 310 | break; |
309 | } | 311 | } |
312 | smp_mb(); | ||
310 | 313 | ||
311 | return ret; | 314 | return ret; |
312 | } | 315 | } |
@@ -316,6 +319,12 @@ extern void enable_hlt(void); | |||
316 | 319 | ||
317 | #include <asm-generic/cmpxchg-local.h> | 320 | #include <asm-generic/cmpxchg-local.h> |
318 | 321 | ||
322 | #if __LINUX_ARM_ARCH__ < 6 | ||
323 | |||
324 | #ifdef CONFIG_SMP | ||
325 | #error "SMP is not supported on this platform" | ||
326 | #endif | ||
327 | |||
319 | /* | 328 | /* |
320 | * cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make | 329 | * cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make |
321 | * them available. | 330 | * them available. |
@@ -329,6 +338,173 @@ extern void enable_hlt(void); | |||
329 | #include <asm-generic/cmpxchg.h> | 338 | #include <asm-generic/cmpxchg.h> |
330 | #endif | 339 | #endif |
331 | 340 | ||
341 | #else /* __LINUX_ARM_ARCH__ >= 6 */ | ||
342 | |||
343 | extern void __bad_cmpxchg(volatile void *ptr, int size); | ||
344 | |||
345 | /* | ||
346 | * cmpxchg only support 32-bits operands on ARMv6. | ||
347 | */ | ||
348 | |||
349 | static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, | ||
350 | unsigned long new, int size) | ||
351 | { | ||
352 | unsigned long oldval, res; | ||
353 | |||
354 | switch (size) { | ||
355 | #ifdef CONFIG_CPU_32v6K | ||
356 | case 1: | ||
357 | do { | ||
358 | asm volatile("@ __cmpxchg1\n" | ||
359 | " ldrexb %1, [%2]\n" | ||
360 | " mov %0, #0\n" | ||
361 | " teq %1, %3\n" | ||
362 | " strexbeq %0, %4, [%2]\n" | ||
363 | : "=&r" (res), "=&r" (oldval) | ||
364 | : "r" (ptr), "Ir" (old), "r" (new) | ||
365 | : "memory", "cc"); | ||
366 | } while (res); | ||
367 | break; | ||
368 | case 2: | ||
369 | do { | ||
370 | asm volatile("@ __cmpxchg1\n" | ||
371 | " ldrexh %1, [%2]\n" | ||
372 | " mov %0, #0\n" | ||
373 | " teq %1, %3\n" | ||
374 | " strexheq %0, %4, [%2]\n" | ||
375 | : "=&r" (res), "=&r" (oldval) | ||
376 | : "r" (ptr), "Ir" (old), "r" (new) | ||
377 | : "memory", "cc"); | ||
378 | } while (res); | ||
379 | break; | ||
380 | #endif /* CONFIG_CPU_32v6K */ | ||
381 | case 4: | ||
382 | do { | ||
383 | asm volatile("@ __cmpxchg4\n" | ||
384 | " ldrex %1, [%2]\n" | ||
385 | " mov %0, #0\n" | ||
386 | " teq %1, %3\n" | ||
387 | " strexeq %0, %4, [%2]\n" | ||
388 | : "=&r" (res), "=&r" (oldval) | ||
389 | : "r" (ptr), "Ir" (old), "r" (new) | ||
390 | : "memory", "cc"); | ||
391 | } while (res); | ||
392 | break; | ||
393 | default: | ||
394 | __bad_cmpxchg(ptr, size); | ||
395 | oldval = 0; | ||
396 | } | ||
397 | |||
398 | return oldval; | ||
399 | } | ||
400 | |||
401 | static inline unsigned long __cmpxchg_mb(volatile void *ptr, unsigned long old, | ||
402 | unsigned long new, int size) | ||
403 | { | ||
404 | unsigned long ret; | ||
405 | |||
406 | smp_mb(); | ||
407 | ret = __cmpxchg(ptr, old, new, size); | ||
408 | smp_mb(); | ||
409 | |||
410 | return ret; | ||
411 | } | ||
412 | |||
413 | #define cmpxchg(ptr,o,n) \ | ||
414 | ((__typeof__(*(ptr)))__cmpxchg_mb((ptr), \ | ||
415 | (unsigned long)(o), \ | ||
416 | (unsigned long)(n), \ | ||
417 | sizeof(*(ptr)))) | ||
418 | |||
419 | static inline unsigned long __cmpxchg_local(volatile void *ptr, | ||
420 | unsigned long old, | ||
421 | unsigned long new, int size) | ||
422 | { | ||
423 | unsigned long ret; | ||
424 | |||
425 | switch (size) { | ||
426 | #ifndef CONFIG_CPU_32v6K | ||
427 | case 1: | ||
428 | case 2: | ||
429 | ret = __cmpxchg_local_generic(ptr, old, new, size); | ||
430 | break; | ||
431 | #endif /* !CONFIG_CPU_32v6K */ | ||
432 | default: | ||
433 | ret = __cmpxchg(ptr, old, new, size); | ||
434 | } | ||
435 | |||
436 | return ret; | ||
437 | } | ||
438 | |||
439 | #define cmpxchg_local(ptr,o,n) \ | ||
440 | ((__typeof__(*(ptr)))__cmpxchg_local((ptr), \ | ||
441 | (unsigned long)(o), \ | ||
442 | (unsigned long)(n), \ | ||
443 | sizeof(*(ptr)))) | ||
444 | |||
445 | #ifdef CONFIG_CPU_32v6K | ||
446 | |||
447 | /* | ||
448 | * Note : ARMv7-M (currently unsupported by Linux) does not support | ||
449 | * ldrexd/strexd. If ARMv7-M is ever supported by the Linux kernel, it should | ||
450 | * not be allowed to use __cmpxchg64. | ||
451 | */ | ||
452 | static inline unsigned long long __cmpxchg64(volatile void *ptr, | ||
453 | unsigned long long old, | ||
454 | unsigned long long new) | ||
455 | { | ||
456 | register unsigned long long oldval asm("r0"); | ||
457 | register unsigned long long __old asm("r2") = old; | ||
458 | register unsigned long long __new asm("r4") = new; | ||
459 | unsigned long res; | ||
460 | |||
461 | do { | ||
462 | asm volatile( | ||
463 | " @ __cmpxchg8\n" | ||
464 | " ldrexd %1, %H1, [%2]\n" | ||
465 | " mov %0, #0\n" | ||
466 | " teq %1, %3\n" | ||
467 | " teqeq %H1, %H3\n" | ||
468 | " strexdeq %0, %4, %H4, [%2]\n" | ||
469 | : "=&r" (res), "=&r" (oldval) | ||
470 | : "r" (ptr), "Ir" (__old), "r" (__new) | ||
471 | : "memory", "cc"); | ||
472 | } while (res); | ||
473 | |||
474 | return oldval; | ||
475 | } | ||
476 | |||
477 | static inline unsigned long long __cmpxchg64_mb(volatile void *ptr, | ||
478 | unsigned long long old, | ||
479 | unsigned long long new) | ||
480 | { | ||
481 | unsigned long long ret; | ||
482 | |||
483 | smp_mb(); | ||
484 | ret = __cmpxchg64(ptr, old, new); | ||
485 | smp_mb(); | ||
486 | |||
487 | return ret; | ||
488 | } | ||
489 | |||
490 | #define cmpxchg64(ptr,o,n) \ | ||
491 | ((__typeof__(*(ptr)))__cmpxchg64_mb((ptr), \ | ||
492 | (unsigned long long)(o), \ | ||
493 | (unsigned long long)(n))) | ||
494 | |||
495 | #define cmpxchg64_local(ptr,o,n) \ | ||
496 | ((__typeof__(*(ptr)))__cmpxchg64((ptr), \ | ||
497 | (unsigned long long)(o), \ | ||
498 | (unsigned long long)(n))) | ||
499 | |||
500 | #else /* !CONFIG_CPU_32v6K */ | ||
501 | |||
502 | #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) | ||
503 | |||
504 | #endif /* CONFIG_CPU_32v6K */ | ||
505 | |||
506 | #endif /* __LINUX_ARM_ARCH__ >= 6 */ | ||
507 | |||
332 | #endif /* __ASSEMBLY__ */ | 508 | #endif /* __ASSEMBLY__ */ |
333 | 509 | ||
334 | #define arch_align_stack(x) (x) | 510 | #define arch_align_stack(x) (x) |
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c index d4a0da1e48f4..950391f194c4 100644 --- a/arch/arm/kernel/elf.c +++ b/arch/arm/kernel/elf.c | |||
@@ -78,6 +78,15 @@ int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) | |||
78 | return 1; | 78 | return 1; |
79 | if (cpu_architecture() < CPU_ARCH_ARMv6) | 79 | if (cpu_architecture() < CPU_ARCH_ARMv6) |
80 | return 1; | 80 | return 1; |
81 | #if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT) | ||
82 | /* | ||
83 | * If we have support for OABI programs, we can never allow NX | ||
84 | * support - our signal syscall restart mechanism relies upon | ||
85 | * being able to execute code placed on the user stack. | ||
86 | */ | ||
87 | return 1; | ||
88 | #else | ||
81 | return 0; | 89 | return 0; |
90 | #endif | ||
82 | } | 91 | } |
83 | EXPORT_SYMBOL(arm_elf_read_implies_exec); | 92 | EXPORT_SYMBOL(arm_elf_read_implies_exec); |
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index d662a2f1fd85..83b1da6b7baa 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -815,10 +815,7 @@ __kuser_helper_start: | |||
815 | */ | 815 | */ |
816 | 816 | ||
817 | __kuser_memory_barrier: @ 0xffff0fa0 | 817 | __kuser_memory_barrier: @ 0xffff0fa0 |
818 | 818 | smp_dmb | |
819 | #if __LINUX_ARM_ARCH__ >= 6 && defined(CONFIG_SMP) | ||
820 | mcr p15, 0, r0, c7, c10, 5 @ dmb | ||
821 | #endif | ||
822 | usr_ret lr | 819 | usr_ret lr |
823 | 820 | ||
824 | .align 5 | 821 | .align 5 |
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 7801aac3c043..6014dfd22af4 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -326,14 +326,14 @@ void __init smp_prepare_boot_cpu(void) | |||
326 | per_cpu(cpu_data, cpu).idle = current; | 326 | per_cpu(cpu_data, cpu).idle = current; |
327 | } | 327 | } |
328 | 328 | ||
329 | static void send_ipi_message(cpumask_t callmap, enum ipi_msg_type msg) | 329 | static void send_ipi_message(const struct cpumask *mask, enum ipi_msg_type msg) |
330 | { | 330 | { |
331 | unsigned long flags; | 331 | unsigned long flags; |
332 | unsigned int cpu; | 332 | unsigned int cpu; |
333 | 333 | ||
334 | local_irq_save(flags); | 334 | local_irq_save(flags); |
335 | 335 | ||
336 | for_each_cpu_mask(cpu, callmap) { | 336 | for_each_cpu(cpu, mask) { |
337 | struct ipi_data *ipi = &per_cpu(ipi_data, cpu); | 337 | struct ipi_data *ipi = &per_cpu(ipi_data, cpu); |
338 | 338 | ||
339 | spin_lock(&ipi->lock); | 339 | spin_lock(&ipi->lock); |
@@ -344,19 +344,19 @@ static void send_ipi_message(cpumask_t callmap, enum ipi_msg_type msg) | |||
344 | /* | 344 | /* |
345 | * Call the platform specific cross-CPU call function. | 345 | * Call the platform specific cross-CPU call function. |
346 | */ | 346 | */ |
347 | smp_cross_call(callmap); | 347 | smp_cross_call(mask); |
348 | 348 | ||
349 | local_irq_restore(flags); | 349 | local_irq_restore(flags); |
350 | } | 350 | } |
351 | 351 | ||
352 | void arch_send_call_function_ipi(cpumask_t mask) | 352 | void arch_send_call_function_ipi_mask(const struct cpumask *mask) |
353 | { | 353 | { |
354 | send_ipi_message(mask, IPI_CALL_FUNC); | 354 | send_ipi_message(mask, IPI_CALL_FUNC); |
355 | } | 355 | } |
356 | 356 | ||
357 | void arch_send_call_function_single_ipi(int cpu) | 357 | void arch_send_call_function_single_ipi(int cpu) |
358 | { | 358 | { |
359 | send_ipi_message(cpumask_of_cpu(cpu), IPI_CALL_FUNC_SINGLE); | 359 | send_ipi_message(cpumask_of(cpu), IPI_CALL_FUNC_SINGLE); |
360 | } | 360 | } |
361 | 361 | ||
362 | void show_ipi_list(struct seq_file *p) | 362 | void show_ipi_list(struct seq_file *p) |
@@ -498,17 +498,10 @@ asmlinkage void __exception do_IPI(struct pt_regs *regs) | |||
498 | 498 | ||
499 | void smp_send_reschedule(int cpu) | 499 | void smp_send_reschedule(int cpu) |
500 | { | 500 | { |
501 | send_ipi_message(cpumask_of_cpu(cpu), IPI_RESCHEDULE); | 501 | send_ipi_message(cpumask_of(cpu), IPI_RESCHEDULE); |
502 | } | 502 | } |
503 | 503 | ||
504 | void smp_send_timer(void) | 504 | void smp_timer_broadcast(const struct cpumask *mask) |
505 | { | ||
506 | cpumask_t mask = cpu_online_map; | ||
507 | cpu_clear(smp_processor_id(), mask); | ||
508 | send_ipi_message(mask, IPI_TIMER); | ||
509 | } | ||
510 | |||
511 | void smp_timer_broadcast(cpumask_t mask) | ||
512 | { | 505 | { |
513 | send_ipi_message(mask, IPI_TIMER); | 506 | send_ipi_message(mask, IPI_TIMER); |
514 | } | 507 | } |
@@ -517,7 +510,7 @@ void smp_send_stop(void) | |||
517 | { | 510 | { |
518 | cpumask_t mask = cpu_online_map; | 511 | cpumask_t mask = cpu_online_map; |
519 | cpu_clear(smp_processor_id(), mask); | 512 | cpu_clear(smp_processor_id(), mask); |
520 | send_ipi_message(mask, IPI_CPU_STOP); | 513 | send_ipi_message(&mask, IPI_CPU_STOP); |
521 | } | 514 | } |
522 | 515 | ||
523 | /* | 516 | /* |
@@ -528,20 +521,17 @@ int setup_profiling_timer(unsigned int multiplier) | |||
528 | return -EINVAL; | 521 | return -EINVAL; |
529 | } | 522 | } |
530 | 523 | ||
531 | static int | 524 | static void |
532 | on_each_cpu_mask(void (*func)(void *), void *info, int wait, cpumask_t mask) | 525 | on_each_cpu_mask(void (*func)(void *), void *info, int wait, |
526 | const struct cpumask *mask) | ||
533 | { | 527 | { |
534 | int ret = 0; | ||
535 | |||
536 | preempt_disable(); | 528 | preempt_disable(); |
537 | 529 | ||
538 | ret = smp_call_function_mask(mask, func, info, wait); | 530 | smp_call_function_many(mask, func, info, wait); |
539 | if (cpu_isset(smp_processor_id(), mask)) | 531 | if (cpumask_test_cpu(smp_processor_id(), mask)) |
540 | func(info); | 532 | func(info); |
541 | 533 | ||
542 | preempt_enable(); | 534 | preempt_enable(); |
543 | |||
544 | return ret; | ||
545 | } | 535 | } |
546 | 536 | ||
547 | /**********************************************************************/ | 537 | /**********************************************************************/ |
@@ -602,20 +592,17 @@ void flush_tlb_all(void) | |||
602 | 592 | ||
603 | void flush_tlb_mm(struct mm_struct *mm) | 593 | void flush_tlb_mm(struct mm_struct *mm) |
604 | { | 594 | { |
605 | cpumask_t mask = mm->cpu_vm_mask; | 595 | on_each_cpu_mask(ipi_flush_tlb_mm, mm, 1, &mm->cpu_vm_mask); |
606 | |||
607 | on_each_cpu_mask(ipi_flush_tlb_mm, mm, 1, mask); | ||
608 | } | 596 | } |
609 | 597 | ||
610 | void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) | 598 | void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) |
611 | { | 599 | { |
612 | cpumask_t mask = vma->vm_mm->cpu_vm_mask; | ||
613 | struct tlb_args ta; | 600 | struct tlb_args ta; |
614 | 601 | ||
615 | ta.ta_vma = vma; | 602 | ta.ta_vma = vma; |
616 | ta.ta_start = uaddr; | 603 | ta.ta_start = uaddr; |
617 | 604 | ||
618 | on_each_cpu_mask(ipi_flush_tlb_page, &ta, 1, mask); | 605 | on_each_cpu_mask(ipi_flush_tlb_page, &ta, 1, &vma->vm_mm->cpu_vm_mask); |
619 | } | 606 | } |
620 | 607 | ||
621 | void flush_tlb_kernel_page(unsigned long kaddr) | 608 | void flush_tlb_kernel_page(unsigned long kaddr) |
@@ -630,14 +617,13 @@ void flush_tlb_kernel_page(unsigned long kaddr) | |||
630 | void flush_tlb_range(struct vm_area_struct *vma, | 617 | void flush_tlb_range(struct vm_area_struct *vma, |
631 | unsigned long start, unsigned long end) | 618 | unsigned long start, unsigned long end) |
632 | { | 619 | { |
633 | cpumask_t mask = vma->vm_mm->cpu_vm_mask; | ||
634 | struct tlb_args ta; | 620 | struct tlb_args ta; |
635 | 621 | ||
636 | ta.ta_vma = vma; | 622 | ta.ta_vma = vma; |
637 | ta.ta_start = start; | 623 | ta.ta_start = start; |
638 | ta.ta_end = end; | 624 | ta.ta_end = end; |
639 | 625 | ||
640 | on_each_cpu_mask(ipi_flush_tlb_range, &ta, 1, mask); | 626 | on_each_cpu_mask(ipi_flush_tlb_range, &ta, 1, &vma->vm_mm->cpu_vm_mask); |
641 | } | 627 | } |
642 | 628 | ||
643 | void flush_tlb_kernel_range(unsigned long start, unsigned long end) | 629 | void flush_tlb_kernel_range(unsigned long start, unsigned long end) |
diff --git a/arch/arm/lib/bitops.h b/arch/arm/lib/bitops.h index 2e787d40d599..c7f2627385e7 100644 --- a/arch/arm/lib/bitops.h +++ b/arch/arm/lib/bitops.h | |||
@@ -18,12 +18,14 @@ | |||
18 | mov r2, #1 | 18 | mov r2, #1 |
19 | add r1, r1, r0, lsr #3 @ Get byte offset | 19 | add r1, r1, r0, lsr #3 @ Get byte offset |
20 | mov r3, r2, lsl r3 @ create mask | 20 | mov r3, r2, lsl r3 @ create mask |
21 | smp_dmb | ||
21 | 1: ldrexb r2, [r1] | 22 | 1: ldrexb r2, [r1] |
22 | ands r0, r2, r3 @ save old value of bit | 23 | ands r0, r2, r3 @ save old value of bit |
23 | \instr r2, r2, r3 @ toggle bit | 24 | \instr r2, r2, r3 @ toggle bit |
24 | strexb ip, r2, [r1] | 25 | strexb ip, r2, [r1] |
25 | cmp ip, #0 | 26 | cmp ip, #0 |
26 | bne 1b | 27 | bne 1b |
28 | smp_dmb | ||
27 | cmp r0, #0 | 29 | cmp r0, #0 |
28 | movne r0, #1 | 30 | movne r0, #1 |
29 | 2: mov pc, lr | 31 | 2: mov pc, lr |
diff --git a/arch/arm/mach-davinci/include/mach/asp.h b/arch/arm/mach-davinci/include/mach/asp.h new file mode 100644 index 000000000000..e0abc437d796 --- /dev/null +++ b/arch/arm/mach-davinci/include/mach/asp.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * <mach/asp.h> - DaVinci Audio Serial Port support | ||
3 | */ | ||
4 | #ifndef __ASM_ARCH_DAVINCI_ASP_H | ||
5 | #define __ASM_ARCH_DAVINCI_ASP_H | ||
6 | |||
7 | #include <mach/irqs.h> | ||
8 | |||
9 | /* Bases of register banks */ | ||
10 | #define DAVINCI_ASP0_BASE 0x01E02000 | ||
11 | #define DAVINCI_ASP1_BASE 0x01E04000 | ||
12 | |||
13 | /* EDMA channels */ | ||
14 | #define DAVINCI_DMA_ASP0_TX 2 | ||
15 | #define DAVINCI_DMA_ASP0_RX 3 | ||
16 | #define DAVINCI_DMA_ASP1_TX 8 | ||
17 | #define DAVINCI_DMA_ASP1_RX 9 | ||
18 | |||
19 | /* Interrupts */ | ||
20 | #define DAVINCI_ASP0_RX_INT IRQ_MBRINT | ||
21 | #define DAVINCI_ASP0_TX_INT IRQ_MBXINT | ||
22 | #define DAVINCI_ASP1_RX_INT IRQ_MBRINT | ||
23 | #define DAVINCI_ASP1_TX_INT IRQ_MBXINT | ||
24 | |||
25 | #endif /* __ASM_ARCH_DAVINCI_ASP_H */ | ||
diff --git a/arch/arm/mach-ep93xx/clock.c b/arch/arm/mach-ep93xx/clock.c index e8ebeaea6c48..b2eede5531c8 100644 --- a/arch/arm/mach-ep93xx/clock.c +++ b/arch/arm/mach-ep93xx/clock.c | |||
@@ -21,15 +21,50 @@ | |||
21 | #include <asm/div64.h> | 21 | #include <asm/div64.h> |
22 | #include <mach/hardware.h> | 22 | #include <mach/hardware.h> |
23 | 23 | ||
24 | |||
25 | /* | ||
26 | * The EP93xx has two external crystal oscillators. To generate the | ||
27 | * required high-frequency clocks, the processor uses two phase-locked- | ||
28 | * loops (PLLs) to multiply the incoming external clock signal to much | ||
29 | * higher frequencies that are then divided down by programmable dividers | ||
30 | * to produce the needed clocks. The PLLs operate independently of one | ||
31 | * another. | ||
32 | */ | ||
33 | #define EP93XX_EXT_CLK_RATE 14745600 | ||
34 | #define EP93XX_EXT_RTC_RATE 32768 | ||
35 | |||
36 | |||
24 | struct clk { | 37 | struct clk { |
25 | unsigned long rate; | 38 | unsigned long rate; |
26 | int users; | 39 | int users; |
40 | int sw_locked; | ||
27 | u32 enable_reg; | 41 | u32 enable_reg; |
28 | u32 enable_mask; | 42 | u32 enable_mask; |
43 | |||
44 | unsigned long (*get_rate)(struct clk *clk); | ||
29 | }; | 45 | }; |
30 | 46 | ||
31 | static struct clk clk_uart = { | 47 | |
32 | .rate = 14745600, | 48 | static unsigned long get_uart_rate(struct clk *clk); |
49 | |||
50 | |||
51 | static struct clk clk_uart1 = { | ||
52 | .sw_locked = 1, | ||
53 | .enable_reg = EP93XX_SYSCON_DEVICE_CONFIG, | ||
54 | .enable_mask = EP93XX_SYSCON_DEVICE_CONFIG_U1EN, | ||
55 | .get_rate = get_uart_rate, | ||
56 | }; | ||
57 | static struct clk clk_uart2 = { | ||
58 | .sw_locked = 1, | ||
59 | .enable_reg = EP93XX_SYSCON_DEVICE_CONFIG, | ||
60 | .enable_mask = EP93XX_SYSCON_DEVICE_CONFIG_U2EN, | ||
61 | .get_rate = get_uart_rate, | ||
62 | }; | ||
63 | static struct clk clk_uart3 = { | ||
64 | .sw_locked = 1, | ||
65 | .enable_reg = EP93XX_SYSCON_DEVICE_CONFIG, | ||
66 | .enable_mask = EP93XX_SYSCON_DEVICE_CONFIG_U3EN, | ||
67 | .get_rate = get_uart_rate, | ||
33 | }; | 68 | }; |
34 | static struct clk clk_pll1; | 69 | static struct clk clk_pll1; |
35 | static struct clk clk_f; | 70 | static struct clk clk_f; |
@@ -95,9 +130,9 @@ static struct clk clk_m2m1 = { | |||
95 | { .dev_id = dev, .con_id = con, .clk = ck } | 130 | { .dev_id = dev, .con_id = con, .clk = ck } |
96 | 131 | ||
97 | static struct clk_lookup clocks[] = { | 132 | static struct clk_lookup clocks[] = { |
98 | INIT_CK("apb:uart1", NULL, &clk_uart), | 133 | INIT_CK("apb:uart1", NULL, &clk_uart1), |
99 | INIT_CK("apb:uart2", NULL, &clk_uart), | 134 | INIT_CK("apb:uart2", NULL, &clk_uart2), |
100 | INIT_CK("apb:uart3", NULL, &clk_uart), | 135 | INIT_CK("apb:uart3", NULL, &clk_uart3), |
101 | INIT_CK(NULL, "pll1", &clk_pll1), | 136 | INIT_CK(NULL, "pll1", &clk_pll1), |
102 | INIT_CK(NULL, "fclk", &clk_f), | 137 | INIT_CK(NULL, "fclk", &clk_f), |
103 | INIT_CK(NULL, "hclk", &clk_h), | 138 | INIT_CK(NULL, "hclk", &clk_h), |
@@ -125,6 +160,8 @@ int clk_enable(struct clk *clk) | |||
125 | u32 value; | 160 | u32 value; |
126 | 161 | ||
127 | value = __raw_readl(clk->enable_reg); | 162 | value = __raw_readl(clk->enable_reg); |
163 | if (clk->sw_locked) | ||
164 | __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); | ||
128 | __raw_writel(value | clk->enable_mask, clk->enable_reg); | 165 | __raw_writel(value | clk->enable_mask, clk->enable_reg); |
129 | } | 166 | } |
130 | 167 | ||
@@ -138,13 +175,29 @@ void clk_disable(struct clk *clk) | |||
138 | u32 value; | 175 | u32 value; |
139 | 176 | ||
140 | value = __raw_readl(clk->enable_reg); | 177 | value = __raw_readl(clk->enable_reg); |
178 | if (clk->sw_locked) | ||
179 | __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK); | ||
141 | __raw_writel(value & ~clk->enable_mask, clk->enable_reg); | 180 | __raw_writel(value & ~clk->enable_mask, clk->enable_reg); |
142 | } | 181 | } |
143 | } | 182 | } |
144 | EXPORT_SYMBOL(clk_disable); | 183 | EXPORT_SYMBOL(clk_disable); |
145 | 184 | ||
185 | static unsigned long get_uart_rate(struct clk *clk) | ||
186 | { | ||
187 | u32 value; | ||
188 | |||
189 | value = __raw_readl(EP93XX_SYSCON_CLOCK_CONTROL); | ||
190 | if (value & EP93XX_SYSCON_CLOCK_UARTBAUD) | ||
191 | return EP93XX_EXT_CLK_RATE; | ||
192 | else | ||
193 | return EP93XX_EXT_CLK_RATE / 2; | ||
194 | } | ||
195 | |||
146 | unsigned long clk_get_rate(struct clk *clk) | 196 | unsigned long clk_get_rate(struct clk *clk) |
147 | { | 197 | { |
198 | if (clk->get_rate) | ||
199 | return clk->get_rate(clk); | ||
200 | |||
148 | return clk->rate; | 201 | return clk->rate; |
149 | } | 202 | } |
150 | EXPORT_SYMBOL(clk_get_rate); | 203 | EXPORT_SYMBOL(clk_get_rate); |
@@ -162,7 +215,7 @@ static unsigned long calc_pll_rate(u32 config_word) | |||
162 | unsigned long long rate; | 215 | unsigned long long rate; |
163 | int i; | 216 | int i; |
164 | 217 | ||
165 | rate = 14745600; | 218 | rate = EP93XX_EXT_CLK_RATE; |
166 | rate *= ((config_word >> 11) & 0x1f) + 1; /* X1FBD */ | 219 | rate *= ((config_word >> 11) & 0x1f) + 1; /* X1FBD */ |
167 | rate *= ((config_word >> 5) & 0x3f) + 1; /* X2FBD */ | 220 | rate *= ((config_word >> 5) & 0x3f) + 1; /* X2FBD */ |
168 | do_div(rate, (config_word & 0x1f) + 1); /* X2IPD */ | 221 | do_div(rate, (config_word & 0x1f) + 1); /* X2IPD */ |
@@ -195,7 +248,7 @@ static int __init ep93xx_clock_init(void) | |||
195 | 248 | ||
196 | value = __raw_readl(EP93XX_SYSCON_CLOCK_SET1); | 249 | value = __raw_readl(EP93XX_SYSCON_CLOCK_SET1); |
197 | if (!(value & 0x00800000)) { /* PLL1 bypassed? */ | 250 | if (!(value & 0x00800000)) { /* PLL1 bypassed? */ |
198 | clk_pll1.rate = 14745600; | 251 | clk_pll1.rate = EP93XX_EXT_CLK_RATE; |
199 | } else { | 252 | } else { |
200 | clk_pll1.rate = calc_pll_rate(value); | 253 | clk_pll1.rate = calc_pll_rate(value); |
201 | } | 254 | } |
@@ -206,7 +259,7 @@ static int __init ep93xx_clock_init(void) | |||
206 | 259 | ||
207 | value = __raw_readl(EP93XX_SYSCON_CLOCK_SET2); | 260 | value = __raw_readl(EP93XX_SYSCON_CLOCK_SET2); |
208 | if (!(value & 0x00080000)) { /* PLL2 bypassed? */ | 261 | if (!(value & 0x00080000)) { /* PLL2 bypassed? */ |
209 | clk_pll2.rate = 14745600; | 262 | clk_pll2.rate = EP93XX_EXT_CLK_RATE; |
210 | } else if (value & 0x00040000) { /* PLL2 enabled? */ | 263 | } else if (value & 0x00040000) { /* PLL2 enabled? */ |
211 | clk_pll2.rate = calc_pll_rate(value); | 264 | clk_pll2.rate = calc_pll_rate(value); |
212 | } else { | 265 | } else { |
diff --git a/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h b/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h index f66be12b856e..1732de7629a5 100644 --- a/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h +++ b/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | |||
@@ -159,7 +159,10 @@ | |||
159 | #define EP93XX_SYSCON_CLOCK_SET1 EP93XX_SYSCON_REG(0x20) | 159 | #define EP93XX_SYSCON_CLOCK_SET1 EP93XX_SYSCON_REG(0x20) |
160 | #define EP93XX_SYSCON_CLOCK_SET2 EP93XX_SYSCON_REG(0x24) | 160 | #define EP93XX_SYSCON_CLOCK_SET2 EP93XX_SYSCON_REG(0x24) |
161 | #define EP93XX_SYSCON_DEVICE_CONFIG EP93XX_SYSCON_REG(0x80) | 161 | #define EP93XX_SYSCON_DEVICE_CONFIG EP93XX_SYSCON_REG(0x80) |
162 | #define EP93XX_SYSCON_DEVICE_CONFIG_CRUNCH_ENABLE 0x00800000 | 162 | #define EP93XX_SYSCON_DEVICE_CONFIG_U3EN (1<<24) |
163 | #define EP93XX_SYSCON_DEVICE_CONFIG_CRUNCH_ENABLE (1<<23) | ||
164 | #define EP93XX_SYSCON_DEVICE_CONFIG_U2EN (1<<20) | ||
165 | #define EP93XX_SYSCON_DEVICE_CONFIG_U1EN (1<<18) | ||
163 | #define EP93XX_SYSCON_SWLOCK EP93XX_SYSCON_REG(0xc0) | 166 | #define EP93XX_SYSCON_SWLOCK EP93XX_SYSCON_REG(0xc0) |
164 | 167 | ||
165 | #define EP93XX_WATCHDOG_BASE (EP93XX_APB_VIRT_BASE + 0x00140000) | 168 | #define EP93XX_WATCHDOG_BASE (EP93XX_APB_VIRT_BASE + 0x00140000) |
diff --git a/arch/arm/mach-gemini/include/mach/hardware.h b/arch/arm/mach-gemini/include/mach/hardware.h index de6752674c05..213a4fcfeb1c 100644 --- a/arch/arm/mach-gemini/include/mach/hardware.h +++ b/arch/arm/mach-gemini/include/mach/hardware.h | |||
@@ -15,10 +15,9 @@ | |||
15 | /* | 15 | /* |
16 | * Memory Map definitions | 16 | * Memory Map definitions |
17 | */ | 17 | */ |
18 | /* FIXME: Does it really swap SRAM like this? */ | ||
19 | #ifdef CONFIG_GEMINI_MEM_SWAP | 18 | #ifdef CONFIG_GEMINI_MEM_SWAP |
20 | # define GEMINI_DRAM_BASE 0x00000000 | 19 | # define GEMINI_DRAM_BASE 0x00000000 |
21 | # define GEMINI_SRAM_BASE 0x20000000 | 20 | # define GEMINI_SRAM_BASE 0x70000000 |
22 | #else | 21 | #else |
23 | # define GEMINI_SRAM_BASE 0x00000000 | 22 | # define GEMINI_SRAM_BASE 0x00000000 |
24 | # define GEMINI_DRAM_BASE 0x10000000 | 23 | # define GEMINI_DRAM_BASE 0x10000000 |
diff --git a/arch/arm/mach-integrator/core.c b/arch/arm/mach-integrator/core.c index 6f8872913073..a0f60e55da6a 100644 --- a/arch/arm/mach-integrator/core.c +++ b/arch/arm/mach-integrator/core.c | |||
@@ -121,7 +121,7 @@ static struct clk uartclk = { | |||
121 | .rate = 14745600, | 121 | .rate = 14745600, |
122 | }; | 122 | }; |
123 | 123 | ||
124 | static struct clk_lookup lookups[] __initdata = { | 124 | static struct clk_lookup lookups[] = { |
125 | { /* UART0 */ | 125 | { /* UART0 */ |
126 | .dev_id = "mb:16", | 126 | .dev_id = "mb:16", |
127 | .clk = &uartclk, | 127 | .clk = &uartclk, |
diff --git a/arch/arm/mach-ixp4xx/ixp4xx_npe.c b/arch/arm/mach-ixp4xx/ixp4xx_npe.c index 252310234903..7bb8e778e4b6 100644 --- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c +++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c | |||
@@ -714,7 +714,7 @@ static int __init npe_init_module(void) | |||
714 | } | 714 | } |
715 | 715 | ||
716 | if (!found) | 716 | if (!found) |
717 | return -ENOSYS; | 717 | return -ENODEV; |
718 | return 0; | 718 | return 0; |
719 | } | 719 | } |
720 | 720 | ||
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index eeb00240d784..be1ca28fed3f 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -144,6 +144,9 @@ static struct platform_device kirkwood_ge00 = { | |||
144 | .id = 0, | 144 | .id = 0, |
145 | .num_resources = 1, | 145 | .num_resources = 1, |
146 | .resource = kirkwood_ge00_resources, | 146 | .resource = kirkwood_ge00_resources, |
147 | .dev = { | ||
148 | .coherent_dma_mask = 0xffffffff, | ||
149 | }, | ||
147 | }; | 150 | }; |
148 | 151 | ||
149 | void __init kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data) | 152 | void __init kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data) |
@@ -202,6 +205,9 @@ static struct platform_device kirkwood_ge01 = { | |||
202 | .id = 1, | 205 | .id = 1, |
203 | .num_resources = 1, | 206 | .num_resources = 1, |
204 | .resource = kirkwood_ge01_resources, | 207 | .resource = kirkwood_ge01_resources, |
208 | .dev = { | ||
209 | .coherent_dma_mask = 0xffffffff, | ||
210 | }, | ||
205 | }; | 211 | }; |
206 | 212 | ||
207 | void __init kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data) | 213 | void __init kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data) |
@@ -386,12 +392,10 @@ static struct mv64xxx_i2c_pdata kirkwood_i2c_pdata = { | |||
386 | 392 | ||
387 | static struct resource kirkwood_i2c_resources[] = { | 393 | static struct resource kirkwood_i2c_resources[] = { |
388 | { | 394 | { |
389 | .name = "i2c", | ||
390 | .start = I2C_PHYS_BASE, | 395 | .start = I2C_PHYS_BASE, |
391 | .end = I2C_PHYS_BASE + 0x1f, | 396 | .end = I2C_PHYS_BASE + 0x1f, |
392 | .flags = IORESOURCE_MEM, | 397 | .flags = IORESOURCE_MEM, |
393 | }, { | 398 | }, { |
394 | .name = "i2c", | ||
395 | .start = IRQ_KIRKWOOD_TWSI, | 399 | .start = IRQ_KIRKWOOD_TWSI, |
396 | .end = IRQ_KIRKWOOD_TWSI, | 400 | .end = IRQ_KIRKWOOD_TWSI, |
397 | .flags = IORESOURCE_IRQ, | 401 | .flags = IORESOURCE_IRQ, |
diff --git a/arch/arm/mach-kirkwood/ts219-setup.c b/arch/arm/mach-kirkwood/ts219-setup.c index dda5743cf3e0..01aa213c0a6f 100644 --- a/arch/arm/mach-kirkwood/ts219-setup.c +++ b/arch/arm/mach-kirkwood/ts219-setup.c | |||
@@ -142,6 +142,8 @@ static unsigned int qnap_ts219_mpp_config[] __initdata = { | |||
142 | MPP1_SPI_MOSI, | 142 | MPP1_SPI_MOSI, |
143 | MPP2_SPI_SCK, | 143 | MPP2_SPI_SCK, |
144 | MPP3_SPI_MISO, | 144 | MPP3_SPI_MISO, |
145 | MPP4_SATA1_ACTn, | ||
146 | MPP5_SATA0_ACTn, | ||
145 | MPP8_TW_SDA, | 147 | MPP8_TW_SDA, |
146 | MPP9_TW_SCK, | 148 | MPP9_TW_SCK, |
147 | MPP10_UART0_TXD, | 149 | MPP10_UART0_TXD, |
@@ -150,10 +152,6 @@ static unsigned int qnap_ts219_mpp_config[] __initdata = { | |||
150 | MPP14_UART1_RXD, /* PIC controller */ | 152 | MPP14_UART1_RXD, /* PIC controller */ |
151 | MPP15_GPIO, /* USB Copy button */ | 153 | MPP15_GPIO, /* USB Copy button */ |
152 | MPP16_GPIO, /* Reset button */ | 154 | MPP16_GPIO, /* Reset button */ |
153 | MPP20_SATA1_ACTn, | ||
154 | MPP21_SATA0_ACTn, | ||
155 | MPP22_SATA1_PRESENTn, | ||
156 | MPP23_SATA0_PRESENTn, | ||
157 | 0 | 155 | 0 |
158 | }; | 156 | }; |
159 | 157 | ||
diff --git a/arch/arm/mach-l7200/include/mach/sys-clock.h b/arch/arm/mach-l7200/include/mach/sys-clock.h index 2d7722be60ea..e9729a35751d 100644 --- a/arch/arm/mach-l7200/include/mach/sys-clock.h +++ b/arch/arm/mach-l7200/include/mach/sys-clock.h | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | /* IO_START and IO_BASE are defined in hardware.h */ | 19 | /* IO_START and IO_BASE are defined in hardware.h */ |
20 | 20 | ||
21 | #define SYS_CLOCK_START (IO_START + SYS_CLCOK_OFF) /* Physical address */ | 21 | #define SYS_CLOCK_START (IO_START + SYS_CLOCK_OFF) /* Physical address */ |
22 | #define SYS_CLOCK_BASE (IO_BASE + SYS_CLOCK_OFF) /* Virtual address */ | 22 | #define SYS_CLOCK_BASE (IO_BASE + SYS_CLOCK_OFF) /* Virtual address */ |
23 | 23 | ||
24 | /* Define the interface to the SYS_CLOCK */ | 24 | /* Define the interface to the SYS_CLOCK */ |
diff --git a/arch/arm/mach-loki/common.c b/arch/arm/mach-loki/common.c index c0d2d9d12e74..818f19d7ab1f 100644 --- a/arch/arm/mach-loki/common.c +++ b/arch/arm/mach-loki/common.c | |||
@@ -82,6 +82,9 @@ static struct platform_device loki_ge0 = { | |||
82 | .id = 0, | 82 | .id = 0, |
83 | .num_resources = 1, | 83 | .num_resources = 1, |
84 | .resource = loki_ge0_resources, | 84 | .resource = loki_ge0_resources, |
85 | .dev = { | ||
86 | .coherent_dma_mask = 0xffffffff, | ||
87 | }, | ||
85 | }; | 88 | }; |
86 | 89 | ||
87 | void __init loki_ge0_init(struct mv643xx_eth_platform_data *eth_data) | 90 | void __init loki_ge0_init(struct mv643xx_eth_platform_data *eth_data) |
@@ -136,6 +139,9 @@ static struct platform_device loki_ge1 = { | |||
136 | .id = 1, | 139 | .id = 1, |
137 | .num_resources = 1, | 140 | .num_resources = 1, |
138 | .resource = loki_ge1_resources, | 141 | .resource = loki_ge1_resources, |
142 | .dev = { | ||
143 | .coherent_dma_mask = 0xffffffff, | ||
144 | }, | ||
139 | }; | 145 | }; |
140 | 146 | ||
141 | void __init loki_ge1_init(struct mv643xx_eth_platform_data *eth_data) | 147 | void __init loki_ge1_init(struct mv643xx_eth_platform_data *eth_data) |
diff --git a/arch/arm/mach-mmp/include/mach/mfp-pxa168.h b/arch/arm/mach-mmp/include/mach/mfp-pxa168.h index d0bdb6e3682b..2e914649b9e4 100644 --- a/arch/arm/mach-mmp/include/mach/mfp-pxa168.h +++ b/arch/arm/mach-mmp/include/mach/mfp-pxa168.h | |||
@@ -3,6 +3,11 @@ | |||
3 | 3 | ||
4 | #include <mach/mfp.h> | 4 | #include <mach/mfp.h> |
5 | 5 | ||
6 | #define MFP_DRIVE_VERY_SLOW (0x0 << 13) | ||
7 | #define MFP_DRIVE_SLOW (0x1 << 13) | ||
8 | #define MFP_DRIVE_MEDIUM (0x2 << 13) | ||
9 | #define MFP_DRIVE_FAST (0x3 << 13) | ||
10 | |||
6 | /* GPIO */ | 11 | /* GPIO */ |
7 | #define GPIO0_GPIO MFP_CFG(GPIO0, AF5) | 12 | #define GPIO0_GPIO MFP_CFG(GPIO0, AF5) |
8 | #define GPIO1_GPIO MFP_CFG(GPIO1, AF5) | 13 | #define GPIO1_GPIO MFP_CFG(GPIO1, AF5) |
diff --git a/arch/arm/mach-mmp/include/mach/mfp-pxa910.h b/arch/arm/mach-mmp/include/mach/mfp-pxa910.h index 48a1cbc7c56b..d97de36c50ad 100644 --- a/arch/arm/mach-mmp/include/mach/mfp-pxa910.h +++ b/arch/arm/mach-mmp/include/mach/mfp-pxa910.h | |||
@@ -3,6 +3,11 @@ | |||
3 | 3 | ||
4 | #include <mach/mfp.h> | 4 | #include <mach/mfp.h> |
5 | 5 | ||
6 | #define MFP_DRIVE_VERY_SLOW (0x0 << 13) | ||
7 | #define MFP_DRIVE_SLOW (0x2 << 13) | ||
8 | #define MFP_DRIVE_MEDIUM (0x4 << 13) | ||
9 | #define MFP_DRIVE_FAST (0x8 << 13) | ||
10 | |||
6 | /* UART2 */ | 11 | /* UART2 */ |
7 | #define GPIO47_UART2_RXD MFP_CFG(GPIO47, AF6) | 12 | #define GPIO47_UART2_RXD MFP_CFG(GPIO47, AF6) |
8 | #define GPIO48_UART2_TXD MFP_CFG(GPIO48, AF6) | 13 | #define GPIO48_UART2_TXD MFP_CFG(GPIO48, AF6) |
diff --git a/arch/arm/mach-mmp/include/mach/mfp.h b/arch/arm/mach-mmp/include/mach/mfp.h index 277ea4cd0f9f..62e510e80a58 100644 --- a/arch/arm/mach-mmp/include/mach/mfp.h +++ b/arch/arm/mach-mmp/include/mach/mfp.h | |||
@@ -12,16 +12,13 @@ | |||
12 | * possible, we make the following compromise: | 12 | * possible, we make the following compromise: |
13 | * | 13 | * |
14 | * 1. SLEEP_OE_N will always be programmed to '1' (by MFP_LPM_FLOAT) | 14 | * 1. SLEEP_OE_N will always be programmed to '1' (by MFP_LPM_FLOAT) |
15 | * 2. DRIVE strength definitions redefined to include the reserved bit10 | 15 | * 2. DRIVE strength definitions redefined to include the reserved bit |
16 | * - the reserved bit differs between pxa168 and pxa910, and the | ||
17 | * MFP_DRIVE_* macros are individually defined in mfp-pxa{168,910}.h | ||
16 | * 3. Override MFP_CFG() and MFP_CFG_DRV() | 18 | * 3. Override MFP_CFG() and MFP_CFG_DRV() |
17 | * 4. Drop the use of MFP_CFG_LPM() and MFP_CFG_X() | 19 | * 4. Drop the use of MFP_CFG_LPM() and MFP_CFG_X() |
18 | */ | 20 | */ |
19 | 21 | ||
20 | #define MFP_DRIVE_VERY_SLOW (0x0 << 13) | ||
21 | #define MFP_DRIVE_SLOW (0x2 << 13) | ||
22 | #define MFP_DRIVE_MEDIUM (0x4 << 13) | ||
23 | #define MFP_DRIVE_FAST (0x8 << 13) | ||
24 | |||
25 | #undef MFP_CFG | 22 | #undef MFP_CFG |
26 | #undef MFP_CFG_DRV | 23 | #undef MFP_CFG_DRV |
27 | #undef MFP_CFG_LPM | 24 | #undef MFP_CFG_LPM |
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c index b03a6eda7419..a8400bb891e7 100644 --- a/arch/arm/mach-mmp/time.c +++ b/arch/arm/mach-mmp/time.c | |||
@@ -136,7 +136,7 @@ static struct clock_event_device ckevt = { | |||
136 | .set_mode = timer_set_mode, | 136 | .set_mode = timer_set_mode, |
137 | }; | 137 | }; |
138 | 138 | ||
139 | static cycle_t clksrc_read(void) | 139 | static cycle_t clksrc_read(struct clocksource *cs) |
140 | { | 140 | { |
141 | return timer_read(); | 141 | return timer_read(); |
142 | } | 142 | } |
diff --git a/arch/arm/mach-mv78xx0/common.c b/arch/arm/mach-mv78xx0/common.c index 9ba595083dab..1b22e4af8791 100644 --- a/arch/arm/mach-mv78xx0/common.c +++ b/arch/arm/mach-mv78xx0/common.c | |||
@@ -321,6 +321,9 @@ static struct platform_device mv78xx0_ge00 = { | |||
321 | .id = 0, | 321 | .id = 0, |
322 | .num_resources = 1, | 322 | .num_resources = 1, |
323 | .resource = mv78xx0_ge00_resources, | 323 | .resource = mv78xx0_ge00_resources, |
324 | .dev = { | ||
325 | .coherent_dma_mask = 0xffffffff, | ||
326 | }, | ||
324 | }; | 327 | }; |
325 | 328 | ||
326 | void __init mv78xx0_ge00_init(struct mv643xx_eth_platform_data *eth_data) | 329 | void __init mv78xx0_ge00_init(struct mv643xx_eth_platform_data *eth_data) |
@@ -375,6 +378,9 @@ static struct platform_device mv78xx0_ge01 = { | |||
375 | .id = 1, | 378 | .id = 1, |
376 | .num_resources = 1, | 379 | .num_resources = 1, |
377 | .resource = mv78xx0_ge01_resources, | 380 | .resource = mv78xx0_ge01_resources, |
381 | .dev = { | ||
382 | .coherent_dma_mask = 0xffffffff, | ||
383 | }, | ||
378 | }; | 384 | }; |
379 | 385 | ||
380 | void __init mv78xx0_ge01_init(struct mv643xx_eth_platform_data *eth_data) | 386 | void __init mv78xx0_ge01_init(struct mv643xx_eth_platform_data *eth_data) |
@@ -429,6 +435,9 @@ static struct platform_device mv78xx0_ge10 = { | |||
429 | .id = 2, | 435 | .id = 2, |
430 | .num_resources = 1, | 436 | .num_resources = 1, |
431 | .resource = mv78xx0_ge10_resources, | 437 | .resource = mv78xx0_ge10_resources, |
438 | .dev = { | ||
439 | .coherent_dma_mask = 0xffffffff, | ||
440 | }, | ||
432 | }; | 441 | }; |
433 | 442 | ||
434 | void __init mv78xx0_ge10_init(struct mv643xx_eth_platform_data *eth_data) | 443 | void __init mv78xx0_ge10_init(struct mv643xx_eth_platform_data *eth_data) |
@@ -496,6 +505,9 @@ static struct platform_device mv78xx0_ge11 = { | |||
496 | .id = 3, | 505 | .id = 3, |
497 | .num_resources = 1, | 506 | .num_resources = 1, |
498 | .resource = mv78xx0_ge11_resources, | 507 | .resource = mv78xx0_ge11_resources, |
508 | .dev = { | ||
509 | .coherent_dma_mask = 0xffffffff, | ||
510 | }, | ||
499 | }; | 511 | }; |
500 | 512 | ||
501 | void __init mv78xx0_ge11_init(struct mv643xx_eth_platform_data *eth_data) | 513 | void __init mv78xx0_ge11_init(struct mv643xx_eth_platform_data *eth_data) |
@@ -532,12 +544,10 @@ static struct mv64xxx_i2c_pdata mv78xx0_i2c_0_pdata = { | |||
532 | 544 | ||
533 | static struct resource mv78xx0_i2c_0_resources[] = { | 545 | static struct resource mv78xx0_i2c_0_resources[] = { |
534 | { | 546 | { |
535 | .name = "i2c 0 base", | ||
536 | .start = I2C_0_PHYS_BASE, | 547 | .start = I2C_0_PHYS_BASE, |
537 | .end = I2C_0_PHYS_BASE + 0x1f, | 548 | .end = I2C_0_PHYS_BASE + 0x1f, |
538 | .flags = IORESOURCE_MEM, | 549 | .flags = IORESOURCE_MEM, |
539 | }, { | 550 | }, { |
540 | .name = "i2c 0 irq", | ||
541 | .start = IRQ_MV78XX0_I2C_0, | 551 | .start = IRQ_MV78XX0_I2C_0, |
542 | .end = IRQ_MV78XX0_I2C_0, | 552 | .end = IRQ_MV78XX0_I2C_0, |
543 | .flags = IORESOURCE_IRQ, | 553 | .flags = IORESOURCE_IRQ, |
@@ -567,12 +577,10 @@ static struct mv64xxx_i2c_pdata mv78xx0_i2c_1_pdata = { | |||
567 | 577 | ||
568 | static struct resource mv78xx0_i2c_1_resources[] = { | 578 | static struct resource mv78xx0_i2c_1_resources[] = { |
569 | { | 579 | { |
570 | .name = "i2c 1 base", | ||
571 | .start = I2C_1_PHYS_BASE, | 580 | .start = I2C_1_PHYS_BASE, |
572 | .end = I2C_1_PHYS_BASE + 0x1f, | 581 | .end = I2C_1_PHYS_BASE + 0x1f, |
573 | .flags = IORESOURCE_MEM, | 582 | .flags = IORESOURCE_MEM, |
574 | }, { | 583 | }, { |
575 | .name = "i2c 1 irq", | ||
576 | .start = IRQ_MV78XX0_I2C_1, | 584 | .start = IRQ_MV78XX0_I2C_1, |
577 | .end = IRQ_MV78XX0_I2C_1, | 585 | .end = IRQ_MV78XX0_I2C_1, |
578 | .flags = IORESOURCE_IRQ, | 586 | .flags = IORESOURCE_IRQ, |
diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c index efc59c49341b..e4cef333e291 100644 --- a/arch/arm/mach-omap2/clock24xx.c +++ b/arch/arm/mach-omap2/clock24xx.c | |||
@@ -103,10 +103,10 @@ static struct omap_clk omap24xx_clks[] = { | |||
103 | CLK(NULL, "mdm_ick", &mdm_ick, CK_243X), | 103 | CLK(NULL, "mdm_ick", &mdm_ick, CK_243X), |
104 | CLK(NULL, "mdm_osc_ck", &mdm_osc_ck, CK_243X), | 104 | CLK(NULL, "mdm_osc_ck", &mdm_osc_ck, CK_243X), |
105 | /* DSS domain clocks */ | 105 | /* DSS domain clocks */ |
106 | CLK(NULL, "dss_ick", &dss_ick, CK_243X | CK_242X), | 106 | CLK("omapfb", "ick", &dss_ick, CK_243X | CK_242X), |
107 | CLK(NULL, "dss1_fck", &dss1_fck, CK_243X | CK_242X), | 107 | CLK("omapfb", "dss1_fck", &dss1_fck, CK_243X | CK_242X), |
108 | CLK(NULL, "dss2_fck", &dss2_fck, CK_243X | CK_242X), | 108 | CLK("omapfb", "dss2_fck", &dss2_fck, CK_243X | CK_242X), |
109 | CLK(NULL, "dss_54m_fck", &dss_54m_fck, CK_243X | CK_242X), | 109 | CLK("omapfb", "tv_fck", &dss_54m_fck, CK_243X | CK_242X), |
110 | /* L3 domain clocks */ | 110 | /* L3 domain clocks */ |
111 | CLK(NULL, "core_l3_ck", &core_l3_ck, CK_243X | CK_242X), | 111 | CLK(NULL, "core_l3_ck", &core_l3_ck, CK_243X | CK_242X), |
112 | CLK(NULL, "ssi_fck", &ssi_ssr_sst_fck, CK_243X | CK_242X), | 112 | CLK(NULL, "ssi_fck", &ssi_ssr_sst_fck, CK_243X | CK_242X), |
@@ -206,7 +206,7 @@ static struct omap_clk omap24xx_clks[] = { | |||
206 | CLK(NULL, "aes_ick", &aes_ick, CK_243X | CK_242X), | 206 | CLK(NULL, "aes_ick", &aes_ick, CK_243X | CK_242X), |
207 | CLK(NULL, "pka_ick", &pka_ick, CK_243X | CK_242X), | 207 | CLK(NULL, "pka_ick", &pka_ick, CK_243X | CK_242X), |
208 | CLK(NULL, "usb_fck", &usb_fck, CK_243X | CK_242X), | 208 | CLK(NULL, "usb_fck", &usb_fck, CK_243X | CK_242X), |
209 | CLK(NULL, "usbhs_ick", &usbhs_ick, CK_243X), | 209 | CLK("musb_hdrc", "ick", &usbhs_ick, CK_243X), |
210 | CLK("mmci-omap-hs.0", "ick", &mmchs1_ick, CK_243X), | 210 | CLK("mmci-omap-hs.0", "ick", &mmchs1_ick, CK_243X), |
211 | CLK("mmci-omap-hs.0", "fck", &mmchs1_fck, CK_243X), | 211 | CLK("mmci-omap-hs.0", "fck", &mmchs1_fck, CK_243X), |
212 | CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_243X), | 212 | CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_243X), |
diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c index 0a14dca31e30..ba05aa42bd8e 100644 --- a/arch/arm/mach-omap2/clock34xx.c +++ b/arch/arm/mach-omap2/clock34xx.c | |||
@@ -157,7 +157,7 @@ static struct omap_clk omap34xx_clks[] = { | |||
157 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck, CK_343X), | 157 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck, CK_343X), |
158 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck, CK_343X), | 158 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck, CK_343X), |
159 | CLK(NULL, "core_l3_ick", &core_l3_ick, CK_343X), | 159 | CLK(NULL, "core_l3_ick", &core_l3_ick, CK_343X), |
160 | CLK(NULL, "hsotgusb_ick", &hsotgusb_ick, CK_343X), | 160 | CLK("musb_hdrc", "ick", &hsotgusb_ick, CK_343X), |
161 | CLK(NULL, "sdrc_ick", &sdrc_ick, CK_343X), | 161 | CLK(NULL, "sdrc_ick", &sdrc_ick, CK_343X), |
162 | CLK(NULL, "gpmc_fck", &gpmc_fck, CK_343X), | 162 | CLK(NULL, "gpmc_fck", &gpmc_fck, CK_343X), |
163 | CLK(NULL, "security_l3_ick", &security_l3_ick, CK_343X), | 163 | CLK(NULL, "security_l3_ick", &security_l3_ick, CK_343X), |
@@ -197,11 +197,11 @@ static struct omap_clk omap34xx_clks[] = { | |||
197 | CLK("omap_rng", "ick", &rng_ick, CK_343X), | 197 | CLK("omap_rng", "ick", &rng_ick, CK_343X), |
198 | CLK(NULL, "sha11_ick", &sha11_ick, CK_343X), | 198 | CLK(NULL, "sha11_ick", &sha11_ick, CK_343X), |
199 | CLK(NULL, "des1_ick", &des1_ick, CK_343X), | 199 | CLK(NULL, "des1_ick", &des1_ick, CK_343X), |
200 | CLK(NULL, "dss1_alwon_fck", &dss1_alwon_fck, CK_343X), | 200 | CLK("omapfb", "dss1_fck", &dss1_alwon_fck, CK_343X), |
201 | CLK(NULL, "dss_tv_fck", &dss_tv_fck, CK_343X), | 201 | CLK("omapfb", "tv_fck", &dss_tv_fck, CK_343X), |
202 | CLK(NULL, "dss_96m_fck", &dss_96m_fck, CK_343X), | 202 | CLK("omapfb", "video_fck", &dss_96m_fck, CK_343X), |
203 | CLK(NULL, "dss2_alwon_fck", &dss2_alwon_fck, CK_343X), | 203 | CLK("omapfb", "dss2_fck", &dss2_alwon_fck, CK_343X), |
204 | CLK(NULL, "dss_ick", &dss_ick, CK_343X), | 204 | CLK("omapfb", "ick", &dss_ick, CK_343X), |
205 | CLK(NULL, "cam_mclk", &cam_mclk, CK_343X), | 205 | CLK(NULL, "cam_mclk", &cam_mclk, CK_343X), |
206 | CLK(NULL, "cam_ick", &cam_ick, CK_343X), | 206 | CLK(NULL, "cam_ick", &cam_ick, CK_343X), |
207 | CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_343X), | 207 | CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_343X), |
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h index 6763b8f73028..017a30e9aa1d 100644 --- a/arch/arm/mach-omap2/clock34xx.h +++ b/arch/arm/mach-omap2/clock34xx.h | |||
@@ -2182,7 +2182,7 @@ static struct clk wkup_32k_fck = { | |||
2182 | 2182 | ||
2183 | static struct clk gpio1_dbck = { | 2183 | static struct clk gpio1_dbck = { |
2184 | .name = "gpio1_dbck", | 2184 | .name = "gpio1_dbck", |
2185 | .ops = &clkops_omap2_dflt_wait, | 2185 | .ops = &clkops_omap2_dflt, |
2186 | .parent = &wkup_32k_fck, | 2186 | .parent = &wkup_32k_fck, |
2187 | .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), | 2187 | .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), |
2188 | .enable_bit = OMAP3430_EN_GPIO1_SHIFT, | 2188 | .enable_bit = OMAP3430_EN_GPIO1_SHIFT, |
@@ -2427,7 +2427,7 @@ static struct clk per_32k_alwon_fck = { | |||
2427 | 2427 | ||
2428 | static struct clk gpio6_dbck = { | 2428 | static struct clk gpio6_dbck = { |
2429 | .name = "gpio6_dbck", | 2429 | .name = "gpio6_dbck", |
2430 | .ops = &clkops_omap2_dflt_wait, | 2430 | .ops = &clkops_omap2_dflt, |
2431 | .parent = &per_32k_alwon_fck, | 2431 | .parent = &per_32k_alwon_fck, |
2432 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2432 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2433 | .enable_bit = OMAP3430_EN_GPIO6_SHIFT, | 2433 | .enable_bit = OMAP3430_EN_GPIO6_SHIFT, |
@@ -2437,7 +2437,7 @@ static struct clk gpio6_dbck = { | |||
2437 | 2437 | ||
2438 | static struct clk gpio5_dbck = { | 2438 | static struct clk gpio5_dbck = { |
2439 | .name = "gpio5_dbck", | 2439 | .name = "gpio5_dbck", |
2440 | .ops = &clkops_omap2_dflt_wait, | 2440 | .ops = &clkops_omap2_dflt, |
2441 | .parent = &per_32k_alwon_fck, | 2441 | .parent = &per_32k_alwon_fck, |
2442 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2442 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2443 | .enable_bit = OMAP3430_EN_GPIO5_SHIFT, | 2443 | .enable_bit = OMAP3430_EN_GPIO5_SHIFT, |
@@ -2447,7 +2447,7 @@ static struct clk gpio5_dbck = { | |||
2447 | 2447 | ||
2448 | static struct clk gpio4_dbck = { | 2448 | static struct clk gpio4_dbck = { |
2449 | .name = "gpio4_dbck", | 2449 | .name = "gpio4_dbck", |
2450 | .ops = &clkops_omap2_dflt_wait, | 2450 | .ops = &clkops_omap2_dflt, |
2451 | .parent = &per_32k_alwon_fck, | 2451 | .parent = &per_32k_alwon_fck, |
2452 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2452 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2453 | .enable_bit = OMAP3430_EN_GPIO4_SHIFT, | 2453 | .enable_bit = OMAP3430_EN_GPIO4_SHIFT, |
@@ -2457,7 +2457,7 @@ static struct clk gpio4_dbck = { | |||
2457 | 2457 | ||
2458 | static struct clk gpio3_dbck = { | 2458 | static struct clk gpio3_dbck = { |
2459 | .name = "gpio3_dbck", | 2459 | .name = "gpio3_dbck", |
2460 | .ops = &clkops_omap2_dflt_wait, | 2460 | .ops = &clkops_omap2_dflt, |
2461 | .parent = &per_32k_alwon_fck, | 2461 | .parent = &per_32k_alwon_fck, |
2462 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2462 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2463 | .enable_bit = OMAP3430_EN_GPIO3_SHIFT, | 2463 | .enable_bit = OMAP3430_EN_GPIO3_SHIFT, |
@@ -2467,7 +2467,7 @@ static struct clk gpio3_dbck = { | |||
2467 | 2467 | ||
2468 | static struct clk gpio2_dbck = { | 2468 | static struct clk gpio2_dbck = { |
2469 | .name = "gpio2_dbck", | 2469 | .name = "gpio2_dbck", |
2470 | .ops = &clkops_omap2_dflt_wait, | 2470 | .ops = &clkops_omap2_dflt, |
2471 | .parent = &per_32k_alwon_fck, | 2471 | .parent = &per_32k_alwon_fck, |
2472 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2472 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2473 | .enable_bit = OMAP3430_EN_GPIO2_SHIFT, | 2473 | .enable_bit = OMAP3430_EN_GPIO2_SHIFT, |
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 496983ade97e..894cc355818a 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -354,10 +354,12 @@ static void omap_init_mcspi(void) | |||
354 | platform_device_register(&omap2_mcspi1); | 354 | platform_device_register(&omap2_mcspi1); |
355 | platform_device_register(&omap2_mcspi2); | 355 | platform_device_register(&omap2_mcspi2); |
356 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) | 356 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) |
357 | platform_device_register(&omap2_mcspi3); | 357 | if (cpu_is_omap2430() || cpu_is_omap343x()) |
358 | platform_device_register(&omap2_mcspi3); | ||
358 | #endif | 359 | #endif |
359 | #ifdef CONFIG_ARCH_OMAP3 | 360 | #ifdef CONFIG_ARCH_OMAP3 |
360 | platform_device_register(&omap2_mcspi4); | 361 | if (cpu_is_omap343x()) |
362 | platform_device_register(&omap2_mcspi4); | ||
361 | #endif | 363 | #endif |
362 | } | 364 | } |
363 | 365 | ||
diff --git a/arch/arm/mach-omap2/prm-regbits-34xx.h b/arch/arm/mach-omap2/prm-regbits-34xx.h index c6a7940f4287..9fd03a2ec95c 100644 --- a/arch/arm/mach-omap2/prm-regbits-34xx.h +++ b/arch/arm/mach-omap2/prm-regbits-34xx.h | |||
@@ -409,7 +409,7 @@ | |||
409 | /* PM_PREPWSTST_CAM specific bits */ | 409 | /* PM_PREPWSTST_CAM specific bits */ |
410 | 410 | ||
411 | /* PM_PWSTCTRL_USBHOST specific bits */ | 411 | /* PM_PWSTCTRL_USBHOST specific bits */ |
412 | #define OMAP3430ES2_SAVEANDRESTORE_SHIFT (1 << 4) | 412 | #define OMAP3430ES2_SAVEANDRESTORE_SHIFT 4 |
413 | 413 | ||
414 | /* RM_RSTST_PER specific bits */ | 414 | /* RM_RSTST_PER specific bits */ |
415 | 415 | ||
diff --git a/arch/arm/mach-omap2/usb-tusb6010.c b/arch/arm/mach-omap2/usb-tusb6010.c index 8df55f40f4c0..8622c24cd270 100644 --- a/arch/arm/mach-omap2/usb-tusb6010.c +++ b/arch/arm/mach-omap2/usb-tusb6010.c | |||
@@ -187,7 +187,7 @@ int tusb6010_platform_retime(unsigned is_refclk) | |||
187 | unsigned sysclk_ps; | 187 | unsigned sysclk_ps; |
188 | int status; | 188 | int status; |
189 | 189 | ||
190 | if (!refclk_psec || sysclk_ps == 0) | 190 | if (!refclk_psec || fclk_ps == 0) |
191 | return -ENODEV; | 191 | return -ENODEV; |
192 | 192 | ||
193 | sysclk_ps = is_refclk ? refclk_psec : TUSB6010_OSCCLK_60; | 193 | sysclk_ps = is_refclk ? refclk_psec : TUSB6010_OSCCLK_60; |
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c index 6af99ddabdfb..b1c7778d9f96 100644 --- a/arch/arm/mach-orion5x/common.c +++ b/arch/arm/mach-orion5x/common.c | |||
@@ -188,6 +188,9 @@ static struct platform_device orion5x_eth = { | |||
188 | .id = 0, | 188 | .id = 0, |
189 | .num_resources = 1, | 189 | .num_resources = 1, |
190 | .resource = orion5x_eth_resources, | 190 | .resource = orion5x_eth_resources, |
191 | .dev = { | ||
192 | .coherent_dma_mask = 0xffffffff, | ||
193 | }, | ||
191 | }; | 194 | }; |
192 | 195 | ||
193 | void __init orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data) | 196 | void __init orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data) |
@@ -248,12 +251,10 @@ static struct mv64xxx_i2c_pdata orion5x_i2c_pdata = { | |||
248 | 251 | ||
249 | static struct resource orion5x_i2c_resources[] = { | 252 | static struct resource orion5x_i2c_resources[] = { |
250 | { | 253 | { |
251 | .name = "i2c base", | ||
252 | .start = I2C_PHYS_BASE, | 254 | .start = I2C_PHYS_BASE, |
253 | .end = I2C_PHYS_BASE + 0x1f, | 255 | .end = I2C_PHYS_BASE + 0x1f, |
254 | .flags = IORESOURCE_MEM, | 256 | .flags = IORESOURCE_MEM, |
255 | }, { | 257 | }, { |
256 | .name = "i2c irq", | ||
257 | .start = IRQ_ORION5X_I2C, | 258 | .start = IRQ_ORION5X_I2C, |
258 | .end = IRQ_ORION5X_I2C, | 259 | .end = IRQ_ORION5X_I2C, |
259 | .flags = IORESOURCE_IRQ, | 260 | .flags = IORESOURCE_IRQ, |
diff --git a/arch/arm/mach-pxa/ezx.c b/arch/arm/mach-pxa/ezx.c index 92ba16e1b6fc..7db966dc29ce 100644 --- a/arch/arm/mach-pxa/ezx.c +++ b/arch/arm/mach-pxa/ezx.c | |||
@@ -111,9 +111,9 @@ static unsigned long ezx_pin_config[] __initdata = { | |||
111 | GPIO25_SSP1_TXD, | 111 | GPIO25_SSP1_TXD, |
112 | GPIO26_SSP1_RXD, | 112 | GPIO26_SSP1_RXD, |
113 | GPIO24_GPIO, /* pcap chip select */ | 113 | GPIO24_GPIO, /* pcap chip select */ |
114 | GPIO1_GPIO, /* pcap interrupt */ | 114 | GPIO1_GPIO | WAKEUP_ON_EDGE_RISE, /* pcap interrupt */ |
115 | GPIO4_GPIO, /* WDI_AP */ | 115 | GPIO4_GPIO | MFP_LPM_DRIVE_HIGH, /* WDI_AP */ |
116 | GPIO55_GPIO, /* SYS_RESTART */ | 116 | GPIO55_GPIO | MFP_LPM_DRIVE_HIGH, /* SYS_RESTART */ |
117 | 117 | ||
118 | /* MMC */ | 118 | /* MMC */ |
119 | GPIO32_MMC_CLK, | 119 | GPIO32_MMC_CLK, |
@@ -144,20 +144,20 @@ static unsigned long ezx_pin_config[] __initdata = { | |||
144 | #if defined(CONFIG_MACH_EZX_A780) || defined(CONFIG_MACH_EZX_E680) | 144 | #if defined(CONFIG_MACH_EZX_A780) || defined(CONFIG_MACH_EZX_E680) |
145 | static unsigned long gen1_pin_config[] __initdata = { | 145 | static unsigned long gen1_pin_config[] __initdata = { |
146 | /* flip / lockswitch */ | 146 | /* flip / lockswitch */ |
147 | GPIO12_GPIO, | 147 | GPIO12_GPIO | WAKEUP_ON_EDGE_BOTH, |
148 | 148 | ||
149 | /* bluetooth (bcm2035) */ | 149 | /* bluetooth (bcm2035) */ |
150 | GPIO14_GPIO | WAKEUP_ON_LEVEL_HIGH, /* HOSTWAKE */ | 150 | GPIO14_GPIO | WAKEUP_ON_EDGE_RISE, /* HOSTWAKE */ |
151 | GPIO48_GPIO, /* RESET */ | 151 | GPIO48_GPIO, /* RESET */ |
152 | GPIO28_GPIO, /* WAKEUP */ | 152 | GPIO28_GPIO, /* WAKEUP */ |
153 | 153 | ||
154 | /* Neptune handshake */ | 154 | /* Neptune handshake */ |
155 | GPIO0_GPIO | WAKEUP_ON_LEVEL_HIGH, /* BP_RDY */ | 155 | GPIO0_GPIO | WAKEUP_ON_EDGE_FALL, /* BP_RDY */ |
156 | GPIO57_GPIO, /* AP_RDY */ | 156 | GPIO57_GPIO | MFP_LPM_DRIVE_HIGH, /* AP_RDY */ |
157 | GPIO13_GPIO | WAKEUP_ON_LEVEL_HIGH, /* WDI */ | 157 | GPIO13_GPIO | WAKEUP_ON_EDGE_BOTH, /* WDI */ |
158 | GPIO3_GPIO | WAKEUP_ON_LEVEL_HIGH, /* WDI2 */ | 158 | GPIO3_GPIO | WAKEUP_ON_EDGE_BOTH, /* WDI2 */ |
159 | GPIO82_GPIO, /* RESET */ | 159 | GPIO82_GPIO | MFP_LPM_DRIVE_HIGH, /* RESET */ |
160 | GPIO99_GPIO, /* TC_MM_EN */ | 160 | GPIO99_GPIO | MFP_LPM_DRIVE_HIGH, /* TC_MM_EN */ |
161 | 161 | ||
162 | /* sound */ | 162 | /* sound */ |
163 | GPIO52_SSP3_SCLK, | 163 | GPIO52_SSP3_SCLK, |
@@ -199,21 +199,21 @@ static unsigned long gen1_pin_config[] __initdata = { | |||
199 | defined(CONFIG_MACH_EZX_E2) || defined(CONFIG_MACH_EZX_E6) | 199 | defined(CONFIG_MACH_EZX_E2) || defined(CONFIG_MACH_EZX_E6) |
200 | static unsigned long gen2_pin_config[] __initdata = { | 200 | static unsigned long gen2_pin_config[] __initdata = { |
201 | /* flip / lockswitch */ | 201 | /* flip / lockswitch */ |
202 | GPIO15_GPIO, | 202 | GPIO15_GPIO | WAKEUP_ON_EDGE_BOTH, |
203 | 203 | ||
204 | /* EOC */ | 204 | /* EOC */ |
205 | GPIO10_GPIO, | 205 | GPIO10_GPIO | WAKEUP_ON_EDGE_RISE, |
206 | 206 | ||
207 | /* bluetooth (bcm2045) */ | 207 | /* bluetooth (bcm2045) */ |
208 | GPIO13_GPIO | WAKEUP_ON_LEVEL_HIGH, /* HOSTWAKE */ | 208 | GPIO13_GPIO | WAKEUP_ON_EDGE_RISE, /* HOSTWAKE */ |
209 | GPIO37_GPIO, /* RESET */ | 209 | GPIO37_GPIO, /* RESET */ |
210 | GPIO57_GPIO, /* WAKEUP */ | 210 | GPIO57_GPIO, /* WAKEUP */ |
211 | 211 | ||
212 | /* Neptune handshake */ | 212 | /* Neptune handshake */ |
213 | GPIO0_GPIO | WAKEUP_ON_LEVEL_HIGH, /* BP_RDY */ | 213 | GPIO0_GPIO | WAKEUP_ON_EDGE_FALL, /* BP_RDY */ |
214 | GPIO96_GPIO, /* AP_RDY */ | 214 | GPIO96_GPIO | MFP_LPM_DRIVE_HIGH, /* AP_RDY */ |
215 | GPIO3_GPIO | WAKEUP_ON_LEVEL_HIGH, /* WDI */ | 215 | GPIO3_GPIO | WAKEUP_ON_EDGE_FALL, /* WDI */ |
216 | GPIO116_GPIO, /* RESET */ | 216 | GPIO116_GPIO | MFP_LPM_DRIVE_HIGH, /* RESET */ |
217 | GPIO41_GPIO, /* BP_FLASH */ | 217 | GPIO41_GPIO, /* BP_FLASH */ |
218 | 218 | ||
219 | /* sound */ | 219 | /* sound */ |
diff --git a/arch/arm/mach-pxa/include/mach/reset.h b/arch/arm/mach-pxa/include/mach/reset.h index 31e6a7b6ad80..b6c10556fbc7 100644 --- a/arch/arm/mach-pxa/include/mach/reset.h +++ b/arch/arm/mach-pxa/include/mach/reset.h | |||
@@ -13,8 +13,9 @@ extern void clear_reset_status(unsigned int mask); | |||
13 | /** | 13 | /** |
14 | * init_gpio_reset() - register GPIO as reset generator | 14 | * init_gpio_reset() - register GPIO as reset generator |
15 | * @gpio: gpio nr | 15 | * @gpio: gpio nr |
16 | * @output: set gpio as out/low instead of input during normal work | 16 | * @output: set gpio as output instead of input during normal work |
17 | * @level: output level | ||
17 | */ | 18 | */ |
18 | extern int init_gpio_reset(int gpio, int output); | 19 | extern int init_gpio_reset(int gpio, int output, int level); |
19 | 20 | ||
20 | #endif /* __ASM_ARCH_RESET_H */ | 21 | #endif /* __ASM_ARCH_RESET_H */ |
diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c index 7ffb91d64c39..cf6b720c055f 100644 --- a/arch/arm/mach-pxa/mfp-pxa2xx.c +++ b/arch/arm/mach-pxa/mfp-pxa2xx.c | |||
@@ -322,6 +322,7 @@ static inline void pxa27x_mfp_init(void) {} | |||
322 | #ifdef CONFIG_PM | 322 | #ifdef CONFIG_PM |
323 | static unsigned long saved_gafr[2][4]; | 323 | static unsigned long saved_gafr[2][4]; |
324 | static unsigned long saved_gpdr[4]; | 324 | static unsigned long saved_gpdr[4]; |
325 | static unsigned long saved_pgsr[4]; | ||
325 | 326 | ||
326 | static int pxa2xx_mfp_suspend(struct sys_device *d, pm_message_t state) | 327 | static int pxa2xx_mfp_suspend(struct sys_device *d, pm_message_t state) |
327 | { | 328 | { |
@@ -332,6 +333,7 @@ static int pxa2xx_mfp_suspend(struct sys_device *d, pm_message_t state) | |||
332 | saved_gafr[0][i] = GAFR_L(i); | 333 | saved_gafr[0][i] = GAFR_L(i); |
333 | saved_gafr[1][i] = GAFR_U(i); | 334 | saved_gafr[1][i] = GAFR_U(i); |
334 | saved_gpdr[i] = GPDR(i * 32); | 335 | saved_gpdr[i] = GPDR(i * 32); |
336 | saved_pgsr[i] = PGSR(i); | ||
335 | 337 | ||
336 | GPDR(i * 32) = gpdr_lpm[i]; | 338 | GPDR(i * 32) = gpdr_lpm[i]; |
337 | } | 339 | } |
@@ -346,6 +348,7 @@ static int pxa2xx_mfp_resume(struct sys_device *d) | |||
346 | GAFR_L(i) = saved_gafr[0][i]; | 348 | GAFR_L(i) = saved_gafr[0][i]; |
347 | GAFR_U(i) = saved_gafr[1][i]; | 349 | GAFR_U(i) = saved_gafr[1][i]; |
348 | GPDR(i * 32) = saved_gpdr[i]; | 350 | GPDR(i * 32) = saved_gpdr[i]; |
351 | PGSR(i) = saved_pgsr[i]; | ||
349 | } | 352 | } |
350 | PSSR = PSSR_RDH | PSSR_PH; | 353 | PSSR = PSSR_RDH | PSSR_PH; |
351 | return 0; | 354 | return 0; |
@@ -374,6 +377,9 @@ static int __init pxa2xx_mfp_init(void) | |||
374 | if (cpu_is_pxa27x()) | 377 | if (cpu_is_pxa27x()) |
375 | pxa27x_mfp_init(); | 378 | pxa27x_mfp_init(); |
376 | 379 | ||
380 | /* clear RDH bit to enable GPIO receivers after reset/sleep exit */ | ||
381 | PSSR = PSSR_RDH; | ||
382 | |||
377 | /* initialize gafr_run[], pgsr_lpm[] from existing values */ | 383 | /* initialize gafr_run[], pgsr_lpm[] from existing values */ |
378 | for (i = 0; i <= gpio_to_bank(pxa_last_gpio); i++) | 384 | for (i = 0; i <= gpio_to_bank(pxa_last_gpio); i++) |
379 | gpdr_lpm[i] = GPDR(i * 32); | 385 | gpdr_lpm[i] = GPDR(i * 32); |
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index 1cec1806f002..471a853e548b 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -62,6 +62,8 @@ static unsigned long palmld_pin_config[] __initdata = { | |||
62 | GPIO29_AC97_SDATA_IN_0, | 62 | GPIO29_AC97_SDATA_IN_0, |
63 | GPIO30_AC97_SDATA_OUT, | 63 | GPIO30_AC97_SDATA_OUT, |
64 | GPIO31_AC97_SYNC, | 64 | GPIO31_AC97_SYNC, |
65 | GPIO89_AC97_SYSCLK, | ||
66 | GPIO95_AC97_nRESET, | ||
65 | 67 | ||
66 | /* IrDA */ | 68 | /* IrDA */ |
67 | GPIO108_GPIO, /* ir disable */ | 69 | GPIO108_GPIO, /* ir disable */ |
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c index 30662363907b..05bf979b78a6 100644 --- a/arch/arm/mach-pxa/palmt5.c +++ b/arch/arm/mach-pxa/palmt5.c | |||
@@ -64,6 +64,7 @@ static unsigned long palmt5_pin_config[] __initdata = { | |||
64 | GPIO29_AC97_SDATA_IN_0, | 64 | GPIO29_AC97_SDATA_IN_0, |
65 | GPIO30_AC97_SDATA_OUT, | 65 | GPIO30_AC97_SDATA_OUT, |
66 | GPIO31_AC97_SYNC, | 66 | GPIO31_AC97_SYNC, |
67 | GPIO89_AC97_SYSCLK, | ||
67 | GPIO95_AC97_nRESET, | 68 | GPIO95_AC97_nRESET, |
68 | 69 | ||
69 | /* IrDA */ | 70 | /* IrDA */ |
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c index e2d44b1a8a9b..e99a893c58a7 100644 --- a/arch/arm/mach-pxa/palmtx.c +++ b/arch/arm/mach-pxa/palmtx.c | |||
@@ -65,6 +65,7 @@ static unsigned long palmtx_pin_config[] __initdata = { | |||
65 | GPIO29_AC97_SDATA_IN_0, | 65 | GPIO29_AC97_SDATA_IN_0, |
66 | GPIO30_AC97_SDATA_OUT, | 66 | GPIO30_AC97_SDATA_OUT, |
67 | GPIO31_AC97_SYNC, | 67 | GPIO31_AC97_SYNC, |
68 | GPIO89_AC97_SYSCLK, | ||
68 | GPIO95_AC97_nRESET, | 69 | GPIO95_AC97_nRESET, |
69 | 70 | ||
70 | /* IrDA */ | 71 | /* IrDA */ |
diff --git a/arch/arm/mach-pxa/reset.c b/arch/arm/mach-pxa/reset.c index df29d45fb4e7..01e9d643394a 100644 --- a/arch/arm/mach-pxa/reset.c +++ b/arch/arm/mach-pxa/reset.c | |||
@@ -20,7 +20,7 @@ static void do_hw_reset(void); | |||
20 | 20 | ||
21 | static int reset_gpio = -1; | 21 | static int reset_gpio = -1; |
22 | 22 | ||
23 | int init_gpio_reset(int gpio, int output) | 23 | int init_gpio_reset(int gpio, int output, int level) |
24 | { | 24 | { |
25 | int rc; | 25 | int rc; |
26 | 26 | ||
@@ -31,7 +31,7 @@ int init_gpio_reset(int gpio, int output) | |||
31 | } | 31 | } |
32 | 32 | ||
33 | if (output) | 33 | if (output) |
34 | rc = gpio_direction_output(gpio, 0); | 34 | rc = gpio_direction_output(gpio, level); |
35 | else | 35 | else |
36 | rc = gpio_direction_input(gpio); | 36 | rc = gpio_direction_input(gpio); |
37 | if (rc) { | 37 | if (rc) { |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index c18e34acafcb..5a45fe340a10 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -531,9 +531,15 @@ static int spitz_ohci_init(struct device *dev) | |||
531 | return gpio_direction_output(SPITZ_GPIO_USB_HOST, 1); | 531 | return gpio_direction_output(SPITZ_GPIO_USB_HOST, 1); |
532 | } | 532 | } |
533 | 533 | ||
534 | static void spitz_ohci_exit(struct device *dev) | ||
535 | { | ||
536 | gpio_free(SPITZ_GPIO_USB_HOST); | ||
537 | } | ||
538 | |||
534 | static struct pxaohci_platform_data spitz_ohci_platform_data = { | 539 | static struct pxaohci_platform_data spitz_ohci_platform_data = { |
535 | .port_mode = PMM_NPS_MODE, | 540 | .port_mode = PMM_NPS_MODE, |
536 | .init = spitz_ohci_init, | 541 | .init = spitz_ohci_init, |
542 | .exit = spitz_ohci_exit, | ||
537 | .flags = ENABLE_PORT_ALL | NO_OC_PROTECTION, | 543 | .flags = ENABLE_PORT_ALL | NO_OC_PROTECTION, |
538 | .power_budget = 150, | 544 | .power_budget = 150, |
539 | }; | 545 | }; |
@@ -731,7 +737,7 @@ static void spitz_restart(char mode, const char *cmd) | |||
731 | 737 | ||
732 | static void __init common_init(void) | 738 | static void __init common_init(void) |
733 | { | 739 | { |
734 | init_gpio_reset(SPITZ_GPIO_ON_RESET, 1); | 740 | init_gpio_reset(SPITZ_GPIO_ON_RESET, 1, 0); |
735 | pm_power_off = spitz_poweroff; | 741 | pm_power_off = spitz_poweroff; |
736 | arm_pm_restart = spitz_restart; | 742 | arm_pm_restart = spitz_restart; |
737 | 743 | ||
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index afac5b6d3d78..a0bd46ef5d30 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
@@ -897,7 +897,7 @@ static void __init tosa_init(void) | |||
897 | gpio_set_wake(MFP_PIN_GPIO1, 1); | 897 | gpio_set_wake(MFP_PIN_GPIO1, 1); |
898 | /* We can't pass to gpio-keys since it will drop the Reset altfunc */ | 898 | /* We can't pass to gpio-keys since it will drop the Reset altfunc */ |
899 | 899 | ||
900 | init_gpio_reset(TOSA_GPIO_ON_RESET, 0); | 900 | init_gpio_reset(TOSA_GPIO_ON_RESET, 0, 0); |
901 | 901 | ||
902 | pm_power_off = tosa_poweroff; | 902 | pm_power_off = tosa_poweroff; |
903 | arm_pm_restart = tosa_restart; | 903 | arm_pm_restart = tosa_restart; |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index 0e65344e9f53..dd031cc41847 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <mach/audio.h> | 46 | #include <mach/audio.h> |
47 | #include <mach/pxafb.h> | 47 | #include <mach/pxafb.h> |
48 | #include <mach/i2c.h> | 48 | #include <mach/i2c.h> |
49 | #include <mach/regs-uart.h> | ||
49 | #include <mach/viper.h> | 50 | #include <mach/viper.h> |
50 | 51 | ||
51 | #include <asm/setup.h> | 52 | #include <asm/setup.h> |
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index 942e1a7eb9b2..076acbc50706 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c | |||
@@ -750,14 +750,6 @@ void __init realview_timer_init(unsigned int timer_irq) | |||
750 | { | 750 | { |
751 | u32 val; | 751 | u32 val; |
752 | 752 | ||
753 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST | ||
754 | /* | ||
755 | * The dummy clock device has to be registered before the main device | ||
756 | * so that the latter will broadcast the clock events | ||
757 | */ | ||
758 | local_timer_setup(); | ||
759 | #endif | ||
760 | |||
761 | /* | 753 | /* |
762 | * set clock frequency: | 754 | * set clock frequency: |
763 | * REALVIEW_REFCLK is 32KHz | 755 | * REALVIEW_REFCLK is 32KHz |
diff --git a/arch/arm/mach-realview/include/mach/smp.h b/arch/arm/mach-realview/include/mach/smp.h index 515819efd046..dd53892d44a7 100644 --- a/arch/arm/mach-realview/include/mach/smp.h +++ b/arch/arm/mach-realview/include/mach/smp.h | |||
@@ -15,16 +15,9 @@ | |||
15 | /* | 15 | /* |
16 | * We use IRQ1 as the IPI | 16 | * We use IRQ1 as the IPI |
17 | */ | 17 | */ |
18 | static inline void smp_cross_call(cpumask_t callmap) | 18 | static inline void smp_cross_call(const struct cpumask *mask) |
19 | { | ||
20 | gic_raise_softirq(callmap, 1); | ||
21 | } | ||
22 | |||
23 | /* | ||
24 | * Do nothing on MPcore. | ||
25 | */ | ||
26 | static inline void smp_cross_call_done(cpumask_t callmap) | ||
27 | { | 19 | { |
20 | gic_raise_softirq(mask, 1); | ||
28 | } | 21 | } |
29 | 22 | ||
30 | #endif | 23 | #endif |
diff --git a/arch/arm/mach-realview/localtimer.c b/arch/arm/mach-realview/localtimer.c index d0d39adf6407..1c01d13460f0 100644 --- a/arch/arm/mach-realview/localtimer.c +++ b/arch/arm/mach-realview/localtimer.c | |||
@@ -189,8 +189,10 @@ void __cpuinit local_timer_setup(void) | |||
189 | struct clock_event_device *clk = &per_cpu(local_clockevent, cpu); | 189 | struct clock_event_device *clk = &per_cpu(local_clockevent, cpu); |
190 | 190 | ||
191 | clk->name = "dummy_timer"; | 191 | clk->name = "dummy_timer"; |
192 | clk->features = CLOCK_EVT_FEAT_DUMMY; | 192 | clk->features = CLOCK_EVT_FEAT_ONESHOT | |
193 | clk->rating = 200; | 193 | CLOCK_EVT_FEAT_PERIODIC | |
194 | CLOCK_EVT_FEAT_DUMMY; | ||
195 | clk->rating = 400; | ||
194 | clk->mult = 1; | 196 | clk->mult = 1; |
195 | clk->set_mode = dummy_timer_set_mode; | 197 | clk->set_mode = dummy_timer_set_mode; |
196 | clk->broadcast = smp_timer_broadcast; | 198 | clk->broadcast = smp_timer_broadcast; |
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c index ea3c75595fa9..30a9c68591f6 100644 --- a/arch/arm/mach-realview/platsmp.c +++ b/arch/arm/mach-realview/platsmp.c | |||
@@ -78,13 +78,6 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
78 | trace_hardirqs_off(); | 78 | trace_hardirqs_off(); |
79 | 79 | ||
80 | /* | 80 | /* |
81 | * the primary core may have used a "cross call" soft interrupt | ||
82 | * to get this processor out of WFI in the BootMonitor - make | ||
83 | * sure that we are no longer being sent this soft interrupt | ||
84 | */ | ||
85 | smp_cross_call_done(cpumask_of_cpu(cpu)); | ||
86 | |||
87 | /* | ||
88 | * if any interrupts are already enabled for the primary | 81 | * if any interrupts are already enabled for the primary |
89 | * core (e.g. timer irq), then they will not have been enabled | 82 | * core (e.g. timer irq), then they will not have been enabled |
90 | * for us: do so | 83 | * for us: do so |
@@ -136,7 +129,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
136 | * Use smp_cross_call() for this, since there's little | 129 | * Use smp_cross_call() for this, since there's little |
137 | * point duplicating the code here | 130 | * point duplicating the code here |
138 | */ | 131 | */ |
139 | smp_cross_call(cpumask_of_cpu(cpu)); | 132 | smp_cross_call(cpumask_of(cpu)); |
140 | 133 | ||
141 | timeout = jiffies + (1 * HZ); | 134 | timeout = jiffies + (1 * HZ); |
142 | while (time_before(jiffies, timeout)) { | 135 | while (time_before(jiffies, timeout)) { |
@@ -224,11 +217,9 @@ void __init smp_prepare_cpus(unsigned int max_cpus) | |||
224 | if (max_cpus > ncores) | 217 | if (max_cpus > ncores) |
225 | max_cpus = ncores; | 218 | max_cpus = ncores; |
226 | 219 | ||
227 | #ifdef CONFIG_LOCAL_TIMERS | 220 | #if defined(CONFIG_LOCAL_TIMERS) || defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST) |
228 | /* | 221 | /* |
229 | * Enable the local timer for primary CPU. If the device is | 222 | * Enable the local timer or broadcast device for the boot CPU. |
230 | * dummy (!CONFIG_LOCAL_TIMERS), it was already registers in | ||
231 | * realview_timer_init | ||
232 | */ | 223 | */ |
233 | local_timer_setup(); | 224 | local_timer_setup(); |
234 | #endif | 225 | #endif |
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index 4389c160f7d0..8637dea5e150 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -588,8 +588,6 @@ static void __init bast_map_io(void) | |||
588 | 588 | ||
589 | s3c_device_nand.dev.platform_data = &bast_nand_info; | 589 | s3c_device_nand.dev.platform_data = &bast_nand_info; |
590 | 590 | ||
591 | s3c_i2c0_set_platdata(&bast_i2c_info); | ||
592 | |||
593 | s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc)); | 591 | s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc)); |
594 | s3c24xx_init_clocks(0); | 592 | s3c24xx_init_clocks(0); |
595 | s3c24xx_init_uarts(bast_uartcfgs, ARRAY_SIZE(bast_uartcfgs)); | 593 | s3c24xx_init_uarts(bast_uartcfgs, ARRAY_SIZE(bast_uartcfgs)); |
@@ -602,6 +600,7 @@ static void __init bast_init(void) | |||
602 | sysdev_class_register(&bast_pm_sysclass); | 600 | sysdev_class_register(&bast_pm_sysclass); |
603 | sysdev_register(&bast_pm_sysdev); | 601 | sysdev_register(&bast_pm_sysdev); |
604 | 602 | ||
603 | s3c_i2c0_set_platdata(&bast_i2c_info); | ||
605 | s3c24xx_fb_set_platdata(&bast_fb_info); | 604 | s3c24xx_fb_set_platdata(&bast_fb_info); |
606 | platform_add_devices(bast_devices, ARRAY_SIZE(bast_devices)); | 605 | platform_add_devices(bast_devices, ARRAY_SIZE(bast_devices)); |
607 | 606 | ||
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 1f929c391af7..b3bebcc5623b 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -413,7 +413,7 @@ static struct clk ref24_clk = { | |||
413 | .rate = 24000000, | 413 | .rate = 24000000, |
414 | }; | 414 | }; |
415 | 415 | ||
416 | static struct clk_lookup lookups[] __initdata = { | 416 | static struct clk_lookup lookups[] = { |
417 | { /* UART0 */ | 417 | { /* UART0 */ |
418 | .dev_id = "dev:f1", | 418 | .dev_id = "dev:f1", |
419 | .clk = &ref24_clk, | 419 | .clk = &ref24_clk, |
diff --git a/arch/arm/nwfpe/fpa11.h b/arch/arm/nwfpe/fpa11.h index 386cbd13eaf4..d3a6f9298e9e 100644 --- a/arch/arm/nwfpe/fpa11.h +++ b/arch/arm/nwfpe/fpa11.h | |||
@@ -114,4 +114,8 @@ extern unsigned int SingleCPDO(struct roundingData *roundData, | |||
114 | extern unsigned int DoubleCPDO(struct roundingData *roundData, | 114 | extern unsigned int DoubleCPDO(struct roundingData *roundData, |
115 | const unsigned int opcode, FPREG * rFd); | 115 | const unsigned int opcode, FPREG * rFd); |
116 | 116 | ||
117 | /* extneded_cpdo.c */ | ||
118 | extern unsigned int ExtendedCPDO(struct roundingData *roundData, | ||
119 | const unsigned int opcode, FPREG * rFd); | ||
120 | |||
117 | #endif | 121 | #endif |
diff --git a/arch/arm/nwfpe/fpa11_cprt.c b/arch/arm/nwfpe/fpa11_cprt.c index 9843dc533047..31c4eeec18b0 100644 --- a/arch/arm/nwfpe/fpa11_cprt.c +++ b/arch/arm/nwfpe/fpa11_cprt.c | |||
@@ -27,10 +27,6 @@ | |||
27 | #include "fpmodule.inl" | 27 | #include "fpmodule.inl" |
28 | #include "softfloat.h" | 28 | #include "softfloat.h" |
29 | 29 | ||
30 | #ifdef CONFIG_FPE_NWFPE_XP | ||
31 | extern flag floatx80_is_nan(floatx80); | ||
32 | #endif | ||
33 | |||
34 | unsigned int PerformFLT(const unsigned int opcode); | 30 | unsigned int PerformFLT(const unsigned int opcode); |
35 | unsigned int PerformFIX(const unsigned int opcode); | 31 | unsigned int PerformFIX(const unsigned int opcode); |
36 | 32 | ||
diff --git a/arch/arm/nwfpe/softfloat.h b/arch/arm/nwfpe/softfloat.h index 260fe29d73f5..13e479c5da57 100644 --- a/arch/arm/nwfpe/softfloat.h +++ b/arch/arm/nwfpe/softfloat.h | |||
@@ -226,6 +226,8 @@ char floatx80_le_quiet( floatx80, floatx80 ); | |||
226 | char floatx80_lt_quiet( floatx80, floatx80 ); | 226 | char floatx80_lt_quiet( floatx80, floatx80 ); |
227 | char floatx80_is_signaling_nan( floatx80 ); | 227 | char floatx80_is_signaling_nan( floatx80 ); |
228 | 228 | ||
229 | extern flag floatx80_is_nan(floatx80); | ||
230 | |||
229 | #endif | 231 | #endif |
230 | 232 | ||
231 | static inline flag extractFloat32Sign(float32 a) | 233 | static inline flag extractFloat32Sign(float32 a) |
diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c index ce6b4baeedec..3746222bed10 100644 --- a/arch/arm/plat-omap/fb.c +++ b/arch/arm/plat-omap/fb.c | |||
@@ -206,9 +206,10 @@ void __init omapfb_reserve_sdram(void) | |||
206 | config_invalid = 1; | 206 | config_invalid = 1; |
207 | return; | 207 | return; |
208 | } | 208 | } |
209 | if (rg.paddr) | 209 | if (rg.paddr) { |
210 | reserve_bootmem(rg.paddr, rg.size, BOOTMEM_DEFAULT); | 210 | reserve_bootmem(rg.paddr, rg.size, BOOTMEM_DEFAULT); |
211 | reserved += rg.size; | 211 | reserved += rg.size; |
212 | } | ||
212 | omapfb_config.mem_desc.region[i] = rg; | 213 | omapfb_config.mem_desc.region[i] = rg; |
213 | configured_regions++; | 214 | configured_regions++; |
214 | } | 215 | } |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 17d7afe42b83..ee0b21f5b094 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -307,7 +307,7 @@ static inline int gpio_valid(int gpio) | |||
307 | return 0; | 307 | return 0; |
308 | if (cpu_is_omap24xx() && gpio < 128) | 308 | if (cpu_is_omap24xx() && gpio < 128) |
309 | return 0; | 309 | return 0; |
310 | if (cpu_is_omap34xx() && gpio < 160) | 310 | if (cpu_is_omap34xx() && gpio < 192) |
311 | return 0; | 311 | return 0; |
312 | return -1; | 312 | return -1; |
313 | } | 313 | } |
diff --git a/arch/arm/plat-s3c/clock.c b/arch/arm/plat-s3c/clock.c index b6be76e2fe51..4d01ef1a25dd 100644 --- a/arch/arm/plat-s3c/clock.c +++ b/arch/arm/plat-s3c/clock.c | |||
@@ -306,8 +306,6 @@ struct clk s3c24xx_uclk = { | |||
306 | 306 | ||
307 | int s3c24xx_register_clock(struct clk *clk) | 307 | int s3c24xx_register_clock(struct clk *clk) |
308 | { | 308 | { |
309 | clk->owner = THIS_MODULE; | ||
310 | |||
311 | if (clk->enable == NULL) | 309 | if (clk->enable == NULL) |
312 | clk->enable = clk_null_enable; | 310 | clk->enable = clk_null_enable; |
313 | 311 | ||
diff --git a/arch/arm/plat-s3c24xx/dma.c b/arch/arm/plat-s3c24xx/dma.c index aee2aeb46c60..07326f632361 100644 --- a/arch/arm/plat-s3c24xx/dma.c +++ b/arch/arm/plat-s3c24xx/dma.c | |||
@@ -1235,7 +1235,7 @@ int s3c2410_dma_getposition(unsigned int channel, dma_addr_t *src, dma_addr_t *d | |||
1235 | 1235 | ||
1236 | EXPORT_SYMBOL(s3c2410_dma_getposition); | 1236 | EXPORT_SYMBOL(s3c2410_dma_getposition); |
1237 | 1237 | ||
1238 | static struct s3c2410_dma_chan *to_dma_chan(struct sys_device *dev) | 1238 | static inline struct s3c2410_dma_chan *to_dma_chan(struct sys_device *dev) |
1239 | { | 1239 | { |
1240 | return container_of(dev, struct s3c2410_dma_chan, dev); | 1240 | return container_of(dev, struct s3c2410_dma_chan, dev); |
1241 | } | 1241 | } |
diff --git a/arch/arm/plat-s3c64xx/gpiolib.c b/arch/arm/plat-s3c64xx/gpiolib.c index ee9188add8fb..78ee52cffc9e 100644 --- a/arch/arm/plat-s3c64xx/gpiolib.c +++ b/arch/arm/plat-s3c64xx/gpiolib.c | |||
@@ -57,7 +57,7 @@ | |||
57 | #if 1 | 57 | #if 1 |
58 | #define gpio_dbg(x...) do { } while(0) | 58 | #define gpio_dbg(x...) do { } while(0) |
59 | #else | 59 | #else |
60 | #define gpio_dbg(x...) printk(KERN_DEBUG ## x) | 60 | #define gpio_dbg(x...) printk(KERN_DEBUG x) |
61 | #endif | 61 | #endif |
62 | 62 | ||
63 | /* The s3c64xx_gpiolib_4bit routines are to control the gpio banks where | 63 | /* The s3c64xx_gpiolib_4bit routines are to control the gpio banks where |
diff --git a/arch/arm/plat-s3c64xx/include/plat/gpio-bank-h.h b/arch/arm/plat-s3c64xx/include/plat/gpio-bank-h.h index 81549516572f..2ba1767512d7 100644 --- a/arch/arm/plat-s3c64xx/include/plat/gpio-bank-h.h +++ b/arch/arm/plat-s3c64xx/include/plat/gpio-bank-h.h | |||
@@ -61,14 +61,14 @@ | |||
61 | #define S3C64XX_GPH7_ADDR_CF1 (0x06 << 28) | 61 | #define S3C64XX_GPH7_ADDR_CF1 (0x06 << 28) |
62 | #define S3C64XX_GPH7_EINT_G6_7 (0x07 << 28) | 62 | #define S3C64XX_GPH7_EINT_G6_7 (0x07 << 28) |
63 | 63 | ||
64 | #define S3C64XX_GPH8_MMC1_DATA6 (0x02 << 32) | 64 | #define S3C64XX_GPH8_MMC1_DATA6 (0x02 << 0) |
65 | #define S3C64XX_GPH8_MMC2_DATA2 (0x03 << 32) | 65 | #define S3C64XX_GPH8_MMC2_DATA2 (0x03 << 0) |
66 | #define S3C64XX_GPH8_I2S_V40_LRCLK (0x05 << 32) | 66 | #define S3C64XX_GPH8_I2S_V40_LRCLK (0x05 << 0) |
67 | #define S3C64XX_GPH8_ADDR_CF2 (0x06 << 32) | 67 | #define S3C64XX_GPH8_ADDR_CF2 (0x06 << 0) |
68 | #define S3C64XX_GPH8_EINT_G6_8 (0x07 << 32) | 68 | #define S3C64XX_GPH8_EINT_G6_8 (0x07 << 0) |
69 | |||
70 | #define S3C64XX_GPH9_MMC1_DATA7 (0x02 << 36) | ||
71 | #define S3C64XX_GPH9_MMC2_DATA3 (0x03 << 36) | ||
72 | #define S3C64XX_GPH9_I2S_V40_DI (0x05 << 36) | ||
73 | #define S3C64XX_GPH9_EINT_G6_9 (0x07 << 36) | ||
74 | 69 | ||
70 | #define S3C64XX_GPH9_OUTPUT (0x01 << 4) | ||
71 | #define S3C64XX_GPH9_MMC1_DATA7 (0x02 << 4) | ||
72 | #define S3C64XX_GPH9_MMC2_DATA3 (0x03 << 4) | ||
73 | #define S3C64XX_GPH9_I2S_V40_DI (0x05 << 4) | ||
74 | #define S3C64XX_GPH9_EINT_G6_9 (0x07 << 4) | ||
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types index 945e0d237a1d..fec64678a63a 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types | |||
@@ -12,7 +12,7 @@ | |||
12 | # | 12 | # |
13 | # http://www.arm.linux.org.uk/developer/machines/?action=new | 13 | # http://www.arm.linux.org.uk/developer/machines/?action=new |
14 | # | 14 | # |
15 | # Last update: Mon Mar 23 20:09:01 2009 | 15 | # Last update: Fri May 29 10:14:20 2009 |
16 | # | 16 | # |
17 | # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number | 17 | # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number |
18 | # | 18 | # |
@@ -916,7 +916,7 @@ nxdb500 MACH_NXDB500 NXDB500 905 | |||
916 | apf9328 MACH_APF9328 APF9328 906 | 916 | apf9328 MACH_APF9328 APF9328 906 |
917 | omap_wipoq MACH_OMAP_WIPOQ OMAP_WIPOQ 907 | 917 | omap_wipoq MACH_OMAP_WIPOQ OMAP_WIPOQ 907 |
918 | omap_twip MACH_OMAP_TWIP OMAP_TWIP 908 | 918 | omap_twip MACH_OMAP_TWIP OMAP_TWIP 908 |
919 | palmt650 MACH_PALMT650 PALMT650 909 | 919 | treo650 MACH_TREO650 TREO650 909 |
920 | acumen MACH_ACUMEN ACUMEN 910 | 920 | acumen MACH_ACUMEN ACUMEN 910 |
921 | xp100 MACH_XP100 XP100 911 | 921 | xp100 MACH_XP100 XP100 911 |
922 | fs2410 MACH_FS2410 FS2410 912 | 922 | fs2410 MACH_FS2410 FS2410 912 |
@@ -1232,7 +1232,7 @@ ql202b MACH_QL202B QL202B 1226 | |||
1232 | vpac270 MACH_VPAC270 VPAC270 1227 | 1232 | vpac270 MACH_VPAC270 VPAC270 1227 |
1233 | rd129 MACH_RD129 RD129 1228 | 1233 | rd129 MACH_RD129 RD129 1228 |
1234 | htcwizard MACH_HTCWIZARD HTCWIZARD 1229 | 1234 | htcwizard MACH_HTCWIZARD HTCWIZARD 1229 |
1235 | xscale_treo680 MACH_XSCALE_TREO680 XSCALE_TREO680 1230 | 1235 | treo680 MACH_TREO680 TREO680 1230 |
1236 | tecon_tmezon MACH_TECON_TMEZON TECON_TMEZON 1231 | 1236 | tecon_tmezon MACH_TECON_TMEZON TECON_TMEZON 1231 |
1237 | zylonite MACH_ZYLONITE ZYLONITE 1233 | 1237 | zylonite MACH_ZYLONITE ZYLONITE 1233 |
1238 | gene1270 MACH_GENE1270 GENE1270 1234 | 1238 | gene1270 MACH_GENE1270 GENE1270 1234 |
@@ -1418,10 +1418,10 @@ looxc550 MACH_LOOXC550 LOOXC550 1417 | |||
1418 | cnty_titan MACH_CNTY_TITAN CNTY_TITAN 1418 | 1418 | cnty_titan MACH_CNTY_TITAN CNTY_TITAN 1418 |
1419 | app3xx MACH_APP3XX APP3XX 1419 | 1419 | app3xx MACH_APP3XX APP3XX 1419 |
1420 | sideoatsgrama MACH_SIDEOATSGRAMA SIDEOATSGRAMA 1420 | 1420 | sideoatsgrama MACH_SIDEOATSGRAMA SIDEOATSGRAMA 1420 |
1421 | palmtreo700p MACH_PALMTREO700P PALMTREO700P 1421 | 1421 | treo700p MACH_TREO700P TREO700P 1421 |
1422 | palmtreo700w MACH_PALMTREO700W PALMTREO700W 1422 | 1422 | treo700w MACH_TREO700W TREO700W 1422 |
1423 | palmtreo750 MACH_PALMTREO750 PALMTREO750 1423 | 1423 | treo750 MACH_TREO750 TREO750 1423 |
1424 | palmtreo755p MACH_PALMTREO755P PALMTREO755P 1424 | 1424 | treo755p MACH_TREO755P TREO755P 1424 |
1425 | ezreganut9200 MACH_EZREGANUT9200 EZREGANUT9200 1425 | 1425 | ezreganut9200 MACH_EZREGANUT9200 EZREGANUT9200 1425 |
1426 | sarge MACH_SARGE SARGE 1426 | 1426 | sarge MACH_SARGE SARGE 1426 |
1427 | a696 MACH_A696 A696 1427 | 1427 | a696 MACH_A696 A696 1427 |
@@ -1721,7 +1721,7 @@ sapphire MACH_SAPPHIRE SAPPHIRE 1729 | |||
1721 | csb637xo MACH_CSB637XO CSB637XO 1730 | 1721 | csb637xo MACH_CSB637XO CSB637XO 1730 |
1722 | evisiong MACH_EVISIONG EVISIONG 1731 | 1722 | evisiong MACH_EVISIONG EVISIONG 1731 |
1723 | stmp37xx MACH_STMP37XX STMP37XX 1732 | 1723 | stmp37xx MACH_STMP37XX STMP37XX 1732 |
1724 | stmp378x MACH_STMP38XX STMP38XX 1733 | 1724 | stmp378x MACH_STMP378X STMP378X 1733 |
1725 | tnt MACH_TNT TNT 1734 | 1725 | tnt MACH_TNT TNT 1734 |
1726 | tbxt MACH_TBXT TBXT 1735 | 1726 | tbxt MACH_TBXT TBXT 1735 |
1727 | playmate MACH_PLAYMATE PLAYMATE 1736 | 1727 | playmate MACH_PLAYMATE PLAYMATE 1736 |
@@ -1817,7 +1817,7 @@ smdkc100 MACH_SMDKC100 SMDKC100 1826 | |||
1817 | tavorevb MACH_TAVOREVB TAVOREVB 1827 | 1817 | tavorevb MACH_TAVOREVB TAVOREVB 1827 |
1818 | saar MACH_SAAR SAAR 1828 | 1818 | saar MACH_SAAR SAAR 1828 |
1819 | deister_eyecam MACH_DEISTER_EYECAM DEISTER_EYECAM 1829 | 1819 | deister_eyecam MACH_DEISTER_EYECAM DEISTER_EYECAM 1829 |
1820 | at91sam9m10ek MACH_AT91SAM9M10EK AT91SAM9M10EK 1830 | 1820 | at91sam9m10g45ek MACH_AT91SAM9M10G45EK AT91SAM9M10G45EK 1830 |
1821 | linkstation_produo MACH_LINKSTATION_PRODUO LINKSTATION_PRODUO 1831 | 1821 | linkstation_produo MACH_LINKSTATION_PRODUO LINKSTATION_PRODUO 1831 |
1822 | hit_b0 MACH_HIT_B0 HIT_B0 1832 | 1822 | hit_b0 MACH_HIT_B0 HIT_B0 1832 |
1823 | adx_rmu MACH_ADX_RMU ADX_RMU 1833 | 1823 | adx_rmu MACH_ADX_RMU ADX_RMU 1833 |
@@ -2132,3 +2132,116 @@ apollo MACH_APOLLO APOLLO 2141 | |||
2132 | at91cap9stk MACH_AT91CAP9STK AT91CAP9STK 2142 | 2132 | at91cap9stk MACH_AT91CAP9STK AT91CAP9STK 2142 |
2133 | spc300 MACH_SPC300 SPC300 2143 | 2133 | spc300 MACH_SPC300 SPC300 2143 |
2134 | eko MACH_EKO EKO 2144 | 2134 | eko MACH_EKO EKO 2144 |
2135 | ccw9m2443 MACH_CCW9M2443 CCW9M2443 2145 | ||
2136 | ccw9m2443js MACH_CCW9M2443JS CCW9M2443JS 2146 | ||
2137 | m2m_router_device MACH_M2M_ROUTER_DEVICE M2M_ROUTER_DEVICE 2147 | ||
2138 | str9104nas MACH_STAR9104NAS STAR9104NAS 2148 | ||
2139 | pca100 MACH_PCA100 PCA100 2149 | ||
2140 | z3_dm365_mod_01 MACH_Z3_DM365_MOD_01 Z3_DM365_MOD_01 2150 | ||
2141 | hipox MACH_HIPOX HIPOX 2151 | ||
2142 | omap3_piteds MACH_OMAP3_PITEDS OMAP3_PITEDS 2152 | ||
2143 | bm150r MACH_BM150R BM150R 2153 | ||
2144 | tbone MACH_TBONE TBONE 2154 | ||
2145 | merlin MACH_MERLIN MERLIN 2155 | ||
2146 | falcon MACH_FALCON FALCON 2156 | ||
2147 | davinci_da850_evm MACH_DAVINCI_DA850_EVM DAVINCI_DA850_EVM 2157 | ||
2148 | s5p6440 MACH_S5P6440 S5P6440 2158 | ||
2149 | at91sam9g10ek MACH_AT91SAM9G10EK AT91SAM9G10EK 2159 | ||
2150 | omap_4430sdp MACH_OMAP_4430SDP OMAP_4430SDP 2160 | ||
2151 | lpc313x MACH_LPC313X LPC313X 2161 | ||
2152 | magx_zn5 MACH_MAGX_ZN5 MAGX_ZN5 2162 | ||
2153 | magx_em30 MACH_MAGX_EM30 MAGX_EM30 2163 | ||
2154 | magx_ve66 MACH_MAGX_VE66 MAGX_VE66 2164 | ||
2155 | meesc MACH_MEESC MEESC 2165 | ||
2156 | otc570 MACH_OTC570 OTC570 2166 | ||
2157 | bcu2412 MACH_BCU2412 BCU2412 2167 | ||
2158 | beacon MACH_BEACON BEACON 2168 | ||
2159 | actia_tgw MACH_ACTIA_TGW ACTIA_TGW 2169 | ||
2160 | e4430 MACH_E4430 E4430 2170 | ||
2161 | ql300 MACH_QL300 QL300 2171 | ||
2162 | btmavb101 MACH_BTMAVB101 BTMAVB101 2172 | ||
2163 | btmawb101 MACH_BTMAWB101 BTMAWB101 2173 | ||
2164 | sq201 MACH_SQ201 SQ201 2174 | ||
2165 | quatro45xx MACH_QUATRO45XX QUATRO45XX 2175 | ||
2166 | openpad MACH_OPENPAD OPENPAD 2176 | ||
2167 | tx25 MACH_TX25 TX25 2177 | ||
2168 | omap3_torpedo MACH_OMAP3_TORPEDO OMAP3_TORPEDO 2178 | ||
2169 | htcraphael_k MACH_HTCRAPHAEL_K HTCRAPHAEL_K 2179 | ||
2170 | lal43 MACH_LAL43 LAL43 2181 | ||
2171 | htcraphael_cdma500 MACH_HTCRAPHAEL_CDMA500 HTCRAPHAEL_CDMA500 2182 | ||
2172 | anw6410 MACH_ANW6410 ANW6410 2183 | ||
2173 | htcprophet MACH_HTCPROPHET HTCPROPHET 2185 | ||
2174 | cfa_10022 MACH_CFA_10022 CFA_10022 2186 | ||
2175 | imx27_visstrim_m10 MACH_IMX27_VISSTRIM_M10 IMX27_VISSTRIM_M10 2187 | ||
2176 | px2imx27 MACH_PX2IMX27 PX2IMX27 2188 | ||
2177 | stm3210e_eval MACH_STM3210E_EVAL STM3210E_EVAL 2189 | ||
2178 | dvs10 MACH_DVS10 DVS10 2190 | ||
2179 | portuxg20 MACH_PORTUXG20 PORTUXG20 2191 | ||
2180 | arm_spv MACH_ARM_SPV ARM_SPV 2192 | ||
2181 | smdkc110 MACH_SMDKC110 SMDKC110 2193 | ||
2182 | cabespresso MACH_CABESPRESSO CABESPRESSO 2194 | ||
2183 | hmc800 MACH_HMC800 HMC800 2195 | ||
2184 | sholes MACH_SHOLES SHOLES 2196 | ||
2185 | btmxc31 MACH_BTMXC31 BTMXC31 2197 | ||
2186 | dt501 MACH_DT501 DT501 2198 | ||
2187 | ktx MACH_KTX KTX 2199 | ||
2188 | omap3517evm MACH_OMAP3517EVM OMAP3517EVM 2200 | ||
2189 | netspace_v2 MACH_NETSPACE_V2 NETSPACE_V2 2201 | ||
2190 | netspace_max_v2 MACH_NETSPACE_MAX_V2 NETSPACE_MAX_V2 2202 | ||
2191 | d2net_v2 MACH_D2NET_V2 D2NET_V2 2203 | ||
2192 | net2big_v2 MACH_NET2BIG_V2 NET2BIG_V2 2204 | ||
2193 | net4big_v2 MACH_NET4BIG_V2 NET4BIG_V2 2205 | ||
2194 | net5big_v2 MACH_NET5BIG_V2 NET5BIG_V2 2206 | ||
2195 | endb2443 MACH_ENDB2443 ENDB2443 2207 | ||
2196 | inetspace_v2 MACH_INETSPACE_V2 INETSPACE_V2 2208 | ||
2197 | tros MACH_TROS TROS 2209 | ||
2198 | pelco_homer MACH_PELCO_HOMER PELCO_HOMER 2210 | ||
2199 | ofsp8 MACH_OFSP8 OFSP8 2211 | ||
2200 | at91sam9g45ekes MACH_AT91SAM9G45EKES AT91SAM9G45EKES 2212 | ||
2201 | guf_cupid MACH_GUF_CUPID GUF_CUPID 2213 | ||
2202 | eab1r MACH_EAB1R EAB1R 2214 | ||
2203 | desirec MACH_DESIREC DESIREC 2215 | ||
2204 | cordoba MACH_CORDOBA CORDOBA 2216 | ||
2205 | irvine MACH_IRVINE IRVINE 2217 | ||
2206 | sff772 MACH_SFF772 SFF772 2218 | ||
2207 | pelco_milano MACH_PELCO_MILANO PELCO_MILANO 2219 | ||
2208 | pc7302 MACH_PC7302 PC7302 2220 | ||
2209 | bip6000 MACH_BIP6000 BIP6000 2221 | ||
2210 | silvermoon MACH_SILVERMOON SILVERMOON 2222 | ||
2211 | vc0830 MACH_VC0830 VC0830 2223 | ||
2212 | dt430 MACH_DT430 DT430 2224 | ||
2213 | ji42pf MACH_JI42PF JI42PF 2225 | ||
2214 | gnet_ksm MACH_GNET_KSM GNET_KSM 2226 | ||
2215 | gnet_sgm MACH_GNET_SGM GNET_SGM 2227 | ||
2216 | gnet_sgr MACH_GNET_SGR GNET_SGR 2228 | ||
2217 | omap3_icetekevm MACH_OMAP3_ICETEKEVM OMAP3_ICETEKEVM 2229 | ||
2218 | pnp MACH_PNP PNP 2230 | ||
2219 | ctera_2bay_k MACH_CTERA_2BAY_K CTERA_2BAY_K 2231 | ||
2220 | ctera_2bay_u MACH_CTERA_2BAY_U CTERA_2BAY_U 2232 | ||
2221 | sas_c MACH_SAS_C SAS_C 2233 | ||
2222 | vma2315 MACH_VMA2315 VMA2315 2234 | ||
2223 | vcs MACH_VCS VCS 2235 | ||
2224 | spear600 MACH_SPEAR600 SPEAR600 2236 | ||
2225 | spear300 MACH_SPEAR300 SPEAR300 2237 | ||
2226 | spear1300 MACH_SPEAR1300 SPEAR1300 2238 | ||
2227 | lilly1131 MACH_LILLY1131 LILLY1131 2239 | ||
2228 | arvoo_ax301 MACH_ARVOO_AX301 ARVOO_AX301 2240 | ||
2229 | mapphone MACH_MAPPHONE MAPPHONE 2241 | ||
2230 | legend MACH_LEGEND LEGEND 2242 | ||
2231 | salsa MACH_SALSA SALSA 2243 | ||
2232 | lounge MACH_LOUNGE LOUNGE 2244 | ||
2233 | vision MACH_VISION VISION 2245 | ||
2234 | vmb20 MACH_VMB20 VMB20 2246 | ||
2235 | hy2410 MACH_HY2410 HY2410 2247 | ||
2236 | hy9315 MACH_HY9315 HY9315 2248 | ||
2237 | bullwinkle MACH_BULLWINKLE BULLWINKLE 2249 | ||
2238 | arm_ultimator2 MACH_ARM_ULTIMATOR2 ARM_ULTIMATOR2 2250 | ||
2239 | vs_v210 MACH_VS_V210 VS_V210 2252 | ||
2240 | vs_v212 MACH_VS_V212 VS_V212 2253 | ||
2241 | hmt MACH_HMT HMT 2254 | ||
2242 | suen3 MACH_SUEN3 SUEN3 2255 | ||
2243 | vesper MACH_VESPER VESPER 2256 | ||
2244 | str9 MACH_STR9 STR9 2257 | ||
2245 | omap3_wl_ff MACH_OMAP3_WL_FF OMAP3_WL_FF 2258 | ||
2246 | simcom MACH_SIMCOM SIMCOM 2259 | ||
2247 | mcwebio MACH_MCWEBIO MCWEBIO 2260 | ||
diff --git a/arch/blackfin/include/asm/.gitignore b/arch/blackfin/include/asm/.gitignore deleted file mode 100644 index 7858564a4466..000000000000 --- a/arch/blackfin/include/asm/.gitignore +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | +mach | ||
diff --git a/arch/blackfin/include/asm/flat.h b/arch/blackfin/include/asm/flat.h index e70074e05f4e..733a178d782d 100644 --- a/arch/blackfin/include/asm/flat.h +++ b/arch/blackfin/include/asm/flat.h | |||
@@ -10,7 +10,6 @@ | |||
10 | 10 | ||
11 | #include <asm/unaligned.h> | 11 | #include <asm/unaligned.h> |
12 | 12 | ||
13 | #define flat_stack_align(sp) /* nothing needed */ | ||
14 | #define flat_argvp_envp_on_stack() 0 | 13 | #define flat_argvp_envp_on_stack() 0 |
15 | #define flat_old_ram_flag(flags) (flags) | 14 | #define flat_old_ram_flag(flags) (flags) |
16 | 15 | ||
diff --git a/arch/blackfin/include/asm/unistd.h b/arch/blackfin/include/asm/unistd.h index 1e57b636e0bc..cf5066d3efd2 100644 --- a/arch/blackfin/include/asm/unistd.h +++ b/arch/blackfin/include/asm/unistd.h | |||
@@ -378,8 +378,10 @@ | |||
378 | #define __NR_dup3 363 | 378 | #define __NR_dup3 363 |
379 | #define __NR_pipe2 364 | 379 | #define __NR_pipe2 364 |
380 | #define __NR_inotify_init1 365 | 380 | #define __NR_inotify_init1 365 |
381 | #define __NR_preadv 366 | ||
382 | #define __NR_pwritev 367 | ||
381 | 383 | ||
382 | #define __NR_syscall 366 | 384 | #define __NR_syscall 368 |
383 | #define NR_syscalls __NR_syscall | 385 | #define NR_syscalls __NR_syscall |
384 | 386 | ||
385 | /* Old optional stuff no one actually uses */ | 387 | /* Old optional stuff no one actually uses */ |
diff --git a/arch/blackfin/kernel/.gitignore b/arch/blackfin/kernel/.gitignore new file mode 100644 index 000000000000..c5f676c3c224 --- /dev/null +++ b/arch/blackfin/kernel/.gitignore | |||
@@ -0,0 +1 @@ | |||
vmlinux.lds | |||
diff --git a/arch/blackfin/lib/strncmp.c b/arch/blackfin/lib/strncmp.c index 2aaae78a68e0..46518b1d2983 100644 --- a/arch/blackfin/lib/strncmp.c +++ b/arch/blackfin/lib/strncmp.c | |||
@@ -8,9 +8,8 @@ | |||
8 | 8 | ||
9 | #define strncmp __inline_strncmp | 9 | #define strncmp __inline_strncmp |
10 | #include <asm/string.h> | 10 | #include <asm/string.h> |
11 | #undef strncmp | ||
12 | |||
13 | #include <linux/module.h> | 11 | #include <linux/module.h> |
12 | #undef strncmp | ||
14 | 13 | ||
15 | int strncmp(const char *cs, const char *ct, size_t count) | 14 | int strncmp(const char *cs, const char *ct, size_t count) |
16 | { | 15 | { |
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index 21e65a339a22..a063a434f7e3 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
@@ -1581,6 +1581,8 @@ ENTRY(_sys_call_table) | |||
1581 | .long _sys_dup3 | 1581 | .long _sys_dup3 |
1582 | .long _sys_pipe2 | 1582 | .long _sys_pipe2 |
1583 | .long _sys_inotify_init1 /* 365 */ | 1583 | .long _sys_inotify_init1 /* 365 */ |
1584 | .long _sys_preadv | ||
1585 | .long _sys_pwritev | ||
1584 | 1586 | ||
1585 | .rept NR_syscalls-(.-_sys_call_table)/4 | 1587 | .rept NR_syscalls-(.-_sys_call_table)/4 |
1586 | .long _sys_ni_syscall | 1588 | .long _sys_ni_syscall |
diff --git a/arch/cris/Makefile b/arch/cris/Makefile index 3662cfb7b61d..71e17d3eeddb 100644 --- a/arch/cris/Makefile +++ b/arch/cris/Makefile | |||
@@ -70,7 +70,7 @@ SRC_ARCH = $(srctree)/arch/cris | |||
70 | # cris object files path | 70 | # cris object files path |
71 | OBJ_ARCH = $(objtree)/arch/cris | 71 | OBJ_ARCH = $(objtree)/arch/cris |
72 | 72 | ||
73 | boot := arch/cris/$(SARCH)/boot | 73 | boot := arch/cris/boot |
74 | MACHINE := arch/cris/$(SARCH) | 74 | MACHINE := arch/cris/$(SARCH) |
75 | 75 | ||
76 | all: zImage | 76 | all: zImage |
@@ -81,15 +81,15 @@ zImage Image: vmlinux | |||
81 | archprepare: | 81 | archprepare: |
82 | 82 | ||
83 | archclean: | 83 | archclean: |
84 | $(Q)if [ -e arch/cris/$(SARCH)/boot ]; then \ | 84 | $(Q)if [ -e arch/cris/boot ]; then \ |
85 | $(MAKE) $(clean)=arch/cris/$(SARCH)/boot; \ | 85 | $(MAKE) $(clean)=arch/cris/boot; \ |
86 | fi | 86 | fi |
87 | 87 | ||
88 | CLEAN_FILES += \ | 88 | CLEAN_FILES += \ |
89 | $(MACHINE)/boot/zImage \ | 89 | $(boot)/zImage \ |
90 | $(MACHINE)/boot/compressed/decompress.bin \ | 90 | $(boot)/compressed/decompress.bin \ |
91 | $(MACHINE)/boot/compressed/piggy.gz \ | 91 | $(boot)/compressed/piggy.gz \ |
92 | $(MACHINE)/boot/rescue/rescue.bin | 92 | $(boot)/rescue/rescue.bin |
93 | 93 | ||
94 | 94 | ||
95 | # MRPROPER_FILES += | 95 | # MRPROPER_FILES += |
diff --git a/arch/cris/arch-v10/boot/Makefile b/arch/cris/arch-v10/boot/Makefile deleted file mode 100644 index 217203014433..000000000000 --- a/arch/cris/arch-v10/boot/Makefile +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | # | ||
2 | # arch/cris/arch-v10/boot/Makefile | ||
3 | # | ||
4 | |||
5 | OBJCOPYFLAGS = -O binary --remove-section=.bss | ||
6 | |||
7 | subdir- := compressed rescue | ||
8 | targets := Image | ||
9 | |||
10 | $(obj)/Image: vmlinux FORCE | ||
11 | $(call if_changed,objcopy) | ||
12 | @echo ' Kernel: $@ is ready' | ||
13 | |||
14 | $(obj)/compressed/vmlinux: $(obj)/Image FORCE | ||
15 | $(Q)$(MAKE) $(build)=$(obj)/compressed $@ | ||
16 | $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin | ||
17 | |||
18 | $(obj)/zImage: $(obj)/compressed/vmlinux | ||
19 | @cp $< $@ | ||
20 | @echo ' Kernel: $@ is ready' | ||
diff --git a/arch/cris/arch-v10/boot/compressed/README b/arch/cris/arch-v10/boot/compressed/README deleted file mode 100644 index 48b3db9924b9..000000000000 --- a/arch/cris/arch-v10/boot/compressed/README +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | Creation of the self-extracting compressed kernel image (vmlinuz) | ||
2 | ----------------------------------------------------------------- | ||
3 | $Id: README,v 1.1 2001/12/17 13:59:27 bjornw Exp $ | ||
4 | |||
5 | This can be slightly confusing because it's a process with many steps. | ||
6 | |||
7 | The kernel object built by the arch/etrax100/Makefile, vmlinux, is split | ||
8 | by that makefile into text and data binary files, vmlinux.text and | ||
9 | vmlinux.data. | ||
10 | |||
11 | Those files together with a ROM filesystem can be catted together and | ||
12 | burned into a flash or executed directly at the DRAM origin. | ||
13 | |||
14 | They can also be catted together and compressed with gzip, which is what | ||
15 | happens in this makefile. Together they make up piggy.img. | ||
16 | |||
17 | The decompressor is built into the file decompress.o. It is turned into | ||
18 | the binary file decompress.bin, which is catted together with piggy.img | ||
19 | into the file vmlinuz. It can be executed in an arbitrary place in flash. | ||
20 | |||
21 | Be careful - it assumes some things about free locations in DRAM. It | ||
22 | assumes the DRAM starts at 0x40000000 and that it is at least 8 MB, | ||
23 | so it puts its code at 0x40700000, and initial stack at 0x40800000. | ||
24 | |||
25 | -Bjorn | ||
diff --git a/arch/cris/arch-v10/boot/compressed/misc.c b/arch/cris/arch-v10/boot/compressed/misc.c deleted file mode 100644 index a4db1507d3b1..000000000000 --- a/arch/cris/arch-v10/boot/compressed/misc.c +++ /dev/null | |||
@@ -1,246 +0,0 @@ | |||
1 | /* | ||
2 | * misc.c | ||
3 | * | ||
4 | * This is a collection of several routines from gzip-1.0.3 | ||
5 | * adapted for Linux. | ||
6 | * | ||
7 | * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994 | ||
8 | * puts by Nick Holloway 1993, better puts by Martin Mares 1995 | ||
9 | * adaptation for Linux/CRIS Axis Communications AB, 1999 | ||
10 | * | ||
11 | */ | ||
12 | |||
13 | /* where the piggybacked kernel image expects itself to live. | ||
14 | * it is the same address we use when we network load an uncompressed | ||
15 | * image into DRAM, and it is the address the kernel is linked to live | ||
16 | * at by vmlinux.lds.S | ||
17 | */ | ||
18 | |||
19 | #define KERNEL_LOAD_ADR 0x40004000 | ||
20 | |||
21 | |||
22 | #include <linux/types.h> | ||
23 | #include <arch/svinto.h> | ||
24 | |||
25 | /* | ||
26 | * gzip declarations | ||
27 | */ | ||
28 | |||
29 | #define OF(args) args | ||
30 | #define STATIC static | ||
31 | |||
32 | void *memset(void *s, int c, size_t n); | ||
33 | void *memcpy(void *__dest, __const void *__src, size_t __n); | ||
34 | |||
35 | #define memzero(s, n) memset((s), 0, (n)) | ||
36 | |||
37 | typedef unsigned char uch; | ||
38 | typedef unsigned short ush; | ||
39 | typedef unsigned long ulg; | ||
40 | |||
41 | #define WSIZE 0x8000 /* Window size must be at least 32k, */ | ||
42 | /* and a power of two */ | ||
43 | |||
44 | static uch *inbuf; /* input buffer */ | ||
45 | static uch window[WSIZE]; /* Sliding window buffer */ | ||
46 | |||
47 | unsigned inptr = 0; /* index of next byte to be processed in inbuf | ||
48 | * After decompression it will contain the | ||
49 | * compressed size, and head.S will read it. | ||
50 | */ | ||
51 | |||
52 | static unsigned outcnt = 0; /* bytes in output buffer */ | ||
53 | |||
54 | /* gzip flag byte */ | ||
55 | #define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */ | ||
56 | #define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */ | ||
57 | #define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */ | ||
58 | #define ORIG_NAME 0x08 /* bit 3 set: original file name present */ | ||
59 | #define COMMENT 0x10 /* bit 4 set: file comment present */ | ||
60 | #define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */ | ||
61 | #define RESERVED 0xC0 /* bit 6,7: reserved */ | ||
62 | |||
63 | #define get_byte() (inbuf[inptr++]) | ||
64 | |||
65 | /* Diagnostic functions */ | ||
66 | #ifdef DEBUG | ||
67 | # define Assert(cond, msg) do { \ | ||
68 | if (!(cond)) \ | ||
69 | error(msg); \ | ||
70 | } while (0) | ||
71 | # define Trace(x) fprintf x | ||
72 | # define Tracev(x) do { \ | ||
73 | if (verbose) \ | ||
74 | fprintf x; \ | ||
75 | } while (0) | ||
76 | # define Tracevv(x) do { \ | ||
77 | if (verbose > 1) \ | ||
78 | fprintf x; \ | ||
79 | } while (0) | ||
80 | # define Tracec(c, x) do { \ | ||
81 | if (verbose && (c)) \ | ||
82 | fprintf x; \ | ||
83 | } while (0) | ||
84 | # define Tracecv(c, x) do { \ | ||
85 | if (verbose > 1 && (c)) \ | ||
86 | fprintf x; \ | ||
87 | } while (0) | ||
88 | #else | ||
89 | # define Assert(cond, msg) | ||
90 | # define Trace(x) | ||
91 | # define Tracev(x) | ||
92 | # define Tracevv(x) | ||
93 | # define Tracec(c, x) | ||
94 | # define Tracecv(c, x) | ||
95 | #endif | ||
96 | |||
97 | static void flush_window(void); | ||
98 | static void error(char *m); | ||
99 | |||
100 | extern char *input_data; /* lives in head.S */ | ||
101 | |||
102 | static long bytes_out = 0; | ||
103 | static uch *output_data; | ||
104 | static unsigned long output_ptr = 0; | ||
105 | static void puts(const char *); | ||
106 | |||
107 | /* the "heap" is put directly after the BSS ends, at end */ | ||
108 | |||
109 | extern int _end; | ||
110 | static long free_mem_ptr = (long)&_end; | ||
111 | static long free_mem_end_ptr; | ||
112 | |||
113 | #include "../../../../../lib/inflate.c" | ||
114 | |||
115 | /* decompressor info and error messages to serial console */ | ||
116 | |||
117 | static void | ||
118 | puts(const char *s) | ||
119 | { | ||
120 | #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL | ||
121 | while (*s) { | ||
122 | #ifdef CONFIG_ETRAX_DEBUG_PORT0 | ||
123 | while (!(*R_SERIAL0_STATUS & (1 << 5))) ; | ||
124 | *R_SERIAL0_TR_DATA = *s++; | ||
125 | #endif | ||
126 | #ifdef CONFIG_ETRAX_DEBUG_PORT1 | ||
127 | while (!(*R_SERIAL1_STATUS & (1 << 5))) ; | ||
128 | *R_SERIAL1_TR_DATA = *s++; | ||
129 | #endif | ||
130 | #ifdef CONFIG_ETRAX_DEBUG_PORT2 | ||
131 | while (!(*R_SERIAL2_STATUS & (1 << 5))) ; | ||
132 | *R_SERIAL2_TR_DATA = *s++; | ||
133 | #endif | ||
134 | #ifdef CONFIG_ETRAX_DEBUG_PORT3 | ||
135 | while (!(*R_SERIAL3_STATUS & (1 << 5))) ; | ||
136 | *R_SERIAL3_TR_DATA = *s++; | ||
137 | #endif | ||
138 | } | ||
139 | #endif | ||
140 | } | ||
141 | |||
142 | void *memset(void *s, int c, size_t n) | ||
143 | { | ||
144 | int i; | ||
145 | char *ss = (char *)s; | ||
146 | |||
147 | for (i = 0; i < n; i++) | ||
148 | ss[i] = c; | ||
149 | |||
150 | return s; | ||
151 | } | ||
152 | |||
153 | void *memcpy(void *__dest, __const void *__src, size_t __n) | ||
154 | { | ||
155 | int i; | ||
156 | char *d = (char *)__dest, *s = (char *)__src; | ||
157 | |||
158 | for (i = 0; i < __n; i++) | ||
159 | d[i] = s[i]; | ||
160 | |||
161 | return __dest; | ||
162 | } | ||
163 | |||
164 | /* =========================================================================== | ||
165 | * Write the output window window[0..outcnt-1] and update crc and bytes_out. | ||
166 | * (Used for the decompressed data only.) | ||
167 | */ | ||
168 | |||
169 | static void flush_window(void) | ||
170 | { | ||
171 | ulg c = crc; /* temporary variable */ | ||
172 | unsigned n; | ||
173 | uch *in, *out, ch; | ||
174 | |||
175 | in = window; | ||
176 | out = &output_data[output_ptr]; | ||
177 | for (n = 0; n < outcnt; n++) { | ||
178 | ch = *out = *in; | ||
179 | out++; | ||
180 | in++; | ||
181 | c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8); | ||
182 | } | ||
183 | crc = c; | ||
184 | bytes_out += (ulg)outcnt; | ||
185 | output_ptr += (ulg)outcnt; | ||
186 | outcnt = 0; | ||
187 | } | ||
188 | |||
189 | static void error(char *x) | ||
190 | { | ||
191 | puts("\n\n"); | ||
192 | puts(x); | ||
193 | puts("\n\n -- System halted\n"); | ||
194 | |||
195 | while (1); /* Halt */ | ||
196 | } | ||
197 | |||
198 | void setup_normal_output_buffer(void) | ||
199 | { | ||
200 | output_data = (char *)KERNEL_LOAD_ADR; | ||
201 | } | ||
202 | |||
203 | void decompress_kernel(void) | ||
204 | { | ||
205 | char revision; | ||
206 | |||
207 | /* input_data is set in head.S */ | ||
208 | inbuf = input_data; | ||
209 | |||
210 | #ifdef CONFIG_ETRAX_DEBUG_PORT0 | ||
211 | *R_SERIAL0_XOFF = 0; | ||
212 | *R_SERIAL0_BAUD = 0x99; | ||
213 | *R_SERIAL0_TR_CTRL = 0x40; | ||
214 | #endif | ||
215 | #ifdef CONFIG_ETRAX_DEBUG_PORT1 | ||
216 | *R_SERIAL1_XOFF = 0; | ||
217 | *R_SERIAL1_BAUD = 0x99; | ||
218 | *R_SERIAL1_TR_CTRL = 0x40; | ||
219 | #endif | ||
220 | #ifdef CONFIG_ETRAX_DEBUG_PORT2 | ||
221 | *R_GEN_CONFIG = 0x08; | ||
222 | *R_SERIAL2_XOFF = 0; | ||
223 | *R_SERIAL2_BAUD = 0x99; | ||
224 | *R_SERIAL2_TR_CTRL = 0x40; | ||
225 | #endif | ||
226 | #ifdef CONFIG_ETRAX_DEBUG_PORT3 | ||
227 | *R_GEN_CONFIG = 0x100; | ||
228 | *R_SERIAL3_XOFF = 0; | ||
229 | *R_SERIAL3_BAUD = 0x99; | ||
230 | *R_SERIAL3_TR_CTRL = 0x40; | ||
231 | #endif | ||
232 | |||
233 | setup_normal_output_buffer(); | ||
234 | |||
235 | makecrc(); | ||
236 | |||
237 | __asm__ volatile ("move $vr,%0" : "=rm" (revision)); | ||
238 | if (revision < 10) { | ||
239 | puts("You need an ETRAX 100LX to run linux 2.6\n"); | ||
240 | while (1); | ||
241 | } | ||
242 | |||
243 | puts("Uncompressing Linux...\n"); | ||
244 | gunzip(); | ||
245 | puts("Done. Now booting the kernel.\n"); | ||
246 | } | ||
diff --git a/arch/cris/arch-v10/kernel/entry.S b/arch/cris/arch-v10/kernel/entry.S index 72f5cd319b97..2c18d08cd913 100644 --- a/arch/cris/arch-v10/kernel/entry.S +++ b/arch/cris/arch-v10/kernel/entry.S | |||
@@ -536,10 +536,10 @@ multiple_interrupt: | |||
536 | movem $r13, [$sp] | 536 | movem $r13, [$sp] |
537 | push $r10 ; push orig_r10 | 537 | push $r10 ; push orig_r10 |
538 | clear.d [$sp=$sp-4] ; frametype == 0, normal frame | 538 | clear.d [$sp=$sp-4] ; frametype == 0, normal frame |
539 | 539 | ||
540 | move.d $sp, $r10 | 540 | move.d $sp, $r10 |
541 | jsr do_multiple_IRQ | 541 | jsr do_multiple_IRQ |
542 | 542 | ||
543 | jump ret_from_intr | 543 | jump ret_from_intr |
544 | 544 | ||
545 | do_sigtrap: | 545 | do_sigtrap: |
@@ -585,7 +585,7 @@ _ugdb_handle_breakpoint: | |||
585 | pop $r0 ; Restore r0. | 585 | pop $r0 ; Restore r0. |
586 | ba do_sigtrap ; SIGTRAP the offending process. | 586 | ba do_sigtrap ; SIGTRAP the offending process. |
587 | pop $dccr ; Restore dccr in delay slot. | 587 | pop $dccr ; Restore dccr in delay slot. |
588 | 588 | ||
589 | .global kernel_execve | 589 | .global kernel_execve |
590 | kernel_execve: | 590 | kernel_execve: |
591 | move.d __NR_execve, $r9 | 591 | move.d __NR_execve, $r9 |
@@ -929,6 +929,14 @@ sys_call_table: | |||
929 | .long sys_fallocate | 929 | .long sys_fallocate |
930 | .long sys_timerfd_settime /* 325 */ | 930 | .long sys_timerfd_settime /* 325 */ |
931 | .long sys_timerfd_gettime | 931 | .long sys_timerfd_gettime |
932 | .long sys_signalfd4 | ||
933 | .long sys_eventfd2 | ||
934 | .long sys_epoll_create1 | ||
935 | .long sys_dup3 /* 330 */ | ||
936 | .long sys_pipe2 | ||
937 | .long sys_inotify_init1 | ||
938 | .long sys_preadv | ||
939 | .long sys_pwritev | ||
932 | 940 | ||
933 | /* | 941 | /* |
934 | * NOTE!! This doesn't have to be exact - we just have | 942 | * NOTE!! This doesn't have to be exact - we just have |
diff --git a/arch/cris/arch-v32/boot/compressed/Makefile b/arch/cris/arch-v32/boot/compressed/Makefile deleted file mode 100644 index e176b8b69d92..000000000000 --- a/arch/cris/arch-v32/boot/compressed/Makefile +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | # | ||
2 | # arch/cris/arch-v32/boot/compressed/Makefile | ||
3 | # | ||
4 | |||
5 | asflags-y += -I$(srctree)/include/asm/mach/ -I$(srctree)/include/asm/arch | ||
6 | ccflags-y += -O2 -I$(srctree)/include/asm/mach/ -I$(srctree)/include/asm/arch | ||
7 | ldflags-y += -T$(srctree)/$(src)/decompress.lds | ||
8 | OBJECTS = $(obj)/head.o $(obj)/misc.o | ||
9 | OBJCOPYFLAGS = -O binary --remove-section=.bss | ||
10 | |||
11 | quiet_cmd_image = BUILD $@ | ||
12 | cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@ | ||
13 | |||
14 | targets := vmlinux piggy.gz decompress.o decompress.bin | ||
15 | |||
16 | $(obj)/decompress.o: $(OBJECTS) FORCE | ||
17 | $(call if_changed,ld) | ||
18 | |||
19 | $(obj)/decompress.bin: $(obj)/decompress.o FORCE | ||
20 | $(call if_changed,objcopy) | ||
21 | |||
22 | $(obj)/vmlinux: $(obj)/piggy.gz $(obj)/decompress.bin FORCE | ||
23 | $(call if_changed,image) | ||
24 | |||
25 | $(obj)/piggy.gz: $(obj)/../Image FORCE | ||
26 | $(call if_changed,gzip) | ||
diff --git a/arch/cris/arch-v32/boot/rescue/Makefile b/arch/cris/arch-v32/boot/rescue/Makefile deleted file mode 100644 index 566aac663a38..000000000000 --- a/arch/cris/arch-v32/boot/rescue/Makefile +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for rescue (bootstrap) code | ||
3 | # | ||
4 | |||
5 | CC = gcc-cris -mlinux -march=v32 $(LINUXINCLUDE) | ||
6 | ccflags-y += -O2 -I $(srctree)/include/asm/arch/mach/ \ | ||
7 | -I $(srctree)/include/asm/arch | ||
8 | asflags-y += -I $(srctree)/include/asm/arch/mach/ -I $(srctree)/include/asm/arch | ||
9 | LD = gcc-cris -mlinux -march=v32 -nostdlib | ||
10 | ldflags-y += -T $(srctree)/$(src)/rescue.lds | ||
11 | LDPOSTFLAGS = -lgcc | ||
12 | OBJCOPYFLAGS = -O binary --remove-section=.bss | ||
13 | obj-$(CONFIG_ETRAX_AXISFLASHMAP) = head.o | ||
14 | OBJECT := $(obj)/head.o | ||
15 | |||
16 | targets := rescue.o rescue.bin | ||
17 | |||
18 | quiet_cmd_ldlibgcc = LD $@ | ||
19 | cmd_ldlibgcc = $(LD) $(LDFLAGS) $(filter-out FORCE,$^) $(LDPOSTFLAGS) -o $@ | ||
20 | |||
21 | $(obj)/rescue.o: $(OBJECTS) FORCE | ||
22 | $(call if_changed,ldlibgcc) | ||
23 | |||
24 | $(obj)/rescue.bin: $(obj)/rescue.o FORCE | ||
25 | $(call if_changed,objcopy) | ||
26 | cp -p $(obj)/rescue.bin $(objtree) | ||
diff --git a/arch/cris/arch-v32/drivers/mach-a3/gpio.c b/arch/cris/arch-v32/drivers/mach-a3/gpio.c index 7a87bc0ae2e8..97357cfd17bb 100644 --- a/arch/cris/arch-v32/drivers/mach-a3/gpio.c +++ b/arch/cris/arch-v32/drivers/mach-a3/gpio.c | |||
@@ -681,7 +681,7 @@ static int virtual_gpio_ioctl(struct file *file, unsigned int cmd, | |||
681 | shadow |= ~readl(dir_oe[priv->minor]) | | 681 | shadow |= ~readl(dir_oe[priv->minor]) | |
682 | (arg & changeable_bits[priv->minor]); | 682 | (arg & changeable_bits[priv->minor]); |
683 | i2c_write(VIRT_I2C_ADDR, (void *)&shadow, sizeof(shadow)); | 683 | i2c_write(VIRT_I2C_ADDR, (void *)&shadow, sizeof(shadow)); |
684 | spin_lock_irqrestore(&gpio_lock, flags); | 684 | spin_unlock_irqrestore(&gpio_lock, flags); |
685 | break; | 685 | break; |
686 | case IO_CLRBITS: | 686 | case IO_CLRBITS: |
687 | spin_lock_irqsave(&gpio_lock, flags); | 687 | spin_lock_irqsave(&gpio_lock, flags); |
@@ -690,7 +690,7 @@ static int virtual_gpio_ioctl(struct file *file, unsigned int cmd, | |||
690 | shadow |= ~readl(dir_oe[priv->minor]) & | 690 | shadow |= ~readl(dir_oe[priv->minor]) & |
691 | ~(arg & changeable_bits[priv->minor]); | 691 | ~(arg & changeable_bits[priv->minor]); |
692 | i2c_write(VIRT_I2C_ADDR, (void *)&shadow, sizeof(shadow)); | 692 | i2c_write(VIRT_I2C_ADDR, (void *)&shadow, sizeof(shadow)); |
693 | spin_lock_irqrestore(&gpio_lock, flags); | 693 | spin_unlock_irqrestore(&gpio_lock, flags); |
694 | break; | 694 | break; |
695 | case IO_HIGHALARM: | 695 | case IO_HIGHALARM: |
696 | /* Set alarm when bits with 1 in arg go high. */ | 696 | /* Set alarm when bits with 1 in arg go high. */ |
diff --git a/arch/cris/arch-v32/kernel/Makefile b/arch/cris/arch-v32/kernel/Makefile index 993d987b0078..40358355d0cb 100644 --- a/arch/cris/arch-v32/kernel/Makefile +++ b/arch/cris/arch-v32/kernel/Makefile | |||
@@ -9,8 +9,6 @@ obj-y := entry.o traps.o irq.o debugport.o \ | |||
9 | process.o ptrace.o setup.o signal.o traps.o time.o \ | 9 | process.o ptrace.o setup.o signal.o traps.o time.o \ |
10 | cache.o cacheflush.o | 10 | cache.o cacheflush.o |
11 | 11 | ||
12 | obj-$(CONFIG_ETRAXFS_SIM) += vcs_hook.o | ||
13 | |||
14 | obj-$(CONFIG_SMP) += smp.o | 12 | obj-$(CONFIG_SMP) += smp.o |
15 | obj-$(CONFIG_ETRAX_KGDB) += kgdb.o kgdb_asm.o | 13 | obj-$(CONFIG_ETRAX_KGDB) += kgdb.o kgdb_asm.o |
16 | obj-$(CONFIG_ETRAX_FAST_TIMER) += fasttimer.o | 14 | obj-$(CONFIG_ETRAX_FAST_TIMER) += fasttimer.o |
diff --git a/arch/cris/arch-v32/kernel/entry.S b/arch/cris/arch-v32/kernel/entry.S index 5e674c8f7c51..435b9671bd4b 100644 --- a/arch/cris/arch-v32/kernel/entry.S +++ b/arch/cris/arch-v32/kernel/entry.S | |||
@@ -852,6 +852,14 @@ sys_call_table: | |||
852 | .long sys_fallocate | 852 | .long sys_fallocate |
853 | .long sys_timerfd_settime /* 325 */ | 853 | .long sys_timerfd_settime /* 325 */ |
854 | .long sys_timerfd_gettime | 854 | .long sys_timerfd_gettime |
855 | .long sys_signalfd4 | ||
856 | .long sys_eventfd2 | ||
857 | .long sys_epoll_create1 | ||
858 | .long sys_dup3 /* 330 */ | ||
859 | .long sys_pipe2 | ||
860 | .long sys_inotify_init1 | ||
861 | .long sys_preadv | ||
862 | .long sys_pwritev | ||
855 | 863 | ||
856 | /* | 864 | /* |
857 | * NOTE!! This doesn't have to be exact - we just have | 865 | * NOTE!! This doesn't have to be exact - we just have |
diff --git a/arch/cris/arch-v10/boot/.gitignore b/arch/cris/boot/.gitignore index 171a0853caf8..171a0853caf8 100644 --- a/arch/cris/arch-v10/boot/.gitignore +++ b/arch/cris/boot/.gitignore | |||
diff --git a/arch/cris/arch-v32/boot/Makefile b/arch/cris/boot/Makefile index 99896ad60b30..144f3afa0119 100644 --- a/arch/cris/arch-v32/boot/Makefile +++ b/arch/cris/boot/Makefile | |||
@@ -1,8 +1,12 @@ | |||
1 | # | 1 | # |
2 | # arch/cris/arch-v32/boot/Makefile | 2 | # arch/cris/boot/Makefile |
3 | # | 3 | # |
4 | 4 | ||
5 | OBJCOPYFLAGS = -O binary -R .note -R .comment | 5 | objcopyflags-$(CONFIG_ETRAX_ARCH_V10) += -R .note -R .comment |
6 | objcopyflags-$(CONFIG_ETRAX_ARCH_V32) += --remove-section=.bss | ||
7 | |||
8 | OBJCOPYFLAGS = -O binary $(objcopyflags-y) | ||
9 | |||
6 | 10 | ||
7 | subdir- := compressed rescue | 11 | subdir- := compressed rescue |
8 | targets := Image | 12 | targets := Image |
diff --git a/arch/cris/arch-v10/boot/compressed/Makefile b/arch/cris/boot/compressed/Makefile index 6fe0ffaf3be6..8fe9338c1775 100644 --- a/arch/cris/arch-v10/boot/compressed/Makefile +++ b/arch/cris/boot/compressed/Makefile | |||
@@ -1,11 +1,23 @@ | |||
1 | # | 1 | # |
2 | # arch/cris/arch-v10/boot/compressed/Makefile | 2 | # arch/cris/boot/compressed/Makefile |
3 | # | 3 | # |
4 | 4 | ||
5 | asflags-y += $(LINUXINCLUDE) | 5 | asflags-y += $(LINUXINCLUDE) |
6 | ccflags-y += -O2 $(LINUXINCLUDE) | 6 | ccflags-y += -O2 $(LINUXINCLUDE) |
7 | ldflags-y += -T $(srctree)/$(src)/decompress.lds | 7 | |
8 | OBJECTS = $(obj)/head.o $(obj)/misc.o | 8 | # asflags-$(CONFIG_ETRAX_ARCH_V32) += -I$(srctree)/include/asm/mach \ |
9 | # -I$(srctree)/include/asm/arch | ||
10 | # ccflags-$(CONFIG_ETRAX_ARCH_V32) += -O2 -I$(srctree)/include/asm/mach | ||
11 | # -I$(srctree)/include/asm/arch | ||
12 | |||
13 | arch-$(CONFIG_ETRAX_ARCH_V10) = v10 | ||
14 | arch-$(CONFIG_ETRAX_ARCH_V32) = v32 | ||
15 | |||
16 | ldflags-y += -T $(srctree)/$(src)/decompress_$(arch-y).lds | ||
17 | |||
18 | OBJECTS-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o | ||
19 | OBJECTS-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o | ||
20 | OBJECTS= $(OBJECTS-y) $(obj)/misc.o | ||
9 | OBJCOPYFLAGS = -O binary --remove-section=.bss | 21 | OBJCOPYFLAGS = -O binary --remove-section=.bss |
10 | 22 | ||
11 | quiet_cmd_image = BUILD $@ | 23 | quiet_cmd_image = BUILD $@ |
@@ -24,4 +36,3 @@ $(obj)/vmlinux: $(obj)/piggy.gz $(obj)/decompress.bin FORCE | |||
24 | 36 | ||
25 | $(obj)/piggy.gz: $(obj)/../Image FORCE | 37 | $(obj)/piggy.gz: $(obj)/../Image FORCE |
26 | $(call if_changed,gzip) | 38 | $(call if_changed,gzip) |
27 | |||
diff --git a/arch/cris/arch-v32/boot/compressed/README b/arch/cris/boot/compressed/README index 182c5d75784b..182c5d75784b 100644 --- a/arch/cris/arch-v32/boot/compressed/README +++ b/arch/cris/boot/compressed/README | |||
diff --git a/arch/cris/arch-v10/boot/compressed/decompress.lds b/arch/cris/boot/compressed/decompress_v10.lds index e80f4594d543..e80f4594d543 100644 --- a/arch/cris/arch-v10/boot/compressed/decompress.lds +++ b/arch/cris/boot/compressed/decompress_v10.lds | |||
diff --git a/arch/cris/arch-v32/boot/compressed/decompress.lds b/arch/cris/boot/compressed/decompress_v32.lds index 3c837feca3ac..3c837feca3ac 100644 --- a/arch/cris/arch-v32/boot/compressed/decompress.lds +++ b/arch/cris/boot/compressed/decompress_v32.lds | |||
diff --git a/arch/cris/arch-v10/boot/compressed/head.S b/arch/cris/boot/compressed/head_v10.S index 0bb4dcc29254..9edb8ade7e1f 100644 --- a/arch/cris/arch-v10/boot/compressed/head.S +++ b/arch/cris/boot/compressed/head_v10.S | |||
@@ -30,7 +30,7 @@ | |||
30 | beq dram_init_finished | 30 | beq dram_init_finished |
31 | nop | 31 | nop |
32 | 32 | ||
33 | #include "../../lib/dram_init.S" | 33 | #include "../../arch-v10/lib/dram_init.S" |
34 | 34 | ||
35 | dram_init_finished: | 35 | dram_init_finished: |
36 | 36 | ||
@@ -123,4 +123,4 @@ _cmd_line_magic: | |||
123 | .dword 0 | 123 | .dword 0 |
124 | _cmd_line_addr: | 124 | _cmd_line_addr: |
125 | .dword 0 | 125 | .dword 0 |
126 | #include "../../lib/hw_settings.S" | 126 | #include "../../arch-v10/lib/hw_settings.S" |
diff --git a/arch/cris/arch-v32/boot/compressed/head.S b/arch/cris/boot/compressed/head_v32.S index a4a65c5c669e..f483005f3d48 100644 --- a/arch/cris/arch-v32/boot/compressed/head.S +++ b/arch/cris/boot/compressed/head_v32.S | |||
@@ -17,7 +17,7 @@ | |||
17 | .globl input_data | 17 | .globl input_data |
18 | 18 | ||
19 | .text | 19 | .text |
20 | _start: | 20 | start: |
21 | di | 21 | di |
22 | 22 | ||
23 | ;; Start clocks for used blocks. | 23 | ;; Start clocks for used blocks. |
@@ -29,9 +29,9 @@ _start: | |||
29 | nop | 29 | nop |
30 | 30 | ||
31 | #if defined CONFIG_ETRAXFS | 31 | #if defined CONFIG_ETRAXFS |
32 | #include "../../mach-fs/dram_init.S" | 32 | #include "../../arch-v32/mach-fs/dram_init.S" |
33 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | 33 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 |
34 | #include "../../mach-a3/dram_init.S" | 34 | #include "../../arch-v32/mach-a3/dram_init.S" |
35 | #else | 35 | #else |
36 | #error Only ETRAXFS and ARTPEC-3 supported! | 36 | #error Only ETRAXFS and ARTPEC-3 supported! |
37 | #endif | 37 | #endif |
@@ -137,9 +137,9 @@ _boot_source: | |||
137 | .dword 0 | 137 | .dword 0 |
138 | 138 | ||
139 | #if defined CONFIG_ETRAXFS | 139 | #if defined CONFIG_ETRAXFS |
140 | #include "../../mach-fs/hw_settings.S" | 140 | #include "../../arch-v32/mach-fs/hw_settings.S" |
141 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | 141 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 |
142 | #include "../../mach-a3/hw_settings.S" | 142 | #include "../../arch-v32/mach-a3/hw_settings.S" |
143 | #else | 143 | #else |
144 | #error Only ETRAXFS and ARTPEC-3 supported! | 144 | #error Only ETRAXFS and ARTPEC-3 supported! |
145 | #endif | 145 | #endif |
diff --git a/arch/cris/arch-v32/boot/compressed/misc.c b/arch/cris/boot/compressed/misc.c index 3595e16e82bc..47bc190ba6d4 100644 --- a/arch/cris/arch-v32/boot/compressed/misc.c +++ b/arch/cris/boot/compressed/misc.c | |||
@@ -18,8 +18,9 @@ | |||
18 | 18 | ||
19 | #define KERNEL_LOAD_ADR 0x40004000 | 19 | #define KERNEL_LOAD_ADR 0x40004000 |
20 | 20 | ||
21 | |||
22 | #include <linux/types.h> | 21 | #include <linux/types.h> |
22 | |||
23 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
23 | #include <hwregs/reg_rdwr.h> | 24 | #include <hwregs/reg_rdwr.h> |
24 | #include <hwregs/reg_map.h> | 25 | #include <hwregs/reg_map.h> |
25 | #include <hwregs/ser_defs.h> | 26 | #include <hwregs/ser_defs.h> |
@@ -27,6 +28,9 @@ | |||
27 | #ifdef CONFIG_CRIS_MACH_ARTPEC3 | 28 | #ifdef CONFIG_CRIS_MACH_ARTPEC3 |
28 | #include <hwregs/clkgen_defs.h> | 29 | #include <hwregs/clkgen_defs.h> |
29 | #endif | 30 | #endif |
31 | #else | ||
32 | #include <arch/svinto.h> | ||
33 | #endif | ||
30 | 34 | ||
31 | /* | 35 | /* |
32 | * gzip declarations | 36 | * gzip declarations |
@@ -35,12 +39,10 @@ | |||
35 | #define OF(args) args | 39 | #define OF(args) args |
36 | #define STATIC static | 40 | #define STATIC static |
37 | 41 | ||
38 | void* memset(void* s, int c, size_t n); | 42 | void *memset(void *s, int c, size_t n); |
39 | void* memcpy(void* __dest, __const void* __src, | 43 | void *memcpy(void *__dest, __const void *__src, size_t __n); |
40 | size_t __n); | ||
41 | |||
42 | #define memzero(s, n) memset ((s), 0, (n)) | ||
43 | 44 | ||
45 | #define memzero(s, n) memset((s), 0, (n)) | ||
44 | 46 | ||
45 | typedef unsigned char uch; | 47 | typedef unsigned char uch; |
46 | typedef unsigned short ush; | 48 | typedef unsigned short ush; |
@@ -68,27 +70,43 @@ static unsigned outcnt = 0; /* bytes in output buffer */ | |||
68 | #define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */ | 70 | #define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */ |
69 | #define RESERVED 0xC0 /* bit 6,7: reserved */ | 71 | #define RESERVED 0xC0 /* bit 6,7: reserved */ |
70 | 72 | ||
71 | #define get_byte() inbuf[inptr++] | 73 | #define get_byte() (inbuf[inptr++]) |
72 | 74 | ||
73 | /* Diagnostic functions */ | 75 | /* Diagnostic functions */ |
74 | #ifdef DEBUG | 76 | #ifdef DEBUG |
75 | # define Assert(cond,msg) {if(!(cond)) error(msg);} | 77 | # define Assert(cond, msg) do { \ |
78 | if (!(cond)) \ | ||
79 | error(msg); \ | ||
80 | } while (0) | ||
76 | # define Trace(x) fprintf x | 81 | # define Trace(x) fprintf x |
77 | # define Tracev(x) {if (verbose) fprintf x ;} | 82 | # define Tracev(x) do { \ |
78 | # define Tracevv(x) {if (verbose>1) fprintf x ;} | 83 | if (verbose) \ |
79 | # define Tracec(c,x) {if (verbose && (c)) fprintf x ;} | 84 | fprintf x; \ |
80 | # define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;} | 85 | } while (0) |
86 | # define Tracevv(x) do { \ | ||
87 | if (verbose > 1) \ | ||
88 | fprintf x; \ | ||
89 | } while (0) | ||
90 | # define Tracec(c, x) do { \ | ||
91 | if (verbose && (c)) \ | ||
92 | fprintf x; \ | ||
93 | } while (0) | ||
94 | # define Tracecv(c, x) do { \ | ||
95 | if (verbose > 1 && (c)) \ | ||
96 | fprintf x; \ | ||
97 | } while (0) | ||
81 | #else | 98 | #else |
82 | # define Assert(cond,msg) | 99 | # define Assert(cond, msg) |
83 | # define Trace(x) | 100 | # define Trace(x) |
84 | # define Tracev(x) | 101 | # define Tracev(x) |
85 | # define Tracevv(x) | 102 | # define Tracevv(x) |
86 | # define Tracec(c,x) | 103 | # define Tracec(c, x) |
87 | # define Tracecv(c,x) | 104 | # define Tracecv(c, x) |
88 | #endif | 105 | #endif |
89 | 106 | ||
90 | static void flush_window(void); | 107 | static void flush_window(void); |
91 | static void error(char *m); | 108 | static void error(char *m); |
109 | static void puts(const char *); | ||
92 | 110 | ||
93 | extern char *input_data; /* lives in head.S */ | 111 | extern char *input_data; /* lives in head.S */ |
94 | 112 | ||
@@ -96,10 +114,6 @@ static long bytes_out; | |||
96 | static uch *output_data; | 114 | static uch *output_data; |
97 | static unsigned long output_ptr; | 115 | static unsigned long output_ptr; |
98 | 116 | ||
99 | static void error(char *m); | ||
100 | |||
101 | static void puts(const char *); | ||
102 | |||
103 | /* the "heap" is put directly after the BSS ends, at end */ | 117 | /* the "heap" is put directly after the BSS ends, at end */ |
104 | 118 | ||
105 | extern int _end; | 119 | extern int _end; |
@@ -110,8 +124,8 @@ static long free_mem_end_ptr; | |||
110 | 124 | ||
111 | /* decompressor info and error messages to serial console */ | 125 | /* decompressor info and error messages to serial console */ |
112 | 126 | ||
113 | static inline void | 127 | #ifdef CONFIG_ETRAX_ARCH_V32 |
114 | serout(const char *s, reg_scope_instances regi_ser) | 128 | static inline void serout(const char *s, reg_scope_instances regi_ser) |
115 | { | 129 | { |
116 | reg_ser_rs_stat_din rs; | 130 | reg_ser_rs_stat_din rs; |
117 | reg_ser_rw_dout dout = {.data = *s}; | 131 | reg_ser_rw_dout dout = {.data = *s}; |
@@ -123,23 +137,47 @@ serout(const char *s, reg_scope_instances regi_ser) | |||
123 | 137 | ||
124 | REG_WR(ser, regi_ser, rw_dout, dout); | 138 | REG_WR(ser, regi_ser, rw_dout, dout); |
125 | } | 139 | } |
140 | #endif | ||
126 | 141 | ||
127 | static void | 142 | static void puts(const char *s) |
128 | puts(const char *s) | ||
129 | { | 143 | { |
130 | #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL | 144 | #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL |
131 | while (*s) { | 145 | while (*s) { |
132 | #ifdef CONFIG_ETRAX_DEBUG_PORT0 | 146 | #ifdef CONFIG_ETRAX_DEBUG_PORT0 |
147 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
133 | serout(s, regi_ser0); | 148 | serout(s, regi_ser0); |
149 | #else | ||
150 | while (!(*R_SERIAL0_STATUS & (1 << 5))) | ||
151 | ; | ||
152 | *R_SERIAL0_TR_DATA = *s++; | ||
153 | #endif | ||
134 | #endif | 154 | #endif |
135 | #ifdef CONFIG_ETRAX_DEBUG_PORT1 | 155 | #ifdef CONFIG_ETRAX_DEBUG_PORT1 |
156 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
136 | serout(s, regi_ser1); | 157 | serout(s, regi_ser1); |
158 | #else | ||
159 | while (!(*R_SERIAL1_STATUS & (1 << 5))) | ||
160 | ; | ||
161 | *R_SERIAL1_TR_DATA = *s++; | ||
162 | #endif | ||
137 | #endif | 163 | #endif |
138 | #ifdef CONFIG_ETRAX_DEBUG_PORT2 | 164 | #ifdef CONFIG_ETRAX_DEBUG_PORT2 |
165 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
139 | serout(s, regi_ser2); | 166 | serout(s, regi_ser2); |
167 | #else | ||
168 | while (!(*R_SERIAL2_STATUS & (1 << 5))) | ||
169 | ; | ||
170 | *R_SERIAL2_TR_DATA = *s++; | ||
171 | #endif | ||
140 | #endif | 172 | #endif |
141 | #ifdef CONFIG_ETRAX_DEBUG_PORT3 | 173 | #ifdef CONFIG_ETRAX_DEBUG_PORT3 |
174 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
142 | serout(s, regi_ser3); | 175 | serout(s, regi_ser3); |
176 | #else | ||
177 | while (!(*R_SERIAL3_STATUS & (1 << 5))) | ||
178 | ; | ||
179 | *R_SERIAL3_TR_DATA = *s++; | ||
180 | #endif | ||
143 | #endif | 181 | #endif |
144 | *s++; | 182 | *s++; |
145 | } | 183 | } |
@@ -147,8 +185,7 @@ puts(const char *s) | |||
147 | #endif | 185 | #endif |
148 | } | 186 | } |
149 | 187 | ||
150 | void* | 188 | void *memset(void *s, int c, size_t n) |
151 | memset(void* s, int c, size_t n) | ||
152 | { | 189 | { |
153 | int i; | 190 | int i; |
154 | char *ss = (char*)s; | 191 | char *ss = (char*)s; |
@@ -158,14 +195,13 @@ memset(void* s, int c, size_t n) | |||
158 | return s; | 195 | return s; |
159 | } | 196 | } |
160 | 197 | ||
161 | void* | 198 | void *memcpy(void *__dest, __const void *__src, size_t __n) |
162 | memcpy(void* __dest, __const void* __src, | ||
163 | size_t __n) | ||
164 | { | 199 | { |
165 | int i; | 200 | int i; |
166 | char *d = (char *)__dest, *s = (char *)__src; | 201 | char *d = (char *)__dest, *s = (char *)__src; |
167 | 202 | ||
168 | for (i=0;i<__n;i++) d[i] = s[i]; | 203 | for (i = 0; i < __n; i++) |
204 | d[i] = s[i]; | ||
169 | 205 | ||
170 | return __dest; | 206 | return __dest; |
171 | } | 207 | } |
@@ -175,43 +211,42 @@ memcpy(void* __dest, __const void* __src, | |||
175 | * (Used for the decompressed data only.) | 211 | * (Used for the decompressed data only.) |
176 | */ | 212 | */ |
177 | 213 | ||
178 | static void | 214 | static void flush_window(void) |
179 | flush_window() | ||
180 | { | 215 | { |
181 | ulg c = crc; /* temporary variable */ | 216 | ulg c = crc; /* temporary variable */ |
182 | unsigned n; | 217 | unsigned n; |
183 | uch *in, *out, ch; | 218 | uch *in, *out, ch; |
184 | 219 | ||
185 | in = window; | 220 | in = window; |
186 | out = &output_data[output_ptr]; | 221 | out = &output_data[output_ptr]; |
187 | for (n = 0; n < outcnt; n++) { | 222 | for (n = 0; n < outcnt; n++) { |
188 | ch = *out++ = *in++; | 223 | ch = *out = *in; |
189 | c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8); | 224 | out++; |
190 | } | 225 | in++; |
191 | crc = c; | 226 | c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8); |
192 | bytes_out += (ulg)outcnt; | 227 | } |
193 | output_ptr += (ulg)outcnt; | 228 | crc = c; |
194 | outcnt = 0; | 229 | bytes_out += (ulg)outcnt; |
230 | output_ptr += (ulg)outcnt; | ||
231 | outcnt = 0; | ||
195 | } | 232 | } |
196 | 233 | ||
197 | static void | 234 | static void error(char *x) |
198 | error(char *x) | ||
199 | { | 235 | { |
200 | puts("\r\n\n"); | 236 | puts("\n\n"); |
201 | puts(x); | 237 | puts(x); |
202 | puts("\r\n\n -- System halted\n"); | 238 | puts("\n\n -- System halted\n"); |
203 | 239 | ||
204 | while(1); /* Halt */ | 240 | while(1); /* Halt */ |
205 | } | 241 | } |
206 | 242 | ||
207 | void | 243 | void setup_normal_output_buffer(void) |
208 | setup_normal_output_buffer(void) | ||
209 | { | 244 | { |
210 | output_data = (char *)KERNEL_LOAD_ADR; | 245 | output_data = (char *)KERNEL_LOAD_ADR; |
211 | } | 246 | } |
212 | 247 | ||
213 | static inline void | 248 | #ifdef CONFIG_ETRAX_ARCH_V32 |
214 | serial_setup(reg_scope_instances regi_ser) | 249 | static inline void serial_setup(reg_scope_instances regi_ser) |
215 | { | 250 | { |
216 | reg_ser_rw_xoff xoff; | 251 | reg_ser_rw_xoff xoff; |
217 | reg_ser_rw_tr_ctrl tr_ctrl; | 252 | reg_ser_rw_tr_ctrl tr_ctrl; |
@@ -252,12 +287,16 @@ serial_setup(reg_scope_instances regi_ser) | |||
252 | REG_WR(ser, regi_ser, rw_rec_ctrl, rec_ctrl); | 287 | REG_WR(ser, regi_ser, rw_rec_ctrl, rec_ctrl); |
253 | REG_WR(ser, regi_ser, rw_rec_baud_div, rec_baud); | 288 | REG_WR(ser, regi_ser, rw_rec_baud_div, rec_baud); |
254 | } | 289 | } |
290 | #endif | ||
255 | 291 | ||
256 | void | 292 | void decompress_kernel(void) |
257 | decompress_kernel(void) | ||
258 | { | 293 | { |
259 | char revision; | 294 | char revision; |
295 | char compile_rev; | ||
260 | 296 | ||
297 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
298 | /* Need at least a CRISv32 to run. */ | ||
299 | compile_rev = 32; | ||
261 | #if defined(CONFIG_ETRAX_DEBUG_PORT1) || \ | 300 | #if defined(CONFIG_ETRAX_DEBUG_PORT1) || \ |
262 | defined(CONFIG_ETRAX_DEBUG_PORT2) || \ | 301 | defined(CONFIG_ETRAX_DEBUG_PORT2) || \ |
263 | defined(CONFIG_ETRAX_DEBUG_PORT3) | 302 | defined(CONFIG_ETRAX_DEBUG_PORT3) |
@@ -277,6 +316,7 @@ decompress_kernel(void) | |||
277 | hwprot = REG_RD(pinmux, regi_pinmux, rw_hwprot); | 316 | hwprot = REG_RD(pinmux, regi_pinmux, rw_hwprot); |
278 | #endif | 317 | #endif |
279 | 318 | ||
319 | |||
280 | #ifdef CONFIG_ETRAX_DEBUG_PORT0 | 320 | #ifdef CONFIG_ETRAX_DEBUG_PORT0 |
281 | serial_setup(regi_ser0); | 321 | serial_setup(regi_ser0); |
282 | #endif | 322 | #endif |
@@ -300,19 +340,52 @@ decompress_kernel(void) | |||
300 | 340 | ||
301 | /* input_data is set in head.S */ | 341 | /* input_data is set in head.S */ |
302 | inbuf = input_data; | 342 | inbuf = input_data; |
343 | #else /* CRISv10 */ | ||
344 | /* Need at least a crisv10 to run. */ | ||
345 | compile_rev = 10; | ||
346 | |||
347 | /* input_data is set in head.S */ | ||
348 | inbuf = input_data; | ||
349 | |||
350 | #ifdef CONFIG_ETRAX_DEBUG_PORT0 | ||
351 | *R_SERIAL0_XOFF = 0; | ||
352 | *R_SERIAL0_BAUD = 0x99; | ||
353 | *R_SERIAL0_TR_CTRL = 0x40; | ||
354 | #endif | ||
355 | #ifdef CONFIG_ETRAX_DEBUG_PORT1 | ||
356 | *R_SERIAL1_XOFF = 0; | ||
357 | *R_SERIAL1_BAUD = 0x99; | ||
358 | *R_SERIAL1_TR_CTRL = 0x40; | ||
359 | #endif | ||
360 | #ifdef CONFIG_ETRAX_DEBUG_PORT2 | ||
361 | *R_GEN_CONFIG = 0x08; | ||
362 | *R_SERIAL2_XOFF = 0; | ||
363 | *R_SERIAL2_BAUD = 0x99; | ||
364 | *R_SERIAL2_TR_CTRL = 0x40; | ||
365 | #endif | ||
366 | #ifdef CONFIG_ETRAX_DEBUG_PORT3 | ||
367 | *R_GEN_CONFIG = 0x100; | ||
368 | *R_SERIAL3_XOFF = 0; | ||
369 | *R_SERIAL3_BAUD = 0x99; | ||
370 | *R_SERIAL3_TR_CTRL = 0x40; | ||
371 | #endif | ||
372 | #endif | ||
303 | 373 | ||
304 | setup_normal_output_buffer(); | 374 | setup_normal_output_buffer(); |
305 | 375 | ||
306 | makecrc(); | 376 | makecrc(); |
307 | 377 | ||
308 | __asm__ volatile ("move $vr,%0" : "=rm" (revision)); | 378 | __asm__ volatile ("move $vr,%0" : "=rm" (revision)); |
309 | if (revision < 32) | 379 | if (revision < compile_rev) { |
310 | { | 380 | #ifdef CONFIG_ETRAX_ARCH_V32 |
311 | puts("You need an ETRAX FS to run Linux 2.6/crisv32.\r\n"); | 381 | puts("You need an ETRAX FS to run Linux 2.6/crisv32\n"); |
382 | #else | ||
383 | puts("You need an ETRAX 100LX to run linux 2.6\n"); | ||
384 | #endif | ||
312 | while(1); | 385 | while(1); |
313 | } | 386 | } |
314 | 387 | ||
315 | puts("Uncompressing Linux...\r\n"); | 388 | puts("Uncompressing Linux...\n"); |
316 | gunzip(); | 389 | gunzip(); |
317 | puts("Done. Now booting the kernel.\r\n"); | 390 | puts("Done. Now booting the kernel\n"); |
318 | } | 391 | } |
diff --git a/arch/cris/arch-v10/boot/rescue/Makefile b/arch/cris/boot/rescue/Makefile index 82ab59b968e5..52bd0bd1dd22 100644 --- a/arch/cris/arch-v10/boot/rescue/Makefile +++ b/arch/cris/boot/rescue/Makefile | |||
@@ -2,16 +2,26 @@ | |||
2 | # Makefile for rescue (bootstrap) code | 2 | # Makefile for rescue (bootstrap) code |
3 | # | 3 | # |
4 | 4 | ||
5 | ccflags-y += -O2 $(LINUXINCLUDE) | 5 | # CC = gcc-cris -mlinux -march=v32 $(LINUXINCLUDE) |
6 | # ccflags-$(CONFIG_ETRAX_ARCH_V32) += -I$(srctree)/include/asm/arch/mach/ \ | ||
7 | # -I$(srctree)/include/asm/arch | ||
8 | # asflags-y += -I $(srctree)/include/asm/arch/mach/ -I $(srctree)/include/asm/arch | ||
9 | # LD = gcc-cris -mlinux -march=v32 -nostdlib | ||
10 | |||
6 | asflags-y += $(LINUXINCLUDE) | 11 | asflags-y += $(LINUXINCLUDE) |
7 | ldflags-y += -T $(srctree)/$(src)/rescue.lds | 12 | ccflags-y += -O2 $(LINUXINCLUDE) |
13 | arch-$(CONFIG_ETRAX_ARCH_V10) = v10 | ||
14 | arch-$(CONFIG_ETRAX_ARCH_V32) = v32 | ||
15 | |||
16 | ldflags-y += -T $(srctree)/$(src)/rescue_$(arch-y).lds | ||
8 | OBJCOPYFLAGS = -O binary --remove-section=.bss | 17 | OBJCOPYFLAGS = -O binary --remove-section=.bss |
9 | obj-$(CONFIG_ETRAX_AXISFLASHMAP) = head.o | 18 | obj-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o |
10 | OBJECT := $(obj)/head.o | 19 | obj-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o |
20 | OBJECTS := $(obj-y) | ||
11 | 21 | ||
12 | targets := rescue.o rescue.bin | 22 | targets := rescue.o rescue.bin |
13 | 23 | ||
14 | $(obj)/rescue.o: $(OBJECT) FORCE | 24 | $(obj)/rescue.o: $(OBJECTS) FORCE |
15 | $(call if_changed,ld) | 25 | $(call if_changed,ld) |
16 | 26 | ||
17 | $(obj)/rescue.bin: $(obj)/rescue.o FORCE | 27 | $(obj)/rescue.bin: $(obj)/rescue.o FORCE |
@@ -26,6 +36,7 @@ $(obj)/testrescue.bin: $(obj)/testrescue.o | |||
26 | dd if=testrescue_tmp.bin of=$(obj)/testrescue.bin bs=1 count=784 | 36 | dd if=testrescue_tmp.bin of=$(obj)/testrescue.bin bs=1 count=784 |
27 | rm tr.bin tmp2423 testrescue_tmp.bin | 37 | rm tr.bin tmp2423 testrescue_tmp.bin |
28 | 38 | ||
39 | |||
29 | $(obj)/kimagerescue.bin: $(obj)/kimagerescue.o | 40 | $(obj)/kimagerescue.bin: $(obj)/kimagerescue.o |
30 | $(OBJCOPY) $(OBJCOPYFLAGS) $(obj)/kimagerescue.o ktr.bin | 41 | $(OBJCOPY) $(OBJCOPYFLAGS) $(obj)/kimagerescue.o ktr.bin |
31 | # Pad it to 784 bytes, that's what the rescue loader expects | 42 | # Pad it to 784 bytes, that's what the rescue loader expects |
@@ -33,3 +44,4 @@ $(obj)/kimagerescue.bin: $(obj)/kimagerescue.o | |||
33 | cat ktr.bin tmp2423 >kimagerescue_tmp.bin | 44 | cat ktr.bin tmp2423 >kimagerescue_tmp.bin |
34 | dd if=kimagerescue_tmp.bin of=$(obj)/kimagerescue.bin bs=1 count=784 | 45 | dd if=kimagerescue_tmp.bin of=$(obj)/kimagerescue.bin bs=1 count=784 |
35 | rm ktr.bin tmp2423 kimagerescue_tmp.bin | 46 | rm ktr.bin tmp2423 kimagerescue_tmp.bin |
47 | |||
diff --git a/arch/cris/arch-v10/boot/rescue/head.S b/arch/cris/boot/rescue/head_v10.S index fb503d1eeea4..2fafe247a25b 100644 --- a/arch/cris/arch-v10/boot/rescue/head.S +++ b/arch/cris/boot/rescue/head_v10.S | |||
@@ -155,7 +155,7 @@ no_newjump: | |||
155 | #endif | 155 | #endif |
156 | 156 | ||
157 | ;; We need to setup the bus registers before we start using the DRAM | 157 | ;; We need to setup the bus registers before we start using the DRAM |
158 | #include "../../lib/dram_init.S" | 158 | #include "../../../arch-v10/lib/dram_init.S" |
159 | 159 | ||
160 | ;; we now should go through the checksum-table and check the listed | 160 | ;; we now should go through the checksum-table and check the listed |
161 | ;; partitions for errors. | 161 | ;; partitions for errors. |
diff --git a/arch/cris/arch-v32/boot/rescue/head.S b/arch/cris/boot/rescue/head_v32.S index 5f846b7700a3..5f846b7700a3 100644 --- a/arch/cris/arch-v32/boot/rescue/head.S +++ b/arch/cris/boot/rescue/head_v32.S | |||
diff --git a/arch/cris/arch-v10/boot/rescue/kimagerescue.S b/arch/cris/boot/rescue/kimagerescue.S index 6f7b3e61260b..6f7b3e61260b 100644 --- a/arch/cris/arch-v10/boot/rescue/kimagerescue.S +++ b/arch/cris/boot/rescue/kimagerescue.S | |||
diff --git a/arch/cris/arch-v10/boot/rescue/rescue.lds b/arch/cris/boot/rescue/rescue_v10.lds index 0b52a9490db6..0b52a9490db6 100644 --- a/arch/cris/arch-v10/boot/rescue/rescue.lds +++ b/arch/cris/boot/rescue/rescue_v10.lds | |||
diff --git a/arch/cris/arch-v32/boot/rescue/rescue.lds b/arch/cris/boot/rescue/rescue_v32.lds index 8ac646bc1a2b..8ac646bc1a2b 100644 --- a/arch/cris/arch-v32/boot/rescue/rescue.lds +++ b/arch/cris/boot/rescue/rescue_v32.lds | |||
diff --git a/arch/cris/arch-v10/boot/rescue/testrescue.S b/arch/cris/boot/rescue/testrescue.S index fc7ec674eca5..fc7ec674eca5 100644 --- a/arch/cris/arch-v10/boot/rescue/testrescue.S +++ b/arch/cris/boot/rescue/testrescue.S | |||
diff --git a/arch/cris/arch-v10/boot/tools/build.c b/arch/cris/boot/tools/build.c index c8adef364160..c8adef364160 100644 --- a/arch/cris/arch-v10/boot/tools/build.c +++ b/arch/cris/boot/tools/build.c | |||
diff --git a/arch/cris/include/asm/unistd.h b/arch/cris/include/asm/unistd.h index 235d076379d5..c17079388bb9 100644 --- a/arch/cris/include/asm/unistd.h +++ b/arch/cris/include/asm/unistd.h | |||
@@ -281,7 +281,7 @@ | |||
281 | #define __NR_mbind 274 | 281 | #define __NR_mbind 274 |
282 | #define __NR_get_mempolicy 275 | 282 | #define __NR_get_mempolicy 275 |
283 | #define __NR_set_mempolicy 276 | 283 | #define __NR_set_mempolicy 276 |
284 | #define __NR_mq_open 277 | 284 | #define __NR_mq_open 277 |
285 | #define __NR_mq_unlink (__NR_mq_open+1) | 285 | #define __NR_mq_unlink (__NR_mq_open+1) |
286 | #define __NR_mq_timedsend (__NR_mq_open+2) | 286 | #define __NR_mq_timedsend (__NR_mq_open+2) |
287 | #define __NR_mq_timedreceive (__NR_mq_open+3) | 287 | #define __NR_mq_timedreceive (__NR_mq_open+3) |
@@ -331,10 +331,18 @@ | |||
331 | #define __NR_fallocate 324 | 331 | #define __NR_fallocate 324 |
332 | #define __NR_timerfd_settime 325 | 332 | #define __NR_timerfd_settime 325 |
333 | #define __NR_timerfd_gettime 326 | 333 | #define __NR_timerfd_gettime 326 |
334 | #define __NR_signalfd4 327 | ||
335 | #define __NR_eventfd2 328 | ||
336 | #define __NR_epoll_create1 329 | ||
337 | #define __NR_dup3 330 | ||
338 | #define __NR_pipe2 331 | ||
339 | #define __NR_inotify_init1 332 | ||
340 | #define __NR_preadv 333 | ||
341 | #define __NR_pwritev 334 | ||
334 | 342 | ||
335 | #ifdef __KERNEL__ | 343 | #ifdef __KERNEL__ |
336 | 344 | ||
337 | #define NR_syscalls 327 | 345 | #define NR_syscalls 335 |
338 | 346 | ||
339 | #include <arch/unistd.h> | 347 | #include <arch/unistd.h> |
340 | 348 | ||
diff --git a/arch/h8300/include/asm/flat.h b/arch/h8300/include/asm/flat.h index 2a873508a9a1..bd12b31b90e6 100644 --- a/arch/h8300/include/asm/flat.h +++ b/arch/h8300/include/asm/flat.h | |||
@@ -5,7 +5,6 @@ | |||
5 | #ifndef __H8300_FLAT_H__ | 5 | #ifndef __H8300_FLAT_H__ |
6 | #define __H8300_FLAT_H__ | 6 | #define __H8300_FLAT_H__ |
7 | 7 | ||
8 | #define flat_stack_align(sp) /* nothing needed */ | ||
9 | #define flat_argvp_envp_on_stack() 1 | 8 | #define flat_argvp_envp_on_stack() 1 |
10 | #define flat_old_ram_flag(flags) 1 | 9 | #define flat_old_ram_flag(flags) 1 |
11 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) | 10 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) |
diff --git a/arch/m32r/include/asm/flat.h b/arch/m32r/include/asm/flat.h index d851cf0c4aa5..5d711c4688fb 100644 --- a/arch/m32r/include/asm/flat.h +++ b/arch/m32r/include/asm/flat.h | |||
@@ -12,7 +12,6 @@ | |||
12 | #ifndef __ASM_M32R_FLAT_H | 12 | #ifndef __ASM_M32R_FLAT_H |
13 | #define __ASM_M32R_FLAT_H | 13 | #define __ASM_M32R_FLAT_H |
14 | 14 | ||
15 | #define flat_stack_align(sp) (*sp += (*sp & 3 ? (4 - (*sp & 3)): 0)) | ||
16 | #define flat_argvp_envp_on_stack() 0 | 15 | #define flat_argvp_envp_on_stack() 0 |
17 | #define flat_old_ram_flag(flags) (flags) | 16 | #define flat_old_ram_flag(flags) (flags) |
18 | #define flat_set_persistent(relval, p) 0 | 17 | #define flat_set_persistent(relval, p) 0 |
diff --git a/arch/m68k/include/asm/flat.h b/arch/m68k/include/asm/flat.h index 814b5174a8e0..a0e290793978 100644 --- a/arch/m68k/include/asm/flat.h +++ b/arch/m68k/include/asm/flat.h | |||
@@ -5,7 +5,6 @@ | |||
5 | #ifndef __M68KNOMMU_FLAT_H__ | 5 | #ifndef __M68KNOMMU_FLAT_H__ |
6 | #define __M68KNOMMU_FLAT_H__ | 6 | #define __M68KNOMMU_FLAT_H__ |
7 | 7 | ||
8 | #define flat_stack_align(sp) /* nothing needed */ | ||
9 | #define flat_argvp_envp_on_stack() 1 | 8 | #define flat_argvp_envp_on_stack() 1 |
10 | #define flat_old_ram_flag(flags) (flags) | 9 | #define flat_old_ram_flag(flags) (flags) |
11 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) | 10 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) |
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig index beb7ecd72793..4ef6af0a8f31 100644 --- a/arch/microblaze/configs/nommu_defconfig +++ b/arch/microblaze/configs/nommu_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29 | 3 | # Linux kernel version: 2.6.30-rc5 |
4 | # Tue Mar 24 10:23:20 2009 | 4 | # Mon May 11 09:01:02 2009 |
5 | # | 5 | # |
6 | CONFIG_MICROBLAZE=y | 6 | CONFIG_MICROBLAZE=y |
7 | # CONFIG_SWAP is not set | 7 | # CONFIG_SWAP is not set |
@@ -32,6 +32,7 @@ CONFIG_LOCALVERSION_AUTO=y | |||
32 | CONFIG_SYSVIPC=y | 32 | CONFIG_SYSVIPC=y |
33 | CONFIG_SYSVIPC_SYSCTL=y | 33 | CONFIG_SYSVIPC_SYSCTL=y |
34 | CONFIG_POSIX_MQUEUE=y | 34 | CONFIG_POSIX_MQUEUE=y |
35 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
35 | CONFIG_BSD_PROCESS_ACCT=y | 36 | CONFIG_BSD_PROCESS_ACCT=y |
36 | CONFIG_BSD_PROCESS_ACCT_V3=y | 37 | CONFIG_BSD_PROCESS_ACCT_V3=y |
37 | # CONFIG_TASKSTATS is not set | 38 | # CONFIG_TASKSTATS is not set |
@@ -63,6 +64,7 @@ CONFIG_SYSCTL_SYSCALL=y | |||
63 | CONFIG_KALLSYMS=y | 64 | CONFIG_KALLSYMS=y |
64 | CONFIG_KALLSYMS_ALL=y | 65 | CONFIG_KALLSYMS_ALL=y |
65 | CONFIG_KALLSYMS_EXTRA_PASS=y | 66 | CONFIG_KALLSYMS_EXTRA_PASS=y |
67 | # CONFIG_STRIP_ASM_SYMS is not set | ||
66 | # CONFIG_HOTPLUG is not set | 68 | # CONFIG_HOTPLUG is not set |
67 | CONFIG_PRINTK=y | 69 | CONFIG_PRINTK=y |
68 | CONFIG_BUG=y | 70 | CONFIG_BUG=y |
@@ -80,6 +82,8 @@ CONFIG_SLAB=y | |||
80 | # CONFIG_SLUB is not set | 82 | # CONFIG_SLUB is not set |
81 | # CONFIG_SLOB is not set | 83 | # CONFIG_SLOB is not set |
82 | # CONFIG_PROFILING is not set | 84 | # CONFIG_PROFILING is not set |
85 | # CONFIG_MARKERS is not set | ||
86 | # CONFIG_SLOW_WORK is not set | ||
83 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 87 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
84 | CONFIG_SLABINFO=y | 88 | CONFIG_SLABINFO=y |
85 | CONFIG_RT_MUTEXES=y | 89 | CONFIG_RT_MUTEXES=y |
@@ -92,7 +96,6 @@ CONFIG_MODULE_UNLOAD=y | |||
92 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 96 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
93 | CONFIG_BLOCK=y | 97 | CONFIG_BLOCK=y |
94 | # CONFIG_LBD is not set | 98 | # CONFIG_LBD is not set |
95 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | # CONFIG_BLK_DEV_BSG is not set | 99 | # CONFIG_BLK_DEV_BSG is not set |
97 | # CONFIG_BLK_DEV_INTEGRITY is not set | 100 | # CONFIG_BLK_DEV_INTEGRITY is not set |
98 | 101 | ||
@@ -166,6 +169,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
166 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 169 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
167 | CONFIG_ZONE_DMA_FLAG=0 | 170 | CONFIG_ZONE_DMA_FLAG=0 |
168 | CONFIG_VIRT_TO_BUS=y | 171 | CONFIG_VIRT_TO_BUS=y |
172 | CONFIG_UNEVICTABLE_LRU=y | ||
173 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 | ||
169 | 174 | ||
170 | # | 175 | # |
171 | # Exectuable file formats | 176 | # Exectuable file formats |
@@ -180,7 +185,6 @@ CONFIG_NET=y | |||
180 | # | 185 | # |
181 | # Networking options | 186 | # Networking options |
182 | # | 187 | # |
183 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
184 | CONFIG_PACKET=y | 188 | CONFIG_PACKET=y |
185 | # CONFIG_PACKET_MMAP is not set | 189 | # CONFIG_PACKET_MMAP is not set |
186 | CONFIG_UNIX=y | 190 | CONFIG_UNIX=y |
@@ -232,6 +236,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
232 | # CONFIG_LAPB is not set | 236 | # CONFIG_LAPB is not set |
233 | # CONFIG_ECONET is not set | 237 | # CONFIG_ECONET is not set |
234 | # CONFIG_WAN_ROUTER is not set | 238 | # CONFIG_WAN_ROUTER is not set |
239 | # CONFIG_PHONET is not set | ||
235 | # CONFIG_NET_SCHED is not set | 240 | # CONFIG_NET_SCHED is not set |
236 | # CONFIG_DCB is not set | 241 | # CONFIG_DCB is not set |
237 | 242 | ||
@@ -244,7 +249,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
244 | # CONFIG_IRDA is not set | 249 | # CONFIG_IRDA is not set |
245 | # CONFIG_BT is not set | 250 | # CONFIG_BT is not set |
246 | # CONFIG_AF_RXRPC is not set | 251 | # CONFIG_AF_RXRPC is not set |
247 | # CONFIG_PHONET is not set | ||
248 | CONFIG_WIRELESS=y | 252 | CONFIG_WIRELESS=y |
249 | # CONFIG_CFG80211 is not set | 253 | # CONFIG_CFG80211 is not set |
250 | CONFIG_WIRELESS_OLD_REGULATORY=y | 254 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -379,6 +383,7 @@ CONFIG_MISC_DEVICES=y | |||
379 | # CONFIG_ATA is not set | 383 | # CONFIG_ATA is not set |
380 | # CONFIG_MD is not set | 384 | # CONFIG_MD is not set |
381 | CONFIG_NETDEVICES=y | 385 | CONFIG_NETDEVICES=y |
386 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
382 | # CONFIG_DUMMY is not set | 387 | # CONFIG_DUMMY is not set |
383 | # CONFIG_BONDING is not set | 388 | # CONFIG_BONDING is not set |
384 | # CONFIG_MACVLAN is not set | 389 | # CONFIG_MACVLAN is not set |
@@ -388,6 +393,7 @@ CONFIG_NETDEVICES=y | |||
388 | # CONFIG_PHYLIB is not set | 393 | # CONFIG_PHYLIB is not set |
389 | CONFIG_NET_ETHERNET=y | 394 | CONFIG_NET_ETHERNET=y |
390 | # CONFIG_MII is not set | 395 | # CONFIG_MII is not set |
396 | # CONFIG_ETHOC is not set | ||
391 | # CONFIG_DNET is not set | 397 | # CONFIG_DNET is not set |
392 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 398 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
393 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 399 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
@@ -405,7 +411,6 @@ CONFIG_NETDEV_10000=y | |||
405 | # | 411 | # |
406 | # CONFIG_WLAN_PRE80211 is not set | 412 | # CONFIG_WLAN_PRE80211 is not set |
407 | # CONFIG_WLAN_80211 is not set | 413 | # CONFIG_WLAN_80211 is not set |
408 | # CONFIG_IWLWIFI_LEDS is not set | ||
409 | 414 | ||
410 | # | 415 | # |
411 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 416 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -455,6 +460,7 @@ CONFIG_LEGACY_PTYS=y | |||
455 | CONFIG_LEGACY_PTY_COUNT=256 | 460 | CONFIG_LEGACY_PTY_COUNT=256 |
456 | # CONFIG_IPMI_HANDLER is not set | 461 | # CONFIG_IPMI_HANDLER is not set |
457 | CONFIG_HW_RANDOM=y | 462 | CONFIG_HW_RANDOM=y |
463 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
458 | # CONFIG_RTC is not set | 464 | # CONFIG_RTC is not set |
459 | # CONFIG_GEN_RTC is not set | 465 | # CONFIG_GEN_RTC is not set |
460 | # CONFIG_R3964 is not set | 466 | # CONFIG_R3964 is not set |
@@ -525,7 +531,7 @@ CONFIG_USB_SUPPORT=y | |||
525 | # | 531 | # |
526 | 532 | ||
527 | # | 533 | # |
528 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 534 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
529 | # | 535 | # |
530 | # CONFIG_USB_GADGET is not set | 536 | # CONFIG_USB_GADGET is not set |
531 | 537 | ||
@@ -538,6 +544,7 @@ CONFIG_USB_SUPPORT=y | |||
538 | # CONFIG_ACCESSIBILITY is not set | 544 | # CONFIG_ACCESSIBILITY is not set |
539 | # CONFIG_RTC_CLASS is not set | 545 | # CONFIG_RTC_CLASS is not set |
540 | # CONFIG_DMADEVICES is not set | 546 | # CONFIG_DMADEVICES is not set |
547 | # CONFIG_AUXDISPLAY is not set | ||
541 | # CONFIG_UIO is not set | 548 | # CONFIG_UIO is not set |
542 | # CONFIG_STAGING is not set | 549 | # CONFIG_STAGING is not set |
543 | 550 | ||
@@ -563,6 +570,11 @@ CONFIG_FILE_LOCKING=y | |||
563 | # CONFIG_FUSE_FS is not set | 570 | # CONFIG_FUSE_FS is not set |
564 | 571 | ||
565 | # | 572 | # |
573 | # Caches | ||
574 | # | ||
575 | # CONFIG_FSCACHE is not set | ||
576 | |||
577 | # | ||
566 | # CD-ROM/DVD Filesystems | 578 | # CD-ROM/DVD Filesystems |
567 | # | 579 | # |
568 | # CONFIG_ISO9660_FS is not set | 580 | # CONFIG_ISO9660_FS is not set |
@@ -601,8 +613,13 @@ CONFIG_CRAMFS=y | |||
601 | # CONFIG_HPFS_FS is not set | 613 | # CONFIG_HPFS_FS is not set |
602 | # CONFIG_QNX4FS_FS is not set | 614 | # CONFIG_QNX4FS_FS is not set |
603 | CONFIG_ROMFS_FS=y | 615 | CONFIG_ROMFS_FS=y |
616 | CONFIG_ROMFS_BACKED_BY_BLOCK=y | ||
617 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
618 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | ||
619 | CONFIG_ROMFS_ON_BLOCK=y | ||
604 | # CONFIG_SYSV_FS is not set | 620 | # CONFIG_SYSV_FS is not set |
605 | # CONFIG_UFS_FS is not set | 621 | # CONFIG_UFS_FS is not set |
622 | # CONFIG_NILFS2_FS is not set | ||
606 | CONFIG_NETWORK_FILESYSTEMS=y | 623 | CONFIG_NETWORK_FILESYSTEMS=y |
607 | CONFIG_NFS_FS=y | 624 | CONFIG_NFS_FS=y |
608 | CONFIG_NFS_V3=y | 625 | CONFIG_NFS_V3=y |
@@ -614,7 +631,6 @@ CONFIG_LOCKD_V4=y | |||
614 | CONFIG_NFS_ACL_SUPPORT=y | 631 | CONFIG_NFS_ACL_SUPPORT=y |
615 | CONFIG_NFS_COMMON=y | 632 | CONFIG_NFS_COMMON=y |
616 | CONFIG_SUNRPC=y | 633 | CONFIG_SUNRPC=y |
617 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
618 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 634 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
619 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 635 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
620 | # CONFIG_SMB_FS is not set | 636 | # CONFIG_SMB_FS is not set |
@@ -647,6 +663,9 @@ CONFIG_DEBUG_SHIRQ=y | |||
647 | CONFIG_DETECT_SOFTLOCKUP=y | 663 | CONFIG_DETECT_SOFTLOCKUP=y |
648 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y | 664 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y |
649 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 | 665 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 |
666 | CONFIG_DETECT_HUNG_TASK=y | ||
667 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
668 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
650 | CONFIG_SCHED_DEBUG=y | 669 | CONFIG_SCHED_DEBUG=y |
651 | CONFIG_SCHEDSTATS=y | 670 | CONFIG_SCHEDSTATS=y |
652 | CONFIG_TIMER_STATS=y | 671 | CONFIG_TIMER_STATS=y |
@@ -678,15 +697,8 @@ CONFIG_DEBUG_SG=y | |||
678 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 697 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
679 | # CONFIG_FAULT_INJECTION is not set | 698 | # CONFIG_FAULT_INJECTION is not set |
680 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 699 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
681 | 700 | # CONFIG_PAGE_POISONING is not set | |
682 | # | 701 | # CONFIG_DYNAMIC_DEBUG is not set |
683 | # Tracers | ||
684 | # | ||
685 | # CONFIG_SCHED_TRACER is not set | ||
686 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
687 | # CONFIG_BOOT_TRACER is not set | ||
688 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
689 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
690 | # CONFIG_SAMPLES is not set | 702 | # CONFIG_SAMPLES is not set |
691 | CONFIG_EARLY_PRINTK=y | 703 | CONFIG_EARLY_PRINTK=y |
692 | CONFIG_HEART_BEAT=y | 704 | CONFIG_HEART_BEAT=y |
@@ -777,6 +789,7 @@ CONFIG_CRYPTO=y | |||
777 | # Compression | 789 | # Compression |
778 | # | 790 | # |
779 | # CONFIG_CRYPTO_DEFLATE is not set | 791 | # CONFIG_CRYPTO_DEFLATE is not set |
792 | # CONFIG_CRYPTO_ZLIB is not set | ||
780 | # CONFIG_CRYPTO_LZO is not set | 793 | # CONFIG_CRYPTO_LZO is not set |
781 | 794 | ||
782 | # | 795 | # |
@@ -784,6 +797,7 @@ CONFIG_CRYPTO=y | |||
784 | # | 797 | # |
785 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 798 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
786 | CONFIG_CRYPTO_HW=y | 799 | CONFIG_CRYPTO_HW=y |
800 | # CONFIG_BINARY_PRINTF is not set | ||
787 | 801 | ||
788 | # | 802 | # |
789 | # Library routines | 803 | # Library routines |
@@ -797,8 +811,8 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
797 | # CONFIG_CRC7 is not set | 811 | # CONFIG_CRC7 is not set |
798 | # CONFIG_LIBCRC32C is not set | 812 | # CONFIG_LIBCRC32C is not set |
799 | CONFIG_ZLIB_INFLATE=y | 813 | CONFIG_ZLIB_INFLATE=y |
800 | CONFIG_PLIST=y | ||
801 | CONFIG_HAS_IOMEM=y | 814 | CONFIG_HAS_IOMEM=y |
802 | CONFIG_HAS_IOPORT=y | 815 | CONFIG_HAS_IOPORT=y |
803 | CONFIG_HAS_DMA=y | 816 | CONFIG_HAS_DMA=y |
804 | CONFIG_HAVE_LMB=y | 817 | CONFIG_HAVE_LMB=y |
818 | CONFIG_NLATTR=y | ||
diff --git a/arch/microblaze/kernel/intc.c b/arch/microblaze/kernel/intc.c index a69d3e3c2fd4..b15605299a57 100644 --- a/arch/microblaze/kernel/intc.c +++ b/arch/microblaze/kernel/intc.c | |||
@@ -137,8 +137,8 @@ void __init init_IRQ(void) | |||
137 | 137 | ||
138 | intr_type = | 138 | intr_type = |
139 | *(int *) of_get_property(intc, "xlnx,kind-of-intr", NULL); | 139 | *(int *) of_get_property(intc, "xlnx,kind-of-intr", NULL); |
140 | if (intr_type >= (1 << nr_irq)) | 140 | if (intr_type >= (1 << (nr_irq + 1))) |
141 | printk(KERN_INFO " ERROR: Mishmash in king-of-intr param\n"); | 141 | printk(KERN_INFO " ERROR: Mismatch in kind-of-intr param\n"); |
142 | 142 | ||
143 | #ifdef CONFIG_SELFMOD_INTC | 143 | #ifdef CONFIG_SELFMOD_INTC |
144 | selfmod_function((int *) arr_func, intc_baseaddr); | 144 | selfmod_function((int *) arr_func, intc_baseaddr); |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 998e5db8cc0f..09b1287a92ce 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -1411,13 +1411,12 @@ config PAGE_SIZE_4KB | |||
1411 | 1411 | ||
1412 | config PAGE_SIZE_8KB | 1412 | config PAGE_SIZE_8KB |
1413 | bool "8kB" | 1413 | bool "8kB" |
1414 | depends on EXPERIMENTAL && CPU_R8000 | 1414 | depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON |
1415 | help | 1415 | help |
1416 | Using 8kB page size will result in higher performance kernel at | 1416 | Using 8kB page size will result in higher performance kernel at |
1417 | the price of higher memory consumption. This option is available | 1417 | the price of higher memory consumption. This option is available |
1418 | only on the R8000 processor. Not that at the time of this writing | 1418 | only on R8000 and cnMIPS processors. Note that you will need a |
1419 | this option is still high experimental; there are also issues with | 1419 | suitable Linux distribution to support this. |
1420 | compatibility of user applications. | ||
1421 | 1420 | ||
1422 | config PAGE_SIZE_16KB | 1421 | config PAGE_SIZE_16KB |
1423 | bool "16kB" | 1422 | bool "16kB" |
@@ -1428,6 +1427,15 @@ config PAGE_SIZE_16KB | |||
1428 | all non-R3000 family processors. Note that you will need a suitable | 1427 | all non-R3000 family processors. Note that you will need a suitable |
1429 | Linux distribution to support this. | 1428 | Linux distribution to support this. |
1430 | 1429 | ||
1430 | config PAGE_SIZE_32KB | ||
1431 | bool "32kB" | ||
1432 | depends on CPU_CAVIUM_OCTEON | ||
1433 | help | ||
1434 | Using 32kB page size will result in higher performance kernel at | ||
1435 | the price of higher memory consumption. This option is available | ||
1436 | only on cnMIPS cores. Note that you will need a suitable Linux | ||
1437 | distribution to support this. | ||
1438 | |||
1431 | config PAGE_SIZE_64KB | 1439 | config PAGE_SIZE_64KB |
1432 | bool "64kB" | 1440 | bool "64kB" |
1433 | depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX | 1441 | depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX |
@@ -1958,10 +1966,6 @@ config SECCOMP | |||
1958 | 1966 | ||
1959 | endmenu | 1967 | endmenu |
1960 | 1968 | ||
1961 | config RWSEM_GENERIC_SPINLOCK | ||
1962 | bool | ||
1963 | default y | ||
1964 | |||
1965 | config LOCKDEP_SUPPORT | 1969 | config LOCKDEP_SUPPORT |
1966 | bool | 1970 | bool |
1967 | default y | 1971 | default y |
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 8d544c7c9fe9..c4cae9e6b802 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
@@ -14,8 +14,6 @@ | |||
14 | 14 | ||
15 | KBUILD_DEFCONFIG := ip22_defconfig | 15 | KBUILD_DEFCONFIG := ip22_defconfig |
16 | 16 | ||
17 | cflags-y := -ffunction-sections | ||
18 | |||
19 | # | 17 | # |
20 | # Select the object file format to substitute into the linker script. | 18 | # Select the object file format to substitute into the linker script. |
21 | # | 19 | # |
@@ -50,6 +48,9 @@ ifneq ($(SUBARCH),$(ARCH)) | |||
50 | endif | 48 | endif |
51 | endif | 49 | endif |
52 | 50 | ||
51 | cflags-y := -ffunction-sections | ||
52 | cflags-y += $(call cc-option, -mno-check-zero-division) | ||
53 | |||
53 | ifdef CONFIG_32BIT | 54 | ifdef CONFIG_32BIT |
54 | ld-emul = $(32bit-emul) | 55 | ld-emul = $(32bit-emul) |
55 | vmlinux-32 = vmlinux | 56 | vmlinux-32 = vmlinux |
@@ -472,12 +473,12 @@ endif | |||
472 | # Simplified: what IP22 does at 128MB+ in ksegN, IP28 does at 512MB+ in xkphys | 473 | # Simplified: what IP22 does at 128MB+ in ksegN, IP28 does at 512MB+ in xkphys |
473 | # | 474 | # |
474 | ifdef CONFIG_SGI_IP28 | 475 | ifdef CONFIG_SGI_IP28 |
475 | ifeq ($(call cc-option-yn,-mr10k-cache-barrier=1), n) | 476 | ifeq ($(call cc-option-yn,-mr10k-cache-barrier=store), n) |
476 | $(error gcc doesn't support needed option -mr10k-cache-barrier=1) | 477 | $(error gcc doesn't support needed option -mr10k-cache-barrier=store) |
477 | endif | 478 | endif |
478 | endif | 479 | endif |
479 | core-$(CONFIG_SGI_IP28) += arch/mips/sgi-ip22/ | 480 | core-$(CONFIG_SGI_IP28) += arch/mips/sgi-ip22/ |
480 | cflags-$(CONFIG_SGI_IP28) += -mr10k-cache-barrier=1 -I$(srctree)/arch/mips/include/asm/mach-ip28 | 481 | cflags-$(CONFIG_SGI_IP28) += -mr10k-cache-barrier=store -I$(srctree)/arch/mips/include/asm/mach-ip28 |
481 | load-$(CONFIG_SGI_IP28) += 0xa800000020004000 | 482 | load-$(CONFIG_SGI_IP28) += 0xa800000020004000 |
482 | 483 | ||
483 | # | 484 | # |
diff --git a/arch/mips/alchemy/common/time.c b/arch/mips/alchemy/common/time.c index f58d4ffb8945..33fbae79af5e 100644 --- a/arch/mips/alchemy/common/time.c +++ b/arch/mips/alchemy/common/time.c | |||
@@ -44,7 +44,7 @@ | |||
44 | 44 | ||
45 | extern int allow_au1k_wait; /* default off for CP0 Counter */ | 45 | extern int allow_au1k_wait; /* default off for CP0 Counter */ |
46 | 46 | ||
47 | static cycle_t au1x_counter1_read(void) | 47 | static cycle_t au1x_counter1_read(struct clocksource *cs) |
48 | { | 48 | { |
49 | return au_readl(SYS_RTCREAD); | 49 | return au_readl(SYS_RTCREAD); |
50 | } | 50 | } |
diff --git a/arch/mips/cavium-octeon/csrc-octeon.c b/arch/mips/cavium-octeon/csrc-octeon.c index 70fd92c31657..96110f217dcd 100644 --- a/arch/mips/cavium-octeon/csrc-octeon.c +++ b/arch/mips/cavium-octeon/csrc-octeon.c | |||
@@ -38,7 +38,7 @@ void octeon_init_cvmcount(void) | |||
38 | local_irq_restore(flags); | 38 | local_irq_restore(flags); |
39 | } | 39 | } |
40 | 40 | ||
41 | static cycle_t octeon_cvmcount_read(void) | 41 | static cycle_t octeon_cvmcount_read(struct clocksource *cs) |
42 | { | 42 | { |
43 | return read_c0_cvmcount(); | 43 | return read_c0_cvmcount(); |
44 | } | 44 | } |
diff --git a/arch/mips/include/asm/bitops.h b/arch/mips/include/asm/bitops.h index bac4a960b24c..b1e9e97a9c78 100644 --- a/arch/mips/include/asm/bitops.h +++ b/arch/mips/include/asm/bitops.h | |||
@@ -567,7 +567,7 @@ static inline unsigned long __fls(unsigned long word) | |||
567 | int num; | 567 | int num; |
568 | 568 | ||
569 | if (BITS_PER_LONG == 32 && | 569 | if (BITS_PER_LONG == 32 && |
570 | __builtin_constant_p(cpu_has_mips_r) && cpu_has_mips_r) { | 570 | __builtin_constant_p(cpu_has_clo_clz) && cpu_has_clo_clz) { |
571 | __asm__( | 571 | __asm__( |
572 | " .set push \n" | 572 | " .set push \n" |
573 | " .set mips32 \n" | 573 | " .set mips32 \n" |
@@ -644,7 +644,7 @@ static inline int fls(int x) | |||
644 | { | 644 | { |
645 | int r; | 645 | int r; |
646 | 646 | ||
647 | if (__builtin_constant_p(cpu_has_mips_r) && cpu_has_mips_r) { | 647 | if (__builtin_constant_p(cpu_has_clo_clz) && cpu_has_clo_clz) { |
648 | __asm__("clz %0, %1" : "=r" (x) : "r" (x)); | 648 | __asm__("clz %0, %1" : "=r" (x) : "r" (x)); |
649 | 649 | ||
650 | return 32 - x; | 650 | return 32 - x; |
diff --git a/arch/mips/include/asm/checksum.h b/arch/mips/include/asm/checksum.h index 290485ac5407..f2f7c6c264da 100644 --- a/arch/mips/include/asm/checksum.h +++ b/arch/mips/include/asm/checksum.h | |||
@@ -40,7 +40,7 @@ static inline | |||
40 | __wsum csum_partial_copy_from_user(const void __user *src, void *dst, int len, | 40 | __wsum csum_partial_copy_from_user(const void __user *src, void *dst, int len, |
41 | __wsum sum, int *err_ptr) | 41 | __wsum sum, int *err_ptr) |
42 | { | 42 | { |
43 | might_sleep(); | 43 | might_fault(); |
44 | return __csum_partial_copy_user((__force void *)src, dst, | 44 | return __csum_partial_copy_user((__force void *)src, dst, |
45 | len, sum, err_ptr); | 45 | len, sum, err_ptr); |
46 | } | 46 | } |
@@ -53,7 +53,7 @@ static inline | |||
53 | __wsum csum_and_copy_to_user(const void *src, void __user *dst, int len, | 53 | __wsum csum_and_copy_to_user(const void *src, void __user *dst, int len, |
54 | __wsum sum, int *err_ptr) | 54 | __wsum sum, int *err_ptr) |
55 | { | 55 | { |
56 | might_sleep(); | 56 | might_fault(); |
57 | if (access_ok(VERIFY_WRITE, dst, len)) | 57 | if (access_ok(VERIFY_WRITE, dst, len)) |
58 | return __csum_partial_copy_user(src, (__force void *)dst, | 58 | return __csum_partial_copy_user(src, (__force void *)dst, |
59 | len, sum, err_ptr); | 59 | len, sum, err_ptr); |
diff --git a/arch/mips/include/asm/compat.h b/arch/mips/include/asm/compat.h index 6c5b40905dd6..f58aed354bfd 100644 --- a/arch/mips/include/asm/compat.h +++ b/arch/mips/include/asm/compat.h | |||
@@ -3,7 +3,6 @@ | |||
3 | /* | 3 | /* |
4 | * Architecture specific compatibility types | 4 | * Architecture specific compatibility types |
5 | */ | 5 | */ |
6 | #include <linux/seccomp.h> | ||
7 | #include <linux/thread_info.h> | 6 | #include <linux/thread_info.h> |
8 | #include <linux/types.h> | 7 | #include <linux/types.h> |
9 | #include <asm/page.h> | 8 | #include <asm/page.h> |
diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h index a0d14f85b781..c0047f861337 100644 --- a/arch/mips/include/asm/cpu-features.h +++ b/arch/mips/include/asm/cpu-features.h | |||
@@ -147,6 +147,15 @@ | |||
147 | #define cpu_has_mips_r (cpu_has_mips32r1 | cpu_has_mips32r2 | \ | 147 | #define cpu_has_mips_r (cpu_has_mips32r1 | cpu_has_mips32r2 | \ |
148 | cpu_has_mips64r1 | cpu_has_mips64r2) | 148 | cpu_has_mips64r1 | cpu_has_mips64r2) |
149 | 149 | ||
150 | /* | ||
151 | * MIPS32, MIPS64, VR5500, IDT32332, IDT32334 and maybe a few other | ||
152 | * pre-MIPS32/MIPS53 processors have CLO, CLZ. For 64-bit kernels | ||
153 | * cpu_has_clo_clz also indicates the availability of DCLO and DCLZ. | ||
154 | */ | ||
155 | # ifndef cpu_has_clo_clz | ||
156 | # define cpu_has_clo_clz cpu_has_mips_r | ||
157 | # endif | ||
158 | |||
150 | #ifndef cpu_has_dsp | 159 | #ifndef cpu_has_dsp |
151 | #define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP) | 160 | #define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP) |
152 | #endif | 161 | #endif |
diff --git a/arch/mips/include/asm/div64.h b/arch/mips/include/asm/div64.h index d1d699105c11..dc5ea5736440 100644 --- a/arch/mips/include/asm/div64.h +++ b/arch/mips/include/asm/div64.h | |||
@@ -6,105 +6,63 @@ | |||
6 | * License. See the file "COPYING" in the main directory of this archive | 6 | * License. See the file "COPYING" in the main directory of this archive |
7 | * for more details. | 7 | * for more details. |
8 | */ | 8 | */ |
9 | #ifndef _ASM_DIV64_H | 9 | #ifndef __ASM_DIV64_H |
10 | #define _ASM_DIV64_H | 10 | #define __ASM_DIV64_H |
11 | 11 | ||
12 | #include <linux/types.h> | 12 | #include <asm-generic/div64.h> |
13 | 13 | ||
14 | #if (_MIPS_SZLONG == 32) | 14 | #if BITS_PER_LONG == 64 |
15 | 15 | ||
16 | #include <asm/compiler.h> | 16 | #include <linux/types.h> |
17 | 17 | ||
18 | /* | 18 | /* |
19 | * No traps on overflows for any of these... | 19 | * No traps on overflows for any of these... |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #define do_div64_32(res, high, low, base) ({ \ | 22 | #define __div64_32(n, base) \ |
23 | unsigned long __quot32, __mod32; \ | 23 | ({ \ |
24 | unsigned long __cf, __tmp, __tmp2, __i; \ | 24 | unsigned long __cf, __tmp, __tmp2, __i; \ |
25 | \ | 25 | unsigned long __quot32, __mod32; \ |
26 | __asm__(".set push\n\t" \ | 26 | unsigned long __high, __low; \ |
27 | ".set noat\n\t" \ | 27 | unsigned long long __n; \ |
28 | ".set noreorder\n\t" \ | 28 | \ |
29 | "move %2, $0\n\t" \ | 29 | __high = *__n >> 32; \ |
30 | "move %3, $0\n\t" \ | 30 | __low = __n; \ |
31 | "b 1f\n\t" \ | 31 | __asm__( \ |
32 | " li %4, 0x21\n" \ | 32 | " .set push \n" \ |
33 | "0:\n\t" \ | 33 | " .set noat \n" \ |
34 | "sll $1, %0, 0x1\n\t" \ | 34 | " .set noreorder \n" \ |
35 | "srl %3, %0, 0x1f\n\t" \ | 35 | " move %2, $0 \n" \ |
36 | "or %0, $1, %5\n\t" \ | 36 | " move %3, $0 \n" \ |
37 | "sll %1, %1, 0x1\n\t" \ | 37 | " b 1f \n" \ |
38 | "sll %2, %2, 0x1\n" \ | 38 | " li %4, 0x21 \n" \ |
39 | "1:\n\t" \ | 39 | "0: \n" \ |
40 | "bnez %3, 2f\n\t" \ | 40 | " sll $1, %0, 0x1 \n" \ |
41 | " sltu %5, %0, %z6\n\t" \ | 41 | " srl %3, %0, 0x1f \n" \ |
42 | "bnez %5, 3f\n" \ | 42 | " or %0, $1, %5 \n" \ |
43 | "2:\n\t" \ | 43 | " sll %1, %1, 0x1 \n" \ |
44 | " addiu %4, %4, -1\n\t" \ | 44 | " sll %2, %2, 0x1 \n" \ |
45 | "subu %0, %0, %z6\n\t" \ | 45 | "1: \n" \ |
46 | "addiu %2, %2, 1\n" \ | 46 | " bnez %3, 2f \n" \ |
47 | "3:\n\t" \ | 47 | " sltu %5, %0, %z6 \n" \ |
48 | "bnez %4, 0b\n\t" \ | 48 | " bnez %5, 3f \n" \ |
49 | " srl %5, %1, 0x1f\n\t" \ | 49 | "2: \n" \ |
50 | ".set pop" \ | 50 | " addiu %4, %4, -1 \n" \ |
51 | : "=&r" (__mod32), "=&r" (__tmp), \ | 51 | " subu %0, %0, %z6 \n" \ |
52 | "=&r" (__quot32), "=&r" (__cf), \ | 52 | " addiu %2, %2, 1 \n" \ |
53 | "=&r" (__i), "=&r" (__tmp2) \ | 53 | "3: \n" \ |
54 | : "Jr" (base), "0" (high), "1" (low)); \ | 54 | " bnez %4, 0b\n\t" \ |
55 | \ | 55 | " srl %5, %1, 0x1f\n\t" \ |
56 | (res) = __quot32; \ | 56 | " .set pop" \ |
57 | __mod32; }) | 57 | : "=&r" (__mod32), "=&r" (__tmp), \ |
58 | 58 | "=&r" (__quot32), "=&r" (__cf), \ | |
59 | #define do_div(n, base) ({ \ | 59 | "=&r" (__i), "=&r" (__tmp2) \ |
60 | unsigned long long __quot; \ | 60 | : "Jr" (base), "0" (__high), "1" (__low)); \ |
61 | unsigned long __mod; \ | 61 | \ |
62 | unsigned long long __div; \ | 62 | (__n) = __quot32; \ |
63 | unsigned long __upper, __low, __high, __base; \ | 63 | __mod32; \ |
64 | \ | 64 | }) |
65 | __div = (n); \ | ||
66 | __base = (base); \ | ||
67 | \ | ||
68 | __high = __div >> 32; \ | ||
69 | __low = __div; \ | ||
70 | __upper = __high; \ | ||
71 | \ | ||
72 | if (__high) \ | ||
73 | __asm__("divu $0, %z2, %z3" \ | ||
74 | : "=h" (__upper), "=l" (__high) \ | ||
75 | : "Jr" (__high), "Jr" (__base) \ | ||
76 | : GCC_REG_ACCUM); \ | ||
77 | \ | ||
78 | __mod = do_div64_32(__low, __upper, __low, __base); \ | ||
79 | \ | ||
80 | __quot = __high; \ | ||
81 | __quot = __quot << 32 | __low; \ | ||
82 | (n) = __quot; \ | ||
83 | __mod; }) | ||
84 | |||
85 | #endif /* (_MIPS_SZLONG == 32) */ | ||
86 | |||
87 | #if (_MIPS_SZLONG == 64) | ||
88 | |||
89 | /* | ||
90 | * Hey, we're already 64-bit, no | ||
91 | * need to play games.. | ||
92 | */ | ||
93 | #define do_div(n, base) ({ \ | ||
94 | unsigned long __quot; \ | ||
95 | unsigned int __mod; \ | ||
96 | unsigned long __div; \ | ||
97 | unsigned int __base; \ | ||
98 | \ | ||
99 | __div = (n); \ | ||
100 | __base = (base); \ | ||
101 | \ | ||
102 | __mod = __div % __base; \ | ||
103 | __quot = __div / __base; \ | ||
104 | \ | ||
105 | (n) = __quot; \ | ||
106 | __mod; }) | ||
107 | 65 | ||
108 | #endif /* (_MIPS_SZLONG == 64) */ | 66 | #endif /* BITS_PER_LONG == 64 */ |
109 | 67 | ||
110 | #endif /* _ASM_DIV64_H */ | 68 | #endif /* __ASM_DIV64_H */ |
diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h index c64afb40cd06..d16afddb09a9 100644 --- a/arch/mips/include/asm/dma-mapping.h +++ b/arch/mips/include/asm/dma-mapping.h | |||
@@ -24,8 +24,13 @@ extern int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | |||
24 | enum dma_data_direction direction); | 24 | enum dma_data_direction direction); |
25 | extern dma_addr_t dma_map_page(struct device *dev, struct page *page, | 25 | extern dma_addr_t dma_map_page(struct device *dev, struct page *page, |
26 | unsigned long offset, size_t size, enum dma_data_direction direction); | 26 | unsigned long offset, size_t size, enum dma_data_direction direction); |
27 | extern void dma_unmap_page(struct device *dev, dma_addr_t dma_address, | 27 | |
28 | size_t size, enum dma_data_direction direction); | 28 | static inline void dma_unmap_page(struct device *dev, dma_addr_t dma_address, |
29 | size_t size, enum dma_data_direction direction) | ||
30 | { | ||
31 | dma_unmap_single(dev, dma_address, size, direction); | ||
32 | } | ||
33 | |||
29 | extern void dma_unmap_sg(struct device *dev, struct scatterlist *sg, | 34 | extern void dma_unmap_sg(struct device *dev, struct scatterlist *sg, |
30 | int nhwentries, enum dma_data_direction direction); | 35 | int nhwentries, enum dma_data_direction direction); |
31 | extern void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, | 36 | extern void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, |
diff --git a/arch/mips/include/asm/fixmap.h b/arch/mips/include/asm/fixmap.h index 9cc8522a394f..0f5caa1307f1 100644 --- a/arch/mips/include/asm/fixmap.h +++ b/arch/mips/include/asm/fixmap.h | |||
@@ -108,6 +108,9 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr) | |||
108 | return __virt_to_fix(vaddr); | 108 | return __virt_to_fix(vaddr); |
109 | } | 109 | } |
110 | 110 | ||
111 | #define kmap_get_fixmap_pte(vaddr) \ | ||
112 | pte_offset_kernel(pmd_offset(pud_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr)), (vaddr)) | ||
113 | |||
111 | /* | 114 | /* |
112 | * Called from pgtable_init() | 115 | * Called from pgtable_init() |
113 | */ | 116 | */ |
diff --git a/arch/mips/include/asm/hazards.h b/arch/mips/include/asm/hazards.h index a12d971db4f9..0eaf77ffbc4f 100644 --- a/arch/mips/include/asm/hazards.h +++ b/arch/mips/include/asm/hazards.h | |||
@@ -138,8 +138,9 @@ do { \ | |||
138 | __instruction_hazard(); \ | 138 | __instruction_hazard(); \ |
139 | } while (0) | 139 | } while (0) |
140 | 140 | ||
141 | #elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \ | 141 | #elif defined(CONFIG_MACH_ALCHEMY) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \ |
142 | defined(CONFIG_CPU_R5500) || defined(CONFIG_MACH_ALCHEMY) | 142 | defined(CONFIG_CPU_LOONGSON2) || defined(CONFIG_CPU_R10000) || \ |
143 | defined(CONFIG_CPU_R5500) | ||
143 | 144 | ||
144 | /* | 145 | /* |
145 | * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer. | 146 | * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer. |
diff --git a/arch/mips/include/asm/highmem.h b/arch/mips/include/asm/highmem.h index 4374ab2adc75..25adfb02923d 100644 --- a/arch/mips/include/asm/highmem.h +++ b/arch/mips/include/asm/highmem.h | |||
@@ -30,8 +30,6 @@ | |||
30 | /* declarations for highmem.c */ | 30 | /* declarations for highmem.c */ |
31 | extern unsigned long highstart_pfn, highend_pfn; | 31 | extern unsigned long highstart_pfn, highend_pfn; |
32 | 32 | ||
33 | extern pte_t *kmap_pte; | ||
34 | extern pgprot_t kmap_prot; | ||
35 | extern pte_t *pkmap_page_table; | 33 | extern pte_t *pkmap_page_table; |
36 | 34 | ||
37 | /* | 35 | /* |
@@ -62,6 +60,10 @@ extern struct page *__kmap_atomic_to_page(void *ptr); | |||
62 | 60 | ||
63 | #define flush_cache_kmaps() flush_cache_all() | 61 | #define flush_cache_kmaps() flush_cache_all() |
64 | 62 | ||
63 | extern void kmap_init(void); | ||
64 | |||
65 | #define kmap_prot PAGE_KERNEL | ||
66 | |||
65 | #endif /* __KERNEL__ */ | 67 | #endif /* __KERNEL__ */ |
66 | 68 | ||
67 | #endif /* _ASM_HIGHMEM_H */ | 69 | #endif /* _ASM_HIGHMEM_H */ |
diff --git a/arch/mips/include/asm/mach-au1x00/au1000.h b/arch/mips/include/asm/mach-au1x00/au1000.h index 62f91f50b5b5..854e95f1b07c 100644 --- a/arch/mips/include/asm/mach-au1x00/au1000.h +++ b/arch/mips/include/asm/mach-au1x00/au1000.h | |||
@@ -715,7 +715,7 @@ enum soc_au1500_ints { | |||
715 | #ifdef CONFIG_SOC_AU1100 | 715 | #ifdef CONFIG_SOC_AU1100 |
716 | enum soc_au1100_ints { | 716 | enum soc_au1100_ints { |
717 | AU1100_FIRST_INT = MIPS_CPU_IRQ_BASE + 8, | 717 | AU1100_FIRST_INT = MIPS_CPU_IRQ_BASE + 8, |
718 | AU1100_UART0_INT, | 718 | AU1100_UART0_INT = AU1100_FIRST_INT, |
719 | AU1100_UART1_INT, | 719 | AU1100_UART1_INT, |
720 | AU1100_SD_INT, | 720 | AU1100_SD_INT, |
721 | AU1100_UART3_INT, | 721 | AU1100_UART3_INT, |
@@ -902,8 +902,8 @@ enum soc_au1200_ints { | |||
902 | AU1000_RTC_MATCH0_INT, | 902 | AU1000_RTC_MATCH0_INT, |
903 | AU1000_RTC_MATCH1_INT, | 903 | AU1000_RTC_MATCH1_INT, |
904 | AU1000_RTC_MATCH2_INT, | 904 | AU1000_RTC_MATCH2_INT, |
905 | 905 | AU1200_GPIO_203, | |
906 | AU1200_NAND_INT = AU1200_FIRST_INT + 23, | 906 | AU1200_NAND_INT, |
907 | AU1200_GPIO_204, | 907 | AU1200_GPIO_204, |
908 | AU1200_GPIO_205, | 908 | AU1200_GPIO_205, |
909 | AU1200_GPIO_206, | 909 | AU1200_GPIO_206, |
diff --git a/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h b/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h index 60638b8969ba..5656c72de6d3 100644 --- a/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h +++ b/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h | |||
@@ -46,20 +46,6 @@ | |||
46 | #define CONFIG_BLK_DEV_IDE_AU1XXX_BURSTABLE_ON 0 | 46 | #define CONFIG_BLK_DEV_IDE_AU1XXX_BURSTABLE_ON 0 |
47 | #endif | 47 | #endif |
48 | 48 | ||
49 | #ifdef CONFIG_PM | ||
50 | /* | ||
51 | * This will enable the device to be powered up when write() or read() | ||
52 | * is called. If this is not defined, the driver will return -EBUSY. | ||
53 | */ | ||
54 | #define WAKE_ON_ACCESS 1 | ||
55 | |||
56 | typedef struct { | ||
57 | spinlock_t lock; /* Used to block on state transitions */ | ||
58 | au1xxx_power_dev_t *dev; /* Power Managers device structure */ | ||
59 | unsigned stopped; /* Used to signal device is stopped */ | ||
60 | } pm_state; | ||
61 | #endif | ||
62 | |||
63 | typedef struct { | 49 | typedef struct { |
64 | u32 tx_dev_id, rx_dev_id, target_dev_id; | 50 | u32 tx_dev_id, rx_dev_id, target_dev_id; |
65 | u32 tx_chan, rx_chan; | 51 | u32 tx_chan, rx_chan; |
@@ -72,9 +58,6 @@ typedef struct { | |||
72 | #endif | 58 | #endif |
73 | int irq; | 59 | int irq; |
74 | u32 regbase; | 60 | u32 regbase; |
75 | #ifdef CONFIG_PM | ||
76 | pm_state pm; | ||
77 | #endif | ||
78 | } _auide_hwif; | 61 | } _auide_hwif; |
79 | 62 | ||
80 | /******************************************************************************/ | 63 | /******************************************************************************/ |
diff --git a/arch/mips/include/asm/mach-lemote/cpu-feature-overrides.h b/arch/mips/include/asm/mach-lemote/cpu-feature-overrides.h new file mode 100644 index 000000000000..550a10dc9dba --- /dev/null +++ b/arch/mips/include/asm/mach-lemote/cpu-feature-overrides.h | |||
@@ -0,0 +1,59 @@ | |||
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) 2009 Wu Zhangjin <wuzj@lemote.com> | ||
7 | * Copyright (C) 2009 Philippe Vachon <philippe@cowpig.ca> | ||
8 | * Copyright (C) 2009 Zhang Le <r0bertz@gentoo.org> | ||
9 | * | ||
10 | * reference: /proc/cpuinfo, | ||
11 | * arch/mips/kernel/cpu-probe.c(cpu_probe_legacy), | ||
12 | * arch/mips/kernel/proc.c(show_cpuinfo), | ||
13 | * loongson2f user manual. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_MACH_LEMOTE_CPU_FEATURE_OVERRIDES_H | ||
17 | #define __ASM_MACH_LEMOTE_CPU_FEATURE_OVERRIDES_H | ||
18 | |||
19 | #define cpu_dcache_line_size() 32 | ||
20 | #define cpu_icache_line_size() 32 | ||
21 | #define cpu_scache_line_size() 32 | ||
22 | |||
23 | |||
24 | #define cpu_has_32fpr 1 | ||
25 | #define cpu_has_3k_cache 0 | ||
26 | #define cpu_has_4k_cache 1 | ||
27 | #define cpu_has_4kex 1 | ||
28 | #define cpu_has_64bits 1 | ||
29 | #define cpu_has_cache_cdex_p 0 | ||
30 | #define cpu_has_cache_cdex_s 0 | ||
31 | #define cpu_has_counter 1 | ||
32 | #define cpu_has_dc_aliases 1 | ||
33 | #define cpu_has_divec 0 | ||
34 | #define cpu_has_dsp 0 | ||
35 | #define cpu_has_ejtag 0 | ||
36 | #define cpu_has_fpu 1 | ||
37 | #define cpu_has_ic_fills_f_dc 0 | ||
38 | #define cpu_has_inclusive_pcaches 1 | ||
39 | #define cpu_has_llsc 1 | ||
40 | #define cpu_has_mcheck 0 | ||
41 | #define cpu_has_mdmx 0 | ||
42 | #define cpu_has_mips16 0 | ||
43 | #define cpu_has_mips32r1 0 | ||
44 | #define cpu_has_mips32r2 0 | ||
45 | #define cpu_has_mips3d 0 | ||
46 | #define cpu_has_mips64r1 0 | ||
47 | #define cpu_has_mips64r2 0 | ||
48 | #define cpu_has_mipsmt 0 | ||
49 | #define cpu_has_prefetch 0 | ||
50 | #define cpu_has_smartmips 0 | ||
51 | #define cpu_has_tlb 1 | ||
52 | #define cpu_has_tx39_cache 0 | ||
53 | #define cpu_has_userlocal 0 | ||
54 | #define cpu_has_vce 0 | ||
55 | #define cpu_has_vtag_icache 0 | ||
56 | #define cpu_has_watch 1 | ||
57 | #define cpu_icache_snoops_remote_store 1 | ||
58 | |||
59 | #endif /* __ASM_MACH_LEMOTE_CPU_FEATURE_OVERRIDES_H */ | ||
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h index 526f327475ce..32ef8bec5c85 100644 --- a/arch/mips/include/asm/mipsregs.h +++ b/arch/mips/include/asm/mipsregs.h | |||
@@ -184,12 +184,19 @@ | |||
184 | #else | 184 | #else |
185 | 185 | ||
186 | #define PM_4K 0x00000000 | 186 | #define PM_4K 0x00000000 |
187 | #define PM_8K 0x00002000 | ||
187 | #define PM_16K 0x00006000 | 188 | #define PM_16K 0x00006000 |
189 | #define PM_32K 0x0000e000 | ||
188 | #define PM_64K 0x0001e000 | 190 | #define PM_64K 0x0001e000 |
191 | #define PM_128K 0x0003e000 | ||
189 | #define PM_256K 0x0007e000 | 192 | #define PM_256K 0x0007e000 |
193 | #define PM_512K 0x000fe000 | ||
190 | #define PM_1M 0x001fe000 | 194 | #define PM_1M 0x001fe000 |
195 | #define PM_2M 0x003fe000 | ||
191 | #define PM_4M 0x007fe000 | 196 | #define PM_4M 0x007fe000 |
197 | #define PM_8M 0x00ffe000 | ||
192 | #define PM_16M 0x01ffe000 | 198 | #define PM_16M 0x01ffe000 |
199 | #define PM_32M 0x03ffe000 | ||
193 | #define PM_64M 0x07ffe000 | 200 | #define PM_64M 0x07ffe000 |
194 | #define PM_256M 0x1fffe000 | 201 | #define PM_256M 0x1fffe000 |
195 | #define PM_1G 0x7fffe000 | 202 | #define PM_1G 0x7fffe000 |
@@ -201,8 +208,12 @@ | |||
201 | */ | 208 | */ |
202 | #ifdef CONFIG_PAGE_SIZE_4KB | 209 | #ifdef CONFIG_PAGE_SIZE_4KB |
203 | #define PM_DEFAULT_MASK PM_4K | 210 | #define PM_DEFAULT_MASK PM_4K |
211 | #elif defined(CONFIG_PAGE_SIZE_8KB) | ||
212 | #define PM_DEFAULT_MASK PM_8K | ||
204 | #elif defined(CONFIG_PAGE_SIZE_16KB) | 213 | #elif defined(CONFIG_PAGE_SIZE_16KB) |
205 | #define PM_DEFAULT_MASK PM_16K | 214 | #define PM_DEFAULT_MASK PM_16K |
215 | #elif defined(CONFIG_PAGE_SIZE_32KB) | ||
216 | #define PM_DEFAULT_MASK PM_32K | ||
206 | #elif defined(CONFIG_PAGE_SIZE_64KB) | 217 | #elif defined(CONFIG_PAGE_SIZE_64KB) |
207 | #define PM_DEFAULT_MASK PM_64K | 218 | #define PM_DEFAULT_MASK PM_64K |
208 | #else | 219 | #else |
@@ -717,8 +728,8 @@ do { \ | |||
717 | ".set\tmips64\n\t" \ | 728 | ".set\tmips64\n\t" \ |
718 | "dmfc0\t%M0, " #source "\n\t" \ | 729 | "dmfc0\t%M0, " #source "\n\t" \ |
719 | "dsll\t%L0, %M0, 32\n\t" \ | 730 | "dsll\t%L0, %M0, 32\n\t" \ |
720 | "dsrl\t%M0, %M0, 32\n\t" \ | 731 | "dsra\t%M0, %M0, 32\n\t" \ |
721 | "dsrl\t%L0, %L0, 32\n\t" \ | 732 | "dsra\t%L0, %L0, 32\n\t" \ |
722 | ".set\tmips0" \ | 733 | ".set\tmips0" \ |
723 | : "=r" (__val)); \ | 734 | : "=r" (__val)); \ |
724 | else \ | 735 | else \ |
@@ -726,8 +737,8 @@ do { \ | |||
726 | ".set\tmips64\n\t" \ | 737 | ".set\tmips64\n\t" \ |
727 | "dmfc0\t%M0, " #source ", " #sel "\n\t" \ | 738 | "dmfc0\t%M0, " #source ", " #sel "\n\t" \ |
728 | "dsll\t%L0, %M0, 32\n\t" \ | 739 | "dsll\t%L0, %M0, 32\n\t" \ |
729 | "dsrl\t%M0, %M0, 32\n\t" \ | 740 | "dsra\t%M0, %M0, 32\n\t" \ |
730 | "dsrl\t%L0, %L0, 32\n\t" \ | 741 | "dsra\t%L0, %L0, 32\n\t" \ |
731 | ".set\tmips0" \ | 742 | ".set\tmips0" \ |
732 | : "=r" (__val)); \ | 743 | : "=r" (__val)); \ |
733 | local_irq_restore(__flags); \ | 744 | local_irq_restore(__flags); \ |
@@ -1484,14 +1495,15 @@ static inline unsigned int \ | |||
1484 | set_c0_##name(unsigned int set) \ | 1495 | set_c0_##name(unsigned int set) \ |
1485 | { \ | 1496 | { \ |
1486 | unsigned int res; \ | 1497 | unsigned int res; \ |
1498 | unsigned int new; \ | ||
1487 | unsigned int omt; \ | 1499 | unsigned int omt; \ |
1488 | unsigned long flags; \ | 1500 | unsigned long flags; \ |
1489 | \ | 1501 | \ |
1490 | local_irq_save(flags); \ | 1502 | local_irq_save(flags); \ |
1491 | omt = __dmt(); \ | 1503 | omt = __dmt(); \ |
1492 | res = read_c0_##name(); \ | 1504 | res = read_c0_##name(); \ |
1493 | res |= set; \ | 1505 | new = res | set; \ |
1494 | write_c0_##name(res); \ | 1506 | write_c0_##name(new); \ |
1495 | __emt(omt); \ | 1507 | __emt(omt); \ |
1496 | local_irq_restore(flags); \ | 1508 | local_irq_restore(flags); \ |
1497 | \ | 1509 | \ |
@@ -1502,14 +1514,15 @@ static inline unsigned int \ | |||
1502 | clear_c0_##name(unsigned int clear) \ | 1514 | clear_c0_##name(unsigned int clear) \ |
1503 | { \ | 1515 | { \ |
1504 | unsigned int res; \ | 1516 | unsigned int res; \ |
1517 | unsigned int new; \ | ||
1505 | unsigned int omt; \ | 1518 | unsigned int omt; \ |
1506 | unsigned long flags; \ | 1519 | unsigned long flags; \ |
1507 | \ | 1520 | \ |
1508 | local_irq_save(flags); \ | 1521 | local_irq_save(flags); \ |
1509 | omt = __dmt(); \ | 1522 | omt = __dmt(); \ |
1510 | res = read_c0_##name(); \ | 1523 | res = read_c0_##name(); \ |
1511 | res &= ~clear; \ | 1524 | new = res & ~clear; \ |
1512 | write_c0_##name(res); \ | 1525 | write_c0_##name(new); \ |
1513 | __emt(omt); \ | 1526 | __emt(omt); \ |
1514 | local_irq_restore(flags); \ | 1527 | local_irq_restore(flags); \ |
1515 | \ | 1528 | \ |
@@ -1517,9 +1530,10 @@ clear_c0_##name(unsigned int clear) \ | |||
1517 | } \ | 1530 | } \ |
1518 | \ | 1531 | \ |
1519 | static inline unsigned int \ | 1532 | static inline unsigned int \ |
1520 | change_c0_##name(unsigned int change, unsigned int new) \ | 1533 | change_c0_##name(unsigned int change, unsigned int newbits) \ |
1521 | { \ | 1534 | { \ |
1522 | unsigned int res; \ | 1535 | unsigned int res; \ |
1536 | unsigned int new; \ | ||
1523 | unsigned int omt; \ | 1537 | unsigned int omt; \ |
1524 | unsigned long flags; \ | 1538 | unsigned long flags; \ |
1525 | \ | 1539 | \ |
@@ -1527,9 +1541,9 @@ change_c0_##name(unsigned int change, unsigned int new) \ | |||
1527 | \ | 1541 | \ |
1528 | omt = __dmt(); \ | 1542 | omt = __dmt(); \ |
1529 | res = read_c0_##name(); \ | 1543 | res = read_c0_##name(); \ |
1530 | res &= ~change; \ | 1544 | new = res & ~change; \ |
1531 | res |= (new & change); \ | 1545 | new |= (newbits & change); \ |
1532 | write_c0_##name(res); \ | 1546 | write_c0_##name(new); \ |
1533 | __emt(omt); \ | 1547 | __emt(omt); \ |
1534 | local_irq_restore(flags); \ | 1548 | local_irq_restore(flags); \ |
1535 | \ | 1549 | \ |
diff --git a/arch/mips/include/asm/page.h b/arch/mips/include/asm/page.h index fe7a88ea066e..9f946e4ca057 100644 --- a/arch/mips/include/asm/page.h +++ b/arch/mips/include/asm/page.h | |||
@@ -23,6 +23,9 @@ | |||
23 | #ifdef CONFIG_PAGE_SIZE_16KB | 23 | #ifdef CONFIG_PAGE_SIZE_16KB |
24 | #define PAGE_SHIFT 14 | 24 | #define PAGE_SHIFT 14 |
25 | #endif | 25 | #endif |
26 | #ifdef CONFIG_PAGE_SIZE_32KB | ||
27 | #define PAGE_SHIFT 15 | ||
28 | #endif | ||
26 | #ifdef CONFIG_PAGE_SIZE_64KB | 29 | #ifdef CONFIG_PAGE_SIZE_64KB |
27 | #define PAGE_SHIFT 16 | 30 | #define PAGE_SHIFT 16 |
28 | #endif | 31 | #endif |
diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h index 943515f0ef87..4ed9d1bba2ba 100644 --- a/arch/mips/include/asm/pgtable-64.h +++ b/arch/mips/include/asm/pgtable-64.h | |||
@@ -83,6 +83,12 @@ | |||
83 | #define PMD_ORDER 0 | 83 | #define PMD_ORDER 0 |
84 | #define PTE_ORDER 0 | 84 | #define PTE_ORDER 0 |
85 | #endif | 85 | #endif |
86 | #ifdef CONFIG_PAGE_SIZE_32KB | ||
87 | #define PGD_ORDER 0 | ||
88 | #define PUD_ORDER aieeee_attempt_to_allocate_pud | ||
89 | #define PMD_ORDER 0 | ||
90 | #define PTE_ORDER 0 | ||
91 | #endif | ||
86 | #ifdef CONFIG_PAGE_SIZE_64KB | 92 | #ifdef CONFIG_PAGE_SIZE_64KB |
87 | #define PGD_ORDER 0 | 93 | #define PGD_ORDER 0 |
88 | #define PUD_ORDER aieeee_attempt_to_allocate_pud | 94 | #define PUD_ORDER aieeee_attempt_to_allocate_pud |
diff --git a/arch/mips/include/asm/sn/addrs.h b/arch/mips/include/asm/sn/addrs.h index fec9bdd34913..3a56d90abfa6 100644 --- a/arch/mips/include/asm/sn/addrs.h +++ b/arch/mips/include/asm/sn/addrs.h | |||
@@ -359,11 +359,11 @@ | |||
359 | TO_NODE_UNCAC((nasid), LAUNCH_OFFSET(nasid, slice)) | 359 | TO_NODE_UNCAC((nasid), LAUNCH_OFFSET(nasid, slice)) |
360 | #define LAUNCH_SIZE(nasid) KLD_LAUNCH(nasid)->size | 360 | #define LAUNCH_SIZE(nasid) KLD_LAUNCH(nasid)->size |
361 | 361 | ||
362 | #define NMI_OFFSET(nasid, slice) \ | 362 | #define SN_NMI_OFFSET(nasid, slice) \ |
363 | (KLD_NMI(nasid)->offset + \ | 363 | (KLD_NMI(nasid)->offset + \ |
364 | KLD_NMI(nasid)->stride * (slice)) | 364 | KLD_NMI(nasid)->stride * (slice)) |
365 | #define NMI_ADDR(nasid, slice) \ | 365 | #define NMI_ADDR(nasid, slice) \ |
366 | TO_NODE_UNCAC((nasid), NMI_OFFSET(nasid, slice)) | 366 | TO_NODE_UNCAC((nasid), SN_NMI_OFFSET(nasid, slice)) |
367 | #define NMI_SIZE(nasid) KLD_NMI(nasid)->size | 367 | #define NMI_SIZE(nasid) KLD_NMI(nasid)->size |
368 | 368 | ||
369 | #define KLCONFIG_OFFSET(nasid) KLD_KLCONFIG(nasid)->offset | 369 | #define KLCONFIG_OFFSET(nasid) KLD_KLCONFIG(nasid)->offset |
diff --git a/arch/mips/include/asm/sn/nmi.h b/arch/mips/include/asm/sn/nmi.h index 6b7b0b5f3729..1af49897d4e1 100644 --- a/arch/mips/include/asm/sn/nmi.h +++ b/arch/mips/include/asm/sn/nmi.h | |||
@@ -3,13 +3,13 @@ | |||
3 | * License. See the file "COPYING" in the main directory of this archive | 3 | * License. See the file "COPYING" in the main directory of this archive |
4 | * for more details. | 4 | * for more details. |
5 | * | 5 | * |
6 | * Derived from IRIX <sys/SN/nmi.h>, Revision 1.5. | ||
7 | * | ||
6 | * Copyright (C) 1992 - 1997 Silicon Graphics, Inc. | 8 | * Copyright (C) 1992 - 1997 Silicon Graphics, Inc. |
7 | */ | 9 | */ |
8 | #ifndef __ASM_SN_NMI_H | 10 | #ifndef __ASM_SN_NMI_H |
9 | #define __ASM_SN_NMI_H | 11 | #define __ASM_SN_NMI_H |
10 | 12 | ||
11 | #ident "$Revision: 1.5 $" | ||
12 | |||
13 | #include <asm/sn/addrs.h> | 13 | #include <asm/sn/addrs.h> |
14 | 14 | ||
15 | /* | 15 | /* |
diff --git a/arch/mips/include/asm/thread_info.h b/arch/mips/include/asm/thread_info.h index 676aa2ae1913..143a48136a4b 100644 --- a/arch/mips/include/asm/thread_info.h +++ b/arch/mips/include/asm/thread_info.h | |||
@@ -75,6 +75,9 @@ register struct thread_info *__current_thread_info __asm__("$28"); | |||
75 | #ifdef CONFIG_PAGE_SIZE_16KB | 75 | #ifdef CONFIG_PAGE_SIZE_16KB |
76 | #define THREAD_SIZE_ORDER (0) | 76 | #define THREAD_SIZE_ORDER (0) |
77 | #endif | 77 | #endif |
78 | #ifdef CONFIG_PAGE_SIZE_32KB | ||
79 | #define THREAD_SIZE_ORDER (0) | ||
80 | #endif | ||
78 | #ifdef CONFIG_PAGE_SIZE_64KB | 81 | #ifdef CONFIG_PAGE_SIZE_64KB |
79 | #define THREAD_SIZE_ORDER (0) | 82 | #define THREAD_SIZE_ORDER (0) |
80 | #endif | 83 | #endif |
diff --git a/arch/mips/include/asm/time.h b/arch/mips/include/asm/time.h index 38a30d2ee959..df6a430de5eb 100644 --- a/arch/mips/include/asm/time.h +++ b/arch/mips/include/asm/time.h | |||
@@ -57,7 +57,11 @@ extern int r4k_clockevent_init(void); | |||
57 | 57 | ||
58 | static inline int mips_clockevent_init(void) | 58 | static inline int mips_clockevent_init(void) |
59 | { | 59 | { |
60 | #ifdef CONFIG_CEVT_R4K | 60 | #ifdef CONFIG_MIPS_MT_SMTC |
61 | extern int smtc_clockevent_init(void); | ||
62 | |||
63 | return smtc_clockevent_init(); | ||
64 | #elif defined(CONFIG_CEVT_R4K) | ||
61 | return r4k_clockevent_init(); | 65 | return r4k_clockevent_init(); |
62 | #else | 66 | #else |
63 | return -ENXIO; | 67 | return -ENXIO; |
diff --git a/arch/mips/include/asm/uaccess.h b/arch/mips/include/asm/uaccess.h index 09ff5bb17445..c2d53c18fd36 100644 --- a/arch/mips/include/asm/uaccess.h +++ b/arch/mips/include/asm/uaccess.h | |||
@@ -105,10 +105,20 @@ | |||
105 | #define __access_mask get_fs().seg | 105 | #define __access_mask get_fs().seg |
106 | 106 | ||
107 | #define __access_ok(addr, size, mask) \ | 107 | #define __access_ok(addr, size, mask) \ |
108 | (((signed long)((mask) & ((addr) | ((addr) + (size)) | __ua_size(size)))) == 0) | 108 | ({ \ |
109 | unsigned long __addr = (unsigned long) (addr); \ | ||
110 | unsigned long __size = size; \ | ||
111 | unsigned long __mask = mask; \ | ||
112 | unsigned long __ok; \ | ||
113 | \ | ||
114 | __chk_user_ptr(addr); \ | ||
115 | __ok = (signed long)(__mask & (__addr | (__addr + __size) | \ | ||
116 | __ua_size(__size))); \ | ||
117 | __ok == 0; \ | ||
118 | }) | ||
109 | 119 | ||
110 | #define access_ok(type, addr, size) \ | 120 | #define access_ok(type, addr, size) \ |
111 | likely(__access_ok((unsigned long)(addr), (size), __access_mask)) | 121 | likely(__access_ok((addr), (size), __access_mask)) |
112 | 122 | ||
113 | /* | 123 | /* |
114 | * put_user: - Write a simple value into user space. | 124 | * put_user: - Write a simple value into user space. |
@@ -225,6 +235,7 @@ do { \ | |||
225 | ({ \ | 235 | ({ \ |
226 | int __gu_err; \ | 236 | int __gu_err; \ |
227 | \ | 237 | \ |
238 | __chk_user_ptr(ptr); \ | ||
228 | __get_user_common((x), size, ptr); \ | 239 | __get_user_common((x), size, ptr); \ |
229 | __gu_err; \ | 240 | __gu_err; \ |
230 | }) | 241 | }) |
@@ -234,6 +245,7 @@ do { \ | |||
234 | int __gu_err = -EFAULT; \ | 245 | int __gu_err = -EFAULT; \ |
235 | const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \ | 246 | const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \ |
236 | \ | 247 | \ |
248 | might_fault(); \ | ||
237 | if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \ | 249 | if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \ |
238 | __get_user_common((x), size, __gu_ptr); \ | 250 | __get_user_common((x), size, __gu_ptr); \ |
239 | \ | 251 | \ |
@@ -305,6 +317,7 @@ do { \ | |||
305 | __typeof__(*(ptr)) __pu_val; \ | 317 | __typeof__(*(ptr)) __pu_val; \ |
306 | int __pu_err = 0; \ | 318 | int __pu_err = 0; \ |
307 | \ | 319 | \ |
320 | __chk_user_ptr(ptr); \ | ||
308 | __pu_val = (x); \ | 321 | __pu_val = (x); \ |
309 | switch (size) { \ | 322 | switch (size) { \ |
310 | case 1: __put_user_asm("sb", ptr); break; \ | 323 | case 1: __put_user_asm("sb", ptr); break; \ |
@@ -322,6 +335,7 @@ do { \ | |||
322 | __typeof__(*(ptr)) __pu_val = (x); \ | 335 | __typeof__(*(ptr)) __pu_val = (x); \ |
323 | int __pu_err = -EFAULT; \ | 336 | int __pu_err = -EFAULT; \ |
324 | \ | 337 | \ |
338 | might_fault(); \ | ||
325 | if (likely(access_ok(VERIFY_WRITE, __pu_addr, size))) { \ | 339 | if (likely(access_ok(VERIFY_WRITE, __pu_addr, size))) { \ |
326 | switch (size) { \ | 340 | switch (size) { \ |
327 | case 1: __put_user_asm("sb", __pu_addr); break; \ | 341 | case 1: __put_user_asm("sb", __pu_addr); break; \ |
@@ -696,10 +710,10 @@ extern size_t __copy_user(void *__to, const void *__from, size_t __n); | |||
696 | const void *__cu_from; \ | 710 | const void *__cu_from; \ |
697 | long __cu_len; \ | 711 | long __cu_len; \ |
698 | \ | 712 | \ |
699 | might_sleep(); \ | ||
700 | __cu_to = (to); \ | 713 | __cu_to = (to); \ |
701 | __cu_from = (from); \ | 714 | __cu_from = (from); \ |
702 | __cu_len = (n); \ | 715 | __cu_len = (n); \ |
716 | might_fault(); \ | ||
703 | __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, __cu_len); \ | 717 | __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, __cu_len); \ |
704 | __cu_len; \ | 718 | __cu_len; \ |
705 | }) | 719 | }) |
@@ -752,13 +766,14 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
752 | const void *__cu_from; \ | 766 | const void *__cu_from; \ |
753 | long __cu_len; \ | 767 | long __cu_len; \ |
754 | \ | 768 | \ |
755 | might_sleep(); \ | ||
756 | __cu_to = (to); \ | 769 | __cu_to = (to); \ |
757 | __cu_from = (from); \ | 770 | __cu_from = (from); \ |
758 | __cu_len = (n); \ | 771 | __cu_len = (n); \ |
759 | if (access_ok(VERIFY_WRITE, __cu_to, __cu_len)) \ | 772 | if (access_ok(VERIFY_WRITE, __cu_to, __cu_len)) { \ |
773 | might_fault(); \ | ||
760 | __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, \ | 774 | __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, \ |
761 | __cu_len); \ | 775 | __cu_len); \ |
776 | } \ | ||
762 | __cu_len; \ | 777 | __cu_len; \ |
763 | }) | 778 | }) |
764 | 779 | ||
@@ -831,10 +846,10 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
831 | const void __user *__cu_from; \ | 846 | const void __user *__cu_from; \ |
832 | long __cu_len; \ | 847 | long __cu_len; \ |
833 | \ | 848 | \ |
834 | might_sleep(); \ | ||
835 | __cu_to = (to); \ | 849 | __cu_to = (to); \ |
836 | __cu_from = (from); \ | 850 | __cu_from = (from); \ |
837 | __cu_len = (n); \ | 851 | __cu_len = (n); \ |
852 | might_fault(); \ | ||
838 | __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ | 853 | __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ |
839 | __cu_len); \ | 854 | __cu_len); \ |
840 | __cu_len; \ | 855 | __cu_len; \ |
@@ -862,17 +877,31 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
862 | const void __user *__cu_from; \ | 877 | const void __user *__cu_from; \ |
863 | long __cu_len; \ | 878 | long __cu_len; \ |
864 | \ | 879 | \ |
865 | might_sleep(); \ | ||
866 | __cu_to = (to); \ | 880 | __cu_to = (to); \ |
867 | __cu_from = (from); \ | 881 | __cu_from = (from); \ |
868 | __cu_len = (n); \ | 882 | __cu_len = (n); \ |
869 | if (access_ok(VERIFY_READ, __cu_from, __cu_len)) \ | 883 | if (access_ok(VERIFY_READ, __cu_from, __cu_len)) { \ |
884 | might_fault(); \ | ||
870 | __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ | 885 | __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ |
871 | __cu_len); \ | 886 | __cu_len); \ |
887 | } \ | ||
872 | __cu_len; \ | 888 | __cu_len; \ |
873 | }) | 889 | }) |
874 | 890 | ||
875 | #define __copy_in_user(to, from, n) __copy_from_user(to, from, n) | 891 | #define __copy_in_user(to, from, n) \ |
892 | ({ \ | ||
893 | void __user *__cu_to; \ | ||
894 | const void __user *__cu_from; \ | ||
895 | long __cu_len; \ | ||
896 | \ | ||
897 | __cu_to = (to); \ | ||
898 | __cu_from = (from); \ | ||
899 | __cu_len = (n); \ | ||
900 | might_fault(); \ | ||
901 | __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ | ||
902 | __cu_len); \ | ||
903 | __cu_len; \ | ||
904 | }) | ||
876 | 905 | ||
877 | #define copy_in_user(to, from, n) \ | 906 | #define copy_in_user(to, from, n) \ |
878 | ({ \ | 907 | ({ \ |
@@ -880,14 +909,15 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
880 | const void __user *__cu_from; \ | 909 | const void __user *__cu_from; \ |
881 | long __cu_len; \ | 910 | long __cu_len; \ |
882 | \ | 911 | \ |
883 | might_sleep(); \ | ||
884 | __cu_to = (to); \ | 912 | __cu_to = (to); \ |
885 | __cu_from = (from); \ | 913 | __cu_from = (from); \ |
886 | __cu_len = (n); \ | 914 | __cu_len = (n); \ |
887 | if (likely(access_ok(VERIFY_READ, __cu_from, __cu_len) && \ | 915 | if (likely(access_ok(VERIFY_READ, __cu_from, __cu_len) && \ |
888 | access_ok(VERIFY_WRITE, __cu_to, __cu_len))) \ | 916 | access_ok(VERIFY_WRITE, __cu_to, __cu_len))) { \ |
917 | might_fault(); \ | ||
889 | __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ | 918 | __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ |
890 | __cu_len); \ | 919 | __cu_len); \ |
920 | } \ | ||
891 | __cu_len; \ | 921 | __cu_len; \ |
892 | }) | 922 | }) |
893 | 923 | ||
@@ -907,7 +937,7 @@ __clear_user(void __user *addr, __kernel_size_t size) | |||
907 | { | 937 | { |
908 | __kernel_size_t res; | 938 | __kernel_size_t res; |
909 | 939 | ||
910 | might_sleep(); | 940 | might_fault(); |
911 | __asm__ __volatile__( | 941 | __asm__ __volatile__( |
912 | "move\t$4, %1\n\t" | 942 | "move\t$4, %1\n\t" |
913 | "move\t$5, $0\n\t" | 943 | "move\t$5, $0\n\t" |
@@ -926,7 +956,7 @@ __clear_user(void __user *addr, __kernel_size_t size) | |||
926 | void __user * __cl_addr = (addr); \ | 956 | void __user * __cl_addr = (addr); \ |
927 | unsigned long __cl_size = (n); \ | 957 | unsigned long __cl_size = (n); \ |
928 | if (__cl_size && access_ok(VERIFY_WRITE, \ | 958 | if (__cl_size && access_ok(VERIFY_WRITE, \ |
929 | ((unsigned long)(__cl_addr)), __cl_size)) \ | 959 | __cl_addr, __cl_size)) \ |
930 | __cl_size = __clear_user(__cl_addr, __cl_size); \ | 960 | __cl_size = __clear_user(__cl_addr, __cl_size); \ |
931 | __cl_size; \ | 961 | __cl_size; \ |
932 | }) | 962 | }) |
@@ -956,7 +986,7 @@ __strncpy_from_user(char *__to, const char __user *__from, long __len) | |||
956 | { | 986 | { |
957 | long res; | 987 | long res; |
958 | 988 | ||
959 | might_sleep(); | 989 | might_fault(); |
960 | __asm__ __volatile__( | 990 | __asm__ __volatile__( |
961 | "move\t$4, %1\n\t" | 991 | "move\t$4, %1\n\t" |
962 | "move\t$5, %2\n\t" | 992 | "move\t$5, %2\n\t" |
@@ -993,7 +1023,7 @@ strncpy_from_user(char *__to, const char __user *__from, long __len) | |||
993 | { | 1023 | { |
994 | long res; | 1024 | long res; |
995 | 1025 | ||
996 | might_sleep(); | 1026 | might_fault(); |
997 | __asm__ __volatile__( | 1027 | __asm__ __volatile__( |
998 | "move\t$4, %1\n\t" | 1028 | "move\t$4, %1\n\t" |
999 | "move\t$5, %2\n\t" | 1029 | "move\t$5, %2\n\t" |
@@ -1012,7 +1042,7 @@ static inline long __strlen_user(const char __user *s) | |||
1012 | { | 1042 | { |
1013 | long res; | 1043 | long res; |
1014 | 1044 | ||
1015 | might_sleep(); | 1045 | might_fault(); |
1016 | __asm__ __volatile__( | 1046 | __asm__ __volatile__( |
1017 | "move\t$4, %1\n\t" | 1047 | "move\t$4, %1\n\t" |
1018 | __MODULE_JAL(__strlen_user_nocheck_asm) | 1048 | __MODULE_JAL(__strlen_user_nocheck_asm) |
@@ -1042,7 +1072,7 @@ static inline long strlen_user(const char __user *s) | |||
1042 | { | 1072 | { |
1043 | long res; | 1073 | long res; |
1044 | 1074 | ||
1045 | might_sleep(); | 1075 | might_fault(); |
1046 | __asm__ __volatile__( | 1076 | __asm__ __volatile__( |
1047 | "move\t$4, %1\n\t" | 1077 | "move\t$4, %1\n\t" |
1048 | __MODULE_JAL(__strlen_user_asm) | 1078 | __MODULE_JAL(__strlen_user_asm) |
@@ -1059,7 +1089,7 @@ static inline long __strnlen_user(const char __user *s, long n) | |||
1059 | { | 1089 | { |
1060 | long res; | 1090 | long res; |
1061 | 1091 | ||
1062 | might_sleep(); | 1092 | might_fault(); |
1063 | __asm__ __volatile__( | 1093 | __asm__ __volatile__( |
1064 | "move\t$4, %1\n\t" | 1094 | "move\t$4, %1\n\t" |
1065 | "move\t$5, %2\n\t" | 1095 | "move\t$5, %2\n\t" |
@@ -1090,7 +1120,7 @@ static inline long strnlen_user(const char __user *s, long n) | |||
1090 | { | 1120 | { |
1091 | long res; | 1121 | long res; |
1092 | 1122 | ||
1093 | might_sleep(); | 1123 | might_fault(); |
1094 | __asm__ __volatile__( | 1124 | __asm__ __volatile__( |
1095 | "move\t$4, %1\n\t" | 1125 | "move\t$4, %1\n\t" |
1096 | "move\t$5, %2\n\t" | 1126 | "move\t$5, %2\n\t" |
diff --git a/arch/mips/kernel/cevt-smtc.c b/arch/mips/kernel/cevt-smtc.c index 6d45e24db5bf..df6f5bc60572 100644 --- a/arch/mips/kernel/cevt-smtc.c +++ b/arch/mips/kernel/cevt-smtc.c | |||
@@ -245,7 +245,7 @@ irqreturn_t c0_compare_interrupt(int irq, void *dev_id) | |||
245 | } | 245 | } |
246 | 246 | ||
247 | 247 | ||
248 | int __cpuinit mips_clockevent_init(void) | 248 | int __cpuinit smtc_clockevent_init(void) |
249 | { | 249 | { |
250 | uint64_t mips_freq = mips_hpt_frequency; | 250 | uint64_t mips_freq = mips_hpt_frequency; |
251 | unsigned int cpu = smp_processor_id(); | 251 | unsigned int cpu = smp_processor_id(); |
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S index c2c16ef9218f..93cc672f4522 100644 --- a/arch/mips/kernel/scall64-n32.S +++ b/arch/mips/kernel/scall64-n32.S | |||
@@ -405,8 +405,8 @@ EXPORT(sysn32_call_table) | |||
405 | PTR sys_eventfd | 405 | PTR sys_eventfd |
406 | PTR sys_fallocate | 406 | PTR sys_fallocate |
407 | PTR sys_timerfd_create | 407 | PTR sys_timerfd_create |
408 | PTR sys_timerfd_gettime /* 5285 */ | 408 | PTR compat_sys_timerfd_gettime /* 5285 */ |
409 | PTR sys_timerfd_settime | 409 | PTR compat_sys_timerfd_settime |
410 | PTR sys_signalfd4 | 410 | PTR sys_signalfd4 |
411 | PTR sys_eventfd2 | 411 | PTR sys_eventfd2 |
412 | PTR sys_epoll_create1 | 412 | PTR sys_epoll_create1 |
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S index 002fac27021e..a5598b2339dd 100644 --- a/arch/mips/kernel/scall64-o32.S +++ b/arch/mips/kernel/scall64-o32.S | |||
@@ -525,8 +525,8 @@ sys_call_table: | |||
525 | PTR sys_eventfd | 525 | PTR sys_eventfd |
526 | PTR sys32_fallocate /* 4320 */ | 526 | PTR sys32_fallocate /* 4320 */ |
527 | PTR sys_timerfd_create | 527 | PTR sys_timerfd_create |
528 | PTR sys_timerfd_gettime | 528 | PTR compat_sys_timerfd_gettime |
529 | PTR sys_timerfd_settime | 529 | PTR compat_sys_timerfd_settime |
530 | PTR compat_sys_signalfd4 | 530 | PTR compat_sys_signalfd4 |
531 | PTR sys_eventfd2 /* 4325 */ | 531 | PTR sys_eventfd2 /* 4325 */ |
532 | PTR sys_epoll_create1 | 532 | PTR sys_epoll_create1 |
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c index bf4c4a979abb..67bd626942ab 100644 --- a/arch/mips/kernel/unaligned.c +++ b/arch/mips/kernel/unaligned.c | |||
@@ -482,19 +482,19 @@ fault: | |||
482 | return; | 482 | return; |
483 | 483 | ||
484 | die_if_kernel("Unhandled kernel unaligned access", regs); | 484 | die_if_kernel("Unhandled kernel unaligned access", regs); |
485 | send_sig(SIGSEGV, current, 1); | 485 | force_sig(SIGSEGV, current); |
486 | 486 | ||
487 | return; | 487 | return; |
488 | 488 | ||
489 | sigbus: | 489 | sigbus: |
490 | die_if_kernel("Unhandled kernel unaligned access", regs); | 490 | die_if_kernel("Unhandled kernel unaligned access", regs); |
491 | send_sig(SIGBUS, current, 1); | 491 | force_sig(SIGBUS, current); |
492 | 492 | ||
493 | return; | 493 | return; |
494 | 494 | ||
495 | sigill: | 495 | sigill: |
496 | die_if_kernel("Unhandled kernel unaligned access or invalid instruction", regs); | 496 | die_if_kernel("Unhandled kernel unaligned access or invalid instruction", regs); |
497 | send_sig(SIGILL, current, 1); | 497 | force_sig(SIGILL, current); |
498 | } | 498 | } |
499 | 499 | ||
500 | asmlinkage void do_ade(struct pt_regs *regs) | 500 | asmlinkage void do_ade(struct pt_regs *regs) |
diff --git a/arch/mips/lib/dump_tlb.c b/arch/mips/lib/dump_tlb.c index 779821cd54ab..3f69725556af 100644 --- a/arch/mips/lib/dump_tlb.c +++ b/arch/mips/lib/dump_tlb.c | |||
@@ -19,6 +19,15 @@ static inline const char *msk2str(unsigned int mask) | |||
19 | case PM_16K: return "16kb"; | 19 | case PM_16K: return "16kb"; |
20 | case PM_64K: return "64kb"; | 20 | case PM_64K: return "64kb"; |
21 | case PM_256K: return "256kb"; | 21 | case PM_256K: return "256kb"; |
22 | #ifdef CONFIG_CPU_CAVIUM_OCTEON | ||
23 | case PM_8K: return "8kb"; | ||
24 | case PM_32K: return "32kb"; | ||
25 | case PM_128K: return "128kb"; | ||
26 | case PM_512K: return "512kb"; | ||
27 | case PM_2M: return "2Mb"; | ||
28 | case PM_8M: return "8Mb"; | ||
29 | case PM_32M: return "32Mb"; | ||
30 | #endif | ||
22 | #ifndef CONFIG_CPU_VR41XX | 31 | #ifndef CONFIG_CPU_VR41XX |
23 | case PM_1M: return "1Mb"; | 32 | case PM_1M: return "1Mb"; |
24 | case PM_4M: return "4Mb"; | 33 | case PM_4M: return "4Mb"; |
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index 58d9075e86fe..171951d2305b 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
@@ -1041,7 +1041,7 @@ static void __cpuinit probe_pcache(void) | |||
1041 | 1041 | ||
1042 | printk("Primary instruction cache %ldkB, %s, %s, linesize %d bytes.\n", | 1042 | printk("Primary instruction cache %ldkB, %s, %s, linesize %d bytes.\n", |
1043 | icache_size >> 10, | 1043 | icache_size >> 10, |
1044 | cpu_has_vtag_icache ? "VIVT" : "VIPT", | 1044 | c->icache.flags & MIPS_CACHE_VTAG ? "VIVT" : "VIPT", |
1045 | way_string[c->icache.ways], c->icache.linesz); | 1045 | way_string[c->icache.ways], c->icache.linesz); |
1046 | 1046 | ||
1047 | printk("Primary data cache %ldkB, %s, %s, %s, linesize %d bytes\n", | 1047 | printk("Primary data cache %ldkB, %s, %s, %s, linesize %d bytes\n", |
diff --git a/arch/mips/mm/dma-default.c b/arch/mips/mm/dma-default.c index bed56f1ac837..4fdb7f5216b9 100644 --- a/arch/mips/mm/dma-default.c +++ b/arch/mips/mm/dma-default.c | |||
@@ -209,7 +209,7 @@ dma_addr_t dma_map_page(struct device *dev, struct page *page, | |||
209 | unsigned long addr; | 209 | unsigned long addr; |
210 | 210 | ||
211 | addr = (unsigned long) page_address(page) + offset; | 211 | addr = (unsigned long) page_address(page) + offset; |
212 | dma_cache_wback_inv(addr, size); | 212 | __dma_sync(addr, size, direction); |
213 | } | 213 | } |
214 | 214 | ||
215 | return plat_map_dma_mem_page(dev, page) + offset; | 215 | return plat_map_dma_mem_page(dev, page) + offset; |
@@ -217,23 +217,6 @@ dma_addr_t dma_map_page(struct device *dev, struct page *page, | |||
217 | 217 | ||
218 | EXPORT_SYMBOL(dma_map_page); | 218 | EXPORT_SYMBOL(dma_map_page); |
219 | 219 | ||
220 | void dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size, | ||
221 | enum dma_data_direction direction) | ||
222 | { | ||
223 | BUG_ON(direction == DMA_NONE); | ||
224 | |||
225 | if (!plat_device_is_coherent(dev) && direction != DMA_TO_DEVICE) { | ||
226 | unsigned long addr; | ||
227 | |||
228 | addr = dma_addr_to_virt(dma_address); | ||
229 | dma_cache_wback_inv(addr, size); | ||
230 | } | ||
231 | |||
232 | plat_unmap_dma_mem(dev, dma_address); | ||
233 | } | ||
234 | |||
235 | EXPORT_SYMBOL(dma_unmap_page); | ||
236 | |||
237 | void dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries, | 220 | void dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries, |
238 | enum dma_data_direction direction) | 221 | enum dma_data_direction direction) |
239 | { | 222 | { |
diff --git a/arch/mips/mm/highmem.c b/arch/mips/mm/highmem.c index 4481656d1065..2b1309b2580a 100644 --- a/arch/mips/mm/highmem.c +++ b/arch/mips/mm/highmem.c | |||
@@ -1,7 +1,12 @@ | |||
1 | #include <linux/module.h> | 1 | #include <linux/module.h> |
2 | #include <linux/highmem.h> | 2 | #include <linux/highmem.h> |
3 | #include <asm/fixmap.h> | ||
3 | #include <asm/tlbflush.h> | 4 | #include <asm/tlbflush.h> |
4 | 5 | ||
6 | static pte_t *kmap_pte; | ||
7 | |||
8 | unsigned long highstart_pfn, highend_pfn; | ||
9 | |||
5 | void *__kmap(struct page *page) | 10 | void *__kmap(struct page *page) |
6 | { | 11 | { |
7 | void *addr; | 12 | void *addr; |
@@ -14,6 +19,7 @@ void *__kmap(struct page *page) | |||
14 | 19 | ||
15 | return addr; | 20 | return addr; |
16 | } | 21 | } |
22 | EXPORT_SYMBOL(__kmap); | ||
17 | 23 | ||
18 | void __kunmap(struct page *page) | 24 | void __kunmap(struct page *page) |
19 | { | 25 | { |
@@ -22,6 +28,7 @@ void __kunmap(struct page *page) | |||
22 | return; | 28 | return; |
23 | kunmap_high(page); | 29 | kunmap_high(page); |
24 | } | 30 | } |
31 | EXPORT_SYMBOL(__kunmap); | ||
25 | 32 | ||
26 | /* | 33 | /* |
27 | * kmap_atomic/kunmap_atomic is significantly faster than kmap/kunmap because | 34 | * kmap_atomic/kunmap_atomic is significantly faster than kmap/kunmap because |
@@ -48,11 +55,12 @@ void *__kmap_atomic(struct page *page, enum km_type type) | |||
48 | #ifdef CONFIG_DEBUG_HIGHMEM | 55 | #ifdef CONFIG_DEBUG_HIGHMEM |
49 | BUG_ON(!pte_none(*(kmap_pte - idx))); | 56 | BUG_ON(!pte_none(*(kmap_pte - idx))); |
50 | #endif | 57 | #endif |
51 | set_pte(kmap_pte-idx, mk_pte(page, kmap_prot)); | 58 | set_pte(kmap_pte-idx, mk_pte(page, PAGE_KERNEL)); |
52 | local_flush_tlb_one((unsigned long)vaddr); | 59 | local_flush_tlb_one((unsigned long)vaddr); |
53 | 60 | ||
54 | return (void*) vaddr; | 61 | return (void*) vaddr; |
55 | } | 62 | } |
63 | EXPORT_SYMBOL(__kmap_atomic); | ||
56 | 64 | ||
57 | void __kunmap_atomic(void *kvaddr, enum km_type type) | 65 | void __kunmap_atomic(void *kvaddr, enum km_type type) |
58 | { | 66 | { |
@@ -77,6 +85,7 @@ void __kunmap_atomic(void *kvaddr, enum km_type type) | |||
77 | 85 | ||
78 | pagefault_enable(); | 86 | pagefault_enable(); |
79 | } | 87 | } |
88 | EXPORT_SYMBOL(__kunmap_atomic); | ||
80 | 89 | ||
81 | /* | 90 | /* |
82 | * This is the same as kmap_atomic() but can map memory that doesn't | 91 | * This is the same as kmap_atomic() but can map memory that doesn't |
@@ -92,7 +101,7 @@ void *kmap_atomic_pfn(unsigned long pfn, enum km_type type) | |||
92 | debug_kmap_atomic(type); | 101 | debug_kmap_atomic(type); |
93 | idx = type + KM_TYPE_NR*smp_processor_id(); | 102 | idx = type + KM_TYPE_NR*smp_processor_id(); |
94 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); | 103 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); |
95 | set_pte(kmap_pte-idx, pfn_pte(pfn, kmap_prot)); | 104 | set_pte(kmap_pte-idx, pfn_pte(pfn, PAGE_KERNEL)); |
96 | flush_tlb_one(vaddr); | 105 | flush_tlb_one(vaddr); |
97 | 106 | ||
98 | return (void*) vaddr; | 107 | return (void*) vaddr; |
@@ -111,7 +120,11 @@ struct page *__kmap_atomic_to_page(void *ptr) | |||
111 | return pte_page(*pte); | 120 | return pte_page(*pte); |
112 | } | 121 | } |
113 | 122 | ||
114 | EXPORT_SYMBOL(__kmap); | 123 | void __init kmap_init(void) |
115 | EXPORT_SYMBOL(__kunmap); | 124 | { |
116 | EXPORT_SYMBOL(__kmap_atomic); | 125 | unsigned long kmap_vstart; |
117 | EXPORT_SYMBOL(__kunmap_atomic); | 126 | |
127 | /* cache the first kmap pte */ | ||
128 | kmap_vstart = __fix_to_virt(FIX_KMAP_BEGIN); | ||
129 | kmap_pte = kmap_get_fixmap_pte(kmap_vstart); | ||
130 | } | ||
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index d9348946a19e..c5511294a9ee 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c | |||
@@ -104,14 +104,6 @@ unsigned long setup_zero_pages(void) | |||
104 | return 1UL << order; | 104 | return 1UL << order; |
105 | } | 105 | } |
106 | 106 | ||
107 | /* | ||
108 | * These are almost like kmap_atomic / kunmap_atmic except they take an | ||
109 | * additional address argument as the hint. | ||
110 | */ | ||
111 | |||
112 | #define kmap_get_fixmap_pte(vaddr) \ | ||
113 | pte_offset_kernel(pmd_offset(pud_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr)), (vaddr)) | ||
114 | |||
115 | #ifdef CONFIG_MIPS_MT_SMTC | 107 | #ifdef CONFIG_MIPS_MT_SMTC |
116 | static pte_t *kmap_coherent_pte; | 108 | static pte_t *kmap_coherent_pte; |
117 | static void __init kmap_coherent_init(void) | 109 | static void __init kmap_coherent_init(void) |
@@ -264,24 +256,6 @@ void copy_from_user_page(struct vm_area_struct *vma, | |||
264 | } | 256 | } |
265 | } | 257 | } |
266 | 258 | ||
267 | #ifdef CONFIG_HIGHMEM | ||
268 | unsigned long highstart_pfn, highend_pfn; | ||
269 | |||
270 | pte_t *kmap_pte; | ||
271 | pgprot_t kmap_prot; | ||
272 | |||
273 | static void __init kmap_init(void) | ||
274 | { | ||
275 | unsigned long kmap_vstart; | ||
276 | |||
277 | /* cache the first kmap pte */ | ||
278 | kmap_vstart = __fix_to_virt(FIX_KMAP_BEGIN); | ||
279 | kmap_pte = kmap_get_fixmap_pte(kmap_vstart); | ||
280 | |||
281 | kmap_prot = PAGE_KERNEL; | ||
282 | } | ||
283 | #endif /* CONFIG_HIGHMEM */ | ||
284 | |||
285 | void __init fixrange_init(unsigned long start, unsigned long end, | 259 | void __init fixrange_init(unsigned long start, unsigned long end, |
286 | pgd_t *pgd_base) | 260 | pgd_t *pgd_base) |
287 | { | 261 | { |
diff --git a/arch/mips/mm/sc-rm7k.c b/arch/mips/mm/sc-rm7k.c index e3abfb2d7e86..de69bfbf506e 100644 --- a/arch/mips/mm/sc-rm7k.c +++ b/arch/mips/mm/sc-rm7k.c | |||
@@ -29,7 +29,7 @@ extern unsigned long icache_way_size, dcache_way_size; | |||
29 | 29 | ||
30 | #include <asm/r4kcache.h> | 30 | #include <asm/r4kcache.h> |
31 | 31 | ||
32 | int rm7k_tcache_enabled; | 32 | static int rm7k_tcache_enabled; |
33 | 33 | ||
34 | /* | 34 | /* |
35 | * Writeback and invalidate the primary cache dcache before DMA. | 35 | * Writeback and invalidate the primary cache dcache before DMA. |
@@ -121,7 +121,7 @@ static void rm7k_sc_disable(void) | |||
121 | clear_c0_config(RM7K_CONF_SE); | 121 | clear_c0_config(RM7K_CONF_SE); |
122 | } | 122 | } |
123 | 123 | ||
124 | struct bcache_ops rm7k_sc_ops = { | 124 | static struct bcache_ops rm7k_sc_ops = { |
125 | .bc_enable = rm7k_sc_enable, | 125 | .bc_enable = rm7k_sc_enable, |
126 | .bc_disable = rm7k_sc_disable, | 126 | .bc_disable = rm7k_sc_disable, |
127 | .bc_wback_inv = rm7k_sc_wback_inv, | 127 | .bc_wback_inv = rm7k_sc_wback_inv, |
diff --git a/arch/mips/mm/tlb-r3k.c b/arch/mips/mm/tlb-r3k.c index f0cf46adb978..1c0048a6f5cf 100644 --- a/arch/mips/mm/tlb-r3k.c +++ b/arch/mips/mm/tlb-r3k.c | |||
@@ -82,8 +82,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, | |||
82 | int cpu = smp_processor_id(); | 82 | int cpu = smp_processor_id(); |
83 | 83 | ||
84 | if (cpu_context(cpu, mm) != 0) { | 84 | if (cpu_context(cpu, mm) != 0) { |
85 | unsigned long flags; | 85 | unsigned long size, flags; |
86 | int size; | ||
87 | 86 | ||
88 | #ifdef DEBUG_TLB | 87 | #ifdef DEBUG_TLB |
89 | printk("[tlbrange<%lu,0x%08lx,0x%08lx>]", | 88 | printk("[tlbrange<%lu,0x%08lx,0x%08lx>]", |
@@ -121,8 +120,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, | |||
121 | 120 | ||
122 | void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) | 121 | void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) |
123 | { | 122 | { |
124 | unsigned long flags; | 123 | unsigned long size, flags; |
125 | int size; | ||
126 | 124 | ||
127 | #ifdef DEBUG_TLB | 125 | #ifdef DEBUG_TLB |
128 | printk("[tlbrange<%lu,0x%08lx,0x%08lx>]", start, end); | 126 | printk("[tlbrange<%lu,0x%08lx,0x%08lx>]", start, end); |
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c index 9619f66e531e..892be426787c 100644 --- a/arch/mips/mm/tlb-r4k.c +++ b/arch/mips/mm/tlb-r4k.c | |||
@@ -117,8 +117,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, | |||
117 | int cpu = smp_processor_id(); | 117 | int cpu = smp_processor_id(); |
118 | 118 | ||
119 | if (cpu_context(cpu, mm) != 0) { | 119 | if (cpu_context(cpu, mm) != 0) { |
120 | unsigned long flags; | 120 | unsigned long size, flags; |
121 | int size; | ||
122 | 121 | ||
123 | ENTER_CRITICAL(flags); | 122 | ENTER_CRITICAL(flags); |
124 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; | 123 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; |
@@ -160,8 +159,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, | |||
160 | 159 | ||
161 | void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) | 160 | void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) |
162 | { | 161 | { |
163 | unsigned long flags; | 162 | unsigned long size, flags; |
164 | int size; | ||
165 | 163 | ||
166 | ENTER_CRITICAL(flags); | 164 | ENTER_CRITICAL(flags); |
167 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; | 165 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; |
diff --git a/arch/mips/mm/tlb-r8k.c b/arch/mips/mm/tlb-r8k.c index 4f01a3be215c..4ec95cc2df2f 100644 --- a/arch/mips/mm/tlb-r8k.c +++ b/arch/mips/mm/tlb-r8k.c | |||
@@ -111,8 +111,7 @@ out_restore: | |||
111 | /* Usable for KV1 addresses only! */ | 111 | /* Usable for KV1 addresses only! */ |
112 | void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) | 112 | void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) |
113 | { | 113 | { |
114 | unsigned long flags; | 114 | unsigned long size, flags; |
115 | int size; | ||
116 | 115 | ||
117 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; | 116 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; |
118 | size = (size + 1) >> 1; | 117 | size = (size + 1) >> 1; |
diff --git a/arch/mips/pmc-sierra/Kconfig b/arch/mips/pmc-sierra/Kconfig index 90261b83db04..c139988bb85d 100644 --- a/arch/mips/pmc-sierra/Kconfig +++ b/arch/mips/pmc-sierra/Kconfig | |||
@@ -36,18 +36,6 @@ config PMC_MSP7120_FPGA | |||
36 | 36 | ||
37 | endchoice | 37 | endchoice |
38 | 38 | ||
39 | menu "Options for PMC-Sierra MSP chipsets" | ||
40 | depends on PMC_MSP | ||
41 | |||
42 | config PMC_MSP_EMBEDDED_ROOTFS | ||
43 | bool "Root filesystem embedded in kernel image" | ||
44 | select MTD | ||
45 | select MTD_BLOCK | ||
46 | select MTD_PMC_MSP_RAMROOT | ||
47 | select MTD_RAM | ||
48 | |||
49 | endmenu | ||
50 | |||
51 | config HYPERTRANSPORT | 39 | config HYPERTRANSPORT |
52 | bool "Hypertransport Support for PMC-Sierra Yosemite" | 40 | bool "Hypertransport Support for PMC-Sierra Yosemite" |
53 | depends on PMC_YOSEMITE | 41 | depends on PMC_YOSEMITE |
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_prom.c b/arch/mips/pmc-sierra/msp71xx/msp_prom.c index e5bd5481d8db..c317a3623ce9 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_prom.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_prom.c | |||
@@ -40,12 +40,6 @@ | |||
40 | #include <linux/string.h> | 40 | #include <linux/string.h> |
41 | #include <linux/interrupt.h> | 41 | #include <linux/interrupt.h> |
42 | #include <linux/mm.h> | 42 | #include <linux/mm.h> |
43 | #ifdef CONFIG_CRAMFS | ||
44 | #include <linux/cramfs_fs.h> | ||
45 | #endif | ||
46 | #ifdef CONFIG_SQUASHFS | ||
47 | #include <linux/squashfs_fs.h> | ||
48 | #endif | ||
49 | 43 | ||
50 | #include <asm/addrspace.h> | 44 | #include <asm/addrspace.h> |
51 | #include <asm/bootinfo.h> | 45 | #include <asm/bootinfo.h> |
@@ -435,10 +429,6 @@ struct prom_pmemblock *__init prom_getmdesc(void) | |||
435 | char *str; | 429 | char *str; |
436 | unsigned int memsize; | 430 | unsigned int memsize; |
437 | unsigned int heaptop; | 431 | unsigned int heaptop; |
438 | #ifdef CONFIG_MTD_PMC_MSP_RAMROOT | ||
439 | void *ramroot_start; | ||
440 | unsigned long ramroot_size; | ||
441 | #endif | ||
442 | int i; | 432 | int i; |
443 | 433 | ||
444 | str = prom_getenv(memsz_env); | 434 | str = prom_getenv(memsz_env); |
@@ -506,19 +496,7 @@ struct prom_pmemblock *__init prom_getmdesc(void) | |||
506 | i++; /* 3 */ | 496 | i++; /* 3 */ |
507 | mdesc[i].type = BOOT_MEM_RESERVED; | 497 | mdesc[i].type = BOOT_MEM_RESERVED; |
508 | mdesc[i].base = CPHYSADDR((u32)_text); | 498 | mdesc[i].base = CPHYSADDR((u32)_text); |
509 | #ifdef CONFIG_MTD_PMC_MSP_RAMROOT | 499 | mdesc[i].size = CPHYSADDR(PAGE_ALIGN((u32)_end)) - mdesc[i].base; |
510 | if (get_ramroot(&ramroot_start, &ramroot_size)) { | ||
511 | /* | ||
512 | * Rootfs in RAM -- follows kernel | ||
513 | * Combine rootfs image with kernel block so a | ||
514 | * page (4k) isn't wasted between memory blocks | ||
515 | */ | ||
516 | mdesc[i].size = CPHYSADDR(PAGE_ALIGN( | ||
517 | (u32)ramroot_start + ramroot_size)) - mdesc[i].base; | ||
518 | } else | ||
519 | #endif | ||
520 | mdesc[i].size = CPHYSADDR(PAGE_ALIGN( | ||
521 | (u32)_end)) - mdesc[i].base; | ||
522 | 500 | ||
523 | /* Remainder of RAM -- under memsize */ | 501 | /* Remainder of RAM -- under memsize */ |
524 | i++; /* 5 */ | 502 | i++; /* 5 */ |
@@ -528,39 +506,3 @@ struct prom_pmemblock *__init prom_getmdesc(void) | |||
528 | 506 | ||
529 | return &mdesc[0]; | 507 | return &mdesc[0]; |
530 | } | 508 | } |
531 | |||
532 | /* rootfs functions */ | ||
533 | #ifdef CONFIG_MTD_PMC_MSP_RAMROOT | ||
534 | bool get_ramroot(void **start, unsigned long *size) | ||
535 | { | ||
536 | extern char _end[]; | ||
537 | |||
538 | /* Check for start following the end of the kernel */ | ||
539 | void *check_start = (void *)_end; | ||
540 | |||
541 | /* Check for supported rootfs types */ | ||
542 | #ifdef CONFIG_CRAMFS | ||
543 | if (*(__u32 *)check_start == CRAMFS_MAGIC) { | ||
544 | /* Get CRAMFS size */ | ||
545 | *start = check_start; | ||
546 | *size = PAGE_ALIGN(((struct cramfs_super *) | ||
547 | check_start)->size); | ||
548 | |||
549 | return true; | ||
550 | } | ||
551 | #endif | ||
552 | #ifdef CONFIG_SQUASHFS | ||
553 | if (*((unsigned int *)check_start) == SQUASHFS_MAGIC) { | ||
554 | /* Get SQUASHFS size */ | ||
555 | *start = check_start; | ||
556 | *size = PAGE_ALIGN(((struct squashfs_super_block *) | ||
557 | check_start)->bytes_used); | ||
558 | |||
559 | return true; | ||
560 | } | ||
561 | #endif | ||
562 | |||
563 | return false; | ||
564 | } | ||
565 | EXPORT_SYMBOL(get_ramroot); | ||
566 | #endif | ||
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_setup.c b/arch/mips/pmc-sierra/msp71xx/msp_setup.c index c93675615f5d..a54e85b3cf29 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_setup.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_setup.c | |||
@@ -21,7 +21,6 @@ | |||
21 | 21 | ||
22 | #if defined(CONFIG_PMC_MSP7120_GW) | 22 | #if defined(CONFIG_PMC_MSP7120_GW) |
23 | #include <msp_regops.h> | 23 | #include <msp_regops.h> |
24 | #include <msp_gpio.h> | ||
25 | #define MSP_BOARD_RESET_GPIO 9 | 24 | #define MSP_BOARD_RESET_GPIO 9 |
26 | #endif | 25 | #endif |
27 | 26 | ||
@@ -88,11 +87,8 @@ void msp7120_reset(void) | |||
88 | * as GPIO char driver may not be enabled and it would look up | 87 | * as GPIO char driver may not be enabled and it would look up |
89 | * data inRAM! | 88 | * data inRAM! |
90 | */ | 89 | */ |
91 | set_value_reg32(GPIO_CFG3_REG, | 90 | set_value_reg32(GPIO_CFG3_REG, 0xf000, 0x8000); |
92 | basic_mode_mask(MSP_BOARD_RESET_GPIO), | 91 | set_reg32(GPIO_DATA3_REG, 8); |
93 | basic_mode(MSP_GPIO_OUTPUT, MSP_BOARD_RESET_GPIO)); | ||
94 | set_reg32(GPIO_DATA3_REG, | ||
95 | basic_data_mask(MSP_BOARD_RESET_GPIO)); | ||
96 | 92 | ||
97 | /* | 93 | /* |
98 | * In case GPIO9 doesn't reset the board (jumper configurable!) | 94 | * In case GPIO9 doesn't reset the board (jumper configurable!) |
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_time.c b/arch/mips/pmc-sierra/msp71xx/msp_time.c index 7cfeda5a651b..cca64e15f57f 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_time.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_time.c | |||
@@ -81,10 +81,7 @@ void __init plat_time_init(void) | |||
81 | mips_hpt_frequency = cpu_rate/2; | 81 | mips_hpt_frequency = cpu_rate/2; |
82 | } | 82 | } |
83 | 83 | ||
84 | void __init plat_timer_setup(struct irqaction *irq) | 84 | unsigned int __init get_c0_compare_int(void) |
85 | { | 85 | { |
86 | #ifdef CONFIG_IRQ_MSP_CIC | 86 | return MSP_INT_VPE0_TIMER; |
87 | /* we are using the vpe0 counter for timer interrupts */ | ||
88 | setup_irq(MSP_INT_VPE0_TIMER, irq); | ||
89 | #endif | ||
90 | } | 87 | } |
diff --git a/arch/mips/sgi-ip22/ip22-reset.c b/arch/mips/sgi-ip22/ip22-reset.c index 4ad5c3393fd3..45b6694c2079 100644 --- a/arch/mips/sgi-ip22/ip22-reset.c +++ b/arch/mips/sgi-ip22/ip22-reset.c | |||
@@ -148,7 +148,7 @@ static irqreturn_t panel_int(int irq, void *dev_id) | |||
148 | 148 | ||
149 | if (sgint->istat1 & SGINT_ISTAT1_PWR) { | 149 | if (sgint->istat1 & SGINT_ISTAT1_PWR) { |
150 | /* Wait until interrupt goes away */ | 150 | /* Wait until interrupt goes away */ |
151 | disable_irq(SGI_PANEL_IRQ); | 151 | disable_irq_nosync(SGI_PANEL_IRQ); |
152 | init_timer(&debounce_timer); | 152 | init_timer(&debounce_timer); |
153 | debounce_timer.function = debounce; | 153 | debounce_timer.function = debounce; |
154 | debounce_timer.expires = jiffies + 5; | 154 | debounce_timer.expires = jiffies + 5; |
diff --git a/arch/mips/sgi-ip32/ip32-berr.c b/arch/mips/sgi-ip32/ip32-berr.c index a278e918a019..afc1cadbba37 100644 --- a/arch/mips/sgi-ip32/ip32-berr.c +++ b/arch/mips/sgi-ip32/ip32-berr.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <asm/ptrace.h> | 16 | #include <asm/ptrace.h> |
17 | #include <asm/tlbdebug.h> | 17 | #include <asm/tlbdebug.h> |
18 | 18 | ||
19 | int ip32_be_handler(struct pt_regs *regs, int is_fixup) | 19 | static int ip32_be_handler(struct pt_regs *regs, int is_fixup) |
20 | { | 20 | { |
21 | int data = regs->cp0_cause & 4; | 21 | int data = regs->cp0_cause & 4; |
22 | 22 | ||
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c index 83a0b3c359da..5c2bf111ca67 100644 --- a/arch/mips/sgi-ip32/ip32-irq.c +++ b/arch/mips/sgi-ip32/ip32-irq.c | |||
@@ -112,13 +112,13 @@ static void inline flush_mace_bus(void) | |||
112 | extern irqreturn_t crime_memerr_intr(int irq, void *dev_id); | 112 | extern irqreturn_t crime_memerr_intr(int irq, void *dev_id); |
113 | extern irqreturn_t crime_cpuerr_intr(int irq, void *dev_id); | 113 | extern irqreturn_t crime_cpuerr_intr(int irq, void *dev_id); |
114 | 114 | ||
115 | struct irqaction memerr_irq = { | 115 | static struct irqaction memerr_irq = { |
116 | .handler = crime_memerr_intr, | 116 | .handler = crime_memerr_intr, |
117 | .flags = IRQF_DISABLED, | 117 | .flags = IRQF_DISABLED, |
118 | .name = "CRIME memory error", | 118 | .name = "CRIME memory error", |
119 | }; | 119 | }; |
120 | 120 | ||
121 | struct irqaction cpuerr_irq = { | 121 | static struct irqaction cpuerr_irq = { |
122 | .handler = crime_cpuerr_intr, | 122 | .handler = crime_cpuerr_intr, |
123 | .flags = IRQF_DISABLED, | 123 | .flags = IRQF_DISABLED, |
124 | .name = "CRIME CPU error", | 124 | .name = "CRIME CPU error", |
diff --git a/arch/mips/sgi-ip32/ip32-reset.c b/arch/mips/sgi-ip32/ip32-reset.c index b6cab089561e..9b95d80ebc6e 100644 --- a/arch/mips/sgi-ip32/ip32-reset.c +++ b/arch/mips/sgi-ip32/ip32-reset.c | |||
@@ -53,7 +53,7 @@ static inline void ip32_machine_halt(void) | |||
53 | 53 | ||
54 | static void ip32_machine_power_off(void) | 54 | static void ip32_machine_power_off(void) |
55 | { | 55 | { |
56 | volatile unsigned char reg_a, xctrl_a, xctrl_b; | 56 | unsigned char reg_a, xctrl_a, xctrl_b; |
57 | 57 | ||
58 | disable_irq(MACEISA_RTC_IRQ); | 58 | disable_irq(MACEISA_RTC_IRQ); |
59 | reg_a = CMOS_READ(RTC_REG_A); | 59 | reg_a = CMOS_READ(RTC_REG_A); |
@@ -91,9 +91,10 @@ static void blink_timeout(unsigned long data) | |||
91 | 91 | ||
92 | static void debounce(unsigned long data) | 92 | static void debounce(unsigned long data) |
93 | { | 93 | { |
94 | volatile unsigned char reg_a, reg_c, xctrl_a; | 94 | unsigned char reg_a, reg_c, xctrl_a; |
95 | 95 | ||
96 | reg_c = CMOS_READ(RTC_INTR_FLAGS); | 96 | reg_c = CMOS_READ(RTC_INTR_FLAGS); |
97 | reg_a = CMOS_READ(RTC_REG_A); | ||
97 | CMOS_WRITE(reg_a | DS_REGA_DV0, RTC_REG_A); | 98 | CMOS_WRITE(reg_a | DS_REGA_DV0, RTC_REG_A); |
98 | wbflush(); | 99 | wbflush(); |
99 | xctrl_a = CMOS_READ(DS_B1_XCTRL4A); | 100 | xctrl_a = CMOS_READ(DS_B1_XCTRL4A); |
@@ -137,7 +138,7 @@ static inline void ip32_power_button(void) | |||
137 | 138 | ||
138 | static irqreturn_t ip32_rtc_int(int irq, void *dev_id) | 139 | static irqreturn_t ip32_rtc_int(int irq, void *dev_id) |
139 | { | 140 | { |
140 | volatile unsigned char reg_c; | 141 | unsigned char reg_c; |
141 | 142 | ||
142 | reg_c = CMOS_READ(RTC_INTR_FLAGS); | 143 | reg_c = CMOS_READ(RTC_INTR_FLAGS); |
143 | if (!(reg_c & RTC_IRQF)) { | 144 | if (!(reg_c & RTC_IRQF)) { |
@@ -145,7 +146,7 @@ static irqreturn_t ip32_rtc_int(int irq, void *dev_id) | |||
145 | "%s: RTC IRQ without RTC_IRQF\n", __func__); | 146 | "%s: RTC IRQ without RTC_IRQF\n", __func__); |
146 | } | 147 | } |
147 | /* Wait until interrupt goes away */ | 148 | /* Wait until interrupt goes away */ |
148 | disable_irq(MACEISA_RTC_IRQ); | 149 | disable_irq_nosync(MACEISA_RTC_IRQ); |
149 | init_timer(&debounce_timer); | 150 | init_timer(&debounce_timer); |
150 | debounce_timer.function = debounce; | 151 | debounce_timer.function = debounce; |
151 | debounce_timer.expires = jiffies + 50; | 152 | debounce_timer.expires = jiffies + 50; |
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c index 352352b3cb2f..c147c4b35d3f 100644 --- a/arch/mips/sibyte/bcm1480/irq.c +++ b/arch/mips/sibyte/bcm1480/irq.c | |||
@@ -113,7 +113,6 @@ static void bcm1480_set_affinity(unsigned int irq, const struct cpumask *mask) | |||
113 | { | 113 | { |
114 | int i = 0, old_cpu, cpu, int_on, k; | 114 | int i = 0, old_cpu, cpu, int_on, k; |
115 | u64 cur_ints; | 115 | u64 cur_ints; |
116 | struct irq_desc *desc = irq_desc + irq; | ||
117 | unsigned long flags; | 116 | unsigned long flags; |
118 | unsigned int irq_dirty; | 117 | unsigned int irq_dirty; |
119 | 118 | ||
@@ -127,8 +126,7 @@ static void bcm1480_set_affinity(unsigned int irq, const struct cpumask *mask) | |||
127 | cpu = cpu_logical_map(i); | 126 | cpu = cpu_logical_map(i); |
128 | 127 | ||
129 | /* Protect against other affinity changers and IMR manipulation */ | 128 | /* Protect against other affinity changers and IMR manipulation */ |
130 | spin_lock_irqsave(&desc->lock, flags); | 129 | spin_lock_irqsave(&bcm1480_imr_lock, flags); |
131 | spin_lock(&bcm1480_imr_lock); | ||
132 | 130 | ||
133 | /* Swizzle each CPU's IMR (but leave the IP selection alone) */ | 131 | /* Swizzle each CPU's IMR (but leave the IP selection alone) */ |
134 | old_cpu = bcm1480_irq_owner[irq]; | 132 | old_cpu = bcm1480_irq_owner[irq]; |
@@ -153,8 +151,7 @@ static void bcm1480_set_affinity(unsigned int irq, const struct cpumask *mask) | |||
153 | ____raw_writeq(cur_ints, IOADDR(A_BCM1480_IMR_MAPPER(cpu) + R_BCM1480_IMR_INTERRUPT_MASK_H + (k*BCM1480_IMR_HL_SPACING))); | 151 | ____raw_writeq(cur_ints, IOADDR(A_BCM1480_IMR_MAPPER(cpu) + R_BCM1480_IMR_INTERRUPT_MASK_H + (k*BCM1480_IMR_HL_SPACING))); |
154 | } | 152 | } |
155 | } | 153 | } |
156 | spin_unlock(&bcm1480_imr_lock); | 154 | spin_unlock_irqrestore(&bcm1480_imr_lock, flags); |
157 | spin_unlock_irqrestore(&desc->lock, flags); | ||
158 | } | 155 | } |
159 | #endif | 156 | #endif |
160 | 157 | ||
diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c index c08ff582da6f..38cb998ade22 100644 --- a/arch/mips/sibyte/sb1250/irq.c +++ b/arch/mips/sibyte/sb1250/irq.c | |||
@@ -107,7 +107,6 @@ static void sb1250_set_affinity(unsigned int irq, const struct cpumask *mask) | |||
107 | { | 107 | { |
108 | int i = 0, old_cpu, cpu, int_on; | 108 | int i = 0, old_cpu, cpu, int_on; |
109 | u64 cur_ints; | 109 | u64 cur_ints; |
110 | struct irq_desc *desc = irq_desc + irq; | ||
111 | unsigned long flags; | 110 | unsigned long flags; |
112 | 111 | ||
113 | i = cpumask_first(mask); | 112 | i = cpumask_first(mask); |
@@ -121,8 +120,7 @@ static void sb1250_set_affinity(unsigned int irq, const struct cpumask *mask) | |||
121 | cpu = cpu_logical_map(i); | 120 | cpu = cpu_logical_map(i); |
122 | 121 | ||
123 | /* Protect against other affinity changers and IMR manipulation */ | 122 | /* Protect against other affinity changers and IMR manipulation */ |
124 | spin_lock_irqsave(&desc->lock, flags); | 123 | spin_lock_irqsave(&sb1250_imr_lock, flags); |
125 | spin_lock(&sb1250_imr_lock); | ||
126 | 124 | ||
127 | /* Swizzle each CPU's IMR (but leave the IP selection alone) */ | 125 | /* Swizzle each CPU's IMR (but leave the IP selection alone) */ |
128 | old_cpu = sb1250_irq_owner[irq]; | 126 | old_cpu = sb1250_irq_owner[irq]; |
@@ -144,8 +142,7 @@ static void sb1250_set_affinity(unsigned int irq, const struct cpumask *mask) | |||
144 | ____raw_writeq(cur_ints, IOADDR(A_IMR_MAPPER(cpu) + | 142 | ____raw_writeq(cur_ints, IOADDR(A_IMR_MAPPER(cpu) + |
145 | R_IMR_INTERRUPT_MASK)); | 143 | R_IMR_INTERRUPT_MASK)); |
146 | } | 144 | } |
147 | spin_unlock(&sb1250_imr_lock); | 145 | spin_unlock_irqrestore(&sb1250_imr_lock, flags); |
148 | spin_unlock_irqrestore(&desc->lock, flags); | ||
149 | } | 146 | } |
150 | #endif | 147 | #endif |
151 | 148 | ||
diff --git a/arch/mips/txx9/generic/setup_tx4927.c b/arch/mips/txx9/generic/setup_tx4927.c index 914e93c62639..1093549df1a8 100644 --- a/arch/mips/txx9/generic/setup_tx4927.c +++ b/arch/mips/txx9/generic/setup_tx4927.c | |||
@@ -88,7 +88,7 @@ void __init tx4927_setup(void) | |||
88 | { | 88 | { |
89 | int i; | 89 | int i; |
90 | __u32 divmode; | 90 | __u32 divmode; |
91 | int cpuclk = 0; | 91 | unsigned int cpuclk = 0; |
92 | u64 ccfg; | 92 | u64 ccfg; |
93 | 93 | ||
94 | txx9_reg_res_init(TX4927_REV_PCODE(), TX4927_REG_BASE, | 94 | txx9_reg_res_init(TX4927_REV_PCODE(), TX4927_REG_BASE, |
diff --git a/arch/mips/txx9/generic/setup_tx4938.c b/arch/mips/txx9/generic/setup_tx4938.c index f0844f891f0b..3925219b8973 100644 --- a/arch/mips/txx9/generic/setup_tx4938.c +++ b/arch/mips/txx9/generic/setup_tx4938.c | |||
@@ -93,7 +93,7 @@ void __init tx4938_setup(void) | |||
93 | { | 93 | { |
94 | int i; | 94 | int i; |
95 | __u32 divmode; | 95 | __u32 divmode; |
96 | int cpuclk = 0; | 96 | unsigned int cpuclk = 0; |
97 | u64 ccfg; | 97 | u64 ccfg; |
98 | 98 | ||
99 | txx9_reg_res_init(TX4938_REV_PCODE(), TX4938_REG_BASE, | 99 | txx9_reg_res_init(TX4938_REV_PCODE(), TX4938_REG_BASE, |
diff --git a/arch/mips/txx9/generic/setup_tx4939.c b/arch/mips/txx9/generic/setup_tx4939.c index 7a25b573e9b0..c2bf150c8838 100644 --- a/arch/mips/txx9/generic/setup_tx4939.c +++ b/arch/mips/txx9/generic/setup_tx4939.c | |||
@@ -114,7 +114,7 @@ void __init tx4939_setup(void) | |||
114 | int i; | 114 | int i; |
115 | __u32 divmode; | 115 | __u32 divmode; |
116 | __u64 pcfg; | 116 | __u64 pcfg; |
117 | int cpuclk = 0; | 117 | unsigned int cpuclk = 0; |
118 | 118 | ||
119 | txx9_reg_res_init(TX4939_REV_PCODE(), TX4939_REG_BASE, | 119 | txx9_reg_res_init(TX4939_REV_PCODE(), TX4939_REG_BASE, |
120 | TX4939_REG_SIZE); | 120 | TX4939_REG_SIZE); |
diff --git a/arch/mips/txx9/rbtx4939/setup.c b/arch/mips/txx9/rbtx4939/setup.c index 011e1e332f47..4199c6fd4d1d 100644 --- a/arch/mips/txx9/rbtx4939/setup.c +++ b/arch/mips/txx9/rbtx4939/setup.c | |||
@@ -536,7 +536,7 @@ static void __init rbtx4939_setup(void) | |||
536 | } | 536 | } |
537 | 537 | ||
538 | struct txx9_board_vec rbtx4939_vec __initdata = { | 538 | struct txx9_board_vec rbtx4939_vec __initdata = { |
539 | .system = "Tothiba RBTX4939", | 539 | .system = "Toshiba RBTX4939", |
540 | .prom_init = rbtx4939_prom_init, | 540 | .prom_init = rbtx4939_prom_init, |
541 | .mem_setup = rbtx4939_setup, | 541 | .mem_setup = rbtx4939_setup, |
542 | .irq_setup = rbtx4939_irq_setup, | 542 | .irq_setup = rbtx4939_irq_setup, |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index a0d1146a0578..cdc9a6ff4be8 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -868,6 +868,18 @@ config TASK_SIZE | |||
868 | default "0x80000000" if PPC_PREP || PPC_8xx | 868 | default "0x80000000" if PPC_PREP || PPC_8xx |
869 | default "0xc0000000" | 869 | default "0xc0000000" |
870 | 870 | ||
871 | config CONSISTENT_SIZE_BOOL | ||
872 | bool "Set custom consistent memory pool size" | ||
873 | depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | ||
874 | help | ||
875 | This option allows you to set the size of the | ||
876 | consistent memory pool. This pool of virtual memory | ||
877 | is used to make consistent memory allocations. | ||
878 | |||
879 | config CONSISTENT_SIZE | ||
880 | hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL | ||
881 | default "0x00200000" if NOT_COHERENT_CACHE | ||
882 | |||
871 | config PIN_TLB | 883 | config PIN_TLB |
872 | bool "Pinned Kernel TLBs (860 ONLY)" | 884 | bool "Pinned Kernel TLBs (860 ONLY)" |
873 | depends on ADVANCED_OPTIONS && 8xx | 885 | depends on ADVANCED_OPTIONS && 8xx |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 8da2bf963b57..9ae7b7e2ba71 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -346,7 +346,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) | |||
346 | clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ | 346 | clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ |
347 | zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ | 347 | zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ |
348 | zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ | 348 | zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ |
349 | otheros.bld *.dtb | 349 | simpleImage.* otheros.bld *.dtb |
350 | 350 | ||
351 | # clean up files cached by wrapper | 351 | # clean up files cached by wrapper |
352 | clean-kernel := vmlinux.strip vmlinux.bin | 352 | clean-kernel := vmlinux.strip vmlinux.bin |
diff --git a/arch/powerpc/boot/mktree.c b/arch/powerpc/boot/mktree.c index 45d06a8c7cd1..c2baae0a3d89 100644 --- a/arch/powerpc/boot/mktree.c +++ b/arch/powerpc/boot/mktree.c | |||
@@ -42,7 +42,7 @@ int main(int argc, char *argv[]) | |||
42 | { | 42 | { |
43 | int in_fd, out_fd; | 43 | int in_fd, out_fd; |
44 | int nblks, i; | 44 | int nblks, i; |
45 | uint cksum, *cp; | 45 | unsigned int cksum, *cp; |
46 | struct stat st; | 46 | struct stat st; |
47 | boot_block_t bt; | 47 | boot_block_t bt; |
48 | 48 | ||
@@ -90,7 +90,7 @@ int main(int argc, char *argv[]) | |||
90 | 90 | ||
91 | cksum = 0; | 91 | cksum = 0; |
92 | cp = (void *)&bt; | 92 | cp = (void *)&bt; |
93 | for (i=0; i<sizeof(bt)/sizeof(uint); i++) | 93 | for (i = 0; i < sizeof(bt) / sizeof(unsigned int); i++) |
94 | cksum += *cp++; | 94 | cksum += *cp++; |
95 | 95 | ||
96 | /* Assume zImage is an ELF file, and skip the 64K header. | 96 | /* Assume zImage is an ELF file, and skip the 64K header. |
@@ -101,7 +101,7 @@ int main(int argc, char *argv[]) | |||
101 | exit(4); | 101 | exit(4); |
102 | } | 102 | } |
103 | 103 | ||
104 | if ((*(uint *)tmpbuf) != htonl(0x7f454c46)) { | 104 | if ((*(unsigned int *)tmpbuf) != htonl(0x7f454c46)) { |
105 | fprintf(stderr, "%s is not an ELF image\n", argv[1]); | 105 | fprintf(stderr, "%s is not an ELF image\n", argv[1]); |
106 | exit(4); | 106 | exit(4); |
107 | } | 107 | } |
@@ -125,8 +125,8 @@ int main(int argc, char *argv[]) | |||
125 | perror("zImage read"); | 125 | perror("zImage read"); |
126 | exit(5); | 126 | exit(5); |
127 | } | 127 | } |
128 | cp = (uint *)tmpbuf; | 128 | cp = (unsigned int *)tmpbuf; |
129 | for (i=0; i<sizeof(tmpbuf)/sizeof(uint); i++) | 129 | for (i = 0; i < sizeof(tmpbuf) / sizeof(unsigned int); i++) |
130 | cksum += *cp++; | 130 | cksum += *cp++; |
131 | if (write(out_fd, tmpbuf, sizeof(tmpbuf)) != sizeof(tmpbuf)) { | 131 | if (write(out_fd, tmpbuf, sizeof(tmpbuf)) != sizeof(tmpbuf)) { |
132 | perror("boot-image write"); | 132 | perror("boot-image write"); |
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig index fc4a39a40e72..278939713775 100644 --- a/arch/powerpc/configs/83xx/asp8347_defconfig +++ b/arch/powerpc/configs/83xx/asp8347_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:47 2009 | 4 | # Wed May 13 17:22:05 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | CONFIG_FSL_EMB_PERFMON=y | 19 | CONFIG_FSL_EMB_PERFMON=y |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -57,6 +58,7 @@ CONFIG_REDBOOT=y | |||
57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 58 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
58 | # CONFIG_PPC_DCR_NATIVE is not set | 59 | # CONFIG_PPC_DCR_NATIVE is not set |
59 | # CONFIG_PPC_DCR_MMIO is not set | 60 | # CONFIG_PPC_DCR_MMIO is not set |
61 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
61 | 63 | ||
62 | # | 64 | # |
@@ -74,6 +76,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
74 | # CONFIG_BSD_PROCESS_ACCT is not set | 76 | # CONFIG_BSD_PROCESS_ACCT is not set |
75 | # CONFIG_TASKSTATS is not set | 77 | # CONFIG_TASKSTATS is not set |
76 | # CONFIG_AUDIT is not set | 78 | # CONFIG_AUDIT is not set |
79 | |||
80 | # | ||
81 | # RCU Subsystem | ||
82 | # | ||
83 | CONFIG_CLASSIC_RCU=y | ||
84 | # CONFIG_TREE_RCU is not set | ||
85 | # CONFIG_PREEMPT_RCU is not set | ||
86 | # CONFIG_TREE_RCU_TRACE is not set | ||
87 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
77 | # CONFIG_IKCONFIG is not set | 88 | # CONFIG_IKCONFIG is not set |
78 | CONFIG_LOG_BUF_SHIFT=14 | 89 | CONFIG_LOG_BUF_SHIFT=14 |
79 | CONFIG_GROUP_SCHED=y | 90 | CONFIG_GROUP_SCHED=y |
@@ -88,19 +99,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
88 | # CONFIG_NAMESPACES is not set | 99 | # CONFIG_NAMESPACES is not set |
89 | CONFIG_BLK_DEV_INITRD=y | 100 | CONFIG_BLK_DEV_INITRD=y |
90 | CONFIG_INITRAMFS_SOURCE="" | 101 | CONFIG_INITRAMFS_SOURCE="" |
102 | CONFIG_RD_GZIP=y | ||
103 | # CONFIG_RD_BZIP2 is not set | ||
104 | # CONFIG_RD_LZMA is not set | ||
91 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 105 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
92 | CONFIG_SYSCTL=y | 106 | CONFIG_SYSCTL=y |
107 | CONFIG_ANON_INODES=y | ||
93 | CONFIG_EMBEDDED=y | 108 | CONFIG_EMBEDDED=y |
94 | CONFIG_SYSCTL_SYSCALL=y | 109 | CONFIG_SYSCTL_SYSCALL=y |
95 | # CONFIG_KALLSYMS is not set | 110 | # CONFIG_KALLSYMS is not set |
111 | # CONFIG_STRIP_ASM_SYMS is not set | ||
96 | CONFIG_HOTPLUG=y | 112 | CONFIG_HOTPLUG=y |
97 | CONFIG_PRINTK=y | 113 | CONFIG_PRINTK=y |
98 | CONFIG_BUG=y | 114 | CONFIG_BUG=y |
99 | CONFIG_ELF_CORE=y | 115 | CONFIG_ELF_CORE=y |
100 | CONFIG_COMPAT_BRK=y | ||
101 | CONFIG_BASE_FULL=y | 116 | CONFIG_BASE_FULL=y |
102 | CONFIG_FUTEX=y | 117 | CONFIG_FUTEX=y |
103 | CONFIG_ANON_INODES=y | ||
104 | # CONFIG_EPOLL is not set | 118 | # CONFIG_EPOLL is not set |
105 | CONFIG_SIGNALFD=y | 119 | CONFIG_SIGNALFD=y |
106 | CONFIG_TIMERFD=y | 120 | CONFIG_TIMERFD=y |
@@ -110,16 +124,19 @@ CONFIG_AIO=y | |||
110 | CONFIG_VM_EVENT_COUNTERS=y | 124 | CONFIG_VM_EVENT_COUNTERS=y |
111 | CONFIG_PCI_QUIRKS=y | 125 | CONFIG_PCI_QUIRKS=y |
112 | CONFIG_SLUB_DEBUG=y | 126 | CONFIG_SLUB_DEBUG=y |
127 | CONFIG_COMPAT_BRK=y | ||
113 | # CONFIG_SLAB is not set | 128 | # CONFIG_SLAB is not set |
114 | CONFIG_SLUB=y | 129 | CONFIG_SLUB=y |
115 | # CONFIG_SLOB is not set | 130 | # CONFIG_SLOB is not set |
116 | # CONFIG_PROFILING is not set | 131 | # CONFIG_PROFILING is not set |
132 | # CONFIG_MARKERS is not set | ||
117 | CONFIG_HAVE_OPROFILE=y | 133 | CONFIG_HAVE_OPROFILE=y |
118 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 134 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
119 | CONFIG_HAVE_IOREMAP_PROT=y | 135 | CONFIG_HAVE_IOREMAP_PROT=y |
120 | CONFIG_HAVE_KPROBES=y | 136 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 137 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 138 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
139 | # CONFIG_SLOW_WORK is not set | ||
123 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 140 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
124 | CONFIG_SLABINFO=y | 141 | CONFIG_SLABINFO=y |
125 | CONFIG_RT_MUTEXES=y | 142 | CONFIG_RT_MUTEXES=y |
@@ -132,7 +149,6 @@ CONFIG_MODULE_UNLOAD=y | |||
132 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 149 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
133 | CONFIG_BLOCK=y | 150 | CONFIG_BLOCK=y |
134 | # CONFIG_LBD is not set | 151 | # CONFIG_LBD is not set |
135 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
136 | # CONFIG_BLK_DEV_BSG is not set | 152 | # CONFIG_BLK_DEV_BSG is not set |
137 | # CONFIG_BLK_DEV_INTEGRITY is not set | 153 | # CONFIG_BLK_DEV_INTEGRITY is not set |
138 | 154 | ||
@@ -148,18 +164,11 @@ CONFIG_DEFAULT_AS=y | |||
148 | # CONFIG_DEFAULT_CFQ is not set | 164 | # CONFIG_DEFAULT_CFQ is not set |
149 | # CONFIG_DEFAULT_NOOP is not set | 165 | # CONFIG_DEFAULT_NOOP is not set |
150 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 166 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
151 | CONFIG_CLASSIC_RCU=y | ||
152 | # CONFIG_TREE_RCU is not set | ||
153 | # CONFIG_PREEMPT_RCU is not set | ||
154 | # CONFIG_TREE_RCU_TRACE is not set | ||
155 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
156 | # CONFIG_FREEZER is not set | 167 | # CONFIG_FREEZER is not set |
157 | 168 | ||
158 | # | 169 | # |
159 | # Platform support | 170 | # Platform support |
160 | # | 171 | # |
161 | CONFIG_PPC_MULTIPLATFORM=y | ||
162 | CONFIG_CLASSIC32=y | ||
163 | # CONFIG_PPC_CHRP is not set | 172 | # CONFIG_PPC_CHRP is not set |
164 | # CONFIG_MPC5121_ADS is not set | 173 | # CONFIG_MPC5121_ADS is not set |
165 | # CONFIG_MPC5121_GENERIC is not set | 174 | # CONFIG_MPC5121_GENERIC is not set |
@@ -184,6 +193,8 @@ CONFIG_ASP834x=y | |||
184 | CONFIG_PPC_MPC834x=y | 193 | CONFIG_PPC_MPC834x=y |
185 | # CONFIG_PPC_86xx is not set | 194 | # CONFIG_PPC_86xx is not set |
186 | # CONFIG_EMBEDDED6xx is not set | 195 | # CONFIG_EMBEDDED6xx is not set |
196 | # CONFIG_AMIGAONE is not set | ||
197 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
187 | CONFIG_IPIC=y | 198 | CONFIG_IPIC=y |
188 | # CONFIG_MPIC is not set | 199 | # CONFIG_MPIC is not set |
189 | # CONFIG_MPIC_WEIRD is not set | 200 | # CONFIG_MPIC_WEIRD is not set |
@@ -245,9 +256,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
245 | CONFIG_BOUNCE=y | 256 | CONFIG_BOUNCE=y |
246 | CONFIG_VIRT_TO_BUS=y | 257 | CONFIG_VIRT_TO_BUS=y |
247 | CONFIG_UNEVICTABLE_LRU=y | 258 | CONFIG_UNEVICTABLE_LRU=y |
259 | CONFIG_HAVE_MLOCK=y | ||
260 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
248 | CONFIG_PPC_4K_PAGES=y | 261 | CONFIG_PPC_4K_PAGES=y |
249 | # CONFIG_PPC_16K_PAGES is not set | 262 | # CONFIG_PPC_16K_PAGES is not set |
250 | # CONFIG_PPC_64K_PAGES is not set | 263 | # CONFIG_PPC_64K_PAGES is not set |
264 | # CONFIG_PPC_256K_PAGES is not set | ||
251 | CONFIG_FORCE_MAX_ZONEORDER=11 | 265 | CONFIG_FORCE_MAX_ZONEORDER=11 |
252 | CONFIG_PROC_DEVICETREE=y | 266 | CONFIG_PROC_DEVICETREE=y |
253 | # CONFIG_CMDLINE_BOOL is not set | 267 | # CONFIG_CMDLINE_BOOL is not set |
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # CONFIG_PCI_MSI is not set | 287 | # CONFIG_PCI_MSI is not set |
274 | # CONFIG_PCI_LEGACY is not set | 288 | # CONFIG_PCI_LEGACY is not set |
275 | # CONFIG_PCI_STUB is not set | 289 | # CONFIG_PCI_STUB is not set |
290 | # CONFIG_PCI_IOV is not set | ||
276 | # CONFIG_PCCARD is not set | 291 | # CONFIG_PCCARD is not set |
277 | # CONFIG_HOTPLUG_PCI is not set | 292 | # CONFIG_HOTPLUG_PCI is not set |
278 | # CONFIG_HAS_RAPIDIO is not set | 293 | # CONFIG_HAS_RAPIDIO is not set |
@@ -295,7 +310,6 @@ CONFIG_NET=y | |||
295 | # | 310 | # |
296 | # Networking options | 311 | # Networking options |
297 | # | 312 | # |
298 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
299 | CONFIG_PACKET=y | 313 | CONFIG_PACKET=y |
300 | # CONFIG_PACKET_MMAP is not set | 314 | # CONFIG_PACKET_MMAP is not set |
301 | CONFIG_UNIX=y | 315 | CONFIG_UNIX=y |
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_LAPB is not set | 365 | # CONFIG_LAPB is not set |
352 | # CONFIG_ECONET is not set | 366 | # CONFIG_ECONET is not set |
353 | # CONFIG_WAN_ROUTER is not set | 367 | # CONFIG_WAN_ROUTER is not set |
368 | # CONFIG_PHONET is not set | ||
354 | # CONFIG_NET_SCHED is not set | 369 | # CONFIG_NET_SCHED is not set |
355 | # CONFIG_DCB is not set | 370 | # CONFIG_DCB is not set |
356 | 371 | ||
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
363 | # CONFIG_IRDA is not set | 378 | # CONFIG_IRDA is not set |
364 | # CONFIG_BT is not set | 379 | # CONFIG_BT is not set |
365 | # CONFIG_AF_RXRPC is not set | 380 | # CONFIG_AF_RXRPC is not set |
366 | # CONFIG_PHONET is not set | ||
367 | CONFIG_WIRELESS=y | 381 | CONFIG_WIRELESS=y |
368 | # CONFIG_CFG80211 is not set | 382 | # CONFIG_CFG80211 is not set |
369 | CONFIG_WIRELESS_OLD_REGULATORY=y | 383 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -469,7 +483,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
469 | # LPDDR flash memory drivers | 483 | # LPDDR flash memory drivers |
470 | # | 484 | # |
471 | # CONFIG_MTD_LPDDR is not set | 485 | # CONFIG_MTD_LPDDR is not set |
472 | # CONFIG_MTD_QINFO_PROBE is not set | ||
473 | 486 | ||
474 | # | 487 | # |
475 | # UBI - Unsorted block images | 488 | # UBI - Unsorted block images |
@@ -499,13 +512,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
499 | # CONFIG_BLK_DEV_HD is not set | 512 | # CONFIG_BLK_DEV_HD is not set |
500 | CONFIG_MISC_DEVICES=y | 513 | CONFIG_MISC_DEVICES=y |
501 | # CONFIG_PHANTOM is not set | 514 | # CONFIG_PHANTOM is not set |
502 | # CONFIG_EEPROM_93CX6 is not set | ||
503 | # CONFIG_SGI_IOC4 is not set | 515 | # CONFIG_SGI_IOC4 is not set |
504 | # CONFIG_TIFM_CORE is not set | 516 | # CONFIG_TIFM_CORE is not set |
505 | # CONFIG_ICS932S401 is not set | 517 | # CONFIG_ICS932S401 is not set |
506 | # CONFIG_ENCLOSURE_SERVICES is not set | 518 | # CONFIG_ENCLOSURE_SERVICES is not set |
507 | # CONFIG_HP_ILO is not set | 519 | # CONFIG_HP_ILO is not set |
520 | # CONFIG_ISL29003 is not set | ||
508 | # CONFIG_C2PORT is not set | 521 | # CONFIG_C2PORT is not set |
522 | |||
523 | # | ||
524 | # EEPROM support | ||
525 | # | ||
526 | # CONFIG_EEPROM_AT24 is not set | ||
527 | # CONFIG_EEPROM_LEGACY is not set | ||
528 | # CONFIG_EEPROM_93CX6 is not set | ||
509 | CONFIG_HAVE_IDE=y | 529 | CONFIG_HAVE_IDE=y |
510 | # CONFIG_IDE is not set | 530 | # CONFIG_IDE is not set |
511 | 531 | ||
@@ -532,6 +552,7 @@ CONFIG_HAVE_IDE=y | |||
532 | # CONFIG_I2O is not set | 552 | # CONFIG_I2O is not set |
533 | # CONFIG_MACINTOSH_DRIVERS is not set | 553 | # CONFIG_MACINTOSH_DRIVERS is not set |
534 | CONFIG_NETDEVICES=y | 554 | CONFIG_NETDEVICES=y |
555 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
535 | # CONFIG_DUMMY is not set | 556 | # CONFIG_DUMMY is not set |
536 | # CONFIG_BONDING is not set | 557 | # CONFIG_BONDING is not set |
537 | # CONFIG_MACVLAN is not set | 558 | # CONFIG_MACVLAN is not set |
@@ -565,6 +586,8 @@ CONFIG_MII=y | |||
565 | # CONFIG_SUNGEM is not set | 586 | # CONFIG_SUNGEM is not set |
566 | # CONFIG_CASSINI is not set | 587 | # CONFIG_CASSINI is not set |
567 | # CONFIG_NET_VENDOR_3COM is not set | 588 | # CONFIG_NET_VENDOR_3COM is not set |
589 | # CONFIG_ETHOC is not set | ||
590 | # CONFIG_DNET is not set | ||
568 | # CONFIG_NET_TULIP is not set | 591 | # CONFIG_NET_TULIP is not set |
569 | # CONFIG_HP100 is not set | 592 | # CONFIG_HP100 is not set |
570 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 593 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -584,6 +607,7 @@ CONFIG_NETDEV_1000=y | |||
584 | # CONFIG_E1000E is not set | 607 | # CONFIG_E1000E is not set |
585 | # CONFIG_IP1000 is not set | 608 | # CONFIG_IP1000 is not set |
586 | # CONFIG_IGB is not set | 609 | # CONFIG_IGB is not set |
610 | # CONFIG_IGBVF is not set | ||
587 | # CONFIG_NS83820 is not set | 611 | # CONFIG_NS83820 is not set |
588 | # CONFIG_HAMACHI is not set | 612 | # CONFIG_HAMACHI is not set |
589 | # CONFIG_YELLOWFIN is not set | 613 | # CONFIG_YELLOWFIN is not set |
@@ -594,11 +618,12 @@ CONFIG_NETDEV_1000=y | |||
594 | # CONFIG_VIA_VELOCITY is not set | 618 | # CONFIG_VIA_VELOCITY is not set |
595 | # CONFIG_TIGON3 is not set | 619 | # CONFIG_TIGON3 is not set |
596 | # CONFIG_BNX2 is not set | 620 | # CONFIG_BNX2 is not set |
621 | CONFIG_FSL_PQ_MDIO=y | ||
597 | CONFIG_GIANFAR=y | 622 | CONFIG_GIANFAR=y |
598 | # CONFIG_MV643XX_ETH is not set | ||
599 | # CONFIG_QLA3XXX is not set | 623 | # CONFIG_QLA3XXX is not set |
600 | # CONFIG_ATL1 is not set | 624 | # CONFIG_ATL1 is not set |
601 | # CONFIG_ATL1E is not set | 625 | # CONFIG_ATL1E is not set |
626 | # CONFIG_ATL1C is not set | ||
602 | # CONFIG_JME is not set | 627 | # CONFIG_JME is not set |
603 | # CONFIG_NETDEV_10000 is not set | 628 | # CONFIG_NETDEV_10000 is not set |
604 | # CONFIG_TR is not set | 629 | # CONFIG_TR is not set |
@@ -608,7 +633,6 @@ CONFIG_GIANFAR=y | |||
608 | # | 633 | # |
609 | # CONFIG_WLAN_PRE80211 is not set | 634 | # CONFIG_WLAN_PRE80211 is not set |
610 | # CONFIG_WLAN_80211 is not set | 635 | # CONFIG_WLAN_80211 is not set |
611 | # CONFIG_IWLWIFI_LEDS is not set | ||
612 | 636 | ||
613 | # | 637 | # |
614 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 638 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -759,12 +783,9 @@ CONFIG_I2C_MPC=y | |||
759 | # Miscellaneous I2C Chip support | 783 | # Miscellaneous I2C Chip support |
760 | # | 784 | # |
761 | # CONFIG_DS1682 is not set | 785 | # CONFIG_DS1682 is not set |
762 | # CONFIG_EEPROM_AT24 is not set | ||
763 | # CONFIG_EEPROM_LEGACY is not set | ||
764 | # CONFIG_SENSORS_PCF8574 is not set | 786 | # CONFIG_SENSORS_PCF8574 is not set |
765 | # CONFIG_PCF8575 is not set | 787 | # CONFIG_PCF8575 is not set |
766 | # CONFIG_SENSORS_PCA9539 is not set | 788 | # CONFIG_SENSORS_PCA9539 is not set |
767 | # CONFIG_SENSORS_PCF8591 is not set | ||
768 | # CONFIG_SENSORS_MAX6875 is not set | 789 | # CONFIG_SENSORS_MAX6875 is not set |
769 | # CONFIG_SENSORS_TSL2550 is not set | 790 | # CONFIG_SENSORS_TSL2550 is not set |
770 | # CONFIG_I2C_DEBUG_CORE is not set | 791 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -796,6 +817,7 @@ CONFIG_HWMON=y | |||
796 | # CONFIG_SENSORS_F71805F is not set | 817 | # CONFIG_SENSORS_F71805F is not set |
797 | # CONFIG_SENSORS_F71882FG is not set | 818 | # CONFIG_SENSORS_F71882FG is not set |
798 | # CONFIG_SENSORS_F75375S is not set | 819 | # CONFIG_SENSORS_F75375S is not set |
820 | # CONFIG_SENSORS_G760A is not set | ||
799 | # CONFIG_SENSORS_GL518SM is not set | 821 | # CONFIG_SENSORS_GL518SM is not set |
800 | # CONFIG_SENSORS_GL520SM is not set | 822 | # CONFIG_SENSORS_GL520SM is not set |
801 | # CONFIG_SENSORS_IT87 is not set | 823 | # CONFIG_SENSORS_IT87 is not set |
@@ -810,11 +832,14 @@ CONFIG_HWMON=y | |||
810 | # CONFIG_SENSORS_LM90 is not set | 832 | # CONFIG_SENSORS_LM90 is not set |
811 | # CONFIG_SENSORS_LM92 is not set | 833 | # CONFIG_SENSORS_LM92 is not set |
812 | # CONFIG_SENSORS_LM93 is not set | 834 | # CONFIG_SENSORS_LM93 is not set |
835 | # CONFIG_SENSORS_LTC4215 is not set | ||
813 | # CONFIG_SENSORS_LTC4245 is not set | 836 | # CONFIG_SENSORS_LTC4245 is not set |
837 | # CONFIG_SENSORS_LM95241 is not set | ||
814 | # CONFIG_SENSORS_MAX1619 is not set | 838 | # CONFIG_SENSORS_MAX1619 is not set |
815 | # CONFIG_SENSORS_MAX6650 is not set | 839 | # CONFIG_SENSORS_MAX6650 is not set |
816 | # CONFIG_SENSORS_PC87360 is not set | 840 | # CONFIG_SENSORS_PC87360 is not set |
817 | # CONFIG_SENSORS_PC87427 is not set | 841 | # CONFIG_SENSORS_PC87427 is not set |
842 | # CONFIG_SENSORS_PCF8591 is not set | ||
818 | # CONFIG_SENSORS_SIS5595 is not set | 843 | # CONFIG_SENSORS_SIS5595 is not set |
819 | # CONFIG_SENSORS_DME1737 is not set | 844 | # CONFIG_SENSORS_DME1737 is not set |
820 | # CONFIG_SENSORS_SMSC47M1 is not set | 845 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -959,11 +984,11 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
959 | # CONFIG_USB_TMC is not set | 984 | # CONFIG_USB_TMC is not set |
960 | 985 | ||
961 | # | 986 | # |
962 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 987 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
963 | # | 988 | # |
964 | 989 | ||
965 | # | 990 | # |
966 | # see USB_STORAGE Help for more information | 991 | # also be needed; see USB_STORAGE Help for more info |
967 | # | 992 | # |
968 | # CONFIG_USB_LIBUSUAL is not set | 993 | # CONFIG_USB_LIBUSUAL is not set |
969 | 994 | ||
@@ -991,7 +1016,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
991 | # CONFIG_USB_LED is not set | 1016 | # CONFIG_USB_LED is not set |
992 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1017 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
993 | # CONFIG_USB_CYTHERM is not set | 1018 | # CONFIG_USB_CYTHERM is not set |
994 | # CONFIG_USB_PHIDGET is not set | ||
995 | # CONFIG_USB_IDMOUSE is not set | 1019 | # CONFIG_USB_IDMOUSE is not set |
996 | # CONFIG_USB_FTDI_ELAN is not set | 1020 | # CONFIG_USB_FTDI_ELAN is not set |
997 | # CONFIG_USB_APPLEDISPLAY is not set | 1021 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1006,6 +1030,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1006 | # | 1030 | # |
1007 | # OTG and related infrastructure | 1031 | # OTG and related infrastructure |
1008 | # | 1032 | # |
1033 | # CONFIG_NOP_USB_XCEIV is not set | ||
1009 | # CONFIG_UWB is not set | 1034 | # CONFIG_UWB is not set |
1010 | # CONFIG_MMC is not set | 1035 | # CONFIG_MMC is not set |
1011 | # CONFIG_MEMSTICK is not set | 1036 | # CONFIG_MEMSTICK is not set |
@@ -1067,8 +1092,9 @@ CONFIG_RTC_DRV_DS1374=y | |||
1067 | # | 1092 | # |
1068 | # on-CPU RTC drivers | 1093 | # on-CPU RTC drivers |
1069 | # | 1094 | # |
1070 | # CONFIG_RTC_DRV_PPC is not set | 1095 | # CONFIG_RTC_DRV_GENERIC is not set |
1071 | # CONFIG_DMADEVICES is not set | 1096 | # CONFIG_DMADEVICES is not set |
1097 | # CONFIG_AUXDISPLAY is not set | ||
1072 | # CONFIG_UIO is not set | 1098 | # CONFIG_UIO is not set |
1073 | # CONFIG_STAGING is not set | 1099 | # CONFIG_STAGING is not set |
1074 | 1100 | ||
@@ -1079,6 +1105,7 @@ CONFIG_EXT2_FS=y | |||
1079 | # CONFIG_EXT2_FS_XATTR is not set | 1105 | # CONFIG_EXT2_FS_XATTR is not set |
1080 | # CONFIG_EXT2_FS_XIP is not set | 1106 | # CONFIG_EXT2_FS_XIP is not set |
1081 | CONFIG_EXT3_FS=y | 1107 | CONFIG_EXT3_FS=y |
1108 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1082 | CONFIG_EXT3_FS_XATTR=y | 1109 | CONFIG_EXT3_FS_XATTR=y |
1083 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1110 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1084 | # CONFIG_EXT3_FS_SECURITY is not set | 1111 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1101,6 +1128,11 @@ CONFIG_INOTIFY_USER=y | |||
1101 | # CONFIG_FUSE_FS is not set | 1128 | # CONFIG_FUSE_FS is not set |
1102 | 1129 | ||
1103 | # | 1130 | # |
1131 | # Caches | ||
1132 | # | ||
1133 | # CONFIG_FSCACHE is not set | ||
1134 | |||
1135 | # | ||
1104 | # CD-ROM/DVD Filesystems | 1136 | # CD-ROM/DVD Filesystems |
1105 | # | 1137 | # |
1106 | # CONFIG_ISO9660_FS is not set | 1138 | # CONFIG_ISO9660_FS is not set |
@@ -1154,6 +1186,7 @@ CONFIG_JFFS2_RTIME=y | |||
1154 | # CONFIG_ROMFS_FS is not set | 1186 | # CONFIG_ROMFS_FS is not set |
1155 | # CONFIG_SYSV_FS is not set | 1187 | # CONFIG_SYSV_FS is not set |
1156 | # CONFIG_UFS_FS is not set | 1188 | # CONFIG_UFS_FS is not set |
1189 | # CONFIG_NILFS2_FS is not set | ||
1157 | CONFIG_NETWORK_FILESYSTEMS=y | 1190 | CONFIG_NETWORK_FILESYSTEMS=y |
1158 | CONFIG_NFS_FS=y | 1191 | CONFIG_NFS_FS=y |
1159 | CONFIG_NFS_V3=y | 1192 | CONFIG_NFS_V3=y |
@@ -1166,7 +1199,6 @@ CONFIG_LOCKD_V4=y | |||
1166 | CONFIG_NFS_COMMON=y | 1199 | CONFIG_NFS_COMMON=y |
1167 | CONFIG_SUNRPC=y | 1200 | CONFIG_SUNRPC=y |
1168 | CONFIG_SUNRPC_GSS=y | 1201 | CONFIG_SUNRPC_GSS=y |
1169 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1170 | CONFIG_RPCSEC_GSS_KRB5=y | 1202 | CONFIG_RPCSEC_GSS_KRB5=y |
1171 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1203 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1172 | # CONFIG_SMB_FS is not set | 1204 | # CONFIG_SMB_FS is not set |
@@ -1233,6 +1265,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1233 | # CONFIG_NLS_KOI8_U is not set | 1265 | # CONFIG_NLS_KOI8_U is not set |
1234 | # CONFIG_NLS_UTF8 is not set | 1266 | # CONFIG_NLS_UTF8 is not set |
1235 | # CONFIG_DLM is not set | 1267 | # CONFIG_DLM is not set |
1268 | # CONFIG_BINARY_PRINTF is not set | ||
1236 | 1269 | ||
1237 | # | 1270 | # |
1238 | # Library routines | 1271 | # Library routines |
@@ -1248,11 +1281,12 @@ CONFIG_CRC32=y | |||
1248 | # CONFIG_LIBCRC32C is not set | 1281 | # CONFIG_LIBCRC32C is not set |
1249 | CONFIG_ZLIB_INFLATE=y | 1282 | CONFIG_ZLIB_INFLATE=y |
1250 | CONFIG_ZLIB_DEFLATE=y | 1283 | CONFIG_ZLIB_DEFLATE=y |
1251 | CONFIG_PLIST=y | 1284 | CONFIG_DECOMPRESS_GZIP=y |
1252 | CONFIG_HAS_IOMEM=y | 1285 | CONFIG_HAS_IOMEM=y |
1253 | CONFIG_HAS_IOPORT=y | 1286 | CONFIG_HAS_IOPORT=y |
1254 | CONFIG_HAS_DMA=y | 1287 | CONFIG_HAS_DMA=y |
1255 | CONFIG_HAVE_LMB=y | 1288 | CONFIG_HAVE_LMB=y |
1289 | CONFIG_NLATTR=y | ||
1256 | 1290 | ||
1257 | # | 1291 | # |
1258 | # Kernel hacking | 1292 | # Kernel hacking |
@@ -1274,13 +1308,24 @@ CONFIG_FRAME_WARN=1024 | |||
1274 | # CONFIG_LATENCYTOP is not set | 1308 | # CONFIG_LATENCYTOP is not set |
1275 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 1309 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
1276 | CONFIG_HAVE_FUNCTION_TRACER=y | 1310 | CONFIG_HAVE_FUNCTION_TRACER=y |
1311 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1277 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1312 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1278 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1313 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1314 | CONFIG_TRACING_SUPPORT=y | ||
1279 | 1315 | ||
1280 | # | 1316 | # |
1281 | # Tracers | 1317 | # Tracers |
1282 | # | 1318 | # |
1283 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1319 | # CONFIG_FUNCTION_TRACER is not set |
1320 | # CONFIG_SCHED_TRACER is not set | ||
1321 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1322 | # CONFIG_EVENT_TRACER is not set | ||
1323 | # CONFIG_BOOT_TRACER is not set | ||
1324 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1325 | # CONFIG_STACK_TRACER is not set | ||
1326 | # CONFIG_KMEMTRACE is not set | ||
1327 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1328 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1284 | # CONFIG_SAMPLES is not set | 1329 | # CONFIG_SAMPLES is not set |
1285 | CONFIG_HAVE_ARCH_KGDB=y | 1330 | CONFIG_HAVE_ARCH_KGDB=y |
1286 | CONFIG_PRINT_STACK_DEPTH=64 | 1331 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1309,10 +1354,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1309 | CONFIG_CRYPTO_HASH=y | 1354 | CONFIG_CRYPTO_HASH=y |
1310 | CONFIG_CRYPTO_HASH2=y | 1355 | CONFIG_CRYPTO_HASH2=y |
1311 | CONFIG_CRYPTO_RNG2=y | 1356 | CONFIG_CRYPTO_RNG2=y |
1357 | CONFIG_CRYPTO_PCOMP=y | ||
1312 | CONFIG_CRYPTO_MANAGER=y | 1358 | CONFIG_CRYPTO_MANAGER=y |
1313 | CONFIG_CRYPTO_MANAGER2=y | 1359 | CONFIG_CRYPTO_MANAGER2=y |
1314 | # CONFIG_CRYPTO_GF128MUL is not set | 1360 | # CONFIG_CRYPTO_GF128MUL is not set |
1315 | # CONFIG_CRYPTO_NULL is not set | 1361 | # CONFIG_CRYPTO_NULL is not set |
1362 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1316 | # CONFIG_CRYPTO_CRYPTD is not set | 1363 | # CONFIG_CRYPTO_CRYPTD is not set |
1317 | # CONFIG_CRYPTO_AUTHENC is not set | 1364 | # CONFIG_CRYPTO_AUTHENC is not set |
1318 | # CONFIG_CRYPTO_TEST is not set | 1365 | # CONFIG_CRYPTO_TEST is not set |
@@ -1381,6 +1428,7 @@ CONFIG_CRYPTO_DES=y | |||
1381 | # Compression | 1428 | # Compression |
1382 | # | 1429 | # |
1383 | # CONFIG_CRYPTO_DEFLATE is not set | 1430 | # CONFIG_CRYPTO_DEFLATE is not set |
1431 | # CONFIG_CRYPTO_ZLIB is not set | ||
1384 | # CONFIG_CRYPTO_LZO is not set | 1432 | # CONFIG_CRYPTO_LZO is not set |
1385 | 1433 | ||
1386 | # | 1434 | # |
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig index 409d017621a8..c5c0fe71a438 100644 --- a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:48 2009 | 4 | # Wed May 13 17:22:06 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -109,16 +123,19 @@ CONFIG_AIO=y | |||
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
119 | CONFIG_HAVE_KPROBES=y | 135 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
138 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 139 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 140 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 141 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 148 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
132 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
133 | # CONFIG_LBD is not set | 150 | # CONFIG_LBD is not set |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 151 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 152 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 153 | ||
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 165 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
156 | 167 | ||
157 | # | 168 | # |
158 | # Platform support | 169 | # Platform support |
159 | # | 170 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 171 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 172 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 173 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,6 +192,8 @@ CONFIG_MPC831x_RDB=y | |||
183 | CONFIG_PPC_MPC831x=y | 192 | CONFIG_PPC_MPC831x=y |
184 | # CONFIG_PPC_86xx is not set | 193 | # CONFIG_PPC_86xx is not set |
185 | # CONFIG_EMBEDDED6xx is not set | 194 | # CONFIG_EMBEDDED6xx is not set |
195 | # CONFIG_AMIGAONE is not set | ||
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | CONFIG_IPIC=y | 197 | CONFIG_IPIC=y |
187 | # CONFIG_MPIC is not set | 198 | # CONFIG_MPIC is not set |
188 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
244 | CONFIG_BOUNCE=y | 255 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 256 | CONFIG_VIRT_TO_BUS=y |
246 | CONFIG_UNEVICTABLE_LRU=y | 257 | CONFIG_UNEVICTABLE_LRU=y |
258 | CONFIG_HAVE_MLOCK=y | ||
259 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
247 | CONFIG_PPC_4K_PAGES=y | 260 | CONFIG_PPC_4K_PAGES=y |
248 | # CONFIG_PPC_16K_PAGES is not set | 261 | # CONFIG_PPC_16K_PAGES is not set |
249 | # CONFIG_PPC_64K_PAGES is not set | 262 | # CONFIG_PPC_64K_PAGES is not set |
263 | # CONFIG_PPC_256K_PAGES is not set | ||
250 | CONFIG_FORCE_MAX_ZONEORDER=11 | 264 | CONFIG_FORCE_MAX_ZONEORDER=11 |
251 | CONFIG_PROC_DEVICETREE=y | 265 | CONFIG_PROC_DEVICETREE=y |
252 | # CONFIG_CMDLINE_BOOL is not set | 266 | # CONFIG_CMDLINE_BOOL is not set |
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
274 | # CONFIG_PCI_DEBUG is not set | 288 | # CONFIG_PCI_DEBUG is not set |
275 | # CONFIG_PCI_STUB is not set | 289 | # CONFIG_PCI_STUB is not set |
290 | # CONFIG_PCI_IOV is not set | ||
276 | # CONFIG_PCCARD is not set | 291 | # CONFIG_PCCARD is not set |
277 | # CONFIG_HOTPLUG_PCI is not set | 292 | # CONFIG_HOTPLUG_PCI is not set |
278 | # CONFIG_HAS_RAPIDIO is not set | 293 | # CONFIG_HAS_RAPIDIO is not set |
@@ -295,7 +310,6 @@ CONFIG_NET=y | |||
295 | # | 310 | # |
296 | # Networking options | 311 | # Networking options |
297 | # | 312 | # |
298 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
299 | CONFIG_PACKET=y | 313 | CONFIG_PACKET=y |
300 | # CONFIG_PACKET_MMAP is not set | 314 | # CONFIG_PACKET_MMAP is not set |
301 | CONFIG_UNIX=y | 315 | CONFIG_UNIX=y |
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_LAPB is not set | 365 | # CONFIG_LAPB is not set |
352 | # CONFIG_ECONET is not set | 366 | # CONFIG_ECONET is not set |
353 | # CONFIG_WAN_ROUTER is not set | 367 | # CONFIG_WAN_ROUTER is not set |
368 | # CONFIG_PHONET is not set | ||
354 | # CONFIG_NET_SCHED is not set | 369 | # CONFIG_NET_SCHED is not set |
355 | # CONFIG_DCB is not set | 370 | # CONFIG_DCB is not set |
356 | 371 | ||
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
363 | # CONFIG_IRDA is not set | 378 | # CONFIG_IRDA is not set |
364 | # CONFIG_BT is not set | 379 | # CONFIG_BT is not set |
365 | # CONFIG_AF_RXRPC is not set | 380 | # CONFIG_AF_RXRPC is not set |
366 | # CONFIG_PHONET is not set | ||
367 | CONFIG_WIRELESS=y | 381 | CONFIG_WIRELESS=y |
368 | # CONFIG_CFG80211 is not set | 382 | # CONFIG_CFG80211 is not set |
369 | CONFIG_WIRELESS_OLD_REGULATORY=y | 383 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -481,7 +495,6 @@ CONFIG_MTD_NAND_FSL_ELBC=y | |||
481 | # LPDDR flash memory drivers | 495 | # LPDDR flash memory drivers |
482 | # | 496 | # |
483 | # CONFIG_MTD_LPDDR is not set | 497 | # CONFIG_MTD_LPDDR is not set |
484 | # CONFIG_MTD_QINFO_PROBE is not set | ||
485 | 498 | ||
486 | # | 499 | # |
487 | # UBI - Unsorted block images | 500 | # UBI - Unsorted block images |
@@ -512,13 +525,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
512 | # CONFIG_BLK_DEV_HD is not set | 525 | # CONFIG_BLK_DEV_HD is not set |
513 | CONFIG_MISC_DEVICES=y | 526 | CONFIG_MISC_DEVICES=y |
514 | # CONFIG_PHANTOM is not set | 527 | # CONFIG_PHANTOM is not set |
515 | # CONFIG_EEPROM_93CX6 is not set | ||
516 | # CONFIG_SGI_IOC4 is not set | 528 | # CONFIG_SGI_IOC4 is not set |
517 | # CONFIG_TIFM_CORE is not set | 529 | # CONFIG_TIFM_CORE is not set |
518 | # CONFIG_ICS932S401 is not set | 530 | # CONFIG_ICS932S401 is not set |
519 | # CONFIG_ENCLOSURE_SERVICES is not set | 531 | # CONFIG_ENCLOSURE_SERVICES is not set |
520 | # CONFIG_HP_ILO is not set | 532 | # CONFIG_HP_ILO is not set |
533 | # CONFIG_ISL29003 is not set | ||
521 | # CONFIG_C2PORT is not set | 534 | # CONFIG_C2PORT is not set |
535 | |||
536 | # | ||
537 | # EEPROM support | ||
538 | # | ||
539 | # CONFIG_EEPROM_AT24 is not set | ||
540 | # CONFIG_EEPROM_AT25 is not set | ||
541 | # CONFIG_EEPROM_LEGACY is not set | ||
542 | # CONFIG_EEPROM_93CX6 is not set | ||
522 | CONFIG_HAVE_IDE=y | 543 | CONFIG_HAVE_IDE=y |
523 | # CONFIG_IDE is not set | 544 | # CONFIG_IDE is not set |
524 | 545 | ||
@@ -576,9 +597,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
576 | # CONFIG_MEGARAID_NEWGEN is not set | 597 | # CONFIG_MEGARAID_NEWGEN is not set |
577 | # CONFIG_MEGARAID_LEGACY is not set | 598 | # CONFIG_MEGARAID_LEGACY is not set |
578 | # CONFIG_MEGARAID_SAS is not set | 599 | # CONFIG_MEGARAID_SAS is not set |
600 | # CONFIG_SCSI_MPT2SAS is not set | ||
579 | # CONFIG_SCSI_HPTIOP is not set | 601 | # CONFIG_SCSI_HPTIOP is not set |
580 | # CONFIG_SCSI_BUSLOGIC is not set | 602 | # CONFIG_SCSI_BUSLOGIC is not set |
581 | # CONFIG_LIBFC is not set | 603 | # CONFIG_LIBFC is not set |
604 | # CONFIG_LIBFCOE is not set | ||
582 | # CONFIG_FCOE is not set | 605 | # CONFIG_FCOE is not set |
583 | # CONFIG_SCSI_DMX3191D is not set | 606 | # CONFIG_SCSI_DMX3191D is not set |
584 | # CONFIG_SCSI_EATA is not set | 607 | # CONFIG_SCSI_EATA is not set |
@@ -600,6 +623,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
600 | # CONFIG_SCSI_DEBUG is not set | 623 | # CONFIG_SCSI_DEBUG is not set |
601 | # CONFIG_SCSI_SRP is not set | 624 | # CONFIG_SCSI_SRP is not set |
602 | # CONFIG_SCSI_DH is not set | 625 | # CONFIG_SCSI_DH is not set |
626 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
603 | # CONFIG_ATA is not set | 627 | # CONFIG_ATA is not set |
604 | CONFIG_MD=y | 628 | CONFIG_MD=y |
605 | CONFIG_BLK_DEV_MD=y | 629 | CONFIG_BLK_DEV_MD=y |
@@ -626,6 +650,7 @@ CONFIG_MD_RAID1=y | |||
626 | # CONFIG_I2O is not set | 650 | # CONFIG_I2O is not set |
627 | # CONFIG_MACINTOSH_DRIVERS is not set | 651 | # CONFIG_MACINTOSH_DRIVERS is not set |
628 | CONFIG_NETDEVICES=y | 652 | CONFIG_NETDEVICES=y |
653 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
629 | # CONFIG_DUMMY is not set | 654 | # CONFIG_DUMMY is not set |
630 | # CONFIG_BONDING is not set | 655 | # CONFIG_BONDING is not set |
631 | # CONFIG_MACVLAN is not set | 656 | # CONFIG_MACVLAN is not set |
@@ -660,6 +685,8 @@ CONFIG_MII=y | |||
660 | # CONFIG_CASSINI is not set | 685 | # CONFIG_CASSINI is not set |
661 | # CONFIG_NET_VENDOR_3COM is not set | 686 | # CONFIG_NET_VENDOR_3COM is not set |
662 | # CONFIG_ENC28J60 is not set | 687 | # CONFIG_ENC28J60 is not set |
688 | # CONFIG_ETHOC is not set | ||
689 | # CONFIG_DNET is not set | ||
663 | # CONFIG_NET_TULIP is not set | 690 | # CONFIG_NET_TULIP is not set |
664 | # CONFIG_HP100 is not set | 691 | # CONFIG_HP100 is not set |
665 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 692 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -697,6 +724,7 @@ CONFIG_NETDEV_1000=y | |||
697 | # CONFIG_E1000E is not set | 724 | # CONFIG_E1000E is not set |
698 | # CONFIG_IP1000 is not set | 725 | # CONFIG_IP1000 is not set |
699 | # CONFIG_IGB is not set | 726 | # CONFIG_IGB is not set |
727 | # CONFIG_IGBVF is not set | ||
700 | # CONFIG_NS83820 is not set | 728 | # CONFIG_NS83820 is not set |
701 | # CONFIG_HAMACHI is not set | 729 | # CONFIG_HAMACHI is not set |
702 | # CONFIG_YELLOWFIN is not set | 730 | # CONFIG_YELLOWFIN is not set |
@@ -707,11 +735,12 @@ CONFIG_NETDEV_1000=y | |||
707 | # CONFIG_VIA_VELOCITY is not set | 735 | # CONFIG_VIA_VELOCITY is not set |
708 | # CONFIG_TIGON3 is not set | 736 | # CONFIG_TIGON3 is not set |
709 | # CONFIG_BNX2 is not set | 737 | # CONFIG_BNX2 is not set |
738 | CONFIG_FSL_PQ_MDIO=y | ||
710 | CONFIG_GIANFAR=y | 739 | CONFIG_GIANFAR=y |
711 | # CONFIG_MV643XX_ETH is not set | ||
712 | # CONFIG_QLA3XXX is not set | 740 | # CONFIG_QLA3XXX is not set |
713 | # CONFIG_ATL1 is not set | 741 | # CONFIG_ATL1 is not set |
714 | # CONFIG_ATL1E is not set | 742 | # CONFIG_ATL1E is not set |
743 | # CONFIG_ATL1C is not set | ||
715 | # CONFIG_JME is not set | 744 | # CONFIG_JME is not set |
716 | CONFIG_NETDEV_10000=y | 745 | CONFIG_NETDEV_10000=y |
717 | # CONFIG_CHELSIO_T1 is not set | 746 | # CONFIG_CHELSIO_T1 is not set |
@@ -721,6 +750,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
721 | # CONFIG_IXGBE is not set | 750 | # CONFIG_IXGBE is not set |
722 | # CONFIG_IXGB is not set | 751 | # CONFIG_IXGB is not set |
723 | # CONFIG_S2IO is not set | 752 | # CONFIG_S2IO is not set |
753 | # CONFIG_VXGE is not set | ||
724 | # CONFIG_MYRI10GE is not set | 754 | # CONFIG_MYRI10GE is not set |
725 | # CONFIG_NETXEN_NIC is not set | 755 | # CONFIG_NETXEN_NIC is not set |
726 | # CONFIG_NIU is not set | 756 | # CONFIG_NIU is not set |
@@ -730,6 +760,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
730 | # CONFIG_BNX2X is not set | 760 | # CONFIG_BNX2X is not set |
731 | # CONFIG_QLGE is not set | 761 | # CONFIG_QLGE is not set |
732 | # CONFIG_SFC is not set | 762 | # CONFIG_SFC is not set |
763 | # CONFIG_BE2NET is not set | ||
733 | # CONFIG_TR is not set | 764 | # CONFIG_TR is not set |
734 | 765 | ||
735 | # | 766 | # |
@@ -737,7 +768,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
737 | # | 768 | # |
738 | # CONFIG_WLAN_PRE80211 is not set | 769 | # CONFIG_WLAN_PRE80211 is not set |
739 | # CONFIG_WLAN_80211 is not set | 770 | # CONFIG_WLAN_80211 is not set |
740 | # CONFIG_IWLWIFI_LEDS is not set | ||
741 | 771 | ||
742 | # | 772 | # |
743 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 773 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -815,6 +845,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
815 | # | 845 | # |
816 | # Non-8250 serial port support | 846 | # Non-8250 serial port support |
817 | # | 847 | # |
848 | # CONFIG_SERIAL_MAX3100 is not set | ||
818 | # CONFIG_SERIAL_UARTLITE is not set | 849 | # CONFIG_SERIAL_UARTLITE is not set |
819 | CONFIG_SERIAL_CORE=y | 850 | CONFIG_SERIAL_CORE=y |
820 | CONFIG_SERIAL_CORE_CONSOLE=y | 851 | CONFIG_SERIAL_CORE_CONSOLE=y |
@@ -827,6 +858,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
827 | # CONFIG_HVC_UDBG is not set | 858 | # CONFIG_HVC_UDBG is not set |
828 | # CONFIG_IPMI_HANDLER is not set | 859 | # CONFIG_IPMI_HANDLER is not set |
829 | CONFIG_HW_RANDOM=y | 860 | CONFIG_HW_RANDOM=y |
861 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
830 | # CONFIG_NVRAM is not set | 862 | # CONFIG_NVRAM is not set |
831 | # CONFIG_R3964 is not set | 863 | # CONFIG_R3964 is not set |
832 | # CONFIG_APPLICOM is not set | 864 | # CONFIG_APPLICOM is not set |
@@ -889,12 +921,9 @@ CONFIG_I2C_MPC=y | |||
889 | # Miscellaneous I2C Chip support | 921 | # Miscellaneous I2C Chip support |
890 | # | 922 | # |
891 | # CONFIG_DS1682 is not set | 923 | # CONFIG_DS1682 is not set |
892 | # CONFIG_EEPROM_AT24 is not set | ||
893 | # CONFIG_EEPROM_LEGACY is not set | ||
894 | # CONFIG_SENSORS_PCF8574 is not set | 924 | # CONFIG_SENSORS_PCF8574 is not set |
895 | # CONFIG_PCF8575 is not set | 925 | # CONFIG_PCF8575 is not set |
896 | # CONFIG_SENSORS_PCA9539 is not set | 926 | # CONFIG_SENSORS_PCA9539 is not set |
897 | # CONFIG_SENSORS_PCF8591 is not set | ||
898 | # CONFIG_SENSORS_MAX6875 is not set | 927 | # CONFIG_SENSORS_MAX6875 is not set |
899 | # CONFIG_SENSORS_TSL2550 is not set | 928 | # CONFIG_SENSORS_TSL2550 is not set |
900 | # CONFIG_I2C_DEBUG_CORE is not set | 929 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -914,7 +943,6 @@ CONFIG_SPI_MPC83xx=y | |||
914 | # | 943 | # |
915 | # SPI Protocol Masters | 944 | # SPI Protocol Masters |
916 | # | 945 | # |
917 | # CONFIG_EEPROM_AT25 is not set | ||
918 | # CONFIG_SPI_SPIDEV is not set | 946 | # CONFIG_SPI_SPIDEV is not set |
919 | # CONFIG_SPI_TLE62X0 is not set | 947 | # CONFIG_SPI_TLE62X0 is not set |
920 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 948 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
@@ -942,6 +970,7 @@ CONFIG_HWMON=y | |||
942 | # CONFIG_SENSORS_F71805F is not set | 970 | # CONFIG_SENSORS_F71805F is not set |
943 | # CONFIG_SENSORS_F71882FG is not set | 971 | # CONFIG_SENSORS_F71882FG is not set |
944 | # CONFIG_SENSORS_F75375S is not set | 972 | # CONFIG_SENSORS_F75375S is not set |
973 | # CONFIG_SENSORS_G760A is not set | ||
945 | # CONFIG_SENSORS_GL518SM is not set | 974 | # CONFIG_SENSORS_GL518SM is not set |
946 | # CONFIG_SENSORS_GL520SM is not set | 975 | # CONFIG_SENSORS_GL520SM is not set |
947 | # CONFIG_SENSORS_IT87 is not set | 976 | # CONFIG_SENSORS_IT87 is not set |
@@ -957,12 +986,15 @@ CONFIG_HWMON=y | |||
957 | # CONFIG_SENSORS_LM90 is not set | 986 | # CONFIG_SENSORS_LM90 is not set |
958 | # CONFIG_SENSORS_LM92 is not set | 987 | # CONFIG_SENSORS_LM92 is not set |
959 | # CONFIG_SENSORS_LM93 is not set | 988 | # CONFIG_SENSORS_LM93 is not set |
989 | # CONFIG_SENSORS_LTC4215 is not set | ||
960 | # CONFIG_SENSORS_LTC4245 is not set | 990 | # CONFIG_SENSORS_LTC4245 is not set |
991 | # CONFIG_SENSORS_LM95241 is not set | ||
961 | # CONFIG_SENSORS_MAX1111 is not set | 992 | # CONFIG_SENSORS_MAX1111 is not set |
962 | # CONFIG_SENSORS_MAX1619 is not set | 993 | # CONFIG_SENSORS_MAX1619 is not set |
963 | # CONFIG_SENSORS_MAX6650 is not set | 994 | # CONFIG_SENSORS_MAX6650 is not set |
964 | # CONFIG_SENSORS_PC87360 is not set | 995 | # CONFIG_SENSORS_PC87360 is not set |
965 | # CONFIG_SENSORS_PC87427 is not set | 996 | # CONFIG_SENSORS_PC87427 is not set |
997 | # CONFIG_SENSORS_PCF8591 is not set | ||
966 | # CONFIG_SENSORS_SIS5595 is not set | 998 | # CONFIG_SENSORS_SIS5595 is not set |
967 | # CONFIG_SENSORS_DME1737 is not set | 999 | # CONFIG_SENSORS_DME1737 is not set |
968 | # CONFIG_SENSORS_SMSC47M1 is not set | 1000 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -981,6 +1013,7 @@ CONFIG_HWMON=y | |||
981 | # CONFIG_SENSORS_W83L786NG is not set | 1013 | # CONFIG_SENSORS_W83L786NG is not set |
982 | # CONFIG_SENSORS_W83627HF is not set | 1014 | # CONFIG_SENSORS_W83627HF is not set |
983 | # CONFIG_SENSORS_W83627EHF is not set | 1015 | # CONFIG_SENSORS_W83627EHF is not set |
1016 | # CONFIG_SENSORS_LIS3_SPI is not set | ||
984 | # CONFIG_HWMON_DEBUG_CHIP is not set | 1017 | # CONFIG_HWMON_DEBUG_CHIP is not set |
985 | # CONFIG_THERMAL is not set | 1018 | # CONFIG_THERMAL is not set |
986 | # CONFIG_THERMAL_HWMON is not set | 1019 | # CONFIG_THERMAL_HWMON is not set |
@@ -1077,7 +1110,6 @@ CONFIG_HID=y | |||
1077 | # | 1110 | # |
1078 | # Special HID drivers | 1111 | # Special HID drivers |
1079 | # | 1112 | # |
1080 | CONFIG_HID_COMPAT=y | ||
1081 | CONFIG_USB_SUPPORT=y | 1113 | CONFIG_USB_SUPPORT=y |
1082 | CONFIG_USB_ARCH_HAS_HCD=y | 1114 | CONFIG_USB_ARCH_HAS_HCD=y |
1083 | CONFIG_USB_ARCH_HAS_OHCI=y | 1115 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1135,11 +1167,11 @@ CONFIG_USB_UHCI_HCD=y | |||
1135 | # CONFIG_USB_TMC is not set | 1167 | # CONFIG_USB_TMC is not set |
1136 | 1168 | ||
1137 | # | 1169 | # |
1138 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1170 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1139 | # | 1171 | # |
1140 | 1172 | ||
1141 | # | 1173 | # |
1142 | # see USB_STORAGE Help for more information | 1174 | # also be needed; see USB_STORAGE Help for more info |
1143 | # | 1175 | # |
1144 | CONFIG_USB_STORAGE=y | 1176 | CONFIG_USB_STORAGE=y |
1145 | # CONFIG_USB_STORAGE_DEBUG is not set | 1177 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1181,7 +1213,6 @@ CONFIG_USB_STORAGE=y | |||
1181 | # CONFIG_USB_LED is not set | 1213 | # CONFIG_USB_LED is not set |
1182 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1214 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1183 | # CONFIG_USB_CYTHERM is not set | 1215 | # CONFIG_USB_CYTHERM is not set |
1184 | # CONFIG_USB_PHIDGET is not set | ||
1185 | # CONFIG_USB_IDMOUSE is not set | 1216 | # CONFIG_USB_IDMOUSE is not set |
1186 | # CONFIG_USB_FTDI_ELAN is not set | 1217 | # CONFIG_USB_FTDI_ELAN is not set |
1187 | # CONFIG_USB_APPLEDISPLAY is not set | 1218 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1228,6 +1259,7 @@ CONFIG_USB_ETH_RNDIS=y | |||
1228 | # | 1259 | # |
1229 | # OTG and related infrastructure | 1260 | # OTG and related infrastructure |
1230 | # | 1261 | # |
1262 | # CONFIG_NOP_USB_XCEIV is not set | ||
1231 | # CONFIG_UWB is not set | 1263 | # CONFIG_UWB is not set |
1232 | # CONFIG_MMC is not set | 1264 | # CONFIG_MMC is not set |
1233 | # CONFIG_MEMSTICK is not set | 1265 | # CONFIG_MEMSTICK is not set |
@@ -1296,8 +1328,9 @@ CONFIG_RTC_DRV_DS1307=y | |||
1296 | # | 1328 | # |
1297 | # on-CPU RTC drivers | 1329 | # on-CPU RTC drivers |
1298 | # | 1330 | # |
1299 | # CONFIG_RTC_DRV_PPC is not set | 1331 | # CONFIG_RTC_DRV_GENERIC is not set |
1300 | # CONFIG_DMADEVICES is not set | 1332 | # CONFIG_DMADEVICES is not set |
1333 | # CONFIG_AUXDISPLAY is not set | ||
1301 | # CONFIG_UIO is not set | 1334 | # CONFIG_UIO is not set |
1302 | # CONFIG_STAGING is not set | 1335 | # CONFIG_STAGING is not set |
1303 | 1336 | ||
@@ -1308,6 +1341,7 @@ CONFIG_EXT2_FS=y | |||
1308 | # CONFIG_EXT2_FS_XATTR is not set | 1341 | # CONFIG_EXT2_FS_XATTR is not set |
1309 | # CONFIG_EXT2_FS_XIP is not set | 1342 | # CONFIG_EXT2_FS_XIP is not set |
1310 | CONFIG_EXT3_FS=y | 1343 | CONFIG_EXT3_FS=y |
1344 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1311 | CONFIG_EXT3_FS_XATTR=y | 1345 | CONFIG_EXT3_FS_XATTR=y |
1312 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1346 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1313 | # CONFIG_EXT3_FS_SECURITY is not set | 1347 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1330,6 +1364,11 @@ CONFIG_INOTIFY_USER=y | |||
1330 | # CONFIG_FUSE_FS is not set | 1364 | # CONFIG_FUSE_FS is not set |
1331 | 1365 | ||
1332 | # | 1366 | # |
1367 | # Caches | ||
1368 | # | ||
1369 | # CONFIG_FSCACHE is not set | ||
1370 | |||
1371 | # | ||
1333 | # CD-ROM/DVD Filesystems | 1372 | # CD-ROM/DVD Filesystems |
1334 | # | 1373 | # |
1335 | # CONFIG_ISO9660_FS is not set | 1374 | # CONFIG_ISO9660_FS is not set |
@@ -1383,6 +1422,7 @@ CONFIG_JFFS2_RTIME=y | |||
1383 | # CONFIG_ROMFS_FS is not set | 1422 | # CONFIG_ROMFS_FS is not set |
1384 | # CONFIG_SYSV_FS is not set | 1423 | # CONFIG_SYSV_FS is not set |
1385 | # CONFIG_UFS_FS is not set | 1424 | # CONFIG_UFS_FS is not set |
1425 | # CONFIG_NILFS2_FS is not set | ||
1386 | CONFIG_NETWORK_FILESYSTEMS=y | 1426 | CONFIG_NETWORK_FILESYSTEMS=y |
1387 | CONFIG_NFS_FS=y | 1427 | CONFIG_NFS_FS=y |
1388 | CONFIG_NFS_V3=y | 1428 | CONFIG_NFS_V3=y |
@@ -1395,7 +1435,6 @@ CONFIG_LOCKD_V4=y | |||
1395 | CONFIG_NFS_COMMON=y | 1435 | CONFIG_NFS_COMMON=y |
1396 | CONFIG_SUNRPC=y | 1436 | CONFIG_SUNRPC=y |
1397 | CONFIG_SUNRPC_GSS=y | 1437 | CONFIG_SUNRPC_GSS=y |
1398 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1399 | CONFIG_RPCSEC_GSS_KRB5=y | 1438 | CONFIG_RPCSEC_GSS_KRB5=y |
1400 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1439 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1401 | # CONFIG_SMB_FS is not set | 1440 | # CONFIG_SMB_FS is not set |
@@ -1427,6 +1466,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1427 | # CONFIG_SYSV68_PARTITION is not set | 1466 | # CONFIG_SYSV68_PARTITION is not set |
1428 | # CONFIG_NLS is not set | 1467 | # CONFIG_NLS is not set |
1429 | # CONFIG_DLM is not set | 1468 | # CONFIG_DLM is not set |
1469 | # CONFIG_BINARY_PRINTF is not set | ||
1430 | 1470 | ||
1431 | # | 1471 | # |
1432 | # Library routines | 1472 | # Library routines |
@@ -1442,11 +1482,12 @@ CONFIG_CRC32=y | |||
1442 | # CONFIG_LIBCRC32C is not set | 1482 | # CONFIG_LIBCRC32C is not set |
1443 | CONFIG_ZLIB_INFLATE=y | 1483 | CONFIG_ZLIB_INFLATE=y |
1444 | CONFIG_ZLIB_DEFLATE=y | 1484 | CONFIG_ZLIB_DEFLATE=y |
1445 | CONFIG_PLIST=y | 1485 | CONFIG_DECOMPRESS_GZIP=y |
1446 | CONFIG_HAS_IOMEM=y | 1486 | CONFIG_HAS_IOMEM=y |
1447 | CONFIG_HAS_IOPORT=y | 1487 | CONFIG_HAS_IOPORT=y |
1448 | CONFIG_HAS_DMA=y | 1488 | CONFIG_HAS_DMA=y |
1449 | CONFIG_HAVE_LMB=y | 1489 | CONFIG_HAVE_LMB=y |
1490 | CONFIG_NLATTR=y | ||
1450 | 1491 | ||
1451 | # | 1492 | # |
1452 | # Kernel hacking | 1493 | # Kernel hacking |
@@ -1464,6 +1505,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1464 | CONFIG_DETECT_SOFTLOCKUP=y | 1505 | CONFIG_DETECT_SOFTLOCKUP=y |
1465 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1506 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1466 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1507 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1508 | CONFIG_DETECT_HUNG_TASK=y | ||
1509 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1510 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1467 | CONFIG_SCHED_DEBUG=y | 1511 | CONFIG_SCHED_DEBUG=y |
1468 | # CONFIG_SCHEDSTATS is not set | 1512 | # CONFIG_SCHEDSTATS is not set |
1469 | # CONFIG_TIMER_STATS is not set | 1513 | # CONFIG_TIMER_STATS is not set |
@@ -1493,9 +1537,12 @@ CONFIG_SCHED_DEBUG=y | |||
1493 | # CONFIG_FAULT_INJECTION is not set | 1537 | # CONFIG_FAULT_INJECTION is not set |
1494 | # CONFIG_LATENCYTOP is not set | 1538 | # CONFIG_LATENCYTOP is not set |
1495 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1539 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1540 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1496 | CONFIG_HAVE_FUNCTION_TRACER=y | 1541 | CONFIG_HAVE_FUNCTION_TRACER=y |
1542 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1497 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1543 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1498 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1544 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1545 | CONFIG_TRACING_SUPPORT=y | ||
1499 | 1546 | ||
1500 | # | 1547 | # |
1501 | # Tracers | 1548 | # Tracers |
@@ -1503,17 +1550,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1503 | # CONFIG_FUNCTION_TRACER is not set | 1550 | # CONFIG_FUNCTION_TRACER is not set |
1504 | # CONFIG_SCHED_TRACER is not set | 1551 | # CONFIG_SCHED_TRACER is not set |
1505 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1552 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1553 | # CONFIG_EVENT_TRACER is not set | ||
1506 | # CONFIG_BOOT_TRACER is not set | 1554 | # CONFIG_BOOT_TRACER is not set |
1507 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1555 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1508 | # CONFIG_STACK_TRACER is not set | 1556 | # CONFIG_STACK_TRACER is not set |
1509 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1557 | # CONFIG_KMEMTRACE is not set |
1558 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1559 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1510 | # CONFIG_SAMPLES is not set | 1560 | # CONFIG_SAMPLES is not set |
1511 | CONFIG_HAVE_ARCH_KGDB=y | 1561 | CONFIG_HAVE_ARCH_KGDB=y |
1512 | # CONFIG_KGDB is not set | 1562 | # CONFIG_KGDB is not set |
1513 | CONFIG_PRINT_STACK_DEPTH=64 | 1563 | CONFIG_PRINT_STACK_DEPTH=64 |
1514 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1564 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1515 | # CONFIG_DEBUG_STACK_USAGE is not set | 1565 | # CONFIG_DEBUG_STACK_USAGE is not set |
1516 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1517 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1566 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1518 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1567 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1519 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1568 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1544,10 +1593,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1544 | CONFIG_CRYPTO_HASH=y | 1593 | CONFIG_CRYPTO_HASH=y |
1545 | CONFIG_CRYPTO_HASH2=y | 1594 | CONFIG_CRYPTO_HASH2=y |
1546 | CONFIG_CRYPTO_RNG2=y | 1595 | CONFIG_CRYPTO_RNG2=y |
1596 | CONFIG_CRYPTO_PCOMP=y | ||
1547 | CONFIG_CRYPTO_MANAGER=y | 1597 | CONFIG_CRYPTO_MANAGER=y |
1548 | CONFIG_CRYPTO_MANAGER2=y | 1598 | CONFIG_CRYPTO_MANAGER2=y |
1549 | # CONFIG_CRYPTO_GF128MUL is not set | 1599 | # CONFIG_CRYPTO_GF128MUL is not set |
1550 | # CONFIG_CRYPTO_NULL is not set | 1600 | # CONFIG_CRYPTO_NULL is not set |
1601 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1551 | # CONFIG_CRYPTO_CRYPTD is not set | 1602 | # CONFIG_CRYPTO_CRYPTD is not set |
1552 | # CONFIG_CRYPTO_AUTHENC is not set | 1603 | # CONFIG_CRYPTO_AUTHENC is not set |
1553 | # CONFIG_CRYPTO_TEST is not set | 1604 | # CONFIG_CRYPTO_TEST is not set |
@@ -1616,6 +1667,7 @@ CONFIG_CRYPTO_DES=y | |||
1616 | # Compression | 1667 | # Compression |
1617 | # | 1668 | # |
1618 | # CONFIG_CRYPTO_DEFLATE is not set | 1669 | # CONFIG_CRYPTO_DEFLATE is not set |
1670 | # CONFIG_CRYPTO_ZLIB is not set | ||
1619 | # CONFIG_CRYPTO_LZO is not set | 1671 | # CONFIG_CRYPTO_LZO is not set |
1620 | 1672 | ||
1621 | # | 1673 | # |
diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig index 03db97c6cf33..af4952feba36 100644 --- a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:49 2009 | 4 | # Wed May 13 17:22:06 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -109,16 +123,19 @@ CONFIG_AIO=y | |||
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
119 | CONFIG_HAVE_KPROBES=y | 135 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
138 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 139 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 140 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 141 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 148 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
132 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
133 | # CONFIG_LBD is not set | 150 | # CONFIG_LBD is not set |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 151 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 152 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 153 | ||
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 165 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
156 | 167 | ||
157 | # | 168 | # |
158 | # Platform support | 169 | # Platform support |
159 | # | 170 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 171 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 172 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 173 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,6 +192,8 @@ CONFIG_MPC831x_RDB=y | |||
183 | CONFIG_PPC_MPC831x=y | 192 | CONFIG_PPC_MPC831x=y |
184 | # CONFIG_PPC_86xx is not set | 193 | # CONFIG_PPC_86xx is not set |
185 | # CONFIG_EMBEDDED6xx is not set | 194 | # CONFIG_EMBEDDED6xx is not set |
195 | # CONFIG_AMIGAONE is not set | ||
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | CONFIG_IPIC=y | 197 | CONFIG_IPIC=y |
187 | # CONFIG_MPIC is not set | 198 | # CONFIG_MPIC is not set |
188 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
244 | CONFIG_BOUNCE=y | 255 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 256 | CONFIG_VIRT_TO_BUS=y |
246 | CONFIG_UNEVICTABLE_LRU=y | 257 | CONFIG_UNEVICTABLE_LRU=y |
258 | CONFIG_HAVE_MLOCK=y | ||
259 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
247 | CONFIG_PPC_4K_PAGES=y | 260 | CONFIG_PPC_4K_PAGES=y |
248 | # CONFIG_PPC_16K_PAGES is not set | 261 | # CONFIG_PPC_16K_PAGES is not set |
249 | # CONFIG_PPC_64K_PAGES is not set | 262 | # CONFIG_PPC_64K_PAGES is not set |
263 | # CONFIG_PPC_256K_PAGES is not set | ||
250 | CONFIG_FORCE_MAX_ZONEORDER=11 | 264 | CONFIG_FORCE_MAX_ZONEORDER=11 |
251 | CONFIG_PROC_DEVICETREE=y | 265 | CONFIG_PROC_DEVICETREE=y |
252 | # CONFIG_CMDLINE_BOOL is not set | 266 | # CONFIG_CMDLINE_BOOL is not set |
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
274 | # CONFIG_PCI_DEBUG is not set | 288 | # CONFIG_PCI_DEBUG is not set |
275 | # CONFIG_PCI_STUB is not set | 289 | # CONFIG_PCI_STUB is not set |
290 | # CONFIG_PCI_IOV is not set | ||
276 | # CONFIG_PCCARD is not set | 291 | # CONFIG_PCCARD is not set |
277 | # CONFIG_HOTPLUG_PCI is not set | 292 | # CONFIG_HOTPLUG_PCI is not set |
278 | # CONFIG_HAS_RAPIDIO is not set | 293 | # CONFIG_HAS_RAPIDIO is not set |
@@ -295,7 +310,6 @@ CONFIG_NET=y | |||
295 | # | 310 | # |
296 | # Networking options | 311 | # Networking options |
297 | # | 312 | # |
298 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
299 | CONFIG_PACKET=y | 313 | CONFIG_PACKET=y |
300 | # CONFIG_PACKET_MMAP is not set | 314 | # CONFIG_PACKET_MMAP is not set |
301 | CONFIG_UNIX=y | 315 | CONFIG_UNIX=y |
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_LAPB is not set | 365 | # CONFIG_LAPB is not set |
352 | # CONFIG_ECONET is not set | 366 | # CONFIG_ECONET is not set |
353 | # CONFIG_WAN_ROUTER is not set | 367 | # CONFIG_WAN_ROUTER is not set |
368 | # CONFIG_PHONET is not set | ||
354 | # CONFIG_NET_SCHED is not set | 369 | # CONFIG_NET_SCHED is not set |
355 | # CONFIG_DCB is not set | 370 | # CONFIG_DCB is not set |
356 | 371 | ||
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
363 | # CONFIG_IRDA is not set | 378 | # CONFIG_IRDA is not set |
364 | # CONFIG_BT is not set | 379 | # CONFIG_BT is not set |
365 | # CONFIG_AF_RXRPC is not set | 380 | # CONFIG_AF_RXRPC is not set |
366 | # CONFIG_PHONET is not set | ||
367 | CONFIG_WIRELESS=y | 381 | CONFIG_WIRELESS=y |
368 | # CONFIG_CFG80211 is not set | 382 | # CONFIG_CFG80211 is not set |
369 | CONFIG_WIRELESS_OLD_REGULATORY=y | 383 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -481,7 +495,6 @@ CONFIG_MTD_NAND_IDS=y | |||
481 | # LPDDR flash memory drivers | 495 | # LPDDR flash memory drivers |
482 | # | 496 | # |
483 | # CONFIG_MTD_LPDDR is not set | 497 | # CONFIG_MTD_LPDDR is not set |
484 | # CONFIG_MTD_QINFO_PROBE is not set | ||
485 | 498 | ||
486 | # | 499 | # |
487 | # UBI - Unsorted block images | 500 | # UBI - Unsorted block images |
@@ -512,13 +525,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
512 | # CONFIG_BLK_DEV_HD is not set | 525 | # CONFIG_BLK_DEV_HD is not set |
513 | CONFIG_MISC_DEVICES=y | 526 | CONFIG_MISC_DEVICES=y |
514 | # CONFIG_PHANTOM is not set | 527 | # CONFIG_PHANTOM is not set |
515 | # CONFIG_EEPROM_93CX6 is not set | ||
516 | # CONFIG_SGI_IOC4 is not set | 528 | # CONFIG_SGI_IOC4 is not set |
517 | # CONFIG_TIFM_CORE is not set | 529 | # CONFIG_TIFM_CORE is not set |
518 | # CONFIG_ICS932S401 is not set | 530 | # CONFIG_ICS932S401 is not set |
519 | # CONFIG_ENCLOSURE_SERVICES is not set | 531 | # CONFIG_ENCLOSURE_SERVICES is not set |
520 | # CONFIG_HP_ILO is not set | 532 | # CONFIG_HP_ILO is not set |
533 | # CONFIG_ISL29003 is not set | ||
521 | # CONFIG_C2PORT is not set | 534 | # CONFIG_C2PORT is not set |
535 | |||
536 | # | ||
537 | # EEPROM support | ||
538 | # | ||
539 | # CONFIG_EEPROM_AT24 is not set | ||
540 | # CONFIG_EEPROM_AT25 is not set | ||
541 | # CONFIG_EEPROM_LEGACY is not set | ||
542 | # CONFIG_EEPROM_93CX6 is not set | ||
522 | CONFIG_HAVE_IDE=y | 543 | CONFIG_HAVE_IDE=y |
523 | # CONFIG_IDE is not set | 544 | # CONFIG_IDE is not set |
524 | 545 | ||
@@ -576,9 +597,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
576 | # CONFIG_MEGARAID_NEWGEN is not set | 597 | # CONFIG_MEGARAID_NEWGEN is not set |
577 | # CONFIG_MEGARAID_LEGACY is not set | 598 | # CONFIG_MEGARAID_LEGACY is not set |
578 | # CONFIG_MEGARAID_SAS is not set | 599 | # CONFIG_MEGARAID_SAS is not set |
600 | # CONFIG_SCSI_MPT2SAS is not set | ||
579 | # CONFIG_SCSI_HPTIOP is not set | 601 | # CONFIG_SCSI_HPTIOP is not set |
580 | # CONFIG_SCSI_BUSLOGIC is not set | 602 | # CONFIG_SCSI_BUSLOGIC is not set |
581 | # CONFIG_LIBFC is not set | 603 | # CONFIG_LIBFC is not set |
604 | # CONFIG_LIBFCOE is not set | ||
582 | # CONFIG_FCOE is not set | 605 | # CONFIG_FCOE is not set |
583 | # CONFIG_SCSI_DMX3191D is not set | 606 | # CONFIG_SCSI_DMX3191D is not set |
584 | # CONFIG_SCSI_EATA is not set | 607 | # CONFIG_SCSI_EATA is not set |
@@ -601,6 +624,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
601 | # CONFIG_SCSI_DEBUG is not set | 624 | # CONFIG_SCSI_DEBUG is not set |
602 | # CONFIG_SCSI_SRP is not set | 625 | # CONFIG_SCSI_SRP is not set |
603 | # CONFIG_SCSI_DH is not set | 626 | # CONFIG_SCSI_DH is not set |
627 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
604 | CONFIG_ATA=y | 628 | CONFIG_ATA=y |
605 | # CONFIG_ATA_NONSTANDARD is not set | 629 | # CONFIG_ATA_NONSTANDARD is not set |
606 | CONFIG_SATA_PMP=y | 630 | CONFIG_SATA_PMP=y |
@@ -687,6 +711,7 @@ CONFIG_MD_RAID1=y | |||
687 | # CONFIG_I2O is not set | 711 | # CONFIG_I2O is not set |
688 | # CONFIG_MACINTOSH_DRIVERS is not set | 712 | # CONFIG_MACINTOSH_DRIVERS is not set |
689 | CONFIG_NETDEVICES=y | 713 | CONFIG_NETDEVICES=y |
714 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
690 | # CONFIG_DUMMY is not set | 715 | # CONFIG_DUMMY is not set |
691 | # CONFIG_BONDING is not set | 716 | # CONFIG_BONDING is not set |
692 | # CONFIG_MACVLAN is not set | 717 | # CONFIG_MACVLAN is not set |
@@ -721,6 +746,8 @@ CONFIG_MII=y | |||
721 | # CONFIG_CASSINI is not set | 746 | # CONFIG_CASSINI is not set |
722 | # CONFIG_NET_VENDOR_3COM is not set | 747 | # CONFIG_NET_VENDOR_3COM is not set |
723 | # CONFIG_ENC28J60 is not set | 748 | # CONFIG_ENC28J60 is not set |
749 | # CONFIG_ETHOC is not set | ||
750 | # CONFIG_DNET is not set | ||
724 | # CONFIG_NET_TULIP is not set | 751 | # CONFIG_NET_TULIP is not set |
725 | # CONFIG_HP100 is not set | 752 | # CONFIG_HP100 is not set |
726 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 753 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -758,6 +785,7 @@ CONFIG_NETDEV_1000=y | |||
758 | # CONFIG_E1000E is not set | 785 | # CONFIG_E1000E is not set |
759 | # CONFIG_IP1000 is not set | 786 | # CONFIG_IP1000 is not set |
760 | # CONFIG_IGB is not set | 787 | # CONFIG_IGB is not set |
788 | # CONFIG_IGBVF is not set | ||
761 | # CONFIG_NS83820 is not set | 789 | # CONFIG_NS83820 is not set |
762 | # CONFIG_HAMACHI is not set | 790 | # CONFIG_HAMACHI is not set |
763 | # CONFIG_YELLOWFIN is not set | 791 | # CONFIG_YELLOWFIN is not set |
@@ -768,11 +796,12 @@ CONFIG_NETDEV_1000=y | |||
768 | # CONFIG_VIA_VELOCITY is not set | 796 | # CONFIG_VIA_VELOCITY is not set |
769 | # CONFIG_TIGON3 is not set | 797 | # CONFIG_TIGON3 is not set |
770 | # CONFIG_BNX2 is not set | 798 | # CONFIG_BNX2 is not set |
799 | CONFIG_FSL_PQ_MDIO=y | ||
771 | CONFIG_GIANFAR=y | 800 | CONFIG_GIANFAR=y |
772 | # CONFIG_MV643XX_ETH is not set | ||
773 | # CONFIG_QLA3XXX is not set | 801 | # CONFIG_QLA3XXX is not set |
774 | # CONFIG_ATL1 is not set | 802 | # CONFIG_ATL1 is not set |
775 | # CONFIG_ATL1E is not set | 803 | # CONFIG_ATL1E is not set |
804 | # CONFIG_ATL1C is not set | ||
776 | # CONFIG_JME is not set | 805 | # CONFIG_JME is not set |
777 | CONFIG_NETDEV_10000=y | 806 | CONFIG_NETDEV_10000=y |
778 | # CONFIG_CHELSIO_T1 is not set | 807 | # CONFIG_CHELSIO_T1 is not set |
@@ -782,6 +811,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
782 | # CONFIG_IXGBE is not set | 811 | # CONFIG_IXGBE is not set |
783 | # CONFIG_IXGB is not set | 812 | # CONFIG_IXGB is not set |
784 | # CONFIG_S2IO is not set | 813 | # CONFIG_S2IO is not set |
814 | # CONFIG_VXGE is not set | ||
785 | # CONFIG_MYRI10GE is not set | 815 | # CONFIG_MYRI10GE is not set |
786 | # CONFIG_NETXEN_NIC is not set | 816 | # CONFIG_NETXEN_NIC is not set |
787 | # CONFIG_NIU is not set | 817 | # CONFIG_NIU is not set |
@@ -791,6 +821,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
791 | # CONFIG_BNX2X is not set | 821 | # CONFIG_BNX2X is not set |
792 | # CONFIG_QLGE is not set | 822 | # CONFIG_QLGE is not set |
793 | # CONFIG_SFC is not set | 823 | # CONFIG_SFC is not set |
824 | # CONFIG_BE2NET is not set | ||
794 | # CONFIG_TR is not set | 825 | # CONFIG_TR is not set |
795 | 826 | ||
796 | # | 827 | # |
@@ -798,7 +829,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
798 | # | 829 | # |
799 | # CONFIG_WLAN_PRE80211 is not set | 830 | # CONFIG_WLAN_PRE80211 is not set |
800 | # CONFIG_WLAN_80211 is not set | 831 | # CONFIG_WLAN_80211 is not set |
801 | # CONFIG_IWLWIFI_LEDS is not set | ||
802 | 832 | ||
803 | # | 833 | # |
804 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 834 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -876,6 +906,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
876 | # | 906 | # |
877 | # Non-8250 serial port support | 907 | # Non-8250 serial port support |
878 | # | 908 | # |
909 | # CONFIG_SERIAL_MAX3100 is not set | ||
879 | # CONFIG_SERIAL_UARTLITE is not set | 910 | # CONFIG_SERIAL_UARTLITE is not set |
880 | CONFIG_SERIAL_CORE=y | 911 | CONFIG_SERIAL_CORE=y |
881 | CONFIG_SERIAL_CORE_CONSOLE=y | 912 | CONFIG_SERIAL_CORE_CONSOLE=y |
@@ -888,6 +919,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
888 | # CONFIG_HVC_UDBG is not set | 919 | # CONFIG_HVC_UDBG is not set |
889 | # CONFIG_IPMI_HANDLER is not set | 920 | # CONFIG_IPMI_HANDLER is not set |
890 | CONFIG_HW_RANDOM=y | 921 | CONFIG_HW_RANDOM=y |
922 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
891 | # CONFIG_NVRAM is not set | 923 | # CONFIG_NVRAM is not set |
892 | # CONFIG_R3964 is not set | 924 | # CONFIG_R3964 is not set |
893 | # CONFIG_APPLICOM is not set | 925 | # CONFIG_APPLICOM is not set |
@@ -950,12 +982,9 @@ CONFIG_I2C_MPC=y | |||
950 | # Miscellaneous I2C Chip support | 982 | # Miscellaneous I2C Chip support |
951 | # | 983 | # |
952 | # CONFIG_DS1682 is not set | 984 | # CONFIG_DS1682 is not set |
953 | # CONFIG_EEPROM_AT24 is not set | ||
954 | # CONFIG_EEPROM_LEGACY is not set | ||
955 | # CONFIG_SENSORS_PCF8574 is not set | 985 | # CONFIG_SENSORS_PCF8574 is not set |
956 | # CONFIG_PCF8575 is not set | 986 | # CONFIG_PCF8575 is not set |
957 | # CONFIG_SENSORS_PCA9539 is not set | 987 | # CONFIG_SENSORS_PCA9539 is not set |
958 | # CONFIG_SENSORS_PCF8591 is not set | ||
959 | # CONFIG_SENSORS_MAX6875 is not set | 988 | # CONFIG_SENSORS_MAX6875 is not set |
960 | # CONFIG_SENSORS_TSL2550 is not set | 989 | # CONFIG_SENSORS_TSL2550 is not set |
961 | # CONFIG_I2C_DEBUG_CORE is not set | 990 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -975,7 +1004,6 @@ CONFIG_SPI_MPC83xx=y | |||
975 | # | 1004 | # |
976 | # SPI Protocol Masters | 1005 | # SPI Protocol Masters |
977 | # | 1006 | # |
978 | # CONFIG_EEPROM_AT25 is not set | ||
979 | # CONFIG_SPI_SPIDEV is not set | 1007 | # CONFIG_SPI_SPIDEV is not set |
980 | # CONFIG_SPI_TLE62X0 is not set | 1008 | # CONFIG_SPI_TLE62X0 is not set |
981 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 1009 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
@@ -1003,6 +1031,7 @@ CONFIG_HWMON=y | |||
1003 | # CONFIG_SENSORS_F71805F is not set | 1031 | # CONFIG_SENSORS_F71805F is not set |
1004 | # CONFIG_SENSORS_F71882FG is not set | 1032 | # CONFIG_SENSORS_F71882FG is not set |
1005 | # CONFIG_SENSORS_F75375S is not set | 1033 | # CONFIG_SENSORS_F75375S is not set |
1034 | # CONFIG_SENSORS_G760A is not set | ||
1006 | # CONFIG_SENSORS_GL518SM is not set | 1035 | # CONFIG_SENSORS_GL518SM is not set |
1007 | # CONFIG_SENSORS_GL520SM is not set | 1036 | # CONFIG_SENSORS_GL520SM is not set |
1008 | # CONFIG_SENSORS_IT87 is not set | 1037 | # CONFIG_SENSORS_IT87 is not set |
@@ -1018,12 +1047,15 @@ CONFIG_HWMON=y | |||
1018 | # CONFIG_SENSORS_LM90 is not set | 1047 | # CONFIG_SENSORS_LM90 is not set |
1019 | # CONFIG_SENSORS_LM92 is not set | 1048 | # CONFIG_SENSORS_LM92 is not set |
1020 | # CONFIG_SENSORS_LM93 is not set | 1049 | # CONFIG_SENSORS_LM93 is not set |
1050 | # CONFIG_SENSORS_LTC4215 is not set | ||
1021 | # CONFIG_SENSORS_LTC4245 is not set | 1051 | # CONFIG_SENSORS_LTC4245 is not set |
1052 | # CONFIG_SENSORS_LM95241 is not set | ||
1022 | # CONFIG_SENSORS_MAX1111 is not set | 1053 | # CONFIG_SENSORS_MAX1111 is not set |
1023 | # CONFIG_SENSORS_MAX1619 is not set | 1054 | # CONFIG_SENSORS_MAX1619 is not set |
1024 | # CONFIG_SENSORS_MAX6650 is not set | 1055 | # CONFIG_SENSORS_MAX6650 is not set |
1025 | # CONFIG_SENSORS_PC87360 is not set | 1056 | # CONFIG_SENSORS_PC87360 is not set |
1026 | # CONFIG_SENSORS_PC87427 is not set | 1057 | # CONFIG_SENSORS_PC87427 is not set |
1058 | # CONFIG_SENSORS_PCF8591 is not set | ||
1027 | # CONFIG_SENSORS_SIS5595 is not set | 1059 | # CONFIG_SENSORS_SIS5595 is not set |
1028 | # CONFIG_SENSORS_DME1737 is not set | 1060 | # CONFIG_SENSORS_DME1737 is not set |
1029 | # CONFIG_SENSORS_SMSC47M1 is not set | 1061 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1042,6 +1074,7 @@ CONFIG_HWMON=y | |||
1042 | # CONFIG_SENSORS_W83L786NG is not set | 1074 | # CONFIG_SENSORS_W83L786NG is not set |
1043 | # CONFIG_SENSORS_W83627HF is not set | 1075 | # CONFIG_SENSORS_W83627HF is not set |
1044 | # CONFIG_SENSORS_W83627EHF is not set | 1076 | # CONFIG_SENSORS_W83627EHF is not set |
1077 | # CONFIG_SENSORS_LIS3_SPI is not set | ||
1045 | # CONFIG_HWMON_DEBUG_CHIP is not set | 1078 | # CONFIG_HWMON_DEBUG_CHIP is not set |
1046 | # CONFIG_THERMAL is not set | 1079 | # CONFIG_THERMAL is not set |
1047 | # CONFIG_THERMAL_HWMON is not set | 1080 | # CONFIG_THERMAL_HWMON is not set |
@@ -1138,7 +1171,6 @@ CONFIG_HID=y | |||
1138 | # | 1171 | # |
1139 | # Special HID drivers | 1172 | # Special HID drivers |
1140 | # | 1173 | # |
1141 | CONFIG_HID_COMPAT=y | ||
1142 | CONFIG_USB_SUPPORT=y | 1174 | CONFIG_USB_SUPPORT=y |
1143 | CONFIG_USB_ARCH_HAS_HCD=y | 1175 | CONFIG_USB_ARCH_HAS_HCD=y |
1144 | CONFIG_USB_ARCH_HAS_OHCI=y | 1176 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1196,11 +1228,11 @@ CONFIG_USB_UHCI_HCD=y | |||
1196 | # CONFIG_USB_TMC is not set | 1228 | # CONFIG_USB_TMC is not set |
1197 | 1229 | ||
1198 | # | 1230 | # |
1199 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1231 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1200 | # | 1232 | # |
1201 | 1233 | ||
1202 | # | 1234 | # |
1203 | # see USB_STORAGE Help for more information | 1235 | # also be needed; see USB_STORAGE Help for more info |
1204 | # | 1236 | # |
1205 | CONFIG_USB_STORAGE=y | 1237 | CONFIG_USB_STORAGE=y |
1206 | # CONFIG_USB_STORAGE_DEBUG is not set | 1238 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1242,7 +1274,6 @@ CONFIG_USB_STORAGE=y | |||
1242 | # CONFIG_USB_LED is not set | 1274 | # CONFIG_USB_LED is not set |
1243 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1275 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1244 | # CONFIG_USB_CYTHERM is not set | 1276 | # CONFIG_USB_CYTHERM is not set |
1245 | # CONFIG_USB_PHIDGET is not set | ||
1246 | # CONFIG_USB_IDMOUSE is not set | 1277 | # CONFIG_USB_IDMOUSE is not set |
1247 | # CONFIG_USB_FTDI_ELAN is not set | 1278 | # CONFIG_USB_FTDI_ELAN is not set |
1248 | # CONFIG_USB_APPLEDISPLAY is not set | 1279 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1289,6 +1320,7 @@ CONFIG_USB_ETH_RNDIS=y | |||
1289 | # | 1320 | # |
1290 | # OTG and related infrastructure | 1321 | # OTG and related infrastructure |
1291 | # | 1322 | # |
1323 | # CONFIG_NOP_USB_XCEIV is not set | ||
1292 | # CONFIG_UWB is not set | 1324 | # CONFIG_UWB is not set |
1293 | # CONFIG_MMC is not set | 1325 | # CONFIG_MMC is not set |
1294 | # CONFIG_MEMSTICK is not set | 1326 | # CONFIG_MEMSTICK is not set |
@@ -1357,8 +1389,9 @@ CONFIG_RTC_DRV_DS1307=y | |||
1357 | # | 1389 | # |
1358 | # on-CPU RTC drivers | 1390 | # on-CPU RTC drivers |
1359 | # | 1391 | # |
1360 | # CONFIG_RTC_DRV_PPC is not set | 1392 | # CONFIG_RTC_DRV_GENERIC is not set |
1361 | # CONFIG_DMADEVICES is not set | 1393 | # CONFIG_DMADEVICES is not set |
1394 | # CONFIG_AUXDISPLAY is not set | ||
1362 | # CONFIG_UIO is not set | 1395 | # CONFIG_UIO is not set |
1363 | # CONFIG_STAGING is not set | 1396 | # CONFIG_STAGING is not set |
1364 | 1397 | ||
@@ -1369,6 +1402,7 @@ CONFIG_EXT2_FS=y | |||
1369 | # CONFIG_EXT2_FS_XATTR is not set | 1402 | # CONFIG_EXT2_FS_XATTR is not set |
1370 | # CONFIG_EXT2_FS_XIP is not set | 1403 | # CONFIG_EXT2_FS_XIP is not set |
1371 | CONFIG_EXT3_FS=y | 1404 | CONFIG_EXT3_FS=y |
1405 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1372 | CONFIG_EXT3_FS_XATTR=y | 1406 | CONFIG_EXT3_FS_XATTR=y |
1373 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1407 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1374 | # CONFIG_EXT3_FS_SECURITY is not set | 1408 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1391,6 +1425,11 @@ CONFIG_INOTIFY_USER=y | |||
1391 | # CONFIG_FUSE_FS is not set | 1425 | # CONFIG_FUSE_FS is not set |
1392 | 1426 | ||
1393 | # | 1427 | # |
1428 | # Caches | ||
1429 | # | ||
1430 | # CONFIG_FSCACHE is not set | ||
1431 | |||
1432 | # | ||
1394 | # CD-ROM/DVD Filesystems | 1433 | # CD-ROM/DVD Filesystems |
1395 | # | 1434 | # |
1396 | # CONFIG_ISO9660_FS is not set | 1435 | # CONFIG_ISO9660_FS is not set |
@@ -1444,6 +1483,7 @@ CONFIG_JFFS2_RTIME=y | |||
1444 | # CONFIG_ROMFS_FS is not set | 1483 | # CONFIG_ROMFS_FS is not set |
1445 | # CONFIG_SYSV_FS is not set | 1484 | # CONFIG_SYSV_FS is not set |
1446 | # CONFIG_UFS_FS is not set | 1485 | # CONFIG_UFS_FS is not set |
1486 | # CONFIG_NILFS2_FS is not set | ||
1447 | CONFIG_NETWORK_FILESYSTEMS=y | 1487 | CONFIG_NETWORK_FILESYSTEMS=y |
1448 | CONFIG_NFS_FS=y | 1488 | CONFIG_NFS_FS=y |
1449 | CONFIG_NFS_V3=y | 1489 | CONFIG_NFS_V3=y |
@@ -1456,7 +1496,6 @@ CONFIG_LOCKD_V4=y | |||
1456 | CONFIG_NFS_COMMON=y | 1496 | CONFIG_NFS_COMMON=y |
1457 | CONFIG_SUNRPC=y | 1497 | CONFIG_SUNRPC=y |
1458 | CONFIG_SUNRPC_GSS=y | 1498 | CONFIG_SUNRPC_GSS=y |
1459 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1460 | CONFIG_RPCSEC_GSS_KRB5=y | 1499 | CONFIG_RPCSEC_GSS_KRB5=y |
1461 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1500 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1462 | # CONFIG_SMB_FS is not set | 1501 | # CONFIG_SMB_FS is not set |
@@ -1488,6 +1527,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1488 | # CONFIG_SYSV68_PARTITION is not set | 1527 | # CONFIG_SYSV68_PARTITION is not set |
1489 | # CONFIG_NLS is not set | 1528 | # CONFIG_NLS is not set |
1490 | # CONFIG_DLM is not set | 1529 | # CONFIG_DLM is not set |
1530 | # CONFIG_BINARY_PRINTF is not set | ||
1491 | 1531 | ||
1492 | # | 1532 | # |
1493 | # Library routines | 1533 | # Library routines |
@@ -1503,11 +1543,12 @@ CONFIG_CRC32=y | |||
1503 | # CONFIG_LIBCRC32C is not set | 1543 | # CONFIG_LIBCRC32C is not set |
1504 | CONFIG_ZLIB_INFLATE=y | 1544 | CONFIG_ZLIB_INFLATE=y |
1505 | CONFIG_ZLIB_DEFLATE=y | 1545 | CONFIG_ZLIB_DEFLATE=y |
1506 | CONFIG_PLIST=y | 1546 | CONFIG_DECOMPRESS_GZIP=y |
1507 | CONFIG_HAS_IOMEM=y | 1547 | CONFIG_HAS_IOMEM=y |
1508 | CONFIG_HAS_IOPORT=y | 1548 | CONFIG_HAS_IOPORT=y |
1509 | CONFIG_HAS_DMA=y | 1549 | CONFIG_HAS_DMA=y |
1510 | CONFIG_HAVE_LMB=y | 1550 | CONFIG_HAVE_LMB=y |
1551 | CONFIG_NLATTR=y | ||
1511 | 1552 | ||
1512 | # | 1553 | # |
1513 | # Kernel hacking | 1554 | # Kernel hacking |
@@ -1525,6 +1566,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1525 | CONFIG_DETECT_SOFTLOCKUP=y | 1566 | CONFIG_DETECT_SOFTLOCKUP=y |
1526 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1567 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1527 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1568 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1569 | CONFIG_DETECT_HUNG_TASK=y | ||
1570 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1571 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1528 | CONFIG_SCHED_DEBUG=y | 1572 | CONFIG_SCHED_DEBUG=y |
1529 | # CONFIG_SCHEDSTATS is not set | 1573 | # CONFIG_SCHEDSTATS is not set |
1530 | # CONFIG_TIMER_STATS is not set | 1574 | # CONFIG_TIMER_STATS is not set |
@@ -1554,9 +1598,12 @@ CONFIG_SCHED_DEBUG=y | |||
1554 | # CONFIG_FAULT_INJECTION is not set | 1598 | # CONFIG_FAULT_INJECTION is not set |
1555 | # CONFIG_LATENCYTOP is not set | 1599 | # CONFIG_LATENCYTOP is not set |
1556 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1600 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1601 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1557 | CONFIG_HAVE_FUNCTION_TRACER=y | 1602 | CONFIG_HAVE_FUNCTION_TRACER=y |
1603 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1558 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1604 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1559 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1605 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1606 | CONFIG_TRACING_SUPPORT=y | ||
1560 | 1607 | ||
1561 | # | 1608 | # |
1562 | # Tracers | 1609 | # Tracers |
@@ -1564,17 +1611,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1564 | # CONFIG_FUNCTION_TRACER is not set | 1611 | # CONFIG_FUNCTION_TRACER is not set |
1565 | # CONFIG_SCHED_TRACER is not set | 1612 | # CONFIG_SCHED_TRACER is not set |
1566 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1613 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1614 | # CONFIG_EVENT_TRACER is not set | ||
1567 | # CONFIG_BOOT_TRACER is not set | 1615 | # CONFIG_BOOT_TRACER is not set |
1568 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1616 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1569 | # CONFIG_STACK_TRACER is not set | 1617 | # CONFIG_STACK_TRACER is not set |
1570 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1618 | # CONFIG_KMEMTRACE is not set |
1619 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1620 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1571 | # CONFIG_SAMPLES is not set | 1621 | # CONFIG_SAMPLES is not set |
1572 | CONFIG_HAVE_ARCH_KGDB=y | 1622 | CONFIG_HAVE_ARCH_KGDB=y |
1573 | # CONFIG_KGDB is not set | 1623 | # CONFIG_KGDB is not set |
1574 | CONFIG_PRINT_STACK_DEPTH=64 | 1624 | CONFIG_PRINT_STACK_DEPTH=64 |
1575 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1625 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1576 | # CONFIG_DEBUG_STACK_USAGE is not set | 1626 | # CONFIG_DEBUG_STACK_USAGE is not set |
1577 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1578 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1627 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1579 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1628 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1580 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1629 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1605,10 +1654,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1605 | CONFIG_CRYPTO_HASH=y | 1654 | CONFIG_CRYPTO_HASH=y |
1606 | CONFIG_CRYPTO_HASH2=y | 1655 | CONFIG_CRYPTO_HASH2=y |
1607 | CONFIG_CRYPTO_RNG2=y | 1656 | CONFIG_CRYPTO_RNG2=y |
1657 | CONFIG_CRYPTO_PCOMP=y | ||
1608 | CONFIG_CRYPTO_MANAGER=y | 1658 | CONFIG_CRYPTO_MANAGER=y |
1609 | CONFIG_CRYPTO_MANAGER2=y | 1659 | CONFIG_CRYPTO_MANAGER2=y |
1610 | # CONFIG_CRYPTO_GF128MUL is not set | 1660 | # CONFIG_CRYPTO_GF128MUL is not set |
1611 | # CONFIG_CRYPTO_NULL is not set | 1661 | # CONFIG_CRYPTO_NULL is not set |
1662 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1612 | # CONFIG_CRYPTO_CRYPTD is not set | 1663 | # CONFIG_CRYPTO_CRYPTD is not set |
1613 | # CONFIG_CRYPTO_AUTHENC is not set | 1664 | # CONFIG_CRYPTO_AUTHENC is not set |
1614 | # CONFIG_CRYPTO_TEST is not set | 1665 | # CONFIG_CRYPTO_TEST is not set |
@@ -1677,6 +1728,7 @@ CONFIG_CRYPTO_DES=y | |||
1677 | # Compression | 1728 | # Compression |
1678 | # | 1729 | # |
1679 | # CONFIG_CRYPTO_DEFLATE is not set | 1730 | # CONFIG_CRYPTO_DEFLATE is not set |
1731 | # CONFIG_CRYPTO_ZLIB is not set | ||
1680 | # CONFIG_CRYPTO_LZO is not set | 1732 | # CONFIG_CRYPTO_LZO is not set |
1681 | 1733 | ||
1682 | # | 1734 | # |
diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig index fb17de53cc02..8c8f660b4fc7 100644 --- a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:50 2009 | 4 | # Wed May 13 17:22:07 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -109,16 +123,19 @@ CONFIG_AIO=y | |||
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
119 | CONFIG_HAVE_KPROBES=y | 135 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
138 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 139 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 140 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 141 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 148 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
132 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
133 | # CONFIG_LBD is not set | 150 | # CONFIG_LBD is not set |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 151 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 152 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 153 | ||
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 165 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
156 | 167 | ||
157 | # | 168 | # |
158 | # Platform support | 169 | # Platform support |
159 | # | 170 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 171 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 172 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 173 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,6 +192,8 @@ CONFIG_MPC832x_MDS=y | |||
183 | CONFIG_PPC_MPC832x=y | 192 | CONFIG_PPC_MPC832x=y |
184 | # CONFIG_PPC_86xx is not set | 193 | # CONFIG_PPC_86xx is not set |
185 | # CONFIG_EMBEDDED6xx is not set | 194 | # CONFIG_EMBEDDED6xx is not set |
195 | # CONFIG_AMIGAONE is not set | ||
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | CONFIG_IPIC=y | 197 | CONFIG_IPIC=y |
187 | # CONFIG_MPIC is not set | 198 | # CONFIG_MPIC is not set |
188 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -245,9 +256,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
245 | CONFIG_BOUNCE=y | 256 | CONFIG_BOUNCE=y |
246 | CONFIG_VIRT_TO_BUS=y | 257 | CONFIG_VIRT_TO_BUS=y |
247 | CONFIG_UNEVICTABLE_LRU=y | 258 | CONFIG_UNEVICTABLE_LRU=y |
259 | CONFIG_HAVE_MLOCK=y | ||
260 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
248 | CONFIG_PPC_4K_PAGES=y | 261 | CONFIG_PPC_4K_PAGES=y |
249 | # CONFIG_PPC_16K_PAGES is not set | 262 | # CONFIG_PPC_16K_PAGES is not set |
250 | # CONFIG_PPC_64K_PAGES is not set | 263 | # CONFIG_PPC_64K_PAGES is not set |
264 | # CONFIG_PPC_256K_PAGES is not set | ||
251 | CONFIG_FORCE_MAX_ZONEORDER=11 | 265 | CONFIG_FORCE_MAX_ZONEORDER=11 |
252 | CONFIG_PROC_DEVICETREE=y | 266 | CONFIG_PROC_DEVICETREE=y |
253 | # CONFIG_CMDLINE_BOOL is not set | 267 | # CONFIG_CMDLINE_BOOL is not set |
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # CONFIG_PCI_MSI is not set | 287 | # CONFIG_PCI_MSI is not set |
274 | # CONFIG_PCI_LEGACY is not set | 288 | # CONFIG_PCI_LEGACY is not set |
275 | # CONFIG_PCI_STUB is not set | 289 | # CONFIG_PCI_STUB is not set |
290 | # CONFIG_PCI_IOV is not set | ||
276 | # CONFIG_PCCARD is not set | 291 | # CONFIG_PCCARD is not set |
277 | # CONFIG_HOTPLUG_PCI is not set | 292 | # CONFIG_HOTPLUG_PCI is not set |
278 | # CONFIG_HAS_RAPIDIO is not set | 293 | # CONFIG_HAS_RAPIDIO is not set |
@@ -295,7 +310,6 @@ CONFIG_NET=y | |||
295 | # | 310 | # |
296 | # Networking options | 311 | # Networking options |
297 | # | 312 | # |
298 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
299 | CONFIG_PACKET=y | 313 | CONFIG_PACKET=y |
300 | # CONFIG_PACKET_MMAP is not set | 314 | # CONFIG_PACKET_MMAP is not set |
301 | CONFIG_UNIX=y | 315 | CONFIG_UNIX=y |
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_LAPB is not set | 365 | # CONFIG_LAPB is not set |
352 | # CONFIG_ECONET is not set | 366 | # CONFIG_ECONET is not set |
353 | # CONFIG_WAN_ROUTER is not set | 367 | # CONFIG_WAN_ROUTER is not set |
368 | # CONFIG_PHONET is not set | ||
354 | # CONFIG_NET_SCHED is not set | 369 | # CONFIG_NET_SCHED is not set |
355 | # CONFIG_DCB is not set | 370 | # CONFIG_DCB is not set |
356 | 371 | ||
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
363 | # CONFIG_IRDA is not set | 378 | # CONFIG_IRDA is not set |
364 | # CONFIG_BT is not set | 379 | # CONFIG_BT is not set |
365 | # CONFIG_AF_RXRPC is not set | 380 | # CONFIG_AF_RXRPC is not set |
366 | # CONFIG_PHONET is not set | ||
367 | CONFIG_WIRELESS=y | 381 | CONFIG_WIRELESS=y |
368 | # CONFIG_CFG80211 is not set | 382 | # CONFIG_CFG80211 is not set |
369 | CONFIG_WIRELESS_OLD_REGULATORY=y | 383 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -411,13 +425,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
411 | # CONFIG_BLK_DEV_HD is not set | 425 | # CONFIG_BLK_DEV_HD is not set |
412 | CONFIG_MISC_DEVICES=y | 426 | CONFIG_MISC_DEVICES=y |
413 | # CONFIG_PHANTOM is not set | 427 | # CONFIG_PHANTOM is not set |
414 | # CONFIG_EEPROM_93CX6 is not set | ||
415 | # CONFIG_SGI_IOC4 is not set | 428 | # CONFIG_SGI_IOC4 is not set |
416 | # CONFIG_TIFM_CORE is not set | 429 | # CONFIG_TIFM_CORE is not set |
417 | # CONFIG_ICS932S401 is not set | 430 | # CONFIG_ICS932S401 is not set |
418 | # CONFIG_ENCLOSURE_SERVICES is not set | 431 | # CONFIG_ENCLOSURE_SERVICES is not set |
419 | # CONFIG_HP_ILO is not set | 432 | # CONFIG_HP_ILO is not set |
433 | # CONFIG_ISL29003 is not set | ||
420 | # CONFIG_C2PORT is not set | 434 | # CONFIG_C2PORT is not set |
435 | |||
436 | # | ||
437 | # EEPROM support | ||
438 | # | ||
439 | # CONFIG_EEPROM_AT24 is not set | ||
440 | # CONFIG_EEPROM_LEGACY is not set | ||
441 | # CONFIG_EEPROM_93CX6 is not set | ||
421 | CONFIG_HAVE_IDE=y | 442 | CONFIG_HAVE_IDE=y |
422 | # CONFIG_IDE is not set | 443 | # CONFIG_IDE is not set |
423 | 444 | ||
@@ -475,9 +496,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
475 | # CONFIG_MEGARAID_NEWGEN is not set | 496 | # CONFIG_MEGARAID_NEWGEN is not set |
476 | # CONFIG_MEGARAID_LEGACY is not set | 497 | # CONFIG_MEGARAID_LEGACY is not set |
477 | # CONFIG_MEGARAID_SAS is not set | 498 | # CONFIG_MEGARAID_SAS is not set |
499 | # CONFIG_SCSI_MPT2SAS is not set | ||
478 | # CONFIG_SCSI_HPTIOP is not set | 500 | # CONFIG_SCSI_HPTIOP is not set |
479 | # CONFIG_SCSI_BUSLOGIC is not set | 501 | # CONFIG_SCSI_BUSLOGIC is not set |
480 | # CONFIG_LIBFC is not set | 502 | # CONFIG_LIBFC is not set |
503 | # CONFIG_LIBFCOE is not set | ||
481 | # CONFIG_FCOE is not set | 504 | # CONFIG_FCOE is not set |
482 | # CONFIG_SCSI_DMX3191D is not set | 505 | # CONFIG_SCSI_DMX3191D is not set |
483 | # CONFIG_SCSI_EATA is not set | 506 | # CONFIG_SCSI_EATA is not set |
@@ -499,6 +522,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
499 | # CONFIG_SCSI_DEBUG is not set | 522 | # CONFIG_SCSI_DEBUG is not set |
500 | # CONFIG_SCSI_SRP is not set | 523 | # CONFIG_SCSI_SRP is not set |
501 | # CONFIG_SCSI_DH is not set | 524 | # CONFIG_SCSI_DH is not set |
525 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
502 | # CONFIG_ATA is not set | 526 | # CONFIG_ATA is not set |
503 | # CONFIG_MD is not set | 527 | # CONFIG_MD is not set |
504 | # CONFIG_FUSION is not set | 528 | # CONFIG_FUSION is not set |
@@ -515,6 +539,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
515 | # CONFIG_I2O is not set | 539 | # CONFIG_I2O is not set |
516 | # CONFIG_MACINTOSH_DRIVERS is not set | 540 | # CONFIG_MACINTOSH_DRIVERS is not set |
517 | CONFIG_NETDEVICES=y | 541 | CONFIG_NETDEVICES=y |
542 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
518 | # CONFIG_DUMMY is not set | 543 | # CONFIG_DUMMY is not set |
519 | # CONFIG_BONDING is not set | 544 | # CONFIG_BONDING is not set |
520 | # CONFIG_MACVLAN is not set | 545 | # CONFIG_MACVLAN is not set |
@@ -548,6 +573,8 @@ CONFIG_MII=y | |||
548 | # CONFIG_SUNGEM is not set | 573 | # CONFIG_SUNGEM is not set |
549 | # CONFIG_CASSINI is not set | 574 | # CONFIG_CASSINI is not set |
550 | # CONFIG_NET_VENDOR_3COM is not set | 575 | # CONFIG_NET_VENDOR_3COM is not set |
576 | # CONFIG_ETHOC is not set | ||
577 | # CONFIG_DNET is not set | ||
551 | # CONFIG_NET_TULIP is not set | 578 | # CONFIG_NET_TULIP is not set |
552 | # CONFIG_HP100 is not set | 579 | # CONFIG_HP100 is not set |
553 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 580 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -567,6 +594,7 @@ CONFIG_NETDEV_1000=y | |||
567 | # CONFIG_E1000E is not set | 594 | # CONFIG_E1000E is not set |
568 | # CONFIG_IP1000 is not set | 595 | # CONFIG_IP1000 is not set |
569 | # CONFIG_IGB is not set | 596 | # CONFIG_IGB is not set |
597 | # CONFIG_IGBVF is not set | ||
570 | # CONFIG_NS83820 is not set | 598 | # CONFIG_NS83820 is not set |
571 | # CONFIG_HAMACHI is not set | 599 | # CONFIG_HAMACHI is not set |
572 | # CONFIG_YELLOWFIN is not set | 600 | # CONFIG_YELLOWFIN is not set |
@@ -577,14 +605,15 @@ CONFIG_NETDEV_1000=y | |||
577 | # CONFIG_VIA_VELOCITY is not set | 605 | # CONFIG_VIA_VELOCITY is not set |
578 | # CONFIG_TIGON3 is not set | 606 | # CONFIG_TIGON3 is not set |
579 | # CONFIG_BNX2 is not set | 607 | # CONFIG_BNX2 is not set |
608 | CONFIG_FSL_PQ_MDIO=y | ||
580 | # CONFIG_GIANFAR is not set | 609 | # CONFIG_GIANFAR is not set |
581 | CONFIG_UCC_GETH=y | 610 | CONFIG_UCC_GETH=y |
582 | # CONFIG_UGETH_MAGIC_PACKET is not set | 611 | # CONFIG_UGETH_MAGIC_PACKET is not set |
583 | # CONFIG_UGETH_TX_ON_DEMAND is not set | 612 | # CONFIG_UGETH_TX_ON_DEMAND is not set |
584 | # CONFIG_MV643XX_ETH is not set | ||
585 | # CONFIG_QLA3XXX is not set | 613 | # CONFIG_QLA3XXX is not set |
586 | # CONFIG_ATL1 is not set | 614 | # CONFIG_ATL1 is not set |
587 | # CONFIG_ATL1E is not set | 615 | # CONFIG_ATL1E is not set |
616 | # CONFIG_ATL1C is not set | ||
588 | # CONFIG_JME is not set | 617 | # CONFIG_JME is not set |
589 | CONFIG_NETDEV_10000=y | 618 | CONFIG_NETDEV_10000=y |
590 | # CONFIG_CHELSIO_T1 is not set | 619 | # CONFIG_CHELSIO_T1 is not set |
@@ -594,6 +623,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
594 | # CONFIG_IXGBE is not set | 623 | # CONFIG_IXGBE is not set |
595 | # CONFIG_IXGB is not set | 624 | # CONFIG_IXGB is not set |
596 | # CONFIG_S2IO is not set | 625 | # CONFIG_S2IO is not set |
626 | # CONFIG_VXGE is not set | ||
597 | # CONFIG_MYRI10GE is not set | 627 | # CONFIG_MYRI10GE is not set |
598 | # CONFIG_NETXEN_NIC is not set | 628 | # CONFIG_NETXEN_NIC is not set |
599 | # CONFIG_NIU is not set | 629 | # CONFIG_NIU is not set |
@@ -603,6 +633,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
603 | # CONFIG_BNX2X is not set | 633 | # CONFIG_BNX2X is not set |
604 | # CONFIG_QLGE is not set | 634 | # CONFIG_QLGE is not set |
605 | # CONFIG_SFC is not set | 635 | # CONFIG_SFC is not set |
636 | # CONFIG_BE2NET is not set | ||
606 | # CONFIG_TR is not set | 637 | # CONFIG_TR is not set |
607 | 638 | ||
608 | # | 639 | # |
@@ -610,7 +641,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
610 | # | 641 | # |
611 | # CONFIG_WLAN_PRE80211 is not set | 642 | # CONFIG_WLAN_PRE80211 is not set |
612 | # CONFIG_WLAN_80211 is not set | 643 | # CONFIG_WLAN_80211 is not set |
613 | # CONFIG_IWLWIFI_LEDS is not set | ||
614 | 644 | ||
615 | # | 645 | # |
616 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 646 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -692,6 +722,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
692 | # CONFIG_HVC_UDBG is not set | 722 | # CONFIG_HVC_UDBG is not set |
693 | # CONFIG_IPMI_HANDLER is not set | 723 | # CONFIG_IPMI_HANDLER is not set |
694 | CONFIG_HW_RANDOM=y | 724 | CONFIG_HW_RANDOM=y |
725 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
695 | # CONFIG_NVRAM is not set | 726 | # CONFIG_NVRAM is not set |
696 | # CONFIG_R3964 is not set | 727 | # CONFIG_R3964 is not set |
697 | # CONFIG_APPLICOM is not set | 728 | # CONFIG_APPLICOM is not set |
@@ -753,12 +784,9 @@ CONFIG_I2C_MPC=y | |||
753 | # Miscellaneous I2C Chip support | 784 | # Miscellaneous I2C Chip support |
754 | # | 785 | # |
755 | # CONFIG_DS1682 is not set | 786 | # CONFIG_DS1682 is not set |
756 | # CONFIG_EEPROM_AT24 is not set | ||
757 | # CONFIG_EEPROM_LEGACY is not set | ||
758 | # CONFIG_SENSORS_PCF8574 is not set | 787 | # CONFIG_SENSORS_PCF8574 is not set |
759 | # CONFIG_PCF8575 is not set | 788 | # CONFIG_PCF8575 is not set |
760 | # CONFIG_SENSORS_PCA9539 is not set | 789 | # CONFIG_SENSORS_PCA9539 is not set |
761 | # CONFIG_SENSORS_PCF8591 is not set | ||
762 | # CONFIG_SENSORS_MAX6875 is not set | 790 | # CONFIG_SENSORS_MAX6875 is not set |
763 | # CONFIG_SENSORS_TSL2550 is not set | 791 | # CONFIG_SENSORS_TSL2550 is not set |
764 | # CONFIG_I2C_DEBUG_CORE is not set | 792 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -790,6 +818,7 @@ CONFIG_HWMON=y | |||
790 | # CONFIG_SENSORS_F71805F is not set | 818 | # CONFIG_SENSORS_F71805F is not set |
791 | # CONFIG_SENSORS_F71882FG is not set | 819 | # CONFIG_SENSORS_F71882FG is not set |
792 | # CONFIG_SENSORS_F75375S is not set | 820 | # CONFIG_SENSORS_F75375S is not set |
821 | # CONFIG_SENSORS_G760A is not set | ||
793 | # CONFIG_SENSORS_GL518SM is not set | 822 | # CONFIG_SENSORS_GL518SM is not set |
794 | # CONFIG_SENSORS_GL520SM is not set | 823 | # CONFIG_SENSORS_GL520SM is not set |
795 | # CONFIG_SENSORS_IT87 is not set | 824 | # CONFIG_SENSORS_IT87 is not set |
@@ -804,11 +833,14 @@ CONFIG_HWMON=y | |||
804 | # CONFIG_SENSORS_LM90 is not set | 833 | # CONFIG_SENSORS_LM90 is not set |
805 | # CONFIG_SENSORS_LM92 is not set | 834 | # CONFIG_SENSORS_LM92 is not set |
806 | # CONFIG_SENSORS_LM93 is not set | 835 | # CONFIG_SENSORS_LM93 is not set |
836 | # CONFIG_SENSORS_LTC4215 is not set | ||
807 | # CONFIG_SENSORS_LTC4245 is not set | 837 | # CONFIG_SENSORS_LTC4245 is not set |
838 | # CONFIG_SENSORS_LM95241 is not set | ||
808 | # CONFIG_SENSORS_MAX1619 is not set | 839 | # CONFIG_SENSORS_MAX1619 is not set |
809 | # CONFIG_SENSORS_MAX6650 is not set | 840 | # CONFIG_SENSORS_MAX6650 is not set |
810 | # CONFIG_SENSORS_PC87360 is not set | 841 | # CONFIG_SENSORS_PC87360 is not set |
811 | # CONFIG_SENSORS_PC87427 is not set | 842 | # CONFIG_SENSORS_PC87427 is not set |
843 | # CONFIG_SENSORS_PCF8591 is not set | ||
812 | # CONFIG_SENSORS_SIS5595 is not set | 844 | # CONFIG_SENSORS_SIS5595 is not set |
813 | # CONFIG_SENSORS_DME1737 is not set | 845 | # CONFIG_SENSORS_DME1737 is not set |
814 | # CONFIG_SENSORS_SMSC47M1 is not set | 846 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -906,7 +938,6 @@ CONFIG_HID=y | |||
906 | # | 938 | # |
907 | # Special HID drivers | 939 | # Special HID drivers |
908 | # | 940 | # |
909 | CONFIG_HID_COMPAT=y | ||
910 | CONFIG_USB_SUPPORT=y | 941 | CONFIG_USB_SUPPORT=y |
911 | CONFIG_USB_ARCH_HAS_HCD=y | 942 | CONFIG_USB_ARCH_HAS_HCD=y |
912 | CONFIG_USB_ARCH_HAS_OHCI=y | 943 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -920,7 +951,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
920 | # | 951 | # |
921 | 952 | ||
922 | # | 953 | # |
923 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 954 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
924 | # | 955 | # |
925 | # CONFIG_USB_GADGET is not set | 956 | # CONFIG_USB_GADGET is not set |
926 | 957 | ||
@@ -988,8 +1019,9 @@ CONFIG_RTC_DRV_DS1374=y | |||
988 | # | 1019 | # |
989 | # on-CPU RTC drivers | 1020 | # on-CPU RTC drivers |
990 | # | 1021 | # |
991 | # CONFIG_RTC_DRV_PPC is not set | 1022 | # CONFIG_RTC_DRV_GENERIC is not set |
992 | # CONFIG_DMADEVICES is not set | 1023 | # CONFIG_DMADEVICES is not set |
1024 | # CONFIG_AUXDISPLAY is not set | ||
993 | # CONFIG_UIO is not set | 1025 | # CONFIG_UIO is not set |
994 | # CONFIG_STAGING is not set | 1026 | # CONFIG_STAGING is not set |
995 | 1027 | ||
@@ -1000,6 +1032,7 @@ CONFIG_EXT2_FS=y | |||
1000 | # CONFIG_EXT2_FS_XATTR is not set | 1032 | # CONFIG_EXT2_FS_XATTR is not set |
1001 | # CONFIG_EXT2_FS_XIP is not set | 1033 | # CONFIG_EXT2_FS_XIP is not set |
1002 | CONFIG_EXT3_FS=y | 1034 | CONFIG_EXT3_FS=y |
1035 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1003 | CONFIG_EXT3_FS_XATTR=y | 1036 | CONFIG_EXT3_FS_XATTR=y |
1004 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1037 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1005 | # CONFIG_EXT3_FS_SECURITY is not set | 1038 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1022,6 +1055,11 @@ CONFIG_INOTIFY_USER=y | |||
1022 | # CONFIG_FUSE_FS is not set | 1055 | # CONFIG_FUSE_FS is not set |
1023 | 1056 | ||
1024 | # | 1057 | # |
1058 | # Caches | ||
1059 | # | ||
1060 | # CONFIG_FSCACHE is not set | ||
1061 | |||
1062 | # | ||
1025 | # CD-ROM/DVD Filesystems | 1063 | # CD-ROM/DVD Filesystems |
1026 | # | 1064 | # |
1027 | # CONFIG_ISO9660_FS is not set | 1065 | # CONFIG_ISO9660_FS is not set |
@@ -1064,6 +1102,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1064 | # CONFIG_ROMFS_FS is not set | 1102 | # CONFIG_ROMFS_FS is not set |
1065 | # CONFIG_SYSV_FS is not set | 1103 | # CONFIG_SYSV_FS is not set |
1066 | # CONFIG_UFS_FS is not set | 1104 | # CONFIG_UFS_FS is not set |
1105 | # CONFIG_NILFS2_FS is not set | ||
1067 | CONFIG_NETWORK_FILESYSTEMS=y | 1106 | CONFIG_NETWORK_FILESYSTEMS=y |
1068 | CONFIG_NFS_FS=y | 1107 | CONFIG_NFS_FS=y |
1069 | CONFIG_NFS_V3=y | 1108 | CONFIG_NFS_V3=y |
@@ -1076,7 +1115,6 @@ CONFIG_LOCKD_V4=y | |||
1076 | CONFIG_NFS_COMMON=y | 1115 | CONFIG_NFS_COMMON=y |
1077 | CONFIG_SUNRPC=y | 1116 | CONFIG_SUNRPC=y |
1078 | CONFIG_SUNRPC_GSS=y | 1117 | CONFIG_SUNRPC_GSS=y |
1079 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1080 | CONFIG_RPCSEC_GSS_KRB5=y | 1118 | CONFIG_RPCSEC_GSS_KRB5=y |
1081 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1119 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1082 | # CONFIG_SMB_FS is not set | 1120 | # CONFIG_SMB_FS is not set |
@@ -1106,6 +1144,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1106 | # CONFIG_DLM is not set | 1144 | # CONFIG_DLM is not set |
1107 | CONFIG_UCC_FAST=y | 1145 | CONFIG_UCC_FAST=y |
1108 | CONFIG_UCC=y | 1146 | CONFIG_UCC=y |
1147 | # CONFIG_BINARY_PRINTF is not set | ||
1109 | 1148 | ||
1110 | # | 1149 | # |
1111 | # Library routines | 1150 | # Library routines |
@@ -1119,11 +1158,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
1119 | CONFIG_CRC32=y | 1158 | CONFIG_CRC32=y |
1120 | # CONFIG_CRC7 is not set | 1159 | # CONFIG_CRC7 is not set |
1121 | # CONFIG_LIBCRC32C is not set | 1160 | # CONFIG_LIBCRC32C is not set |
1122 | CONFIG_PLIST=y | 1161 | CONFIG_ZLIB_INFLATE=y |
1162 | CONFIG_DECOMPRESS_GZIP=y | ||
1123 | CONFIG_HAS_IOMEM=y | 1163 | CONFIG_HAS_IOMEM=y |
1124 | CONFIG_HAS_IOPORT=y | 1164 | CONFIG_HAS_IOPORT=y |
1125 | CONFIG_HAS_DMA=y | 1165 | CONFIG_HAS_DMA=y |
1126 | CONFIG_HAVE_LMB=y | 1166 | CONFIG_HAVE_LMB=y |
1167 | CONFIG_NLATTR=y | ||
1127 | 1168 | ||
1128 | # | 1169 | # |
1129 | # Kernel hacking | 1170 | # Kernel hacking |
@@ -1145,13 +1186,24 @@ CONFIG_FRAME_WARN=1024 | |||
1145 | # CONFIG_LATENCYTOP is not set | 1186 | # CONFIG_LATENCYTOP is not set |
1146 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1187 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1147 | CONFIG_HAVE_FUNCTION_TRACER=y | 1188 | CONFIG_HAVE_FUNCTION_TRACER=y |
1189 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1148 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1190 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1149 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1191 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1192 | CONFIG_TRACING_SUPPORT=y | ||
1150 | 1193 | ||
1151 | # | 1194 | # |
1152 | # Tracers | 1195 | # Tracers |
1153 | # | 1196 | # |
1154 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1197 | # CONFIG_FUNCTION_TRACER is not set |
1198 | # CONFIG_SCHED_TRACER is not set | ||
1199 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1200 | # CONFIG_EVENT_TRACER is not set | ||
1201 | # CONFIG_BOOT_TRACER is not set | ||
1202 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1203 | # CONFIG_STACK_TRACER is not set | ||
1204 | # CONFIG_KMEMTRACE is not set | ||
1205 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1206 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1155 | # CONFIG_SAMPLES is not set | 1207 | # CONFIG_SAMPLES is not set |
1156 | CONFIG_HAVE_ARCH_KGDB=y | 1208 | CONFIG_HAVE_ARCH_KGDB=y |
1157 | CONFIG_PRINT_STACK_DEPTH=64 | 1209 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1180,10 +1232,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1180 | CONFIG_CRYPTO_HASH=y | 1232 | CONFIG_CRYPTO_HASH=y |
1181 | CONFIG_CRYPTO_HASH2=y | 1233 | CONFIG_CRYPTO_HASH2=y |
1182 | CONFIG_CRYPTO_RNG2=y | 1234 | CONFIG_CRYPTO_RNG2=y |
1235 | CONFIG_CRYPTO_PCOMP=y | ||
1183 | CONFIG_CRYPTO_MANAGER=y | 1236 | CONFIG_CRYPTO_MANAGER=y |
1184 | CONFIG_CRYPTO_MANAGER2=y | 1237 | CONFIG_CRYPTO_MANAGER2=y |
1185 | # CONFIG_CRYPTO_GF128MUL is not set | 1238 | # CONFIG_CRYPTO_GF128MUL is not set |
1186 | # CONFIG_CRYPTO_NULL is not set | 1239 | # CONFIG_CRYPTO_NULL is not set |
1240 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1187 | # CONFIG_CRYPTO_CRYPTD is not set | 1241 | # CONFIG_CRYPTO_CRYPTD is not set |
1188 | # CONFIG_CRYPTO_AUTHENC is not set | 1242 | # CONFIG_CRYPTO_AUTHENC is not set |
1189 | # CONFIG_CRYPTO_TEST is not set | 1243 | # CONFIG_CRYPTO_TEST is not set |
@@ -1252,6 +1306,7 @@ CONFIG_CRYPTO_DES=y | |||
1252 | # Compression | 1306 | # Compression |
1253 | # | 1307 | # |
1254 | # CONFIG_CRYPTO_DEFLATE is not set | 1308 | # CONFIG_CRYPTO_DEFLATE is not set |
1309 | # CONFIG_CRYPTO_ZLIB is not set | ||
1255 | # CONFIG_CRYPTO_LZO is not set | 1310 | # CONFIG_CRYPTO_LZO is not set |
1256 | 1311 | ||
1257 | # | 1312 | # |
diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig index a012ce235203..227dbba76795 100644 --- a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:52 2009 | 4 | # Wed May 13 17:22:08 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -109,16 +123,19 @@ CONFIG_AIO=y | |||
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
119 | CONFIG_HAVE_KPROBES=y | 135 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
138 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 139 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 140 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 141 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 148 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
132 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
133 | # CONFIG_LBD is not set | 150 | # CONFIG_LBD is not set |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 151 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 152 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 153 | ||
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 165 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
156 | 167 | ||
157 | # | 168 | # |
158 | # Platform support | 169 | # Platform support |
159 | # | 170 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 171 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 172 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 173 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,6 +192,8 @@ CONFIG_MPC832x_RDB=y | |||
183 | CONFIG_PPC_MPC832x=y | 192 | CONFIG_PPC_MPC832x=y |
184 | # CONFIG_PPC_86xx is not set | 193 | # CONFIG_PPC_86xx is not set |
185 | # CONFIG_EMBEDDED6xx is not set | 194 | # CONFIG_EMBEDDED6xx is not set |
195 | # CONFIG_AMIGAONE is not set | ||
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | CONFIG_IPIC=y | 197 | CONFIG_IPIC=y |
187 | # CONFIG_MPIC is not set | 198 | # CONFIG_MPIC is not set |
188 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -245,9 +256,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
245 | CONFIG_BOUNCE=y | 256 | CONFIG_BOUNCE=y |
246 | CONFIG_VIRT_TO_BUS=y | 257 | CONFIG_VIRT_TO_BUS=y |
247 | CONFIG_UNEVICTABLE_LRU=y | 258 | CONFIG_UNEVICTABLE_LRU=y |
259 | CONFIG_HAVE_MLOCK=y | ||
260 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
248 | CONFIG_PPC_4K_PAGES=y | 261 | CONFIG_PPC_4K_PAGES=y |
249 | # CONFIG_PPC_16K_PAGES is not set | 262 | # CONFIG_PPC_16K_PAGES is not set |
250 | # CONFIG_PPC_64K_PAGES is not set | 263 | # CONFIG_PPC_64K_PAGES is not set |
264 | # CONFIG_PPC_256K_PAGES is not set | ||
251 | CONFIG_FORCE_MAX_ZONEORDER=11 | 265 | CONFIG_FORCE_MAX_ZONEORDER=11 |
252 | CONFIG_PROC_DEVICETREE=y | 266 | CONFIG_PROC_DEVICETREE=y |
253 | # CONFIG_CMDLINE_BOOL is not set | 267 | # CONFIG_CMDLINE_BOOL is not set |
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # CONFIG_PCI_MSI is not set | 287 | # CONFIG_PCI_MSI is not set |
274 | # CONFIG_PCI_LEGACY is not set | 288 | # CONFIG_PCI_LEGACY is not set |
275 | # CONFIG_PCI_STUB is not set | 289 | # CONFIG_PCI_STUB is not set |
290 | # CONFIG_PCI_IOV is not set | ||
276 | # CONFIG_PCCARD is not set | 291 | # CONFIG_PCCARD is not set |
277 | # CONFIG_HOTPLUG_PCI is not set | 292 | # CONFIG_HOTPLUG_PCI is not set |
278 | # CONFIG_HAS_RAPIDIO is not set | 293 | # CONFIG_HAS_RAPIDIO is not set |
@@ -295,7 +310,6 @@ CONFIG_NET=y | |||
295 | # | 310 | # |
296 | # Networking options | 311 | # Networking options |
297 | # | 312 | # |
298 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
299 | CONFIG_PACKET=y | 313 | CONFIG_PACKET=y |
300 | # CONFIG_PACKET_MMAP is not set | 314 | # CONFIG_PACKET_MMAP is not set |
301 | CONFIG_UNIX=y | 315 | CONFIG_UNIX=y |
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_LAPB is not set | 365 | # CONFIG_LAPB is not set |
352 | # CONFIG_ECONET is not set | 366 | # CONFIG_ECONET is not set |
353 | # CONFIG_WAN_ROUTER is not set | 367 | # CONFIG_WAN_ROUTER is not set |
368 | # CONFIG_PHONET is not set | ||
354 | # CONFIG_NET_SCHED is not set | 369 | # CONFIG_NET_SCHED is not set |
355 | # CONFIG_DCB is not set | 370 | # CONFIG_DCB is not set |
356 | 371 | ||
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
363 | # CONFIG_IRDA is not set | 378 | # CONFIG_IRDA is not set |
364 | # CONFIG_BT is not set | 379 | # CONFIG_BT is not set |
365 | # CONFIG_AF_RXRPC is not set | 380 | # CONFIG_AF_RXRPC is not set |
366 | # CONFIG_PHONET is not set | ||
367 | CONFIG_WIRELESS=y | 381 | CONFIG_WIRELESS=y |
368 | # CONFIG_CFG80211 is not set | 382 | # CONFIG_CFG80211 is not set |
369 | CONFIG_WIRELESS_OLD_REGULATORY=y | 383 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -413,13 +427,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
413 | # CONFIG_BLK_DEV_HD is not set | 427 | # CONFIG_BLK_DEV_HD is not set |
414 | CONFIG_MISC_DEVICES=y | 428 | CONFIG_MISC_DEVICES=y |
415 | # CONFIG_PHANTOM is not set | 429 | # CONFIG_PHANTOM is not set |
416 | # CONFIG_EEPROM_93CX6 is not set | ||
417 | # CONFIG_SGI_IOC4 is not set | 430 | # CONFIG_SGI_IOC4 is not set |
418 | # CONFIG_TIFM_CORE is not set | 431 | # CONFIG_TIFM_CORE is not set |
419 | # CONFIG_ICS932S401 is not set | 432 | # CONFIG_ICS932S401 is not set |
420 | # CONFIG_ENCLOSURE_SERVICES is not set | 433 | # CONFIG_ENCLOSURE_SERVICES is not set |
421 | # CONFIG_HP_ILO is not set | 434 | # CONFIG_HP_ILO is not set |
435 | # CONFIG_ISL29003 is not set | ||
422 | # CONFIG_C2PORT is not set | 436 | # CONFIG_C2PORT is not set |
437 | |||
438 | # | ||
439 | # EEPROM support | ||
440 | # | ||
441 | # CONFIG_EEPROM_AT24 is not set | ||
442 | # CONFIG_EEPROM_AT25 is not set | ||
443 | # CONFIG_EEPROM_LEGACY is not set | ||
444 | # CONFIG_EEPROM_93CX6 is not set | ||
423 | CONFIG_HAVE_IDE=y | 445 | CONFIG_HAVE_IDE=y |
424 | # CONFIG_IDE is not set | 446 | # CONFIG_IDE is not set |
425 | 447 | ||
@@ -477,9 +499,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
477 | # CONFIG_MEGARAID_NEWGEN is not set | 499 | # CONFIG_MEGARAID_NEWGEN is not set |
478 | # CONFIG_MEGARAID_LEGACY is not set | 500 | # CONFIG_MEGARAID_LEGACY is not set |
479 | # CONFIG_MEGARAID_SAS is not set | 501 | # CONFIG_MEGARAID_SAS is not set |
502 | # CONFIG_SCSI_MPT2SAS is not set | ||
480 | # CONFIG_SCSI_HPTIOP is not set | 503 | # CONFIG_SCSI_HPTIOP is not set |
481 | # CONFIG_SCSI_BUSLOGIC is not set | 504 | # CONFIG_SCSI_BUSLOGIC is not set |
482 | # CONFIG_LIBFC is not set | 505 | # CONFIG_LIBFC is not set |
506 | # CONFIG_LIBFCOE is not set | ||
483 | # CONFIG_FCOE is not set | 507 | # CONFIG_FCOE is not set |
484 | # CONFIG_SCSI_DMX3191D is not set | 508 | # CONFIG_SCSI_DMX3191D is not set |
485 | # CONFIG_SCSI_EATA is not set | 509 | # CONFIG_SCSI_EATA is not set |
@@ -501,6 +525,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
501 | # CONFIG_SCSI_DEBUG is not set | 525 | # CONFIG_SCSI_DEBUG is not set |
502 | # CONFIG_SCSI_SRP is not set | 526 | # CONFIG_SCSI_SRP is not set |
503 | # CONFIG_SCSI_DH is not set | 527 | # CONFIG_SCSI_DH is not set |
528 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
504 | # CONFIG_ATA is not set | 529 | # CONFIG_ATA is not set |
505 | # CONFIG_MD is not set | 530 | # CONFIG_MD is not set |
506 | # CONFIG_FUSION is not set | 531 | # CONFIG_FUSION is not set |
@@ -517,6 +542,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
517 | # CONFIG_I2O is not set | 542 | # CONFIG_I2O is not set |
518 | # CONFIG_MACINTOSH_DRIVERS is not set | 543 | # CONFIG_MACINTOSH_DRIVERS is not set |
519 | CONFIG_NETDEVICES=y | 544 | CONFIG_NETDEVICES=y |
545 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
520 | # CONFIG_DUMMY is not set | 546 | # CONFIG_DUMMY is not set |
521 | # CONFIG_BONDING is not set | 547 | # CONFIG_BONDING is not set |
522 | # CONFIG_MACVLAN is not set | 548 | # CONFIG_MACVLAN is not set |
@@ -551,6 +577,8 @@ CONFIG_MII=y | |||
551 | # CONFIG_CASSINI is not set | 577 | # CONFIG_CASSINI is not set |
552 | # CONFIG_NET_VENDOR_3COM is not set | 578 | # CONFIG_NET_VENDOR_3COM is not set |
553 | # CONFIG_ENC28J60 is not set | 579 | # CONFIG_ENC28J60 is not set |
580 | # CONFIG_ETHOC is not set | ||
581 | # CONFIG_DNET is not set | ||
554 | # CONFIG_NET_TULIP is not set | 582 | # CONFIG_NET_TULIP is not set |
555 | # CONFIG_HP100 is not set | 583 | # CONFIG_HP100 is not set |
556 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 584 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -570,6 +598,7 @@ CONFIG_E1000=y | |||
570 | # CONFIG_E1000E is not set | 598 | # CONFIG_E1000E is not set |
571 | # CONFIG_IP1000 is not set | 599 | # CONFIG_IP1000 is not set |
572 | # CONFIG_IGB is not set | 600 | # CONFIG_IGB is not set |
601 | # CONFIG_IGBVF is not set | ||
573 | # CONFIG_NS83820 is not set | 602 | # CONFIG_NS83820 is not set |
574 | # CONFIG_HAMACHI is not set | 603 | # CONFIG_HAMACHI is not set |
575 | # CONFIG_YELLOWFIN is not set | 604 | # CONFIG_YELLOWFIN is not set |
@@ -580,14 +609,15 @@ CONFIG_E1000=y | |||
580 | # CONFIG_VIA_VELOCITY is not set | 609 | # CONFIG_VIA_VELOCITY is not set |
581 | # CONFIG_TIGON3 is not set | 610 | # CONFIG_TIGON3 is not set |
582 | # CONFIG_BNX2 is not set | 611 | # CONFIG_BNX2 is not set |
612 | CONFIG_FSL_PQ_MDIO=y | ||
583 | # CONFIG_GIANFAR is not set | 613 | # CONFIG_GIANFAR is not set |
584 | CONFIG_UCC_GETH=y | 614 | CONFIG_UCC_GETH=y |
585 | # CONFIG_UGETH_MAGIC_PACKET is not set | 615 | # CONFIG_UGETH_MAGIC_PACKET is not set |
586 | # CONFIG_UGETH_TX_ON_DEMAND is not set | 616 | # CONFIG_UGETH_TX_ON_DEMAND is not set |
587 | # CONFIG_MV643XX_ETH is not set | ||
588 | # CONFIG_QLA3XXX is not set | 617 | # CONFIG_QLA3XXX is not set |
589 | # CONFIG_ATL1 is not set | 618 | # CONFIG_ATL1 is not set |
590 | # CONFIG_ATL1E is not set | 619 | # CONFIG_ATL1E is not set |
620 | # CONFIG_ATL1C is not set | ||
591 | # CONFIG_JME is not set | 621 | # CONFIG_JME is not set |
592 | CONFIG_NETDEV_10000=y | 622 | CONFIG_NETDEV_10000=y |
593 | # CONFIG_CHELSIO_T1 is not set | 623 | # CONFIG_CHELSIO_T1 is not set |
@@ -597,6 +627,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
597 | # CONFIG_IXGBE is not set | 627 | # CONFIG_IXGBE is not set |
598 | # CONFIG_IXGB is not set | 628 | # CONFIG_IXGB is not set |
599 | # CONFIG_S2IO is not set | 629 | # CONFIG_S2IO is not set |
630 | # CONFIG_VXGE is not set | ||
600 | # CONFIG_MYRI10GE is not set | 631 | # CONFIG_MYRI10GE is not set |
601 | # CONFIG_NETXEN_NIC is not set | 632 | # CONFIG_NETXEN_NIC is not set |
602 | # CONFIG_NIU is not set | 633 | # CONFIG_NIU is not set |
@@ -606,6 +637,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
606 | # CONFIG_BNX2X is not set | 637 | # CONFIG_BNX2X is not set |
607 | # CONFIG_QLGE is not set | 638 | # CONFIG_QLGE is not set |
608 | # CONFIG_SFC is not set | 639 | # CONFIG_SFC is not set |
640 | # CONFIG_BE2NET is not set | ||
609 | # CONFIG_TR is not set | 641 | # CONFIG_TR is not set |
610 | 642 | ||
611 | # | 643 | # |
@@ -613,7 +645,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
613 | # | 645 | # |
614 | # CONFIG_WLAN_PRE80211 is not set | 646 | # CONFIG_WLAN_PRE80211 is not set |
615 | # CONFIG_WLAN_80211 is not set | 647 | # CONFIG_WLAN_80211 is not set |
616 | # CONFIG_IWLWIFI_LEDS is not set | ||
617 | 648 | ||
618 | # | 649 | # |
619 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 650 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -691,6 +722,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
691 | # | 722 | # |
692 | # Non-8250 serial port support | 723 | # Non-8250 serial port support |
693 | # | 724 | # |
725 | # CONFIG_SERIAL_MAX3100 is not set | ||
694 | # CONFIG_SERIAL_UARTLITE is not set | 726 | # CONFIG_SERIAL_UARTLITE is not set |
695 | CONFIG_SERIAL_CORE=y | 727 | CONFIG_SERIAL_CORE=y |
696 | CONFIG_SERIAL_CORE_CONSOLE=y | 728 | CONFIG_SERIAL_CORE_CONSOLE=y |
@@ -704,6 +736,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
704 | # CONFIG_HVC_UDBG is not set | 736 | # CONFIG_HVC_UDBG is not set |
705 | # CONFIG_IPMI_HANDLER is not set | 737 | # CONFIG_IPMI_HANDLER is not set |
706 | CONFIG_HW_RANDOM=y | 738 | CONFIG_HW_RANDOM=y |
739 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
707 | # CONFIG_NVRAM is not set | 740 | # CONFIG_NVRAM is not set |
708 | CONFIG_GEN_RTC=y | 741 | CONFIG_GEN_RTC=y |
709 | # CONFIG_GEN_RTC_X is not set | 742 | # CONFIG_GEN_RTC_X is not set |
@@ -768,12 +801,9 @@ CONFIG_I2C_MPC=y | |||
768 | # Miscellaneous I2C Chip support | 801 | # Miscellaneous I2C Chip support |
769 | # | 802 | # |
770 | # CONFIG_DS1682 is not set | 803 | # CONFIG_DS1682 is not set |
771 | # CONFIG_EEPROM_AT24 is not set | ||
772 | # CONFIG_EEPROM_LEGACY is not set | ||
773 | # CONFIG_SENSORS_PCF8574 is not set | 804 | # CONFIG_SENSORS_PCF8574 is not set |
774 | # CONFIG_PCF8575 is not set | 805 | # CONFIG_PCF8575 is not set |
775 | # CONFIG_SENSORS_PCA9539 is not set | 806 | # CONFIG_SENSORS_PCA9539 is not set |
776 | # CONFIG_SENSORS_PCF8591 is not set | ||
777 | # CONFIG_SENSORS_MAX6875 is not set | 807 | # CONFIG_SENSORS_MAX6875 is not set |
778 | # CONFIG_SENSORS_TSL2550 is not set | 808 | # CONFIG_SENSORS_TSL2550 is not set |
779 | # CONFIG_I2C_DEBUG_CORE is not set | 809 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -792,7 +822,6 @@ CONFIG_SPI_MPC83xx=y | |||
792 | # | 822 | # |
793 | # SPI Protocol Masters | 823 | # SPI Protocol Masters |
794 | # | 824 | # |
795 | # CONFIG_EEPROM_AT25 is not set | ||
796 | # CONFIG_SPI_SPIDEV is not set | 825 | # CONFIG_SPI_SPIDEV is not set |
797 | # CONFIG_SPI_TLE62X0 is not set | 826 | # CONFIG_SPI_TLE62X0 is not set |
798 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 827 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
@@ -820,6 +849,7 @@ CONFIG_HWMON=y | |||
820 | # CONFIG_SENSORS_F71805F is not set | 849 | # CONFIG_SENSORS_F71805F is not set |
821 | # CONFIG_SENSORS_F71882FG is not set | 850 | # CONFIG_SENSORS_F71882FG is not set |
822 | # CONFIG_SENSORS_F75375S is not set | 851 | # CONFIG_SENSORS_F75375S is not set |
852 | # CONFIG_SENSORS_G760A is not set | ||
823 | # CONFIG_SENSORS_GL518SM is not set | 853 | # CONFIG_SENSORS_GL518SM is not set |
824 | # CONFIG_SENSORS_GL520SM is not set | 854 | # CONFIG_SENSORS_GL520SM is not set |
825 | # CONFIG_SENSORS_IT87 is not set | 855 | # CONFIG_SENSORS_IT87 is not set |
@@ -835,12 +865,15 @@ CONFIG_HWMON=y | |||
835 | # CONFIG_SENSORS_LM90 is not set | 865 | # CONFIG_SENSORS_LM90 is not set |
836 | # CONFIG_SENSORS_LM92 is not set | 866 | # CONFIG_SENSORS_LM92 is not set |
837 | # CONFIG_SENSORS_LM93 is not set | 867 | # CONFIG_SENSORS_LM93 is not set |
868 | # CONFIG_SENSORS_LTC4215 is not set | ||
838 | # CONFIG_SENSORS_LTC4245 is not set | 869 | # CONFIG_SENSORS_LTC4245 is not set |
870 | # CONFIG_SENSORS_LM95241 is not set | ||
839 | # CONFIG_SENSORS_MAX1111 is not set | 871 | # CONFIG_SENSORS_MAX1111 is not set |
840 | # CONFIG_SENSORS_MAX1619 is not set | 872 | # CONFIG_SENSORS_MAX1619 is not set |
841 | # CONFIG_SENSORS_MAX6650 is not set | 873 | # CONFIG_SENSORS_MAX6650 is not set |
842 | # CONFIG_SENSORS_PC87360 is not set | 874 | # CONFIG_SENSORS_PC87360 is not set |
843 | # CONFIG_SENSORS_PC87427 is not set | 875 | # CONFIG_SENSORS_PC87427 is not set |
876 | # CONFIG_SENSORS_PCF8591 is not set | ||
844 | # CONFIG_SENSORS_SIS5595 is not set | 877 | # CONFIG_SENSORS_SIS5595 is not set |
845 | # CONFIG_SENSORS_DME1737 is not set | 878 | # CONFIG_SENSORS_DME1737 is not set |
846 | # CONFIG_SENSORS_SMSC47M1 is not set | 879 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -859,6 +892,7 @@ CONFIG_HWMON=y | |||
859 | # CONFIG_SENSORS_W83L786NG is not set | 892 | # CONFIG_SENSORS_W83L786NG is not set |
860 | # CONFIG_SENSORS_W83627HF is not set | 893 | # CONFIG_SENSORS_W83627HF is not set |
861 | # CONFIG_SENSORS_W83627EHF is not set | 894 | # CONFIG_SENSORS_W83627EHF is not set |
895 | # CONFIG_SENSORS_LIS3_SPI is not set | ||
862 | # CONFIG_HWMON_DEBUG_CHIP is not set | 896 | # CONFIG_HWMON_DEBUG_CHIP is not set |
863 | # CONFIG_THERMAL is not set | 897 | # CONFIG_THERMAL is not set |
864 | # CONFIG_THERMAL_HWMON is not set | 898 | # CONFIG_THERMAL_HWMON is not set |
@@ -955,7 +989,6 @@ CONFIG_HID=y | |||
955 | # | 989 | # |
956 | # Special HID drivers | 990 | # Special HID drivers |
957 | # | 991 | # |
958 | CONFIG_HID_COMPAT=y | ||
959 | CONFIG_USB_SUPPORT=y | 992 | CONFIG_USB_SUPPORT=y |
960 | CONFIG_USB_ARCH_HAS_HCD=y | 993 | CONFIG_USB_ARCH_HAS_HCD=y |
961 | CONFIG_USB_ARCH_HAS_OHCI=y | 994 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1012,11 +1045,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1012 | # CONFIG_USB_TMC is not set | 1045 | # CONFIG_USB_TMC is not set |
1013 | 1046 | ||
1014 | # | 1047 | # |
1015 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1048 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1016 | # | 1049 | # |
1017 | 1050 | ||
1018 | # | 1051 | # |
1019 | # see USB_STORAGE Help for more information | 1052 | # also be needed; see USB_STORAGE Help for more info |
1020 | # | 1053 | # |
1021 | CONFIG_USB_STORAGE=y | 1054 | CONFIG_USB_STORAGE=y |
1022 | # CONFIG_USB_STORAGE_DEBUG is not set | 1055 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1058,7 +1091,6 @@ CONFIG_USB_STORAGE=y | |||
1058 | # CONFIG_USB_LED is not set | 1091 | # CONFIG_USB_LED is not set |
1059 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1092 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1060 | # CONFIG_USB_CYTHERM is not set | 1093 | # CONFIG_USB_CYTHERM is not set |
1061 | # CONFIG_USB_PHIDGET is not set | ||
1062 | # CONFIG_USB_IDMOUSE is not set | 1094 | # CONFIG_USB_IDMOUSE is not set |
1063 | # CONFIG_USB_FTDI_ELAN is not set | 1095 | # CONFIG_USB_FTDI_ELAN is not set |
1064 | # CONFIG_USB_APPLEDISPLAY is not set | 1096 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1074,6 +1106,7 @@ CONFIG_USB_STORAGE=y | |||
1074 | # | 1106 | # |
1075 | # OTG and related infrastructure | 1107 | # OTG and related infrastructure |
1076 | # | 1108 | # |
1109 | # CONFIG_NOP_USB_XCEIV is not set | ||
1077 | # CONFIG_UWB is not set | 1110 | # CONFIG_UWB is not set |
1078 | CONFIG_MMC=y | 1111 | CONFIG_MMC=y |
1079 | # CONFIG_MMC_DEBUG is not set | 1112 | # CONFIG_MMC_DEBUG is not set |
@@ -1101,6 +1134,7 @@ CONFIG_MMC_SPI=y | |||
1101 | # CONFIG_EDAC is not set | 1134 | # CONFIG_EDAC is not set |
1102 | # CONFIG_RTC_CLASS is not set | 1135 | # CONFIG_RTC_CLASS is not set |
1103 | # CONFIG_DMADEVICES is not set | 1136 | # CONFIG_DMADEVICES is not set |
1137 | # CONFIG_AUXDISPLAY is not set | ||
1104 | # CONFIG_UIO is not set | 1138 | # CONFIG_UIO is not set |
1105 | # CONFIG_STAGING is not set | 1139 | # CONFIG_STAGING is not set |
1106 | 1140 | ||
@@ -1111,6 +1145,7 @@ CONFIG_EXT2_FS=y | |||
1111 | # CONFIG_EXT2_FS_XATTR is not set | 1145 | # CONFIG_EXT2_FS_XATTR is not set |
1112 | # CONFIG_EXT2_FS_XIP is not set | 1146 | # CONFIG_EXT2_FS_XIP is not set |
1113 | CONFIG_EXT3_FS=y | 1147 | CONFIG_EXT3_FS=y |
1148 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1114 | CONFIG_EXT3_FS_XATTR=y | 1149 | CONFIG_EXT3_FS_XATTR=y |
1115 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1150 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1116 | # CONFIG_EXT3_FS_SECURITY is not set | 1151 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1133,6 +1168,11 @@ CONFIG_INOTIFY_USER=y | |||
1133 | # CONFIG_FUSE_FS is not set | 1168 | # CONFIG_FUSE_FS is not set |
1134 | 1169 | ||
1135 | # | 1170 | # |
1171 | # Caches | ||
1172 | # | ||
1173 | # CONFIG_FSCACHE is not set | ||
1174 | |||
1175 | # | ||
1136 | # CD-ROM/DVD Filesystems | 1176 | # CD-ROM/DVD Filesystems |
1137 | # | 1177 | # |
1138 | # CONFIG_ISO9660_FS is not set | 1178 | # CONFIG_ISO9660_FS is not set |
@@ -1178,6 +1218,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1178 | # CONFIG_ROMFS_FS is not set | 1218 | # CONFIG_ROMFS_FS is not set |
1179 | # CONFIG_SYSV_FS is not set | 1219 | # CONFIG_SYSV_FS is not set |
1180 | # CONFIG_UFS_FS is not set | 1220 | # CONFIG_UFS_FS is not set |
1221 | # CONFIG_NILFS2_FS is not set | ||
1181 | CONFIG_NETWORK_FILESYSTEMS=y | 1222 | CONFIG_NETWORK_FILESYSTEMS=y |
1182 | CONFIG_NFS_FS=y | 1223 | CONFIG_NFS_FS=y |
1183 | CONFIG_NFS_V3=y | 1224 | CONFIG_NFS_V3=y |
@@ -1190,7 +1231,6 @@ CONFIG_LOCKD_V4=y | |||
1190 | CONFIG_NFS_COMMON=y | 1231 | CONFIG_NFS_COMMON=y |
1191 | CONFIG_SUNRPC=y | 1232 | CONFIG_SUNRPC=y |
1192 | CONFIG_SUNRPC_GSS=y | 1233 | CONFIG_SUNRPC_GSS=y |
1193 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1194 | CONFIG_RPCSEC_GSS_KRB5=y | 1234 | CONFIG_RPCSEC_GSS_KRB5=y |
1195 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1235 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1196 | # CONFIG_SMB_FS is not set | 1236 | # CONFIG_SMB_FS is not set |
@@ -1264,6 +1304,7 @@ CONFIG_NLS_ISO8859_1=y | |||
1264 | # CONFIG_DLM is not set | 1304 | # CONFIG_DLM is not set |
1265 | CONFIG_UCC_FAST=y | 1305 | CONFIG_UCC_FAST=y |
1266 | CONFIG_UCC=y | 1306 | CONFIG_UCC=y |
1307 | # CONFIG_BINARY_PRINTF is not set | ||
1267 | 1308 | ||
1268 | # | 1309 | # |
1269 | # Library routines | 1310 | # Library routines |
@@ -1277,11 +1318,13 @@ CONFIG_CRC_ITU_T=y | |||
1277 | CONFIG_CRC32=y | 1318 | CONFIG_CRC32=y |
1278 | CONFIG_CRC7=y | 1319 | CONFIG_CRC7=y |
1279 | # CONFIG_LIBCRC32C is not set | 1320 | # CONFIG_LIBCRC32C is not set |
1280 | CONFIG_PLIST=y | 1321 | CONFIG_ZLIB_INFLATE=y |
1322 | CONFIG_DECOMPRESS_GZIP=y | ||
1281 | CONFIG_HAS_IOMEM=y | 1323 | CONFIG_HAS_IOMEM=y |
1282 | CONFIG_HAS_IOPORT=y | 1324 | CONFIG_HAS_IOPORT=y |
1283 | CONFIG_HAS_DMA=y | 1325 | CONFIG_HAS_DMA=y |
1284 | CONFIG_HAVE_LMB=y | 1326 | CONFIG_HAVE_LMB=y |
1327 | CONFIG_NLATTR=y | ||
1285 | 1328 | ||
1286 | # | 1329 | # |
1287 | # Kernel hacking | 1330 | # Kernel hacking |
@@ -1303,13 +1346,24 @@ CONFIG_FRAME_WARN=1024 | |||
1303 | # CONFIG_LATENCYTOP is not set | 1346 | # CONFIG_LATENCYTOP is not set |
1304 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1347 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1305 | CONFIG_HAVE_FUNCTION_TRACER=y | 1348 | CONFIG_HAVE_FUNCTION_TRACER=y |
1349 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1306 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1350 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1307 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1351 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1352 | CONFIG_TRACING_SUPPORT=y | ||
1308 | 1353 | ||
1309 | # | 1354 | # |
1310 | # Tracers | 1355 | # Tracers |
1311 | # | 1356 | # |
1312 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1357 | # CONFIG_FUNCTION_TRACER is not set |
1358 | # CONFIG_SCHED_TRACER is not set | ||
1359 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1360 | # CONFIG_EVENT_TRACER is not set | ||
1361 | # CONFIG_BOOT_TRACER is not set | ||
1362 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1363 | # CONFIG_STACK_TRACER is not set | ||
1364 | # CONFIG_KMEMTRACE is not set | ||
1365 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1366 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1313 | # CONFIG_SAMPLES is not set | 1367 | # CONFIG_SAMPLES is not set |
1314 | CONFIG_HAVE_ARCH_KGDB=y | 1368 | CONFIG_HAVE_ARCH_KGDB=y |
1315 | CONFIG_PRINT_STACK_DEPTH=64 | 1369 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1338,10 +1392,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1338 | CONFIG_CRYPTO_HASH=y | 1392 | CONFIG_CRYPTO_HASH=y |
1339 | CONFIG_CRYPTO_HASH2=y | 1393 | CONFIG_CRYPTO_HASH2=y |
1340 | CONFIG_CRYPTO_RNG2=y | 1394 | CONFIG_CRYPTO_RNG2=y |
1395 | CONFIG_CRYPTO_PCOMP=y | ||
1341 | CONFIG_CRYPTO_MANAGER=y | 1396 | CONFIG_CRYPTO_MANAGER=y |
1342 | CONFIG_CRYPTO_MANAGER2=y | 1397 | CONFIG_CRYPTO_MANAGER2=y |
1343 | # CONFIG_CRYPTO_GF128MUL is not set | 1398 | # CONFIG_CRYPTO_GF128MUL is not set |
1344 | # CONFIG_CRYPTO_NULL is not set | 1399 | # CONFIG_CRYPTO_NULL is not set |
1400 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1345 | # CONFIG_CRYPTO_CRYPTD is not set | 1401 | # CONFIG_CRYPTO_CRYPTD is not set |
1346 | # CONFIG_CRYPTO_AUTHENC is not set | 1402 | # CONFIG_CRYPTO_AUTHENC is not set |
1347 | # CONFIG_CRYPTO_TEST is not set | 1403 | # CONFIG_CRYPTO_TEST is not set |
@@ -1410,6 +1466,7 @@ CONFIG_CRYPTO_DES=y | |||
1410 | # Compression | 1466 | # Compression |
1411 | # | 1467 | # |
1412 | # CONFIG_CRYPTO_DEFLATE is not set | 1468 | # CONFIG_CRYPTO_DEFLATE is not set |
1469 | # CONFIG_CRYPTO_ZLIB is not set | ||
1413 | # CONFIG_CRYPTO_LZO is not set | 1470 | # CONFIG_CRYPTO_LZO is not set |
1414 | 1471 | ||
1415 | # | 1472 | # |
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig index 4bcc4a1ff308..24ee7fcac87e 100644 --- a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:53 2009 | 4 | # Wed May 13 17:22:09 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -109,16 +123,19 @@ CONFIG_AIO=y | |||
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
119 | CONFIG_HAVE_KPROBES=y | 135 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
138 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 139 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 140 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 141 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 148 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
132 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
133 | # CONFIG_LBD is not set | 150 | # CONFIG_LBD is not set |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 151 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 152 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 153 | ||
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 165 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
156 | 167 | ||
157 | # | 168 | # |
158 | # Platform support | 169 | # Platform support |
159 | # | 170 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 171 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 172 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 173 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,6 +192,8 @@ CONFIG_MPC834x_ITX=y | |||
183 | CONFIG_PPC_MPC834x=y | 192 | CONFIG_PPC_MPC834x=y |
184 | # CONFIG_PPC_86xx is not set | 193 | # CONFIG_PPC_86xx is not set |
185 | # CONFIG_EMBEDDED6xx is not set | 194 | # CONFIG_EMBEDDED6xx is not set |
195 | # CONFIG_AMIGAONE is not set | ||
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | CONFIG_IPIC=y | 197 | CONFIG_IPIC=y |
187 | # CONFIG_MPIC is not set | 198 | # CONFIG_MPIC is not set |
188 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
244 | CONFIG_BOUNCE=y | 255 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 256 | CONFIG_VIRT_TO_BUS=y |
246 | CONFIG_UNEVICTABLE_LRU=y | 257 | CONFIG_UNEVICTABLE_LRU=y |
258 | CONFIG_HAVE_MLOCK=y | ||
259 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
247 | CONFIG_PPC_4K_PAGES=y | 260 | CONFIG_PPC_4K_PAGES=y |
248 | # CONFIG_PPC_16K_PAGES is not set | 261 | # CONFIG_PPC_16K_PAGES is not set |
249 | # CONFIG_PPC_64K_PAGES is not set | 262 | # CONFIG_PPC_64K_PAGES is not set |
263 | # CONFIG_PPC_256K_PAGES is not set | ||
250 | CONFIG_FORCE_MAX_ZONEORDER=11 | 264 | CONFIG_FORCE_MAX_ZONEORDER=11 |
251 | CONFIG_PROC_DEVICETREE=y | 265 | CONFIG_PROC_DEVICETREE=y |
252 | # CONFIG_CMDLINE_BOOL is not set | 266 | # CONFIG_CMDLINE_BOOL is not set |
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
272 | # CONFIG_PCI_MSI is not set | 286 | # CONFIG_PCI_MSI is not set |
273 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
274 | # CONFIG_PCI_STUB is not set | 288 | # CONFIG_PCI_STUB is not set |
289 | # CONFIG_PCI_IOV is not set | ||
275 | # CONFIG_PCCARD is not set | 290 | # CONFIG_PCCARD is not set |
276 | # CONFIG_HOTPLUG_PCI is not set | 291 | # CONFIG_HOTPLUG_PCI is not set |
277 | # CONFIG_HAS_RAPIDIO is not set | 292 | # CONFIG_HAS_RAPIDIO is not set |
@@ -294,7 +309,6 @@ CONFIG_NET=y | |||
294 | # | 309 | # |
295 | # Networking options | 310 | # Networking options |
296 | # | 311 | # |
297 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
298 | CONFIG_PACKET=y | 312 | CONFIG_PACKET=y |
299 | # CONFIG_PACKET_MMAP is not set | 313 | # CONFIG_PACKET_MMAP is not set |
300 | CONFIG_UNIX=y | 314 | CONFIG_UNIX=y |
@@ -350,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
350 | # CONFIG_LAPB is not set | 364 | # CONFIG_LAPB is not set |
351 | # CONFIG_ECONET is not set | 365 | # CONFIG_ECONET is not set |
352 | # CONFIG_WAN_ROUTER is not set | 366 | # CONFIG_WAN_ROUTER is not set |
367 | # CONFIG_PHONET is not set | ||
353 | # CONFIG_NET_SCHED is not set | 368 | # CONFIG_NET_SCHED is not set |
354 | # CONFIG_DCB is not set | 369 | # CONFIG_DCB is not set |
355 | 370 | ||
@@ -362,7 +377,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
362 | # CONFIG_IRDA is not set | 377 | # CONFIG_IRDA is not set |
363 | # CONFIG_BT is not set | 378 | # CONFIG_BT is not set |
364 | # CONFIG_AF_RXRPC is not set | 379 | # CONFIG_AF_RXRPC is not set |
365 | # CONFIG_PHONET is not set | ||
366 | CONFIG_WIRELESS=y | 380 | CONFIG_WIRELESS=y |
367 | # CONFIG_CFG80211 is not set | 381 | # CONFIG_CFG80211 is not set |
368 | CONFIG_WIRELESS_OLD_REGULATORY=y | 382 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -465,7 +479,6 @@ CONFIG_MTD_PHYSMAP=y | |||
465 | # LPDDR flash memory drivers | 479 | # LPDDR flash memory drivers |
466 | # | 480 | # |
467 | # CONFIG_MTD_LPDDR is not set | 481 | # CONFIG_MTD_LPDDR is not set |
468 | # CONFIG_MTD_QINFO_PROBE is not set | ||
469 | 482 | ||
470 | # | 483 | # |
471 | # UBI - Unsorted block images | 484 | # UBI - Unsorted block images |
@@ -496,13 +509,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
496 | # CONFIG_BLK_DEV_HD is not set | 509 | # CONFIG_BLK_DEV_HD is not set |
497 | CONFIG_MISC_DEVICES=y | 510 | CONFIG_MISC_DEVICES=y |
498 | # CONFIG_PHANTOM is not set | 511 | # CONFIG_PHANTOM is not set |
499 | # CONFIG_EEPROM_93CX6 is not set | ||
500 | # CONFIG_SGI_IOC4 is not set | 512 | # CONFIG_SGI_IOC4 is not set |
501 | # CONFIG_TIFM_CORE is not set | 513 | # CONFIG_TIFM_CORE is not set |
502 | # CONFIG_ICS932S401 is not set | 514 | # CONFIG_ICS932S401 is not set |
503 | # CONFIG_ENCLOSURE_SERVICES is not set | 515 | # CONFIG_ENCLOSURE_SERVICES is not set |
504 | # CONFIG_HP_ILO is not set | 516 | # CONFIG_HP_ILO is not set |
517 | # CONFIG_ISL29003 is not set | ||
505 | # CONFIG_C2PORT is not set | 518 | # CONFIG_C2PORT is not set |
519 | |||
520 | # | ||
521 | # EEPROM support | ||
522 | # | ||
523 | # CONFIG_EEPROM_AT24 is not set | ||
524 | # CONFIG_EEPROM_AT25 is not set | ||
525 | # CONFIG_EEPROM_LEGACY is not set | ||
526 | # CONFIG_EEPROM_93CX6 is not set | ||
506 | CONFIG_HAVE_IDE=y | 527 | CONFIG_HAVE_IDE=y |
507 | CONFIG_IDE=y | 528 | CONFIG_IDE=y |
508 | 529 | ||
@@ -608,9 +629,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
608 | # CONFIG_MEGARAID_NEWGEN is not set | 629 | # CONFIG_MEGARAID_NEWGEN is not set |
609 | # CONFIG_MEGARAID_LEGACY is not set | 630 | # CONFIG_MEGARAID_LEGACY is not set |
610 | # CONFIG_MEGARAID_SAS is not set | 631 | # CONFIG_MEGARAID_SAS is not set |
632 | # CONFIG_SCSI_MPT2SAS is not set | ||
611 | # CONFIG_SCSI_HPTIOP is not set | 633 | # CONFIG_SCSI_HPTIOP is not set |
612 | # CONFIG_SCSI_BUSLOGIC is not set | 634 | # CONFIG_SCSI_BUSLOGIC is not set |
613 | # CONFIG_LIBFC is not set | 635 | # CONFIG_LIBFC is not set |
636 | # CONFIG_LIBFCOE is not set | ||
614 | # CONFIG_FCOE is not set | 637 | # CONFIG_FCOE is not set |
615 | # CONFIG_SCSI_DMX3191D is not set | 638 | # CONFIG_SCSI_DMX3191D is not set |
616 | # CONFIG_SCSI_EATA is not set | 639 | # CONFIG_SCSI_EATA is not set |
@@ -633,6 +656,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
633 | # CONFIG_SCSI_DEBUG is not set | 656 | # CONFIG_SCSI_DEBUG is not set |
634 | # CONFIG_SCSI_SRP is not set | 657 | # CONFIG_SCSI_SRP is not set |
635 | # CONFIG_SCSI_DH is not set | 658 | # CONFIG_SCSI_DH is not set |
659 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
636 | CONFIG_ATA=y | 660 | CONFIG_ATA=y |
637 | # CONFIG_ATA_NONSTANDARD is not set | 661 | # CONFIG_ATA_NONSTANDARD is not set |
638 | CONFIG_SATA_PMP=y | 662 | CONFIG_SATA_PMP=y |
@@ -720,6 +744,7 @@ CONFIG_MD_RAID1=y | |||
720 | # CONFIG_I2O is not set | 744 | # CONFIG_I2O is not set |
721 | # CONFIG_MACINTOSH_DRIVERS is not set | 745 | # CONFIG_MACINTOSH_DRIVERS is not set |
722 | CONFIG_NETDEVICES=y | 746 | CONFIG_NETDEVICES=y |
747 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
723 | # CONFIG_DUMMY is not set | 748 | # CONFIG_DUMMY is not set |
724 | # CONFIG_BONDING is not set | 749 | # CONFIG_BONDING is not set |
725 | # CONFIG_MACVLAN is not set | 750 | # CONFIG_MACVLAN is not set |
@@ -755,6 +780,7 @@ CONFIG_NETDEV_1000=y | |||
755 | # CONFIG_E1000E is not set | 780 | # CONFIG_E1000E is not set |
756 | # CONFIG_IP1000 is not set | 781 | # CONFIG_IP1000 is not set |
757 | # CONFIG_IGB is not set | 782 | # CONFIG_IGB is not set |
783 | # CONFIG_IGBVF is not set | ||
758 | # CONFIG_NS83820 is not set | 784 | # CONFIG_NS83820 is not set |
759 | # CONFIG_HAMACHI is not set | 785 | # CONFIG_HAMACHI is not set |
760 | # CONFIG_YELLOWFIN is not set | 786 | # CONFIG_YELLOWFIN is not set |
@@ -765,11 +791,12 @@ CONFIG_NETDEV_1000=y | |||
765 | # CONFIG_VIA_VELOCITY is not set | 791 | # CONFIG_VIA_VELOCITY is not set |
766 | # CONFIG_TIGON3 is not set | 792 | # CONFIG_TIGON3 is not set |
767 | # CONFIG_BNX2 is not set | 793 | # CONFIG_BNX2 is not set |
794 | CONFIG_FSL_PQ_MDIO=y | ||
768 | CONFIG_GIANFAR=y | 795 | CONFIG_GIANFAR=y |
769 | # CONFIG_MV643XX_ETH is not set | ||
770 | # CONFIG_QLA3XXX is not set | 796 | # CONFIG_QLA3XXX is not set |
771 | # CONFIG_ATL1 is not set | 797 | # CONFIG_ATL1 is not set |
772 | # CONFIG_ATL1E is not set | 798 | # CONFIG_ATL1E is not set |
799 | # CONFIG_ATL1C is not set | ||
773 | # CONFIG_JME is not set | 800 | # CONFIG_JME is not set |
774 | CONFIG_NETDEV_10000=y | 801 | CONFIG_NETDEV_10000=y |
775 | # CONFIG_CHELSIO_T1 is not set | 802 | # CONFIG_CHELSIO_T1 is not set |
@@ -779,6 +806,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
779 | # CONFIG_IXGBE is not set | 806 | # CONFIG_IXGBE is not set |
780 | # CONFIG_IXGB is not set | 807 | # CONFIG_IXGB is not set |
781 | # CONFIG_S2IO is not set | 808 | # CONFIG_S2IO is not set |
809 | # CONFIG_VXGE is not set | ||
782 | # CONFIG_MYRI10GE is not set | 810 | # CONFIG_MYRI10GE is not set |
783 | # CONFIG_NETXEN_NIC is not set | 811 | # CONFIG_NETXEN_NIC is not set |
784 | # CONFIG_NIU is not set | 812 | # CONFIG_NIU is not set |
@@ -788,6 +816,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
788 | # CONFIG_BNX2X is not set | 816 | # CONFIG_BNX2X is not set |
789 | # CONFIG_QLGE is not set | 817 | # CONFIG_QLGE is not set |
790 | # CONFIG_SFC is not set | 818 | # CONFIG_SFC is not set |
819 | # CONFIG_BE2NET is not set | ||
791 | # CONFIG_TR is not set | 820 | # CONFIG_TR is not set |
792 | 821 | ||
793 | # | 822 | # |
@@ -795,7 +824,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
795 | # | 824 | # |
796 | # CONFIG_WLAN_PRE80211 is not set | 825 | # CONFIG_WLAN_PRE80211 is not set |
797 | # CONFIG_WLAN_80211 is not set | 826 | # CONFIG_WLAN_80211 is not set |
798 | # CONFIG_IWLWIFI_LEDS is not set | ||
799 | 827 | ||
800 | # | 828 | # |
801 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 829 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -853,6 +881,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
853 | # | 881 | # |
854 | # Non-8250 serial port support | 882 | # Non-8250 serial port support |
855 | # | 883 | # |
884 | # CONFIG_SERIAL_MAX3100 is not set | ||
856 | # CONFIG_SERIAL_UARTLITE is not set | 885 | # CONFIG_SERIAL_UARTLITE is not set |
857 | CONFIG_SERIAL_CORE=y | 886 | CONFIG_SERIAL_CORE=y |
858 | CONFIG_SERIAL_CORE_CONSOLE=y | 887 | CONFIG_SERIAL_CORE_CONSOLE=y |
@@ -865,6 +894,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
865 | # CONFIG_HVC_UDBG is not set | 894 | # CONFIG_HVC_UDBG is not set |
866 | # CONFIG_IPMI_HANDLER is not set | 895 | # CONFIG_IPMI_HANDLER is not set |
867 | CONFIG_HW_RANDOM=y | 896 | CONFIG_HW_RANDOM=y |
897 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
868 | # CONFIG_NVRAM is not set | 898 | # CONFIG_NVRAM is not set |
869 | # CONFIG_R3964 is not set | 899 | # CONFIG_R3964 is not set |
870 | # CONFIG_APPLICOM is not set | 900 | # CONFIG_APPLICOM is not set |
@@ -927,12 +957,9 @@ CONFIG_I2C_MPC=y | |||
927 | # Miscellaneous I2C Chip support | 957 | # Miscellaneous I2C Chip support |
928 | # | 958 | # |
929 | # CONFIG_DS1682 is not set | 959 | # CONFIG_DS1682 is not set |
930 | # CONFIG_EEPROM_AT24 is not set | ||
931 | # CONFIG_EEPROM_LEGACY is not set | ||
932 | CONFIG_SENSORS_PCF8574=y | 960 | CONFIG_SENSORS_PCF8574=y |
933 | # CONFIG_PCF8575 is not set | 961 | # CONFIG_PCF8575 is not set |
934 | # CONFIG_SENSORS_PCA9539 is not set | 962 | # CONFIG_SENSORS_PCA9539 is not set |
935 | # CONFIG_SENSORS_PCF8591 is not set | ||
936 | # CONFIG_SENSORS_MAX6875 is not set | 963 | # CONFIG_SENSORS_MAX6875 is not set |
937 | # CONFIG_SENSORS_TSL2550 is not set | 964 | # CONFIG_SENSORS_TSL2550 is not set |
938 | # CONFIG_I2C_DEBUG_CORE is not set | 965 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -951,7 +978,6 @@ CONFIG_SPI_MPC83xx=y | |||
951 | # | 978 | # |
952 | # SPI Protocol Masters | 979 | # SPI Protocol Masters |
953 | # | 980 | # |
954 | # CONFIG_EEPROM_AT25 is not set | ||
955 | # CONFIG_SPI_SPIDEV is not set | 981 | # CONFIG_SPI_SPIDEV is not set |
956 | # CONFIG_SPI_TLE62X0 is not set | 982 | # CONFIG_SPI_TLE62X0 is not set |
957 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 983 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
@@ -1083,11 +1109,11 @@ CONFIG_USB_UHCI_HCD=y | |||
1083 | # CONFIG_USB_TMC is not set | 1109 | # CONFIG_USB_TMC is not set |
1084 | 1110 | ||
1085 | # | 1111 | # |
1086 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1112 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1087 | # | 1113 | # |
1088 | 1114 | ||
1089 | # | 1115 | # |
1090 | # see USB_STORAGE Help for more information | 1116 | # also be needed; see USB_STORAGE Help for more info |
1091 | # | 1117 | # |
1092 | CONFIG_USB_STORAGE=y | 1118 | CONFIG_USB_STORAGE=y |
1093 | # CONFIG_USB_STORAGE_DEBUG is not set | 1119 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1128,7 +1154,6 @@ CONFIG_USB_STORAGE=y | |||
1128 | # CONFIG_USB_LED is not set | 1154 | # CONFIG_USB_LED is not set |
1129 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1155 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1130 | # CONFIG_USB_CYTHERM is not set | 1156 | # CONFIG_USB_CYTHERM is not set |
1131 | # CONFIG_USB_PHIDGET is not set | ||
1132 | # CONFIG_USB_IDMOUSE is not set | 1157 | # CONFIG_USB_IDMOUSE is not set |
1133 | # CONFIG_USB_FTDI_ELAN is not set | 1158 | # CONFIG_USB_FTDI_ELAN is not set |
1134 | # CONFIG_USB_APPLEDISPLAY is not set | 1159 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1144,6 +1169,7 @@ CONFIG_USB_STORAGE=y | |||
1144 | # | 1169 | # |
1145 | # OTG and related infrastructure | 1170 | # OTG and related infrastructure |
1146 | # | 1171 | # |
1172 | # CONFIG_NOP_USB_XCEIV is not set | ||
1147 | # CONFIG_UWB is not set | 1173 | # CONFIG_UWB is not set |
1148 | # CONFIG_MMC is not set | 1174 | # CONFIG_MMC is not set |
1149 | # CONFIG_MEMSTICK is not set | 1175 | # CONFIG_MEMSTICK is not set |
@@ -1212,8 +1238,9 @@ CONFIG_RTC_DRV_DS1307=y | |||
1212 | # | 1238 | # |
1213 | # on-CPU RTC drivers | 1239 | # on-CPU RTC drivers |
1214 | # | 1240 | # |
1215 | # CONFIG_RTC_DRV_PPC is not set | 1241 | # CONFIG_RTC_DRV_GENERIC is not set |
1216 | # CONFIG_DMADEVICES is not set | 1242 | # CONFIG_DMADEVICES is not set |
1243 | # CONFIG_AUXDISPLAY is not set | ||
1217 | # CONFIG_UIO is not set | 1244 | # CONFIG_UIO is not set |
1218 | # CONFIG_STAGING is not set | 1245 | # CONFIG_STAGING is not set |
1219 | 1246 | ||
@@ -1224,6 +1251,7 @@ CONFIG_EXT2_FS=y | |||
1224 | # CONFIG_EXT2_FS_XATTR is not set | 1251 | # CONFIG_EXT2_FS_XATTR is not set |
1225 | # CONFIG_EXT2_FS_XIP is not set | 1252 | # CONFIG_EXT2_FS_XIP is not set |
1226 | CONFIG_EXT3_FS=y | 1253 | CONFIG_EXT3_FS=y |
1254 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1227 | CONFIG_EXT3_FS_XATTR=y | 1255 | CONFIG_EXT3_FS_XATTR=y |
1228 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1256 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1229 | # CONFIG_EXT3_FS_SECURITY is not set | 1257 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1246,6 +1274,11 @@ CONFIG_INOTIFY_USER=y | |||
1246 | # CONFIG_FUSE_FS is not set | 1274 | # CONFIG_FUSE_FS is not set |
1247 | 1275 | ||
1248 | # | 1276 | # |
1277 | # Caches | ||
1278 | # | ||
1279 | # CONFIG_FSCACHE is not set | ||
1280 | |||
1281 | # | ||
1249 | # CD-ROM/DVD Filesystems | 1282 | # CD-ROM/DVD Filesystems |
1250 | # | 1283 | # |
1251 | # CONFIG_ISO9660_FS is not set | 1284 | # CONFIG_ISO9660_FS is not set |
@@ -1292,6 +1325,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1292 | # CONFIG_ROMFS_FS is not set | 1325 | # CONFIG_ROMFS_FS is not set |
1293 | # CONFIG_SYSV_FS is not set | 1326 | # CONFIG_SYSV_FS is not set |
1294 | # CONFIG_UFS_FS is not set | 1327 | # CONFIG_UFS_FS is not set |
1328 | # CONFIG_NILFS2_FS is not set | ||
1295 | CONFIG_NETWORK_FILESYSTEMS=y | 1329 | CONFIG_NETWORK_FILESYSTEMS=y |
1296 | CONFIG_NFS_FS=y | 1330 | CONFIG_NFS_FS=y |
1297 | CONFIG_NFS_V3=y | 1331 | CONFIG_NFS_V3=y |
@@ -1304,7 +1338,6 @@ CONFIG_LOCKD_V4=y | |||
1304 | CONFIG_NFS_COMMON=y | 1338 | CONFIG_NFS_COMMON=y |
1305 | CONFIG_SUNRPC=y | 1339 | CONFIG_SUNRPC=y |
1306 | CONFIG_SUNRPC_GSS=y | 1340 | CONFIG_SUNRPC_GSS=y |
1307 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1308 | CONFIG_RPCSEC_GSS_KRB5=y | 1341 | CONFIG_RPCSEC_GSS_KRB5=y |
1309 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1342 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1310 | # CONFIG_SMB_FS is not set | 1343 | # CONFIG_SMB_FS is not set |
@@ -1375,6 +1408,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1375 | # CONFIG_NLS_KOI8_U is not set | 1408 | # CONFIG_NLS_KOI8_U is not set |
1376 | # CONFIG_NLS_UTF8 is not set | 1409 | # CONFIG_NLS_UTF8 is not set |
1377 | # CONFIG_DLM is not set | 1410 | # CONFIG_DLM is not set |
1411 | # CONFIG_BINARY_PRINTF is not set | ||
1378 | 1412 | ||
1379 | # | 1413 | # |
1380 | # Library routines | 1414 | # Library routines |
@@ -1388,11 +1422,13 @@ CONFIG_CRC_T10DIF=y | |||
1388 | CONFIG_CRC32=y | 1422 | CONFIG_CRC32=y |
1389 | # CONFIG_CRC7 is not set | 1423 | # CONFIG_CRC7 is not set |
1390 | # CONFIG_LIBCRC32C is not set | 1424 | # CONFIG_LIBCRC32C is not set |
1391 | CONFIG_PLIST=y | 1425 | CONFIG_ZLIB_INFLATE=y |
1426 | CONFIG_DECOMPRESS_GZIP=y | ||
1392 | CONFIG_HAS_IOMEM=y | 1427 | CONFIG_HAS_IOMEM=y |
1393 | CONFIG_HAS_IOPORT=y | 1428 | CONFIG_HAS_IOPORT=y |
1394 | CONFIG_HAS_DMA=y | 1429 | CONFIG_HAS_DMA=y |
1395 | CONFIG_HAVE_LMB=y | 1430 | CONFIG_HAVE_LMB=y |
1431 | CONFIG_NLATTR=y | ||
1396 | 1432 | ||
1397 | # | 1433 | # |
1398 | # Kernel hacking | 1434 | # Kernel hacking |
@@ -1414,13 +1450,24 @@ CONFIG_FRAME_WARN=1024 | |||
1414 | # CONFIG_LATENCYTOP is not set | 1450 | # CONFIG_LATENCYTOP is not set |
1415 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1451 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1416 | CONFIG_HAVE_FUNCTION_TRACER=y | 1452 | CONFIG_HAVE_FUNCTION_TRACER=y |
1453 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1417 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1454 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1418 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1455 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1456 | CONFIG_TRACING_SUPPORT=y | ||
1419 | 1457 | ||
1420 | # | 1458 | # |
1421 | # Tracers | 1459 | # Tracers |
1422 | # | 1460 | # |
1423 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1461 | # CONFIG_FUNCTION_TRACER is not set |
1462 | # CONFIG_SCHED_TRACER is not set | ||
1463 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1464 | # CONFIG_EVENT_TRACER is not set | ||
1465 | # CONFIG_BOOT_TRACER is not set | ||
1466 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1467 | # CONFIG_STACK_TRACER is not set | ||
1468 | # CONFIG_KMEMTRACE is not set | ||
1469 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1470 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1424 | # CONFIG_SAMPLES is not set | 1471 | # CONFIG_SAMPLES is not set |
1425 | CONFIG_HAVE_ARCH_KGDB=y | 1472 | CONFIG_HAVE_ARCH_KGDB=y |
1426 | CONFIG_PRINT_STACK_DEPTH=64 | 1473 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1449,10 +1496,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1449 | CONFIG_CRYPTO_HASH=y | 1496 | CONFIG_CRYPTO_HASH=y |
1450 | CONFIG_CRYPTO_HASH2=y | 1497 | CONFIG_CRYPTO_HASH2=y |
1451 | CONFIG_CRYPTO_RNG2=y | 1498 | CONFIG_CRYPTO_RNG2=y |
1499 | CONFIG_CRYPTO_PCOMP=y | ||
1452 | CONFIG_CRYPTO_MANAGER=y | 1500 | CONFIG_CRYPTO_MANAGER=y |
1453 | CONFIG_CRYPTO_MANAGER2=y | 1501 | CONFIG_CRYPTO_MANAGER2=y |
1454 | # CONFIG_CRYPTO_GF128MUL is not set | 1502 | # CONFIG_CRYPTO_GF128MUL is not set |
1455 | # CONFIG_CRYPTO_NULL is not set | 1503 | # CONFIG_CRYPTO_NULL is not set |
1504 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1456 | # CONFIG_CRYPTO_CRYPTD is not set | 1505 | # CONFIG_CRYPTO_CRYPTD is not set |
1457 | # CONFIG_CRYPTO_AUTHENC is not set | 1506 | # CONFIG_CRYPTO_AUTHENC is not set |
1458 | # CONFIG_CRYPTO_TEST is not set | 1507 | # CONFIG_CRYPTO_TEST is not set |
@@ -1521,6 +1570,7 @@ CONFIG_CRYPTO_DES=y | |||
1521 | # Compression | 1570 | # Compression |
1522 | # | 1571 | # |
1523 | # CONFIG_CRYPTO_DEFLATE is not set | 1572 | # CONFIG_CRYPTO_DEFLATE is not set |
1573 | # CONFIG_CRYPTO_ZLIB is not set | ||
1524 | # CONFIG_CRYPTO_LZO is not set | 1574 | # CONFIG_CRYPTO_LZO is not set |
1525 | 1575 | ||
1526 | # | 1576 | # |
diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig index 9ba5518ce8df..7f39543205a9 100644 --- a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:55 2009 | 4 | # Wed May 13 17:22:10 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -109,16 +123,19 @@ CONFIG_AIO=y | |||
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
119 | CONFIG_HAVE_KPROBES=y | 135 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
138 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 139 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 140 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 141 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 148 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
132 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
133 | # CONFIG_LBD is not set | 150 | # CONFIG_LBD is not set |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 151 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 152 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 153 | ||
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 165 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
156 | 167 | ||
157 | # | 168 | # |
158 | # Platform support | 169 | # Platform support |
159 | # | 170 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 171 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 172 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 173 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,6 +192,8 @@ CONFIG_MPC834x_ITX=y | |||
183 | CONFIG_PPC_MPC834x=y | 192 | CONFIG_PPC_MPC834x=y |
184 | # CONFIG_PPC_86xx is not set | 193 | # CONFIG_PPC_86xx is not set |
185 | # CONFIG_EMBEDDED6xx is not set | 194 | # CONFIG_EMBEDDED6xx is not set |
195 | # CONFIG_AMIGAONE is not set | ||
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | CONFIG_IPIC=y | 197 | CONFIG_IPIC=y |
187 | # CONFIG_MPIC is not set | 198 | # CONFIG_MPIC is not set |
188 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
244 | CONFIG_BOUNCE=y | 255 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 256 | CONFIG_VIRT_TO_BUS=y |
246 | CONFIG_UNEVICTABLE_LRU=y | 257 | CONFIG_UNEVICTABLE_LRU=y |
258 | CONFIG_HAVE_MLOCK=y | ||
259 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
247 | CONFIG_PPC_4K_PAGES=y | 260 | CONFIG_PPC_4K_PAGES=y |
248 | # CONFIG_PPC_16K_PAGES is not set | 261 | # CONFIG_PPC_16K_PAGES is not set |
249 | # CONFIG_PPC_64K_PAGES is not set | 262 | # CONFIG_PPC_64K_PAGES is not set |
263 | # CONFIG_PPC_256K_PAGES is not set | ||
250 | CONFIG_FORCE_MAX_ZONEORDER=11 | 264 | CONFIG_FORCE_MAX_ZONEORDER=11 |
251 | CONFIG_PROC_DEVICETREE=y | 265 | CONFIG_PROC_DEVICETREE=y |
252 | # CONFIG_CMDLINE_BOOL is not set | 266 | # CONFIG_CMDLINE_BOOL is not set |
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
272 | # CONFIG_PCI_MSI is not set | 286 | # CONFIG_PCI_MSI is not set |
273 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
274 | # CONFIG_PCI_STUB is not set | 288 | # CONFIG_PCI_STUB is not set |
289 | # CONFIG_PCI_IOV is not set | ||
275 | # CONFIG_PCCARD is not set | 290 | # CONFIG_PCCARD is not set |
276 | # CONFIG_HOTPLUG_PCI is not set | 291 | # CONFIG_HOTPLUG_PCI is not set |
277 | # CONFIG_HAS_RAPIDIO is not set | 292 | # CONFIG_HAS_RAPIDIO is not set |
@@ -294,7 +309,6 @@ CONFIG_NET=y | |||
294 | # | 309 | # |
295 | # Networking options | 310 | # Networking options |
296 | # | 311 | # |
297 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
298 | CONFIG_PACKET=y | 312 | CONFIG_PACKET=y |
299 | # CONFIG_PACKET_MMAP is not set | 313 | # CONFIG_PACKET_MMAP is not set |
300 | CONFIG_UNIX=y | 314 | CONFIG_UNIX=y |
@@ -350,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
350 | # CONFIG_LAPB is not set | 364 | # CONFIG_LAPB is not set |
351 | # CONFIG_ECONET is not set | 365 | # CONFIG_ECONET is not set |
352 | # CONFIG_WAN_ROUTER is not set | 366 | # CONFIG_WAN_ROUTER is not set |
367 | # CONFIG_PHONET is not set | ||
353 | # CONFIG_NET_SCHED is not set | 368 | # CONFIG_NET_SCHED is not set |
354 | # CONFIG_DCB is not set | 369 | # CONFIG_DCB is not set |
355 | 370 | ||
@@ -362,7 +377,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
362 | # CONFIG_IRDA is not set | 377 | # CONFIG_IRDA is not set |
363 | # CONFIG_BT is not set | 378 | # CONFIG_BT is not set |
364 | # CONFIG_AF_RXRPC is not set | 379 | # CONFIG_AF_RXRPC is not set |
365 | # CONFIG_PHONET is not set | ||
366 | CONFIG_WIRELESS=y | 380 | CONFIG_WIRELESS=y |
367 | # CONFIG_CFG80211 is not set | 381 | # CONFIG_CFG80211 is not set |
368 | CONFIG_WIRELESS_OLD_REGULATORY=y | 382 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -465,7 +479,6 @@ CONFIG_MTD_PHYSMAP=y | |||
465 | # LPDDR flash memory drivers | 479 | # LPDDR flash memory drivers |
466 | # | 480 | # |
467 | # CONFIG_MTD_LPDDR is not set | 481 | # CONFIG_MTD_LPDDR is not set |
468 | # CONFIG_MTD_QINFO_PROBE is not set | ||
469 | 482 | ||
470 | # | 483 | # |
471 | # UBI - Unsorted block images | 484 | # UBI - Unsorted block images |
@@ -496,13 +509,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
496 | # CONFIG_BLK_DEV_HD is not set | 509 | # CONFIG_BLK_DEV_HD is not set |
497 | CONFIG_MISC_DEVICES=y | 510 | CONFIG_MISC_DEVICES=y |
498 | # CONFIG_PHANTOM is not set | 511 | # CONFIG_PHANTOM is not set |
499 | # CONFIG_EEPROM_93CX6 is not set | ||
500 | # CONFIG_SGI_IOC4 is not set | 512 | # CONFIG_SGI_IOC4 is not set |
501 | # CONFIG_TIFM_CORE is not set | 513 | # CONFIG_TIFM_CORE is not set |
502 | # CONFIG_ICS932S401 is not set | 514 | # CONFIG_ICS932S401 is not set |
503 | # CONFIG_ENCLOSURE_SERVICES is not set | 515 | # CONFIG_ENCLOSURE_SERVICES is not set |
504 | # CONFIG_HP_ILO is not set | 516 | # CONFIG_HP_ILO is not set |
517 | # CONFIG_ISL29003 is not set | ||
505 | # CONFIG_C2PORT is not set | 518 | # CONFIG_C2PORT is not set |
519 | |||
520 | # | ||
521 | # EEPROM support | ||
522 | # | ||
523 | # CONFIG_EEPROM_AT24 is not set | ||
524 | # CONFIG_EEPROM_AT25 is not set | ||
525 | # CONFIG_EEPROM_LEGACY is not set | ||
526 | # CONFIG_EEPROM_93CX6 is not set | ||
506 | CONFIG_HAVE_IDE=y | 527 | CONFIG_HAVE_IDE=y |
507 | # CONFIG_IDE is not set | 528 | # CONFIG_IDE is not set |
508 | 529 | ||
@@ -560,9 +581,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
560 | # CONFIG_MEGARAID_NEWGEN is not set | 581 | # CONFIG_MEGARAID_NEWGEN is not set |
561 | # CONFIG_MEGARAID_LEGACY is not set | 582 | # CONFIG_MEGARAID_LEGACY is not set |
562 | # CONFIG_MEGARAID_SAS is not set | 583 | # CONFIG_MEGARAID_SAS is not set |
584 | # CONFIG_SCSI_MPT2SAS is not set | ||
563 | # CONFIG_SCSI_HPTIOP is not set | 585 | # CONFIG_SCSI_HPTIOP is not set |
564 | # CONFIG_SCSI_BUSLOGIC is not set | 586 | # CONFIG_SCSI_BUSLOGIC is not set |
565 | # CONFIG_LIBFC is not set | 587 | # CONFIG_LIBFC is not set |
588 | # CONFIG_LIBFCOE is not set | ||
566 | # CONFIG_FCOE is not set | 589 | # CONFIG_FCOE is not set |
567 | # CONFIG_SCSI_DMX3191D is not set | 590 | # CONFIG_SCSI_DMX3191D is not set |
568 | # CONFIG_SCSI_EATA is not set | 591 | # CONFIG_SCSI_EATA is not set |
@@ -584,6 +607,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
584 | # CONFIG_SCSI_DEBUG is not set | 607 | # CONFIG_SCSI_DEBUG is not set |
585 | # CONFIG_SCSI_SRP is not set | 608 | # CONFIG_SCSI_SRP is not set |
586 | # CONFIG_SCSI_DH is not set | 609 | # CONFIG_SCSI_DH is not set |
610 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
587 | # CONFIG_ATA is not set | 611 | # CONFIG_ATA is not set |
588 | # CONFIG_MD is not set | 612 | # CONFIG_MD is not set |
589 | # CONFIG_FUSION is not set | 613 | # CONFIG_FUSION is not set |
@@ -600,6 +624,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
600 | # CONFIG_I2O is not set | 624 | # CONFIG_I2O is not set |
601 | # CONFIG_MACINTOSH_DRIVERS is not set | 625 | # CONFIG_MACINTOSH_DRIVERS is not set |
602 | CONFIG_NETDEVICES=y | 626 | CONFIG_NETDEVICES=y |
627 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
603 | # CONFIG_DUMMY is not set | 628 | # CONFIG_DUMMY is not set |
604 | # CONFIG_BONDING is not set | 629 | # CONFIG_BONDING is not set |
605 | # CONFIG_MACVLAN is not set | 630 | # CONFIG_MACVLAN is not set |
@@ -635,6 +660,7 @@ CONFIG_NETDEV_1000=y | |||
635 | # CONFIG_E1000E is not set | 660 | # CONFIG_E1000E is not set |
636 | # CONFIG_IP1000 is not set | 661 | # CONFIG_IP1000 is not set |
637 | # CONFIG_IGB is not set | 662 | # CONFIG_IGB is not set |
663 | # CONFIG_IGBVF is not set | ||
638 | # CONFIG_NS83820 is not set | 664 | # CONFIG_NS83820 is not set |
639 | # CONFIG_HAMACHI is not set | 665 | # CONFIG_HAMACHI is not set |
640 | # CONFIG_YELLOWFIN is not set | 666 | # CONFIG_YELLOWFIN is not set |
@@ -645,11 +671,12 @@ CONFIG_NETDEV_1000=y | |||
645 | # CONFIG_VIA_VELOCITY is not set | 671 | # CONFIG_VIA_VELOCITY is not set |
646 | # CONFIG_TIGON3 is not set | 672 | # CONFIG_TIGON3 is not set |
647 | # CONFIG_BNX2 is not set | 673 | # CONFIG_BNX2 is not set |
674 | CONFIG_FSL_PQ_MDIO=y | ||
648 | CONFIG_GIANFAR=y | 675 | CONFIG_GIANFAR=y |
649 | # CONFIG_MV643XX_ETH is not set | ||
650 | # CONFIG_QLA3XXX is not set | 676 | # CONFIG_QLA3XXX is not set |
651 | # CONFIG_ATL1 is not set | 677 | # CONFIG_ATL1 is not set |
652 | # CONFIG_ATL1E is not set | 678 | # CONFIG_ATL1E is not set |
679 | # CONFIG_ATL1C is not set | ||
653 | # CONFIG_JME is not set | 680 | # CONFIG_JME is not set |
654 | CONFIG_NETDEV_10000=y | 681 | CONFIG_NETDEV_10000=y |
655 | # CONFIG_CHELSIO_T1 is not set | 682 | # CONFIG_CHELSIO_T1 is not set |
@@ -659,6 +686,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
659 | # CONFIG_IXGBE is not set | 686 | # CONFIG_IXGBE is not set |
660 | # CONFIG_IXGB is not set | 687 | # CONFIG_IXGB is not set |
661 | # CONFIG_S2IO is not set | 688 | # CONFIG_S2IO is not set |
689 | # CONFIG_VXGE is not set | ||
662 | # CONFIG_MYRI10GE is not set | 690 | # CONFIG_MYRI10GE is not set |
663 | # CONFIG_NETXEN_NIC is not set | 691 | # CONFIG_NETXEN_NIC is not set |
664 | # CONFIG_NIU is not set | 692 | # CONFIG_NIU is not set |
@@ -668,6 +696,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
668 | # CONFIG_BNX2X is not set | 696 | # CONFIG_BNX2X is not set |
669 | # CONFIG_QLGE is not set | 697 | # CONFIG_QLGE is not set |
670 | # CONFIG_SFC is not set | 698 | # CONFIG_SFC is not set |
699 | # CONFIG_BE2NET is not set | ||
671 | # CONFIG_TR is not set | 700 | # CONFIG_TR is not set |
672 | 701 | ||
673 | # | 702 | # |
@@ -675,7 +704,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
675 | # | 704 | # |
676 | # CONFIG_WLAN_PRE80211 is not set | 705 | # CONFIG_WLAN_PRE80211 is not set |
677 | # CONFIG_WLAN_80211 is not set | 706 | # CONFIG_WLAN_80211 is not set |
678 | # CONFIG_IWLWIFI_LEDS is not set | ||
679 | 707 | ||
680 | # | 708 | # |
681 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 709 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -733,6 +761,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
733 | # | 761 | # |
734 | # Non-8250 serial port support | 762 | # Non-8250 serial port support |
735 | # | 763 | # |
764 | # CONFIG_SERIAL_MAX3100 is not set | ||
736 | # CONFIG_SERIAL_UARTLITE is not set | 765 | # CONFIG_SERIAL_UARTLITE is not set |
737 | CONFIG_SERIAL_CORE=y | 766 | CONFIG_SERIAL_CORE=y |
738 | CONFIG_SERIAL_CORE_CONSOLE=y | 767 | CONFIG_SERIAL_CORE_CONSOLE=y |
@@ -745,6 +774,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
745 | # CONFIG_HVC_UDBG is not set | 774 | # CONFIG_HVC_UDBG is not set |
746 | # CONFIG_IPMI_HANDLER is not set | 775 | # CONFIG_IPMI_HANDLER is not set |
747 | CONFIG_HW_RANDOM=y | 776 | CONFIG_HW_RANDOM=y |
777 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
748 | # CONFIG_NVRAM is not set | 778 | # CONFIG_NVRAM is not set |
749 | # CONFIG_R3964 is not set | 779 | # CONFIG_R3964 is not set |
750 | # CONFIG_APPLICOM is not set | 780 | # CONFIG_APPLICOM is not set |
@@ -807,12 +837,9 @@ CONFIG_I2C_MPC=y | |||
807 | # Miscellaneous I2C Chip support | 837 | # Miscellaneous I2C Chip support |
808 | # | 838 | # |
809 | # CONFIG_DS1682 is not set | 839 | # CONFIG_DS1682 is not set |
810 | # CONFIG_EEPROM_AT24 is not set | ||
811 | # CONFIG_EEPROM_LEGACY is not set | ||
812 | CONFIG_SENSORS_PCF8574=y | 840 | CONFIG_SENSORS_PCF8574=y |
813 | # CONFIG_PCF8575 is not set | 841 | # CONFIG_PCF8575 is not set |
814 | # CONFIG_SENSORS_PCA9539 is not set | 842 | # CONFIG_SENSORS_PCA9539 is not set |
815 | # CONFIG_SENSORS_PCF8591 is not set | ||
816 | # CONFIG_SENSORS_MAX6875 is not set | 843 | # CONFIG_SENSORS_MAX6875 is not set |
817 | # CONFIG_SENSORS_TSL2550 is not set | 844 | # CONFIG_SENSORS_TSL2550 is not set |
818 | # CONFIG_I2C_DEBUG_CORE is not set | 845 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -831,7 +858,6 @@ CONFIG_SPI_MPC83xx=y | |||
831 | # | 858 | # |
832 | # SPI Protocol Masters | 859 | # SPI Protocol Masters |
833 | # | 860 | # |
834 | # CONFIG_EEPROM_AT25 is not set | ||
835 | # CONFIG_SPI_SPIDEV is not set | 861 | # CONFIG_SPI_SPIDEV is not set |
836 | # CONFIG_SPI_TLE62X0 is not set | 862 | # CONFIG_SPI_TLE62X0 is not set |
837 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 863 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
@@ -963,11 +989,11 @@ CONFIG_USB_UHCI_HCD=y | |||
963 | # CONFIG_USB_TMC is not set | 989 | # CONFIG_USB_TMC is not set |
964 | 990 | ||
965 | # | 991 | # |
966 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 992 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
967 | # | 993 | # |
968 | 994 | ||
969 | # | 995 | # |
970 | # see USB_STORAGE Help for more information | 996 | # also be needed; see USB_STORAGE Help for more info |
971 | # | 997 | # |
972 | CONFIG_USB_STORAGE=y | 998 | CONFIG_USB_STORAGE=y |
973 | # CONFIG_USB_STORAGE_DEBUG is not set | 999 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1008,7 +1034,6 @@ CONFIG_USB_STORAGE=y | |||
1008 | # CONFIG_USB_LED is not set | 1034 | # CONFIG_USB_LED is not set |
1009 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1035 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1010 | # CONFIG_USB_CYTHERM is not set | 1036 | # CONFIG_USB_CYTHERM is not set |
1011 | # CONFIG_USB_PHIDGET is not set | ||
1012 | # CONFIG_USB_IDMOUSE is not set | 1037 | # CONFIG_USB_IDMOUSE is not set |
1013 | # CONFIG_USB_FTDI_ELAN is not set | 1038 | # CONFIG_USB_FTDI_ELAN is not set |
1014 | # CONFIG_USB_APPLEDISPLAY is not set | 1039 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1023,6 +1048,7 @@ CONFIG_USB_STORAGE=y | |||
1023 | # | 1048 | # |
1024 | # OTG and related infrastructure | 1049 | # OTG and related infrastructure |
1025 | # | 1050 | # |
1051 | # CONFIG_NOP_USB_XCEIV is not set | ||
1026 | # CONFIG_UWB is not set | 1052 | # CONFIG_UWB is not set |
1027 | # CONFIG_MMC is not set | 1053 | # CONFIG_MMC is not set |
1028 | # CONFIG_MEMSTICK is not set | 1054 | # CONFIG_MEMSTICK is not set |
@@ -1091,8 +1117,9 @@ CONFIG_RTC_DRV_DS1307=y | |||
1091 | # | 1117 | # |
1092 | # on-CPU RTC drivers | 1118 | # on-CPU RTC drivers |
1093 | # | 1119 | # |
1094 | # CONFIG_RTC_DRV_PPC is not set | 1120 | # CONFIG_RTC_DRV_GENERIC is not set |
1095 | # CONFIG_DMADEVICES is not set | 1121 | # CONFIG_DMADEVICES is not set |
1122 | # CONFIG_AUXDISPLAY is not set | ||
1096 | # CONFIG_UIO is not set | 1123 | # CONFIG_UIO is not set |
1097 | # CONFIG_STAGING is not set | 1124 | # CONFIG_STAGING is not set |
1098 | 1125 | ||
@@ -1103,6 +1130,7 @@ CONFIG_EXT2_FS=y | |||
1103 | # CONFIG_EXT2_FS_XATTR is not set | 1130 | # CONFIG_EXT2_FS_XATTR is not set |
1104 | # CONFIG_EXT2_FS_XIP is not set | 1131 | # CONFIG_EXT2_FS_XIP is not set |
1105 | CONFIG_EXT3_FS=y | 1132 | CONFIG_EXT3_FS=y |
1133 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1106 | CONFIG_EXT3_FS_XATTR=y | 1134 | CONFIG_EXT3_FS_XATTR=y |
1107 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1135 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1108 | # CONFIG_EXT3_FS_SECURITY is not set | 1136 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1125,6 +1153,11 @@ CONFIG_INOTIFY_USER=y | |||
1125 | # CONFIG_FUSE_FS is not set | 1153 | # CONFIG_FUSE_FS is not set |
1126 | 1154 | ||
1127 | # | 1155 | # |
1156 | # Caches | ||
1157 | # | ||
1158 | # CONFIG_FSCACHE is not set | ||
1159 | |||
1160 | # | ||
1128 | # CD-ROM/DVD Filesystems | 1161 | # CD-ROM/DVD Filesystems |
1129 | # | 1162 | # |
1130 | # CONFIG_ISO9660_FS is not set | 1163 | # CONFIG_ISO9660_FS is not set |
@@ -1171,6 +1204,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1171 | # CONFIG_ROMFS_FS is not set | 1204 | # CONFIG_ROMFS_FS is not set |
1172 | # CONFIG_SYSV_FS is not set | 1205 | # CONFIG_SYSV_FS is not set |
1173 | # CONFIG_UFS_FS is not set | 1206 | # CONFIG_UFS_FS is not set |
1207 | # CONFIG_NILFS2_FS is not set | ||
1174 | CONFIG_NETWORK_FILESYSTEMS=y | 1208 | CONFIG_NETWORK_FILESYSTEMS=y |
1175 | CONFIG_NFS_FS=y | 1209 | CONFIG_NFS_FS=y |
1176 | CONFIG_NFS_V3=y | 1210 | CONFIG_NFS_V3=y |
@@ -1183,7 +1217,6 @@ CONFIG_LOCKD_V4=y | |||
1183 | CONFIG_NFS_COMMON=y | 1217 | CONFIG_NFS_COMMON=y |
1184 | CONFIG_SUNRPC=y | 1218 | CONFIG_SUNRPC=y |
1185 | CONFIG_SUNRPC_GSS=y | 1219 | CONFIG_SUNRPC_GSS=y |
1186 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1187 | CONFIG_RPCSEC_GSS_KRB5=y | 1220 | CONFIG_RPCSEC_GSS_KRB5=y |
1188 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1221 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1189 | # CONFIG_SMB_FS is not set | 1222 | # CONFIG_SMB_FS is not set |
@@ -1254,6 +1287,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1254 | # CONFIG_NLS_KOI8_U is not set | 1287 | # CONFIG_NLS_KOI8_U is not set |
1255 | # CONFIG_NLS_UTF8 is not set | 1288 | # CONFIG_NLS_UTF8 is not set |
1256 | # CONFIG_DLM is not set | 1289 | # CONFIG_DLM is not set |
1290 | # CONFIG_BINARY_PRINTF is not set | ||
1257 | 1291 | ||
1258 | # | 1292 | # |
1259 | # Library routines | 1293 | # Library routines |
@@ -1267,11 +1301,13 @@ CONFIG_CRC_T10DIF=y | |||
1267 | CONFIG_CRC32=y | 1301 | CONFIG_CRC32=y |
1268 | # CONFIG_CRC7 is not set | 1302 | # CONFIG_CRC7 is not set |
1269 | # CONFIG_LIBCRC32C is not set | 1303 | # CONFIG_LIBCRC32C is not set |
1270 | CONFIG_PLIST=y | 1304 | CONFIG_ZLIB_INFLATE=y |
1305 | CONFIG_DECOMPRESS_GZIP=y | ||
1271 | CONFIG_HAS_IOMEM=y | 1306 | CONFIG_HAS_IOMEM=y |
1272 | CONFIG_HAS_IOPORT=y | 1307 | CONFIG_HAS_IOPORT=y |
1273 | CONFIG_HAS_DMA=y | 1308 | CONFIG_HAS_DMA=y |
1274 | CONFIG_HAVE_LMB=y | 1309 | CONFIG_HAVE_LMB=y |
1310 | CONFIG_NLATTR=y | ||
1275 | 1311 | ||
1276 | # | 1312 | # |
1277 | # Kernel hacking | 1313 | # Kernel hacking |
@@ -1293,13 +1329,24 @@ CONFIG_FRAME_WARN=1024 | |||
1293 | # CONFIG_LATENCYTOP is not set | 1329 | # CONFIG_LATENCYTOP is not set |
1294 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1330 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1295 | CONFIG_HAVE_FUNCTION_TRACER=y | 1331 | CONFIG_HAVE_FUNCTION_TRACER=y |
1332 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1296 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1333 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1297 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1334 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1335 | CONFIG_TRACING_SUPPORT=y | ||
1298 | 1336 | ||
1299 | # | 1337 | # |
1300 | # Tracers | 1338 | # Tracers |
1301 | # | 1339 | # |
1302 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1340 | # CONFIG_FUNCTION_TRACER is not set |
1341 | # CONFIG_SCHED_TRACER is not set | ||
1342 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1343 | # CONFIG_EVENT_TRACER is not set | ||
1344 | # CONFIG_BOOT_TRACER is not set | ||
1345 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1346 | # CONFIG_STACK_TRACER is not set | ||
1347 | # CONFIG_KMEMTRACE is not set | ||
1348 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1349 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1303 | # CONFIG_SAMPLES is not set | 1350 | # CONFIG_SAMPLES is not set |
1304 | CONFIG_HAVE_ARCH_KGDB=y | 1351 | CONFIG_HAVE_ARCH_KGDB=y |
1305 | CONFIG_PRINT_STACK_DEPTH=64 | 1352 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1328,10 +1375,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1328 | CONFIG_CRYPTO_HASH=y | 1375 | CONFIG_CRYPTO_HASH=y |
1329 | CONFIG_CRYPTO_HASH2=y | 1376 | CONFIG_CRYPTO_HASH2=y |
1330 | CONFIG_CRYPTO_RNG2=y | 1377 | CONFIG_CRYPTO_RNG2=y |
1378 | CONFIG_CRYPTO_PCOMP=y | ||
1331 | CONFIG_CRYPTO_MANAGER=y | 1379 | CONFIG_CRYPTO_MANAGER=y |
1332 | CONFIG_CRYPTO_MANAGER2=y | 1380 | CONFIG_CRYPTO_MANAGER2=y |
1333 | # CONFIG_CRYPTO_GF128MUL is not set | 1381 | # CONFIG_CRYPTO_GF128MUL is not set |
1334 | # CONFIG_CRYPTO_NULL is not set | 1382 | # CONFIG_CRYPTO_NULL is not set |
1383 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1335 | # CONFIG_CRYPTO_CRYPTD is not set | 1384 | # CONFIG_CRYPTO_CRYPTD is not set |
1336 | # CONFIG_CRYPTO_AUTHENC is not set | 1385 | # CONFIG_CRYPTO_AUTHENC is not set |
1337 | # CONFIG_CRYPTO_TEST is not set | 1386 | # CONFIG_CRYPTO_TEST is not set |
@@ -1400,6 +1449,7 @@ CONFIG_CRYPTO_DES=y | |||
1400 | # Compression | 1449 | # Compression |
1401 | # | 1450 | # |
1402 | # CONFIG_CRYPTO_DEFLATE is not set | 1451 | # CONFIG_CRYPTO_DEFLATE is not set |
1452 | # CONFIG_CRYPTO_ZLIB is not set | ||
1403 | # CONFIG_CRYPTO_LZO is not set | 1453 | # CONFIG_CRYPTO_LZO is not set |
1404 | 1454 | ||
1405 | # | 1455 | # |
diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig index 18e4bc0b3c11..1cd1fcac22c8 100644 --- a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:56 2009 | 4 | # Wed May 13 17:22:11 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -109,16 +123,19 @@ CONFIG_AIO=y | |||
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
119 | CONFIG_HAVE_KPROBES=y | 135 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
138 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 139 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 140 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 141 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 148 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
132 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
133 | # CONFIG_LBD is not set | 150 | # CONFIG_LBD is not set |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 151 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 152 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 153 | ||
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 165 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
156 | 167 | ||
157 | # | 168 | # |
158 | # Platform support | 169 | # Platform support |
159 | # | 170 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 171 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 172 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 173 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,6 +192,8 @@ CONFIG_MPC834x_MDS=y | |||
183 | CONFIG_PPC_MPC834x=y | 192 | CONFIG_PPC_MPC834x=y |
184 | # CONFIG_PPC_86xx is not set | 193 | # CONFIG_PPC_86xx is not set |
185 | # CONFIG_EMBEDDED6xx is not set | 194 | # CONFIG_EMBEDDED6xx is not set |
195 | # CONFIG_AMIGAONE is not set | ||
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | CONFIG_IPIC=y | 197 | CONFIG_IPIC=y |
187 | # CONFIG_MPIC is not set | 198 | # CONFIG_MPIC is not set |
188 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
244 | CONFIG_BOUNCE=y | 255 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 256 | CONFIG_VIRT_TO_BUS=y |
246 | CONFIG_UNEVICTABLE_LRU=y | 257 | CONFIG_UNEVICTABLE_LRU=y |
258 | CONFIG_HAVE_MLOCK=y | ||
259 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
247 | CONFIG_PPC_4K_PAGES=y | 260 | CONFIG_PPC_4K_PAGES=y |
248 | # CONFIG_PPC_16K_PAGES is not set | 261 | # CONFIG_PPC_16K_PAGES is not set |
249 | # CONFIG_PPC_64K_PAGES is not set | 262 | # CONFIG_PPC_64K_PAGES is not set |
263 | # CONFIG_PPC_256K_PAGES is not set | ||
250 | CONFIG_FORCE_MAX_ZONEORDER=11 | 264 | CONFIG_FORCE_MAX_ZONEORDER=11 |
251 | CONFIG_PROC_DEVICETREE=y | 265 | CONFIG_PROC_DEVICETREE=y |
252 | # CONFIG_CMDLINE_BOOL is not set | 266 | # CONFIG_CMDLINE_BOOL is not set |
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
272 | # CONFIG_PCI_MSI is not set | 286 | # CONFIG_PCI_MSI is not set |
273 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
274 | # CONFIG_PCI_STUB is not set | 288 | # CONFIG_PCI_STUB is not set |
289 | # CONFIG_PCI_IOV is not set | ||
275 | # CONFIG_PCCARD is not set | 290 | # CONFIG_PCCARD is not set |
276 | # CONFIG_HOTPLUG_PCI is not set | 291 | # CONFIG_HOTPLUG_PCI is not set |
277 | # CONFIG_HAS_RAPIDIO is not set | 292 | # CONFIG_HAS_RAPIDIO is not set |
@@ -294,7 +309,6 @@ CONFIG_NET=y | |||
294 | # | 309 | # |
295 | # Networking options | 310 | # Networking options |
296 | # | 311 | # |
297 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
298 | CONFIG_PACKET=y | 312 | CONFIG_PACKET=y |
299 | # CONFIG_PACKET_MMAP is not set | 313 | # CONFIG_PACKET_MMAP is not set |
300 | CONFIG_UNIX=y | 314 | CONFIG_UNIX=y |
@@ -350,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
350 | # CONFIG_LAPB is not set | 364 | # CONFIG_LAPB is not set |
351 | # CONFIG_ECONET is not set | 365 | # CONFIG_ECONET is not set |
352 | # CONFIG_WAN_ROUTER is not set | 366 | # CONFIG_WAN_ROUTER is not set |
367 | # CONFIG_PHONET is not set | ||
353 | # CONFIG_NET_SCHED is not set | 368 | # CONFIG_NET_SCHED is not set |
354 | # CONFIG_DCB is not set | 369 | # CONFIG_DCB is not set |
355 | 370 | ||
@@ -362,7 +377,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
362 | # CONFIG_IRDA is not set | 377 | # CONFIG_IRDA is not set |
363 | # CONFIG_BT is not set | 378 | # CONFIG_BT is not set |
364 | # CONFIG_AF_RXRPC is not set | 379 | # CONFIG_AF_RXRPC is not set |
365 | # CONFIG_PHONET is not set | ||
366 | CONFIG_WIRELESS=y | 380 | CONFIG_WIRELESS=y |
367 | # CONFIG_CFG80211 is not set | 381 | # CONFIG_CFG80211 is not set |
368 | CONFIG_WIRELESS_OLD_REGULATORY=y | 382 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -410,13 +424,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
410 | # CONFIG_BLK_DEV_HD is not set | 424 | # CONFIG_BLK_DEV_HD is not set |
411 | CONFIG_MISC_DEVICES=y | 425 | CONFIG_MISC_DEVICES=y |
412 | # CONFIG_PHANTOM is not set | 426 | # CONFIG_PHANTOM is not set |
413 | # CONFIG_EEPROM_93CX6 is not set | ||
414 | # CONFIG_SGI_IOC4 is not set | 427 | # CONFIG_SGI_IOC4 is not set |
415 | # CONFIG_TIFM_CORE is not set | 428 | # CONFIG_TIFM_CORE is not set |
416 | # CONFIG_ICS932S401 is not set | 429 | # CONFIG_ICS932S401 is not set |
417 | # CONFIG_ENCLOSURE_SERVICES is not set | 430 | # CONFIG_ENCLOSURE_SERVICES is not set |
418 | # CONFIG_HP_ILO is not set | 431 | # CONFIG_HP_ILO is not set |
432 | # CONFIG_ISL29003 is not set | ||
419 | # CONFIG_C2PORT is not set | 433 | # CONFIG_C2PORT is not set |
434 | |||
435 | # | ||
436 | # EEPROM support | ||
437 | # | ||
438 | # CONFIG_EEPROM_AT24 is not set | ||
439 | # CONFIG_EEPROM_LEGACY is not set | ||
440 | # CONFIG_EEPROM_93CX6 is not set | ||
420 | CONFIG_HAVE_IDE=y | 441 | CONFIG_HAVE_IDE=y |
421 | # CONFIG_IDE is not set | 442 | # CONFIG_IDE is not set |
422 | 443 | ||
@@ -443,6 +464,7 @@ CONFIG_HAVE_IDE=y | |||
443 | # CONFIG_I2O is not set | 464 | # CONFIG_I2O is not set |
444 | # CONFIG_MACINTOSH_DRIVERS is not set | 465 | # CONFIG_MACINTOSH_DRIVERS is not set |
445 | CONFIG_NETDEVICES=y | 466 | CONFIG_NETDEVICES=y |
467 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
446 | # CONFIG_DUMMY is not set | 468 | # CONFIG_DUMMY is not set |
447 | # CONFIG_BONDING is not set | 469 | # CONFIG_BONDING is not set |
448 | # CONFIG_MACVLAN is not set | 470 | # CONFIG_MACVLAN is not set |
@@ -476,6 +498,8 @@ CONFIG_MII=y | |||
476 | # CONFIG_SUNGEM is not set | 498 | # CONFIG_SUNGEM is not set |
477 | # CONFIG_CASSINI is not set | 499 | # CONFIG_CASSINI is not set |
478 | # CONFIG_NET_VENDOR_3COM is not set | 500 | # CONFIG_NET_VENDOR_3COM is not set |
501 | # CONFIG_ETHOC is not set | ||
502 | # CONFIG_DNET is not set | ||
479 | # CONFIG_NET_TULIP is not set | 503 | # CONFIG_NET_TULIP is not set |
480 | # CONFIG_HP100 is not set | 504 | # CONFIG_HP100 is not set |
481 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 505 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -513,6 +537,7 @@ CONFIG_NETDEV_1000=y | |||
513 | # CONFIG_E1000E is not set | 537 | # CONFIG_E1000E is not set |
514 | # CONFIG_IP1000 is not set | 538 | # CONFIG_IP1000 is not set |
515 | # CONFIG_IGB is not set | 539 | # CONFIG_IGB is not set |
540 | # CONFIG_IGBVF is not set | ||
516 | # CONFIG_NS83820 is not set | 541 | # CONFIG_NS83820 is not set |
517 | # CONFIG_HAMACHI is not set | 542 | # CONFIG_HAMACHI is not set |
518 | # CONFIG_YELLOWFIN is not set | 543 | # CONFIG_YELLOWFIN is not set |
@@ -523,11 +548,12 @@ CONFIG_NETDEV_1000=y | |||
523 | # CONFIG_VIA_VELOCITY is not set | 548 | # CONFIG_VIA_VELOCITY is not set |
524 | # CONFIG_TIGON3 is not set | 549 | # CONFIG_TIGON3 is not set |
525 | # CONFIG_BNX2 is not set | 550 | # CONFIG_BNX2 is not set |
551 | CONFIG_FSL_PQ_MDIO=y | ||
526 | CONFIG_GIANFAR=y | 552 | CONFIG_GIANFAR=y |
527 | # CONFIG_MV643XX_ETH is not set | ||
528 | # CONFIG_QLA3XXX is not set | 553 | # CONFIG_QLA3XXX is not set |
529 | # CONFIG_ATL1 is not set | 554 | # CONFIG_ATL1 is not set |
530 | # CONFIG_ATL1E is not set | 555 | # CONFIG_ATL1E is not set |
556 | # CONFIG_ATL1C is not set | ||
531 | # CONFIG_JME is not set | 557 | # CONFIG_JME is not set |
532 | CONFIG_NETDEV_10000=y | 558 | CONFIG_NETDEV_10000=y |
533 | # CONFIG_CHELSIO_T1 is not set | 559 | # CONFIG_CHELSIO_T1 is not set |
@@ -537,6 +563,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
537 | # CONFIG_IXGBE is not set | 563 | # CONFIG_IXGBE is not set |
538 | # CONFIG_IXGB is not set | 564 | # CONFIG_IXGB is not set |
539 | # CONFIG_S2IO is not set | 565 | # CONFIG_S2IO is not set |
566 | # CONFIG_VXGE is not set | ||
540 | # CONFIG_MYRI10GE is not set | 567 | # CONFIG_MYRI10GE is not set |
541 | # CONFIG_NETXEN_NIC is not set | 568 | # CONFIG_NETXEN_NIC is not set |
542 | # CONFIG_NIU is not set | 569 | # CONFIG_NIU is not set |
@@ -546,6 +573,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
546 | # CONFIG_BNX2X is not set | 573 | # CONFIG_BNX2X is not set |
547 | # CONFIG_QLGE is not set | 574 | # CONFIG_QLGE is not set |
548 | # CONFIG_SFC is not set | 575 | # CONFIG_SFC is not set |
576 | # CONFIG_BE2NET is not set | ||
549 | # CONFIG_TR is not set | 577 | # CONFIG_TR is not set |
550 | 578 | ||
551 | # | 579 | # |
@@ -553,7 +581,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
553 | # | 581 | # |
554 | # CONFIG_WLAN_PRE80211 is not set | 582 | # CONFIG_WLAN_PRE80211 is not set |
555 | # CONFIG_WLAN_80211 is not set | 583 | # CONFIG_WLAN_80211 is not set |
556 | # CONFIG_IWLWIFI_LEDS is not set | ||
557 | 584 | ||
558 | # | 585 | # |
559 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 586 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -694,12 +721,9 @@ CONFIG_I2C_MPC=y | |||
694 | # Miscellaneous I2C Chip support | 721 | # Miscellaneous I2C Chip support |
695 | # | 722 | # |
696 | # CONFIG_DS1682 is not set | 723 | # CONFIG_DS1682 is not set |
697 | # CONFIG_EEPROM_AT24 is not set | ||
698 | # CONFIG_EEPROM_LEGACY is not set | ||
699 | # CONFIG_SENSORS_PCF8574 is not set | 724 | # CONFIG_SENSORS_PCF8574 is not set |
700 | # CONFIG_PCF8575 is not set | 725 | # CONFIG_PCF8575 is not set |
701 | # CONFIG_SENSORS_PCA9539 is not set | 726 | # CONFIG_SENSORS_PCA9539 is not set |
702 | # CONFIG_SENSORS_PCF8591 is not set | ||
703 | # CONFIG_SENSORS_MAX6875 is not set | 727 | # CONFIG_SENSORS_MAX6875 is not set |
704 | # CONFIG_SENSORS_TSL2550 is not set | 728 | # CONFIG_SENSORS_TSL2550 is not set |
705 | # CONFIG_I2C_DEBUG_CORE is not set | 729 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -731,6 +755,7 @@ CONFIG_HWMON=y | |||
731 | # CONFIG_SENSORS_F71805F is not set | 755 | # CONFIG_SENSORS_F71805F is not set |
732 | # CONFIG_SENSORS_F71882FG is not set | 756 | # CONFIG_SENSORS_F71882FG is not set |
733 | # CONFIG_SENSORS_F75375S is not set | 757 | # CONFIG_SENSORS_F75375S is not set |
758 | # CONFIG_SENSORS_G760A is not set | ||
734 | # CONFIG_SENSORS_GL518SM is not set | 759 | # CONFIG_SENSORS_GL518SM is not set |
735 | # CONFIG_SENSORS_GL520SM is not set | 760 | # CONFIG_SENSORS_GL520SM is not set |
736 | # CONFIG_SENSORS_IT87 is not set | 761 | # CONFIG_SENSORS_IT87 is not set |
@@ -745,11 +770,14 @@ CONFIG_HWMON=y | |||
745 | # CONFIG_SENSORS_LM90 is not set | 770 | # CONFIG_SENSORS_LM90 is not set |
746 | # CONFIG_SENSORS_LM92 is not set | 771 | # CONFIG_SENSORS_LM92 is not set |
747 | # CONFIG_SENSORS_LM93 is not set | 772 | # CONFIG_SENSORS_LM93 is not set |
773 | # CONFIG_SENSORS_LTC4215 is not set | ||
748 | # CONFIG_SENSORS_LTC4245 is not set | 774 | # CONFIG_SENSORS_LTC4245 is not set |
775 | # CONFIG_SENSORS_LM95241 is not set | ||
749 | # CONFIG_SENSORS_MAX1619 is not set | 776 | # CONFIG_SENSORS_MAX1619 is not set |
750 | # CONFIG_SENSORS_MAX6650 is not set | 777 | # CONFIG_SENSORS_MAX6650 is not set |
751 | # CONFIG_SENSORS_PC87360 is not set | 778 | # CONFIG_SENSORS_PC87360 is not set |
752 | # CONFIG_SENSORS_PC87427 is not set | 779 | # CONFIG_SENSORS_PC87427 is not set |
780 | # CONFIG_SENSORS_PCF8591 is not set | ||
753 | # CONFIG_SENSORS_SIS5595 is not set | 781 | # CONFIG_SENSORS_SIS5595 is not set |
754 | # CONFIG_SENSORS_DME1737 is not set | 782 | # CONFIG_SENSORS_DME1737 is not set |
755 | # CONFIG_SENSORS_SMSC47M1 is not set | 783 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -847,7 +875,6 @@ CONFIG_HID=y | |||
847 | # | 875 | # |
848 | # Special HID drivers | 876 | # Special HID drivers |
849 | # | 877 | # |
850 | CONFIG_HID_COMPAT=y | ||
851 | CONFIG_USB_SUPPORT=y | 878 | CONFIG_USB_SUPPORT=y |
852 | CONFIG_USB_ARCH_HAS_HCD=y | 879 | CONFIG_USB_ARCH_HAS_HCD=y |
853 | CONFIG_USB_ARCH_HAS_OHCI=y | 880 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -861,7 +888,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
861 | # | 888 | # |
862 | 889 | ||
863 | # | 890 | # |
864 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 891 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
865 | # | 892 | # |
866 | # CONFIG_USB_GADGET is not set | 893 | # CONFIG_USB_GADGET is not set |
867 | 894 | ||
@@ -929,8 +956,9 @@ CONFIG_RTC_DRV_DS1374=y | |||
929 | # | 956 | # |
930 | # on-CPU RTC drivers | 957 | # on-CPU RTC drivers |
931 | # | 958 | # |
932 | # CONFIG_RTC_DRV_PPC is not set | 959 | # CONFIG_RTC_DRV_GENERIC is not set |
933 | # CONFIG_DMADEVICES is not set | 960 | # CONFIG_DMADEVICES is not set |
961 | # CONFIG_AUXDISPLAY is not set | ||
934 | # CONFIG_UIO is not set | 962 | # CONFIG_UIO is not set |
935 | # CONFIG_STAGING is not set | 963 | # CONFIG_STAGING is not set |
936 | 964 | ||
@@ -941,6 +969,7 @@ CONFIG_EXT2_FS=y | |||
941 | # CONFIG_EXT2_FS_XATTR is not set | 969 | # CONFIG_EXT2_FS_XATTR is not set |
942 | # CONFIG_EXT2_FS_XIP is not set | 970 | # CONFIG_EXT2_FS_XIP is not set |
943 | CONFIG_EXT3_FS=y | 971 | CONFIG_EXT3_FS=y |
972 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
944 | CONFIG_EXT3_FS_XATTR=y | 973 | CONFIG_EXT3_FS_XATTR=y |
945 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 974 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
946 | # CONFIG_EXT3_FS_SECURITY is not set | 975 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -963,6 +992,11 @@ CONFIG_INOTIFY_USER=y | |||
963 | # CONFIG_FUSE_FS is not set | 992 | # CONFIG_FUSE_FS is not set |
964 | 993 | ||
965 | # | 994 | # |
995 | # Caches | ||
996 | # | ||
997 | # CONFIG_FSCACHE is not set | ||
998 | |||
999 | # | ||
966 | # CD-ROM/DVD Filesystems | 1000 | # CD-ROM/DVD Filesystems |
967 | # | 1001 | # |
968 | # CONFIG_ISO9660_FS is not set | 1002 | # CONFIG_ISO9660_FS is not set |
@@ -1005,6 +1039,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1005 | # CONFIG_ROMFS_FS is not set | 1039 | # CONFIG_ROMFS_FS is not set |
1006 | # CONFIG_SYSV_FS is not set | 1040 | # CONFIG_SYSV_FS is not set |
1007 | # CONFIG_UFS_FS is not set | 1041 | # CONFIG_UFS_FS is not set |
1042 | # CONFIG_NILFS2_FS is not set | ||
1008 | CONFIG_NETWORK_FILESYSTEMS=y | 1043 | CONFIG_NETWORK_FILESYSTEMS=y |
1009 | CONFIG_NFS_FS=y | 1044 | CONFIG_NFS_FS=y |
1010 | CONFIG_NFS_V3=y | 1045 | CONFIG_NFS_V3=y |
@@ -1017,7 +1052,6 @@ CONFIG_LOCKD_V4=y | |||
1017 | CONFIG_NFS_COMMON=y | 1052 | CONFIG_NFS_COMMON=y |
1018 | CONFIG_SUNRPC=y | 1053 | CONFIG_SUNRPC=y |
1019 | CONFIG_SUNRPC_GSS=y | 1054 | CONFIG_SUNRPC_GSS=y |
1020 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1021 | CONFIG_RPCSEC_GSS_KRB5=y | 1055 | CONFIG_RPCSEC_GSS_KRB5=y |
1022 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1056 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1023 | # CONFIG_SMB_FS is not set | 1057 | # CONFIG_SMB_FS is not set |
@@ -1045,6 +1079,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1045 | # CONFIG_SYSV68_PARTITION is not set | 1079 | # CONFIG_SYSV68_PARTITION is not set |
1046 | # CONFIG_NLS is not set | 1080 | # CONFIG_NLS is not set |
1047 | # CONFIG_DLM is not set | 1081 | # CONFIG_DLM is not set |
1082 | # CONFIG_BINARY_PRINTF is not set | ||
1048 | 1083 | ||
1049 | # | 1084 | # |
1050 | # Library routines | 1085 | # Library routines |
@@ -1058,11 +1093,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
1058 | CONFIG_CRC32=y | 1093 | CONFIG_CRC32=y |
1059 | # CONFIG_CRC7 is not set | 1094 | # CONFIG_CRC7 is not set |
1060 | # CONFIG_LIBCRC32C is not set | 1095 | # CONFIG_LIBCRC32C is not set |
1061 | CONFIG_PLIST=y | 1096 | CONFIG_ZLIB_INFLATE=y |
1097 | CONFIG_DECOMPRESS_GZIP=y | ||
1062 | CONFIG_HAS_IOMEM=y | 1098 | CONFIG_HAS_IOMEM=y |
1063 | CONFIG_HAS_IOPORT=y | 1099 | CONFIG_HAS_IOPORT=y |
1064 | CONFIG_HAS_DMA=y | 1100 | CONFIG_HAS_DMA=y |
1065 | CONFIG_HAVE_LMB=y | 1101 | CONFIG_HAVE_LMB=y |
1102 | CONFIG_NLATTR=y | ||
1066 | 1103 | ||
1067 | # | 1104 | # |
1068 | # Kernel hacking | 1105 | # Kernel hacking |
@@ -1084,13 +1121,24 @@ CONFIG_FRAME_WARN=1024 | |||
1084 | # CONFIG_LATENCYTOP is not set | 1121 | # CONFIG_LATENCYTOP is not set |
1085 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1122 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1086 | CONFIG_HAVE_FUNCTION_TRACER=y | 1123 | CONFIG_HAVE_FUNCTION_TRACER=y |
1124 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1087 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1125 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1088 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1126 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1127 | CONFIG_TRACING_SUPPORT=y | ||
1089 | 1128 | ||
1090 | # | 1129 | # |
1091 | # Tracers | 1130 | # Tracers |
1092 | # | 1131 | # |
1093 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1132 | # CONFIG_FUNCTION_TRACER is not set |
1133 | # CONFIG_SCHED_TRACER is not set | ||
1134 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1135 | # CONFIG_EVENT_TRACER is not set | ||
1136 | # CONFIG_BOOT_TRACER is not set | ||
1137 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1138 | # CONFIG_STACK_TRACER is not set | ||
1139 | # CONFIG_KMEMTRACE is not set | ||
1140 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1141 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1094 | # CONFIG_SAMPLES is not set | 1142 | # CONFIG_SAMPLES is not set |
1095 | CONFIG_HAVE_ARCH_KGDB=y | 1143 | CONFIG_HAVE_ARCH_KGDB=y |
1096 | CONFIG_PRINT_STACK_DEPTH=64 | 1144 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1119,10 +1167,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1119 | CONFIG_CRYPTO_HASH=y | 1167 | CONFIG_CRYPTO_HASH=y |
1120 | CONFIG_CRYPTO_HASH2=y | 1168 | CONFIG_CRYPTO_HASH2=y |
1121 | CONFIG_CRYPTO_RNG2=y | 1169 | CONFIG_CRYPTO_RNG2=y |
1170 | CONFIG_CRYPTO_PCOMP=y | ||
1122 | CONFIG_CRYPTO_MANAGER=y | 1171 | CONFIG_CRYPTO_MANAGER=y |
1123 | CONFIG_CRYPTO_MANAGER2=y | 1172 | CONFIG_CRYPTO_MANAGER2=y |
1124 | # CONFIG_CRYPTO_GF128MUL is not set | 1173 | # CONFIG_CRYPTO_GF128MUL is not set |
1125 | # CONFIG_CRYPTO_NULL is not set | 1174 | # CONFIG_CRYPTO_NULL is not set |
1175 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1126 | # CONFIG_CRYPTO_CRYPTD is not set | 1176 | # CONFIG_CRYPTO_CRYPTD is not set |
1127 | # CONFIG_CRYPTO_AUTHENC is not set | 1177 | # CONFIG_CRYPTO_AUTHENC is not set |
1128 | # CONFIG_CRYPTO_TEST is not set | 1178 | # CONFIG_CRYPTO_TEST is not set |
@@ -1191,6 +1241,7 @@ CONFIG_CRYPTO_DES=y | |||
1191 | # Compression | 1241 | # Compression |
1192 | # | 1242 | # |
1193 | # CONFIG_CRYPTO_DEFLATE is not set | 1243 | # CONFIG_CRYPTO_DEFLATE is not set |
1244 | # CONFIG_CRYPTO_ZLIB is not set | ||
1194 | # CONFIG_CRYPTO_LZO is not set | 1245 | # CONFIG_CRYPTO_LZO is not set |
1195 | 1246 | ||
1196 | # | 1247 | # |
diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig index 76db8138eac7..ce5177393a0d 100644 --- a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:58 2009 | 4 | # Wed May 13 17:22:12 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -109,16 +123,19 @@ CONFIG_AIO=y | |||
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
119 | CONFIG_HAVE_KPROBES=y | 135 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
138 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 139 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 140 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 141 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 148 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
132 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
133 | # CONFIG_LBD is not set | 150 | # CONFIG_LBD is not set |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 151 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 152 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 153 | ||
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 165 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
156 | 167 | ||
157 | # | 168 | # |
158 | # Platform support | 169 | # Platform support |
159 | # | 170 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 171 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 172 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 173 | # CONFIG_MPC5121_GENERIC is not set |
@@ -182,6 +191,8 @@ CONFIG_MPC836x_MDS=y | |||
182 | # CONFIG_ASP834x is not set | 191 | # CONFIG_ASP834x is not set |
183 | # CONFIG_PPC_86xx is not set | 192 | # CONFIG_PPC_86xx is not set |
184 | # CONFIG_EMBEDDED6xx is not set | 193 | # CONFIG_EMBEDDED6xx is not set |
194 | # CONFIG_AMIGAONE is not set | ||
195 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
185 | CONFIG_IPIC=y | 196 | CONFIG_IPIC=y |
186 | # CONFIG_MPIC is not set | 197 | # CONFIG_MPIC is not set |
187 | # CONFIG_MPIC_WEIRD is not set | 198 | # CONFIG_MPIC_WEIRD is not set |
@@ -243,9 +254,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
243 | CONFIG_BOUNCE=y | 254 | CONFIG_BOUNCE=y |
244 | CONFIG_VIRT_TO_BUS=y | 255 | CONFIG_VIRT_TO_BUS=y |
245 | CONFIG_UNEVICTABLE_LRU=y | 256 | CONFIG_UNEVICTABLE_LRU=y |
257 | CONFIG_HAVE_MLOCK=y | ||
258 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
246 | CONFIG_PPC_4K_PAGES=y | 259 | CONFIG_PPC_4K_PAGES=y |
247 | # CONFIG_PPC_16K_PAGES is not set | 260 | # CONFIG_PPC_16K_PAGES is not set |
248 | # CONFIG_PPC_64K_PAGES is not set | 261 | # CONFIG_PPC_64K_PAGES is not set |
262 | # CONFIG_PPC_256K_PAGES is not set | ||
249 | CONFIG_FORCE_MAX_ZONEORDER=11 | 263 | CONFIG_FORCE_MAX_ZONEORDER=11 |
250 | CONFIG_PROC_DEVICETREE=y | 264 | CONFIG_PROC_DEVICETREE=y |
251 | # CONFIG_CMDLINE_BOOL is not set | 265 | # CONFIG_CMDLINE_BOOL is not set |
@@ -271,6 +285,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
271 | # CONFIG_PCI_MSI is not set | 285 | # CONFIG_PCI_MSI is not set |
272 | # CONFIG_PCI_LEGACY is not set | 286 | # CONFIG_PCI_LEGACY is not set |
273 | # CONFIG_PCI_STUB is not set | 287 | # CONFIG_PCI_STUB is not set |
288 | # CONFIG_PCI_IOV is not set | ||
274 | # CONFIG_PCCARD is not set | 289 | # CONFIG_PCCARD is not set |
275 | # CONFIG_HOTPLUG_PCI is not set | 290 | # CONFIG_HOTPLUG_PCI is not set |
276 | # CONFIG_HAS_RAPIDIO is not set | 291 | # CONFIG_HAS_RAPIDIO is not set |
@@ -293,7 +308,6 @@ CONFIG_NET=y | |||
293 | # | 308 | # |
294 | # Networking options | 309 | # Networking options |
295 | # | 310 | # |
296 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
297 | CONFIG_PACKET=y | 311 | CONFIG_PACKET=y |
298 | # CONFIG_PACKET_MMAP is not set | 312 | # CONFIG_PACKET_MMAP is not set |
299 | CONFIG_UNIX=y | 313 | CONFIG_UNIX=y |
@@ -349,6 +363,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
349 | # CONFIG_LAPB is not set | 363 | # CONFIG_LAPB is not set |
350 | # CONFIG_ECONET is not set | 364 | # CONFIG_ECONET is not set |
351 | # CONFIG_WAN_ROUTER is not set | 365 | # CONFIG_WAN_ROUTER is not set |
366 | # CONFIG_PHONET is not set | ||
352 | # CONFIG_NET_SCHED is not set | 367 | # CONFIG_NET_SCHED is not set |
353 | # CONFIG_DCB is not set | 368 | # CONFIG_DCB is not set |
354 | 369 | ||
@@ -361,7 +376,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
361 | # CONFIG_IRDA is not set | 376 | # CONFIG_IRDA is not set |
362 | # CONFIG_BT is not set | 377 | # CONFIG_BT is not set |
363 | # CONFIG_AF_RXRPC is not set | 378 | # CONFIG_AF_RXRPC is not set |
364 | # CONFIG_PHONET is not set | ||
365 | CONFIG_WIRELESS=y | 379 | CONFIG_WIRELESS=y |
366 | # CONFIG_CFG80211 is not set | 380 | # CONFIG_CFG80211 is not set |
367 | CONFIG_WIRELESS_OLD_REGULATORY=y | 381 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -464,7 +478,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
464 | # LPDDR flash memory drivers | 478 | # LPDDR flash memory drivers |
465 | # | 479 | # |
466 | # CONFIG_MTD_LPDDR is not set | 480 | # CONFIG_MTD_LPDDR is not set |
467 | # CONFIG_MTD_QINFO_PROBE is not set | ||
468 | 481 | ||
469 | # | 482 | # |
470 | # UBI - Unsorted block images | 483 | # UBI - Unsorted block images |
@@ -493,13 +506,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
493 | # CONFIG_BLK_DEV_HD is not set | 506 | # CONFIG_BLK_DEV_HD is not set |
494 | CONFIG_MISC_DEVICES=y | 507 | CONFIG_MISC_DEVICES=y |
495 | # CONFIG_PHANTOM is not set | 508 | # CONFIG_PHANTOM is not set |
496 | # CONFIG_EEPROM_93CX6 is not set | ||
497 | # CONFIG_SGI_IOC4 is not set | 509 | # CONFIG_SGI_IOC4 is not set |
498 | # CONFIG_TIFM_CORE is not set | 510 | # CONFIG_TIFM_CORE is not set |
499 | # CONFIG_ICS932S401 is not set | 511 | # CONFIG_ICS932S401 is not set |
500 | # CONFIG_ENCLOSURE_SERVICES is not set | 512 | # CONFIG_ENCLOSURE_SERVICES is not set |
501 | # CONFIG_HP_ILO is not set | 513 | # CONFIG_HP_ILO is not set |
514 | # CONFIG_ISL29003 is not set | ||
502 | # CONFIG_C2PORT is not set | 515 | # CONFIG_C2PORT is not set |
516 | |||
517 | # | ||
518 | # EEPROM support | ||
519 | # | ||
520 | # CONFIG_EEPROM_AT24 is not set | ||
521 | # CONFIG_EEPROM_LEGACY is not set | ||
522 | # CONFIG_EEPROM_93CX6 is not set | ||
503 | CONFIG_HAVE_IDE=y | 523 | CONFIG_HAVE_IDE=y |
504 | # CONFIG_IDE is not set | 524 | # CONFIG_IDE is not set |
505 | 525 | ||
@@ -557,9 +577,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
557 | # CONFIG_MEGARAID_NEWGEN is not set | 577 | # CONFIG_MEGARAID_NEWGEN is not set |
558 | # CONFIG_MEGARAID_LEGACY is not set | 578 | # CONFIG_MEGARAID_LEGACY is not set |
559 | # CONFIG_MEGARAID_SAS is not set | 579 | # CONFIG_MEGARAID_SAS is not set |
580 | # CONFIG_SCSI_MPT2SAS is not set | ||
560 | # CONFIG_SCSI_HPTIOP is not set | 581 | # CONFIG_SCSI_HPTIOP is not set |
561 | # CONFIG_SCSI_BUSLOGIC is not set | 582 | # CONFIG_SCSI_BUSLOGIC is not set |
562 | # CONFIG_LIBFC is not set | 583 | # CONFIG_LIBFC is not set |
584 | # CONFIG_LIBFCOE is not set | ||
563 | # CONFIG_FCOE is not set | 585 | # CONFIG_FCOE is not set |
564 | # CONFIG_SCSI_DMX3191D is not set | 586 | # CONFIG_SCSI_DMX3191D is not set |
565 | # CONFIG_SCSI_EATA is not set | 587 | # CONFIG_SCSI_EATA is not set |
@@ -581,6 +603,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
581 | # CONFIG_SCSI_DEBUG is not set | 603 | # CONFIG_SCSI_DEBUG is not set |
582 | # CONFIG_SCSI_SRP is not set | 604 | # CONFIG_SCSI_SRP is not set |
583 | # CONFIG_SCSI_DH is not set | 605 | # CONFIG_SCSI_DH is not set |
606 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
584 | # CONFIG_ATA is not set | 607 | # CONFIG_ATA is not set |
585 | # CONFIG_MD is not set | 608 | # CONFIG_MD is not set |
586 | # CONFIG_FUSION is not set | 609 | # CONFIG_FUSION is not set |
@@ -597,6 +620,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
597 | # CONFIG_I2O is not set | 620 | # CONFIG_I2O is not set |
598 | # CONFIG_MACINTOSH_DRIVERS is not set | 621 | # CONFIG_MACINTOSH_DRIVERS is not set |
599 | CONFIG_NETDEVICES=y | 622 | CONFIG_NETDEVICES=y |
623 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
600 | # CONFIG_DUMMY is not set | 624 | # CONFIG_DUMMY is not set |
601 | # CONFIG_BONDING is not set | 625 | # CONFIG_BONDING is not set |
602 | # CONFIG_MACVLAN is not set | 626 | # CONFIG_MACVLAN is not set |
@@ -630,6 +654,8 @@ CONFIG_MII=y | |||
630 | # CONFIG_SUNGEM is not set | 654 | # CONFIG_SUNGEM is not set |
631 | # CONFIG_CASSINI is not set | 655 | # CONFIG_CASSINI is not set |
632 | # CONFIG_NET_VENDOR_3COM is not set | 656 | # CONFIG_NET_VENDOR_3COM is not set |
657 | # CONFIG_ETHOC is not set | ||
658 | # CONFIG_DNET is not set | ||
633 | # CONFIG_NET_TULIP is not set | 659 | # CONFIG_NET_TULIP is not set |
634 | # CONFIG_HP100 is not set | 660 | # CONFIG_HP100 is not set |
635 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 661 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -649,6 +675,7 @@ CONFIG_NETDEV_1000=y | |||
649 | # CONFIG_E1000E is not set | 675 | # CONFIG_E1000E is not set |
650 | # CONFIG_IP1000 is not set | 676 | # CONFIG_IP1000 is not set |
651 | # CONFIG_IGB is not set | 677 | # CONFIG_IGB is not set |
678 | # CONFIG_IGBVF is not set | ||
652 | # CONFIG_NS83820 is not set | 679 | # CONFIG_NS83820 is not set |
653 | # CONFIG_HAMACHI is not set | 680 | # CONFIG_HAMACHI is not set |
654 | # CONFIG_YELLOWFIN is not set | 681 | # CONFIG_YELLOWFIN is not set |
@@ -659,14 +686,15 @@ CONFIG_NETDEV_1000=y | |||
659 | # CONFIG_VIA_VELOCITY is not set | 686 | # CONFIG_VIA_VELOCITY is not set |
660 | # CONFIG_TIGON3 is not set | 687 | # CONFIG_TIGON3 is not set |
661 | # CONFIG_BNX2 is not set | 688 | # CONFIG_BNX2 is not set |
689 | CONFIG_FSL_PQ_MDIO=y | ||
662 | # CONFIG_GIANFAR is not set | 690 | # CONFIG_GIANFAR is not set |
663 | CONFIG_UCC_GETH=y | 691 | CONFIG_UCC_GETH=y |
664 | # CONFIG_UGETH_MAGIC_PACKET is not set | 692 | # CONFIG_UGETH_MAGIC_PACKET is not set |
665 | # CONFIG_UGETH_TX_ON_DEMAND is not set | 693 | # CONFIG_UGETH_TX_ON_DEMAND is not set |
666 | # CONFIG_MV643XX_ETH is not set | ||
667 | # CONFIG_QLA3XXX is not set | 694 | # CONFIG_QLA3XXX is not set |
668 | # CONFIG_ATL1 is not set | 695 | # CONFIG_ATL1 is not set |
669 | # CONFIG_ATL1E is not set | 696 | # CONFIG_ATL1E is not set |
697 | # CONFIG_ATL1C is not set | ||
670 | # CONFIG_JME is not set | 698 | # CONFIG_JME is not set |
671 | CONFIG_NETDEV_10000=y | 699 | CONFIG_NETDEV_10000=y |
672 | # CONFIG_CHELSIO_T1 is not set | 700 | # CONFIG_CHELSIO_T1 is not set |
@@ -676,6 +704,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
676 | # CONFIG_IXGBE is not set | 704 | # CONFIG_IXGBE is not set |
677 | # CONFIG_IXGB is not set | 705 | # CONFIG_IXGB is not set |
678 | # CONFIG_S2IO is not set | 706 | # CONFIG_S2IO is not set |
707 | # CONFIG_VXGE is not set | ||
679 | # CONFIG_MYRI10GE is not set | 708 | # CONFIG_MYRI10GE is not set |
680 | # CONFIG_NETXEN_NIC is not set | 709 | # CONFIG_NETXEN_NIC is not set |
681 | # CONFIG_NIU is not set | 710 | # CONFIG_NIU is not set |
@@ -685,6 +714,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
685 | # CONFIG_BNX2X is not set | 714 | # CONFIG_BNX2X is not set |
686 | # CONFIG_QLGE is not set | 715 | # CONFIG_QLGE is not set |
687 | # CONFIG_SFC is not set | 716 | # CONFIG_SFC is not set |
717 | # CONFIG_BE2NET is not set | ||
688 | # CONFIG_TR is not set | 718 | # CONFIG_TR is not set |
689 | 719 | ||
690 | # | 720 | # |
@@ -692,7 +722,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
692 | # | 722 | # |
693 | # CONFIG_WLAN_PRE80211 is not set | 723 | # CONFIG_WLAN_PRE80211 is not set |
694 | # CONFIG_WLAN_80211 is not set | 724 | # CONFIG_WLAN_80211 is not set |
695 | # CONFIG_IWLWIFI_LEDS is not set | ||
696 | 725 | ||
697 | # | 726 | # |
698 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 727 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -774,6 +803,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
774 | # CONFIG_HVC_UDBG is not set | 803 | # CONFIG_HVC_UDBG is not set |
775 | # CONFIG_IPMI_HANDLER is not set | 804 | # CONFIG_IPMI_HANDLER is not set |
776 | CONFIG_HW_RANDOM=y | 805 | CONFIG_HW_RANDOM=y |
806 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
777 | # CONFIG_NVRAM is not set | 807 | # CONFIG_NVRAM is not set |
778 | # CONFIG_R3964 is not set | 808 | # CONFIG_R3964 is not set |
779 | # CONFIG_APPLICOM is not set | 809 | # CONFIG_APPLICOM is not set |
@@ -835,12 +865,9 @@ CONFIG_I2C_MPC=y | |||
835 | # Miscellaneous I2C Chip support | 865 | # Miscellaneous I2C Chip support |
836 | # | 866 | # |
837 | # CONFIG_DS1682 is not set | 867 | # CONFIG_DS1682 is not set |
838 | # CONFIG_EEPROM_AT24 is not set | ||
839 | # CONFIG_EEPROM_LEGACY is not set | ||
840 | # CONFIG_SENSORS_PCF8574 is not set | 868 | # CONFIG_SENSORS_PCF8574 is not set |
841 | # CONFIG_PCF8575 is not set | 869 | # CONFIG_PCF8575 is not set |
842 | # CONFIG_SENSORS_PCA9539 is not set | 870 | # CONFIG_SENSORS_PCA9539 is not set |
843 | # CONFIG_SENSORS_PCF8591 is not set | ||
844 | # CONFIG_SENSORS_MAX6875 is not set | 871 | # CONFIG_SENSORS_MAX6875 is not set |
845 | # CONFIG_SENSORS_TSL2550 is not set | 872 | # CONFIG_SENSORS_TSL2550 is not set |
846 | # CONFIG_I2C_DEBUG_CORE is not set | 873 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -872,6 +899,7 @@ CONFIG_HWMON=y | |||
872 | # CONFIG_SENSORS_F71805F is not set | 899 | # CONFIG_SENSORS_F71805F is not set |
873 | # CONFIG_SENSORS_F71882FG is not set | 900 | # CONFIG_SENSORS_F71882FG is not set |
874 | # CONFIG_SENSORS_F75375S is not set | 901 | # CONFIG_SENSORS_F75375S is not set |
902 | # CONFIG_SENSORS_G760A is not set | ||
875 | # CONFIG_SENSORS_GL518SM is not set | 903 | # CONFIG_SENSORS_GL518SM is not set |
876 | # CONFIG_SENSORS_GL520SM is not set | 904 | # CONFIG_SENSORS_GL520SM is not set |
877 | # CONFIG_SENSORS_IT87 is not set | 905 | # CONFIG_SENSORS_IT87 is not set |
@@ -886,11 +914,14 @@ CONFIG_HWMON=y | |||
886 | # CONFIG_SENSORS_LM90 is not set | 914 | # CONFIG_SENSORS_LM90 is not set |
887 | # CONFIG_SENSORS_LM92 is not set | 915 | # CONFIG_SENSORS_LM92 is not set |
888 | # CONFIG_SENSORS_LM93 is not set | 916 | # CONFIG_SENSORS_LM93 is not set |
917 | # CONFIG_SENSORS_LTC4215 is not set | ||
889 | # CONFIG_SENSORS_LTC4245 is not set | 918 | # CONFIG_SENSORS_LTC4245 is not set |
919 | # CONFIG_SENSORS_LM95241 is not set | ||
890 | # CONFIG_SENSORS_MAX1619 is not set | 920 | # CONFIG_SENSORS_MAX1619 is not set |
891 | # CONFIG_SENSORS_MAX6650 is not set | 921 | # CONFIG_SENSORS_MAX6650 is not set |
892 | # CONFIG_SENSORS_PC87360 is not set | 922 | # CONFIG_SENSORS_PC87360 is not set |
893 | # CONFIG_SENSORS_PC87427 is not set | 923 | # CONFIG_SENSORS_PC87427 is not set |
924 | # CONFIG_SENSORS_PCF8591 is not set | ||
894 | # CONFIG_SENSORS_SIS5595 is not set | 925 | # CONFIG_SENSORS_SIS5595 is not set |
895 | # CONFIG_SENSORS_DME1737 is not set | 926 | # CONFIG_SENSORS_DME1737 is not set |
896 | # CONFIG_SENSORS_SMSC47M1 is not set | 927 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -988,7 +1019,6 @@ CONFIG_HID=y | |||
988 | # | 1019 | # |
989 | # Special HID drivers | 1020 | # Special HID drivers |
990 | # | 1021 | # |
991 | CONFIG_HID_COMPAT=y | ||
992 | CONFIG_USB_SUPPORT=y | 1022 | CONFIG_USB_SUPPORT=y |
993 | CONFIG_USB_ARCH_HAS_HCD=y | 1023 | CONFIG_USB_ARCH_HAS_HCD=y |
994 | CONFIG_USB_ARCH_HAS_OHCI=y | 1024 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1002,7 +1032,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1002 | # | 1032 | # |
1003 | 1033 | ||
1004 | # | 1034 | # |
1005 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1035 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1006 | # | 1036 | # |
1007 | # CONFIG_USB_GADGET is not set | 1037 | # CONFIG_USB_GADGET is not set |
1008 | 1038 | ||
@@ -1070,8 +1100,9 @@ CONFIG_RTC_DRV_DS1374=y | |||
1070 | # | 1100 | # |
1071 | # on-CPU RTC drivers | 1101 | # on-CPU RTC drivers |
1072 | # | 1102 | # |
1073 | # CONFIG_RTC_DRV_PPC is not set | 1103 | # CONFIG_RTC_DRV_GENERIC is not set |
1074 | # CONFIG_DMADEVICES is not set | 1104 | # CONFIG_DMADEVICES is not set |
1105 | # CONFIG_AUXDISPLAY is not set | ||
1075 | # CONFIG_UIO is not set | 1106 | # CONFIG_UIO is not set |
1076 | # CONFIG_STAGING is not set | 1107 | # CONFIG_STAGING is not set |
1077 | 1108 | ||
@@ -1082,6 +1113,7 @@ CONFIG_EXT2_FS=y | |||
1082 | # CONFIG_EXT2_FS_XATTR is not set | 1113 | # CONFIG_EXT2_FS_XATTR is not set |
1083 | # CONFIG_EXT2_FS_XIP is not set | 1114 | # CONFIG_EXT2_FS_XIP is not set |
1084 | CONFIG_EXT3_FS=y | 1115 | CONFIG_EXT3_FS=y |
1116 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1085 | CONFIG_EXT3_FS_XATTR=y | 1117 | CONFIG_EXT3_FS_XATTR=y |
1086 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1118 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1087 | # CONFIG_EXT3_FS_SECURITY is not set | 1119 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1104,6 +1136,11 @@ CONFIG_INOTIFY_USER=y | |||
1104 | # CONFIG_FUSE_FS is not set | 1136 | # CONFIG_FUSE_FS is not set |
1105 | 1137 | ||
1106 | # | 1138 | # |
1139 | # Caches | ||
1140 | # | ||
1141 | # CONFIG_FSCACHE is not set | ||
1142 | |||
1143 | # | ||
1107 | # CD-ROM/DVD Filesystems | 1144 | # CD-ROM/DVD Filesystems |
1108 | # | 1145 | # |
1109 | # CONFIG_ISO9660_FS is not set | 1146 | # CONFIG_ISO9660_FS is not set |
@@ -1147,6 +1184,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1147 | # CONFIG_ROMFS_FS is not set | 1184 | # CONFIG_ROMFS_FS is not set |
1148 | # CONFIG_SYSV_FS is not set | 1185 | # CONFIG_SYSV_FS is not set |
1149 | # CONFIG_UFS_FS is not set | 1186 | # CONFIG_UFS_FS is not set |
1187 | # CONFIG_NILFS2_FS is not set | ||
1150 | CONFIG_NETWORK_FILESYSTEMS=y | 1188 | CONFIG_NETWORK_FILESYSTEMS=y |
1151 | CONFIG_NFS_FS=y | 1189 | CONFIG_NFS_FS=y |
1152 | CONFIG_NFS_V3=y | 1190 | CONFIG_NFS_V3=y |
@@ -1159,7 +1197,6 @@ CONFIG_LOCKD_V4=y | |||
1159 | CONFIG_NFS_COMMON=y | 1197 | CONFIG_NFS_COMMON=y |
1160 | CONFIG_SUNRPC=y | 1198 | CONFIG_SUNRPC=y |
1161 | CONFIG_SUNRPC_GSS=y | 1199 | CONFIG_SUNRPC_GSS=y |
1162 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1163 | CONFIG_RPCSEC_GSS_KRB5=y | 1200 | CONFIG_RPCSEC_GSS_KRB5=y |
1164 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1201 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1165 | # CONFIG_SMB_FS is not set | 1202 | # CONFIG_SMB_FS is not set |
@@ -1189,6 +1226,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1189 | # CONFIG_DLM is not set | 1226 | # CONFIG_DLM is not set |
1190 | CONFIG_UCC_FAST=y | 1227 | CONFIG_UCC_FAST=y |
1191 | CONFIG_UCC=y | 1228 | CONFIG_UCC=y |
1229 | # CONFIG_BINARY_PRINTF is not set | ||
1192 | 1230 | ||
1193 | # | 1231 | # |
1194 | # Library routines | 1232 | # Library routines |
@@ -1202,11 +1240,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
1202 | CONFIG_CRC32=y | 1240 | CONFIG_CRC32=y |
1203 | # CONFIG_CRC7 is not set | 1241 | # CONFIG_CRC7 is not set |
1204 | # CONFIG_LIBCRC32C is not set | 1242 | # CONFIG_LIBCRC32C is not set |
1205 | CONFIG_PLIST=y | 1243 | CONFIG_ZLIB_INFLATE=y |
1244 | CONFIG_DECOMPRESS_GZIP=y | ||
1206 | CONFIG_HAS_IOMEM=y | 1245 | CONFIG_HAS_IOMEM=y |
1207 | CONFIG_HAS_IOPORT=y | 1246 | CONFIG_HAS_IOPORT=y |
1208 | CONFIG_HAS_DMA=y | 1247 | CONFIG_HAS_DMA=y |
1209 | CONFIG_HAVE_LMB=y | 1248 | CONFIG_HAVE_LMB=y |
1249 | CONFIG_NLATTR=y | ||
1210 | 1250 | ||
1211 | # | 1251 | # |
1212 | # Kernel hacking | 1252 | # Kernel hacking |
@@ -1228,13 +1268,24 @@ CONFIG_FRAME_WARN=1024 | |||
1228 | # CONFIG_LATENCYTOP is not set | 1268 | # CONFIG_LATENCYTOP is not set |
1229 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1269 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1230 | CONFIG_HAVE_FUNCTION_TRACER=y | 1270 | CONFIG_HAVE_FUNCTION_TRACER=y |
1271 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1231 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1272 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1232 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1273 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1274 | CONFIG_TRACING_SUPPORT=y | ||
1233 | 1275 | ||
1234 | # | 1276 | # |
1235 | # Tracers | 1277 | # Tracers |
1236 | # | 1278 | # |
1237 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1279 | # CONFIG_FUNCTION_TRACER is not set |
1280 | # CONFIG_SCHED_TRACER is not set | ||
1281 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1282 | # CONFIG_EVENT_TRACER is not set | ||
1283 | # CONFIG_BOOT_TRACER is not set | ||
1284 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1285 | # CONFIG_STACK_TRACER is not set | ||
1286 | # CONFIG_KMEMTRACE is not set | ||
1287 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1288 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1238 | # CONFIG_SAMPLES is not set | 1289 | # CONFIG_SAMPLES is not set |
1239 | CONFIG_HAVE_ARCH_KGDB=y | 1290 | CONFIG_HAVE_ARCH_KGDB=y |
1240 | CONFIG_PRINT_STACK_DEPTH=64 | 1291 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1263,10 +1314,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1263 | CONFIG_CRYPTO_HASH=y | 1314 | CONFIG_CRYPTO_HASH=y |
1264 | CONFIG_CRYPTO_HASH2=y | 1315 | CONFIG_CRYPTO_HASH2=y |
1265 | CONFIG_CRYPTO_RNG2=y | 1316 | CONFIG_CRYPTO_RNG2=y |
1317 | CONFIG_CRYPTO_PCOMP=y | ||
1266 | CONFIG_CRYPTO_MANAGER=y | 1318 | CONFIG_CRYPTO_MANAGER=y |
1267 | CONFIG_CRYPTO_MANAGER2=y | 1319 | CONFIG_CRYPTO_MANAGER2=y |
1268 | # CONFIG_CRYPTO_GF128MUL is not set | 1320 | # CONFIG_CRYPTO_GF128MUL is not set |
1269 | # CONFIG_CRYPTO_NULL is not set | 1321 | # CONFIG_CRYPTO_NULL is not set |
1322 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1270 | # CONFIG_CRYPTO_CRYPTD is not set | 1323 | # CONFIG_CRYPTO_CRYPTD is not set |
1271 | # CONFIG_CRYPTO_AUTHENC is not set | 1324 | # CONFIG_CRYPTO_AUTHENC is not set |
1272 | # CONFIG_CRYPTO_TEST is not set | 1325 | # CONFIG_CRYPTO_TEST is not set |
@@ -1335,6 +1388,7 @@ CONFIG_CRYPTO_DES=y | |||
1335 | # Compression | 1388 | # Compression |
1336 | # | 1389 | # |
1337 | # CONFIG_CRYPTO_DEFLATE is not set | 1390 | # CONFIG_CRYPTO_DEFLATE is not set |
1391 | # CONFIG_CRYPTO_ZLIB is not set | ||
1338 | # CONFIG_CRYPTO_LZO is not set | 1392 | # CONFIG_CRYPTO_LZO is not set |
1339 | 1393 | ||
1340 | # | 1394 | # |
diff --git a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig index 0dc11c44306b..7f1d1383a249 100644 --- a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig +++ b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:01 2009 | 4 | # Wed May 13 17:22:13 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -57,6 +58,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 58 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
58 | # CONFIG_PPC_DCR_NATIVE is not set | 59 | # CONFIG_PPC_DCR_NATIVE is not set |
59 | # CONFIG_PPC_DCR_MMIO is not set | 60 | # CONFIG_PPC_DCR_MMIO is not set |
61 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
61 | 63 | ||
62 | # | 64 | # |
@@ -74,6 +76,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
74 | # CONFIG_BSD_PROCESS_ACCT is not set | 76 | # CONFIG_BSD_PROCESS_ACCT is not set |
75 | # CONFIG_TASKSTATS is not set | 77 | # CONFIG_TASKSTATS is not set |
76 | # CONFIG_AUDIT is not set | 78 | # CONFIG_AUDIT is not set |
79 | |||
80 | # | ||
81 | # RCU Subsystem | ||
82 | # | ||
83 | CONFIG_CLASSIC_RCU=y | ||
84 | # CONFIG_TREE_RCU is not set | ||
85 | # CONFIG_PREEMPT_RCU is not set | ||
86 | # CONFIG_TREE_RCU_TRACE is not set | ||
87 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
77 | # CONFIG_IKCONFIG is not set | 88 | # CONFIG_IKCONFIG is not set |
78 | CONFIG_LOG_BUF_SHIFT=14 | 89 | CONFIG_LOG_BUF_SHIFT=14 |
79 | CONFIG_GROUP_SCHED=y | 90 | CONFIG_GROUP_SCHED=y |
@@ -88,19 +99,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
88 | # CONFIG_NAMESPACES is not set | 99 | # CONFIG_NAMESPACES is not set |
89 | CONFIG_BLK_DEV_INITRD=y | 100 | CONFIG_BLK_DEV_INITRD=y |
90 | CONFIG_INITRAMFS_SOURCE="" | 101 | CONFIG_INITRAMFS_SOURCE="" |
102 | CONFIG_RD_GZIP=y | ||
103 | # CONFIG_RD_BZIP2 is not set | ||
104 | # CONFIG_RD_LZMA is not set | ||
91 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 105 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
92 | CONFIG_SYSCTL=y | 106 | CONFIG_SYSCTL=y |
107 | CONFIG_ANON_INODES=y | ||
93 | CONFIG_EMBEDDED=y | 108 | CONFIG_EMBEDDED=y |
94 | CONFIG_SYSCTL_SYSCALL=y | 109 | CONFIG_SYSCTL_SYSCALL=y |
95 | # CONFIG_KALLSYMS is not set | 110 | # CONFIG_KALLSYMS is not set |
111 | # CONFIG_STRIP_ASM_SYMS is not set | ||
96 | CONFIG_HOTPLUG=y | 112 | CONFIG_HOTPLUG=y |
97 | CONFIG_PRINTK=y | 113 | CONFIG_PRINTK=y |
98 | CONFIG_BUG=y | 114 | CONFIG_BUG=y |
99 | CONFIG_ELF_CORE=y | 115 | CONFIG_ELF_CORE=y |
100 | CONFIG_COMPAT_BRK=y | ||
101 | CONFIG_BASE_FULL=y | 116 | CONFIG_BASE_FULL=y |
102 | CONFIG_FUTEX=y | 117 | CONFIG_FUTEX=y |
103 | CONFIG_ANON_INODES=y | ||
104 | # CONFIG_EPOLL is not set | 118 | # CONFIG_EPOLL is not set |
105 | CONFIG_SIGNALFD=y | 119 | CONFIG_SIGNALFD=y |
106 | CONFIG_TIMERFD=y | 120 | CONFIG_TIMERFD=y |
@@ -110,16 +124,19 @@ CONFIG_AIO=y | |||
110 | CONFIG_VM_EVENT_COUNTERS=y | 124 | CONFIG_VM_EVENT_COUNTERS=y |
111 | CONFIG_PCI_QUIRKS=y | 125 | CONFIG_PCI_QUIRKS=y |
112 | CONFIG_SLUB_DEBUG=y | 126 | CONFIG_SLUB_DEBUG=y |
127 | CONFIG_COMPAT_BRK=y | ||
113 | # CONFIG_SLAB is not set | 128 | # CONFIG_SLAB is not set |
114 | CONFIG_SLUB=y | 129 | CONFIG_SLUB=y |
115 | # CONFIG_SLOB is not set | 130 | # CONFIG_SLOB is not set |
116 | # CONFIG_PROFILING is not set | 131 | # CONFIG_PROFILING is not set |
132 | # CONFIG_MARKERS is not set | ||
117 | CONFIG_HAVE_OPROFILE=y | 133 | CONFIG_HAVE_OPROFILE=y |
118 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 134 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
119 | CONFIG_HAVE_IOREMAP_PROT=y | 135 | CONFIG_HAVE_IOREMAP_PROT=y |
120 | CONFIG_HAVE_KPROBES=y | 136 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 137 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 138 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
139 | # CONFIG_SLOW_WORK is not set | ||
123 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 140 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
124 | CONFIG_SLABINFO=y | 141 | CONFIG_SLABINFO=y |
125 | CONFIG_RT_MUTEXES=y | 142 | CONFIG_RT_MUTEXES=y |
@@ -132,7 +149,6 @@ CONFIG_MODULE_UNLOAD=y | |||
132 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 149 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
133 | CONFIG_BLOCK=y | 150 | CONFIG_BLOCK=y |
134 | # CONFIG_LBD is not set | 151 | # CONFIG_LBD is not set |
135 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
136 | # CONFIG_BLK_DEV_BSG is not set | 152 | # CONFIG_BLK_DEV_BSG is not set |
137 | # CONFIG_BLK_DEV_INTEGRITY is not set | 153 | # CONFIG_BLK_DEV_INTEGRITY is not set |
138 | 154 | ||
@@ -148,18 +164,11 @@ CONFIG_DEFAULT_AS=y | |||
148 | # CONFIG_DEFAULT_CFQ is not set | 164 | # CONFIG_DEFAULT_CFQ is not set |
149 | # CONFIG_DEFAULT_NOOP is not set | 165 | # CONFIG_DEFAULT_NOOP is not set |
150 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 166 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
151 | CONFIG_CLASSIC_RCU=y | ||
152 | # CONFIG_TREE_RCU is not set | ||
153 | # CONFIG_PREEMPT_RCU is not set | ||
154 | # CONFIG_TREE_RCU_TRACE is not set | ||
155 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
156 | # CONFIG_FREEZER is not set | 167 | # CONFIG_FREEZER is not set |
157 | 168 | ||
158 | # | 169 | # |
159 | # Platform support | 170 | # Platform support |
160 | # | 171 | # |
161 | CONFIG_PPC_MULTIPLATFORM=y | ||
162 | CONFIG_CLASSIC32=y | ||
163 | # CONFIG_PPC_CHRP is not set | 172 | # CONFIG_PPC_CHRP is not set |
164 | # CONFIG_MPC5121_ADS is not set | 173 | # CONFIG_MPC5121_ADS is not set |
165 | # CONFIG_MPC5121_GENERIC is not set | 174 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,6 +192,8 @@ CONFIG_MPC836x_RDK=y | |||
183 | # CONFIG_ASP834x is not set | 192 | # CONFIG_ASP834x is not set |
184 | # CONFIG_PPC_86xx is not set | 193 | # CONFIG_PPC_86xx is not set |
185 | # CONFIG_EMBEDDED6xx is not set | 194 | # CONFIG_EMBEDDED6xx is not set |
195 | # CONFIG_AMIGAONE is not set | ||
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | CONFIG_IPIC=y | 197 | CONFIG_IPIC=y |
187 | # CONFIG_MPIC is not set | 198 | # CONFIG_MPIC is not set |
188 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -243,9 +254,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
243 | CONFIG_BOUNCE=y | 254 | CONFIG_BOUNCE=y |
244 | CONFIG_VIRT_TO_BUS=y | 255 | CONFIG_VIRT_TO_BUS=y |
245 | CONFIG_UNEVICTABLE_LRU=y | 256 | CONFIG_UNEVICTABLE_LRU=y |
257 | CONFIG_HAVE_MLOCK=y | ||
258 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
246 | CONFIG_PPC_4K_PAGES=y | 259 | CONFIG_PPC_4K_PAGES=y |
247 | # CONFIG_PPC_16K_PAGES is not set | 260 | # CONFIG_PPC_16K_PAGES is not set |
248 | # CONFIG_PPC_64K_PAGES is not set | 261 | # CONFIG_PPC_64K_PAGES is not set |
262 | # CONFIG_PPC_256K_PAGES is not set | ||
249 | CONFIG_FORCE_MAX_ZONEORDER=11 | 263 | CONFIG_FORCE_MAX_ZONEORDER=11 |
250 | CONFIG_PROC_DEVICETREE=y | 264 | CONFIG_PROC_DEVICETREE=y |
251 | # CONFIG_CMDLINE_BOOL is not set | 265 | # CONFIG_CMDLINE_BOOL is not set |
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # CONFIG_PCI_MSI is not set | 287 | # CONFIG_PCI_MSI is not set |
274 | # CONFIG_PCI_LEGACY is not set | 288 | # CONFIG_PCI_LEGACY is not set |
275 | # CONFIG_PCI_STUB is not set | 289 | # CONFIG_PCI_STUB is not set |
290 | # CONFIG_PCI_IOV is not set | ||
276 | # CONFIG_PCCARD is not set | 291 | # CONFIG_PCCARD is not set |
277 | # CONFIG_HOTPLUG_PCI is not set | 292 | # CONFIG_HOTPLUG_PCI is not set |
278 | # CONFIG_HAS_RAPIDIO is not set | 293 | # CONFIG_HAS_RAPIDIO is not set |
@@ -295,7 +310,6 @@ CONFIG_NET=y | |||
295 | # | 310 | # |
296 | # Networking options | 311 | # Networking options |
297 | # | 312 | # |
298 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
299 | CONFIG_PACKET=y | 313 | CONFIG_PACKET=y |
300 | # CONFIG_PACKET_MMAP is not set | 314 | # CONFIG_PACKET_MMAP is not set |
301 | CONFIG_UNIX=y | 315 | CONFIG_UNIX=y |
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_LAPB is not set | 365 | # CONFIG_LAPB is not set |
352 | # CONFIG_ECONET is not set | 366 | # CONFIG_ECONET is not set |
353 | # CONFIG_WAN_ROUTER is not set | 367 | # CONFIG_WAN_ROUTER is not set |
368 | # CONFIG_PHONET is not set | ||
354 | # CONFIG_NET_SCHED is not set | 369 | # CONFIG_NET_SCHED is not set |
355 | # CONFIG_DCB is not set | 370 | # CONFIG_DCB is not set |
356 | 371 | ||
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
363 | # CONFIG_IRDA is not set | 378 | # CONFIG_IRDA is not set |
364 | # CONFIG_BT is not set | 379 | # CONFIG_BT is not set |
365 | # CONFIG_AF_RXRPC is not set | 380 | # CONFIG_AF_RXRPC is not set |
366 | # CONFIG_PHONET is not set | ||
367 | CONFIG_WIRELESS=y | 381 | CONFIG_WIRELESS=y |
368 | # CONFIG_CFG80211 is not set | 382 | # CONFIG_CFG80211 is not set |
369 | CONFIG_WIRELESS_OLD_REGULATORY=y | 383 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -475,7 +489,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
475 | # LPDDR flash memory drivers | 489 | # LPDDR flash memory drivers |
476 | # | 490 | # |
477 | # CONFIG_MTD_LPDDR is not set | 491 | # CONFIG_MTD_LPDDR is not set |
478 | # CONFIG_MTD_QINFO_PROBE is not set | ||
479 | 492 | ||
480 | # | 493 | # |
481 | # UBI - Unsorted block images | 494 | # UBI - Unsorted block images |
@@ -506,13 +519,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
506 | # CONFIG_BLK_DEV_HD is not set | 519 | # CONFIG_BLK_DEV_HD is not set |
507 | CONFIG_MISC_DEVICES=y | 520 | CONFIG_MISC_DEVICES=y |
508 | # CONFIG_PHANTOM is not set | 521 | # CONFIG_PHANTOM is not set |
509 | # CONFIG_EEPROM_93CX6 is not set | ||
510 | # CONFIG_SGI_IOC4 is not set | 522 | # CONFIG_SGI_IOC4 is not set |
511 | # CONFIG_TIFM_CORE is not set | 523 | # CONFIG_TIFM_CORE is not set |
512 | # CONFIG_ICS932S401 is not set | 524 | # CONFIG_ICS932S401 is not set |
513 | # CONFIG_ENCLOSURE_SERVICES is not set | 525 | # CONFIG_ENCLOSURE_SERVICES is not set |
514 | # CONFIG_HP_ILO is not set | 526 | # CONFIG_HP_ILO is not set |
527 | # CONFIG_ISL29003 is not set | ||
515 | # CONFIG_C2PORT is not set | 528 | # CONFIG_C2PORT is not set |
529 | |||
530 | # | ||
531 | # EEPROM support | ||
532 | # | ||
533 | # CONFIG_EEPROM_AT24 is not set | ||
534 | # CONFIG_EEPROM_AT25 is not set | ||
535 | # CONFIG_EEPROM_LEGACY is not set | ||
536 | # CONFIG_EEPROM_93CX6 is not set | ||
516 | CONFIG_HAVE_IDE=y | 537 | CONFIG_HAVE_IDE=y |
517 | # CONFIG_IDE is not set | 538 | # CONFIG_IDE is not set |
518 | 539 | ||
@@ -539,6 +560,7 @@ CONFIG_HAVE_IDE=y | |||
539 | # CONFIG_I2O is not set | 560 | # CONFIG_I2O is not set |
540 | # CONFIG_MACINTOSH_DRIVERS is not set | 561 | # CONFIG_MACINTOSH_DRIVERS is not set |
541 | CONFIG_NETDEVICES=y | 562 | CONFIG_NETDEVICES=y |
563 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
542 | # CONFIG_DUMMY is not set | 564 | # CONFIG_DUMMY is not set |
543 | # CONFIG_BONDING is not set | 565 | # CONFIG_BONDING is not set |
544 | # CONFIG_MACVLAN is not set | 566 | # CONFIG_MACVLAN is not set |
@@ -574,6 +596,7 @@ CONFIG_NETDEV_1000=y | |||
574 | # CONFIG_E1000E is not set | 596 | # CONFIG_E1000E is not set |
575 | # CONFIG_IP1000 is not set | 597 | # CONFIG_IP1000 is not set |
576 | # CONFIG_IGB is not set | 598 | # CONFIG_IGB is not set |
599 | # CONFIG_IGBVF is not set | ||
577 | # CONFIG_NS83820 is not set | 600 | # CONFIG_NS83820 is not set |
578 | # CONFIG_HAMACHI is not set | 601 | # CONFIG_HAMACHI is not set |
579 | # CONFIG_YELLOWFIN is not set | 602 | # CONFIG_YELLOWFIN is not set |
@@ -584,14 +607,15 @@ CONFIG_NETDEV_1000=y | |||
584 | # CONFIG_VIA_VELOCITY is not set | 607 | # CONFIG_VIA_VELOCITY is not set |
585 | # CONFIG_TIGON3 is not set | 608 | # CONFIG_TIGON3 is not set |
586 | # CONFIG_BNX2 is not set | 609 | # CONFIG_BNX2 is not set |
610 | CONFIG_FSL_PQ_MDIO=y | ||
587 | # CONFIG_GIANFAR is not set | 611 | # CONFIG_GIANFAR is not set |
588 | CONFIG_UCC_GETH=y | 612 | CONFIG_UCC_GETH=y |
589 | # CONFIG_UGETH_MAGIC_PACKET is not set | 613 | # CONFIG_UGETH_MAGIC_PACKET is not set |
590 | # CONFIG_UGETH_TX_ON_DEMAND is not set | 614 | # CONFIG_UGETH_TX_ON_DEMAND is not set |
591 | # CONFIG_MV643XX_ETH is not set | ||
592 | # CONFIG_QLA3XXX is not set | 615 | # CONFIG_QLA3XXX is not set |
593 | # CONFIG_ATL1 is not set | 616 | # CONFIG_ATL1 is not set |
594 | # CONFIG_ATL1E is not set | 617 | # CONFIG_ATL1E is not set |
618 | # CONFIG_ATL1C is not set | ||
595 | # CONFIG_JME is not set | 619 | # CONFIG_JME is not set |
596 | # CONFIG_NETDEV_10000 is not set | 620 | # CONFIG_NETDEV_10000 is not set |
597 | # CONFIG_TR is not set | 621 | # CONFIG_TR is not set |
@@ -601,7 +625,6 @@ CONFIG_UCC_GETH=y | |||
601 | # | 625 | # |
602 | # CONFIG_WLAN_PRE80211 is not set | 626 | # CONFIG_WLAN_PRE80211 is not set |
603 | # CONFIG_WLAN_80211 is not set | 627 | # CONFIG_WLAN_80211 is not set |
604 | # CONFIG_IWLWIFI_LEDS is not set | ||
605 | 628 | ||
606 | # | 629 | # |
607 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 630 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -673,6 +696,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
673 | # | 696 | # |
674 | # Non-8250 serial port support | 697 | # Non-8250 serial port support |
675 | # | 698 | # |
699 | # CONFIG_SERIAL_MAX3100 is not set | ||
676 | # CONFIG_SERIAL_UARTLITE is not set | 700 | # CONFIG_SERIAL_UARTLITE is not set |
677 | CONFIG_SERIAL_CORE=y | 701 | CONFIG_SERIAL_CORE=y |
678 | CONFIG_SERIAL_CORE_CONSOLE=y | 702 | CONFIG_SERIAL_CORE_CONSOLE=y |
@@ -686,6 +710,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
686 | # CONFIG_HVC_UDBG is not set | 710 | # CONFIG_HVC_UDBG is not set |
687 | # CONFIG_IPMI_HANDLER is not set | 711 | # CONFIG_IPMI_HANDLER is not set |
688 | CONFIG_HW_RANDOM=y | 712 | CONFIG_HW_RANDOM=y |
713 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
689 | # CONFIG_NVRAM is not set | 714 | # CONFIG_NVRAM is not set |
690 | # CONFIG_GEN_RTC is not set | 715 | # CONFIG_GEN_RTC is not set |
691 | # CONFIG_R3964 is not set | 716 | # CONFIG_R3964 is not set |
@@ -749,12 +774,9 @@ CONFIG_I2C_MPC=y | |||
749 | # Miscellaneous I2C Chip support | 774 | # Miscellaneous I2C Chip support |
750 | # | 775 | # |
751 | # CONFIG_DS1682 is not set | 776 | # CONFIG_DS1682 is not set |
752 | # CONFIG_EEPROM_AT24 is not set | ||
753 | # CONFIG_EEPROM_LEGACY is not set | ||
754 | # CONFIG_SENSORS_PCF8574 is not set | 777 | # CONFIG_SENSORS_PCF8574 is not set |
755 | # CONFIG_PCF8575 is not set | 778 | # CONFIG_PCF8575 is not set |
756 | # CONFIG_SENSORS_PCA9539 is not set | 779 | # CONFIG_SENSORS_PCA9539 is not set |
757 | # CONFIG_SENSORS_PCF8591 is not set | ||
758 | # CONFIG_SENSORS_MAX6875 is not set | 780 | # CONFIG_SENSORS_MAX6875 is not set |
759 | # CONFIG_SENSORS_TSL2550 is not set | 781 | # CONFIG_SENSORS_TSL2550 is not set |
760 | # CONFIG_I2C_DEBUG_CORE is not set | 782 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -774,7 +796,6 @@ CONFIG_SPI_MPC83xx=y | |||
774 | # | 796 | # |
775 | # SPI Protocol Masters | 797 | # SPI Protocol Masters |
776 | # | 798 | # |
777 | # CONFIG_EEPROM_AT25 is not set | ||
778 | CONFIG_SPI_SPIDEV=y | 799 | CONFIG_SPI_SPIDEV=y |
779 | # CONFIG_SPI_TLE62X0 is not set | 800 | # CONFIG_SPI_TLE62X0 is not set |
780 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 801 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
@@ -924,6 +945,7 @@ CONFIG_FB_OF=y | |||
924 | # CONFIG_FB_VIRTUAL is not set | 945 | # CONFIG_FB_VIRTUAL is not set |
925 | # CONFIG_FB_METRONOME is not set | 946 | # CONFIG_FB_METRONOME is not set |
926 | # CONFIG_FB_MB862XX is not set | 947 | # CONFIG_FB_MB862XX is not set |
948 | # CONFIG_FB_BROADSHEET is not set | ||
927 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 949 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
928 | 950 | ||
929 | # | 951 | # |
@@ -956,7 +978,6 @@ CONFIG_HID=y | |||
956 | # | 978 | # |
957 | # Special HID drivers | 979 | # Special HID drivers |
958 | # | 980 | # |
959 | CONFIG_HID_COMPAT=y | ||
960 | # CONFIG_USB_SUPPORT is not set | 981 | # CONFIG_USB_SUPPORT is not set |
961 | # CONFIG_UWB is not set | 982 | # CONFIG_UWB is not set |
962 | # CONFIG_MMC is not set | 983 | # CONFIG_MMC is not set |
@@ -967,6 +988,7 @@ CONFIG_HID_COMPAT=y | |||
967 | # CONFIG_EDAC is not set | 988 | # CONFIG_EDAC is not set |
968 | # CONFIG_RTC_CLASS is not set | 989 | # CONFIG_RTC_CLASS is not set |
969 | # CONFIG_DMADEVICES is not set | 990 | # CONFIG_DMADEVICES is not set |
991 | # CONFIG_AUXDISPLAY is not set | ||
970 | # CONFIG_UIO is not set | 992 | # CONFIG_UIO is not set |
971 | # CONFIG_STAGING is not set | 993 | # CONFIG_STAGING is not set |
972 | 994 | ||
@@ -977,6 +999,7 @@ CONFIG_EXT2_FS=y | |||
977 | # CONFIG_EXT2_FS_XATTR is not set | 999 | # CONFIG_EXT2_FS_XATTR is not set |
978 | # CONFIG_EXT2_FS_XIP is not set | 1000 | # CONFIG_EXT2_FS_XIP is not set |
979 | CONFIG_EXT3_FS=y | 1001 | CONFIG_EXT3_FS=y |
1002 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
980 | CONFIG_EXT3_FS_XATTR=y | 1003 | CONFIG_EXT3_FS_XATTR=y |
981 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1004 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
982 | # CONFIG_EXT3_FS_SECURITY is not set | 1005 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -999,6 +1022,11 @@ CONFIG_INOTIFY_USER=y | |||
999 | # CONFIG_FUSE_FS is not set | 1022 | # CONFIG_FUSE_FS is not set |
1000 | 1023 | ||
1001 | # | 1024 | # |
1025 | # Caches | ||
1026 | # | ||
1027 | # CONFIG_FSCACHE is not set | ||
1028 | |||
1029 | # | ||
1002 | # CD-ROM/DVD Filesystems | 1030 | # CD-ROM/DVD Filesystems |
1003 | # | 1031 | # |
1004 | # CONFIG_ISO9660_FS is not set | 1032 | # CONFIG_ISO9660_FS is not set |
@@ -1052,6 +1080,7 @@ CONFIG_JFFS2_RTIME=y | |||
1052 | # CONFIG_ROMFS_FS is not set | 1080 | # CONFIG_ROMFS_FS is not set |
1053 | # CONFIG_SYSV_FS is not set | 1081 | # CONFIG_SYSV_FS is not set |
1054 | # CONFIG_UFS_FS is not set | 1082 | # CONFIG_UFS_FS is not set |
1083 | # CONFIG_NILFS2_FS is not set | ||
1055 | CONFIG_NETWORK_FILESYSTEMS=y | 1084 | CONFIG_NETWORK_FILESYSTEMS=y |
1056 | CONFIG_NFS_FS=y | 1085 | CONFIG_NFS_FS=y |
1057 | CONFIG_NFS_V3=y | 1086 | CONFIG_NFS_V3=y |
@@ -1064,7 +1093,6 @@ CONFIG_LOCKD_V4=y | |||
1064 | CONFIG_NFS_COMMON=y | 1093 | CONFIG_NFS_COMMON=y |
1065 | CONFIG_SUNRPC=y | 1094 | CONFIG_SUNRPC=y |
1066 | CONFIG_SUNRPC_GSS=y | 1095 | CONFIG_SUNRPC_GSS=y |
1067 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1068 | CONFIG_RPCSEC_GSS_KRB5=y | 1096 | CONFIG_RPCSEC_GSS_KRB5=y |
1069 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1097 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1070 | # CONFIG_SMB_FS is not set | 1098 | # CONFIG_SMB_FS is not set |
@@ -1095,6 +1123,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1095 | CONFIG_UCC_SLOW=y | 1123 | CONFIG_UCC_SLOW=y |
1096 | CONFIG_UCC_FAST=y | 1124 | CONFIG_UCC_FAST=y |
1097 | CONFIG_UCC=y | 1125 | CONFIG_UCC=y |
1126 | # CONFIG_BINARY_PRINTF is not set | ||
1098 | 1127 | ||
1099 | # | 1128 | # |
1100 | # Library routines | 1129 | # Library routines |
@@ -1110,11 +1139,12 @@ CONFIG_CRC32=y | |||
1110 | # CONFIG_LIBCRC32C is not set | 1139 | # CONFIG_LIBCRC32C is not set |
1111 | CONFIG_ZLIB_INFLATE=y | 1140 | CONFIG_ZLIB_INFLATE=y |
1112 | CONFIG_ZLIB_DEFLATE=y | 1141 | CONFIG_ZLIB_DEFLATE=y |
1113 | CONFIG_PLIST=y | 1142 | CONFIG_DECOMPRESS_GZIP=y |
1114 | CONFIG_HAS_IOMEM=y | 1143 | CONFIG_HAS_IOMEM=y |
1115 | CONFIG_HAS_IOPORT=y | 1144 | CONFIG_HAS_IOPORT=y |
1116 | CONFIG_HAS_DMA=y | 1145 | CONFIG_HAS_DMA=y |
1117 | CONFIG_HAVE_LMB=y | 1146 | CONFIG_HAVE_LMB=y |
1147 | CONFIG_NLATTR=y | ||
1118 | 1148 | ||
1119 | # | 1149 | # |
1120 | # Kernel hacking | 1150 | # Kernel hacking |
@@ -1136,13 +1166,24 @@ CONFIG_FRAME_WARN=1024 | |||
1136 | # CONFIG_LATENCYTOP is not set | 1166 | # CONFIG_LATENCYTOP is not set |
1137 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1167 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1138 | CONFIG_HAVE_FUNCTION_TRACER=y | 1168 | CONFIG_HAVE_FUNCTION_TRACER=y |
1169 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1139 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1170 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1140 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1171 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1172 | CONFIG_TRACING_SUPPORT=y | ||
1141 | 1173 | ||
1142 | # | 1174 | # |
1143 | # Tracers | 1175 | # Tracers |
1144 | # | 1176 | # |
1145 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1177 | # CONFIG_FUNCTION_TRACER is not set |
1178 | # CONFIG_SCHED_TRACER is not set | ||
1179 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1180 | # CONFIG_EVENT_TRACER is not set | ||
1181 | # CONFIG_BOOT_TRACER is not set | ||
1182 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1183 | # CONFIG_STACK_TRACER is not set | ||
1184 | # CONFIG_KMEMTRACE is not set | ||
1185 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1186 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1146 | # CONFIG_SAMPLES is not set | 1187 | # CONFIG_SAMPLES is not set |
1147 | CONFIG_HAVE_ARCH_KGDB=y | 1188 | CONFIG_HAVE_ARCH_KGDB=y |
1148 | CONFIG_PRINT_STACK_DEPTH=64 | 1189 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1182,10 +1223,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1182 | CONFIG_CRYPTO_HASH=y | 1223 | CONFIG_CRYPTO_HASH=y |
1183 | CONFIG_CRYPTO_HASH2=y | 1224 | CONFIG_CRYPTO_HASH2=y |
1184 | CONFIG_CRYPTO_RNG2=y | 1225 | CONFIG_CRYPTO_RNG2=y |
1226 | CONFIG_CRYPTO_PCOMP=y | ||
1185 | CONFIG_CRYPTO_MANAGER=y | 1227 | CONFIG_CRYPTO_MANAGER=y |
1186 | CONFIG_CRYPTO_MANAGER2=y | 1228 | CONFIG_CRYPTO_MANAGER2=y |
1187 | # CONFIG_CRYPTO_GF128MUL is not set | 1229 | # CONFIG_CRYPTO_GF128MUL is not set |
1188 | # CONFIG_CRYPTO_NULL is not set | 1230 | # CONFIG_CRYPTO_NULL is not set |
1231 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1189 | # CONFIG_CRYPTO_CRYPTD is not set | 1232 | # CONFIG_CRYPTO_CRYPTD is not set |
1190 | # CONFIG_CRYPTO_AUTHENC is not set | 1233 | # CONFIG_CRYPTO_AUTHENC is not set |
1191 | # CONFIG_CRYPTO_TEST is not set | 1234 | # CONFIG_CRYPTO_TEST is not set |
@@ -1254,6 +1297,7 @@ CONFIG_CRYPTO_DES=y | |||
1254 | # Compression | 1297 | # Compression |
1255 | # | 1298 | # |
1256 | # CONFIG_CRYPTO_DEFLATE is not set | 1299 | # CONFIG_CRYPTO_DEFLATE is not set |
1300 | # CONFIG_CRYPTO_ZLIB is not set | ||
1257 | # CONFIG_CRYPTO_LZO is not set | 1301 | # CONFIG_CRYPTO_LZO is not set |
1258 | 1302 | ||
1259 | # | 1303 | # |
diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig index e42f6b3917d2..bf636fd560ad 100644 --- a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:59 2009 | 4 | # Wed May 13 17:22:12 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,20 +98,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | CONFIG_KALLSYMS=y | 109 | CONFIG_KALLSYMS=y |
95 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 110 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
111 | # CONFIG_STRIP_ASM_SYMS is not set | ||
96 | CONFIG_HOTPLUG=y | 112 | CONFIG_HOTPLUG=y |
97 | CONFIG_PRINTK=y | 113 | CONFIG_PRINTK=y |
98 | CONFIG_BUG=y | 114 | CONFIG_BUG=y |
99 | CONFIG_ELF_CORE=y | 115 | CONFIG_ELF_CORE=y |
100 | CONFIG_COMPAT_BRK=y | ||
101 | CONFIG_BASE_FULL=y | 116 | CONFIG_BASE_FULL=y |
102 | CONFIG_FUTEX=y | 117 | CONFIG_FUTEX=y |
103 | CONFIG_ANON_INODES=y | ||
104 | # CONFIG_EPOLL is not set | 118 | # CONFIG_EPOLL is not set |
105 | CONFIG_SIGNALFD=y | 119 | CONFIG_SIGNALFD=y |
106 | CONFIG_TIMERFD=y | 120 | CONFIG_TIMERFD=y |
@@ -109,10 +123,12 @@ CONFIG_SHMEM=y | |||
109 | CONFIG_AIO=y | 123 | CONFIG_AIO=y |
110 | CONFIG_VM_EVENT_COUNTERS=y | 124 | CONFIG_VM_EVENT_COUNTERS=y |
111 | CONFIG_PCI_QUIRKS=y | 125 | CONFIG_PCI_QUIRKS=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | CONFIG_SLAB=y | 127 | CONFIG_SLAB=y |
113 | # CONFIG_SLUB is not set | 128 | # CONFIG_SLUB is not set |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | # CONFIG_KPROBES is not set | 133 | # CONFIG_KPROBES is not set |
118 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 134 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -120,6 +136,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
120 | CONFIG_HAVE_KPROBES=y | 136 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 137 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 138 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
139 | # CONFIG_SLOW_WORK is not set | ||
123 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 140 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
124 | CONFIG_SLABINFO=y | 141 | CONFIG_SLABINFO=y |
125 | CONFIG_RT_MUTEXES=y | 142 | CONFIG_RT_MUTEXES=y |
@@ -132,7 +149,6 @@ CONFIG_MODULE_UNLOAD=y | |||
132 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 149 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
133 | CONFIG_BLOCK=y | 150 | CONFIG_BLOCK=y |
134 | # CONFIG_LBD is not set | 151 | # CONFIG_LBD is not set |
135 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
136 | # CONFIG_BLK_DEV_BSG is not set | 152 | # CONFIG_BLK_DEV_BSG is not set |
137 | # CONFIG_BLK_DEV_INTEGRITY is not set | 153 | # CONFIG_BLK_DEV_INTEGRITY is not set |
138 | 154 | ||
@@ -148,18 +164,11 @@ CONFIG_DEFAULT_AS=y | |||
148 | # CONFIG_DEFAULT_CFQ is not set | 164 | # CONFIG_DEFAULT_CFQ is not set |
149 | # CONFIG_DEFAULT_NOOP is not set | 165 | # CONFIG_DEFAULT_NOOP is not set |
150 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 166 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
151 | CONFIG_CLASSIC_RCU=y | ||
152 | # CONFIG_TREE_RCU is not set | ||
153 | # CONFIG_PREEMPT_RCU is not set | ||
154 | # CONFIG_TREE_RCU_TRACE is not set | ||
155 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
156 | # CONFIG_FREEZER is not set | 167 | # CONFIG_FREEZER is not set |
157 | 168 | ||
158 | # | 169 | # |
159 | # Platform support | 170 | # Platform support |
160 | # | 171 | # |
161 | CONFIG_PPC_MULTIPLATFORM=y | ||
162 | CONFIG_CLASSIC32=y | ||
163 | # CONFIG_PPC_CHRP is not set | 172 | # CONFIG_PPC_CHRP is not set |
164 | # CONFIG_MPC5121_ADS is not set | 173 | # CONFIG_MPC5121_ADS is not set |
165 | # CONFIG_MPC5121_GENERIC is not set | 174 | # CONFIG_MPC5121_GENERIC is not set |
@@ -184,6 +193,8 @@ CONFIG_MPC837x_MDS=y | |||
184 | CONFIG_PPC_MPC837x=y | 193 | CONFIG_PPC_MPC837x=y |
185 | # CONFIG_PPC_86xx is not set | 194 | # CONFIG_PPC_86xx is not set |
186 | # CONFIG_EMBEDDED6xx is not set | 195 | # CONFIG_EMBEDDED6xx is not set |
196 | # CONFIG_AMIGAONE is not set | ||
197 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
187 | CONFIG_IPIC=y | 198 | CONFIG_IPIC=y |
188 | # CONFIG_MPIC is not set | 199 | # CONFIG_MPIC is not set |
189 | # CONFIG_MPIC_WEIRD is not set | 200 | # CONFIG_MPIC_WEIRD is not set |
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
244 | CONFIG_BOUNCE=y | 255 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 256 | CONFIG_VIRT_TO_BUS=y |
246 | CONFIG_UNEVICTABLE_LRU=y | 257 | CONFIG_UNEVICTABLE_LRU=y |
258 | CONFIG_HAVE_MLOCK=y | ||
259 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
247 | CONFIG_PPC_4K_PAGES=y | 260 | CONFIG_PPC_4K_PAGES=y |
248 | # CONFIG_PPC_16K_PAGES is not set | 261 | # CONFIG_PPC_16K_PAGES is not set |
249 | # CONFIG_PPC_64K_PAGES is not set | 262 | # CONFIG_PPC_64K_PAGES is not set |
263 | # CONFIG_PPC_256K_PAGES is not set | ||
250 | CONFIG_FORCE_MAX_ZONEORDER=11 | 264 | CONFIG_FORCE_MAX_ZONEORDER=11 |
251 | CONFIG_PROC_DEVICETREE=y | 265 | CONFIG_PROC_DEVICETREE=y |
252 | # CONFIG_CMDLINE_BOOL is not set | 266 | # CONFIG_CMDLINE_BOOL is not set |
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
272 | # CONFIG_PCI_MSI is not set | 286 | # CONFIG_PCI_MSI is not set |
273 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
274 | # CONFIG_PCI_STUB is not set | 288 | # CONFIG_PCI_STUB is not set |
289 | # CONFIG_PCI_IOV is not set | ||
275 | # CONFIG_PCCARD is not set | 290 | # CONFIG_PCCARD is not set |
276 | # CONFIG_HOTPLUG_PCI is not set | 291 | # CONFIG_HOTPLUG_PCI is not set |
277 | # CONFIG_HAS_RAPIDIO is not set | 292 | # CONFIG_HAS_RAPIDIO is not set |
@@ -294,7 +309,6 @@ CONFIG_NET=y | |||
294 | # | 309 | # |
295 | # Networking options | 310 | # Networking options |
296 | # | 311 | # |
297 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
298 | CONFIG_PACKET=y | 312 | CONFIG_PACKET=y |
299 | # CONFIG_PACKET_MMAP is not set | 313 | # CONFIG_PACKET_MMAP is not set |
300 | CONFIG_UNIX=y | 314 | CONFIG_UNIX=y |
@@ -350,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
350 | # CONFIG_LAPB is not set | 364 | # CONFIG_LAPB is not set |
351 | # CONFIG_ECONET is not set | 365 | # CONFIG_ECONET is not set |
352 | # CONFIG_WAN_ROUTER is not set | 366 | # CONFIG_WAN_ROUTER is not set |
367 | # CONFIG_PHONET is not set | ||
353 | # CONFIG_NET_SCHED is not set | 368 | # CONFIG_NET_SCHED is not set |
354 | # CONFIG_DCB is not set | 369 | # CONFIG_DCB is not set |
355 | 370 | ||
@@ -362,7 +377,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
362 | # CONFIG_IRDA is not set | 377 | # CONFIG_IRDA is not set |
363 | # CONFIG_BT is not set | 378 | # CONFIG_BT is not set |
364 | # CONFIG_AF_RXRPC is not set | 379 | # CONFIG_AF_RXRPC is not set |
365 | # CONFIG_PHONET is not set | ||
366 | CONFIG_WIRELESS=y | 380 | CONFIG_WIRELESS=y |
367 | # CONFIG_CFG80211 is not set | 381 | # CONFIG_CFG80211 is not set |
368 | CONFIG_WIRELESS_OLD_REGULATORY=y | 382 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -410,13 +424,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
410 | # CONFIG_BLK_DEV_HD is not set | 424 | # CONFIG_BLK_DEV_HD is not set |
411 | CONFIG_MISC_DEVICES=y | 425 | CONFIG_MISC_DEVICES=y |
412 | # CONFIG_PHANTOM is not set | 426 | # CONFIG_PHANTOM is not set |
413 | # CONFIG_EEPROM_93CX6 is not set | ||
414 | # CONFIG_SGI_IOC4 is not set | 427 | # CONFIG_SGI_IOC4 is not set |
415 | # CONFIG_TIFM_CORE is not set | 428 | # CONFIG_TIFM_CORE is not set |
416 | # CONFIG_ICS932S401 is not set | 429 | # CONFIG_ICS932S401 is not set |
417 | # CONFIG_ENCLOSURE_SERVICES is not set | 430 | # CONFIG_ENCLOSURE_SERVICES is not set |
418 | # CONFIG_HP_ILO is not set | 431 | # CONFIG_HP_ILO is not set |
432 | # CONFIG_ISL29003 is not set | ||
419 | # CONFIG_C2PORT is not set | 433 | # CONFIG_C2PORT is not set |
434 | |||
435 | # | ||
436 | # EEPROM support | ||
437 | # | ||
438 | # CONFIG_EEPROM_AT24 is not set | ||
439 | # CONFIG_EEPROM_LEGACY is not set | ||
440 | # CONFIG_EEPROM_93CX6 is not set | ||
420 | CONFIG_HAVE_IDE=y | 441 | CONFIG_HAVE_IDE=y |
421 | # CONFIG_IDE is not set | 442 | # CONFIG_IDE is not set |
422 | 443 | ||
@@ -474,9 +495,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
474 | # CONFIG_MEGARAID_NEWGEN is not set | 495 | # CONFIG_MEGARAID_NEWGEN is not set |
475 | # CONFIG_MEGARAID_LEGACY is not set | 496 | # CONFIG_MEGARAID_LEGACY is not set |
476 | # CONFIG_MEGARAID_SAS is not set | 497 | # CONFIG_MEGARAID_SAS is not set |
498 | # CONFIG_SCSI_MPT2SAS is not set | ||
477 | # CONFIG_SCSI_HPTIOP is not set | 499 | # CONFIG_SCSI_HPTIOP is not set |
478 | # CONFIG_SCSI_BUSLOGIC is not set | 500 | # CONFIG_SCSI_BUSLOGIC is not set |
479 | # CONFIG_LIBFC is not set | 501 | # CONFIG_LIBFC is not set |
502 | # CONFIG_LIBFCOE is not set | ||
480 | # CONFIG_FCOE is not set | 503 | # CONFIG_FCOE is not set |
481 | # CONFIG_SCSI_DMX3191D is not set | 504 | # CONFIG_SCSI_DMX3191D is not set |
482 | # CONFIG_SCSI_EATA is not set | 505 | # CONFIG_SCSI_EATA is not set |
@@ -499,6 +522,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
499 | # CONFIG_SCSI_DEBUG is not set | 522 | # CONFIG_SCSI_DEBUG is not set |
500 | # CONFIG_SCSI_SRP is not set | 523 | # CONFIG_SCSI_SRP is not set |
501 | # CONFIG_SCSI_DH is not set | 524 | # CONFIG_SCSI_DH is not set |
525 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
502 | CONFIG_ATA=y | 526 | CONFIG_ATA=y |
503 | # CONFIG_ATA_NONSTANDARD is not set | 527 | # CONFIG_ATA_NONSTANDARD is not set |
504 | CONFIG_SATA_PMP=y | 528 | CONFIG_SATA_PMP=y |
@@ -575,6 +599,7 @@ CONFIG_ATA_SFF=y | |||
575 | # CONFIG_I2O is not set | 599 | # CONFIG_I2O is not set |
576 | # CONFIG_MACINTOSH_DRIVERS is not set | 600 | # CONFIG_MACINTOSH_DRIVERS is not set |
577 | CONFIG_NETDEVICES=y | 601 | CONFIG_NETDEVICES=y |
602 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
578 | # CONFIG_DUMMY is not set | 603 | # CONFIG_DUMMY is not set |
579 | # CONFIG_BONDING is not set | 604 | # CONFIG_BONDING is not set |
580 | # CONFIG_MACVLAN is not set | 605 | # CONFIG_MACVLAN is not set |
@@ -608,6 +633,8 @@ CONFIG_MII=y | |||
608 | # CONFIG_SUNGEM is not set | 633 | # CONFIG_SUNGEM is not set |
609 | # CONFIG_CASSINI is not set | 634 | # CONFIG_CASSINI is not set |
610 | # CONFIG_NET_VENDOR_3COM is not set | 635 | # CONFIG_NET_VENDOR_3COM is not set |
636 | # CONFIG_ETHOC is not set | ||
637 | # CONFIG_DNET is not set | ||
611 | # CONFIG_NET_TULIP is not set | 638 | # CONFIG_NET_TULIP is not set |
612 | # CONFIG_HP100 is not set | 639 | # CONFIG_HP100 is not set |
613 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 640 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -627,6 +654,7 @@ CONFIG_NETDEV_1000=y | |||
627 | # CONFIG_E1000E is not set | 654 | # CONFIG_E1000E is not set |
628 | # CONFIG_IP1000 is not set | 655 | # CONFIG_IP1000 is not set |
629 | # CONFIG_IGB is not set | 656 | # CONFIG_IGB is not set |
657 | # CONFIG_IGBVF is not set | ||
630 | # CONFIG_NS83820 is not set | 658 | # CONFIG_NS83820 is not set |
631 | # CONFIG_HAMACHI is not set | 659 | # CONFIG_HAMACHI is not set |
632 | # CONFIG_YELLOWFIN is not set | 660 | # CONFIG_YELLOWFIN is not set |
@@ -637,11 +665,12 @@ CONFIG_NETDEV_1000=y | |||
637 | # CONFIG_VIA_VELOCITY is not set | 665 | # CONFIG_VIA_VELOCITY is not set |
638 | # CONFIG_TIGON3 is not set | 666 | # CONFIG_TIGON3 is not set |
639 | # CONFIG_BNX2 is not set | 667 | # CONFIG_BNX2 is not set |
668 | CONFIG_FSL_PQ_MDIO=y | ||
640 | CONFIG_GIANFAR=y | 669 | CONFIG_GIANFAR=y |
641 | # CONFIG_MV643XX_ETH is not set | ||
642 | # CONFIG_QLA3XXX is not set | 670 | # CONFIG_QLA3XXX is not set |
643 | # CONFIG_ATL1 is not set | 671 | # CONFIG_ATL1 is not set |
644 | # CONFIG_ATL1E is not set | 672 | # CONFIG_ATL1E is not set |
673 | # CONFIG_ATL1C is not set | ||
645 | # CONFIG_JME is not set | 674 | # CONFIG_JME is not set |
646 | CONFIG_NETDEV_10000=y | 675 | CONFIG_NETDEV_10000=y |
647 | # CONFIG_CHELSIO_T1 is not set | 676 | # CONFIG_CHELSIO_T1 is not set |
@@ -651,6 +680,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
651 | # CONFIG_IXGBE is not set | 680 | # CONFIG_IXGBE is not set |
652 | # CONFIG_IXGB is not set | 681 | # CONFIG_IXGB is not set |
653 | # CONFIG_S2IO is not set | 682 | # CONFIG_S2IO is not set |
683 | # CONFIG_VXGE is not set | ||
654 | # CONFIG_MYRI10GE is not set | 684 | # CONFIG_MYRI10GE is not set |
655 | # CONFIG_NETXEN_NIC is not set | 685 | # CONFIG_NETXEN_NIC is not set |
656 | # CONFIG_NIU is not set | 686 | # CONFIG_NIU is not set |
@@ -660,6 +690,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
660 | # CONFIG_BNX2X is not set | 690 | # CONFIG_BNX2X is not set |
661 | # CONFIG_QLGE is not set | 691 | # CONFIG_QLGE is not set |
662 | # CONFIG_SFC is not set | 692 | # CONFIG_SFC is not set |
693 | # CONFIG_BE2NET is not set | ||
663 | # CONFIG_TR is not set | 694 | # CONFIG_TR is not set |
664 | 695 | ||
665 | # | 696 | # |
@@ -667,7 +698,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
667 | # | 698 | # |
668 | # CONFIG_WLAN_PRE80211 is not set | 699 | # CONFIG_WLAN_PRE80211 is not set |
669 | # CONFIG_WLAN_80211 is not set | 700 | # CONFIG_WLAN_80211 is not set |
670 | # CONFIG_IWLWIFI_LEDS is not set | ||
671 | 701 | ||
672 | # | 702 | # |
673 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 703 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -811,12 +841,9 @@ CONFIG_I2C_MPC=y | |||
811 | # Miscellaneous I2C Chip support | 841 | # Miscellaneous I2C Chip support |
812 | # | 842 | # |
813 | # CONFIG_DS1682 is not set | 843 | # CONFIG_DS1682 is not set |
814 | # CONFIG_EEPROM_AT24 is not set | ||
815 | # CONFIG_EEPROM_LEGACY is not set | ||
816 | # CONFIG_SENSORS_PCF8574 is not set | 844 | # CONFIG_SENSORS_PCF8574 is not set |
817 | # CONFIG_PCF8575 is not set | 845 | # CONFIG_PCF8575 is not set |
818 | # CONFIG_SENSORS_PCA9539 is not set | 846 | # CONFIG_SENSORS_PCA9539 is not set |
819 | # CONFIG_SENSORS_PCF8591 is not set | ||
820 | # CONFIG_SENSORS_MAX6875 is not set | 847 | # CONFIG_SENSORS_MAX6875 is not set |
821 | # CONFIG_SENSORS_TSL2550 is not set | 848 | # CONFIG_SENSORS_TSL2550 is not set |
822 | # CONFIG_I2C_DEBUG_CORE is not set | 849 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -848,6 +875,7 @@ CONFIG_HWMON=y | |||
848 | # CONFIG_SENSORS_F71805F is not set | 875 | # CONFIG_SENSORS_F71805F is not set |
849 | # CONFIG_SENSORS_F71882FG is not set | 876 | # CONFIG_SENSORS_F71882FG is not set |
850 | # CONFIG_SENSORS_F75375S is not set | 877 | # CONFIG_SENSORS_F75375S is not set |
878 | # CONFIG_SENSORS_G760A is not set | ||
851 | # CONFIG_SENSORS_GL518SM is not set | 879 | # CONFIG_SENSORS_GL518SM is not set |
852 | # CONFIG_SENSORS_GL520SM is not set | 880 | # CONFIG_SENSORS_GL520SM is not set |
853 | # CONFIG_SENSORS_IT87 is not set | 881 | # CONFIG_SENSORS_IT87 is not set |
@@ -862,11 +890,14 @@ CONFIG_HWMON=y | |||
862 | # CONFIG_SENSORS_LM90 is not set | 890 | # CONFIG_SENSORS_LM90 is not set |
863 | # CONFIG_SENSORS_LM92 is not set | 891 | # CONFIG_SENSORS_LM92 is not set |
864 | # CONFIG_SENSORS_LM93 is not set | 892 | # CONFIG_SENSORS_LM93 is not set |
893 | # CONFIG_SENSORS_LTC4215 is not set | ||
865 | # CONFIG_SENSORS_LTC4245 is not set | 894 | # CONFIG_SENSORS_LTC4245 is not set |
895 | # CONFIG_SENSORS_LM95241 is not set | ||
866 | # CONFIG_SENSORS_MAX1619 is not set | 896 | # CONFIG_SENSORS_MAX1619 is not set |
867 | # CONFIG_SENSORS_MAX6650 is not set | 897 | # CONFIG_SENSORS_MAX6650 is not set |
868 | # CONFIG_SENSORS_PC87360 is not set | 898 | # CONFIG_SENSORS_PC87360 is not set |
869 | # CONFIG_SENSORS_PC87427 is not set | 899 | # CONFIG_SENSORS_PC87427 is not set |
900 | # CONFIG_SENSORS_PCF8591 is not set | ||
870 | # CONFIG_SENSORS_SIS5595 is not set | 901 | # CONFIG_SENSORS_SIS5595 is not set |
871 | # CONFIG_SENSORS_DME1737 is not set | 902 | # CONFIG_SENSORS_DME1737 is not set |
872 | # CONFIG_SENSORS_SMSC47M1 is not set | 903 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -964,7 +995,6 @@ CONFIG_HID=y | |||
964 | # | 995 | # |
965 | # Special HID drivers | 996 | # Special HID drivers |
966 | # | 997 | # |
967 | CONFIG_HID_COMPAT=y | ||
968 | CONFIG_USB_SUPPORT=y | 998 | CONFIG_USB_SUPPORT=y |
969 | CONFIG_USB_ARCH_HAS_HCD=y | 999 | CONFIG_USB_ARCH_HAS_HCD=y |
970 | CONFIG_USB_ARCH_HAS_OHCI=y | 1000 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -978,7 +1008,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
978 | # | 1008 | # |
979 | 1009 | ||
980 | # | 1010 | # |
981 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1011 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
982 | # | 1012 | # |
983 | # CONFIG_USB_GADGET is not set | 1013 | # CONFIG_USB_GADGET is not set |
984 | 1014 | ||
@@ -994,6 +1024,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
994 | # CONFIG_EDAC is not set | 1024 | # CONFIG_EDAC is not set |
995 | # CONFIG_RTC_CLASS is not set | 1025 | # CONFIG_RTC_CLASS is not set |
996 | # CONFIG_DMADEVICES is not set | 1026 | # CONFIG_DMADEVICES is not set |
1027 | # CONFIG_AUXDISPLAY is not set | ||
997 | # CONFIG_UIO is not set | 1028 | # CONFIG_UIO is not set |
998 | # CONFIG_STAGING is not set | 1029 | # CONFIG_STAGING is not set |
999 | 1030 | ||
@@ -1004,6 +1035,7 @@ CONFIG_EXT2_FS=y | |||
1004 | # CONFIG_EXT2_FS_XATTR is not set | 1035 | # CONFIG_EXT2_FS_XATTR is not set |
1005 | # CONFIG_EXT2_FS_XIP is not set | 1036 | # CONFIG_EXT2_FS_XIP is not set |
1006 | CONFIG_EXT3_FS=y | 1037 | CONFIG_EXT3_FS=y |
1038 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1007 | CONFIG_EXT3_FS_XATTR=y | 1039 | CONFIG_EXT3_FS_XATTR=y |
1008 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1040 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1009 | # CONFIG_EXT3_FS_SECURITY is not set | 1041 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1026,6 +1058,11 @@ CONFIG_INOTIFY_USER=y | |||
1026 | # CONFIG_FUSE_FS is not set | 1058 | # CONFIG_FUSE_FS is not set |
1027 | 1059 | ||
1028 | # | 1060 | # |
1061 | # Caches | ||
1062 | # | ||
1063 | # CONFIG_FSCACHE is not set | ||
1064 | |||
1065 | # | ||
1029 | # CD-ROM/DVD Filesystems | 1066 | # CD-ROM/DVD Filesystems |
1030 | # | 1067 | # |
1031 | # CONFIG_ISO9660_FS is not set | 1068 | # CONFIG_ISO9660_FS is not set |
@@ -1068,6 +1105,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1068 | # CONFIG_ROMFS_FS is not set | 1105 | # CONFIG_ROMFS_FS is not set |
1069 | # CONFIG_SYSV_FS is not set | 1106 | # CONFIG_SYSV_FS is not set |
1070 | # CONFIG_UFS_FS is not set | 1107 | # CONFIG_UFS_FS is not set |
1108 | # CONFIG_NILFS2_FS is not set | ||
1071 | CONFIG_NETWORK_FILESYSTEMS=y | 1109 | CONFIG_NETWORK_FILESYSTEMS=y |
1072 | CONFIG_NFS_FS=y | 1110 | CONFIG_NFS_FS=y |
1073 | CONFIG_NFS_V3=y | 1111 | CONFIG_NFS_V3=y |
@@ -1080,7 +1118,6 @@ CONFIG_LOCKD_V4=y | |||
1080 | CONFIG_NFS_COMMON=y | 1118 | CONFIG_NFS_COMMON=y |
1081 | CONFIG_SUNRPC=y | 1119 | CONFIG_SUNRPC=y |
1082 | CONFIG_SUNRPC_GSS=y | 1120 | CONFIG_SUNRPC_GSS=y |
1083 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1084 | CONFIG_RPCSEC_GSS_KRB5=y | 1121 | CONFIG_RPCSEC_GSS_KRB5=y |
1085 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1122 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1086 | # CONFIG_SMB_FS is not set | 1123 | # CONFIG_SMB_FS is not set |
@@ -1112,6 +1149,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1112 | # CONFIG_SYSV68_PARTITION is not set | 1149 | # CONFIG_SYSV68_PARTITION is not set |
1113 | # CONFIG_NLS is not set | 1150 | # CONFIG_NLS is not set |
1114 | # CONFIG_DLM is not set | 1151 | # CONFIG_DLM is not set |
1152 | # CONFIG_BINARY_PRINTF is not set | ||
1115 | 1153 | ||
1116 | # | 1154 | # |
1117 | # Library routines | 1155 | # Library routines |
@@ -1125,11 +1163,13 @@ CONFIG_CRC_T10DIF=y | |||
1125 | CONFIG_CRC32=y | 1163 | CONFIG_CRC32=y |
1126 | # CONFIG_CRC7 is not set | 1164 | # CONFIG_CRC7 is not set |
1127 | # CONFIG_LIBCRC32C is not set | 1165 | # CONFIG_LIBCRC32C is not set |
1128 | CONFIG_PLIST=y | 1166 | CONFIG_ZLIB_INFLATE=y |
1167 | CONFIG_DECOMPRESS_GZIP=y | ||
1129 | CONFIG_HAS_IOMEM=y | 1168 | CONFIG_HAS_IOMEM=y |
1130 | CONFIG_HAS_IOPORT=y | 1169 | CONFIG_HAS_IOPORT=y |
1131 | CONFIG_HAS_DMA=y | 1170 | CONFIG_HAS_DMA=y |
1132 | CONFIG_HAVE_LMB=y | 1171 | CONFIG_HAVE_LMB=y |
1172 | CONFIG_NLATTR=y | ||
1133 | 1173 | ||
1134 | # | 1174 | # |
1135 | # Kernel hacking | 1175 | # Kernel hacking |
@@ -1149,13 +1189,24 @@ CONFIG_FRAME_WARN=1024 | |||
1149 | # CONFIG_LATENCYTOP is not set | 1189 | # CONFIG_LATENCYTOP is not set |
1150 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1190 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1151 | CONFIG_HAVE_FUNCTION_TRACER=y | 1191 | CONFIG_HAVE_FUNCTION_TRACER=y |
1192 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1152 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1193 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1153 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1194 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1195 | CONFIG_TRACING_SUPPORT=y | ||
1154 | 1196 | ||
1155 | # | 1197 | # |
1156 | # Tracers | 1198 | # Tracers |
1157 | # | 1199 | # |
1158 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1200 | # CONFIG_FUNCTION_TRACER is not set |
1201 | # CONFIG_SCHED_TRACER is not set | ||
1202 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1203 | # CONFIG_EVENT_TRACER is not set | ||
1204 | # CONFIG_BOOT_TRACER is not set | ||
1205 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1206 | # CONFIG_STACK_TRACER is not set | ||
1207 | # CONFIG_KMEMTRACE is not set | ||
1208 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1209 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1159 | # CONFIG_SAMPLES is not set | 1210 | # CONFIG_SAMPLES is not set |
1160 | CONFIG_HAVE_ARCH_KGDB=y | 1211 | CONFIG_HAVE_ARCH_KGDB=y |
1161 | CONFIG_PRINT_STACK_DEPTH=64 | 1212 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1184,10 +1235,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1184 | CONFIG_CRYPTO_HASH=y | 1235 | CONFIG_CRYPTO_HASH=y |
1185 | CONFIG_CRYPTO_HASH2=y | 1236 | CONFIG_CRYPTO_HASH2=y |
1186 | CONFIG_CRYPTO_RNG2=y | 1237 | CONFIG_CRYPTO_RNG2=y |
1238 | CONFIG_CRYPTO_PCOMP=y | ||
1187 | CONFIG_CRYPTO_MANAGER=y | 1239 | CONFIG_CRYPTO_MANAGER=y |
1188 | CONFIG_CRYPTO_MANAGER2=y | 1240 | CONFIG_CRYPTO_MANAGER2=y |
1189 | # CONFIG_CRYPTO_GF128MUL is not set | 1241 | # CONFIG_CRYPTO_GF128MUL is not set |
1190 | # CONFIG_CRYPTO_NULL is not set | 1242 | # CONFIG_CRYPTO_NULL is not set |
1243 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1191 | # CONFIG_CRYPTO_CRYPTD is not set | 1244 | # CONFIG_CRYPTO_CRYPTD is not set |
1192 | # CONFIG_CRYPTO_AUTHENC is not set | 1245 | # CONFIG_CRYPTO_AUTHENC is not set |
1193 | # CONFIG_CRYPTO_TEST is not set | 1246 | # CONFIG_CRYPTO_TEST is not set |
@@ -1256,6 +1309,7 @@ CONFIG_CRYPTO_DES=y | |||
1256 | # Compression | 1309 | # Compression |
1257 | # | 1310 | # |
1258 | # CONFIG_CRYPTO_DEFLATE is not set | 1311 | # CONFIG_CRYPTO_DEFLATE is not set |
1312 | # CONFIG_CRYPTO_ZLIB is not set | ||
1259 | # CONFIG_CRYPTO_LZO is not set | 1313 | # CONFIG_CRYPTO_LZO is not set |
1260 | 1314 | ||
1261 | # | 1315 | # |
diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig index 408022f79a50..fe6454eacbdb 100644 --- a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:01 2009 | 4 | # Wed May 13 17:22:14 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,20 +98,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | CONFIG_KALLSYMS=y | 109 | CONFIG_KALLSYMS=y |
95 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 110 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
111 | # CONFIG_STRIP_ASM_SYMS is not set | ||
96 | CONFIG_HOTPLUG=y | 112 | CONFIG_HOTPLUG=y |
97 | CONFIG_PRINTK=y | 113 | CONFIG_PRINTK=y |
98 | CONFIG_BUG=y | 114 | CONFIG_BUG=y |
99 | CONFIG_ELF_CORE=y | 115 | CONFIG_ELF_CORE=y |
100 | CONFIG_COMPAT_BRK=y | ||
101 | CONFIG_BASE_FULL=y | 116 | CONFIG_BASE_FULL=y |
102 | CONFIG_FUTEX=y | 117 | CONFIG_FUTEX=y |
103 | CONFIG_ANON_INODES=y | ||
104 | # CONFIG_EPOLL is not set | 118 | # CONFIG_EPOLL is not set |
105 | CONFIG_SIGNALFD=y | 119 | CONFIG_SIGNALFD=y |
106 | CONFIG_TIMERFD=y | 120 | CONFIG_TIMERFD=y |
@@ -109,10 +123,12 @@ CONFIG_SHMEM=y | |||
109 | CONFIG_AIO=y | 123 | CONFIG_AIO=y |
110 | CONFIG_VM_EVENT_COUNTERS=y | 124 | CONFIG_VM_EVENT_COUNTERS=y |
111 | CONFIG_PCI_QUIRKS=y | 125 | CONFIG_PCI_QUIRKS=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | CONFIG_SLAB=y | 127 | CONFIG_SLAB=y |
113 | # CONFIG_SLUB is not set | 128 | # CONFIG_SLUB is not set |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | # CONFIG_KPROBES is not set | 133 | # CONFIG_KPROBES is not set |
118 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 134 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -120,6 +136,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
120 | CONFIG_HAVE_KPROBES=y | 136 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 137 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 138 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
139 | # CONFIG_SLOW_WORK is not set | ||
123 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 140 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
124 | CONFIG_SLABINFO=y | 141 | CONFIG_SLABINFO=y |
125 | CONFIG_RT_MUTEXES=y | 142 | CONFIG_RT_MUTEXES=y |
@@ -132,7 +149,6 @@ CONFIG_MODULE_UNLOAD=y | |||
132 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 149 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
133 | CONFIG_BLOCK=y | 150 | CONFIG_BLOCK=y |
134 | # CONFIG_LBD is not set | 151 | # CONFIG_LBD is not set |
135 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
136 | # CONFIG_BLK_DEV_BSG is not set | 152 | # CONFIG_BLK_DEV_BSG is not set |
137 | # CONFIG_BLK_DEV_INTEGRITY is not set | 153 | # CONFIG_BLK_DEV_INTEGRITY is not set |
138 | 154 | ||
@@ -148,18 +164,11 @@ CONFIG_DEFAULT_AS=y | |||
148 | # CONFIG_DEFAULT_CFQ is not set | 164 | # CONFIG_DEFAULT_CFQ is not set |
149 | # CONFIG_DEFAULT_NOOP is not set | 165 | # CONFIG_DEFAULT_NOOP is not set |
150 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 166 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
151 | CONFIG_CLASSIC_RCU=y | ||
152 | # CONFIG_TREE_RCU is not set | ||
153 | # CONFIG_PREEMPT_RCU is not set | ||
154 | # CONFIG_TREE_RCU_TRACE is not set | ||
155 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
156 | # CONFIG_FREEZER is not set | 167 | # CONFIG_FREEZER is not set |
157 | 168 | ||
158 | # | 169 | # |
159 | # Platform support | 170 | # Platform support |
160 | # | 171 | # |
161 | CONFIG_PPC_MULTIPLATFORM=y | ||
162 | CONFIG_CLASSIC32=y | ||
163 | # CONFIG_PPC_CHRP is not set | 172 | # CONFIG_PPC_CHRP is not set |
164 | # CONFIG_MPC5121_ADS is not set | 173 | # CONFIG_MPC5121_ADS is not set |
165 | # CONFIG_MPC5121_GENERIC is not set | 174 | # CONFIG_MPC5121_GENERIC is not set |
@@ -184,6 +193,8 @@ CONFIG_MPC837x_RDB=y | |||
184 | CONFIG_PPC_MPC837x=y | 193 | CONFIG_PPC_MPC837x=y |
185 | # CONFIG_PPC_86xx is not set | 194 | # CONFIG_PPC_86xx is not set |
186 | # CONFIG_EMBEDDED6xx is not set | 195 | # CONFIG_EMBEDDED6xx is not set |
196 | # CONFIG_AMIGAONE is not set | ||
197 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
187 | CONFIG_IPIC=y | 198 | CONFIG_IPIC=y |
188 | # CONFIG_MPIC is not set | 199 | # CONFIG_MPIC is not set |
189 | # CONFIG_MPIC_WEIRD is not set | 200 | # CONFIG_MPIC_WEIRD is not set |
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
244 | CONFIG_BOUNCE=y | 255 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 256 | CONFIG_VIRT_TO_BUS=y |
246 | CONFIG_UNEVICTABLE_LRU=y | 257 | CONFIG_UNEVICTABLE_LRU=y |
258 | CONFIG_HAVE_MLOCK=y | ||
259 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
247 | CONFIG_PPC_4K_PAGES=y | 260 | CONFIG_PPC_4K_PAGES=y |
248 | # CONFIG_PPC_16K_PAGES is not set | 261 | # CONFIG_PPC_16K_PAGES is not set |
249 | # CONFIG_PPC_64K_PAGES is not set | 262 | # CONFIG_PPC_64K_PAGES is not set |
263 | # CONFIG_PPC_256K_PAGES is not set | ||
250 | CONFIG_FORCE_MAX_ZONEORDER=11 | 264 | CONFIG_FORCE_MAX_ZONEORDER=11 |
251 | CONFIG_PROC_DEVICETREE=y | 265 | CONFIG_PROC_DEVICETREE=y |
252 | # CONFIG_CMDLINE_BOOL is not set | 266 | # CONFIG_CMDLINE_BOOL is not set |
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
272 | # CONFIG_PCI_MSI is not set | 286 | # CONFIG_PCI_MSI is not set |
273 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
274 | # CONFIG_PCI_STUB is not set | 288 | # CONFIG_PCI_STUB is not set |
289 | # CONFIG_PCI_IOV is not set | ||
275 | # CONFIG_PCCARD is not set | 290 | # CONFIG_PCCARD is not set |
276 | # CONFIG_HOTPLUG_PCI is not set | 291 | # CONFIG_HOTPLUG_PCI is not set |
277 | # CONFIG_HAS_RAPIDIO is not set | 292 | # CONFIG_HAS_RAPIDIO is not set |
@@ -294,7 +309,6 @@ CONFIG_NET=y | |||
294 | # | 309 | # |
295 | # Networking options | 310 | # Networking options |
296 | # | 311 | # |
297 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
298 | CONFIG_PACKET=y | 312 | CONFIG_PACKET=y |
299 | # CONFIG_PACKET_MMAP is not set | 313 | # CONFIG_PACKET_MMAP is not set |
300 | CONFIG_UNIX=y | 314 | CONFIG_UNIX=y |
@@ -345,6 +359,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
345 | # CONFIG_LAPB is not set | 359 | # CONFIG_LAPB is not set |
346 | # CONFIG_ECONET is not set | 360 | # CONFIG_ECONET is not set |
347 | # CONFIG_WAN_ROUTER is not set | 361 | # CONFIG_WAN_ROUTER is not set |
362 | # CONFIG_PHONET is not set | ||
348 | # CONFIG_NET_SCHED is not set | 363 | # CONFIG_NET_SCHED is not set |
349 | # CONFIG_DCB is not set | 364 | # CONFIG_DCB is not set |
350 | 365 | ||
@@ -357,7 +372,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
357 | # CONFIG_IRDA is not set | 372 | # CONFIG_IRDA is not set |
358 | # CONFIG_BT is not set | 373 | # CONFIG_BT is not set |
359 | # CONFIG_AF_RXRPC is not set | 374 | # CONFIG_AF_RXRPC is not set |
360 | # CONFIG_PHONET is not set | ||
361 | CONFIG_WIRELESS=y | 375 | CONFIG_WIRELESS=y |
362 | # CONFIG_CFG80211 is not set | 376 | # CONFIG_CFG80211 is not set |
363 | CONFIG_WIRELESS_OLD_REGULATORY=y | 377 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -406,13 +420,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
406 | # CONFIG_BLK_DEV_HD is not set | 420 | # CONFIG_BLK_DEV_HD is not set |
407 | CONFIG_MISC_DEVICES=y | 421 | CONFIG_MISC_DEVICES=y |
408 | # CONFIG_PHANTOM is not set | 422 | # CONFIG_PHANTOM is not set |
409 | # CONFIG_EEPROM_93CX6 is not set | ||
410 | # CONFIG_SGI_IOC4 is not set | 423 | # CONFIG_SGI_IOC4 is not set |
411 | # CONFIG_TIFM_CORE is not set | 424 | # CONFIG_TIFM_CORE is not set |
412 | # CONFIG_ICS932S401 is not set | 425 | # CONFIG_ICS932S401 is not set |
413 | # CONFIG_ENCLOSURE_SERVICES is not set | 426 | # CONFIG_ENCLOSURE_SERVICES is not set |
414 | # CONFIG_HP_ILO is not set | 427 | # CONFIG_HP_ILO is not set |
428 | # CONFIG_ISL29003 is not set | ||
415 | # CONFIG_C2PORT is not set | 429 | # CONFIG_C2PORT is not set |
430 | |||
431 | # | ||
432 | # EEPROM support | ||
433 | # | ||
434 | # CONFIG_EEPROM_AT24 is not set | ||
435 | # CONFIG_EEPROM_LEGACY is not set | ||
436 | # CONFIG_EEPROM_93CX6 is not set | ||
416 | CONFIG_HAVE_IDE=y | 437 | CONFIG_HAVE_IDE=y |
417 | # CONFIG_IDE is not set | 438 | # CONFIG_IDE is not set |
418 | 439 | ||
@@ -469,9 +490,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
469 | # CONFIG_MEGARAID_NEWGEN is not set | 490 | # CONFIG_MEGARAID_NEWGEN is not set |
470 | # CONFIG_MEGARAID_LEGACY is not set | 491 | # CONFIG_MEGARAID_LEGACY is not set |
471 | # CONFIG_MEGARAID_SAS is not set | 492 | # CONFIG_MEGARAID_SAS is not set |
493 | # CONFIG_SCSI_MPT2SAS is not set | ||
472 | # CONFIG_SCSI_HPTIOP is not set | 494 | # CONFIG_SCSI_HPTIOP is not set |
473 | # CONFIG_SCSI_BUSLOGIC is not set | 495 | # CONFIG_SCSI_BUSLOGIC is not set |
474 | # CONFIG_LIBFC is not set | 496 | # CONFIG_LIBFC is not set |
497 | # CONFIG_LIBFCOE is not set | ||
475 | # CONFIG_FCOE is not set | 498 | # CONFIG_FCOE is not set |
476 | # CONFIG_SCSI_DMX3191D is not set | 499 | # CONFIG_SCSI_DMX3191D is not set |
477 | # CONFIG_SCSI_EATA is not set | 500 | # CONFIG_SCSI_EATA is not set |
@@ -494,6 +517,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
494 | # CONFIG_SCSI_DEBUG is not set | 517 | # CONFIG_SCSI_DEBUG is not set |
495 | # CONFIG_SCSI_SRP is not set | 518 | # CONFIG_SCSI_SRP is not set |
496 | # CONFIG_SCSI_DH is not set | 519 | # CONFIG_SCSI_DH is not set |
520 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
497 | CONFIG_ATA=y | 521 | CONFIG_ATA=y |
498 | # CONFIG_ATA_NONSTANDARD is not set | 522 | # CONFIG_ATA_NONSTANDARD is not set |
499 | CONFIG_SATA_PMP=y | 523 | CONFIG_SATA_PMP=y |
@@ -563,7 +587,7 @@ CONFIG_MD_AUTODETECT=y | |||
563 | CONFIG_MD_RAID1=y | 587 | CONFIG_MD_RAID1=y |
564 | # CONFIG_MD_RAID10 is not set | 588 | # CONFIG_MD_RAID10 is not set |
565 | CONFIG_MD_RAID456=y | 589 | CONFIG_MD_RAID456=y |
566 | CONFIG_MD_RAID5_RESHAPE=y | 590 | CONFIG_MD_RAID6_PQ=y |
567 | # CONFIG_MD_MULTIPATH is not set | 591 | # CONFIG_MD_MULTIPATH is not set |
568 | # CONFIG_MD_FAULTY is not set | 592 | # CONFIG_MD_FAULTY is not set |
569 | # CONFIG_BLK_DEV_DM is not set | 593 | # CONFIG_BLK_DEV_DM is not set |
@@ -581,6 +605,7 @@ CONFIG_MD_RAID5_RESHAPE=y | |||
581 | # CONFIG_I2O is not set | 605 | # CONFIG_I2O is not set |
582 | # CONFIG_MACINTOSH_DRIVERS is not set | 606 | # CONFIG_MACINTOSH_DRIVERS is not set |
583 | CONFIG_NETDEVICES=y | 607 | CONFIG_NETDEVICES=y |
608 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
584 | # CONFIG_DUMMY is not set | 609 | # CONFIG_DUMMY is not set |
585 | # CONFIG_BONDING is not set | 610 | # CONFIG_BONDING is not set |
586 | # CONFIG_MACVLAN is not set | 611 | # CONFIG_MACVLAN is not set |
@@ -614,6 +639,8 @@ CONFIG_MII=y | |||
614 | # CONFIG_SUNGEM is not set | 639 | # CONFIG_SUNGEM is not set |
615 | # CONFIG_CASSINI is not set | 640 | # CONFIG_CASSINI is not set |
616 | # CONFIG_NET_VENDOR_3COM is not set | 641 | # CONFIG_NET_VENDOR_3COM is not set |
642 | # CONFIG_ETHOC is not set | ||
643 | # CONFIG_DNET is not set | ||
617 | # CONFIG_NET_TULIP is not set | 644 | # CONFIG_NET_TULIP is not set |
618 | # CONFIG_HP100 is not set | 645 | # CONFIG_HP100 is not set |
619 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 646 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -633,6 +660,7 @@ CONFIG_NETDEV_1000=y | |||
633 | # CONFIG_E1000E is not set | 660 | # CONFIG_E1000E is not set |
634 | # CONFIG_IP1000 is not set | 661 | # CONFIG_IP1000 is not set |
635 | # CONFIG_IGB is not set | 662 | # CONFIG_IGB is not set |
663 | # CONFIG_IGBVF is not set | ||
636 | # CONFIG_NS83820 is not set | 664 | # CONFIG_NS83820 is not set |
637 | # CONFIG_HAMACHI is not set | 665 | # CONFIG_HAMACHI is not set |
638 | # CONFIG_YELLOWFIN is not set | 666 | # CONFIG_YELLOWFIN is not set |
@@ -643,11 +671,12 @@ CONFIG_NETDEV_1000=y | |||
643 | # CONFIG_VIA_VELOCITY is not set | 671 | # CONFIG_VIA_VELOCITY is not set |
644 | # CONFIG_TIGON3 is not set | 672 | # CONFIG_TIGON3 is not set |
645 | # CONFIG_BNX2 is not set | 673 | # CONFIG_BNX2 is not set |
674 | CONFIG_FSL_PQ_MDIO=y | ||
646 | CONFIG_GIANFAR=y | 675 | CONFIG_GIANFAR=y |
647 | # CONFIG_MV643XX_ETH is not set | ||
648 | # CONFIG_QLA3XXX is not set | 676 | # CONFIG_QLA3XXX is not set |
649 | # CONFIG_ATL1 is not set | 677 | # CONFIG_ATL1 is not set |
650 | # CONFIG_ATL1E is not set | 678 | # CONFIG_ATL1E is not set |
679 | # CONFIG_ATL1C is not set | ||
651 | # CONFIG_JME is not set | 680 | # CONFIG_JME is not set |
652 | # CONFIG_NETDEV_10000 is not set | 681 | # CONFIG_NETDEV_10000 is not set |
653 | # CONFIG_TR is not set | 682 | # CONFIG_TR is not set |
@@ -657,7 +686,6 @@ CONFIG_GIANFAR=y | |||
657 | # | 686 | # |
658 | # CONFIG_WLAN_PRE80211 is not set | 687 | # CONFIG_WLAN_PRE80211 is not set |
659 | # CONFIG_WLAN_80211 is not set | 688 | # CONFIG_WLAN_80211 is not set |
660 | # CONFIG_IWLWIFI_LEDS is not set | ||
661 | 689 | ||
662 | # | 690 | # |
663 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 691 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -811,12 +839,9 @@ CONFIG_I2C_MPC=y | |||
811 | # Miscellaneous I2C Chip support | 839 | # Miscellaneous I2C Chip support |
812 | # | 840 | # |
813 | # CONFIG_DS1682 is not set | 841 | # CONFIG_DS1682 is not set |
814 | # CONFIG_EEPROM_AT24 is not set | ||
815 | # CONFIG_EEPROM_LEGACY is not set | ||
816 | # CONFIG_SENSORS_PCF8574 is not set | 842 | # CONFIG_SENSORS_PCF8574 is not set |
817 | # CONFIG_PCF8575 is not set | 843 | # CONFIG_PCF8575 is not set |
818 | # CONFIG_SENSORS_PCA9539 is not set | 844 | # CONFIG_SENSORS_PCA9539 is not set |
819 | # CONFIG_SENSORS_PCF8591 is not set | ||
820 | # CONFIG_SENSORS_MAX6875 is not set | 845 | # CONFIG_SENSORS_MAX6875 is not set |
821 | # CONFIG_SENSORS_TSL2550 is not set | 846 | # CONFIG_SENSORS_TSL2550 is not set |
822 | # CONFIG_I2C_DEBUG_CORE is not set | 847 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -848,6 +873,7 @@ CONFIG_HWMON=y | |||
848 | # CONFIG_SENSORS_F71805F is not set | 873 | # CONFIG_SENSORS_F71805F is not set |
849 | # CONFIG_SENSORS_F71882FG is not set | 874 | # CONFIG_SENSORS_F71882FG is not set |
850 | # CONFIG_SENSORS_F75375S is not set | 875 | # CONFIG_SENSORS_F75375S is not set |
876 | # CONFIG_SENSORS_G760A is not set | ||
851 | # CONFIG_SENSORS_GL518SM is not set | 877 | # CONFIG_SENSORS_GL518SM is not set |
852 | # CONFIG_SENSORS_GL520SM is not set | 878 | # CONFIG_SENSORS_GL520SM is not set |
853 | # CONFIG_SENSORS_IT87 is not set | 879 | # CONFIG_SENSORS_IT87 is not set |
@@ -862,11 +888,14 @@ CONFIG_HWMON=y | |||
862 | # CONFIG_SENSORS_LM90 is not set | 888 | # CONFIG_SENSORS_LM90 is not set |
863 | # CONFIG_SENSORS_LM92 is not set | 889 | # CONFIG_SENSORS_LM92 is not set |
864 | # CONFIG_SENSORS_LM93 is not set | 890 | # CONFIG_SENSORS_LM93 is not set |
891 | # CONFIG_SENSORS_LTC4215 is not set | ||
865 | # CONFIG_SENSORS_LTC4245 is not set | 892 | # CONFIG_SENSORS_LTC4245 is not set |
893 | # CONFIG_SENSORS_LM95241 is not set | ||
866 | # CONFIG_SENSORS_MAX1619 is not set | 894 | # CONFIG_SENSORS_MAX1619 is not set |
867 | # CONFIG_SENSORS_MAX6650 is not set | 895 | # CONFIG_SENSORS_MAX6650 is not set |
868 | # CONFIG_SENSORS_PC87360 is not set | 896 | # CONFIG_SENSORS_PC87360 is not set |
869 | # CONFIG_SENSORS_PC87427 is not set | 897 | # CONFIG_SENSORS_PC87427 is not set |
898 | # CONFIG_SENSORS_PCF8591 is not set | ||
870 | # CONFIG_SENSORS_SIS5595 is not set | 899 | # CONFIG_SENSORS_SIS5595 is not set |
871 | # CONFIG_SENSORS_DME1737 is not set | 900 | # CONFIG_SENSORS_DME1737 is not set |
872 | # CONFIG_SENSORS_SMSC47M1 is not set | 901 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -976,15 +1005,17 @@ CONFIG_USB_HID=y | |||
976 | # | 1005 | # |
977 | # Special HID drivers | 1006 | # Special HID drivers |
978 | # | 1007 | # |
979 | CONFIG_HID_COMPAT=y | ||
980 | CONFIG_HID_A4TECH=y | 1008 | CONFIG_HID_A4TECH=y |
981 | CONFIG_HID_APPLE=y | 1009 | CONFIG_HID_APPLE=y |
982 | CONFIG_HID_BELKIN=y | 1010 | CONFIG_HID_BELKIN=y |
983 | CONFIG_HID_CHERRY=y | 1011 | CONFIG_HID_CHERRY=y |
984 | CONFIG_HID_CHICONY=y | 1012 | CONFIG_HID_CHICONY=y |
985 | CONFIG_HID_CYPRESS=y | 1013 | CONFIG_HID_CYPRESS=y |
1014 | # CONFIG_DRAGONRISE_FF is not set | ||
986 | CONFIG_HID_EZKEY=y | 1015 | CONFIG_HID_EZKEY=y |
1016 | # CONFIG_HID_KYE is not set | ||
987 | CONFIG_HID_GYRATION=y | 1017 | CONFIG_HID_GYRATION=y |
1018 | # CONFIG_HID_KENSINGTON is not set | ||
988 | CONFIG_HID_LOGITECH=y | 1019 | CONFIG_HID_LOGITECH=y |
989 | # CONFIG_LOGITECH_FF is not set | 1020 | # CONFIG_LOGITECH_FF is not set |
990 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1021 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1050,11 +1081,11 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1050 | # CONFIG_USB_TMC is not set | 1081 | # CONFIG_USB_TMC is not set |
1051 | 1082 | ||
1052 | # | 1083 | # |
1053 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1084 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1054 | # | 1085 | # |
1055 | 1086 | ||
1056 | # | 1087 | # |
1057 | # see USB_STORAGE Help for more information | 1088 | # also be needed; see USB_STORAGE Help for more info |
1058 | # | 1089 | # |
1059 | # CONFIG_USB_STORAGE is not set | 1090 | # CONFIG_USB_STORAGE is not set |
1060 | # CONFIG_USB_LIBUSUAL is not set | 1091 | # CONFIG_USB_LIBUSUAL is not set |
@@ -1084,7 +1115,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1084 | # CONFIG_USB_LED is not set | 1115 | # CONFIG_USB_LED is not set |
1085 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1116 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1086 | # CONFIG_USB_CYTHERM is not set | 1117 | # CONFIG_USB_CYTHERM is not set |
1087 | # CONFIG_USB_PHIDGET is not set | ||
1088 | # CONFIG_USB_IDMOUSE is not set | 1118 | # CONFIG_USB_IDMOUSE is not set |
1089 | # CONFIG_USB_FTDI_ELAN is not set | 1119 | # CONFIG_USB_FTDI_ELAN is not set |
1090 | # CONFIG_USB_APPLEDISPLAY is not set | 1120 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1099,6 +1129,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1099 | # | 1129 | # |
1100 | # OTG and related infrastructure | 1130 | # OTG and related infrastructure |
1101 | # | 1131 | # |
1132 | # CONFIG_NOP_USB_XCEIV is not set | ||
1102 | # CONFIG_UWB is not set | 1133 | # CONFIG_UWB is not set |
1103 | # CONFIG_MMC is not set | 1134 | # CONFIG_MMC is not set |
1104 | # CONFIG_MEMSTICK is not set | 1135 | # CONFIG_MEMSTICK is not set |
@@ -1108,6 +1139,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1108 | # CONFIG_EDAC is not set | 1139 | # CONFIG_EDAC is not set |
1109 | # CONFIG_RTC_CLASS is not set | 1140 | # CONFIG_RTC_CLASS is not set |
1110 | # CONFIG_DMADEVICES is not set | 1141 | # CONFIG_DMADEVICES is not set |
1142 | # CONFIG_AUXDISPLAY is not set | ||
1111 | # CONFIG_UIO is not set | 1143 | # CONFIG_UIO is not set |
1112 | # CONFIG_STAGING is not set | 1144 | # CONFIG_STAGING is not set |
1113 | 1145 | ||
@@ -1118,6 +1150,7 @@ CONFIG_EXT2_FS=y | |||
1118 | # CONFIG_EXT2_FS_XATTR is not set | 1150 | # CONFIG_EXT2_FS_XATTR is not set |
1119 | # CONFIG_EXT2_FS_XIP is not set | 1151 | # CONFIG_EXT2_FS_XIP is not set |
1120 | CONFIG_EXT3_FS=y | 1152 | CONFIG_EXT3_FS=y |
1153 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1121 | CONFIG_EXT3_FS_XATTR=y | 1154 | CONFIG_EXT3_FS_XATTR=y |
1122 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1155 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1123 | # CONFIG_EXT3_FS_SECURITY is not set | 1156 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1140,6 +1173,11 @@ CONFIG_INOTIFY_USER=y | |||
1140 | # CONFIG_FUSE_FS is not set | 1173 | # CONFIG_FUSE_FS is not set |
1141 | 1174 | ||
1142 | # | 1175 | # |
1176 | # Caches | ||
1177 | # | ||
1178 | # CONFIG_FSCACHE is not set | ||
1179 | |||
1180 | # | ||
1143 | # CD-ROM/DVD Filesystems | 1181 | # CD-ROM/DVD Filesystems |
1144 | # | 1182 | # |
1145 | # CONFIG_ISO9660_FS is not set | 1183 | # CONFIG_ISO9660_FS is not set |
@@ -1182,6 +1220,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1182 | # CONFIG_ROMFS_FS is not set | 1220 | # CONFIG_ROMFS_FS is not set |
1183 | # CONFIG_SYSV_FS is not set | 1221 | # CONFIG_SYSV_FS is not set |
1184 | # CONFIG_UFS_FS is not set | 1222 | # CONFIG_UFS_FS is not set |
1223 | # CONFIG_NILFS2_FS is not set | ||
1185 | CONFIG_NETWORK_FILESYSTEMS=y | 1224 | CONFIG_NETWORK_FILESYSTEMS=y |
1186 | CONFIG_NFS_FS=y | 1225 | CONFIG_NFS_FS=y |
1187 | CONFIG_NFS_V3=y | 1226 | CONFIG_NFS_V3=y |
@@ -1194,7 +1233,6 @@ CONFIG_LOCKD_V4=y | |||
1194 | CONFIG_NFS_COMMON=y | 1233 | CONFIG_NFS_COMMON=y |
1195 | CONFIG_SUNRPC=y | 1234 | CONFIG_SUNRPC=y |
1196 | CONFIG_SUNRPC_GSS=y | 1235 | CONFIG_SUNRPC_GSS=y |
1197 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1198 | CONFIG_RPCSEC_GSS_KRB5=y | 1236 | CONFIG_RPCSEC_GSS_KRB5=y |
1199 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1237 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1200 | # CONFIG_SMB_FS is not set | 1238 | # CONFIG_SMB_FS is not set |
@@ -1226,6 +1264,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1226 | # CONFIG_SYSV68_PARTITION is not set | 1264 | # CONFIG_SYSV68_PARTITION is not set |
1227 | # CONFIG_NLS is not set | 1265 | # CONFIG_NLS is not set |
1228 | # CONFIG_DLM is not set | 1266 | # CONFIG_DLM is not set |
1267 | # CONFIG_BINARY_PRINTF is not set | ||
1229 | 1268 | ||
1230 | # | 1269 | # |
1231 | # Library routines | 1270 | # Library routines |
@@ -1239,11 +1278,13 @@ CONFIG_CRC_T10DIF=y | |||
1239 | CONFIG_CRC32=y | 1278 | CONFIG_CRC32=y |
1240 | # CONFIG_CRC7 is not set | 1279 | # CONFIG_CRC7 is not set |
1241 | # CONFIG_LIBCRC32C is not set | 1280 | # CONFIG_LIBCRC32C is not set |
1242 | CONFIG_PLIST=y | 1281 | CONFIG_ZLIB_INFLATE=y |
1282 | CONFIG_DECOMPRESS_GZIP=y | ||
1243 | CONFIG_HAS_IOMEM=y | 1283 | CONFIG_HAS_IOMEM=y |
1244 | CONFIG_HAS_IOPORT=y | 1284 | CONFIG_HAS_IOPORT=y |
1245 | CONFIG_HAS_DMA=y | 1285 | CONFIG_HAS_DMA=y |
1246 | CONFIG_HAVE_LMB=y | 1286 | CONFIG_HAVE_LMB=y |
1287 | CONFIG_NLATTR=y | ||
1247 | 1288 | ||
1248 | # | 1289 | # |
1249 | # Kernel hacking | 1290 | # Kernel hacking |
@@ -1263,13 +1304,24 @@ CONFIG_FRAME_WARN=1024 | |||
1263 | # CONFIG_LATENCYTOP is not set | 1304 | # CONFIG_LATENCYTOP is not set |
1264 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1305 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1265 | CONFIG_HAVE_FUNCTION_TRACER=y | 1306 | CONFIG_HAVE_FUNCTION_TRACER=y |
1307 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1266 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1308 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1267 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1309 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1310 | CONFIG_TRACING_SUPPORT=y | ||
1268 | 1311 | ||
1269 | # | 1312 | # |
1270 | # Tracers | 1313 | # Tracers |
1271 | # | 1314 | # |
1272 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1315 | # CONFIG_FUNCTION_TRACER is not set |
1316 | # CONFIG_SCHED_TRACER is not set | ||
1317 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1318 | # CONFIG_EVENT_TRACER is not set | ||
1319 | # CONFIG_BOOT_TRACER is not set | ||
1320 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1321 | # CONFIG_STACK_TRACER is not set | ||
1322 | # CONFIG_KMEMTRACE is not set | ||
1323 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1324 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1273 | # CONFIG_SAMPLES is not set | 1325 | # CONFIG_SAMPLES is not set |
1274 | CONFIG_HAVE_ARCH_KGDB=y | 1326 | CONFIG_HAVE_ARCH_KGDB=y |
1275 | CONFIG_PRINT_STACK_DEPTH=64 | 1327 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1302,10 +1354,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1302 | CONFIG_CRYPTO_HASH=y | 1354 | CONFIG_CRYPTO_HASH=y |
1303 | CONFIG_CRYPTO_HASH2=y | 1355 | CONFIG_CRYPTO_HASH2=y |
1304 | CONFIG_CRYPTO_RNG2=y | 1356 | CONFIG_CRYPTO_RNG2=y |
1357 | CONFIG_CRYPTO_PCOMP=y | ||
1305 | CONFIG_CRYPTO_MANAGER=y | 1358 | CONFIG_CRYPTO_MANAGER=y |
1306 | CONFIG_CRYPTO_MANAGER2=y | 1359 | CONFIG_CRYPTO_MANAGER2=y |
1307 | # CONFIG_CRYPTO_GF128MUL is not set | 1360 | # CONFIG_CRYPTO_GF128MUL is not set |
1308 | # CONFIG_CRYPTO_NULL is not set | 1361 | # CONFIG_CRYPTO_NULL is not set |
1362 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1309 | # CONFIG_CRYPTO_CRYPTD is not set | 1363 | # CONFIG_CRYPTO_CRYPTD is not set |
1310 | # CONFIG_CRYPTO_AUTHENC is not set | 1364 | # CONFIG_CRYPTO_AUTHENC is not set |
1311 | # CONFIG_CRYPTO_TEST is not set | 1365 | # CONFIG_CRYPTO_TEST is not set |
@@ -1374,6 +1428,7 @@ CONFIG_CRYPTO_DES=y | |||
1374 | # Compression | 1428 | # Compression |
1375 | # | 1429 | # |
1376 | # CONFIG_CRYPTO_DEFLATE is not set | 1430 | # CONFIG_CRYPTO_DEFLATE is not set |
1431 | # CONFIG_CRYPTO_ZLIB is not set | ||
1377 | # CONFIG_CRYPTO_LZO is not set | 1432 | # CONFIG_CRYPTO_LZO is not set |
1378 | 1433 | ||
1379 | # | 1434 | # |
diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig index a0c42fb65cb9..fe08f672cb27 100644 --- a/arch/powerpc/configs/83xx/sbc834x_defconfig +++ b/arch/powerpc/configs/83xx/sbc834x_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:02 2009 | 4 | # Wed May 13 17:22:15 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
56 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 57 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 89 | CONFIG_GROUP_SCHED=y |
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | # CONFIG_KALLSYMS is not set | 109 | # CONFIG_KALLSYMS is not set |
110 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_HOTPLUG=y | 111 | CONFIG_HOTPLUG=y |
96 | CONFIG_PRINTK=y | 112 | CONFIG_PRINTK=y |
97 | CONFIG_BUG=y | 113 | CONFIG_BUG=y |
98 | CONFIG_ELF_CORE=y | 114 | CONFIG_ELF_CORE=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 115 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 116 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | # CONFIG_EPOLL is not set | 117 | # CONFIG_EPOLL is not set |
104 | CONFIG_SIGNALFD=y | 118 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 119 | CONFIG_TIMERFD=y |
@@ -108,16 +122,19 @@ CONFIG_SHMEM=y | |||
108 | CONFIG_AIO=y | 122 | CONFIG_AIO=y |
109 | CONFIG_VM_EVENT_COUNTERS=y | 123 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 124 | CONFIG_PCI_QUIRKS=y |
125 | CONFIG_COMPAT_BRK=y | ||
111 | CONFIG_SLAB=y | 126 | CONFIG_SLAB=y |
112 | # CONFIG_SLUB is not set | 127 | # CONFIG_SLUB is not set |
113 | # CONFIG_SLOB is not set | 128 | # CONFIG_SLOB is not set |
114 | # CONFIG_PROFILING is not set | 129 | # CONFIG_PROFILING is not set |
130 | # CONFIG_MARKERS is not set | ||
115 | CONFIG_HAVE_OPROFILE=y | 131 | CONFIG_HAVE_OPROFILE=y |
116 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 132 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
117 | CONFIG_HAVE_IOREMAP_PROT=y | 133 | CONFIG_HAVE_IOREMAP_PROT=y |
118 | CONFIG_HAVE_KPROBES=y | 134 | CONFIG_HAVE_KPROBES=y |
119 | CONFIG_HAVE_KRETPROBES=y | 135 | CONFIG_HAVE_KRETPROBES=y |
120 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 136 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
137 | # CONFIG_SLOW_WORK is not set | ||
121 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 138 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
122 | CONFIG_SLABINFO=y | 139 | CONFIG_SLABINFO=y |
123 | CONFIG_RT_MUTEXES=y | 140 | CONFIG_RT_MUTEXES=y |
@@ -130,7 +147,6 @@ CONFIG_MODULE_UNLOAD=y | |||
130 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 147 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
131 | CONFIG_BLOCK=y | 148 | CONFIG_BLOCK=y |
132 | # CONFIG_LBD is not set | 149 | # CONFIG_LBD is not set |
133 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
134 | # CONFIG_BLK_DEV_BSG is not set | 150 | # CONFIG_BLK_DEV_BSG is not set |
135 | # CONFIG_BLK_DEV_INTEGRITY is not set | 151 | # CONFIG_BLK_DEV_INTEGRITY is not set |
136 | 152 | ||
@@ -146,18 +162,11 @@ CONFIG_DEFAULT_AS=y | |||
146 | # CONFIG_DEFAULT_CFQ is not set | 162 | # CONFIG_DEFAULT_CFQ is not set |
147 | # CONFIG_DEFAULT_NOOP is not set | 163 | # CONFIG_DEFAULT_NOOP is not set |
148 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 164 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
149 | CONFIG_CLASSIC_RCU=y | ||
150 | # CONFIG_TREE_RCU is not set | ||
151 | # CONFIG_PREEMPT_RCU is not set | ||
152 | # CONFIG_TREE_RCU_TRACE is not set | ||
153 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
154 | # CONFIG_FREEZER is not set | 165 | # CONFIG_FREEZER is not set |
155 | 166 | ||
156 | # | 167 | # |
157 | # Platform support | 168 | # Platform support |
158 | # | 169 | # |
159 | CONFIG_PPC_MULTIPLATFORM=y | ||
160 | CONFIG_CLASSIC32=y | ||
161 | # CONFIG_PPC_CHRP is not set | 170 | # CONFIG_PPC_CHRP is not set |
162 | # CONFIG_MPC5121_ADS is not set | 171 | # CONFIG_MPC5121_ADS is not set |
163 | # CONFIG_MPC5121_GENERIC is not set | 172 | # CONFIG_MPC5121_GENERIC is not set |
@@ -182,6 +191,8 @@ CONFIG_SBC834x=y | |||
182 | CONFIG_PPC_MPC834x=y | 191 | CONFIG_PPC_MPC834x=y |
183 | # CONFIG_PPC_86xx is not set | 192 | # CONFIG_PPC_86xx is not set |
184 | # CONFIG_EMBEDDED6xx is not set | 193 | # CONFIG_EMBEDDED6xx is not set |
194 | # CONFIG_AMIGAONE is not set | ||
195 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
185 | CONFIG_IPIC=y | 196 | CONFIG_IPIC=y |
186 | # CONFIG_MPIC is not set | 197 | # CONFIG_MPIC is not set |
187 | # CONFIG_MPIC_WEIRD is not set | 198 | # CONFIG_MPIC_WEIRD is not set |
@@ -242,9 +253,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
242 | CONFIG_BOUNCE=y | 253 | CONFIG_BOUNCE=y |
243 | CONFIG_VIRT_TO_BUS=y | 254 | CONFIG_VIRT_TO_BUS=y |
244 | CONFIG_UNEVICTABLE_LRU=y | 255 | CONFIG_UNEVICTABLE_LRU=y |
256 | CONFIG_HAVE_MLOCK=y | ||
257 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
245 | CONFIG_PPC_4K_PAGES=y | 258 | CONFIG_PPC_4K_PAGES=y |
246 | # CONFIG_PPC_16K_PAGES is not set | 259 | # CONFIG_PPC_16K_PAGES is not set |
247 | # CONFIG_PPC_64K_PAGES is not set | 260 | # CONFIG_PPC_64K_PAGES is not set |
261 | # CONFIG_PPC_256K_PAGES is not set | ||
248 | CONFIG_FORCE_MAX_ZONEORDER=11 | 262 | CONFIG_FORCE_MAX_ZONEORDER=11 |
249 | CONFIG_PROC_DEVICETREE=y | 263 | CONFIG_PROC_DEVICETREE=y |
250 | # CONFIG_CMDLINE_BOOL is not set | 264 | # CONFIG_CMDLINE_BOOL is not set |
@@ -270,6 +284,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
270 | # CONFIG_PCI_MSI is not set | 284 | # CONFIG_PCI_MSI is not set |
271 | # CONFIG_PCI_LEGACY is not set | 285 | # CONFIG_PCI_LEGACY is not set |
272 | # CONFIG_PCI_STUB is not set | 286 | # CONFIG_PCI_STUB is not set |
287 | # CONFIG_PCI_IOV is not set | ||
273 | # CONFIG_PCCARD is not set | 288 | # CONFIG_PCCARD is not set |
274 | # CONFIG_HOTPLUG_PCI is not set | 289 | # CONFIG_HOTPLUG_PCI is not set |
275 | # CONFIG_HAS_RAPIDIO is not set | 290 | # CONFIG_HAS_RAPIDIO is not set |
@@ -292,7 +307,6 @@ CONFIG_NET=y | |||
292 | # | 307 | # |
293 | # Networking options | 308 | # Networking options |
294 | # | 309 | # |
295 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
296 | CONFIG_PACKET=y | 310 | CONFIG_PACKET=y |
297 | # CONFIG_PACKET_MMAP is not set | 311 | # CONFIG_PACKET_MMAP is not set |
298 | CONFIG_UNIX=y | 312 | CONFIG_UNIX=y |
@@ -348,6 +362,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
348 | # CONFIG_LAPB is not set | 362 | # CONFIG_LAPB is not set |
349 | # CONFIG_ECONET is not set | 363 | # CONFIG_ECONET is not set |
350 | # CONFIG_WAN_ROUTER is not set | 364 | # CONFIG_WAN_ROUTER is not set |
365 | # CONFIG_PHONET is not set | ||
351 | # CONFIG_NET_SCHED is not set | 366 | # CONFIG_NET_SCHED is not set |
352 | # CONFIG_DCB is not set | 367 | # CONFIG_DCB is not set |
353 | 368 | ||
@@ -360,7 +375,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
360 | # CONFIG_IRDA is not set | 375 | # CONFIG_IRDA is not set |
361 | # CONFIG_BT is not set | 376 | # CONFIG_BT is not set |
362 | # CONFIG_AF_RXRPC is not set | 377 | # CONFIG_AF_RXRPC is not set |
363 | # CONFIG_PHONET is not set | ||
364 | CONFIG_WIRELESS=y | 378 | CONFIG_WIRELESS=y |
365 | # CONFIG_CFG80211 is not set | 379 | # CONFIG_CFG80211 is not set |
366 | CONFIG_WIRELESS_OLD_REGULATORY=y | 380 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -408,13 +422,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
408 | # CONFIG_BLK_DEV_HD is not set | 422 | # CONFIG_BLK_DEV_HD is not set |
409 | CONFIG_MISC_DEVICES=y | 423 | CONFIG_MISC_DEVICES=y |
410 | # CONFIG_PHANTOM is not set | 424 | # CONFIG_PHANTOM is not set |
411 | # CONFIG_EEPROM_93CX6 is not set | ||
412 | # CONFIG_SGI_IOC4 is not set | 425 | # CONFIG_SGI_IOC4 is not set |
413 | # CONFIG_TIFM_CORE is not set | 426 | # CONFIG_TIFM_CORE is not set |
414 | # CONFIG_ICS932S401 is not set | 427 | # CONFIG_ICS932S401 is not set |
415 | # CONFIG_ENCLOSURE_SERVICES is not set | 428 | # CONFIG_ENCLOSURE_SERVICES is not set |
416 | # CONFIG_HP_ILO is not set | 429 | # CONFIG_HP_ILO is not set |
430 | # CONFIG_ISL29003 is not set | ||
417 | # CONFIG_C2PORT is not set | 431 | # CONFIG_C2PORT is not set |
432 | |||
433 | # | ||
434 | # EEPROM support | ||
435 | # | ||
436 | # CONFIG_EEPROM_AT24 is not set | ||
437 | # CONFIG_EEPROM_LEGACY is not set | ||
438 | # CONFIG_EEPROM_93CX6 is not set | ||
418 | CONFIG_HAVE_IDE=y | 439 | CONFIG_HAVE_IDE=y |
419 | # CONFIG_IDE is not set | 440 | # CONFIG_IDE is not set |
420 | 441 | ||
@@ -441,6 +462,7 @@ CONFIG_HAVE_IDE=y | |||
441 | # CONFIG_I2O is not set | 462 | # CONFIG_I2O is not set |
442 | # CONFIG_MACINTOSH_DRIVERS is not set | 463 | # CONFIG_MACINTOSH_DRIVERS is not set |
443 | CONFIG_NETDEVICES=y | 464 | CONFIG_NETDEVICES=y |
465 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
444 | # CONFIG_DUMMY is not set | 466 | # CONFIG_DUMMY is not set |
445 | # CONFIG_BONDING is not set | 467 | # CONFIG_BONDING is not set |
446 | # CONFIG_MACVLAN is not set | 468 | # CONFIG_MACVLAN is not set |
@@ -474,6 +496,8 @@ CONFIG_MII=y | |||
474 | # CONFIG_SUNGEM is not set | 496 | # CONFIG_SUNGEM is not set |
475 | # CONFIG_CASSINI is not set | 497 | # CONFIG_CASSINI is not set |
476 | # CONFIG_NET_VENDOR_3COM is not set | 498 | # CONFIG_NET_VENDOR_3COM is not set |
499 | # CONFIG_ETHOC is not set | ||
500 | # CONFIG_DNET is not set | ||
477 | # CONFIG_NET_TULIP is not set | 501 | # CONFIG_NET_TULIP is not set |
478 | # CONFIG_HP100 is not set | 502 | # CONFIG_HP100 is not set |
479 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 503 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -493,6 +517,7 @@ CONFIG_NETDEV_1000=y | |||
493 | # CONFIG_E1000E is not set | 517 | # CONFIG_E1000E is not set |
494 | # CONFIG_IP1000 is not set | 518 | # CONFIG_IP1000 is not set |
495 | # CONFIG_IGB is not set | 519 | # CONFIG_IGB is not set |
520 | # CONFIG_IGBVF is not set | ||
496 | # CONFIG_NS83820 is not set | 521 | # CONFIG_NS83820 is not set |
497 | # CONFIG_HAMACHI is not set | 522 | # CONFIG_HAMACHI is not set |
498 | # CONFIG_YELLOWFIN is not set | 523 | # CONFIG_YELLOWFIN is not set |
@@ -503,11 +528,12 @@ CONFIG_NETDEV_1000=y | |||
503 | # CONFIG_VIA_VELOCITY is not set | 528 | # CONFIG_VIA_VELOCITY is not set |
504 | # CONFIG_TIGON3 is not set | 529 | # CONFIG_TIGON3 is not set |
505 | # CONFIG_BNX2 is not set | 530 | # CONFIG_BNX2 is not set |
531 | CONFIG_FSL_PQ_MDIO=y | ||
506 | CONFIG_GIANFAR=y | 532 | CONFIG_GIANFAR=y |
507 | # CONFIG_MV643XX_ETH is not set | ||
508 | # CONFIG_QLA3XXX is not set | 533 | # CONFIG_QLA3XXX is not set |
509 | # CONFIG_ATL1 is not set | 534 | # CONFIG_ATL1 is not set |
510 | # CONFIG_ATL1E is not set | 535 | # CONFIG_ATL1E is not set |
536 | # CONFIG_ATL1C is not set | ||
511 | # CONFIG_JME is not set | 537 | # CONFIG_JME is not set |
512 | # CONFIG_NETDEV_10000 is not set | 538 | # CONFIG_NETDEV_10000 is not set |
513 | # CONFIG_TR is not set | 539 | # CONFIG_TR is not set |
@@ -517,7 +543,6 @@ CONFIG_GIANFAR=y | |||
517 | # | 543 | # |
518 | # CONFIG_WLAN_PRE80211 is not set | 544 | # CONFIG_WLAN_PRE80211 is not set |
519 | # CONFIG_WLAN_80211 is not set | 545 | # CONFIG_WLAN_80211 is not set |
520 | # CONFIG_IWLWIFI_LEDS is not set | ||
521 | 546 | ||
522 | # | 547 | # |
523 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 548 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -660,12 +685,9 @@ CONFIG_I2C_MPC=y | |||
660 | # Miscellaneous I2C Chip support | 685 | # Miscellaneous I2C Chip support |
661 | # | 686 | # |
662 | # CONFIG_DS1682 is not set | 687 | # CONFIG_DS1682 is not set |
663 | # CONFIG_EEPROM_AT24 is not set | ||
664 | # CONFIG_EEPROM_LEGACY is not set | ||
665 | # CONFIG_SENSORS_PCF8574 is not set | 688 | # CONFIG_SENSORS_PCF8574 is not set |
666 | # CONFIG_PCF8575 is not set | 689 | # CONFIG_PCF8575 is not set |
667 | # CONFIG_SENSORS_PCA9539 is not set | 690 | # CONFIG_SENSORS_PCA9539 is not set |
668 | # CONFIG_SENSORS_PCF8591 is not set | ||
669 | # CONFIG_SENSORS_MAX6875 is not set | 691 | # CONFIG_SENSORS_MAX6875 is not set |
670 | # CONFIG_SENSORS_TSL2550 is not set | 692 | # CONFIG_SENSORS_TSL2550 is not set |
671 | # CONFIG_I2C_DEBUG_CORE is not set | 693 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -697,6 +719,7 @@ CONFIG_HWMON=y | |||
697 | # CONFIG_SENSORS_F71805F is not set | 719 | # CONFIG_SENSORS_F71805F is not set |
698 | # CONFIG_SENSORS_F71882FG is not set | 720 | # CONFIG_SENSORS_F71882FG is not set |
699 | # CONFIG_SENSORS_F75375S is not set | 721 | # CONFIG_SENSORS_F75375S is not set |
722 | # CONFIG_SENSORS_G760A is not set | ||
700 | # CONFIG_SENSORS_GL518SM is not set | 723 | # CONFIG_SENSORS_GL518SM is not set |
701 | # CONFIG_SENSORS_GL520SM is not set | 724 | # CONFIG_SENSORS_GL520SM is not set |
702 | # CONFIG_SENSORS_IT87 is not set | 725 | # CONFIG_SENSORS_IT87 is not set |
@@ -711,11 +734,14 @@ CONFIG_HWMON=y | |||
711 | # CONFIG_SENSORS_LM90 is not set | 734 | # CONFIG_SENSORS_LM90 is not set |
712 | # CONFIG_SENSORS_LM92 is not set | 735 | # CONFIG_SENSORS_LM92 is not set |
713 | # CONFIG_SENSORS_LM93 is not set | 736 | # CONFIG_SENSORS_LM93 is not set |
737 | # CONFIG_SENSORS_LTC4215 is not set | ||
714 | # CONFIG_SENSORS_LTC4245 is not set | 738 | # CONFIG_SENSORS_LTC4245 is not set |
739 | # CONFIG_SENSORS_LM95241 is not set | ||
715 | # CONFIG_SENSORS_MAX1619 is not set | 740 | # CONFIG_SENSORS_MAX1619 is not set |
716 | # CONFIG_SENSORS_MAX6650 is not set | 741 | # CONFIG_SENSORS_MAX6650 is not set |
717 | # CONFIG_SENSORS_PC87360 is not set | 742 | # CONFIG_SENSORS_PC87360 is not set |
718 | # CONFIG_SENSORS_PC87427 is not set | 743 | # CONFIG_SENSORS_PC87427 is not set |
744 | # CONFIG_SENSORS_PCF8591 is not set | ||
719 | # CONFIG_SENSORS_SIS5595 is not set | 745 | # CONFIG_SENSORS_SIS5595 is not set |
720 | # CONFIG_SENSORS_DME1737 is not set | 746 | # CONFIG_SENSORS_DME1737 is not set |
721 | # CONFIG_SENSORS_SMSC47M1 is not set | 747 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -813,7 +839,6 @@ CONFIG_HID=y | |||
813 | # | 839 | # |
814 | # Special HID drivers | 840 | # Special HID drivers |
815 | # | 841 | # |
816 | CONFIG_HID_COMPAT=y | ||
817 | # CONFIG_USB_SUPPORT is not set | 842 | # CONFIG_USB_SUPPORT is not set |
818 | # CONFIG_UWB is not set | 843 | # CONFIG_UWB is not set |
819 | # CONFIG_MMC is not set | 844 | # CONFIG_MMC is not set |
@@ -824,6 +849,7 @@ CONFIG_HID_COMPAT=y | |||
824 | # CONFIG_EDAC is not set | 849 | # CONFIG_EDAC is not set |
825 | # CONFIG_RTC_CLASS is not set | 850 | # CONFIG_RTC_CLASS is not set |
826 | # CONFIG_DMADEVICES is not set | 851 | # CONFIG_DMADEVICES is not set |
852 | # CONFIG_AUXDISPLAY is not set | ||
827 | # CONFIG_UIO is not set | 853 | # CONFIG_UIO is not set |
828 | # CONFIG_STAGING is not set | 854 | # CONFIG_STAGING is not set |
829 | 855 | ||
@@ -849,6 +875,11 @@ CONFIG_INOTIFY_USER=y | |||
849 | # CONFIG_FUSE_FS is not set | 875 | # CONFIG_FUSE_FS is not set |
850 | 876 | ||
851 | # | 877 | # |
878 | # Caches | ||
879 | # | ||
880 | # CONFIG_FSCACHE is not set | ||
881 | |||
882 | # | ||
852 | # CD-ROM/DVD Filesystems | 883 | # CD-ROM/DVD Filesystems |
853 | # | 884 | # |
854 | # CONFIG_ISO9660_FS is not set | 885 | # CONFIG_ISO9660_FS is not set |
@@ -891,6 +922,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
891 | # CONFIG_ROMFS_FS is not set | 922 | # CONFIG_ROMFS_FS is not set |
892 | # CONFIG_SYSV_FS is not set | 923 | # CONFIG_SYSV_FS is not set |
893 | # CONFIG_UFS_FS is not set | 924 | # CONFIG_UFS_FS is not set |
925 | # CONFIG_NILFS2_FS is not set | ||
894 | CONFIG_NETWORK_FILESYSTEMS=y | 926 | CONFIG_NETWORK_FILESYSTEMS=y |
895 | CONFIG_NFS_FS=y | 927 | CONFIG_NFS_FS=y |
896 | CONFIG_NFS_V3=y | 928 | CONFIG_NFS_V3=y |
@@ -903,7 +935,6 @@ CONFIG_LOCKD_V4=y | |||
903 | CONFIG_NFS_COMMON=y | 935 | CONFIG_NFS_COMMON=y |
904 | CONFIG_SUNRPC=y | 936 | CONFIG_SUNRPC=y |
905 | CONFIG_SUNRPC_GSS=y | 937 | CONFIG_SUNRPC_GSS=y |
906 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
907 | CONFIG_RPCSEC_GSS_KRB5=y | 938 | CONFIG_RPCSEC_GSS_KRB5=y |
908 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 939 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
909 | # CONFIG_SMB_FS is not set | 940 | # CONFIG_SMB_FS is not set |
@@ -919,6 +950,7 @@ CONFIG_RPCSEC_GSS_KRB5=y | |||
919 | CONFIG_MSDOS_PARTITION=y | 950 | CONFIG_MSDOS_PARTITION=y |
920 | # CONFIG_NLS is not set | 951 | # CONFIG_NLS is not set |
921 | # CONFIG_DLM is not set | 952 | # CONFIG_DLM is not set |
953 | # CONFIG_BINARY_PRINTF is not set | ||
922 | 954 | ||
923 | # | 955 | # |
924 | # Library routines | 956 | # Library routines |
@@ -932,11 +964,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
932 | CONFIG_CRC32=y | 964 | CONFIG_CRC32=y |
933 | # CONFIG_CRC7 is not set | 965 | # CONFIG_CRC7 is not set |
934 | # CONFIG_LIBCRC32C is not set | 966 | # CONFIG_LIBCRC32C is not set |
935 | CONFIG_PLIST=y | 967 | CONFIG_ZLIB_INFLATE=y |
968 | CONFIG_DECOMPRESS_GZIP=y | ||
936 | CONFIG_HAS_IOMEM=y | 969 | CONFIG_HAS_IOMEM=y |
937 | CONFIG_HAS_IOPORT=y | 970 | CONFIG_HAS_IOPORT=y |
938 | CONFIG_HAS_DMA=y | 971 | CONFIG_HAS_DMA=y |
939 | CONFIG_HAVE_LMB=y | 972 | CONFIG_HAVE_LMB=y |
973 | CONFIG_NLATTR=y | ||
940 | 974 | ||
941 | # | 975 | # |
942 | # Kernel hacking | 976 | # Kernel hacking |
@@ -956,13 +990,24 @@ CONFIG_FRAME_WARN=1024 | |||
956 | # CONFIG_LATENCYTOP is not set | 990 | # CONFIG_LATENCYTOP is not set |
957 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 991 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
958 | CONFIG_HAVE_FUNCTION_TRACER=y | 992 | CONFIG_HAVE_FUNCTION_TRACER=y |
993 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
959 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 994 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
960 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 995 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
996 | CONFIG_TRACING_SUPPORT=y | ||
961 | 997 | ||
962 | # | 998 | # |
963 | # Tracers | 999 | # Tracers |
964 | # | 1000 | # |
965 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1001 | # CONFIG_FUNCTION_TRACER is not set |
1002 | # CONFIG_SCHED_TRACER is not set | ||
1003 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1004 | # CONFIG_EVENT_TRACER is not set | ||
1005 | # CONFIG_BOOT_TRACER is not set | ||
1006 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1007 | # CONFIG_STACK_TRACER is not set | ||
1008 | # CONFIG_KMEMTRACE is not set | ||
1009 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1010 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
966 | # CONFIG_SAMPLES is not set | 1011 | # CONFIG_SAMPLES is not set |
967 | CONFIG_HAVE_ARCH_KGDB=y | 1012 | CONFIG_HAVE_ARCH_KGDB=y |
968 | CONFIG_PRINT_STACK_DEPTH=64 | 1013 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -991,10 +1036,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
991 | CONFIG_CRYPTO_HASH=y | 1036 | CONFIG_CRYPTO_HASH=y |
992 | CONFIG_CRYPTO_HASH2=y | 1037 | CONFIG_CRYPTO_HASH2=y |
993 | CONFIG_CRYPTO_RNG2=y | 1038 | CONFIG_CRYPTO_RNG2=y |
1039 | CONFIG_CRYPTO_PCOMP=y | ||
994 | CONFIG_CRYPTO_MANAGER=y | 1040 | CONFIG_CRYPTO_MANAGER=y |
995 | CONFIG_CRYPTO_MANAGER2=y | 1041 | CONFIG_CRYPTO_MANAGER2=y |
996 | # CONFIG_CRYPTO_GF128MUL is not set | 1042 | # CONFIG_CRYPTO_GF128MUL is not set |
997 | # CONFIG_CRYPTO_NULL is not set | 1043 | # CONFIG_CRYPTO_NULL is not set |
1044 | CONFIG_CRYPTO_WORKQUEUE=y | ||
998 | # CONFIG_CRYPTO_CRYPTD is not set | 1045 | # CONFIG_CRYPTO_CRYPTD is not set |
999 | # CONFIG_CRYPTO_AUTHENC is not set | 1046 | # CONFIG_CRYPTO_AUTHENC is not set |
1000 | # CONFIG_CRYPTO_TEST is not set | 1047 | # CONFIG_CRYPTO_TEST is not set |
@@ -1063,6 +1110,7 @@ CONFIG_CRYPTO_DES=y | |||
1063 | # Compression | 1110 | # Compression |
1064 | # | 1111 | # |
1065 | # CONFIG_CRYPTO_DEFLATE is not set | 1112 | # CONFIG_CRYPTO_DEFLATE is not set |
1113 | # CONFIG_CRYPTO_ZLIB is not set | ||
1066 | # CONFIG_CRYPTO_LZO is not set | 1114 | # CONFIG_CRYPTO_LZO is not set |
1067 | 1115 | ||
1068 | # | 1116 | # |
diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig index 6479bb9f3f57..09146ddaa3ca 100644 --- a/arch/powerpc/configs/85xx/ksi8560_defconfig +++ b/arch/powerpc/configs/85xx/ksi8560_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:03 2009 | 4 | # Wed May 13 17:22:16 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y | |||
59 | CONFIG_DEFAULT_UIMAGE=y | 60 | CONFIG_DEFAULT_UIMAGE=y |
60 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
61 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
63 | 65 | ||
64 | # | 66 | # |
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
76 | # CONFIG_BSD_PROCESS_ACCT is not set | 78 | # CONFIG_BSD_PROCESS_ACCT is not set |
77 | # CONFIG_TASKSTATS is not set | 79 | # CONFIG_TASKSTATS is not set |
78 | # CONFIG_AUDIT is not set | 80 | # CONFIG_AUDIT is not set |
81 | |||
82 | # | ||
83 | # RCU Subsystem | ||
84 | # | ||
85 | CONFIG_CLASSIC_RCU=y | ||
86 | # CONFIG_TREE_RCU is not set | ||
87 | # CONFIG_PREEMPT_RCU is not set | ||
88 | # CONFIG_TREE_RCU_TRACE is not set | ||
89 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | # CONFIG_IKCONFIG is not set | 90 | # CONFIG_IKCONFIG is not set |
80 | CONFIG_LOG_BUF_SHIFT=14 | 91 | CONFIG_LOG_BUF_SHIFT=14 |
81 | # CONFIG_GROUP_SCHED is not set | 92 | # CONFIG_GROUP_SCHED is not set |
@@ -86,21 +97,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
86 | # CONFIG_NAMESPACES is not set | 97 | # CONFIG_NAMESPACES is not set |
87 | CONFIG_BLK_DEV_INITRD=y | 98 | CONFIG_BLK_DEV_INITRD=y |
88 | CONFIG_INITRAMFS_SOURCE="" | 99 | CONFIG_INITRAMFS_SOURCE="" |
100 | CONFIG_RD_GZIP=y | ||
101 | # CONFIG_RD_BZIP2 is not set | ||
102 | # CONFIG_RD_LZMA is not set | ||
89 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 103 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
90 | CONFIG_SYSCTL=y | 104 | CONFIG_SYSCTL=y |
105 | CONFIG_ANON_INODES=y | ||
91 | CONFIG_EMBEDDED=y | 106 | CONFIG_EMBEDDED=y |
92 | CONFIG_SYSCTL_SYSCALL=y | 107 | CONFIG_SYSCTL_SYSCALL=y |
93 | CONFIG_KALLSYMS=y | 108 | CONFIG_KALLSYMS=y |
94 | # CONFIG_KALLSYMS_ALL is not set | 109 | # CONFIG_KALLSYMS_ALL is not set |
95 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 110 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
111 | # CONFIG_STRIP_ASM_SYMS is not set | ||
96 | CONFIG_HOTPLUG=y | 112 | CONFIG_HOTPLUG=y |
97 | CONFIG_PRINTK=y | 113 | CONFIG_PRINTK=y |
98 | CONFIG_BUG=y | 114 | CONFIG_BUG=y |
99 | CONFIG_ELF_CORE=y | 115 | CONFIG_ELF_CORE=y |
100 | CONFIG_COMPAT_BRK=y | ||
101 | CONFIG_BASE_FULL=y | 116 | CONFIG_BASE_FULL=y |
102 | CONFIG_FUTEX=y | 117 | CONFIG_FUTEX=y |
103 | CONFIG_ANON_INODES=y | ||
104 | CONFIG_EPOLL=y | 118 | CONFIG_EPOLL=y |
105 | CONFIG_SIGNALFD=y | 119 | CONFIG_SIGNALFD=y |
106 | CONFIG_TIMERFD=y | 120 | CONFIG_TIMERFD=y |
@@ -109,10 +123,12 @@ CONFIG_SHMEM=y | |||
109 | CONFIG_AIO=y | 123 | CONFIG_AIO=y |
110 | CONFIG_VM_EVENT_COUNTERS=y | 124 | CONFIG_VM_EVENT_COUNTERS=y |
111 | CONFIG_SLUB_DEBUG=y | 125 | CONFIG_SLUB_DEBUG=y |
126 | CONFIG_COMPAT_BRK=y | ||
112 | # CONFIG_SLAB is not set | 127 | # CONFIG_SLAB is not set |
113 | CONFIG_SLUB=y | 128 | CONFIG_SLUB=y |
114 | # CONFIG_SLOB is not set | 129 | # CONFIG_SLOB is not set |
115 | # CONFIG_PROFILING is not set | 130 | # CONFIG_PROFILING is not set |
131 | # CONFIG_MARKERS is not set | ||
116 | CONFIG_HAVE_OPROFILE=y | 132 | CONFIG_HAVE_OPROFILE=y |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
118 | CONFIG_HAVE_IOREMAP_PROT=y | 134 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -120,6 +136,7 @@ CONFIG_HAVE_KPROBES=y | |||
120 | CONFIG_HAVE_KRETPROBES=y | 136 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 137 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | CONFIG_HAVE_CLK=y | 138 | CONFIG_HAVE_CLK=y |
139 | # CONFIG_SLOW_WORK is not set | ||
123 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 140 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
124 | CONFIG_SLABINFO=y | 141 | CONFIG_SLABINFO=y |
125 | CONFIG_RT_MUTEXES=y | 142 | CONFIG_RT_MUTEXES=y |
@@ -127,7 +144,6 @@ CONFIG_BASE_SMALL=0 | |||
127 | # CONFIG_MODULES is not set | 144 | # CONFIG_MODULES is not set |
128 | CONFIG_BLOCK=y | 145 | CONFIG_BLOCK=y |
129 | # CONFIG_LBD is not set | 146 | # CONFIG_LBD is not set |
130 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
131 | # CONFIG_BLK_DEV_BSG is not set | 147 | # CONFIG_BLK_DEV_BSG is not set |
132 | # CONFIG_BLK_DEV_INTEGRITY is not set | 148 | # CONFIG_BLK_DEV_INTEGRITY is not set |
133 | 149 | ||
@@ -143,11 +159,6 @@ CONFIG_DEFAULT_AS=y | |||
143 | # CONFIG_DEFAULT_CFQ is not set | 159 | # CONFIG_DEFAULT_CFQ is not set |
144 | # CONFIG_DEFAULT_NOOP is not set | 160 | # CONFIG_DEFAULT_NOOP is not set |
145 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 161 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
146 | CONFIG_CLASSIC_RCU=y | ||
147 | # CONFIG_TREE_RCU is not set | ||
148 | # CONFIG_PREEMPT_RCU is not set | ||
149 | # CONFIG_TREE_RCU_TRACE is not set | ||
150 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
151 | # CONFIG_FREEZER is not set | 162 | # CONFIG_FREEZER is not set |
152 | 163 | ||
153 | # | 164 | # |
@@ -163,6 +174,7 @@ CONFIG_MPC85xx=y | |||
163 | # CONFIG_MPC85xx_MDS is not set | 174 | # CONFIG_MPC85xx_MDS is not set |
164 | # CONFIG_MPC8536_DS is not set | 175 | # CONFIG_MPC8536_DS is not set |
165 | # CONFIG_MPC85xx_DS is not set | 176 | # CONFIG_MPC85xx_DS is not set |
177 | # CONFIG_SOCRATES is not set | ||
166 | CONFIG_KSI8560=y | 178 | CONFIG_KSI8560=y |
167 | # CONFIG_STX_GP3 is not set | 179 | # CONFIG_STX_GP3 is not set |
168 | # CONFIG_TQM8540 is not set | 180 | # CONFIG_TQM8540 is not set |
@@ -231,9 +243,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
231 | CONFIG_BOUNCE=y | 243 | CONFIG_BOUNCE=y |
232 | CONFIG_VIRT_TO_BUS=y | 244 | CONFIG_VIRT_TO_BUS=y |
233 | CONFIG_UNEVICTABLE_LRU=y | 245 | CONFIG_UNEVICTABLE_LRU=y |
246 | CONFIG_HAVE_MLOCK=y | ||
247 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | CONFIG_PPC_4K_PAGES=y | 248 | CONFIG_PPC_4K_PAGES=y |
235 | # CONFIG_PPC_16K_PAGES is not set | 249 | # CONFIG_PPC_16K_PAGES is not set |
236 | # CONFIG_PPC_64K_PAGES is not set | 250 | # CONFIG_PPC_64K_PAGES is not set |
251 | # CONFIG_PPC_256K_PAGES is not set | ||
237 | CONFIG_FORCE_MAX_ZONEORDER=11 | 252 | CONFIG_FORCE_MAX_ZONEORDER=11 |
238 | # CONFIG_PROC_DEVICETREE is not set | 253 | # CONFIG_PROC_DEVICETREE is not set |
239 | # CONFIG_CMDLINE_BOOL is not set | 254 | # CONFIG_CMDLINE_BOOL is not set |
@@ -264,17 +279,17 @@ CONFIG_PPC_PCI_CHOICE=y | |||
264 | # Default settings for advanced configuration options are used | 279 | # Default settings for advanced configuration options are used |
265 | # | 280 | # |
266 | CONFIG_LOWMEM_SIZE=0x30000000 | 281 | CONFIG_LOWMEM_SIZE=0x30000000 |
282 | CONFIG_LOWMEM_CAM_NUM=3 | ||
267 | CONFIG_PAGE_OFFSET=0xc0000000 | 283 | CONFIG_PAGE_OFFSET=0xc0000000 |
268 | CONFIG_KERNEL_START=0xc0000000 | 284 | CONFIG_KERNEL_START=0xc0000000 |
269 | CONFIG_PHYSICAL_START=0x00000000 | 285 | CONFIG_PHYSICAL_START=0x00000000 |
270 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 286 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
271 | CONFIG_TASK_SIZE=0xc0000000 | 287 | CONFIG_TASK_SIZE=0xc0000000 |
272 | CONFIG_NET=y | 288 | CONFIG_NET=y |
273 | 289 | ||
274 | # | 290 | # |
275 | # Networking options | 291 | # Networking options |
276 | # | 292 | # |
277 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
278 | CONFIG_PACKET=y | 293 | CONFIG_PACKET=y |
279 | # CONFIG_PACKET_MMAP is not set | 294 | # CONFIG_PACKET_MMAP is not set |
280 | CONFIG_UNIX=y | 295 | CONFIG_UNIX=y |
@@ -330,6 +345,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
330 | # CONFIG_LAPB is not set | 345 | # CONFIG_LAPB is not set |
331 | # CONFIG_ECONET is not set | 346 | # CONFIG_ECONET is not set |
332 | # CONFIG_WAN_ROUTER is not set | 347 | # CONFIG_WAN_ROUTER is not set |
348 | # CONFIG_PHONET is not set | ||
333 | # CONFIG_NET_SCHED is not set | 349 | # CONFIG_NET_SCHED is not set |
334 | # CONFIG_DCB is not set | 350 | # CONFIG_DCB is not set |
335 | 351 | ||
@@ -342,7 +358,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
342 | # CONFIG_IRDA is not set | 358 | # CONFIG_IRDA is not set |
343 | # CONFIG_BT is not set | 359 | # CONFIG_BT is not set |
344 | # CONFIG_AF_RXRPC is not set | 360 | # CONFIG_AF_RXRPC is not set |
345 | # CONFIG_PHONET is not set | ||
346 | CONFIG_WIRELESS=y | 361 | CONFIG_WIRELESS=y |
347 | # CONFIG_CFG80211 is not set | 362 | # CONFIG_CFG80211 is not set |
348 | CONFIG_WIRELESS_OLD_REGULATORY=y | 363 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -444,7 +459,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
444 | # LPDDR flash memory drivers | 459 | # LPDDR flash memory drivers |
445 | # | 460 | # |
446 | # CONFIG_MTD_LPDDR is not set | 461 | # CONFIG_MTD_LPDDR is not set |
447 | # CONFIG_MTD_QINFO_PROBE is not set | ||
448 | 462 | ||
449 | # | 463 | # |
450 | # UBI - Unsorted block images | 464 | # UBI - Unsorted block images |
@@ -467,9 +481,13 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
467 | # CONFIG_ATA_OVER_ETH is not set | 481 | # CONFIG_ATA_OVER_ETH is not set |
468 | # CONFIG_BLK_DEV_HD is not set | 482 | # CONFIG_BLK_DEV_HD is not set |
469 | CONFIG_MISC_DEVICES=y | 483 | CONFIG_MISC_DEVICES=y |
470 | # CONFIG_EEPROM_93CX6 is not set | ||
471 | # CONFIG_ENCLOSURE_SERVICES is not set | 484 | # CONFIG_ENCLOSURE_SERVICES is not set |
472 | # CONFIG_C2PORT is not set | 485 | # CONFIG_C2PORT is not set |
486 | |||
487 | # | ||
488 | # EEPROM support | ||
489 | # | ||
490 | # CONFIG_EEPROM_93CX6 is not set | ||
473 | CONFIG_HAVE_IDE=y | 491 | CONFIG_HAVE_IDE=y |
474 | CONFIG_IDE=y | 492 | CONFIG_IDE=y |
475 | 493 | ||
@@ -502,6 +520,7 @@ CONFIG_IDE_PROC_FS=y | |||
502 | # CONFIG_MD is not set | 520 | # CONFIG_MD is not set |
503 | # CONFIG_MACINTOSH_DRIVERS is not set | 521 | # CONFIG_MACINTOSH_DRIVERS is not set |
504 | CONFIG_NETDEVICES=y | 522 | CONFIG_NETDEVICES=y |
523 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
505 | # CONFIG_DUMMY is not set | 524 | # CONFIG_DUMMY is not set |
506 | # CONFIG_BONDING is not set | 525 | # CONFIG_BONDING is not set |
507 | # CONFIG_MACVLAN is not set | 526 | # CONFIG_MACVLAN is not set |
@@ -531,6 +550,8 @@ CONFIG_MDIO_BITBANG=y | |||
531 | # CONFIG_MDIO_GPIO is not set | 550 | # CONFIG_MDIO_GPIO is not set |
532 | CONFIG_NET_ETHERNET=y | 551 | CONFIG_NET_ETHERNET=y |
533 | CONFIG_MII=y | 552 | CONFIG_MII=y |
553 | # CONFIG_ETHOC is not set | ||
554 | # CONFIG_DNET is not set | ||
534 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 555 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
535 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 556 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
536 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 557 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -544,6 +565,7 @@ CONFIG_FS_ENET=y | |||
544 | CONFIG_FS_ENET_HAS_FCC=y | 565 | CONFIG_FS_ENET_HAS_FCC=y |
545 | CONFIG_FS_ENET_MDIO_FCC=y | 566 | CONFIG_FS_ENET_MDIO_FCC=y |
546 | CONFIG_NETDEV_1000=y | 567 | CONFIG_NETDEV_1000=y |
568 | CONFIG_FSL_PQ_MDIO=y | ||
547 | CONFIG_GIANFAR=y | 569 | CONFIG_GIANFAR=y |
548 | CONFIG_NETDEV_10000=y | 570 | CONFIG_NETDEV_10000=y |
549 | 571 | ||
@@ -552,7 +574,6 @@ CONFIG_NETDEV_10000=y | |||
552 | # | 574 | # |
553 | # CONFIG_WLAN_PRE80211 is not set | 575 | # CONFIG_WLAN_PRE80211 is not set |
554 | # CONFIG_WLAN_80211 is not set | 576 | # CONFIG_WLAN_80211 is not set |
555 | # CONFIG_IWLWIFI_LEDS is not set | ||
556 | 577 | ||
557 | # | 578 | # |
558 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 579 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -624,6 +645,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
624 | # CONFIG_HVC_UDBG is not set | 645 | # CONFIG_HVC_UDBG is not set |
625 | # CONFIG_IPMI_HANDLER is not set | 646 | # CONFIG_IPMI_HANDLER is not set |
626 | CONFIG_HW_RANDOM=y | 647 | CONFIG_HW_RANDOM=y |
648 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
627 | # CONFIG_NVRAM is not set | 649 | # CONFIG_NVRAM is not set |
628 | CONFIG_GEN_RTC=y | 650 | CONFIG_GEN_RTC=y |
629 | # CONFIG_GEN_RTC_X is not set | 651 | # CONFIG_GEN_RTC_X is not set |
@@ -663,6 +685,7 @@ CONFIG_HWMON=y | |||
663 | # CONFIG_SENSORS_IT87 is not set | 685 | # CONFIG_SENSORS_IT87 is not set |
664 | # CONFIG_SENSORS_PC87360 is not set | 686 | # CONFIG_SENSORS_PC87360 is not set |
665 | # CONFIG_SENSORS_PC87427 is not set | 687 | # CONFIG_SENSORS_PC87427 is not set |
688 | # CONFIG_SENSORS_SHT15 is not set | ||
666 | # CONFIG_SENSORS_SMSC47M1 is not set | 689 | # CONFIG_SENSORS_SMSC47M1 is not set |
667 | # CONFIG_SENSORS_SMSC47B397 is not set | 690 | # CONFIG_SENSORS_SMSC47B397 is not set |
668 | # CONFIG_SENSORS_VT1211 is not set | 691 | # CONFIG_SENSORS_VT1211 is not set |
@@ -726,7 +749,6 @@ CONFIG_HID=y | |||
726 | # | 749 | # |
727 | # Special HID drivers | 750 | # Special HID drivers |
728 | # | 751 | # |
729 | CONFIG_HID_COMPAT=y | ||
730 | CONFIG_USB_SUPPORT=y | 752 | CONFIG_USB_SUPPORT=y |
731 | # CONFIG_USB_ARCH_HAS_HCD is not set | 753 | # CONFIG_USB_ARCH_HAS_HCD is not set |
732 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 754 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
@@ -739,7 +761,7 @@ CONFIG_USB_SUPPORT=y | |||
739 | # | 761 | # |
740 | 762 | ||
741 | # | 763 | # |
742 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 764 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
743 | # | 765 | # |
744 | # CONFIG_USB_GADGET is not set | 766 | # CONFIG_USB_GADGET is not set |
745 | 767 | ||
@@ -753,6 +775,7 @@ CONFIG_USB_SUPPORT=y | |||
753 | # CONFIG_EDAC is not set | 775 | # CONFIG_EDAC is not set |
754 | # CONFIG_RTC_CLASS is not set | 776 | # CONFIG_RTC_CLASS is not set |
755 | # CONFIG_DMADEVICES is not set | 777 | # CONFIG_DMADEVICES is not set |
778 | # CONFIG_AUXDISPLAY is not set | ||
756 | # CONFIG_UIO is not set | 779 | # CONFIG_UIO is not set |
757 | # CONFIG_STAGING is not set | 780 | # CONFIG_STAGING is not set |
758 | 781 | ||
@@ -763,6 +786,7 @@ CONFIG_EXT2_FS=y | |||
763 | # CONFIG_EXT2_FS_XATTR is not set | 786 | # CONFIG_EXT2_FS_XATTR is not set |
764 | # CONFIG_EXT2_FS_XIP is not set | 787 | # CONFIG_EXT2_FS_XIP is not set |
765 | CONFIG_EXT3_FS=y | 788 | CONFIG_EXT3_FS=y |
789 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
766 | CONFIG_EXT3_FS_XATTR=y | 790 | CONFIG_EXT3_FS_XATTR=y |
767 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 791 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
768 | # CONFIG_EXT3_FS_SECURITY is not set | 792 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -786,6 +810,11 @@ CONFIG_INOTIFY_USER=y | |||
786 | # CONFIG_FUSE_FS is not set | 810 | # CONFIG_FUSE_FS is not set |
787 | 811 | ||
788 | # | 812 | # |
813 | # Caches | ||
814 | # | ||
815 | # CONFIG_FSCACHE is not set | ||
816 | |||
817 | # | ||
789 | # CD-ROM/DVD Filesystems | 818 | # CD-ROM/DVD Filesystems |
790 | # | 819 | # |
791 | # CONFIG_ISO9660_FS is not set | 820 | # CONFIG_ISO9660_FS is not set |
@@ -829,6 +858,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
829 | # CONFIG_ROMFS_FS is not set | 858 | # CONFIG_ROMFS_FS is not set |
830 | # CONFIG_SYSV_FS is not set | 859 | # CONFIG_SYSV_FS is not set |
831 | # CONFIG_UFS_FS is not set | 860 | # CONFIG_UFS_FS is not set |
861 | # CONFIG_NILFS2_FS is not set | ||
832 | CONFIG_NETWORK_FILESYSTEMS=y | 862 | CONFIG_NETWORK_FILESYSTEMS=y |
833 | CONFIG_NFS_FS=y | 863 | CONFIG_NFS_FS=y |
834 | # CONFIG_NFS_V3 is not set | 864 | # CONFIG_NFS_V3 is not set |
@@ -838,7 +868,6 @@ CONFIG_ROOT_NFS=y | |||
838 | CONFIG_LOCKD=y | 868 | CONFIG_LOCKD=y |
839 | CONFIG_NFS_COMMON=y | 869 | CONFIG_NFS_COMMON=y |
840 | CONFIG_SUNRPC=y | 870 | CONFIG_SUNRPC=y |
841 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
842 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 871 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
843 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 872 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
844 | # CONFIG_SMB_FS is not set | 873 | # CONFIG_SMB_FS is not set |
@@ -866,6 +895,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
866 | # CONFIG_SYSV68_PARTITION is not set | 895 | # CONFIG_SYSV68_PARTITION is not set |
867 | # CONFIG_NLS is not set | 896 | # CONFIG_NLS is not set |
868 | # CONFIG_DLM is not set | 897 | # CONFIG_DLM is not set |
898 | # CONFIG_BINARY_PRINTF is not set | ||
869 | 899 | ||
870 | # | 900 | # |
871 | # Library routines | 901 | # Library routines |
@@ -879,11 +909,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
879 | CONFIG_CRC32=y | 909 | CONFIG_CRC32=y |
880 | # CONFIG_CRC7 is not set | 910 | # CONFIG_CRC7 is not set |
881 | # CONFIG_LIBCRC32C is not set | 911 | # CONFIG_LIBCRC32C is not set |
882 | CONFIG_PLIST=y | 912 | CONFIG_ZLIB_INFLATE=y |
913 | CONFIG_DECOMPRESS_GZIP=y | ||
883 | CONFIG_HAS_IOMEM=y | 914 | CONFIG_HAS_IOMEM=y |
884 | CONFIG_HAS_IOPORT=y | 915 | CONFIG_HAS_IOPORT=y |
885 | CONFIG_HAS_DMA=y | 916 | CONFIG_HAS_DMA=y |
886 | CONFIG_HAVE_LMB=y | 917 | CONFIG_HAVE_LMB=y |
918 | CONFIG_NLATTR=y | ||
887 | 919 | ||
888 | # | 920 | # |
889 | # Kernel hacking | 921 | # Kernel hacking |
@@ -901,6 +933,9 @@ CONFIG_DEBUG_KERNEL=y | |||
901 | CONFIG_DETECT_SOFTLOCKUP=y | 933 | CONFIG_DETECT_SOFTLOCKUP=y |
902 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 934 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
903 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 935 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
936 | CONFIG_DETECT_HUNG_TASK=y | ||
937 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
938 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
904 | CONFIG_SCHED_DEBUG=y | 939 | CONFIG_SCHED_DEBUG=y |
905 | # CONFIG_SCHEDSTATS is not set | 940 | # CONFIG_SCHEDSTATS is not set |
906 | # CONFIG_TIMER_STATS is not set | 941 | # CONFIG_TIMER_STATS is not set |
@@ -931,9 +966,12 @@ CONFIG_DEBUG_MUTEXES=y | |||
931 | # CONFIG_FAULT_INJECTION is not set | 966 | # CONFIG_FAULT_INJECTION is not set |
932 | # CONFIG_LATENCYTOP is not set | 967 | # CONFIG_LATENCYTOP is not set |
933 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 968 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
969 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
934 | CONFIG_HAVE_FUNCTION_TRACER=y | 970 | CONFIG_HAVE_FUNCTION_TRACER=y |
971 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
935 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 972 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
936 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 973 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
974 | CONFIG_TRACING_SUPPORT=y | ||
937 | 975 | ||
938 | # | 976 | # |
939 | # Tracers | 977 | # Tracers |
@@ -941,17 +979,20 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
941 | # CONFIG_FUNCTION_TRACER is not set | 979 | # CONFIG_FUNCTION_TRACER is not set |
942 | # CONFIG_SCHED_TRACER is not set | 980 | # CONFIG_SCHED_TRACER is not set |
943 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 981 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
982 | # CONFIG_EVENT_TRACER is not set | ||
944 | # CONFIG_BOOT_TRACER is not set | 983 | # CONFIG_BOOT_TRACER is not set |
945 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 984 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
946 | # CONFIG_STACK_TRACER is not set | 985 | # CONFIG_STACK_TRACER is not set |
947 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 986 | # CONFIG_KMEMTRACE is not set |
987 | # CONFIG_WORKQUEUE_TRACER is not set | ||
988 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
989 | # CONFIG_DYNAMIC_DEBUG is not set | ||
948 | # CONFIG_SAMPLES is not set | 990 | # CONFIG_SAMPLES is not set |
949 | CONFIG_HAVE_ARCH_KGDB=y | 991 | CONFIG_HAVE_ARCH_KGDB=y |
950 | # CONFIG_KGDB is not set | 992 | # CONFIG_KGDB is not set |
951 | CONFIG_PRINT_STACK_DEPTH=64 | 993 | CONFIG_PRINT_STACK_DEPTH=64 |
952 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 994 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
953 | # CONFIG_DEBUG_STACK_USAGE is not set | 995 | # CONFIG_DEBUG_STACK_USAGE is not set |
954 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
955 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 996 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
956 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 997 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
957 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 998 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1045,6 +1086,7 @@ CONFIG_CRYPTO=y | |||
1045 | # Compression | 1086 | # Compression |
1046 | # | 1087 | # |
1047 | # CONFIG_CRYPTO_DEFLATE is not set | 1088 | # CONFIG_CRYPTO_DEFLATE is not set |
1089 | # CONFIG_CRYPTO_ZLIB is not set | ||
1048 | # CONFIG_CRYPTO_LZO is not set | 1090 | # CONFIG_CRYPTO_LZO is not set |
1049 | 1091 | ||
1050 | # | 1092 | # |
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig index 905e8a3388d6..7b43be7586b6 100644 --- a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig +++ b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:05 2009 | 4 | # Wed May 13 17:22:17 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
58 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 77 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 79 | # CONFIG_AUDIT is not set |
80 | |||
81 | # | ||
82 | # RCU Subsystem | ||
83 | # | ||
84 | CONFIG_CLASSIC_RCU=y | ||
85 | # CONFIG_TREE_RCU is not set | ||
86 | # CONFIG_PREEMPT_RCU is not set | ||
87 | # CONFIG_TREE_RCU_TRACE is not set | ||
88 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | # CONFIG_IKCONFIG is not set | 89 | # CONFIG_IKCONFIG is not set |
79 | CONFIG_LOG_BUF_SHIFT=14 | 90 | CONFIG_LOG_BUF_SHIFT=14 |
80 | CONFIG_GROUP_SCHED=y | 91 | CONFIG_GROUP_SCHED=y |
@@ -89,21 +100,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
89 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
90 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
91 | CONFIG_INITRAMFS_SOURCE="" | 102 | CONFIG_INITRAMFS_SOURCE="" |
103 | CONFIG_RD_GZIP=y | ||
104 | # CONFIG_RD_BZIP2 is not set | ||
105 | # CONFIG_RD_LZMA is not set | ||
92 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 106 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
93 | CONFIG_SYSCTL=y | 107 | CONFIG_SYSCTL=y |
108 | CONFIG_ANON_INODES=y | ||
94 | CONFIG_EMBEDDED=y | 109 | CONFIG_EMBEDDED=y |
95 | CONFIG_SYSCTL_SYSCALL=y | 110 | CONFIG_SYSCTL_SYSCALL=y |
96 | CONFIG_KALLSYMS=y | 111 | CONFIG_KALLSYMS=y |
97 | # CONFIG_KALLSYMS_ALL is not set | 112 | # CONFIG_KALLSYMS_ALL is not set |
98 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 113 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
114 | # CONFIG_STRIP_ASM_SYMS is not set | ||
99 | CONFIG_HOTPLUG=y | 115 | CONFIG_HOTPLUG=y |
100 | CONFIG_PRINTK=y | 116 | CONFIG_PRINTK=y |
101 | CONFIG_BUG=y | 117 | CONFIG_BUG=y |
102 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
103 | CONFIG_COMPAT_BRK=y | ||
104 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
105 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
106 | CONFIG_ANON_INODES=y | ||
107 | CONFIG_EPOLL=y | 121 | CONFIG_EPOLL=y |
108 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
109 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
@@ -112,16 +126,19 @@ CONFIG_SHMEM=y | |||
112 | CONFIG_AIO=y | 126 | CONFIG_AIO=y |
113 | CONFIG_VM_EVENT_COUNTERS=y | 127 | CONFIG_VM_EVENT_COUNTERS=y |
114 | CONFIG_SLUB_DEBUG=y | 128 | CONFIG_SLUB_DEBUG=y |
129 | CONFIG_COMPAT_BRK=y | ||
115 | # CONFIG_SLAB is not set | 130 | # CONFIG_SLAB is not set |
116 | CONFIG_SLUB=y | 131 | CONFIG_SLUB=y |
117 | # CONFIG_SLOB is not set | 132 | # CONFIG_SLOB is not set |
118 | # CONFIG_PROFILING is not set | 133 | # CONFIG_PROFILING is not set |
134 | # CONFIG_MARKERS is not set | ||
119 | CONFIG_HAVE_OPROFILE=y | 135 | CONFIG_HAVE_OPROFILE=y |
120 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 136 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
121 | CONFIG_HAVE_IOREMAP_PROT=y | 137 | CONFIG_HAVE_IOREMAP_PROT=y |
122 | CONFIG_HAVE_KPROBES=y | 138 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 139 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 140 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
141 | # CONFIG_SLOW_WORK is not set | ||
125 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 142 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
126 | CONFIG_SLABINFO=y | 143 | CONFIG_SLABINFO=y |
127 | CONFIG_RT_MUTEXES=y | 144 | CONFIG_RT_MUTEXES=y |
@@ -129,7 +146,6 @@ CONFIG_BASE_SMALL=0 | |||
129 | # CONFIG_MODULES is not set | 146 | # CONFIG_MODULES is not set |
130 | CONFIG_BLOCK=y | 147 | CONFIG_BLOCK=y |
131 | # CONFIG_LBD is not set | 148 | # CONFIG_LBD is not set |
132 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
133 | # CONFIG_BLK_DEV_BSG is not set | 149 | # CONFIG_BLK_DEV_BSG is not set |
134 | # CONFIG_BLK_DEV_INTEGRITY is not set | 150 | # CONFIG_BLK_DEV_INTEGRITY is not set |
135 | 151 | ||
@@ -145,11 +161,6 @@ CONFIG_DEFAULT_AS=y | |||
145 | # CONFIG_DEFAULT_CFQ is not set | 161 | # CONFIG_DEFAULT_CFQ is not set |
146 | # CONFIG_DEFAULT_NOOP is not set | 162 | # CONFIG_DEFAULT_NOOP is not set |
147 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 163 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
148 | CONFIG_CLASSIC_RCU=y | ||
149 | # CONFIG_TREE_RCU is not set | ||
150 | # CONFIG_PREEMPT_RCU is not set | ||
151 | # CONFIG_TREE_RCU_TRACE is not set | ||
152 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
153 | # CONFIG_FREEZER is not set | 164 | # CONFIG_FREEZER is not set |
154 | 165 | ||
155 | # | 166 | # |
@@ -165,6 +176,7 @@ CONFIG_MPC8540_ADS=y | |||
165 | # CONFIG_MPC85xx_MDS is not set | 176 | # CONFIG_MPC85xx_MDS is not set |
166 | # CONFIG_MPC8536_DS is not set | 177 | # CONFIG_MPC8536_DS is not set |
167 | # CONFIG_MPC85xx_DS is not set | 178 | # CONFIG_MPC85xx_DS is not set |
179 | # CONFIG_SOCRATES is not set | ||
168 | # CONFIG_KSI8560 is not set | 180 | # CONFIG_KSI8560 is not set |
169 | # CONFIG_STX_GP3 is not set | 181 | # CONFIG_STX_GP3 is not set |
170 | # CONFIG_TQM8540 is not set | 182 | # CONFIG_TQM8540 is not set |
@@ -233,9 +245,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
233 | CONFIG_BOUNCE=y | 245 | CONFIG_BOUNCE=y |
234 | CONFIG_VIRT_TO_BUS=y | 246 | CONFIG_VIRT_TO_BUS=y |
235 | CONFIG_UNEVICTABLE_LRU=y | 247 | CONFIG_UNEVICTABLE_LRU=y |
248 | CONFIG_HAVE_MLOCK=y | ||
249 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
236 | CONFIG_PPC_4K_PAGES=y | 250 | CONFIG_PPC_4K_PAGES=y |
237 | # CONFIG_PPC_16K_PAGES is not set | 251 | # CONFIG_PPC_16K_PAGES is not set |
238 | # CONFIG_PPC_64K_PAGES is not set | 252 | # CONFIG_PPC_64K_PAGES is not set |
253 | # CONFIG_PPC_256K_PAGES is not set | ||
239 | CONFIG_FORCE_MAX_ZONEORDER=11 | 254 | CONFIG_FORCE_MAX_ZONEORDER=11 |
240 | CONFIG_PROC_DEVICETREE=y | 255 | CONFIG_PROC_DEVICETREE=y |
241 | # CONFIG_CMDLINE_BOOL is not set | 256 | # CONFIG_CMDLINE_BOOL is not set |
@@ -266,17 +281,17 @@ CONFIG_PPC_PCI_CHOICE=y | |||
266 | # Default settings for advanced configuration options are used | 281 | # Default settings for advanced configuration options are used |
267 | # | 282 | # |
268 | CONFIG_LOWMEM_SIZE=0x30000000 | 283 | CONFIG_LOWMEM_SIZE=0x30000000 |
284 | CONFIG_LOWMEM_CAM_NUM=3 | ||
269 | CONFIG_PAGE_OFFSET=0xc0000000 | 285 | CONFIG_PAGE_OFFSET=0xc0000000 |
270 | CONFIG_KERNEL_START=0xc0000000 | 286 | CONFIG_KERNEL_START=0xc0000000 |
271 | CONFIG_PHYSICAL_START=0x00000000 | 287 | CONFIG_PHYSICAL_START=0x00000000 |
272 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 288 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
273 | CONFIG_TASK_SIZE=0xc0000000 | 289 | CONFIG_TASK_SIZE=0xc0000000 |
274 | CONFIG_NET=y | 290 | CONFIG_NET=y |
275 | 291 | ||
276 | # | 292 | # |
277 | # Networking options | 293 | # Networking options |
278 | # | 294 | # |
279 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
280 | CONFIG_PACKET=y | 295 | CONFIG_PACKET=y |
281 | # CONFIG_PACKET_MMAP is not set | 296 | # CONFIG_PACKET_MMAP is not set |
282 | CONFIG_UNIX=y | 297 | CONFIG_UNIX=y |
@@ -332,6 +347,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
332 | # CONFIG_LAPB is not set | 347 | # CONFIG_LAPB is not set |
333 | # CONFIG_ECONET is not set | 348 | # CONFIG_ECONET is not set |
334 | # CONFIG_WAN_ROUTER is not set | 349 | # CONFIG_WAN_ROUTER is not set |
350 | # CONFIG_PHONET is not set | ||
335 | # CONFIG_NET_SCHED is not set | 351 | # CONFIG_NET_SCHED is not set |
336 | # CONFIG_DCB is not set | 352 | # CONFIG_DCB is not set |
337 | 353 | ||
@@ -344,7 +360,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
344 | # CONFIG_IRDA is not set | 360 | # CONFIG_IRDA is not set |
345 | # CONFIG_BT is not set | 361 | # CONFIG_BT is not set |
346 | # CONFIG_AF_RXRPC is not set | 362 | # CONFIG_AF_RXRPC is not set |
347 | # CONFIG_PHONET is not set | ||
348 | CONFIG_WIRELESS=y | 363 | CONFIG_WIRELESS=y |
349 | # CONFIG_CFG80211 is not set | 364 | # CONFIG_CFG80211 is not set |
350 | CONFIG_WIRELESS_OLD_REGULATORY=y | 365 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -387,9 +402,13 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
387 | # CONFIG_ATA_OVER_ETH is not set | 402 | # CONFIG_ATA_OVER_ETH is not set |
388 | # CONFIG_BLK_DEV_HD is not set | 403 | # CONFIG_BLK_DEV_HD is not set |
389 | CONFIG_MISC_DEVICES=y | 404 | CONFIG_MISC_DEVICES=y |
390 | # CONFIG_EEPROM_93CX6 is not set | ||
391 | # CONFIG_ENCLOSURE_SERVICES is not set | 405 | # CONFIG_ENCLOSURE_SERVICES is not set |
392 | # CONFIG_C2PORT is not set | 406 | # CONFIG_C2PORT is not set |
407 | |||
408 | # | ||
409 | # EEPROM support | ||
410 | # | ||
411 | # CONFIG_EEPROM_93CX6 is not set | ||
393 | CONFIG_HAVE_IDE=y | 412 | CONFIG_HAVE_IDE=y |
394 | # CONFIG_IDE is not set | 413 | # CONFIG_IDE is not set |
395 | 414 | ||
@@ -404,6 +423,7 @@ CONFIG_HAVE_IDE=y | |||
404 | # CONFIG_MD is not set | 423 | # CONFIG_MD is not set |
405 | # CONFIG_MACINTOSH_DRIVERS is not set | 424 | # CONFIG_MACINTOSH_DRIVERS is not set |
406 | CONFIG_NETDEVICES=y | 425 | CONFIG_NETDEVICES=y |
426 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
407 | # CONFIG_DUMMY is not set | 427 | # CONFIG_DUMMY is not set |
408 | # CONFIG_BONDING is not set | 428 | # CONFIG_BONDING is not set |
409 | # CONFIG_MACVLAN is not set | 429 | # CONFIG_MACVLAN is not set |
@@ -432,6 +452,8 @@ CONFIG_PHYLIB=y | |||
432 | # CONFIG_MDIO_BITBANG is not set | 452 | # CONFIG_MDIO_BITBANG is not set |
433 | CONFIG_NET_ETHERNET=y | 453 | CONFIG_NET_ETHERNET=y |
434 | CONFIG_MII=y | 454 | CONFIG_MII=y |
455 | # CONFIG_ETHOC is not set | ||
456 | # CONFIG_DNET is not set | ||
435 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 457 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
436 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 458 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
437 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 459 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -441,6 +463,7 @@ CONFIG_MII=y | |||
441 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 463 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
442 | # CONFIG_B44 is not set | 464 | # CONFIG_B44 is not set |
443 | CONFIG_NETDEV_1000=y | 465 | CONFIG_NETDEV_1000=y |
466 | CONFIG_FSL_PQ_MDIO=y | ||
444 | CONFIG_GIANFAR=y | 467 | CONFIG_GIANFAR=y |
445 | CONFIG_NETDEV_10000=y | 468 | CONFIG_NETDEV_10000=y |
446 | 469 | ||
@@ -449,7 +472,6 @@ CONFIG_NETDEV_10000=y | |||
449 | # | 472 | # |
450 | # CONFIG_WLAN_PRE80211 is not set | 473 | # CONFIG_WLAN_PRE80211 is not set |
451 | # CONFIG_WLAN_80211 is not set | 474 | # CONFIG_WLAN_80211 is not set |
452 | # CONFIG_IWLWIFI_LEDS is not set | ||
453 | 475 | ||
454 | # | 476 | # |
455 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 477 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -607,7 +629,6 @@ CONFIG_HID=y | |||
607 | # | 629 | # |
608 | # Special HID drivers | 630 | # Special HID drivers |
609 | # | 631 | # |
610 | CONFIG_HID_COMPAT=y | ||
611 | CONFIG_USB_SUPPORT=y | 632 | CONFIG_USB_SUPPORT=y |
612 | # CONFIG_USB_ARCH_HAS_HCD is not set | 633 | # CONFIG_USB_ARCH_HAS_HCD is not set |
613 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 634 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
@@ -620,7 +641,7 @@ CONFIG_USB_SUPPORT=y | |||
620 | # | 641 | # |
621 | 642 | ||
622 | # | 643 | # |
623 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 644 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
624 | # | 645 | # |
625 | # CONFIG_USB_GADGET is not set | 646 | # CONFIG_USB_GADGET is not set |
626 | 647 | ||
@@ -634,6 +655,7 @@ CONFIG_USB_SUPPORT=y | |||
634 | # CONFIG_EDAC is not set | 655 | # CONFIG_EDAC is not set |
635 | # CONFIG_RTC_CLASS is not set | 656 | # CONFIG_RTC_CLASS is not set |
636 | # CONFIG_DMADEVICES is not set | 657 | # CONFIG_DMADEVICES is not set |
658 | # CONFIG_AUXDISPLAY is not set | ||
637 | # CONFIG_UIO is not set | 659 | # CONFIG_UIO is not set |
638 | # CONFIG_STAGING is not set | 660 | # CONFIG_STAGING is not set |
639 | 661 | ||
@@ -644,6 +666,7 @@ CONFIG_EXT2_FS=y | |||
644 | # CONFIG_EXT2_FS_XATTR is not set | 666 | # CONFIG_EXT2_FS_XATTR is not set |
645 | # CONFIG_EXT2_FS_XIP is not set | 667 | # CONFIG_EXT2_FS_XIP is not set |
646 | CONFIG_EXT3_FS=y | 668 | CONFIG_EXT3_FS=y |
669 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
647 | CONFIG_EXT3_FS_XATTR=y | 670 | CONFIG_EXT3_FS_XATTR=y |
648 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 671 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
649 | # CONFIG_EXT3_FS_SECURITY is not set | 672 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -666,6 +689,11 @@ CONFIG_INOTIFY_USER=y | |||
666 | # CONFIG_FUSE_FS is not set | 689 | # CONFIG_FUSE_FS is not set |
667 | 690 | ||
668 | # | 691 | # |
692 | # Caches | ||
693 | # | ||
694 | # CONFIG_FSCACHE is not set | ||
695 | |||
696 | # | ||
669 | # CD-ROM/DVD Filesystems | 697 | # CD-ROM/DVD Filesystems |
670 | # | 698 | # |
671 | # CONFIG_ISO9660_FS is not set | 699 | # CONFIG_ISO9660_FS is not set |
@@ -708,6 +736,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
708 | # CONFIG_ROMFS_FS is not set | 736 | # CONFIG_ROMFS_FS is not set |
709 | # CONFIG_SYSV_FS is not set | 737 | # CONFIG_SYSV_FS is not set |
710 | # CONFIG_UFS_FS is not set | 738 | # CONFIG_UFS_FS is not set |
739 | # CONFIG_NILFS2_FS is not set | ||
711 | CONFIG_NETWORK_FILESYSTEMS=y | 740 | CONFIG_NETWORK_FILESYSTEMS=y |
712 | CONFIG_NFS_FS=y | 741 | CONFIG_NFS_FS=y |
713 | # CONFIG_NFS_V3 is not set | 742 | # CONFIG_NFS_V3 is not set |
@@ -717,7 +746,6 @@ CONFIG_ROOT_NFS=y | |||
717 | CONFIG_LOCKD=y | 746 | CONFIG_LOCKD=y |
718 | CONFIG_NFS_COMMON=y | 747 | CONFIG_NFS_COMMON=y |
719 | CONFIG_SUNRPC=y | 748 | CONFIG_SUNRPC=y |
720 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
721 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 749 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
722 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 750 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
723 | # CONFIG_SMB_FS is not set | 751 | # CONFIG_SMB_FS is not set |
@@ -745,6 +773,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
745 | # CONFIG_SYSV68_PARTITION is not set | 773 | # CONFIG_SYSV68_PARTITION is not set |
746 | # CONFIG_NLS is not set | 774 | # CONFIG_NLS is not set |
747 | # CONFIG_DLM is not set | 775 | # CONFIG_DLM is not set |
776 | # CONFIG_BINARY_PRINTF is not set | ||
748 | 777 | ||
749 | # | 778 | # |
750 | # Library routines | 779 | # Library routines |
@@ -758,11 +787,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
758 | CONFIG_CRC32=y | 787 | CONFIG_CRC32=y |
759 | # CONFIG_CRC7 is not set | 788 | # CONFIG_CRC7 is not set |
760 | # CONFIG_LIBCRC32C is not set | 789 | # CONFIG_LIBCRC32C is not set |
761 | CONFIG_PLIST=y | 790 | CONFIG_ZLIB_INFLATE=y |
791 | CONFIG_DECOMPRESS_GZIP=y | ||
762 | CONFIG_HAS_IOMEM=y | 792 | CONFIG_HAS_IOMEM=y |
763 | CONFIG_HAS_IOPORT=y | 793 | CONFIG_HAS_IOPORT=y |
764 | CONFIG_HAS_DMA=y | 794 | CONFIG_HAS_DMA=y |
765 | CONFIG_HAVE_LMB=y | 795 | CONFIG_HAVE_LMB=y |
796 | CONFIG_NLATTR=y | ||
766 | 797 | ||
767 | # | 798 | # |
768 | # Kernel hacking | 799 | # Kernel hacking |
@@ -780,6 +811,9 @@ CONFIG_DEBUG_KERNEL=y | |||
780 | CONFIG_DETECT_SOFTLOCKUP=y | 811 | CONFIG_DETECT_SOFTLOCKUP=y |
781 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 812 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
782 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 813 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
814 | CONFIG_DETECT_HUNG_TASK=y | ||
815 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
816 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
783 | CONFIG_SCHED_DEBUG=y | 817 | CONFIG_SCHED_DEBUG=y |
784 | # CONFIG_SCHEDSTATS is not set | 818 | # CONFIG_SCHEDSTATS is not set |
785 | # CONFIG_TIMER_STATS is not set | 819 | # CONFIG_TIMER_STATS is not set |
@@ -809,9 +843,12 @@ CONFIG_DEBUG_MUTEXES=y | |||
809 | # CONFIG_FAULT_INJECTION is not set | 843 | # CONFIG_FAULT_INJECTION is not set |
810 | # CONFIG_LATENCYTOP is not set | 844 | # CONFIG_LATENCYTOP is not set |
811 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 845 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
846 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
812 | CONFIG_HAVE_FUNCTION_TRACER=y | 847 | CONFIG_HAVE_FUNCTION_TRACER=y |
848 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
813 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 849 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
814 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 850 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
851 | CONFIG_TRACING_SUPPORT=y | ||
815 | 852 | ||
816 | # | 853 | # |
817 | # Tracers | 854 | # Tracers |
@@ -819,17 +856,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
819 | # CONFIG_FUNCTION_TRACER is not set | 856 | # CONFIG_FUNCTION_TRACER is not set |
820 | # CONFIG_SCHED_TRACER is not set | 857 | # CONFIG_SCHED_TRACER is not set |
821 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 858 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
859 | # CONFIG_EVENT_TRACER is not set | ||
822 | # CONFIG_BOOT_TRACER is not set | 860 | # CONFIG_BOOT_TRACER is not set |
823 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 861 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
824 | # CONFIG_STACK_TRACER is not set | 862 | # CONFIG_STACK_TRACER is not set |
825 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 863 | # CONFIG_KMEMTRACE is not set |
864 | # CONFIG_WORKQUEUE_TRACER is not set | ||
865 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
826 | # CONFIG_SAMPLES is not set | 866 | # CONFIG_SAMPLES is not set |
827 | CONFIG_HAVE_ARCH_KGDB=y | 867 | CONFIG_HAVE_ARCH_KGDB=y |
828 | # CONFIG_KGDB is not set | 868 | # CONFIG_KGDB is not set |
829 | CONFIG_PRINT_STACK_DEPTH=64 | 869 | CONFIG_PRINT_STACK_DEPTH=64 |
830 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 870 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
831 | # CONFIG_DEBUG_STACK_USAGE is not set | 871 | # CONFIG_DEBUG_STACK_USAGE is not set |
832 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
833 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 872 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
834 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 873 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
835 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 874 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -922,6 +961,7 @@ CONFIG_CRYPTO=y | |||
922 | # Compression | 961 | # Compression |
923 | # | 962 | # |
924 | # CONFIG_CRYPTO_DEFLATE is not set | 963 | # CONFIG_CRYPTO_DEFLATE is not set |
964 | # CONFIG_CRYPTO_ZLIB is not set | ||
925 | # CONFIG_CRYPTO_LZO is not set | 965 | # CONFIG_CRYPTO_LZO is not set |
926 | 966 | ||
927 | # | 967 | # |
diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig index 095e2ded6e8b..62adb71a5d4f 100644 --- a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig +++ b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:09 2009 | 4 | # Wed May 13 17:22:17 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y | |||
59 | CONFIG_DEFAULT_UIMAGE=y | 60 | CONFIG_DEFAULT_UIMAGE=y |
60 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
61 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
63 | 65 | ||
64 | # | 66 | # |
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
76 | # CONFIG_BSD_PROCESS_ACCT is not set | 78 | # CONFIG_BSD_PROCESS_ACCT is not set |
77 | # CONFIG_TASKSTATS is not set | 79 | # CONFIG_TASKSTATS is not set |
78 | # CONFIG_AUDIT is not set | 80 | # CONFIG_AUDIT is not set |
81 | |||
82 | # | ||
83 | # RCU Subsystem | ||
84 | # | ||
85 | CONFIG_CLASSIC_RCU=y | ||
86 | # CONFIG_TREE_RCU is not set | ||
87 | # CONFIG_PREEMPT_RCU is not set | ||
88 | # CONFIG_TREE_RCU_TRACE is not set | ||
89 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | # CONFIG_IKCONFIG is not set | 90 | # CONFIG_IKCONFIG is not set |
80 | CONFIG_LOG_BUF_SHIFT=14 | 91 | CONFIG_LOG_BUF_SHIFT=14 |
81 | CONFIG_GROUP_SCHED=y | 92 | CONFIG_GROUP_SCHED=y |
@@ -90,21 +101,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
90 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
91 | CONFIG_BLK_DEV_INITRD=y | 102 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 103 | CONFIG_INITRAMFS_SOURCE="" |
104 | CONFIG_RD_GZIP=y | ||
105 | # CONFIG_RD_BZIP2 is not set | ||
106 | # CONFIG_RD_LZMA is not set | ||
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 107 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
94 | CONFIG_SYSCTL=y | 108 | CONFIG_SYSCTL=y |
109 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EMBEDDED=y | 110 | CONFIG_EMBEDDED=y |
96 | CONFIG_SYSCTL_SYSCALL=y | 111 | CONFIG_SYSCTL_SYSCALL=y |
97 | CONFIG_KALLSYMS=y | 112 | CONFIG_KALLSYMS=y |
98 | # CONFIG_KALLSYMS_ALL is not set | 113 | # CONFIG_KALLSYMS_ALL is not set |
99 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 114 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
115 | # CONFIG_STRIP_ASM_SYMS is not set | ||
100 | CONFIG_HOTPLUG=y | 116 | CONFIG_HOTPLUG=y |
101 | CONFIG_PRINTK=y | 117 | CONFIG_PRINTK=y |
102 | CONFIG_BUG=y | 118 | CONFIG_BUG=y |
103 | CONFIG_ELF_CORE=y | 119 | CONFIG_ELF_CORE=y |
104 | CONFIG_COMPAT_BRK=y | ||
105 | CONFIG_BASE_FULL=y | 120 | CONFIG_BASE_FULL=y |
106 | CONFIG_FUTEX=y | 121 | CONFIG_FUTEX=y |
107 | CONFIG_ANON_INODES=y | ||
108 | CONFIG_EPOLL=y | 122 | CONFIG_EPOLL=y |
109 | CONFIG_SIGNALFD=y | 123 | CONFIG_SIGNALFD=y |
110 | CONFIG_TIMERFD=y | 124 | CONFIG_TIMERFD=y |
@@ -114,10 +128,12 @@ CONFIG_AIO=y | |||
114 | CONFIG_VM_EVENT_COUNTERS=y | 128 | CONFIG_VM_EVENT_COUNTERS=y |
115 | CONFIG_PCI_QUIRKS=y | 129 | CONFIG_PCI_QUIRKS=y |
116 | CONFIG_SLUB_DEBUG=y | 130 | CONFIG_SLUB_DEBUG=y |
131 | CONFIG_COMPAT_BRK=y | ||
117 | # CONFIG_SLAB is not set | 132 | # CONFIG_SLAB is not set |
118 | CONFIG_SLUB=y | 133 | CONFIG_SLUB=y |
119 | # CONFIG_SLOB is not set | 134 | # CONFIG_SLOB is not set |
120 | # CONFIG_PROFILING is not set | 135 | # CONFIG_PROFILING is not set |
136 | # CONFIG_MARKERS is not set | ||
121 | CONFIG_HAVE_OPROFILE=y | 137 | CONFIG_HAVE_OPROFILE=y |
122 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 138 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
123 | CONFIG_HAVE_IOREMAP_PROT=y | 139 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -125,6 +141,7 @@ CONFIG_HAVE_KPROBES=y | |||
125 | CONFIG_HAVE_KRETPROBES=y | 141 | CONFIG_HAVE_KRETPROBES=y |
126 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 142 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
127 | CONFIG_HAVE_CLK=y | 143 | CONFIG_HAVE_CLK=y |
144 | # CONFIG_SLOW_WORK is not set | ||
128 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 145 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
129 | CONFIG_SLABINFO=y | 146 | CONFIG_SLABINFO=y |
130 | CONFIG_RT_MUTEXES=y | 147 | CONFIG_RT_MUTEXES=y |
@@ -132,7 +149,6 @@ CONFIG_BASE_SMALL=0 | |||
132 | # CONFIG_MODULES is not set | 149 | # CONFIG_MODULES is not set |
133 | CONFIG_BLOCK=y | 150 | CONFIG_BLOCK=y |
134 | # CONFIG_LBD is not set | 151 | # CONFIG_LBD is not set |
135 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
136 | # CONFIG_BLK_DEV_BSG is not set | 152 | # CONFIG_BLK_DEV_BSG is not set |
137 | # CONFIG_BLK_DEV_INTEGRITY is not set | 153 | # CONFIG_BLK_DEV_INTEGRITY is not set |
138 | 154 | ||
@@ -148,11 +164,6 @@ CONFIG_DEFAULT_AS=y | |||
148 | # CONFIG_DEFAULT_CFQ is not set | 164 | # CONFIG_DEFAULT_CFQ is not set |
149 | # CONFIG_DEFAULT_NOOP is not set | 165 | # CONFIG_DEFAULT_NOOP is not set |
150 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 166 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
151 | CONFIG_CLASSIC_RCU=y | ||
152 | # CONFIG_TREE_RCU is not set | ||
153 | # CONFIG_PREEMPT_RCU is not set | ||
154 | # CONFIG_TREE_RCU_TRACE is not set | ||
155 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
156 | # CONFIG_FREEZER is not set | 167 | # CONFIG_FREEZER is not set |
157 | 168 | ||
158 | # | 169 | # |
@@ -168,6 +179,7 @@ CONFIG_MPC8560_ADS=y | |||
168 | # CONFIG_MPC85xx_MDS is not set | 179 | # CONFIG_MPC85xx_MDS is not set |
169 | # CONFIG_MPC8536_DS is not set | 180 | # CONFIG_MPC8536_DS is not set |
170 | # CONFIG_MPC85xx_DS is not set | 181 | # CONFIG_MPC85xx_DS is not set |
182 | # CONFIG_SOCRATES is not set | ||
171 | # CONFIG_KSI8560 is not set | 183 | # CONFIG_KSI8560 is not set |
172 | # CONFIG_STX_GP3 is not set | 184 | # CONFIG_STX_GP3 is not set |
173 | # CONFIG_TQM8540 is not set | 185 | # CONFIG_TQM8540 is not set |
@@ -236,9 +248,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
236 | CONFIG_BOUNCE=y | 248 | CONFIG_BOUNCE=y |
237 | CONFIG_VIRT_TO_BUS=y | 249 | CONFIG_VIRT_TO_BUS=y |
238 | CONFIG_UNEVICTABLE_LRU=y | 250 | CONFIG_UNEVICTABLE_LRU=y |
251 | CONFIG_HAVE_MLOCK=y | ||
252 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
239 | CONFIG_PPC_4K_PAGES=y | 253 | CONFIG_PPC_4K_PAGES=y |
240 | # CONFIG_PPC_16K_PAGES is not set | 254 | # CONFIG_PPC_16K_PAGES is not set |
241 | # CONFIG_PPC_64K_PAGES is not set | 255 | # CONFIG_PPC_64K_PAGES is not set |
256 | # CONFIG_PPC_256K_PAGES is not set | ||
242 | CONFIG_FORCE_MAX_ZONEORDER=11 | 257 | CONFIG_FORCE_MAX_ZONEORDER=11 |
243 | # CONFIG_PROC_DEVICETREE is not set | 258 | # CONFIG_PROC_DEVICETREE is not set |
244 | # CONFIG_CMDLINE_BOOL is not set | 259 | # CONFIG_CMDLINE_BOOL is not set |
@@ -264,6 +279,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
264 | # CONFIG_PCI_LEGACY is not set | 279 | # CONFIG_PCI_LEGACY is not set |
265 | CONFIG_PCI_DEBUG=y | 280 | CONFIG_PCI_DEBUG=y |
266 | # CONFIG_PCI_STUB is not set | 281 | # CONFIG_PCI_STUB is not set |
282 | # CONFIG_PCI_IOV is not set | ||
267 | # CONFIG_PCCARD is not set | 283 | # CONFIG_PCCARD is not set |
268 | # CONFIG_HOTPLUG_PCI is not set | 284 | # CONFIG_HOTPLUG_PCI is not set |
269 | # CONFIG_HAS_RAPIDIO is not set | 285 | # CONFIG_HAS_RAPIDIO is not set |
@@ -277,17 +293,17 @@ CONFIG_PCI_DEBUG=y | |||
277 | # Default settings for advanced configuration options are used | 293 | # Default settings for advanced configuration options are used |
278 | # | 294 | # |
279 | CONFIG_LOWMEM_SIZE=0x30000000 | 295 | CONFIG_LOWMEM_SIZE=0x30000000 |
296 | CONFIG_LOWMEM_CAM_NUM=3 | ||
280 | CONFIG_PAGE_OFFSET=0xc0000000 | 297 | CONFIG_PAGE_OFFSET=0xc0000000 |
281 | CONFIG_KERNEL_START=0xc0000000 | 298 | CONFIG_KERNEL_START=0xc0000000 |
282 | CONFIG_PHYSICAL_START=0x00000000 | 299 | CONFIG_PHYSICAL_START=0x00000000 |
283 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 300 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
284 | CONFIG_TASK_SIZE=0xc0000000 | 301 | CONFIG_TASK_SIZE=0xc0000000 |
285 | CONFIG_NET=y | 302 | CONFIG_NET=y |
286 | 303 | ||
287 | # | 304 | # |
288 | # Networking options | 305 | # Networking options |
289 | # | 306 | # |
290 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
291 | CONFIG_PACKET=y | 307 | CONFIG_PACKET=y |
292 | # CONFIG_PACKET_MMAP is not set | 308 | # CONFIG_PACKET_MMAP is not set |
293 | CONFIG_UNIX=y | 309 | CONFIG_UNIX=y |
@@ -343,6 +359,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
343 | # CONFIG_LAPB is not set | 359 | # CONFIG_LAPB is not set |
344 | # CONFIG_ECONET is not set | 360 | # CONFIG_ECONET is not set |
345 | # CONFIG_WAN_ROUTER is not set | 361 | # CONFIG_WAN_ROUTER is not set |
362 | # CONFIG_PHONET is not set | ||
346 | # CONFIG_NET_SCHED is not set | 363 | # CONFIG_NET_SCHED is not set |
347 | # CONFIG_DCB is not set | 364 | # CONFIG_DCB is not set |
348 | 365 | ||
@@ -355,7 +372,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
355 | # CONFIG_IRDA is not set | 372 | # CONFIG_IRDA is not set |
356 | # CONFIG_BT is not set | 373 | # CONFIG_BT is not set |
357 | # CONFIG_AF_RXRPC is not set | 374 | # CONFIG_AF_RXRPC is not set |
358 | # CONFIG_PHONET is not set | ||
359 | CONFIG_WIRELESS=y | 375 | CONFIG_WIRELESS=y |
360 | # CONFIG_CFG80211 is not set | 376 | # CONFIG_CFG80211 is not set |
361 | CONFIG_WIRELESS_OLD_REGULATORY=y | 377 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -405,12 +421,16 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
405 | # CONFIG_BLK_DEV_HD is not set | 421 | # CONFIG_BLK_DEV_HD is not set |
406 | CONFIG_MISC_DEVICES=y | 422 | CONFIG_MISC_DEVICES=y |
407 | # CONFIG_PHANTOM is not set | 423 | # CONFIG_PHANTOM is not set |
408 | # CONFIG_EEPROM_93CX6 is not set | ||
409 | # CONFIG_SGI_IOC4 is not set | 424 | # CONFIG_SGI_IOC4 is not set |
410 | # CONFIG_TIFM_CORE is not set | 425 | # CONFIG_TIFM_CORE is not set |
411 | # CONFIG_ENCLOSURE_SERVICES is not set | 426 | # CONFIG_ENCLOSURE_SERVICES is not set |
412 | # CONFIG_HP_ILO is not set | 427 | # CONFIG_HP_ILO is not set |
413 | # CONFIG_C2PORT is not set | 428 | # CONFIG_C2PORT is not set |
429 | |||
430 | # | ||
431 | # EEPROM support | ||
432 | # | ||
433 | # CONFIG_EEPROM_93CX6 is not set | ||
414 | CONFIG_HAVE_IDE=y | 434 | CONFIG_HAVE_IDE=y |
415 | # CONFIG_IDE is not set | 435 | # CONFIG_IDE is not set |
416 | 436 | ||
@@ -437,6 +457,7 @@ CONFIG_HAVE_IDE=y | |||
437 | # CONFIG_I2O is not set | 457 | # CONFIG_I2O is not set |
438 | # CONFIG_MACINTOSH_DRIVERS is not set | 458 | # CONFIG_MACINTOSH_DRIVERS is not set |
439 | CONFIG_NETDEVICES=y | 459 | CONFIG_NETDEVICES=y |
460 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
440 | # CONFIG_DUMMY is not set | 461 | # CONFIG_DUMMY is not set |
441 | # CONFIG_BONDING is not set | 462 | # CONFIG_BONDING is not set |
442 | # CONFIG_MACVLAN is not set | 463 | # CONFIG_MACVLAN is not set |
@@ -470,6 +491,8 @@ CONFIG_MII=y | |||
470 | # CONFIG_SUNGEM is not set | 491 | # CONFIG_SUNGEM is not set |
471 | # CONFIG_CASSINI is not set | 492 | # CONFIG_CASSINI is not set |
472 | # CONFIG_NET_VENDOR_3COM is not set | 493 | # CONFIG_NET_VENDOR_3COM is not set |
494 | # CONFIG_ETHOC is not set | ||
495 | # CONFIG_DNET is not set | ||
473 | # CONFIG_NET_TULIP is not set | 496 | # CONFIG_NET_TULIP is not set |
474 | # CONFIG_HP100 is not set | 497 | # CONFIG_HP100 is not set |
475 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 498 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -493,6 +516,7 @@ CONFIG_E1000=y | |||
493 | # CONFIG_E1000E is not set | 516 | # CONFIG_E1000E is not set |
494 | # CONFIG_IP1000 is not set | 517 | # CONFIG_IP1000 is not set |
495 | # CONFIG_IGB is not set | 518 | # CONFIG_IGB is not set |
519 | # CONFIG_IGBVF is not set | ||
496 | # CONFIG_NS83820 is not set | 520 | # CONFIG_NS83820 is not set |
497 | # CONFIG_HAMACHI is not set | 521 | # CONFIG_HAMACHI is not set |
498 | # CONFIG_YELLOWFIN is not set | 522 | # CONFIG_YELLOWFIN is not set |
@@ -503,10 +527,12 @@ CONFIG_E1000=y | |||
503 | # CONFIG_VIA_VELOCITY is not set | 527 | # CONFIG_VIA_VELOCITY is not set |
504 | # CONFIG_TIGON3 is not set | 528 | # CONFIG_TIGON3 is not set |
505 | # CONFIG_BNX2 is not set | 529 | # CONFIG_BNX2 is not set |
530 | CONFIG_FSL_PQ_MDIO=y | ||
506 | CONFIG_GIANFAR=y | 531 | CONFIG_GIANFAR=y |
507 | # CONFIG_QLA3XXX is not set | 532 | # CONFIG_QLA3XXX is not set |
508 | # CONFIG_ATL1 is not set | 533 | # CONFIG_ATL1 is not set |
509 | # CONFIG_ATL1E is not set | 534 | # CONFIG_ATL1E is not set |
535 | # CONFIG_ATL1C is not set | ||
510 | # CONFIG_JME is not set | 536 | # CONFIG_JME is not set |
511 | CONFIG_NETDEV_10000=y | 537 | CONFIG_NETDEV_10000=y |
512 | # CONFIG_CHELSIO_T1 is not set | 538 | # CONFIG_CHELSIO_T1 is not set |
@@ -516,6 +542,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
516 | # CONFIG_IXGBE is not set | 542 | # CONFIG_IXGBE is not set |
517 | # CONFIG_IXGB is not set | 543 | # CONFIG_IXGB is not set |
518 | # CONFIG_S2IO is not set | 544 | # CONFIG_S2IO is not set |
545 | # CONFIG_VXGE is not set | ||
519 | # CONFIG_MYRI10GE is not set | 546 | # CONFIG_MYRI10GE is not set |
520 | # CONFIG_NETXEN_NIC is not set | 547 | # CONFIG_NETXEN_NIC is not set |
521 | # CONFIG_NIU is not set | 548 | # CONFIG_NIU is not set |
@@ -525,6 +552,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
525 | # CONFIG_BNX2X is not set | 552 | # CONFIG_BNX2X is not set |
526 | # CONFIG_QLGE is not set | 553 | # CONFIG_QLGE is not set |
527 | # CONFIG_SFC is not set | 554 | # CONFIG_SFC is not set |
555 | # CONFIG_BE2NET is not set | ||
528 | # CONFIG_TR is not set | 556 | # CONFIG_TR is not set |
529 | 557 | ||
530 | # | 558 | # |
@@ -532,7 +560,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
532 | # | 560 | # |
533 | # CONFIG_WLAN_PRE80211 is not set | 561 | # CONFIG_WLAN_PRE80211 is not set |
534 | # CONFIG_WLAN_80211 is not set | 562 | # CONFIG_WLAN_80211 is not set |
535 | # CONFIG_IWLWIFI_LEDS is not set | ||
536 | 563 | ||
537 | # | 564 | # |
538 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 565 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -608,6 +635,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
608 | # CONFIG_HVC_UDBG is not set | 635 | # CONFIG_HVC_UDBG is not set |
609 | # CONFIG_IPMI_HANDLER is not set | 636 | # CONFIG_IPMI_HANDLER is not set |
610 | CONFIG_HW_RANDOM=y | 637 | CONFIG_HW_RANDOM=y |
638 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
611 | # CONFIG_NVRAM is not set | 639 | # CONFIG_NVRAM is not set |
612 | CONFIG_GEN_RTC=y | 640 | CONFIG_GEN_RTC=y |
613 | # CONFIG_GEN_RTC_X is not set | 641 | # CONFIG_GEN_RTC_X is not set |
@@ -651,6 +679,7 @@ CONFIG_HWMON=y | |||
651 | # CONFIG_SENSORS_IT87 is not set | 679 | # CONFIG_SENSORS_IT87 is not set |
652 | # CONFIG_SENSORS_PC87360 is not set | 680 | # CONFIG_SENSORS_PC87360 is not set |
653 | # CONFIG_SENSORS_PC87427 is not set | 681 | # CONFIG_SENSORS_PC87427 is not set |
682 | # CONFIG_SENSORS_SHT15 is not set | ||
654 | # CONFIG_SENSORS_SIS5595 is not set | 683 | # CONFIG_SENSORS_SIS5595 is not set |
655 | # CONFIG_SENSORS_SMSC47M1 is not set | 684 | # CONFIG_SENSORS_SMSC47M1 is not set |
656 | # CONFIG_SENSORS_SMSC47B397 is not set | 685 | # CONFIG_SENSORS_SMSC47B397 is not set |
@@ -719,7 +748,6 @@ CONFIG_HID=y | |||
719 | # | 748 | # |
720 | # Special HID drivers | 749 | # Special HID drivers |
721 | # | 750 | # |
722 | CONFIG_HID_COMPAT=y | ||
723 | CONFIG_USB_SUPPORT=y | 751 | CONFIG_USB_SUPPORT=y |
724 | CONFIG_USB_ARCH_HAS_HCD=y | 752 | CONFIG_USB_ARCH_HAS_HCD=y |
725 | CONFIG_USB_ARCH_HAS_OHCI=y | 753 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -733,7 +761,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
733 | # | 761 | # |
734 | 762 | ||
735 | # | 763 | # |
736 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 764 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
737 | # | 765 | # |
738 | # CONFIG_USB_GADGET is not set | 766 | # CONFIG_USB_GADGET is not set |
739 | 767 | ||
@@ -749,6 +777,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
749 | # CONFIG_EDAC is not set | 777 | # CONFIG_EDAC is not set |
750 | # CONFIG_RTC_CLASS is not set | 778 | # CONFIG_RTC_CLASS is not set |
751 | # CONFIG_DMADEVICES is not set | 779 | # CONFIG_DMADEVICES is not set |
780 | # CONFIG_AUXDISPLAY is not set | ||
752 | # CONFIG_UIO is not set | 781 | # CONFIG_UIO is not set |
753 | # CONFIG_STAGING is not set | 782 | # CONFIG_STAGING is not set |
754 | 783 | ||
@@ -759,6 +788,7 @@ CONFIG_EXT2_FS=y | |||
759 | # CONFIG_EXT2_FS_XATTR is not set | 788 | # CONFIG_EXT2_FS_XATTR is not set |
760 | # CONFIG_EXT2_FS_XIP is not set | 789 | # CONFIG_EXT2_FS_XIP is not set |
761 | CONFIG_EXT3_FS=y | 790 | CONFIG_EXT3_FS=y |
791 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
762 | CONFIG_EXT3_FS_XATTR=y | 792 | CONFIG_EXT3_FS_XATTR=y |
763 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 793 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
764 | # CONFIG_EXT3_FS_SECURITY is not set | 794 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -781,6 +811,11 @@ CONFIG_INOTIFY_USER=y | |||
781 | # CONFIG_FUSE_FS is not set | 811 | # CONFIG_FUSE_FS is not set |
782 | 812 | ||
783 | # | 813 | # |
814 | # Caches | ||
815 | # | ||
816 | # CONFIG_FSCACHE is not set | ||
817 | |||
818 | # | ||
784 | # CD-ROM/DVD Filesystems | 819 | # CD-ROM/DVD Filesystems |
785 | # | 820 | # |
786 | # CONFIG_ISO9660_FS is not set | 821 | # CONFIG_ISO9660_FS is not set |
@@ -823,6 +858,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
823 | # CONFIG_ROMFS_FS is not set | 858 | # CONFIG_ROMFS_FS is not set |
824 | # CONFIG_SYSV_FS is not set | 859 | # CONFIG_SYSV_FS is not set |
825 | # CONFIG_UFS_FS is not set | 860 | # CONFIG_UFS_FS is not set |
861 | # CONFIG_NILFS2_FS is not set | ||
826 | CONFIG_NETWORK_FILESYSTEMS=y | 862 | CONFIG_NETWORK_FILESYSTEMS=y |
827 | CONFIG_NFS_FS=y | 863 | CONFIG_NFS_FS=y |
828 | # CONFIG_NFS_V3 is not set | 864 | # CONFIG_NFS_V3 is not set |
@@ -832,7 +868,6 @@ CONFIG_ROOT_NFS=y | |||
832 | CONFIG_LOCKD=y | 868 | CONFIG_LOCKD=y |
833 | CONFIG_NFS_COMMON=y | 869 | CONFIG_NFS_COMMON=y |
834 | CONFIG_SUNRPC=y | 870 | CONFIG_SUNRPC=y |
835 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
836 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 871 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
837 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 872 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
838 | # CONFIG_SMB_FS is not set | 873 | # CONFIG_SMB_FS is not set |
@@ -860,6 +895,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
860 | # CONFIG_SYSV68_PARTITION is not set | 895 | # CONFIG_SYSV68_PARTITION is not set |
861 | # CONFIG_NLS is not set | 896 | # CONFIG_NLS is not set |
862 | # CONFIG_DLM is not set | 897 | # CONFIG_DLM is not set |
898 | # CONFIG_BINARY_PRINTF is not set | ||
863 | 899 | ||
864 | # | 900 | # |
865 | # Library routines | 901 | # Library routines |
@@ -873,11 +909,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
873 | CONFIG_CRC32=y | 909 | CONFIG_CRC32=y |
874 | # CONFIG_CRC7 is not set | 910 | # CONFIG_CRC7 is not set |
875 | # CONFIG_LIBCRC32C is not set | 911 | # CONFIG_LIBCRC32C is not set |
876 | CONFIG_PLIST=y | 912 | CONFIG_ZLIB_INFLATE=y |
913 | CONFIG_DECOMPRESS_GZIP=y | ||
877 | CONFIG_HAS_IOMEM=y | 914 | CONFIG_HAS_IOMEM=y |
878 | CONFIG_HAS_IOPORT=y | 915 | CONFIG_HAS_IOPORT=y |
879 | CONFIG_HAS_DMA=y | 916 | CONFIG_HAS_DMA=y |
880 | CONFIG_HAVE_LMB=y | 917 | CONFIG_HAVE_LMB=y |
918 | CONFIG_NLATTR=y | ||
881 | 919 | ||
882 | # | 920 | # |
883 | # Kernel hacking | 921 | # Kernel hacking |
@@ -895,6 +933,9 @@ CONFIG_DEBUG_KERNEL=y | |||
895 | CONFIG_DETECT_SOFTLOCKUP=y | 933 | CONFIG_DETECT_SOFTLOCKUP=y |
896 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 934 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
897 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 935 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
936 | CONFIG_DETECT_HUNG_TASK=y | ||
937 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
938 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
898 | CONFIG_SCHED_DEBUG=y | 939 | CONFIG_SCHED_DEBUG=y |
899 | # CONFIG_SCHEDSTATS is not set | 940 | # CONFIG_SCHEDSTATS is not set |
900 | # CONFIG_TIMER_STATS is not set | 941 | # CONFIG_TIMER_STATS is not set |
@@ -924,9 +965,12 @@ CONFIG_DEBUG_MUTEXES=y | |||
924 | # CONFIG_FAULT_INJECTION is not set | 965 | # CONFIG_FAULT_INJECTION is not set |
925 | # CONFIG_LATENCYTOP is not set | 966 | # CONFIG_LATENCYTOP is not set |
926 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 967 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
968 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
927 | CONFIG_HAVE_FUNCTION_TRACER=y | 969 | CONFIG_HAVE_FUNCTION_TRACER=y |
970 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
928 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 971 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
929 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 972 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
973 | CONFIG_TRACING_SUPPORT=y | ||
930 | 974 | ||
931 | # | 975 | # |
932 | # Tracers | 976 | # Tracers |
@@ -934,17 +978,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
934 | # CONFIG_FUNCTION_TRACER is not set | 978 | # CONFIG_FUNCTION_TRACER is not set |
935 | # CONFIG_SCHED_TRACER is not set | 979 | # CONFIG_SCHED_TRACER is not set |
936 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 980 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
981 | # CONFIG_EVENT_TRACER is not set | ||
937 | # CONFIG_BOOT_TRACER is not set | 982 | # CONFIG_BOOT_TRACER is not set |
938 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 983 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
939 | # CONFIG_STACK_TRACER is not set | 984 | # CONFIG_STACK_TRACER is not set |
940 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 985 | # CONFIG_KMEMTRACE is not set |
986 | # CONFIG_WORKQUEUE_TRACER is not set | ||
987 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
941 | # CONFIG_SAMPLES is not set | 988 | # CONFIG_SAMPLES is not set |
942 | CONFIG_HAVE_ARCH_KGDB=y | 989 | CONFIG_HAVE_ARCH_KGDB=y |
943 | # CONFIG_KGDB is not set | 990 | # CONFIG_KGDB is not set |
944 | CONFIG_PRINT_STACK_DEPTH=64 | 991 | CONFIG_PRINT_STACK_DEPTH=64 |
945 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 992 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
946 | # CONFIG_DEBUG_STACK_USAGE is not set | 993 | # CONFIG_DEBUG_STACK_USAGE is not set |
947 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
948 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 994 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
949 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 995 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
950 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 996 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1037,6 +1083,7 @@ CONFIG_CRYPTO=y | |||
1037 | # Compression | 1083 | # Compression |
1038 | # | 1084 | # |
1039 | # CONFIG_CRYPTO_DEFLATE is not set | 1085 | # CONFIG_CRYPTO_DEFLATE is not set |
1086 | # CONFIG_CRYPTO_ZLIB is not set | ||
1040 | # CONFIG_CRYPTO_LZO is not set | 1087 | # CONFIG_CRYPTO_LZO is not set |
1041 | 1088 | ||
1042 | # | 1089 | # |
diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig index f95961c04a20..41209e3a6545 100644 --- a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig +++ b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:13 2009 | 4 | # Wed May 13 17:22:18 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
58 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 77 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 79 | # CONFIG_AUDIT is not set |
80 | |||
81 | # | ||
82 | # RCU Subsystem | ||
83 | # | ||
84 | CONFIG_CLASSIC_RCU=y | ||
85 | # CONFIG_TREE_RCU is not set | ||
86 | # CONFIG_PREEMPT_RCU is not set | ||
87 | # CONFIG_TREE_RCU_TRACE is not set | ||
88 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | # CONFIG_IKCONFIG is not set | 89 | # CONFIG_IKCONFIG is not set |
79 | CONFIG_LOG_BUF_SHIFT=14 | 90 | CONFIG_LOG_BUF_SHIFT=14 |
80 | CONFIG_GROUP_SCHED=y | 91 | CONFIG_GROUP_SCHED=y |
@@ -89,21 +100,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
89 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
90 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
91 | CONFIG_INITRAMFS_SOURCE="" | 102 | CONFIG_INITRAMFS_SOURCE="" |
103 | CONFIG_RD_GZIP=y | ||
104 | # CONFIG_RD_BZIP2 is not set | ||
105 | # CONFIG_RD_LZMA is not set | ||
92 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 106 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
93 | CONFIG_SYSCTL=y | 107 | CONFIG_SYSCTL=y |
108 | CONFIG_ANON_INODES=y | ||
94 | CONFIG_EMBEDDED=y | 109 | CONFIG_EMBEDDED=y |
95 | CONFIG_SYSCTL_SYSCALL=y | 110 | CONFIG_SYSCTL_SYSCALL=y |
96 | CONFIG_KALLSYMS=y | 111 | CONFIG_KALLSYMS=y |
97 | # CONFIG_KALLSYMS_ALL is not set | 112 | # CONFIG_KALLSYMS_ALL is not set |
98 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 113 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
114 | # CONFIG_STRIP_ASM_SYMS is not set | ||
99 | CONFIG_HOTPLUG=y | 115 | CONFIG_HOTPLUG=y |
100 | CONFIG_PRINTK=y | 116 | CONFIG_PRINTK=y |
101 | CONFIG_BUG=y | 117 | CONFIG_BUG=y |
102 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
103 | CONFIG_COMPAT_BRK=y | ||
104 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
105 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
106 | CONFIG_ANON_INODES=y | ||
107 | CONFIG_EPOLL=y | 121 | CONFIG_EPOLL=y |
108 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
109 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
@@ -113,16 +127,19 @@ CONFIG_AIO=y | |||
113 | CONFIG_VM_EVENT_COUNTERS=y | 127 | CONFIG_VM_EVENT_COUNTERS=y |
114 | CONFIG_PCI_QUIRKS=y | 128 | CONFIG_PCI_QUIRKS=y |
115 | CONFIG_SLUB_DEBUG=y | 129 | CONFIG_SLUB_DEBUG=y |
130 | CONFIG_COMPAT_BRK=y | ||
116 | # CONFIG_SLAB is not set | 131 | # CONFIG_SLAB is not set |
117 | CONFIG_SLUB=y | 132 | CONFIG_SLUB=y |
118 | # CONFIG_SLOB is not set | 133 | # CONFIG_SLOB is not set |
119 | # CONFIG_PROFILING is not set | 134 | # CONFIG_PROFILING is not set |
135 | # CONFIG_MARKERS is not set | ||
120 | CONFIG_HAVE_OPROFILE=y | 136 | CONFIG_HAVE_OPROFILE=y |
121 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 137 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
122 | CONFIG_HAVE_IOREMAP_PROT=y | 138 | CONFIG_HAVE_IOREMAP_PROT=y |
123 | CONFIG_HAVE_KPROBES=y | 139 | CONFIG_HAVE_KPROBES=y |
124 | CONFIG_HAVE_KRETPROBES=y | 140 | CONFIG_HAVE_KRETPROBES=y |
125 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 141 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
142 | # CONFIG_SLOW_WORK is not set | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 143 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 144 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 145 | CONFIG_RT_MUTEXES=y |
@@ -130,7 +147,6 @@ CONFIG_BASE_SMALL=0 | |||
130 | # CONFIG_MODULES is not set | 147 | # CONFIG_MODULES is not set |
131 | CONFIG_BLOCK=y | 148 | CONFIG_BLOCK=y |
132 | # CONFIG_LBD is not set | 149 | # CONFIG_LBD is not set |
133 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
134 | # CONFIG_BLK_DEV_BSG is not set | 150 | # CONFIG_BLK_DEV_BSG is not set |
135 | # CONFIG_BLK_DEV_INTEGRITY is not set | 151 | # CONFIG_BLK_DEV_INTEGRITY is not set |
136 | 152 | ||
@@ -146,11 +162,6 @@ CONFIG_DEFAULT_AS=y | |||
146 | # CONFIG_DEFAULT_CFQ is not set | 162 | # CONFIG_DEFAULT_CFQ is not set |
147 | # CONFIG_DEFAULT_NOOP is not set | 163 | # CONFIG_DEFAULT_NOOP is not set |
148 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 164 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
149 | CONFIG_CLASSIC_RCU=y | ||
150 | # CONFIG_TREE_RCU is not set | ||
151 | # CONFIG_PREEMPT_RCU is not set | ||
152 | # CONFIG_TREE_RCU_TRACE is not set | ||
153 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
154 | # CONFIG_FREEZER is not set | 165 | # CONFIG_FREEZER is not set |
155 | 166 | ||
156 | # | 167 | # |
@@ -166,6 +177,7 @@ CONFIG_MPC85xx_CDS=y | |||
166 | # CONFIG_MPC85xx_MDS is not set | 177 | # CONFIG_MPC85xx_MDS is not set |
167 | # CONFIG_MPC8536_DS is not set | 178 | # CONFIG_MPC8536_DS is not set |
168 | # CONFIG_MPC85xx_DS is not set | 179 | # CONFIG_MPC85xx_DS is not set |
180 | # CONFIG_SOCRATES is not set | ||
169 | # CONFIG_KSI8560 is not set | 181 | # CONFIG_KSI8560 is not set |
170 | # CONFIG_STX_GP3 is not set | 182 | # CONFIG_STX_GP3 is not set |
171 | # CONFIG_TQM8540 is not set | 183 | # CONFIG_TQM8540 is not set |
@@ -234,9 +246,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
234 | CONFIG_BOUNCE=y | 246 | CONFIG_BOUNCE=y |
235 | CONFIG_VIRT_TO_BUS=y | 247 | CONFIG_VIRT_TO_BUS=y |
236 | CONFIG_UNEVICTABLE_LRU=y | 248 | CONFIG_UNEVICTABLE_LRU=y |
249 | CONFIG_HAVE_MLOCK=y | ||
250 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
237 | CONFIG_PPC_4K_PAGES=y | 251 | CONFIG_PPC_4K_PAGES=y |
238 | # CONFIG_PPC_16K_PAGES is not set | 252 | # CONFIG_PPC_16K_PAGES is not set |
239 | # CONFIG_PPC_64K_PAGES is not set | 253 | # CONFIG_PPC_64K_PAGES is not set |
254 | # CONFIG_PPC_256K_PAGES is not set | ||
240 | CONFIG_FORCE_MAX_ZONEORDER=11 | 255 | CONFIG_FORCE_MAX_ZONEORDER=11 |
241 | CONFIG_PROC_DEVICETREE=y | 256 | CONFIG_PROC_DEVICETREE=y |
242 | # CONFIG_CMDLINE_BOOL is not set | 257 | # CONFIG_CMDLINE_BOOL is not set |
@@ -262,6 +277,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
262 | # CONFIG_PCI_LEGACY is not set | 277 | # CONFIG_PCI_LEGACY is not set |
263 | # CONFIG_PCI_DEBUG is not set | 278 | # CONFIG_PCI_DEBUG is not set |
264 | # CONFIG_PCI_STUB is not set | 279 | # CONFIG_PCI_STUB is not set |
280 | # CONFIG_PCI_IOV is not set | ||
265 | # CONFIG_PCCARD is not set | 281 | # CONFIG_PCCARD is not set |
266 | # CONFIG_HOTPLUG_PCI is not set | 282 | # CONFIG_HOTPLUG_PCI is not set |
267 | # CONFIG_HAS_RAPIDIO is not set | 283 | # CONFIG_HAS_RAPIDIO is not set |
@@ -275,17 +291,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
275 | # Default settings for advanced configuration options are used | 291 | # Default settings for advanced configuration options are used |
276 | # | 292 | # |
277 | CONFIG_LOWMEM_SIZE=0x30000000 | 293 | CONFIG_LOWMEM_SIZE=0x30000000 |
294 | CONFIG_LOWMEM_CAM_NUM=3 | ||
278 | CONFIG_PAGE_OFFSET=0xc0000000 | 295 | CONFIG_PAGE_OFFSET=0xc0000000 |
279 | CONFIG_KERNEL_START=0xc0000000 | 296 | CONFIG_KERNEL_START=0xc0000000 |
280 | CONFIG_PHYSICAL_START=0x00000000 | 297 | CONFIG_PHYSICAL_START=0x00000000 |
281 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 298 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
282 | CONFIG_TASK_SIZE=0xc0000000 | 299 | CONFIG_TASK_SIZE=0xc0000000 |
283 | CONFIG_NET=y | 300 | CONFIG_NET=y |
284 | 301 | ||
285 | # | 302 | # |
286 | # Networking options | 303 | # Networking options |
287 | # | 304 | # |
288 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
289 | CONFIG_PACKET=y | 305 | CONFIG_PACKET=y |
290 | # CONFIG_PACKET_MMAP is not set | 306 | # CONFIG_PACKET_MMAP is not set |
291 | CONFIG_UNIX=y | 307 | CONFIG_UNIX=y |
@@ -341,6 +357,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
341 | # CONFIG_LAPB is not set | 357 | # CONFIG_LAPB is not set |
342 | # CONFIG_ECONET is not set | 358 | # CONFIG_ECONET is not set |
343 | # CONFIG_WAN_ROUTER is not set | 359 | # CONFIG_WAN_ROUTER is not set |
360 | # CONFIG_PHONET is not set | ||
344 | # CONFIG_NET_SCHED is not set | 361 | # CONFIG_NET_SCHED is not set |
345 | # CONFIG_DCB is not set | 362 | # CONFIG_DCB is not set |
346 | 363 | ||
@@ -353,7 +370,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
353 | # CONFIG_IRDA is not set | 370 | # CONFIG_IRDA is not set |
354 | # CONFIG_BT is not set | 371 | # CONFIG_BT is not set |
355 | # CONFIG_AF_RXRPC is not set | 372 | # CONFIG_AF_RXRPC is not set |
356 | # CONFIG_PHONET is not set | ||
357 | CONFIG_WIRELESS=y | 373 | CONFIG_WIRELESS=y |
358 | # CONFIG_CFG80211 is not set | 374 | # CONFIG_CFG80211 is not set |
359 | CONFIG_WIRELESS_OLD_REGULATORY=y | 375 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -402,18 +418,23 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
402 | # CONFIG_BLK_DEV_HD is not set | 418 | # CONFIG_BLK_DEV_HD is not set |
403 | CONFIG_MISC_DEVICES=y | 419 | CONFIG_MISC_DEVICES=y |
404 | # CONFIG_PHANTOM is not set | 420 | # CONFIG_PHANTOM is not set |
405 | # CONFIG_EEPROM_93CX6 is not set | ||
406 | # CONFIG_SGI_IOC4 is not set | 421 | # CONFIG_SGI_IOC4 is not set |
407 | # CONFIG_TIFM_CORE is not set | 422 | # CONFIG_TIFM_CORE is not set |
408 | # CONFIG_ENCLOSURE_SERVICES is not set | 423 | # CONFIG_ENCLOSURE_SERVICES is not set |
409 | # CONFIG_HP_ILO is not set | 424 | # CONFIG_HP_ILO is not set |
410 | # CONFIG_C2PORT is not set | 425 | # CONFIG_C2PORT is not set |
426 | |||
427 | # | ||
428 | # EEPROM support | ||
429 | # | ||
430 | # CONFIG_EEPROM_93CX6 is not set | ||
411 | CONFIG_HAVE_IDE=y | 431 | CONFIG_HAVE_IDE=y |
412 | CONFIG_IDE=y | 432 | CONFIG_IDE=y |
413 | 433 | ||
414 | # | 434 | # |
415 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 435 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
416 | # | 436 | # |
437 | CONFIG_IDE_XFER_MODE=y | ||
417 | CONFIG_IDE_TIMINGS=y | 438 | CONFIG_IDE_TIMINGS=y |
418 | # CONFIG_BLK_DEV_IDE_SATA is not set | 439 | # CONFIG_BLK_DEV_IDE_SATA is not set |
419 | CONFIG_IDE_GD=y | 440 | CONFIG_IDE_GD=y |
@@ -488,6 +509,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
488 | # CONFIG_I2O is not set | 509 | # CONFIG_I2O is not set |
489 | # CONFIG_MACINTOSH_DRIVERS is not set | 510 | # CONFIG_MACINTOSH_DRIVERS is not set |
490 | CONFIG_NETDEVICES=y | 511 | CONFIG_NETDEVICES=y |
512 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
491 | # CONFIG_DUMMY is not set | 513 | # CONFIG_DUMMY is not set |
492 | # CONFIG_BONDING is not set | 514 | # CONFIG_BONDING is not set |
493 | # CONFIG_MACVLAN is not set | 515 | # CONFIG_MACVLAN is not set |
@@ -521,6 +543,8 @@ CONFIG_MII=y | |||
521 | # CONFIG_SUNGEM is not set | 543 | # CONFIG_SUNGEM is not set |
522 | # CONFIG_CASSINI is not set | 544 | # CONFIG_CASSINI is not set |
523 | # CONFIG_NET_VENDOR_3COM is not set | 545 | # CONFIG_NET_VENDOR_3COM is not set |
546 | # CONFIG_ETHOC is not set | ||
547 | # CONFIG_DNET is not set | ||
524 | # CONFIG_NET_TULIP is not set | 548 | # CONFIG_NET_TULIP is not set |
525 | # CONFIG_HP100 is not set | 549 | # CONFIG_HP100 is not set |
526 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 550 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -540,6 +564,7 @@ CONFIG_E1000=y | |||
540 | # CONFIG_E1000E is not set | 564 | # CONFIG_E1000E is not set |
541 | # CONFIG_IP1000 is not set | 565 | # CONFIG_IP1000 is not set |
542 | # CONFIG_IGB is not set | 566 | # CONFIG_IGB is not set |
567 | # CONFIG_IGBVF is not set | ||
543 | # CONFIG_NS83820 is not set | 568 | # CONFIG_NS83820 is not set |
544 | # CONFIG_HAMACHI is not set | 569 | # CONFIG_HAMACHI is not set |
545 | # CONFIG_YELLOWFIN is not set | 570 | # CONFIG_YELLOWFIN is not set |
@@ -550,10 +575,12 @@ CONFIG_E1000=y | |||
550 | # CONFIG_VIA_VELOCITY is not set | 575 | # CONFIG_VIA_VELOCITY is not set |
551 | # CONFIG_TIGON3 is not set | 576 | # CONFIG_TIGON3 is not set |
552 | # CONFIG_BNX2 is not set | 577 | # CONFIG_BNX2 is not set |
578 | CONFIG_FSL_PQ_MDIO=y | ||
553 | CONFIG_GIANFAR=y | 579 | CONFIG_GIANFAR=y |
554 | # CONFIG_QLA3XXX is not set | 580 | # CONFIG_QLA3XXX is not set |
555 | # CONFIG_ATL1 is not set | 581 | # CONFIG_ATL1 is not set |
556 | # CONFIG_ATL1E is not set | 582 | # CONFIG_ATL1E is not set |
583 | # CONFIG_ATL1C is not set | ||
557 | # CONFIG_JME is not set | 584 | # CONFIG_JME is not set |
558 | CONFIG_NETDEV_10000=y | 585 | CONFIG_NETDEV_10000=y |
559 | # CONFIG_CHELSIO_T1 is not set | 586 | # CONFIG_CHELSIO_T1 is not set |
@@ -563,6 +590,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
563 | # CONFIG_IXGBE is not set | 590 | # CONFIG_IXGBE is not set |
564 | # CONFIG_IXGB is not set | 591 | # CONFIG_IXGB is not set |
565 | # CONFIG_S2IO is not set | 592 | # CONFIG_S2IO is not set |
593 | # CONFIG_VXGE is not set | ||
566 | # CONFIG_MYRI10GE is not set | 594 | # CONFIG_MYRI10GE is not set |
567 | # CONFIG_NETXEN_NIC is not set | 595 | # CONFIG_NETXEN_NIC is not set |
568 | # CONFIG_NIU is not set | 596 | # CONFIG_NIU is not set |
@@ -572,6 +600,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
572 | # CONFIG_BNX2X is not set | 600 | # CONFIG_BNX2X is not set |
573 | # CONFIG_QLGE is not set | 601 | # CONFIG_QLGE is not set |
574 | # CONFIG_SFC is not set | 602 | # CONFIG_SFC is not set |
603 | # CONFIG_BE2NET is not set | ||
575 | # CONFIG_TR is not set | 604 | # CONFIG_TR is not set |
576 | 605 | ||
577 | # | 606 | # |
@@ -579,7 +608,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
579 | # | 608 | # |
580 | # CONFIG_WLAN_PRE80211 is not set | 609 | # CONFIG_WLAN_PRE80211 is not set |
581 | # CONFIG_WLAN_80211 is not set | 610 | # CONFIG_WLAN_80211 is not set |
582 | # CONFIG_IWLWIFI_LEDS is not set | ||
583 | 611 | ||
584 | # | 612 | # |
585 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 613 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -750,7 +778,6 @@ CONFIG_HID=y | |||
750 | # | 778 | # |
751 | # Special HID drivers | 779 | # Special HID drivers |
752 | # | 780 | # |
753 | CONFIG_HID_COMPAT=y | ||
754 | CONFIG_USB_SUPPORT=y | 781 | CONFIG_USB_SUPPORT=y |
755 | CONFIG_USB_ARCH_HAS_HCD=y | 782 | CONFIG_USB_ARCH_HAS_HCD=y |
756 | CONFIG_USB_ARCH_HAS_OHCI=y | 783 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -764,7 +791,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
764 | # | 791 | # |
765 | 792 | ||
766 | # | 793 | # |
767 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 794 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
768 | # | 795 | # |
769 | # CONFIG_USB_GADGET is not set | 796 | # CONFIG_USB_GADGET is not set |
770 | 797 | ||
@@ -780,6 +807,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
780 | # CONFIG_EDAC is not set | 807 | # CONFIG_EDAC is not set |
781 | # CONFIG_RTC_CLASS is not set | 808 | # CONFIG_RTC_CLASS is not set |
782 | # CONFIG_DMADEVICES is not set | 809 | # CONFIG_DMADEVICES is not set |
810 | # CONFIG_AUXDISPLAY is not set | ||
783 | # CONFIG_UIO is not set | 811 | # CONFIG_UIO is not set |
784 | # CONFIG_STAGING is not set | 812 | # CONFIG_STAGING is not set |
785 | 813 | ||
@@ -790,6 +818,7 @@ CONFIG_EXT2_FS=y | |||
790 | # CONFIG_EXT2_FS_XATTR is not set | 818 | # CONFIG_EXT2_FS_XATTR is not set |
791 | # CONFIG_EXT2_FS_XIP is not set | 819 | # CONFIG_EXT2_FS_XIP is not set |
792 | CONFIG_EXT3_FS=y | 820 | CONFIG_EXT3_FS=y |
821 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
793 | CONFIG_EXT3_FS_XATTR=y | 822 | CONFIG_EXT3_FS_XATTR=y |
794 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 823 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
795 | # CONFIG_EXT3_FS_SECURITY is not set | 824 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -812,6 +841,11 @@ CONFIG_INOTIFY_USER=y | |||
812 | # CONFIG_FUSE_FS is not set | 841 | # CONFIG_FUSE_FS is not set |
813 | 842 | ||
814 | # | 843 | # |
844 | # Caches | ||
845 | # | ||
846 | # CONFIG_FSCACHE is not set | ||
847 | |||
848 | # | ||
815 | # CD-ROM/DVD Filesystems | 849 | # CD-ROM/DVD Filesystems |
816 | # | 850 | # |
817 | # CONFIG_ISO9660_FS is not set | 851 | # CONFIG_ISO9660_FS is not set |
@@ -854,6 +888,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
854 | # CONFIG_ROMFS_FS is not set | 888 | # CONFIG_ROMFS_FS is not set |
855 | # CONFIG_SYSV_FS is not set | 889 | # CONFIG_SYSV_FS is not set |
856 | # CONFIG_UFS_FS is not set | 890 | # CONFIG_UFS_FS is not set |
891 | # CONFIG_NILFS2_FS is not set | ||
857 | CONFIG_NETWORK_FILESYSTEMS=y | 892 | CONFIG_NETWORK_FILESYSTEMS=y |
858 | CONFIG_NFS_FS=y | 893 | CONFIG_NFS_FS=y |
859 | # CONFIG_NFS_V3 is not set | 894 | # CONFIG_NFS_V3 is not set |
@@ -863,7 +898,6 @@ CONFIG_ROOT_NFS=y | |||
863 | CONFIG_LOCKD=y | 898 | CONFIG_LOCKD=y |
864 | CONFIG_NFS_COMMON=y | 899 | CONFIG_NFS_COMMON=y |
865 | CONFIG_SUNRPC=y | 900 | CONFIG_SUNRPC=y |
866 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
867 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 901 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
868 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 902 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
869 | # CONFIG_SMB_FS is not set | 903 | # CONFIG_SMB_FS is not set |
@@ -891,6 +925,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
891 | # CONFIG_SYSV68_PARTITION is not set | 925 | # CONFIG_SYSV68_PARTITION is not set |
892 | # CONFIG_NLS is not set | 926 | # CONFIG_NLS is not set |
893 | # CONFIG_DLM is not set | 927 | # CONFIG_DLM is not set |
928 | # CONFIG_BINARY_PRINTF is not set | ||
894 | 929 | ||
895 | # | 930 | # |
896 | # Library routines | 931 | # Library routines |
@@ -904,11 +939,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
904 | CONFIG_CRC32=y | 939 | CONFIG_CRC32=y |
905 | # CONFIG_CRC7 is not set | 940 | # CONFIG_CRC7 is not set |
906 | # CONFIG_LIBCRC32C is not set | 941 | # CONFIG_LIBCRC32C is not set |
907 | CONFIG_PLIST=y | 942 | CONFIG_ZLIB_INFLATE=y |
943 | CONFIG_DECOMPRESS_GZIP=y | ||
908 | CONFIG_HAS_IOMEM=y | 944 | CONFIG_HAS_IOMEM=y |
909 | CONFIG_HAS_IOPORT=y | 945 | CONFIG_HAS_IOPORT=y |
910 | CONFIG_HAS_DMA=y | 946 | CONFIG_HAS_DMA=y |
911 | CONFIG_HAVE_LMB=y | 947 | CONFIG_HAVE_LMB=y |
948 | CONFIG_NLATTR=y | ||
912 | 949 | ||
913 | # | 950 | # |
914 | # Kernel hacking | 951 | # Kernel hacking |
@@ -926,6 +963,9 @@ CONFIG_DEBUG_KERNEL=y | |||
926 | CONFIG_DETECT_SOFTLOCKUP=y | 963 | CONFIG_DETECT_SOFTLOCKUP=y |
927 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 964 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
928 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 965 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
966 | CONFIG_DETECT_HUNG_TASK=y | ||
967 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
968 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
929 | CONFIG_SCHED_DEBUG=y | 969 | CONFIG_SCHED_DEBUG=y |
930 | # CONFIG_SCHEDSTATS is not set | 970 | # CONFIG_SCHEDSTATS is not set |
931 | # CONFIG_TIMER_STATS is not set | 971 | # CONFIG_TIMER_STATS is not set |
@@ -955,9 +995,12 @@ CONFIG_DEBUG_MUTEXES=y | |||
955 | # CONFIG_FAULT_INJECTION is not set | 995 | # CONFIG_FAULT_INJECTION is not set |
956 | # CONFIG_LATENCYTOP is not set | 996 | # CONFIG_LATENCYTOP is not set |
957 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 997 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
998 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
958 | CONFIG_HAVE_FUNCTION_TRACER=y | 999 | CONFIG_HAVE_FUNCTION_TRACER=y |
1000 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
959 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1001 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
960 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1002 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1003 | CONFIG_TRACING_SUPPORT=y | ||
961 | 1004 | ||
962 | # | 1005 | # |
963 | # Tracers | 1006 | # Tracers |
@@ -965,17 +1008,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
965 | # CONFIG_FUNCTION_TRACER is not set | 1008 | # CONFIG_FUNCTION_TRACER is not set |
966 | # CONFIG_SCHED_TRACER is not set | 1009 | # CONFIG_SCHED_TRACER is not set |
967 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1010 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1011 | # CONFIG_EVENT_TRACER is not set | ||
968 | # CONFIG_BOOT_TRACER is not set | 1012 | # CONFIG_BOOT_TRACER is not set |
969 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1013 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
970 | # CONFIG_STACK_TRACER is not set | 1014 | # CONFIG_STACK_TRACER is not set |
971 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1015 | # CONFIG_KMEMTRACE is not set |
1016 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1017 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
972 | # CONFIG_SAMPLES is not set | 1018 | # CONFIG_SAMPLES is not set |
973 | CONFIG_HAVE_ARCH_KGDB=y | 1019 | CONFIG_HAVE_ARCH_KGDB=y |
974 | # CONFIG_KGDB is not set | 1020 | # CONFIG_KGDB is not set |
975 | CONFIG_PRINT_STACK_DEPTH=64 | 1021 | CONFIG_PRINT_STACK_DEPTH=64 |
976 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1022 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
977 | # CONFIG_DEBUG_STACK_USAGE is not set | 1023 | # CONFIG_DEBUG_STACK_USAGE is not set |
978 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
979 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1024 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
980 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1025 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
981 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1026 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1068,6 +1113,7 @@ CONFIG_CRYPTO=y | |||
1068 | # Compression | 1113 | # Compression |
1069 | # | 1114 | # |
1070 | # CONFIG_CRYPTO_DEFLATE is not set | 1115 | # CONFIG_CRYPTO_DEFLATE is not set |
1116 | # CONFIG_CRYPTO_ZLIB is not set | ||
1071 | # CONFIG_CRYPTO_LZO is not set | 1117 | # CONFIG_CRYPTO_LZO is not set |
1072 | 1118 | ||
1073 | # | 1119 | # |
diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig index e68e80987aa9..6c36c9c7abfd 100644 --- a/arch/powerpc/configs/85xx/sbc8548_defconfig +++ b/arch/powerpc/configs/85xx/sbc8548_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:15 2009 | 4 | # Wed May 13 17:22:19 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
58 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 77 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 79 | # CONFIG_AUDIT is not set |
80 | |||
81 | # | ||
82 | # RCU Subsystem | ||
83 | # | ||
84 | CONFIG_CLASSIC_RCU=y | ||
85 | # CONFIG_TREE_RCU is not set | ||
86 | # CONFIG_PREEMPT_RCU is not set | ||
87 | # CONFIG_TREE_RCU_TRACE is not set | ||
88 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | # CONFIG_IKCONFIG is not set | 89 | # CONFIG_IKCONFIG is not set |
79 | CONFIG_LOG_BUF_SHIFT=14 | 90 | CONFIG_LOG_BUF_SHIFT=14 |
80 | CONFIG_GROUP_SCHED=y | 91 | CONFIG_GROUP_SCHED=y |
@@ -89,20 +100,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
89 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
90 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
91 | CONFIG_INITRAMFS_SOURCE="" | 102 | CONFIG_INITRAMFS_SOURCE="" |
103 | CONFIG_RD_GZIP=y | ||
104 | # CONFIG_RD_BZIP2 is not set | ||
105 | # CONFIG_RD_LZMA is not set | ||
92 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 106 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
93 | CONFIG_SYSCTL=y | 107 | CONFIG_SYSCTL=y |
108 | CONFIG_ANON_INODES=y | ||
94 | CONFIG_EMBEDDED=y | 109 | CONFIG_EMBEDDED=y |
95 | CONFIG_SYSCTL_SYSCALL=y | 110 | CONFIG_SYSCTL_SYSCALL=y |
96 | CONFIG_KALLSYMS=y | 111 | CONFIG_KALLSYMS=y |
97 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 112 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
113 | # CONFIG_STRIP_ASM_SYMS is not set | ||
98 | CONFIG_HOTPLUG=y | 114 | CONFIG_HOTPLUG=y |
99 | CONFIG_PRINTK=y | 115 | CONFIG_PRINTK=y |
100 | CONFIG_BUG=y | 116 | CONFIG_BUG=y |
101 | CONFIG_ELF_CORE=y | 117 | CONFIG_ELF_CORE=y |
102 | CONFIG_COMPAT_BRK=y | ||
103 | CONFIG_BASE_FULL=y | 118 | CONFIG_BASE_FULL=y |
104 | CONFIG_FUTEX=y | 119 | CONFIG_FUTEX=y |
105 | CONFIG_ANON_INODES=y | ||
106 | CONFIG_EPOLL=y | 120 | CONFIG_EPOLL=y |
107 | CONFIG_SIGNALFD=y | 121 | CONFIG_SIGNALFD=y |
108 | CONFIG_TIMERFD=y | 122 | CONFIG_TIMERFD=y |
@@ -111,16 +125,19 @@ CONFIG_SHMEM=y | |||
111 | CONFIG_AIO=y | 125 | CONFIG_AIO=y |
112 | CONFIG_VM_EVENT_COUNTERS=y | 126 | CONFIG_VM_EVENT_COUNTERS=y |
113 | CONFIG_PCI_QUIRKS=y | 127 | CONFIG_PCI_QUIRKS=y |
128 | CONFIG_COMPAT_BRK=y | ||
114 | CONFIG_SLAB=y | 129 | CONFIG_SLAB=y |
115 | # CONFIG_SLUB is not set | 130 | # CONFIG_SLUB is not set |
116 | # CONFIG_SLOB is not set | 131 | # CONFIG_SLOB is not set |
117 | # CONFIG_PROFILING is not set | 132 | # CONFIG_PROFILING is not set |
133 | # CONFIG_MARKERS is not set | ||
118 | CONFIG_HAVE_OPROFILE=y | 134 | CONFIG_HAVE_OPROFILE=y |
119 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 135 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
120 | CONFIG_HAVE_IOREMAP_PROT=y | 136 | CONFIG_HAVE_IOREMAP_PROT=y |
121 | CONFIG_HAVE_KPROBES=y | 137 | CONFIG_HAVE_KPROBES=y |
122 | CONFIG_HAVE_KRETPROBES=y | 138 | CONFIG_HAVE_KRETPROBES=y |
123 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 139 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
140 | # CONFIG_SLOW_WORK is not set | ||
124 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 141 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
125 | CONFIG_SLABINFO=y | 142 | CONFIG_SLABINFO=y |
126 | CONFIG_RT_MUTEXES=y | 143 | CONFIG_RT_MUTEXES=y |
@@ -128,7 +145,6 @@ CONFIG_BASE_SMALL=0 | |||
128 | # CONFIG_MODULES is not set | 145 | # CONFIG_MODULES is not set |
129 | CONFIG_BLOCK=y | 146 | CONFIG_BLOCK=y |
130 | # CONFIG_LBD is not set | 147 | # CONFIG_LBD is not set |
131 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
132 | # CONFIG_BLK_DEV_BSG is not set | 148 | # CONFIG_BLK_DEV_BSG is not set |
133 | # CONFIG_BLK_DEV_INTEGRITY is not set | 149 | # CONFIG_BLK_DEV_INTEGRITY is not set |
134 | 150 | ||
@@ -144,11 +160,6 @@ CONFIG_DEFAULT_AS=y | |||
144 | # CONFIG_DEFAULT_CFQ is not set | 160 | # CONFIG_DEFAULT_CFQ is not set |
145 | # CONFIG_DEFAULT_NOOP is not set | 161 | # CONFIG_DEFAULT_NOOP is not set |
146 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 162 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
147 | CONFIG_CLASSIC_RCU=y | ||
148 | # CONFIG_TREE_RCU is not set | ||
149 | # CONFIG_PREEMPT_RCU is not set | ||
150 | # CONFIG_TREE_RCU_TRACE is not set | ||
151 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
152 | # CONFIG_FREEZER is not set | 163 | # CONFIG_FREEZER is not set |
153 | 164 | ||
154 | # | 165 | # |
@@ -164,6 +175,7 @@ CONFIG_MPC85xx=y | |||
164 | # CONFIG_MPC85xx_MDS is not set | 175 | # CONFIG_MPC85xx_MDS is not set |
165 | # CONFIG_MPC8536_DS is not set | 176 | # CONFIG_MPC8536_DS is not set |
166 | # CONFIG_MPC85xx_DS is not set | 177 | # CONFIG_MPC85xx_DS is not set |
178 | # CONFIG_SOCRATES is not set | ||
167 | # CONFIG_KSI8560 is not set | 179 | # CONFIG_KSI8560 is not set |
168 | # CONFIG_STX_GP3 is not set | 180 | # CONFIG_STX_GP3 is not set |
169 | # CONFIG_TQM8540 is not set | 181 | # CONFIG_TQM8540 is not set |
@@ -231,9 +243,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
231 | CONFIG_BOUNCE=y | 243 | CONFIG_BOUNCE=y |
232 | CONFIG_VIRT_TO_BUS=y | 244 | CONFIG_VIRT_TO_BUS=y |
233 | CONFIG_UNEVICTABLE_LRU=y | 245 | CONFIG_UNEVICTABLE_LRU=y |
246 | CONFIG_HAVE_MLOCK=y | ||
247 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | CONFIG_PPC_4K_PAGES=y | 248 | CONFIG_PPC_4K_PAGES=y |
235 | # CONFIG_PPC_16K_PAGES is not set | 249 | # CONFIG_PPC_16K_PAGES is not set |
236 | # CONFIG_PPC_64K_PAGES is not set | 250 | # CONFIG_PPC_64K_PAGES is not set |
251 | # CONFIG_PPC_256K_PAGES is not set | ||
237 | CONFIG_FORCE_MAX_ZONEORDER=11 | 252 | CONFIG_FORCE_MAX_ZONEORDER=11 |
238 | CONFIG_PROC_DEVICETREE=y | 253 | CONFIG_PROC_DEVICETREE=y |
239 | # CONFIG_CMDLINE_BOOL is not set | 254 | # CONFIG_CMDLINE_BOOL is not set |
@@ -258,6 +273,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
258 | # CONFIG_PCI_MSI is not set | 273 | # CONFIG_PCI_MSI is not set |
259 | # CONFIG_PCI_LEGACY is not set | 274 | # CONFIG_PCI_LEGACY is not set |
260 | # CONFIG_PCI_STUB is not set | 275 | # CONFIG_PCI_STUB is not set |
276 | # CONFIG_PCI_IOV is not set | ||
261 | # CONFIG_PCCARD is not set | 277 | # CONFIG_PCCARD is not set |
262 | # CONFIG_HOTPLUG_PCI is not set | 278 | # CONFIG_HOTPLUG_PCI is not set |
263 | # CONFIG_HAS_RAPIDIO is not set | 279 | # CONFIG_HAS_RAPIDIO is not set |
@@ -271,17 +287,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
271 | # Default settings for advanced configuration options are used | 287 | # Default settings for advanced configuration options are used |
272 | # | 288 | # |
273 | CONFIG_LOWMEM_SIZE=0x30000000 | 289 | CONFIG_LOWMEM_SIZE=0x30000000 |
290 | CONFIG_LOWMEM_CAM_NUM=3 | ||
274 | CONFIG_PAGE_OFFSET=0xc0000000 | 291 | CONFIG_PAGE_OFFSET=0xc0000000 |
275 | CONFIG_KERNEL_START=0xc0000000 | 292 | CONFIG_KERNEL_START=0xc0000000 |
276 | CONFIG_PHYSICAL_START=0x00000000 | 293 | CONFIG_PHYSICAL_START=0x00000000 |
277 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 294 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
278 | CONFIG_TASK_SIZE=0xc0000000 | 295 | CONFIG_TASK_SIZE=0xc0000000 |
279 | CONFIG_NET=y | 296 | CONFIG_NET=y |
280 | 297 | ||
281 | # | 298 | # |
282 | # Networking options | 299 | # Networking options |
283 | # | 300 | # |
284 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
285 | CONFIG_PACKET=y | 301 | CONFIG_PACKET=y |
286 | # CONFIG_PACKET_MMAP is not set | 302 | # CONFIG_PACKET_MMAP is not set |
287 | CONFIG_UNIX=y | 303 | CONFIG_UNIX=y |
@@ -337,6 +353,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
337 | # CONFIG_LAPB is not set | 353 | # CONFIG_LAPB is not set |
338 | # CONFIG_ECONET is not set | 354 | # CONFIG_ECONET is not set |
339 | # CONFIG_WAN_ROUTER is not set | 355 | # CONFIG_WAN_ROUTER is not set |
356 | # CONFIG_PHONET is not set | ||
340 | # CONFIG_NET_SCHED is not set | 357 | # CONFIG_NET_SCHED is not set |
341 | # CONFIG_DCB is not set | 358 | # CONFIG_DCB is not set |
342 | 359 | ||
@@ -349,7 +366,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
349 | # CONFIG_IRDA is not set | 366 | # CONFIG_IRDA is not set |
350 | # CONFIG_BT is not set | 367 | # CONFIG_BT is not set |
351 | # CONFIG_AF_RXRPC is not set | 368 | # CONFIG_AF_RXRPC is not set |
352 | # CONFIG_PHONET is not set | ||
353 | CONFIG_WIRELESS=y | 369 | CONFIG_WIRELESS=y |
354 | # CONFIG_CFG80211 is not set | 370 | # CONFIG_CFG80211 is not set |
355 | CONFIG_WIRELESS_OLD_REGULATORY=y | 371 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -396,12 +412,16 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
396 | # CONFIG_BLK_DEV_HD is not set | 412 | # CONFIG_BLK_DEV_HD is not set |
397 | CONFIG_MISC_DEVICES=y | 413 | CONFIG_MISC_DEVICES=y |
398 | # CONFIG_PHANTOM is not set | 414 | # CONFIG_PHANTOM is not set |
399 | # CONFIG_EEPROM_93CX6 is not set | ||
400 | # CONFIG_SGI_IOC4 is not set | 415 | # CONFIG_SGI_IOC4 is not set |
401 | # CONFIG_TIFM_CORE is not set | 416 | # CONFIG_TIFM_CORE is not set |
402 | # CONFIG_ENCLOSURE_SERVICES is not set | 417 | # CONFIG_ENCLOSURE_SERVICES is not set |
403 | # CONFIG_HP_ILO is not set | 418 | # CONFIG_HP_ILO is not set |
404 | # CONFIG_C2PORT is not set | 419 | # CONFIG_C2PORT is not set |
420 | |||
421 | # | ||
422 | # EEPROM support | ||
423 | # | ||
424 | # CONFIG_EEPROM_93CX6 is not set | ||
405 | CONFIG_HAVE_IDE=y | 425 | CONFIG_HAVE_IDE=y |
406 | # CONFIG_IDE is not set | 426 | # CONFIG_IDE is not set |
407 | 427 | ||
@@ -428,6 +448,7 @@ CONFIG_HAVE_IDE=y | |||
428 | # CONFIG_I2O is not set | 448 | # CONFIG_I2O is not set |
429 | # CONFIG_MACINTOSH_DRIVERS is not set | 449 | # CONFIG_MACINTOSH_DRIVERS is not set |
430 | CONFIG_NETDEVICES=y | 450 | CONFIG_NETDEVICES=y |
451 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
431 | # CONFIG_DUMMY is not set | 452 | # CONFIG_DUMMY is not set |
432 | # CONFIG_BONDING is not set | 453 | # CONFIG_BONDING is not set |
433 | # CONFIG_MACVLAN is not set | 454 | # CONFIG_MACVLAN is not set |
@@ -461,6 +482,8 @@ CONFIG_MII=y | |||
461 | # CONFIG_SUNGEM is not set | 482 | # CONFIG_SUNGEM is not set |
462 | # CONFIG_CASSINI is not set | 483 | # CONFIG_CASSINI is not set |
463 | # CONFIG_NET_VENDOR_3COM is not set | 484 | # CONFIG_NET_VENDOR_3COM is not set |
485 | # CONFIG_ETHOC is not set | ||
486 | # CONFIG_DNET is not set | ||
464 | # CONFIG_NET_TULIP is not set | 487 | # CONFIG_NET_TULIP is not set |
465 | # CONFIG_HP100 is not set | 488 | # CONFIG_HP100 is not set |
466 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 489 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -480,6 +503,7 @@ CONFIG_NETDEV_1000=y | |||
480 | # CONFIG_E1000E is not set | 503 | # CONFIG_E1000E is not set |
481 | # CONFIG_IP1000 is not set | 504 | # CONFIG_IP1000 is not set |
482 | # CONFIG_IGB is not set | 505 | # CONFIG_IGB is not set |
506 | # CONFIG_IGBVF is not set | ||
483 | # CONFIG_NS83820 is not set | 507 | # CONFIG_NS83820 is not set |
484 | # CONFIG_HAMACHI is not set | 508 | # CONFIG_HAMACHI is not set |
485 | # CONFIG_YELLOWFIN is not set | 509 | # CONFIG_YELLOWFIN is not set |
@@ -490,10 +514,12 @@ CONFIG_NETDEV_1000=y | |||
490 | # CONFIG_VIA_VELOCITY is not set | 514 | # CONFIG_VIA_VELOCITY is not set |
491 | # CONFIG_TIGON3 is not set | 515 | # CONFIG_TIGON3 is not set |
492 | # CONFIG_BNX2 is not set | 516 | # CONFIG_BNX2 is not set |
517 | CONFIG_FSL_PQ_MDIO=y | ||
493 | CONFIG_GIANFAR=y | 518 | CONFIG_GIANFAR=y |
494 | # CONFIG_QLA3XXX is not set | 519 | # CONFIG_QLA3XXX is not set |
495 | # CONFIG_ATL1 is not set | 520 | # CONFIG_ATL1 is not set |
496 | # CONFIG_ATL1E is not set | 521 | # CONFIG_ATL1E is not set |
522 | # CONFIG_ATL1C is not set | ||
497 | # CONFIG_JME is not set | 523 | # CONFIG_JME is not set |
498 | CONFIG_NETDEV_10000=y | 524 | CONFIG_NETDEV_10000=y |
499 | # CONFIG_CHELSIO_T1 is not set | 525 | # CONFIG_CHELSIO_T1 is not set |
@@ -503,6 +529,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
503 | # CONFIG_IXGBE is not set | 529 | # CONFIG_IXGBE is not set |
504 | # CONFIG_IXGB is not set | 530 | # CONFIG_IXGB is not set |
505 | # CONFIG_S2IO is not set | 531 | # CONFIG_S2IO is not set |
532 | # CONFIG_VXGE is not set | ||
506 | # CONFIG_MYRI10GE is not set | 533 | # CONFIG_MYRI10GE is not set |
507 | # CONFIG_NETXEN_NIC is not set | 534 | # CONFIG_NETXEN_NIC is not set |
508 | # CONFIG_NIU is not set | 535 | # CONFIG_NIU is not set |
@@ -512,6 +539,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
512 | # CONFIG_BNX2X is not set | 539 | # CONFIG_BNX2X is not set |
513 | # CONFIG_QLGE is not set | 540 | # CONFIG_QLGE is not set |
514 | # CONFIG_SFC is not set | 541 | # CONFIG_SFC is not set |
542 | # CONFIG_BE2NET is not set | ||
515 | # CONFIG_TR is not set | 543 | # CONFIG_TR is not set |
516 | 544 | ||
517 | # | 545 | # |
@@ -519,7 +547,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
519 | # | 547 | # |
520 | # CONFIG_WLAN_PRE80211 is not set | 548 | # CONFIG_WLAN_PRE80211 is not set |
521 | # CONFIG_WLAN_80211 is not set | 549 | # CONFIG_WLAN_80211 is not set |
522 | # CONFIG_IWLWIFI_LEDS is not set | ||
523 | 550 | ||
524 | # | 551 | # |
525 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 552 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -692,6 +719,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y | |||
692 | # CONFIG_EDAC is not set | 719 | # CONFIG_EDAC is not set |
693 | # CONFIG_RTC_CLASS is not set | 720 | # CONFIG_RTC_CLASS is not set |
694 | # CONFIG_DMADEVICES is not set | 721 | # CONFIG_DMADEVICES is not set |
722 | # CONFIG_AUXDISPLAY is not set | ||
695 | # CONFIG_UIO is not set | 723 | # CONFIG_UIO is not set |
696 | # CONFIG_STAGING is not set | 724 | # CONFIG_STAGING is not set |
697 | 725 | ||
@@ -717,6 +745,11 @@ CONFIG_INOTIFY_USER=y | |||
717 | # CONFIG_FUSE_FS is not set | 745 | # CONFIG_FUSE_FS is not set |
718 | 746 | ||
719 | # | 747 | # |
748 | # Caches | ||
749 | # | ||
750 | # CONFIG_FSCACHE is not set | ||
751 | |||
752 | # | ||
720 | # CD-ROM/DVD Filesystems | 753 | # CD-ROM/DVD Filesystems |
721 | # | 754 | # |
722 | # CONFIG_ISO9660_FS is not set | 755 | # CONFIG_ISO9660_FS is not set |
@@ -759,6 +792,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
759 | # CONFIG_ROMFS_FS is not set | 792 | # CONFIG_ROMFS_FS is not set |
760 | # CONFIG_SYSV_FS is not set | 793 | # CONFIG_SYSV_FS is not set |
761 | # CONFIG_UFS_FS is not set | 794 | # CONFIG_UFS_FS is not set |
795 | # CONFIG_NILFS2_FS is not set | ||
762 | CONFIG_NETWORK_FILESYSTEMS=y | 796 | CONFIG_NETWORK_FILESYSTEMS=y |
763 | CONFIG_NFS_FS=y | 797 | CONFIG_NFS_FS=y |
764 | # CONFIG_NFS_V3 is not set | 798 | # CONFIG_NFS_V3 is not set |
@@ -768,7 +802,6 @@ CONFIG_ROOT_NFS=y | |||
768 | CONFIG_LOCKD=y | 802 | CONFIG_LOCKD=y |
769 | CONFIG_NFS_COMMON=y | 803 | CONFIG_NFS_COMMON=y |
770 | CONFIG_SUNRPC=y | 804 | CONFIG_SUNRPC=y |
771 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
772 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 805 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
773 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 806 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
774 | # CONFIG_SMB_FS is not set | 807 | # CONFIG_SMB_FS is not set |
@@ -784,6 +817,7 @@ CONFIG_SUNRPC=y | |||
784 | CONFIG_MSDOS_PARTITION=y | 817 | CONFIG_MSDOS_PARTITION=y |
785 | # CONFIG_NLS is not set | 818 | # CONFIG_NLS is not set |
786 | # CONFIG_DLM is not set | 819 | # CONFIG_DLM is not set |
820 | # CONFIG_BINARY_PRINTF is not set | ||
787 | 821 | ||
788 | # | 822 | # |
789 | # Library routines | 823 | # Library routines |
@@ -797,11 +831,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
797 | CONFIG_CRC32=y | 831 | CONFIG_CRC32=y |
798 | # CONFIG_CRC7 is not set | 832 | # CONFIG_CRC7 is not set |
799 | # CONFIG_LIBCRC32C is not set | 833 | # CONFIG_LIBCRC32C is not set |
800 | CONFIG_PLIST=y | 834 | CONFIG_ZLIB_INFLATE=y |
835 | CONFIG_DECOMPRESS_GZIP=y | ||
801 | CONFIG_HAS_IOMEM=y | 836 | CONFIG_HAS_IOMEM=y |
802 | CONFIG_HAS_IOPORT=y | 837 | CONFIG_HAS_IOPORT=y |
803 | CONFIG_HAS_DMA=y | 838 | CONFIG_HAS_DMA=y |
804 | CONFIG_HAVE_LMB=y | 839 | CONFIG_HAVE_LMB=y |
840 | CONFIG_NLATTR=y | ||
805 | 841 | ||
806 | # | 842 | # |
807 | # Kernel hacking | 843 | # Kernel hacking |
@@ -821,13 +857,24 @@ CONFIG_FRAME_WARN=1024 | |||
821 | # CONFIG_LATENCYTOP is not set | 857 | # CONFIG_LATENCYTOP is not set |
822 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 858 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
823 | CONFIG_HAVE_FUNCTION_TRACER=y | 859 | CONFIG_HAVE_FUNCTION_TRACER=y |
860 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
824 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 861 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
825 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 862 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
863 | CONFIG_TRACING_SUPPORT=y | ||
826 | 864 | ||
827 | # | 865 | # |
828 | # Tracers | 866 | # Tracers |
829 | # | 867 | # |
830 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 868 | # CONFIG_FUNCTION_TRACER is not set |
869 | # CONFIG_SCHED_TRACER is not set | ||
870 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
871 | # CONFIG_EVENT_TRACER is not set | ||
872 | # CONFIG_BOOT_TRACER is not set | ||
873 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
874 | # CONFIG_STACK_TRACER is not set | ||
875 | # CONFIG_KMEMTRACE is not set | ||
876 | # CONFIG_WORKQUEUE_TRACER is not set | ||
877 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
831 | # CONFIG_SAMPLES is not set | 878 | # CONFIG_SAMPLES is not set |
832 | CONFIG_HAVE_ARCH_KGDB=y | 879 | CONFIG_HAVE_ARCH_KGDB=y |
833 | CONFIG_PRINT_STACK_DEPTH=64 | 880 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -918,6 +965,7 @@ CONFIG_CRYPTO=y | |||
918 | # Compression | 965 | # Compression |
919 | # | 966 | # |
920 | # CONFIG_CRYPTO_DEFLATE is not set | 967 | # CONFIG_CRYPTO_DEFLATE is not set |
968 | # CONFIG_CRYPTO_ZLIB is not set | ||
921 | # CONFIG_CRYPTO_LZO is not set | 969 | # CONFIG_CRYPTO_LZO is not set |
922 | 970 | ||
923 | # | 971 | # |
diff --git a/arch/powerpc/configs/85xx/sbc8560_defconfig b/arch/powerpc/configs/85xx/sbc8560_defconfig index b1c766ef7e2e..4aaf1a6bdc7d 100644 --- a/arch/powerpc/configs/85xx/sbc8560_defconfig +++ b/arch/powerpc/configs/85xx/sbc8560_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:17 2009 | 4 | # Wed May 13 17:22:20 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
58 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 77 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 79 | # CONFIG_AUDIT is not set |
80 | |||
81 | # | ||
82 | # RCU Subsystem | ||
83 | # | ||
84 | CONFIG_CLASSIC_RCU=y | ||
85 | # CONFIG_TREE_RCU is not set | ||
86 | # CONFIG_PREEMPT_RCU is not set | ||
87 | # CONFIG_TREE_RCU_TRACE is not set | ||
88 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | # CONFIG_IKCONFIG is not set | 89 | # CONFIG_IKCONFIG is not set |
79 | CONFIG_LOG_BUF_SHIFT=14 | 90 | CONFIG_LOG_BUF_SHIFT=14 |
80 | CONFIG_GROUP_SCHED=y | 91 | CONFIG_GROUP_SCHED=y |
@@ -89,21 +100,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
89 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
90 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
91 | CONFIG_INITRAMFS_SOURCE="" | 102 | CONFIG_INITRAMFS_SOURCE="" |
103 | CONFIG_RD_GZIP=y | ||
104 | # CONFIG_RD_BZIP2 is not set | ||
105 | # CONFIG_RD_LZMA is not set | ||
92 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 106 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
93 | CONFIG_SYSCTL=y | 107 | CONFIG_SYSCTL=y |
108 | CONFIG_ANON_INODES=y | ||
94 | CONFIG_EMBEDDED=y | 109 | CONFIG_EMBEDDED=y |
95 | CONFIG_SYSCTL_SYSCALL=y | 110 | CONFIG_SYSCTL_SYSCALL=y |
96 | CONFIG_KALLSYMS=y | 111 | CONFIG_KALLSYMS=y |
97 | # CONFIG_KALLSYMS_ALL is not set | 112 | # CONFIG_KALLSYMS_ALL is not set |
98 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 113 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
114 | # CONFIG_STRIP_ASM_SYMS is not set | ||
99 | CONFIG_HOTPLUG=y | 115 | CONFIG_HOTPLUG=y |
100 | CONFIG_PRINTK=y | 116 | CONFIG_PRINTK=y |
101 | CONFIG_BUG=y | 117 | CONFIG_BUG=y |
102 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
103 | CONFIG_COMPAT_BRK=y | ||
104 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
105 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
106 | CONFIG_ANON_INODES=y | ||
107 | CONFIG_EPOLL=y | 121 | CONFIG_EPOLL=y |
108 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
109 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
@@ -111,16 +125,19 @@ CONFIG_EVENTFD=y | |||
111 | CONFIG_SHMEM=y | 125 | CONFIG_SHMEM=y |
112 | CONFIG_AIO=y | 126 | CONFIG_AIO=y |
113 | CONFIG_VM_EVENT_COUNTERS=y | 127 | CONFIG_VM_EVENT_COUNTERS=y |
128 | CONFIG_COMPAT_BRK=y | ||
114 | CONFIG_SLAB=y | 129 | CONFIG_SLAB=y |
115 | # CONFIG_SLUB is not set | 130 | # CONFIG_SLUB is not set |
116 | # CONFIG_SLOB is not set | 131 | # CONFIG_SLOB is not set |
117 | # CONFIG_PROFILING is not set | 132 | # CONFIG_PROFILING is not set |
133 | # CONFIG_MARKERS is not set | ||
118 | CONFIG_HAVE_OPROFILE=y | 134 | CONFIG_HAVE_OPROFILE=y |
119 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 135 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
120 | CONFIG_HAVE_IOREMAP_PROT=y | 136 | CONFIG_HAVE_IOREMAP_PROT=y |
121 | CONFIG_HAVE_KPROBES=y | 137 | CONFIG_HAVE_KPROBES=y |
122 | CONFIG_HAVE_KRETPROBES=y | 138 | CONFIG_HAVE_KRETPROBES=y |
123 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 139 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
140 | # CONFIG_SLOW_WORK is not set | ||
124 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 141 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
125 | CONFIG_SLABINFO=y | 142 | CONFIG_SLABINFO=y |
126 | CONFIG_RT_MUTEXES=y | 143 | CONFIG_RT_MUTEXES=y |
@@ -128,7 +145,6 @@ CONFIG_BASE_SMALL=0 | |||
128 | # CONFIG_MODULES is not set | 145 | # CONFIG_MODULES is not set |
129 | CONFIG_BLOCK=y | 146 | CONFIG_BLOCK=y |
130 | # CONFIG_LBD is not set | 147 | # CONFIG_LBD is not set |
131 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
132 | # CONFIG_BLK_DEV_BSG is not set | 148 | # CONFIG_BLK_DEV_BSG is not set |
133 | # CONFIG_BLK_DEV_INTEGRITY is not set | 149 | # CONFIG_BLK_DEV_INTEGRITY is not set |
134 | 150 | ||
@@ -144,11 +160,6 @@ CONFIG_DEFAULT_AS=y | |||
144 | # CONFIG_DEFAULT_CFQ is not set | 160 | # CONFIG_DEFAULT_CFQ is not set |
145 | # CONFIG_DEFAULT_NOOP is not set | 161 | # CONFIG_DEFAULT_NOOP is not set |
146 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 162 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
147 | CONFIG_CLASSIC_RCU=y | ||
148 | # CONFIG_TREE_RCU is not set | ||
149 | # CONFIG_PREEMPT_RCU is not set | ||
150 | # CONFIG_TREE_RCU_TRACE is not set | ||
151 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
152 | # CONFIG_FREEZER is not set | 163 | # CONFIG_FREEZER is not set |
153 | 164 | ||
154 | # | 165 | # |
@@ -164,6 +175,7 @@ CONFIG_MPC85xx=y | |||
164 | # CONFIG_MPC85xx_MDS is not set | 175 | # CONFIG_MPC85xx_MDS is not set |
165 | # CONFIG_MPC8536_DS is not set | 176 | # CONFIG_MPC8536_DS is not set |
166 | # CONFIG_MPC85xx_DS is not set | 177 | # CONFIG_MPC85xx_DS is not set |
178 | # CONFIG_SOCRATES is not set | ||
167 | # CONFIG_KSI8560 is not set | 179 | # CONFIG_KSI8560 is not set |
168 | # CONFIG_STX_GP3 is not set | 180 | # CONFIG_STX_GP3 is not set |
169 | # CONFIG_TQM8540 is not set | 181 | # CONFIG_TQM8540 is not set |
@@ -231,9 +243,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
231 | CONFIG_BOUNCE=y | 243 | CONFIG_BOUNCE=y |
232 | CONFIG_VIRT_TO_BUS=y | 244 | CONFIG_VIRT_TO_BUS=y |
233 | CONFIG_UNEVICTABLE_LRU=y | 245 | CONFIG_UNEVICTABLE_LRU=y |
246 | CONFIG_HAVE_MLOCK=y | ||
247 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | CONFIG_PPC_4K_PAGES=y | 248 | CONFIG_PPC_4K_PAGES=y |
235 | # CONFIG_PPC_16K_PAGES is not set | 249 | # CONFIG_PPC_16K_PAGES is not set |
236 | # CONFIG_PPC_64K_PAGES is not set | 250 | # CONFIG_PPC_64K_PAGES is not set |
251 | # CONFIG_PPC_256K_PAGES is not set | ||
237 | CONFIG_FORCE_MAX_ZONEORDER=11 | 252 | CONFIG_FORCE_MAX_ZONEORDER=11 |
238 | CONFIG_PROC_DEVICETREE=y | 253 | CONFIG_PROC_DEVICETREE=y |
239 | # CONFIG_CMDLINE_BOOL is not set | 254 | # CONFIG_CMDLINE_BOOL is not set |
@@ -264,17 +279,17 @@ CONFIG_PPC_PCI_CHOICE=y | |||
264 | # Default settings for advanced configuration options are used | 279 | # Default settings for advanced configuration options are used |
265 | # | 280 | # |
266 | CONFIG_LOWMEM_SIZE=0x30000000 | 281 | CONFIG_LOWMEM_SIZE=0x30000000 |
282 | CONFIG_LOWMEM_CAM_NUM=3 | ||
267 | CONFIG_PAGE_OFFSET=0xc0000000 | 283 | CONFIG_PAGE_OFFSET=0xc0000000 |
268 | CONFIG_KERNEL_START=0xc0000000 | 284 | CONFIG_KERNEL_START=0xc0000000 |
269 | CONFIG_PHYSICAL_START=0x00000000 | 285 | CONFIG_PHYSICAL_START=0x00000000 |
270 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 286 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
271 | CONFIG_TASK_SIZE=0xc0000000 | 287 | CONFIG_TASK_SIZE=0xc0000000 |
272 | CONFIG_NET=y | 288 | CONFIG_NET=y |
273 | 289 | ||
274 | # | 290 | # |
275 | # Networking options | 291 | # Networking options |
276 | # | 292 | # |
277 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
278 | CONFIG_PACKET=y | 293 | CONFIG_PACKET=y |
279 | # CONFIG_PACKET_MMAP is not set | 294 | # CONFIG_PACKET_MMAP is not set |
280 | CONFIG_UNIX=y | 295 | CONFIG_UNIX=y |
@@ -330,6 +345,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
330 | # CONFIG_LAPB is not set | 345 | # CONFIG_LAPB is not set |
331 | # CONFIG_ECONET is not set | 346 | # CONFIG_ECONET is not set |
332 | # CONFIG_WAN_ROUTER is not set | 347 | # CONFIG_WAN_ROUTER is not set |
348 | # CONFIG_PHONET is not set | ||
333 | # CONFIG_NET_SCHED is not set | 349 | # CONFIG_NET_SCHED is not set |
334 | # CONFIG_DCB is not set | 350 | # CONFIG_DCB is not set |
335 | 351 | ||
@@ -342,7 +358,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
342 | # CONFIG_IRDA is not set | 358 | # CONFIG_IRDA is not set |
343 | # CONFIG_BT is not set | 359 | # CONFIG_BT is not set |
344 | # CONFIG_AF_RXRPC is not set | 360 | # CONFIG_AF_RXRPC is not set |
345 | # CONFIG_PHONET is not set | ||
346 | CONFIG_WIRELESS=y | 361 | CONFIG_WIRELESS=y |
347 | # CONFIG_CFG80211 is not set | 362 | # CONFIG_CFG80211 is not set |
348 | CONFIG_WIRELESS_OLD_REGULATORY=y | 363 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -385,9 +400,13 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
385 | # CONFIG_ATA_OVER_ETH is not set | 400 | # CONFIG_ATA_OVER_ETH is not set |
386 | # CONFIG_BLK_DEV_HD is not set | 401 | # CONFIG_BLK_DEV_HD is not set |
387 | CONFIG_MISC_DEVICES=y | 402 | CONFIG_MISC_DEVICES=y |
388 | # CONFIG_EEPROM_93CX6 is not set | ||
389 | # CONFIG_ENCLOSURE_SERVICES is not set | 403 | # CONFIG_ENCLOSURE_SERVICES is not set |
390 | # CONFIG_C2PORT is not set | 404 | # CONFIG_C2PORT is not set |
405 | |||
406 | # | ||
407 | # EEPROM support | ||
408 | # | ||
409 | # CONFIG_EEPROM_93CX6 is not set | ||
391 | CONFIG_HAVE_IDE=y | 410 | CONFIG_HAVE_IDE=y |
392 | # CONFIG_IDE is not set | 411 | # CONFIG_IDE is not set |
393 | 412 | ||
@@ -402,6 +421,7 @@ CONFIG_HAVE_IDE=y | |||
402 | # CONFIG_MD is not set | 421 | # CONFIG_MD is not set |
403 | # CONFIG_MACINTOSH_DRIVERS is not set | 422 | # CONFIG_MACINTOSH_DRIVERS is not set |
404 | CONFIG_NETDEVICES=y | 423 | CONFIG_NETDEVICES=y |
424 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
405 | # CONFIG_DUMMY is not set | 425 | # CONFIG_DUMMY is not set |
406 | # CONFIG_BONDING is not set | 426 | # CONFIG_BONDING is not set |
407 | # CONFIG_MACVLAN is not set | 427 | # CONFIG_MACVLAN is not set |
@@ -430,6 +450,8 @@ CONFIG_BROADCOM_PHY=y | |||
430 | # CONFIG_MDIO_BITBANG is not set | 450 | # CONFIG_MDIO_BITBANG is not set |
431 | CONFIG_NET_ETHERNET=y | 451 | CONFIG_NET_ETHERNET=y |
432 | CONFIG_MII=y | 452 | CONFIG_MII=y |
453 | # CONFIG_ETHOC is not set | ||
454 | # CONFIG_DNET is not set | ||
433 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 455 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
434 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 456 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
435 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 457 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -439,6 +461,7 @@ CONFIG_MII=y | |||
439 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 461 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
440 | # CONFIG_B44 is not set | 462 | # CONFIG_B44 is not set |
441 | CONFIG_NETDEV_1000=y | 463 | CONFIG_NETDEV_1000=y |
464 | CONFIG_FSL_PQ_MDIO=y | ||
442 | CONFIG_GIANFAR=y | 465 | CONFIG_GIANFAR=y |
443 | CONFIG_NETDEV_10000=y | 466 | CONFIG_NETDEV_10000=y |
444 | 467 | ||
@@ -447,7 +470,6 @@ CONFIG_NETDEV_10000=y | |||
447 | # | 470 | # |
448 | # CONFIG_WLAN_PRE80211 is not set | 471 | # CONFIG_WLAN_PRE80211 is not set |
449 | # CONFIG_WLAN_80211 is not set | 472 | # CONFIG_WLAN_80211 is not set |
450 | # CONFIG_IWLWIFI_LEDS is not set | ||
451 | 473 | ||
452 | # | 474 | # |
453 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 475 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -603,7 +625,6 @@ CONFIG_HID=y | |||
603 | # | 625 | # |
604 | # Special HID drivers | 626 | # Special HID drivers |
605 | # | 627 | # |
606 | CONFIG_HID_COMPAT=y | ||
607 | CONFIG_USB_SUPPORT=y | 628 | CONFIG_USB_SUPPORT=y |
608 | # CONFIG_USB_ARCH_HAS_HCD is not set | 629 | # CONFIG_USB_ARCH_HAS_HCD is not set |
609 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 630 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
@@ -616,7 +637,7 @@ CONFIG_USB_SUPPORT=y | |||
616 | # | 637 | # |
617 | 638 | ||
618 | # | 639 | # |
619 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 640 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
620 | # | 641 | # |
621 | # CONFIG_USB_GADGET is not set | 642 | # CONFIG_USB_GADGET is not set |
622 | 643 | ||
@@ -665,8 +686,9 @@ CONFIG_RTC_DRV_M48T59=y | |||
665 | # | 686 | # |
666 | # on-CPU RTC drivers | 687 | # on-CPU RTC drivers |
667 | # | 688 | # |
668 | # CONFIG_RTC_DRV_PPC is not set | 689 | # CONFIG_RTC_DRV_GENERIC is not set |
669 | # CONFIG_DMADEVICES is not set | 690 | # CONFIG_DMADEVICES is not set |
691 | # CONFIG_AUXDISPLAY is not set | ||
670 | # CONFIG_UIO is not set | 692 | # CONFIG_UIO is not set |
671 | # CONFIG_STAGING is not set | 693 | # CONFIG_STAGING is not set |
672 | 694 | ||
@@ -692,6 +714,11 @@ CONFIG_INOTIFY_USER=y | |||
692 | # CONFIG_FUSE_FS is not set | 714 | # CONFIG_FUSE_FS is not set |
693 | 715 | ||
694 | # | 716 | # |
717 | # Caches | ||
718 | # | ||
719 | # CONFIG_FSCACHE is not set | ||
720 | |||
721 | # | ||
695 | # CD-ROM/DVD Filesystems | 722 | # CD-ROM/DVD Filesystems |
696 | # | 723 | # |
697 | # CONFIG_ISO9660_FS is not set | 724 | # CONFIG_ISO9660_FS is not set |
@@ -734,6 +761,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
734 | # CONFIG_ROMFS_FS is not set | 761 | # CONFIG_ROMFS_FS is not set |
735 | # CONFIG_SYSV_FS is not set | 762 | # CONFIG_SYSV_FS is not set |
736 | # CONFIG_UFS_FS is not set | 763 | # CONFIG_UFS_FS is not set |
764 | # CONFIG_NILFS2_FS is not set | ||
737 | CONFIG_NETWORK_FILESYSTEMS=y | 765 | CONFIG_NETWORK_FILESYSTEMS=y |
738 | CONFIG_NFS_FS=y | 766 | CONFIG_NFS_FS=y |
739 | # CONFIG_NFS_V3 is not set | 767 | # CONFIG_NFS_V3 is not set |
@@ -743,7 +771,6 @@ CONFIG_ROOT_NFS=y | |||
743 | CONFIG_LOCKD=y | 771 | CONFIG_LOCKD=y |
744 | CONFIG_NFS_COMMON=y | 772 | CONFIG_NFS_COMMON=y |
745 | CONFIG_SUNRPC=y | 773 | CONFIG_SUNRPC=y |
746 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
747 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 774 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
748 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 775 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
749 | # CONFIG_SMB_FS is not set | 776 | # CONFIG_SMB_FS is not set |
@@ -771,6 +798,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
771 | # CONFIG_SYSV68_PARTITION is not set | 798 | # CONFIG_SYSV68_PARTITION is not set |
772 | # CONFIG_NLS is not set | 799 | # CONFIG_NLS is not set |
773 | # CONFIG_DLM is not set | 800 | # CONFIG_DLM is not set |
801 | # CONFIG_BINARY_PRINTF is not set | ||
774 | 802 | ||
775 | # | 803 | # |
776 | # Library routines | 804 | # Library routines |
@@ -784,11 +812,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
784 | CONFIG_CRC32=y | 812 | CONFIG_CRC32=y |
785 | # CONFIG_CRC7 is not set | 813 | # CONFIG_CRC7 is not set |
786 | # CONFIG_LIBCRC32C is not set | 814 | # CONFIG_LIBCRC32C is not set |
787 | CONFIG_PLIST=y | 815 | CONFIG_ZLIB_INFLATE=y |
816 | CONFIG_DECOMPRESS_GZIP=y | ||
788 | CONFIG_HAS_IOMEM=y | 817 | CONFIG_HAS_IOMEM=y |
789 | CONFIG_HAS_IOPORT=y | 818 | CONFIG_HAS_IOPORT=y |
790 | CONFIG_HAS_DMA=y | 819 | CONFIG_HAS_DMA=y |
791 | CONFIG_HAVE_LMB=y | 820 | CONFIG_HAVE_LMB=y |
821 | CONFIG_NLATTR=y | ||
792 | 822 | ||
793 | # | 823 | # |
794 | # Kernel hacking | 824 | # Kernel hacking |
@@ -806,6 +836,9 @@ CONFIG_DEBUG_KERNEL=y | |||
806 | CONFIG_DETECT_SOFTLOCKUP=y | 836 | CONFIG_DETECT_SOFTLOCKUP=y |
807 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 837 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
808 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 838 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
839 | CONFIG_DETECT_HUNG_TASK=y | ||
840 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
841 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
809 | CONFIG_SCHED_DEBUG=y | 842 | CONFIG_SCHED_DEBUG=y |
810 | # CONFIG_SCHEDSTATS is not set | 843 | # CONFIG_SCHEDSTATS is not set |
811 | # CONFIG_TIMER_STATS is not set | 844 | # CONFIG_TIMER_STATS is not set |
@@ -834,9 +867,12 @@ CONFIG_DEBUG_MUTEXES=y | |||
834 | # CONFIG_FAULT_INJECTION is not set | 867 | # CONFIG_FAULT_INJECTION is not set |
835 | # CONFIG_LATENCYTOP is not set | 868 | # CONFIG_LATENCYTOP is not set |
836 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 869 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
870 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
837 | CONFIG_HAVE_FUNCTION_TRACER=y | 871 | CONFIG_HAVE_FUNCTION_TRACER=y |
872 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
838 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 873 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
839 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 874 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
875 | CONFIG_TRACING_SUPPORT=y | ||
840 | 876 | ||
841 | # | 877 | # |
842 | # Tracers | 878 | # Tracers |
@@ -844,17 +880,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
844 | # CONFIG_FUNCTION_TRACER is not set | 880 | # CONFIG_FUNCTION_TRACER is not set |
845 | # CONFIG_SCHED_TRACER is not set | 881 | # CONFIG_SCHED_TRACER is not set |
846 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 882 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
883 | # CONFIG_EVENT_TRACER is not set | ||
847 | # CONFIG_BOOT_TRACER is not set | 884 | # CONFIG_BOOT_TRACER is not set |
848 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 885 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
849 | # CONFIG_STACK_TRACER is not set | 886 | # CONFIG_STACK_TRACER is not set |
850 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 887 | # CONFIG_KMEMTRACE is not set |
888 | # CONFIG_WORKQUEUE_TRACER is not set | ||
889 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
851 | # CONFIG_SAMPLES is not set | 890 | # CONFIG_SAMPLES is not set |
852 | CONFIG_HAVE_ARCH_KGDB=y | 891 | CONFIG_HAVE_ARCH_KGDB=y |
853 | # CONFIG_KGDB is not set | 892 | # CONFIG_KGDB is not set |
854 | CONFIG_PRINT_STACK_DEPTH=64 | 893 | CONFIG_PRINT_STACK_DEPTH=64 |
855 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 894 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
856 | # CONFIG_DEBUG_STACK_USAGE is not set | 895 | # CONFIG_DEBUG_STACK_USAGE is not set |
857 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
858 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 896 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
859 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 897 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
860 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 898 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -958,6 +996,7 @@ CONFIG_CRYPTO=y | |||
958 | # Compression | 996 | # Compression |
959 | # | 997 | # |
960 | # CONFIG_CRYPTO_DEFLATE is not set | 998 | # CONFIG_CRYPTO_DEFLATE is not set |
999 | # CONFIG_CRYPTO_ZLIB is not set | ||
961 | # CONFIG_CRYPTO_LZO is not set | 1000 | # CONFIG_CRYPTO_LZO is not set |
962 | 1001 | ||
963 | # | 1002 | # |
diff --git a/arch/powerpc/configs/85xx/socrates_defconfig b/arch/powerpc/configs/85xx/socrates_defconfig index 0cc9048290a8..79984589db69 100644 --- a/arch/powerpc/configs/85xx/socrates_defconfig +++ b/arch/powerpc/configs/85xx/socrates_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.26.2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Sat Oct 18 11:06:13 2008 | 4 | # Wed May 13 17:22:21 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -15,15 +15,19 @@ CONFIG_PPC_85xx=y | |||
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_E500=y | 17 | CONFIG_E500=y |
18 | # CONFIG_PPC_E500MC is not set | ||
18 | CONFIG_BOOKE=y | 19 | CONFIG_BOOKE=y |
19 | CONFIG_FSL_BOOKE=y | 20 | CONFIG_FSL_BOOKE=y |
20 | CONFIG_FSL_EMB_PERFMON=y | 21 | CONFIG_FSL_EMB_PERFMON=y |
21 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
22 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | ||
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
23 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
27 | # CONFIG_SMP is not set | ||
24 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
25 | CONFIG_WORD_SIZE=32 | 29 | CONFIG_WORD_SIZE=32 |
26 | CONFIG_PPC_MERGE=y | 30 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
27 | CONFIG_MMU=y | 31 | CONFIG_MMU=y |
28 | CONFIG_GENERIC_CMOS_UPDATE=y | 32 | CONFIG_GENERIC_CMOS_UPDATE=y |
29 | CONFIG_GENERIC_TIME=y | 33 | CONFIG_GENERIC_TIME=y |
@@ -33,6 +37,7 @@ CONFIG_GENERIC_HARDIRQS=y | |||
33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 37 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
34 | CONFIG_IRQ_PER_CPU=y | 38 | CONFIG_IRQ_PER_CPU=y |
35 | CONFIG_STACKTRACE_SUPPORT=y | 39 | CONFIG_STACKTRACE_SUPPORT=y |
40 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
36 | CONFIG_LOCKDEP_SUPPORT=y | 41 | CONFIG_LOCKDEP_SUPPORT=y |
37 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 42 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
38 | CONFIG_ARCH_HAS_ILOG2_U32=y | 43 | CONFIG_ARCH_HAS_ILOG2_U32=y |
@@ -43,7 +48,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
43 | CONFIG_PPC=y | 48 | CONFIG_PPC=y |
44 | CONFIG_EARLY_PRINTK=y | 49 | CONFIG_EARLY_PRINTK=y |
45 | CONFIG_GENERIC_NVRAM=y | 50 | CONFIG_GENERIC_NVRAM=y |
46 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 51 | CONFIG_SCHED_OMIT_FRAME_POINTER=y |
47 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 52 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
48 | CONFIG_PPC_OF=y | 53 | CONFIG_PPC_OF=y |
49 | CONFIG_OF=y | 54 | CONFIG_OF=y |
@@ -54,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
54 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
55 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
56 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
57 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
58 | 64 | ||
59 | # | 65 | # |
@@ -71,54 +77,70 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
71 | # CONFIG_BSD_PROCESS_ACCT is not set | 77 | # CONFIG_BSD_PROCESS_ACCT is not set |
72 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
73 | # CONFIG_AUDIT is not set | 79 | # CONFIG_AUDIT is not set |
80 | |||
81 | # | ||
82 | # RCU Subsystem | ||
83 | # | ||
84 | CONFIG_CLASSIC_RCU=y | ||
85 | # CONFIG_TREE_RCU is not set | ||
86 | # CONFIG_PREEMPT_RCU is not set | ||
87 | # CONFIG_TREE_RCU_TRACE is not set | ||
88 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
74 | # CONFIG_IKCONFIG is not set | 89 | # CONFIG_IKCONFIG is not set |
75 | CONFIG_LOG_BUF_SHIFT=16 | 90 | CONFIG_LOG_BUF_SHIFT=16 |
76 | # CONFIG_CGROUPS is not set | ||
77 | CONFIG_GROUP_SCHED=y | 91 | CONFIG_GROUP_SCHED=y |
78 | CONFIG_FAIR_GROUP_SCHED=y | 92 | CONFIG_FAIR_GROUP_SCHED=y |
79 | # CONFIG_RT_GROUP_SCHED is not set | 93 | # CONFIG_RT_GROUP_SCHED is not set |
80 | CONFIG_USER_SCHED=y | 94 | CONFIG_USER_SCHED=y |
81 | # CONFIG_CGROUP_SCHED is not set | 95 | # CONFIG_CGROUP_SCHED is not set |
96 | # CONFIG_CGROUPS is not set | ||
82 | CONFIG_SYSFS_DEPRECATED=y | 97 | CONFIG_SYSFS_DEPRECATED=y |
83 | CONFIG_SYSFS_DEPRECATED_V2=y | 98 | CONFIG_SYSFS_DEPRECATED_V2=y |
84 | # CONFIG_RELAY is not set | 99 | # CONFIG_RELAY is not set |
85 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
86 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
87 | CONFIG_INITRAMFS_SOURCE="" | 102 | CONFIG_INITRAMFS_SOURCE="" |
103 | CONFIG_RD_GZIP=y | ||
104 | # CONFIG_RD_BZIP2 is not set | ||
105 | # CONFIG_RD_LZMA is not set | ||
88 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 106 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
89 | CONFIG_SYSCTL=y | 107 | CONFIG_SYSCTL=y |
108 | CONFIG_ANON_INODES=y | ||
90 | CONFIG_EMBEDDED=y | 109 | CONFIG_EMBEDDED=y |
91 | CONFIG_SYSCTL_SYSCALL=y | 110 | CONFIG_SYSCTL_SYSCALL=y |
92 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
93 | # CONFIG_KALLSYMS is not set | 111 | # CONFIG_KALLSYMS is not set |
112 | # CONFIG_STRIP_ASM_SYMS is not set | ||
94 | # CONFIG_HOTPLUG is not set | 113 | # CONFIG_HOTPLUG is not set |
95 | CONFIG_PRINTK=y | 114 | CONFIG_PRINTK=y |
96 | CONFIG_BUG=y | 115 | CONFIG_BUG=y |
97 | CONFIG_ELF_CORE=y | 116 | CONFIG_ELF_CORE=y |
98 | CONFIG_COMPAT_BRK=y | ||
99 | CONFIG_BASE_FULL=y | 117 | CONFIG_BASE_FULL=y |
100 | CONFIG_FUTEX=y | 118 | CONFIG_FUTEX=y |
101 | CONFIG_ANON_INODES=y | ||
102 | # CONFIG_EPOLL is not set | 119 | # CONFIG_EPOLL is not set |
103 | CONFIG_SIGNALFD=y | 120 | CONFIG_SIGNALFD=y |
104 | CONFIG_TIMERFD=y | 121 | CONFIG_TIMERFD=y |
105 | CONFIG_EVENTFD=y | 122 | CONFIG_EVENTFD=y |
106 | CONFIG_SHMEM=y | 123 | CONFIG_SHMEM=y |
124 | CONFIG_AIO=y | ||
107 | CONFIG_VM_EVENT_COUNTERS=y | 125 | CONFIG_VM_EVENT_COUNTERS=y |
126 | CONFIG_PCI_QUIRKS=y | ||
108 | CONFIG_SLUB_DEBUG=y | 127 | CONFIG_SLUB_DEBUG=y |
128 | CONFIG_COMPAT_BRK=y | ||
109 | # CONFIG_SLAB is not set | 129 | # CONFIG_SLAB is not set |
110 | CONFIG_SLUB=y | 130 | CONFIG_SLUB=y |
111 | # CONFIG_SLOB is not set | 131 | # CONFIG_SLOB is not set |
112 | # CONFIG_PROFILING is not set | 132 | # CONFIG_PROFILING is not set |
113 | # CONFIG_MARKERS is not set | 133 | # CONFIG_MARKERS is not set |
114 | CONFIG_HAVE_OPROFILE=y | 134 | CONFIG_HAVE_OPROFILE=y |
135 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | ||
136 | CONFIG_HAVE_IOREMAP_PROT=y | ||
115 | CONFIG_HAVE_KPROBES=y | 137 | CONFIG_HAVE_KPROBES=y |
116 | CONFIG_HAVE_KRETPROBES=y | 138 | CONFIG_HAVE_KRETPROBES=y |
117 | # CONFIG_HAVE_DMA_ATTRS is not set | 139 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
118 | CONFIG_PROC_PAGE_MONITOR=y | 140 | # CONFIG_SLOW_WORK is not set |
141 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
119 | CONFIG_SLABINFO=y | 142 | CONFIG_SLABINFO=y |
120 | CONFIG_RT_MUTEXES=y | 143 | CONFIG_RT_MUTEXES=y |
121 | # CONFIG_TINY_SHMEM is not set | ||
122 | CONFIG_BASE_SMALL=0 | 144 | CONFIG_BASE_SMALL=0 |
123 | CONFIG_MODULES=y | 145 | CONFIG_MODULES=y |
124 | # CONFIG_MODULE_FORCE_LOAD is not set | 146 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -126,12 +148,10 @@ CONFIG_MODULE_UNLOAD=y | |||
126 | CONFIG_MODULE_FORCE_UNLOAD=y | 148 | CONFIG_MODULE_FORCE_UNLOAD=y |
127 | # CONFIG_MODVERSIONS is not set | 149 | # CONFIG_MODVERSIONS is not set |
128 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 150 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
129 | # CONFIG_KMOD is not set | ||
130 | CONFIG_BLOCK=y | 151 | CONFIG_BLOCK=y |
131 | # CONFIG_LBD is not set | 152 | # CONFIG_LBD is not set |
132 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
133 | # CONFIG_LSF is not set | ||
134 | # CONFIG_BLK_DEV_BSG is not set | 153 | # CONFIG_BLK_DEV_BSG is not set |
154 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
135 | 155 | ||
136 | # | 156 | # |
137 | # IO Schedulers | 157 | # IO Schedulers |
@@ -145,13 +165,11 @@ CONFIG_DEFAULT_AS=y | |||
145 | # CONFIG_DEFAULT_CFQ is not set | 165 | # CONFIG_DEFAULT_CFQ is not set |
146 | # CONFIG_DEFAULT_NOOP is not set | 166 | # CONFIG_DEFAULT_NOOP is not set |
147 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 167 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
148 | CONFIG_CLASSIC_RCU=y | 168 | # CONFIG_FREEZER is not set |
149 | 169 | ||
150 | # | 170 | # |
151 | # Platform support | 171 | # Platform support |
152 | # | 172 | # |
153 | # CONFIG_PPC_MPC512x is not set | ||
154 | # CONFIG_PPC_MPC5121 is not set | ||
155 | # CONFIG_PPC_CELL is not set | 173 | # CONFIG_PPC_CELL is not set |
156 | # CONFIG_PPC_CELL_NATIVE is not set | 174 | # CONFIG_PPC_CELL_NATIVE is not set |
157 | # CONFIG_PQ2ADS is not set | 175 | # CONFIG_PQ2ADS is not set |
@@ -160,12 +178,14 @@ CONFIG_MPC85xx=y | |||
160 | # CONFIG_MPC8560_ADS is not set | 178 | # CONFIG_MPC8560_ADS is not set |
161 | # CONFIG_MPC85xx_CDS is not set | 179 | # CONFIG_MPC85xx_CDS is not set |
162 | # CONFIG_MPC85xx_MDS is not set | 180 | # CONFIG_MPC85xx_MDS is not set |
181 | # CONFIG_MPC8536_DS is not set | ||
163 | # CONFIG_MPC85xx_DS is not set | 182 | # CONFIG_MPC85xx_DS is not set |
164 | CONFIG_SOCRATES=y | 183 | CONFIG_SOCRATES=y |
165 | # CONFIG_KSI8560 is not set | 184 | # CONFIG_KSI8560 is not set |
166 | # CONFIG_STX_GP3 is not set | 185 | # CONFIG_STX_GP3 is not set |
167 | # CONFIG_TQM8540 is not set | 186 | # CONFIG_TQM8540 is not set |
168 | # CONFIG_TQM8541 is not set | 187 | # CONFIG_TQM8541 is not set |
188 | # CONFIG_TQM8548 is not set | ||
169 | # CONFIG_TQM8555 is not set | 189 | # CONFIG_TQM8555 is not set |
170 | # CONFIG_TQM8560 is not set | 190 | # CONFIG_TQM8560 is not set |
171 | # CONFIG_SBC8548 is not set | 191 | # CONFIG_SBC8548 is not set |
@@ -181,14 +201,16 @@ CONFIG_MPIC=y | |||
181 | # CONFIG_PPC_INDIRECT_IO is not set | 201 | # CONFIG_PPC_INDIRECT_IO is not set |
182 | # CONFIG_GENERIC_IOMAP is not set | 202 | # CONFIG_GENERIC_IOMAP is not set |
183 | # CONFIG_CPU_FREQ is not set | 203 | # CONFIG_CPU_FREQ is not set |
204 | # CONFIG_QUICC_ENGINE is not set | ||
184 | # CONFIG_CPM2 is not set | 205 | # CONFIG_CPM2 is not set |
185 | # CONFIG_FSL_ULI1575 is not set | 206 | # CONFIG_FSL_ULI1575 is not set |
207 | # CONFIG_MPC8xxx_GPIO is not set | ||
208 | # CONFIG_SIMPLE_GPIO is not set | ||
186 | 209 | ||
187 | # | 210 | # |
188 | # Kernel options | 211 | # Kernel options |
189 | # | 212 | # |
190 | # CONFIG_HIGHMEM is not set | 213 | # CONFIG_HIGHMEM is not set |
191 | # CONFIG_TICK_ONESHOT is not set | ||
192 | # CONFIG_NO_HZ is not set | 214 | # CONFIG_NO_HZ is not set |
193 | # CONFIG_HIGH_RES_TIMERS is not set | 215 | # CONFIG_HIGH_RES_TIMERS is not set |
194 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 216 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -202,6 +224,8 @@ CONFIG_PREEMPT_NONE=y | |||
202 | # CONFIG_PREEMPT_VOLUNTARY is not set | 224 | # CONFIG_PREEMPT_VOLUNTARY is not set |
203 | # CONFIG_PREEMPT is not set | 225 | # CONFIG_PREEMPT is not set |
204 | CONFIG_BINFMT_ELF=y | 226 | CONFIG_BINFMT_ELF=y |
227 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
228 | # CONFIG_HAVE_AOUT is not set | ||
205 | # CONFIG_BINFMT_MISC is not set | 229 | # CONFIG_BINFMT_MISC is not set |
206 | CONFIG_MATH_EMULATION=y | 230 | CONFIG_MATH_EMULATION=y |
207 | # CONFIG_IOMMU_HELPER is not set | 231 | # CONFIG_IOMMU_HELPER is not set |
@@ -216,17 +240,24 @@ CONFIG_FLATMEM_MANUAL=y | |||
216 | # CONFIG_SPARSEMEM_MANUAL is not set | 240 | # CONFIG_SPARSEMEM_MANUAL is not set |
217 | CONFIG_FLATMEM=y | 241 | CONFIG_FLATMEM=y |
218 | CONFIG_FLAT_NODE_MEM_MAP=y | 242 | CONFIG_FLAT_NODE_MEM_MAP=y |
219 | # CONFIG_SPARSEMEM_STATIC is not set | ||
220 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
221 | CONFIG_PAGEFLAGS_EXTENDED=y | 243 | CONFIG_PAGEFLAGS_EXTENDED=y |
222 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 244 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
223 | # CONFIG_RESOURCES_64BIT is not set | 245 | CONFIG_MIGRATION=y |
246 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
224 | CONFIG_ZONE_DMA_FLAG=1 | 247 | CONFIG_ZONE_DMA_FLAG=1 |
225 | CONFIG_BOUNCE=y | 248 | CONFIG_BOUNCE=y |
226 | CONFIG_VIRT_TO_BUS=y | 249 | CONFIG_VIRT_TO_BUS=y |
250 | CONFIG_UNEVICTABLE_LRU=y | ||
251 | CONFIG_HAVE_MLOCK=y | ||
252 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
253 | CONFIG_PPC_4K_PAGES=y | ||
254 | # CONFIG_PPC_16K_PAGES is not set | ||
255 | # CONFIG_PPC_64K_PAGES is not set | ||
256 | # CONFIG_PPC_256K_PAGES is not set | ||
227 | CONFIG_FORCE_MAX_ZONEORDER=11 | 257 | CONFIG_FORCE_MAX_ZONEORDER=11 |
228 | # CONFIG_PROC_DEVICETREE is not set | 258 | # CONFIG_PROC_DEVICETREE is not set |
229 | # CONFIG_CMDLINE_BOOL is not set | 259 | # CONFIG_CMDLINE_BOOL is not set |
260 | CONFIG_EXTRA_TARGETS="" | ||
230 | # CONFIG_PM is not set | 261 | # CONFIG_PM is not set |
231 | CONFIG_SECCOMP=y | 262 | CONFIG_SECCOMP=y |
232 | CONFIG_ISA_DMA_API=y | 263 | CONFIG_ISA_DMA_API=y |
@@ -238,6 +269,7 @@ CONFIG_ZONE_DMA=y | |||
238 | CONFIG_PPC_INDIRECT_PCI=y | 269 | CONFIG_PPC_INDIRECT_PCI=y |
239 | CONFIG_FSL_SOC=y | 270 | CONFIG_FSL_SOC=y |
240 | CONFIG_FSL_PCI=y | 271 | CONFIG_FSL_PCI=y |
272 | CONFIG_PPC_PCI_CHOICE=y | ||
241 | CONFIG_PCI=y | 273 | CONFIG_PCI=y |
242 | CONFIG_PCI_DOMAINS=y | 274 | CONFIG_PCI_DOMAINS=y |
243 | CONFIG_PCI_SYSCALL=y | 275 | CONFIG_PCI_SYSCALL=y |
@@ -245,6 +277,8 @@ CONFIG_PCI_SYSCALL=y | |||
245 | CONFIG_ARCH_SUPPORTS_MSI=y | 277 | CONFIG_ARCH_SUPPORTS_MSI=y |
246 | # CONFIG_PCI_MSI is not set | 278 | # CONFIG_PCI_MSI is not set |
247 | CONFIG_PCI_LEGACY=y | 279 | CONFIG_PCI_LEGACY=y |
280 | # CONFIG_PCI_STUB is not set | ||
281 | # CONFIG_PCI_IOV is not set | ||
248 | # CONFIG_HAS_RAPIDIO is not set | 282 | # CONFIG_HAS_RAPIDIO is not set |
249 | 283 | ||
250 | # | 284 | # |
@@ -256,15 +290,12 @@ CONFIG_PCI_LEGACY=y | |||
256 | # Default settings for advanced configuration options are used | 290 | # Default settings for advanced configuration options are used |
257 | # | 291 | # |
258 | CONFIG_LOWMEM_SIZE=0x30000000 | 292 | CONFIG_LOWMEM_SIZE=0x30000000 |
293 | CONFIG_LOWMEM_CAM_NUM=3 | ||
259 | CONFIG_PAGE_OFFSET=0xc0000000 | 294 | CONFIG_PAGE_OFFSET=0xc0000000 |
260 | CONFIG_KERNEL_START=0xc0000000 | 295 | CONFIG_KERNEL_START=0xc0000000 |
261 | CONFIG_PHYSICAL_START=0x00000000 | 296 | CONFIG_PHYSICAL_START=0x00000000 |
262 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 297 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
263 | CONFIG_TASK_SIZE=0xc0000000 | 298 | CONFIG_TASK_SIZE=0xc0000000 |
264 | |||
265 | # | ||
266 | # Networking | ||
267 | # | ||
268 | CONFIG_NET=y | 299 | CONFIG_NET=y |
269 | 300 | ||
270 | # | 301 | # |
@@ -315,6 +346,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
315 | # CONFIG_TIPC is not set | 346 | # CONFIG_TIPC is not set |
316 | # CONFIG_ATM is not set | 347 | # CONFIG_ATM is not set |
317 | # CONFIG_BRIDGE is not set | 348 | # CONFIG_BRIDGE is not set |
349 | # CONFIG_NET_DSA is not set | ||
318 | # CONFIG_VLAN_8021Q is not set | 350 | # CONFIG_VLAN_8021Q is not set |
319 | # CONFIG_DECNET is not set | 351 | # CONFIG_DECNET is not set |
320 | # CONFIG_LLC2 is not set | 352 | # CONFIG_LLC2 is not set |
@@ -324,7 +356,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
324 | # CONFIG_LAPB is not set | 356 | # CONFIG_LAPB is not set |
325 | # CONFIG_ECONET is not set | 357 | # CONFIG_ECONET is not set |
326 | # CONFIG_WAN_ROUTER is not set | 358 | # CONFIG_WAN_ROUTER is not set |
359 | # CONFIG_PHONET is not set | ||
327 | # CONFIG_NET_SCHED is not set | 360 | # CONFIG_NET_SCHED is not set |
361 | # CONFIG_DCB is not set | ||
328 | 362 | ||
329 | # | 363 | # |
330 | # Network testing | 364 | # Network testing |
@@ -339,27 +373,17 @@ CONFIG_CAN_BCM=y | |||
339 | # CAN Device Drivers | 373 | # CAN Device Drivers |
340 | # | 374 | # |
341 | # CONFIG_CAN_VCAN is not set | 375 | # CONFIG_CAN_VCAN is not set |
342 | # CONFIG_CAN_OLD_DRIVERS is not set | ||
343 | # CONFIG_CAN_SLCAN is not set | ||
344 | CONFIG_CAN_SJA1000=y | ||
345 | CONFIG_CAN_SJA1000_MEM_OF=y | ||
346 | # CONFIG_CAN_EMS_PCI is not set | ||
347 | # CONFIG_CAN_IXXAT_PCI is not set | ||
348 | # CONFIG_CAN_PEAK_PCI is not set | ||
349 | # CONFIG_CAN_KVASER_PCI is not set | ||
350 | # CONFIG_CAN_MSCAN is not set | ||
351 | # CONFIG_CAN_DEBUG_DEVICES is not set | 376 | # CONFIG_CAN_DEBUG_DEVICES is not set |
352 | # CONFIG_IRDA is not set | 377 | # CONFIG_IRDA is not set |
353 | # CONFIG_BT is not set | 378 | # CONFIG_BT is not set |
354 | # CONFIG_AF_RXRPC is not set | 379 | # CONFIG_AF_RXRPC is not set |
355 | 380 | CONFIG_WIRELESS=y | |
356 | # | ||
357 | # Wireless | ||
358 | # | ||
359 | # CONFIG_CFG80211 is not set | 381 | # CONFIG_CFG80211 is not set |
382 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
360 | # CONFIG_WIRELESS_EXT is not set | 383 | # CONFIG_WIRELESS_EXT is not set |
384 | # CONFIG_LIB80211 is not set | ||
361 | # CONFIG_MAC80211 is not set | 385 | # CONFIG_MAC80211 is not set |
362 | # CONFIG_IEEE80211 is not set | 386 | # CONFIG_WIMAX is not set |
363 | # CONFIG_RFKILL is not set | 387 | # CONFIG_RFKILL is not set |
364 | # CONFIG_NET_9P is not set | 388 | # CONFIG_NET_9P is not set |
365 | 389 | ||
@@ -378,6 +402,7 @@ CONFIG_MTD=y | |||
378 | # CONFIG_MTD_DEBUG is not set | 402 | # CONFIG_MTD_DEBUG is not set |
379 | CONFIG_MTD_CONCAT=y | 403 | CONFIG_MTD_CONCAT=y |
380 | CONFIG_MTD_PARTITIONS=y | 404 | CONFIG_MTD_PARTITIONS=y |
405 | # CONFIG_MTD_TESTS is not set | ||
381 | # CONFIG_MTD_REDBOOT_PARTS is not set | 406 | # CONFIG_MTD_REDBOOT_PARTS is not set |
382 | CONFIG_MTD_CMDLINE_PARTS=y | 407 | CONFIG_MTD_CMDLINE_PARTS=y |
383 | CONFIG_MTD_OF_PARTS=y | 408 | CONFIG_MTD_OF_PARTS=y |
@@ -458,15 +483,22 @@ CONFIG_MTD_NAND_IDS=y | |||
458 | # CONFIG_MTD_NAND_PLATFORM is not set | 483 | # CONFIG_MTD_NAND_PLATFORM is not set |
459 | # CONFIG_MTD_ALAUDA is not set | 484 | # CONFIG_MTD_ALAUDA is not set |
460 | # CONFIG_MTD_NAND_FSL_ELBC is not set | 485 | # CONFIG_MTD_NAND_FSL_ELBC is not set |
486 | # CONFIG_MTD_NAND_FSL_UPM is not set | ||
461 | CONFIG_MTD_NAND_SOCRATES=y | 487 | CONFIG_MTD_NAND_SOCRATES=y |
462 | # CONFIG_MTD_ONENAND is not set | 488 | # CONFIG_MTD_ONENAND is not set |
463 | 489 | ||
464 | # | 490 | # |
491 | # LPDDR flash memory drivers | ||
492 | # | ||
493 | # CONFIG_MTD_LPDDR is not set | ||
494 | |||
495 | # | ||
465 | # UBI - Unsorted block images | 496 | # UBI - Unsorted block images |
466 | # | 497 | # |
467 | # CONFIG_MTD_UBI is not set | 498 | # CONFIG_MTD_UBI is not set |
468 | CONFIG_OF_DEVICE=y | 499 | CONFIG_OF_DEVICE=y |
469 | CONFIG_OF_I2C=y | 500 | CONFIG_OF_I2C=y |
501 | CONFIG_OF_SPI=y | ||
470 | # CONFIG_PARPORT is not set | 502 | # CONFIG_PARPORT is not set |
471 | CONFIG_BLK_DEV=y | 503 | CONFIG_BLK_DEV=y |
472 | # CONFIG_BLK_DEV_FD is not set | 504 | # CONFIG_BLK_DEV_FD is not set |
@@ -486,12 +518,24 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
486 | # CONFIG_BLK_DEV_XIP is not set | 518 | # CONFIG_BLK_DEV_XIP is not set |
487 | # CONFIG_CDROM_PKTCDVD is not set | 519 | # CONFIG_CDROM_PKTCDVD is not set |
488 | # CONFIG_ATA_OVER_ETH is not set | 520 | # CONFIG_ATA_OVER_ETH is not set |
521 | # CONFIG_BLK_DEV_HD is not set | ||
489 | CONFIG_MISC_DEVICES=y | 522 | CONFIG_MISC_DEVICES=y |
490 | # CONFIG_PHANTOM is not set | 523 | # CONFIG_PHANTOM is not set |
491 | # CONFIG_EEPROM_93CX6 is not set | ||
492 | # CONFIG_SGI_IOC4 is not set | 524 | # CONFIG_SGI_IOC4 is not set |
493 | # CONFIG_TIFM_CORE is not set | 525 | # CONFIG_TIFM_CORE is not set |
526 | # CONFIG_ICS932S401 is not set | ||
494 | # CONFIG_ENCLOSURE_SERVICES is not set | 527 | # CONFIG_ENCLOSURE_SERVICES is not set |
528 | # CONFIG_HP_ILO is not set | ||
529 | # CONFIG_ISL29003 is not set | ||
530 | # CONFIG_C2PORT is not set | ||
531 | |||
532 | # | ||
533 | # EEPROM support | ||
534 | # | ||
535 | # CONFIG_EEPROM_AT24 is not set | ||
536 | # CONFIG_EEPROM_AT25 is not set | ||
537 | # CONFIG_EEPROM_LEGACY is not set | ||
538 | # CONFIG_EEPROM_93CX6 is not set | ||
495 | CONFIG_HAVE_IDE=y | 539 | CONFIG_HAVE_IDE=y |
496 | # CONFIG_IDE is not set | 540 | # CONFIG_IDE is not set |
497 | 541 | ||
@@ -533,6 +577,8 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
533 | # CONFIG_SCSI_SAS_LIBSAS is not set | 577 | # CONFIG_SCSI_SAS_LIBSAS is not set |
534 | # CONFIG_SCSI_SRP_ATTRS is not set | 578 | # CONFIG_SCSI_SRP_ATTRS is not set |
535 | # CONFIG_SCSI_LOWLEVEL is not set | 579 | # CONFIG_SCSI_LOWLEVEL is not set |
580 | # CONFIG_SCSI_DH is not set | ||
581 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
536 | # CONFIG_ATA is not set | 582 | # CONFIG_ATA is not set |
537 | # CONFIG_MD is not set | 583 | # CONFIG_MD is not set |
538 | # CONFIG_FUSION is not set | 584 | # CONFIG_FUSION is not set |
@@ -549,7 +595,7 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
549 | # CONFIG_I2O is not set | 595 | # CONFIG_I2O is not set |
550 | # CONFIG_MACINTOSH_DRIVERS is not set | 596 | # CONFIG_MACINTOSH_DRIVERS is not set |
551 | CONFIG_NETDEVICES=y | 597 | CONFIG_NETDEVICES=y |
552 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | 598 | CONFIG_COMPAT_NET_DEV_OPS=y |
553 | # CONFIG_DUMMY is not set | 599 | # CONFIG_DUMMY is not set |
554 | # CONFIG_BONDING is not set | 600 | # CONFIG_BONDING is not set |
555 | # CONFIG_MACVLAN is not set | 601 | # CONFIG_MACVLAN is not set |
@@ -572,6 +618,9 @@ CONFIG_MARVELL_PHY=y | |||
572 | # CONFIG_BROADCOM_PHY is not set | 618 | # CONFIG_BROADCOM_PHY is not set |
573 | # CONFIG_ICPLUS_PHY is not set | 619 | # CONFIG_ICPLUS_PHY is not set |
574 | # CONFIG_REALTEK_PHY is not set | 620 | # CONFIG_REALTEK_PHY is not set |
621 | # CONFIG_NATIONAL_PHY is not set | ||
622 | # CONFIG_STE10XP is not set | ||
623 | # CONFIG_LSI_ET1011C_PHY is not set | ||
575 | # CONFIG_FIXED_PHY is not set | 624 | # CONFIG_FIXED_PHY is not set |
576 | # CONFIG_MDIO_BITBANG is not set | 625 | # CONFIG_MDIO_BITBANG is not set |
577 | CONFIG_NET_ETHERNET=y | 626 | CONFIG_NET_ETHERNET=y |
@@ -581,22 +630,28 @@ CONFIG_MII=y | |||
581 | # CONFIG_CASSINI is not set | 630 | # CONFIG_CASSINI is not set |
582 | # CONFIG_NET_VENDOR_3COM is not set | 631 | # CONFIG_NET_VENDOR_3COM is not set |
583 | # CONFIG_ENC28J60 is not set | 632 | # CONFIG_ENC28J60 is not set |
633 | # CONFIG_ETHOC is not set | ||
634 | # CONFIG_DNET is not set | ||
584 | # CONFIG_NET_TULIP is not set | 635 | # CONFIG_NET_TULIP is not set |
585 | # CONFIG_HP100 is not set | 636 | # CONFIG_HP100 is not set |
586 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 637 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
587 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 638 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
588 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 639 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
589 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 640 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
641 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
642 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
643 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
590 | # CONFIG_NET_PCI is not set | 644 | # CONFIG_NET_PCI is not set |
591 | # CONFIG_B44 is not set | 645 | # CONFIG_B44 is not set |
646 | # CONFIG_ATL2 is not set | ||
592 | CONFIG_NETDEV_1000=y | 647 | CONFIG_NETDEV_1000=y |
593 | # CONFIG_ACENIC is not set | 648 | # CONFIG_ACENIC is not set |
594 | # CONFIG_DL2K is not set | 649 | # CONFIG_DL2K is not set |
595 | # CONFIG_E1000 is not set | 650 | # CONFIG_E1000 is not set |
596 | # CONFIG_E1000E is not set | 651 | # CONFIG_E1000E is not set |
597 | # CONFIG_E1000E_ENABLED is not set | ||
598 | # CONFIG_IP1000 is not set | 652 | # CONFIG_IP1000 is not set |
599 | # CONFIG_IGB is not set | 653 | # CONFIG_IGB is not set |
654 | # CONFIG_IGBVF is not set | ||
600 | # CONFIG_NS83820 is not set | 655 | # CONFIG_NS83820 is not set |
601 | # CONFIG_HAMACHI is not set | 656 | # CONFIG_HAMACHI is not set |
602 | # CONFIG_YELLOWFIN is not set | 657 | # CONFIG_YELLOWFIN is not set |
@@ -607,10 +662,13 @@ CONFIG_NETDEV_1000=y | |||
607 | # CONFIG_VIA_VELOCITY is not set | 662 | # CONFIG_VIA_VELOCITY is not set |
608 | # CONFIG_TIGON3 is not set | 663 | # CONFIG_TIGON3 is not set |
609 | # CONFIG_BNX2 is not set | 664 | # CONFIG_BNX2 is not set |
665 | CONFIG_FSL_PQ_MDIO=y | ||
610 | CONFIG_GIANFAR=y | 666 | CONFIG_GIANFAR=y |
611 | CONFIG_GFAR_NAPI=y | ||
612 | # CONFIG_QLA3XXX is not set | 667 | # CONFIG_QLA3XXX is not set |
613 | # CONFIG_ATL1 is not set | 668 | # CONFIG_ATL1 is not set |
669 | # CONFIG_ATL1E is not set | ||
670 | # CONFIG_ATL1C is not set | ||
671 | # CONFIG_JME is not set | ||
614 | # CONFIG_NETDEV_10000 is not set | 672 | # CONFIG_NETDEV_10000 is not set |
615 | # CONFIG_TR is not set | 673 | # CONFIG_TR is not set |
616 | 674 | ||
@@ -619,7 +677,10 @@ CONFIG_GFAR_NAPI=y | |||
619 | # | 677 | # |
620 | # CONFIG_WLAN_PRE80211 is not set | 678 | # CONFIG_WLAN_PRE80211 is not set |
621 | # CONFIG_WLAN_80211 is not set | 679 | # CONFIG_WLAN_80211 is not set |
622 | # CONFIG_IWLWIFI_LEDS is not set | 680 | |
681 | # | ||
682 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
683 | # | ||
623 | 684 | ||
624 | # | 685 | # |
625 | # USB Network Adapters | 686 | # USB Network Adapters |
@@ -668,17 +729,23 @@ CONFIG_INPUT_EVDEV=y | |||
668 | # CONFIG_INPUT_TABLET is not set | 729 | # CONFIG_INPUT_TABLET is not set |
669 | CONFIG_INPUT_TOUCHSCREEN=y | 730 | CONFIG_INPUT_TOUCHSCREEN=y |
670 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | 731 | # CONFIG_TOUCHSCREEN_ADS7846 is not set |
732 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
733 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
734 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
735 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
671 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 736 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
672 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 737 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
673 | # CONFIG_TOUCHSCREEN_ELO is not set | 738 | # CONFIG_TOUCHSCREEN_ELO is not set |
739 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
674 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 740 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
741 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
675 | # CONFIG_TOUCHSCREEN_MK712 is not set | 742 | # CONFIG_TOUCHSCREEN_MK712 is not set |
676 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | 743 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set |
677 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | 744 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set |
678 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 745 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
679 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | ||
680 | CONFIG_TOUCHSCREEN_TSC2003=y | ||
681 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | 746 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set |
747 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
748 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
682 | # CONFIG_INPUT_MISC is not set | 749 | # CONFIG_INPUT_MISC is not set |
683 | 750 | ||
684 | # | 751 | # |
@@ -691,6 +758,7 @@ CONFIG_TOUCHSCREEN_TSC2003=y | |||
691 | # Character devices | 758 | # Character devices |
692 | # | 759 | # |
693 | CONFIG_VT=y | 760 | CONFIG_VT=y |
761 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
694 | CONFIG_VT_CONSOLE=y | 762 | CONFIG_VT_CONSOLE=y |
695 | CONFIG_HW_CONSOLE=y | 763 | CONFIG_HW_CONSOLE=y |
696 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 764 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
@@ -715,16 +783,20 @@ CONFIG_SERIAL_8250_RSA=y | |||
715 | # | 783 | # |
716 | # Non-8250 serial port support | 784 | # Non-8250 serial port support |
717 | # | 785 | # |
786 | # CONFIG_SERIAL_MAX3100 is not set | ||
718 | # CONFIG_SERIAL_UARTLITE is not set | 787 | # CONFIG_SERIAL_UARTLITE is not set |
719 | CONFIG_SERIAL_CORE=y | 788 | CONFIG_SERIAL_CORE=y |
720 | CONFIG_SERIAL_CORE_CONSOLE=y | 789 | CONFIG_SERIAL_CORE_CONSOLE=y |
721 | # CONFIG_SERIAL_JSM is not set | 790 | # CONFIG_SERIAL_JSM is not set |
722 | # CONFIG_SERIAL_OF_PLATFORM is not set | 791 | # CONFIG_SERIAL_OF_PLATFORM is not set |
723 | CONFIG_UNIX98_PTYS=y | 792 | CONFIG_UNIX98_PTYS=y |
793 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
724 | CONFIG_LEGACY_PTYS=y | 794 | CONFIG_LEGACY_PTYS=y |
725 | CONFIG_LEGACY_PTY_COUNT=256 | 795 | CONFIG_LEGACY_PTY_COUNT=256 |
796 | # CONFIG_HVC_UDBG is not set | ||
726 | # CONFIG_IPMI_HANDLER is not set | 797 | # CONFIG_IPMI_HANDLER is not set |
727 | CONFIG_HW_RANDOM=y | 798 | CONFIG_HW_RANDOM=y |
799 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
728 | # CONFIG_NVRAM is not set | 800 | # CONFIG_NVRAM is not set |
729 | # CONFIG_R3964 is not set | 801 | # CONFIG_R3964 is not set |
730 | # CONFIG_APPLICOM is not set | 802 | # CONFIG_APPLICOM is not set |
@@ -734,44 +806,62 @@ CONFIG_DEVPORT=y | |||
734 | CONFIG_I2C=y | 806 | CONFIG_I2C=y |
735 | CONFIG_I2C_BOARDINFO=y | 807 | CONFIG_I2C_BOARDINFO=y |
736 | CONFIG_I2C_CHARDEV=y | 808 | CONFIG_I2C_CHARDEV=y |
809 | CONFIG_I2C_HELPER_AUTO=y | ||
737 | 810 | ||
738 | # | 811 | # |
739 | # I2C Hardware Bus support | 812 | # I2C Hardware Bus support |
740 | # | 813 | # |
814 | |||
815 | # | ||
816 | # PC SMBus host controller drivers | ||
817 | # | ||
741 | # CONFIG_I2C_ALI1535 is not set | 818 | # CONFIG_I2C_ALI1535 is not set |
742 | # CONFIG_I2C_ALI1563 is not set | 819 | # CONFIG_I2C_ALI1563 is not set |
743 | # CONFIG_I2C_ALI15X3 is not set | 820 | # CONFIG_I2C_ALI15X3 is not set |
744 | # CONFIG_I2C_AMD756 is not set | 821 | # CONFIG_I2C_AMD756 is not set |
745 | # CONFIG_I2C_AMD8111 is not set | 822 | # CONFIG_I2C_AMD8111 is not set |
746 | # CONFIG_I2C_I801 is not set | 823 | # CONFIG_I2C_I801 is not set |
747 | # CONFIG_I2C_I810 is not set | 824 | # CONFIG_I2C_ISCH is not set |
748 | # CONFIG_I2C_PIIX4 is not set | 825 | # CONFIG_I2C_PIIX4 is not set |
749 | CONFIG_I2C_MPC=y | ||
750 | # CONFIG_I2C_NFORCE2 is not set | 826 | # CONFIG_I2C_NFORCE2 is not set |
751 | # CONFIG_I2C_OCORES is not set | ||
752 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
753 | # CONFIG_I2C_PROSAVAGE is not set | ||
754 | # CONFIG_I2C_SAVAGE4 is not set | ||
755 | # CONFIG_I2C_SIMTEC is not set | ||
756 | # CONFIG_I2C_SIS5595 is not set | 827 | # CONFIG_I2C_SIS5595 is not set |
757 | # CONFIG_I2C_SIS630 is not set | 828 | # CONFIG_I2C_SIS630 is not set |
758 | # CONFIG_I2C_SIS96X is not set | 829 | # CONFIG_I2C_SIS96X is not set |
759 | # CONFIG_I2C_TAOS_EVM is not set | ||
760 | # CONFIG_I2C_STUB is not set | ||
761 | # CONFIG_I2C_TINY_USB is not set | ||
762 | # CONFIG_I2C_VIA is not set | 830 | # CONFIG_I2C_VIA is not set |
763 | # CONFIG_I2C_VIAPRO is not set | 831 | # CONFIG_I2C_VIAPRO is not set |
832 | |||
833 | # | ||
834 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
835 | # | ||
836 | CONFIG_I2C_MPC=y | ||
837 | # CONFIG_I2C_OCORES is not set | ||
838 | # CONFIG_I2C_SIMTEC is not set | ||
839 | |||
840 | # | ||
841 | # External I2C/SMBus adapter drivers | ||
842 | # | ||
843 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
844 | # CONFIG_I2C_TAOS_EVM is not set | ||
845 | # CONFIG_I2C_TINY_USB is not set | ||
846 | |||
847 | # | ||
848 | # Graphics adapter I2C/DDC channel drivers | ||
849 | # | ||
764 | # CONFIG_I2C_VOODOO3 is not set | 850 | # CONFIG_I2C_VOODOO3 is not set |
851 | |||
852 | # | ||
853 | # Other I2C/SMBus bus drivers | ||
854 | # | ||
765 | # CONFIG_I2C_PCA_PLATFORM is not set | 855 | # CONFIG_I2C_PCA_PLATFORM is not set |
856 | # CONFIG_I2C_STUB is not set | ||
766 | 857 | ||
767 | # | 858 | # |
768 | # Miscellaneous I2C Chip support | 859 | # Miscellaneous I2C Chip support |
769 | # | 860 | # |
770 | # CONFIG_DS1682 is not set | 861 | # CONFIG_DS1682 is not set |
771 | # CONFIG_SENSORS_EEPROM is not set | ||
772 | # CONFIG_SENSORS_PCF8574 is not set | 862 | # CONFIG_SENSORS_PCF8574 is not set |
773 | # CONFIG_PCF8575 is not set | 863 | # CONFIG_PCF8575 is not set |
774 | # CONFIG_SENSORS_PCF8591 is not set | 864 | # CONFIG_SENSORS_PCA9539 is not set |
775 | # CONFIG_SENSORS_MAX6875 is not set | 865 | # CONFIG_SENSORS_MAX6875 is not set |
776 | # CONFIG_SENSORS_TSL2550 is not set | 866 | # CONFIG_SENSORS_TSL2550 is not set |
777 | # CONFIG_I2C_DEBUG_CORE is not set | 867 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -785,33 +875,38 @@ CONFIG_SPI_MASTER=y | |||
785 | # SPI Master Controller Drivers | 875 | # SPI Master Controller Drivers |
786 | # | 876 | # |
787 | # CONFIG_SPI_BITBANG is not set | 877 | # CONFIG_SPI_BITBANG is not set |
788 | CONFIG_SPI_SOCRATES=y | ||
789 | 878 | ||
790 | # | 879 | # |
791 | # SPI Protocol Masters | 880 | # SPI Protocol Masters |
792 | # | 881 | # |
793 | # CONFIG_SPI_AT25 is not set | ||
794 | # CONFIG_SPI_SPIDEV is not set | 882 | # CONFIG_SPI_SPIDEV is not set |
795 | # CONFIG_SPI_TLE62X0 is not set | 883 | # CONFIG_SPI_TLE62X0 is not set |
884 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
885 | # CONFIG_GPIOLIB is not set | ||
796 | # CONFIG_W1 is not set | 886 | # CONFIG_W1 is not set |
797 | # CONFIG_POWER_SUPPLY is not set | 887 | # CONFIG_POWER_SUPPLY is not set |
798 | CONFIG_HWMON=y | 888 | CONFIG_HWMON=y |
799 | CONFIG_HWMON_VID=y | 889 | CONFIG_HWMON_VID=y |
890 | # CONFIG_SENSORS_AD7414 is not set | ||
800 | # CONFIG_SENSORS_AD7418 is not set | 891 | # CONFIG_SENSORS_AD7418 is not set |
892 | # CONFIG_SENSORS_ADCXX is not set | ||
801 | # CONFIG_SENSORS_ADM1021 is not set | 893 | # CONFIG_SENSORS_ADM1021 is not set |
802 | # CONFIG_SENSORS_ADM1025 is not set | 894 | # CONFIG_SENSORS_ADM1025 is not set |
803 | # CONFIG_SENSORS_ADM1026 is not set | 895 | # CONFIG_SENSORS_ADM1026 is not set |
804 | # CONFIG_SENSORS_ADM1029 is not set | 896 | # CONFIG_SENSORS_ADM1029 is not set |
805 | # CONFIG_SENSORS_ADM1031 is not set | 897 | # CONFIG_SENSORS_ADM1031 is not set |
806 | # CONFIG_SENSORS_ADM9240 is not set | 898 | # CONFIG_SENSORS_ADM9240 is not set |
899 | # CONFIG_SENSORS_ADT7462 is not set | ||
807 | # CONFIG_SENSORS_ADT7470 is not set | 900 | # CONFIG_SENSORS_ADT7470 is not set |
808 | # CONFIG_SENSORS_ADT7473 is not set | 901 | # CONFIG_SENSORS_ADT7473 is not set |
902 | # CONFIG_SENSORS_ADT7475 is not set | ||
809 | # CONFIG_SENSORS_ATXP1 is not set | 903 | # CONFIG_SENSORS_ATXP1 is not set |
810 | # CONFIG_SENSORS_DS1621 is not set | 904 | # CONFIG_SENSORS_DS1621 is not set |
811 | # CONFIG_SENSORS_I5K_AMB is not set | 905 | # CONFIG_SENSORS_I5K_AMB is not set |
812 | # CONFIG_SENSORS_F71805F is not set | 906 | # CONFIG_SENSORS_F71805F is not set |
813 | # CONFIG_SENSORS_F71882FG is not set | 907 | # CONFIG_SENSORS_F71882FG is not set |
814 | # CONFIG_SENSORS_F75375S is not set | 908 | # CONFIG_SENSORS_F75375S is not set |
909 | # CONFIG_SENSORS_G760A is not set | ||
815 | # CONFIG_SENSORS_GL518SM is not set | 910 | # CONFIG_SENSORS_GL518SM is not set |
816 | # CONFIG_SENSORS_GL520SM is not set | 911 | # CONFIG_SENSORS_GL520SM is not set |
817 | # CONFIG_SENSORS_IT87 is not set | 912 | # CONFIG_SENSORS_IT87 is not set |
@@ -827,10 +922,15 @@ CONFIG_SENSORS_LM75=y | |||
827 | # CONFIG_SENSORS_LM90 is not set | 922 | # CONFIG_SENSORS_LM90 is not set |
828 | # CONFIG_SENSORS_LM92 is not set | 923 | # CONFIG_SENSORS_LM92 is not set |
829 | # CONFIG_SENSORS_LM93 is not set | 924 | # CONFIG_SENSORS_LM93 is not set |
925 | # CONFIG_SENSORS_LTC4215 is not set | ||
926 | # CONFIG_SENSORS_LTC4245 is not set | ||
927 | # CONFIG_SENSORS_LM95241 is not set | ||
928 | # CONFIG_SENSORS_MAX1111 is not set | ||
830 | # CONFIG_SENSORS_MAX1619 is not set | 929 | # CONFIG_SENSORS_MAX1619 is not set |
831 | # CONFIG_SENSORS_MAX6650 is not set | 930 | # CONFIG_SENSORS_MAX6650 is not set |
832 | # CONFIG_SENSORS_PC87360 is not set | 931 | # CONFIG_SENSORS_PC87360 is not set |
833 | # CONFIG_SENSORS_PC87427 is not set | 932 | # CONFIG_SENSORS_PC87427 is not set |
933 | # CONFIG_SENSORS_PCF8591 is not set | ||
834 | # CONFIG_SENSORS_SIS5595 is not set | 934 | # CONFIG_SENSORS_SIS5595 is not set |
835 | # CONFIG_SENSORS_DME1737 is not set | 935 | # CONFIG_SENSORS_DME1737 is not set |
836 | # CONFIG_SENSORS_SMSC47M1 is not set | 936 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -849,22 +949,31 @@ CONFIG_SENSORS_W83781D=y | |||
849 | # CONFIG_SENSORS_W83L786NG is not set | 949 | # CONFIG_SENSORS_W83L786NG is not set |
850 | # CONFIG_SENSORS_W83627HF is not set | 950 | # CONFIG_SENSORS_W83627HF is not set |
851 | # CONFIG_SENSORS_W83627EHF is not set | 951 | # CONFIG_SENSORS_W83627EHF is not set |
952 | # CONFIG_SENSORS_LIS3_SPI is not set | ||
852 | CONFIG_HWMON_DEBUG_CHIP=y | 953 | CONFIG_HWMON_DEBUG_CHIP=y |
853 | # CONFIG_THERMAL is not set | 954 | # CONFIG_THERMAL is not set |
854 | # CONFIG_THERMAL_HWMON is not set | 955 | # CONFIG_THERMAL_HWMON is not set |
855 | # CONFIG_WATCHDOG is not set | 956 | # CONFIG_WATCHDOG is not set |
957 | CONFIG_SSB_POSSIBLE=y | ||
856 | 958 | ||
857 | # | 959 | # |
858 | # Sonics Silicon Backplane | 960 | # Sonics Silicon Backplane |
859 | # | 961 | # |
860 | CONFIG_SSB_POSSIBLE=y | ||
861 | # CONFIG_SSB is not set | 962 | # CONFIG_SSB is not set |
862 | 963 | ||
863 | # | 964 | # |
864 | # Multifunction device drivers | 965 | # Multifunction device drivers |
865 | # | 966 | # |
967 | # CONFIG_MFD_CORE is not set | ||
866 | # CONFIG_MFD_SM501 is not set | 968 | # CONFIG_MFD_SM501 is not set |
867 | # CONFIG_HTC_PASIC3 is not set | 969 | # CONFIG_HTC_PASIC3 is not set |
970 | # CONFIG_TWL4030_CORE is not set | ||
971 | # CONFIG_MFD_TMIO is not set | ||
972 | # CONFIG_PMIC_DA903X is not set | ||
973 | # CONFIG_MFD_WM8400 is not set | ||
974 | # CONFIG_MFD_WM8350_I2C is not set | ||
975 | # CONFIG_MFD_PCF50633 is not set | ||
976 | # CONFIG_REGULATOR is not set | ||
868 | 977 | ||
869 | # | 978 | # |
870 | # Multimedia devices | 979 | # Multimedia devices |
@@ -893,6 +1002,7 @@ CONFIG_DAB=y | |||
893 | CONFIG_FB=y | 1002 | CONFIG_FB=y |
894 | # CONFIG_FIRMWARE_EDID is not set | 1003 | # CONFIG_FIRMWARE_EDID is not set |
895 | # CONFIG_FB_DDC is not set | 1004 | # CONFIG_FB_DDC is not set |
1005 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
896 | CONFIG_FB_CFB_FILLRECT=y | 1006 | CONFIG_FB_CFB_FILLRECT=y |
897 | CONFIG_FB_CFB_COPYAREA=y | 1007 | CONFIG_FB_CFB_COPYAREA=y |
898 | CONFIG_FB_CFB_IMAGEBLIT=y | 1008 | CONFIG_FB_CFB_IMAGEBLIT=y |
@@ -914,10 +1024,6 @@ CONFIG_FB_BOTH_ENDIAN=y | |||
914 | # | 1024 | # |
915 | # Frame buffer hardware drivers | 1025 | # Frame buffer hardware drivers |
916 | # | 1026 | # |
917 | CONFIG_FB_MB862XX=y | ||
918 | # CONFIG_FB_MB862XX_PCI_GDC is not set | ||
919 | CONFIG_FB_MB862XX_LIME=y | ||
920 | # CONFIG_FB_PRE_INIT_FB is not set | ||
921 | # CONFIG_FB_CIRRUS is not set | 1027 | # CONFIG_FB_CIRRUS is not set |
922 | # CONFIG_FB_PM2 is not set | 1028 | # CONFIG_FB_PM2 is not set |
923 | # CONFIG_FB_CYBER2000 is not set | 1029 | # CONFIG_FB_CYBER2000 is not set |
@@ -936,6 +1042,7 @@ CONFIG_FB_MB862XX_LIME=y | |||
936 | # CONFIG_FB_S3 is not set | 1042 | # CONFIG_FB_S3 is not set |
937 | # CONFIG_FB_SAVAGE is not set | 1043 | # CONFIG_FB_SAVAGE is not set |
938 | # CONFIG_FB_SIS is not set | 1044 | # CONFIG_FB_SIS is not set |
1045 | # CONFIG_FB_VIA is not set | ||
939 | # CONFIG_FB_NEOMAGIC is not set | 1046 | # CONFIG_FB_NEOMAGIC is not set |
940 | # CONFIG_FB_KYRO is not set | 1047 | # CONFIG_FB_KYRO is not set |
941 | # CONFIG_FB_3DFX is not set | 1048 | # CONFIG_FB_3DFX is not set |
@@ -944,9 +1051,16 @@ CONFIG_FB_MB862XX_LIME=y | |||
944 | # CONFIG_FB_TRIDENT is not set | 1051 | # CONFIG_FB_TRIDENT is not set |
945 | # CONFIG_FB_ARK is not set | 1052 | # CONFIG_FB_ARK is not set |
946 | # CONFIG_FB_PM3 is not set | 1053 | # CONFIG_FB_PM3 is not set |
1054 | # CONFIG_FB_CARMINE is not set | ||
947 | # CONFIG_FB_FSL_DIU is not set | 1055 | # CONFIG_FB_FSL_DIU is not set |
948 | # CONFIG_FB_IBM_GXT4500 is not set | 1056 | # CONFIG_FB_IBM_GXT4500 is not set |
949 | # CONFIG_FB_VIRTUAL is not set | 1057 | # CONFIG_FB_VIRTUAL is not set |
1058 | # CONFIG_FB_METRONOME is not set | ||
1059 | CONFIG_FB_MB862XX=y | ||
1060 | # CONFIG_FB_MB862XX_PCI_GDC is not set | ||
1061 | CONFIG_FB_MB862XX_LIME=y | ||
1062 | # CONFIG_FB_PRE_INIT_FB is not set | ||
1063 | # CONFIG_FB_BROADSHEET is not set | ||
950 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 1064 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
951 | 1065 | ||
952 | # | 1066 | # |
@@ -974,10 +1088,6 @@ CONFIG_FONT_8x16=y | |||
974 | # CONFIG_FONT_SUN12x22 is not set | 1088 | # CONFIG_FONT_SUN12x22 is not set |
975 | # CONFIG_FONT_10x18 is not set | 1089 | # CONFIG_FONT_10x18 is not set |
976 | # CONFIG_LOGO is not set | 1090 | # CONFIG_LOGO is not set |
977 | |||
978 | # | ||
979 | # Sound | ||
980 | # | ||
981 | # CONFIG_SOUND is not set | 1091 | # CONFIG_SOUND is not set |
982 | CONFIG_HID_SUPPORT=y | 1092 | CONFIG_HID_SUPPORT=y |
983 | CONFIG_HID=y | 1093 | CONFIG_HID=y |
@@ -988,9 +1098,36 @@ CONFIG_HID=y | |||
988 | # USB Input Devices | 1098 | # USB Input Devices |
989 | # | 1099 | # |
990 | CONFIG_USB_HID=y | 1100 | CONFIG_USB_HID=y |
991 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | 1101 | # CONFIG_HID_PID is not set |
992 | # CONFIG_HID_FF is not set | ||
993 | # CONFIG_USB_HIDDEV is not set | 1102 | # CONFIG_USB_HIDDEV is not set |
1103 | |||
1104 | # | ||
1105 | # Special HID drivers | ||
1106 | # | ||
1107 | # CONFIG_HID_A4TECH is not set | ||
1108 | # CONFIG_HID_APPLE is not set | ||
1109 | # CONFIG_HID_BELKIN is not set | ||
1110 | # CONFIG_HID_CHERRY is not set | ||
1111 | # CONFIG_HID_CHICONY is not set | ||
1112 | # CONFIG_HID_CYPRESS is not set | ||
1113 | # CONFIG_DRAGONRISE_FF is not set | ||
1114 | # CONFIG_HID_EZKEY is not set | ||
1115 | # CONFIG_HID_KYE is not set | ||
1116 | # CONFIG_HID_GYRATION is not set | ||
1117 | # CONFIG_HID_KENSINGTON is not set | ||
1118 | # CONFIG_HID_LOGITECH is not set | ||
1119 | # CONFIG_HID_MICROSOFT is not set | ||
1120 | # CONFIG_HID_MONTEREY is not set | ||
1121 | # CONFIG_HID_NTRIG is not set | ||
1122 | # CONFIG_HID_PANTHERLORD is not set | ||
1123 | # CONFIG_HID_PETALYNX is not set | ||
1124 | # CONFIG_HID_SAMSUNG is not set | ||
1125 | # CONFIG_HID_SONY is not set | ||
1126 | # CONFIG_HID_SUNPLUS is not set | ||
1127 | # CONFIG_GREENASIA_FF is not set | ||
1128 | # CONFIG_HID_TOPSEED is not set | ||
1129 | # CONFIG_THRUSTMASTER_FF is not set | ||
1130 | # CONFIG_ZEROPLUS_FF is not set | ||
994 | CONFIG_USB_SUPPORT=y | 1131 | CONFIG_USB_SUPPORT=y |
995 | CONFIG_USB_ARCH_HAS_HCD=y | 1132 | CONFIG_USB_ARCH_HAS_HCD=y |
996 | CONFIG_USB_ARCH_HAS_OHCI=y | 1133 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1008,6 +1145,9 @@ CONFIG_USB_DEVICE_CLASS=y | |||
1008 | # CONFIG_USB_OTG is not set | 1145 | # CONFIG_USB_OTG is not set |
1009 | # CONFIG_USB_OTG_WHITELIST is not set | 1146 | # CONFIG_USB_OTG_WHITELIST is not set |
1010 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 1147 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
1148 | CONFIG_USB_MON=y | ||
1149 | # CONFIG_USB_WUSB is not set | ||
1150 | # CONFIG_USB_WUSB_CBAF is not set | ||
1011 | 1151 | ||
1012 | # | 1152 | # |
1013 | # USB Host Controller Drivers | 1153 | # USB Host Controller Drivers |
@@ -1018,6 +1158,7 @@ CONFIG_USB_EHCI_HCD=y | |||
1018 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 1158 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set |
1019 | # CONFIG_USB_EHCI_FSL is not set | 1159 | # CONFIG_USB_EHCI_FSL is not set |
1020 | CONFIG_USB_EHCI_HCD_PPC_OF=y | 1160 | CONFIG_USB_EHCI_HCD_PPC_OF=y |
1161 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1021 | # CONFIG_USB_ISP116X_HCD is not set | 1162 | # CONFIG_USB_ISP116X_HCD is not set |
1022 | # CONFIG_USB_ISP1760_HCD is not set | 1163 | # CONFIG_USB_ISP1760_HCD is not set |
1023 | CONFIG_USB_OHCI_HCD=y | 1164 | CONFIG_USB_OHCI_HCD=y |
@@ -1031,6 +1172,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1031 | # CONFIG_USB_UHCI_HCD is not set | 1172 | # CONFIG_USB_UHCI_HCD is not set |
1032 | # CONFIG_USB_SL811_HCD is not set | 1173 | # CONFIG_USB_SL811_HCD is not set |
1033 | # CONFIG_USB_R8A66597_HCD is not set | 1174 | # CONFIG_USB_R8A66597_HCD is not set |
1175 | # CONFIG_USB_WHCI_HCD is not set | ||
1176 | # CONFIG_USB_HWA_HCD is not set | ||
1034 | 1177 | ||
1035 | # | 1178 | # |
1036 | # USB Device Class drivers | 1179 | # USB Device Class drivers |
@@ -1038,20 +1181,20 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1038 | # CONFIG_USB_ACM is not set | 1181 | # CONFIG_USB_ACM is not set |
1039 | # CONFIG_USB_PRINTER is not set | 1182 | # CONFIG_USB_PRINTER is not set |
1040 | # CONFIG_USB_WDM is not set | 1183 | # CONFIG_USB_WDM is not set |
1184 | # CONFIG_USB_TMC is not set | ||
1041 | 1185 | ||
1042 | # | 1186 | # |
1043 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1187 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1044 | # | 1188 | # |
1045 | 1189 | ||
1046 | # | 1190 | # |
1047 | # may also be needed; see USB_STORAGE Help for more information | 1191 | # also be needed; see USB_STORAGE Help for more info |
1048 | # | 1192 | # |
1049 | CONFIG_USB_STORAGE=y | 1193 | CONFIG_USB_STORAGE=y |
1050 | # CONFIG_USB_STORAGE_DEBUG is not set | 1194 | # CONFIG_USB_STORAGE_DEBUG is not set |
1051 | # CONFIG_USB_STORAGE_DATAFAB is not set | 1195 | # CONFIG_USB_STORAGE_DATAFAB is not set |
1052 | # CONFIG_USB_STORAGE_FREECOM is not set | 1196 | # CONFIG_USB_STORAGE_FREECOM is not set |
1053 | # CONFIG_USB_STORAGE_ISD200 is not set | 1197 | # CONFIG_USB_STORAGE_ISD200 is not set |
1054 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1055 | # CONFIG_USB_STORAGE_USBAT is not set | 1198 | # CONFIG_USB_STORAGE_USBAT is not set |
1056 | # CONFIG_USB_STORAGE_SDDR09 is not set | 1199 | # CONFIG_USB_STORAGE_SDDR09 is not set |
1057 | # CONFIG_USB_STORAGE_SDDR55 is not set | 1200 | # CONFIG_USB_STORAGE_SDDR55 is not set |
@@ -1067,7 +1210,6 @@ CONFIG_USB_STORAGE=y | |||
1067 | # | 1210 | # |
1068 | # CONFIG_USB_MDC800 is not set | 1211 | # CONFIG_USB_MDC800 is not set |
1069 | # CONFIG_USB_MICROTEK is not set | 1212 | # CONFIG_USB_MICROTEK is not set |
1070 | CONFIG_USB_MON=y | ||
1071 | 1213 | ||
1072 | # | 1214 | # |
1073 | # USB port drivers | 1215 | # USB port drivers |
@@ -1080,7 +1222,7 @@ CONFIG_USB_MON=y | |||
1080 | # CONFIG_USB_EMI62 is not set | 1222 | # CONFIG_USB_EMI62 is not set |
1081 | # CONFIG_USB_EMI26 is not set | 1223 | # CONFIG_USB_EMI26 is not set |
1082 | # CONFIG_USB_ADUTUX is not set | 1224 | # CONFIG_USB_ADUTUX is not set |
1083 | # CONFIG_USB_AUERSWALD is not set | 1225 | # CONFIG_USB_SEVSEG is not set |
1084 | # CONFIG_USB_RIO500 is not set | 1226 | # CONFIG_USB_RIO500 is not set |
1085 | # CONFIG_USB_LEGOTOWER is not set | 1227 | # CONFIG_USB_LEGOTOWER is not set |
1086 | # CONFIG_USB_LCD is not set | 1228 | # CONFIG_USB_LCD is not set |
@@ -1088,7 +1230,6 @@ CONFIG_USB_MON=y | |||
1088 | # CONFIG_USB_LED is not set | 1230 | # CONFIG_USB_LED is not set |
1089 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1231 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1090 | # CONFIG_USB_CYTHERM is not set | 1232 | # CONFIG_USB_CYTHERM is not set |
1091 | # CONFIG_USB_PHIDGET is not set | ||
1092 | # CONFIG_USB_IDMOUSE is not set | 1233 | # CONFIG_USB_IDMOUSE is not set |
1093 | # CONFIG_USB_FTDI_ELAN is not set | 1234 | # CONFIG_USB_FTDI_ELAN is not set |
1094 | # CONFIG_USB_APPLEDISPLAY is not set | 1235 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1098,7 +1239,14 @@ CONFIG_USB_MON=y | |||
1098 | # CONFIG_USB_IOWARRIOR is not set | 1239 | # CONFIG_USB_IOWARRIOR is not set |
1099 | # CONFIG_USB_TEST is not set | 1240 | # CONFIG_USB_TEST is not set |
1100 | # CONFIG_USB_ISIGHTFW is not set | 1241 | # CONFIG_USB_ISIGHTFW is not set |
1242 | # CONFIG_USB_VST is not set | ||
1101 | # CONFIG_USB_GADGET is not set | 1243 | # CONFIG_USB_GADGET is not set |
1244 | |||
1245 | # | ||
1246 | # OTG and related infrastructure | ||
1247 | # | ||
1248 | # CONFIG_NOP_USB_XCEIV is not set | ||
1249 | # CONFIG_UWB is not set | ||
1102 | # CONFIG_MMC is not set | 1250 | # CONFIG_MMC is not set |
1103 | # CONFIG_MEMSTICK is not set | 1251 | # CONFIG_MEMSTICK is not set |
1104 | # CONFIG_NEW_LEDS is not set | 1252 | # CONFIG_NEW_LEDS is not set |
@@ -1135,33 +1283,42 @@ CONFIG_RTC_INTF_DEV=y | |||
1135 | # CONFIG_RTC_DRV_M41T80 is not set | 1283 | # CONFIG_RTC_DRV_M41T80 is not set |
1136 | # CONFIG_RTC_DRV_S35390A is not set | 1284 | # CONFIG_RTC_DRV_S35390A is not set |
1137 | # CONFIG_RTC_DRV_FM3130 is not set | 1285 | # CONFIG_RTC_DRV_FM3130 is not set |
1138 | CONFIG_RTC_DRV_RX8025=y | 1286 | # CONFIG_RTC_DRV_RX8581 is not set |
1139 | 1287 | ||
1140 | # | 1288 | # |
1141 | # SPI RTC drivers | 1289 | # SPI RTC drivers |
1142 | # | 1290 | # |
1291 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1292 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1293 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1143 | # CONFIG_RTC_DRV_MAX6902 is not set | 1294 | # CONFIG_RTC_DRV_MAX6902 is not set |
1144 | # CONFIG_RTC_DRV_R9701 is not set | 1295 | # CONFIG_RTC_DRV_R9701 is not set |
1145 | # CONFIG_RTC_DRV_RS5C348 is not set | 1296 | # CONFIG_RTC_DRV_RS5C348 is not set |
1297 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1146 | 1298 | ||
1147 | # | 1299 | # |
1148 | # Platform RTC drivers | 1300 | # Platform RTC drivers |
1149 | # | 1301 | # |
1150 | # CONFIG_RTC_DRV_CMOS is not set | 1302 | # CONFIG_RTC_DRV_CMOS is not set |
1303 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1151 | # CONFIG_RTC_DRV_DS1511 is not set | 1304 | # CONFIG_RTC_DRV_DS1511 is not set |
1152 | # CONFIG_RTC_DRV_DS1553 is not set | 1305 | # CONFIG_RTC_DRV_DS1553 is not set |
1153 | # CONFIG_RTC_DRV_DS1742 is not set | 1306 | # CONFIG_RTC_DRV_DS1742 is not set |
1154 | # CONFIG_RTC_DRV_STK17TA8 is not set | 1307 | # CONFIG_RTC_DRV_STK17TA8 is not set |
1155 | # CONFIG_RTC_DRV_M48T86 is not set | 1308 | # CONFIG_RTC_DRV_M48T86 is not set |
1309 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1156 | # CONFIG_RTC_DRV_M48T59 is not set | 1310 | # CONFIG_RTC_DRV_M48T59 is not set |
1311 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1157 | # CONFIG_RTC_DRV_V3020 is not set | 1312 | # CONFIG_RTC_DRV_V3020 is not set |
1158 | 1313 | ||
1159 | # | 1314 | # |
1160 | # on-CPU RTC drivers | 1315 | # on-CPU RTC drivers |
1161 | # | 1316 | # |
1162 | CONFIG_RTC_DRV_PPC=y | 1317 | # CONFIG_RTC_DRV_GENERIC is not set |
1163 | # CONFIG_DMADEVICES is not set | 1318 | # CONFIG_DMADEVICES is not set |
1319 | # CONFIG_AUXDISPLAY is not set | ||
1164 | # CONFIG_UIO is not set | 1320 | # CONFIG_UIO is not set |
1321 | # CONFIG_STAGING is not set | ||
1165 | 1322 | ||
1166 | # | 1323 | # |
1167 | # File systems | 1324 | # File systems |
@@ -1170,17 +1327,20 @@ CONFIG_EXT2_FS=y | |||
1170 | # CONFIG_EXT2_FS_XATTR is not set | 1327 | # CONFIG_EXT2_FS_XATTR is not set |
1171 | # CONFIG_EXT2_FS_XIP is not set | 1328 | # CONFIG_EXT2_FS_XIP is not set |
1172 | CONFIG_EXT3_FS=y | 1329 | CONFIG_EXT3_FS=y |
1330 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1173 | CONFIG_EXT3_FS_XATTR=y | 1331 | CONFIG_EXT3_FS_XATTR=y |
1174 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1332 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1175 | # CONFIG_EXT3_FS_SECURITY is not set | 1333 | # CONFIG_EXT3_FS_SECURITY is not set |
1176 | # CONFIG_EXT4DEV_FS is not set | 1334 | # CONFIG_EXT4_FS is not set |
1177 | CONFIG_JBD=y | 1335 | CONFIG_JBD=y |
1178 | CONFIG_FS_MBCACHE=y | 1336 | CONFIG_FS_MBCACHE=y |
1179 | # CONFIG_REISERFS_FS is not set | 1337 | # CONFIG_REISERFS_FS is not set |
1180 | # CONFIG_JFS_FS is not set | 1338 | # CONFIG_JFS_FS is not set |
1181 | # CONFIG_FS_POSIX_ACL is not set | 1339 | # CONFIG_FS_POSIX_ACL is not set |
1340 | CONFIG_FILE_LOCKING=y | ||
1182 | # CONFIG_XFS_FS is not set | 1341 | # CONFIG_XFS_FS is not set |
1183 | # CONFIG_OCFS2_FS is not set | 1342 | # CONFIG_OCFS2_FS is not set |
1343 | # CONFIG_BTRFS_FS is not set | ||
1184 | CONFIG_DNOTIFY=y | 1344 | CONFIG_DNOTIFY=y |
1185 | CONFIG_INOTIFY=y | 1345 | CONFIG_INOTIFY=y |
1186 | CONFIG_INOTIFY_USER=y | 1346 | CONFIG_INOTIFY_USER=y |
@@ -1190,6 +1350,11 @@ CONFIG_INOTIFY_USER=y | |||
1190 | # CONFIG_FUSE_FS is not set | 1350 | # CONFIG_FUSE_FS is not set |
1191 | 1351 | ||
1192 | # | 1352 | # |
1353 | # Caches | ||
1354 | # | ||
1355 | # CONFIG_FSCACHE is not set | ||
1356 | |||
1357 | # | ||
1193 | # CD-ROM/DVD Filesystems | 1358 | # CD-ROM/DVD Filesystems |
1194 | # | 1359 | # |
1195 | # CONFIG_ISO9660_FS is not set | 1360 | # CONFIG_ISO9660_FS is not set |
@@ -1208,15 +1373,13 @@ CONFIG_INOTIFY_USER=y | |||
1208 | CONFIG_PROC_FS=y | 1373 | CONFIG_PROC_FS=y |
1209 | CONFIG_PROC_KCORE=y | 1374 | CONFIG_PROC_KCORE=y |
1210 | CONFIG_PROC_SYSCTL=y | 1375 | CONFIG_PROC_SYSCTL=y |
1376 | CONFIG_PROC_PAGE_MONITOR=y | ||
1211 | CONFIG_SYSFS=y | 1377 | CONFIG_SYSFS=y |
1212 | CONFIG_TMPFS=y | 1378 | CONFIG_TMPFS=y |
1213 | # CONFIG_TMPFS_POSIX_ACL is not set | 1379 | # CONFIG_TMPFS_POSIX_ACL is not set |
1214 | # CONFIG_HUGETLB_PAGE is not set | 1380 | # CONFIG_HUGETLB_PAGE is not set |
1215 | # CONFIG_CONFIGFS_FS is not set | 1381 | # CONFIG_CONFIGFS_FS is not set |
1216 | 1382 | CONFIG_MISC_FILESYSTEMS=y | |
1217 | # | ||
1218 | # Miscellaneous filesystems | ||
1219 | # | ||
1220 | # CONFIG_ADFS_FS is not set | 1383 | # CONFIG_ADFS_FS is not set |
1221 | # CONFIG_AFFS_FS is not set | 1384 | # CONFIG_AFFS_FS is not set |
1222 | # CONFIG_HFS_FS is not set | 1385 | # CONFIG_HFS_FS is not set |
@@ -1236,25 +1399,27 @@ CONFIG_JFFS2_ZLIB=y | |||
1236 | CONFIG_JFFS2_RTIME=y | 1399 | CONFIG_JFFS2_RTIME=y |
1237 | # CONFIG_JFFS2_RUBIN is not set | 1400 | # CONFIG_JFFS2_RUBIN is not set |
1238 | CONFIG_CRAMFS=y | 1401 | CONFIG_CRAMFS=y |
1402 | # CONFIG_SQUASHFS is not set | ||
1239 | # CONFIG_VXFS_FS is not set | 1403 | # CONFIG_VXFS_FS is not set |
1240 | # CONFIG_MINIX_FS is not set | 1404 | # CONFIG_MINIX_FS is not set |
1405 | # CONFIG_OMFS_FS is not set | ||
1241 | # CONFIG_HPFS_FS is not set | 1406 | # CONFIG_HPFS_FS is not set |
1242 | # CONFIG_QNX4FS_FS is not set | 1407 | # CONFIG_QNX4FS_FS is not set |
1243 | # CONFIG_ROMFS_FS is not set | 1408 | # CONFIG_ROMFS_FS is not set |
1244 | # CONFIG_SYSV_FS is not set | 1409 | # CONFIG_SYSV_FS is not set |
1245 | # CONFIG_UFS_FS is not set | 1410 | # CONFIG_UFS_FS is not set |
1411 | # CONFIG_NILFS2_FS is not set | ||
1246 | CONFIG_NETWORK_FILESYSTEMS=y | 1412 | CONFIG_NETWORK_FILESYSTEMS=y |
1247 | CONFIG_NFS_FS=y | 1413 | CONFIG_NFS_FS=y |
1248 | CONFIG_NFS_V3=y | 1414 | CONFIG_NFS_V3=y |
1249 | # CONFIG_NFS_V3_ACL is not set | 1415 | # CONFIG_NFS_V3_ACL is not set |
1250 | # CONFIG_NFS_V4 is not set | 1416 | # CONFIG_NFS_V4 is not set |
1251 | # CONFIG_NFSD is not set | ||
1252 | CONFIG_ROOT_NFS=y | 1417 | CONFIG_ROOT_NFS=y |
1418 | # CONFIG_NFSD is not set | ||
1253 | CONFIG_LOCKD=y | 1419 | CONFIG_LOCKD=y |
1254 | CONFIG_LOCKD_V4=y | 1420 | CONFIG_LOCKD_V4=y |
1255 | CONFIG_NFS_COMMON=y | 1421 | CONFIG_NFS_COMMON=y |
1256 | CONFIG_SUNRPC=y | 1422 | CONFIG_SUNRPC=y |
1257 | # CONFIG_SUNRPC_BIND34 is not set | ||
1258 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1423 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1259 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1424 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1260 | # CONFIG_SMB_FS is not set | 1425 | # CONFIG_SMB_FS is not set |
@@ -1286,25 +1451,28 @@ CONFIG_MSDOS_PARTITION=y | |||
1286 | # CONFIG_SYSV68_PARTITION is not set | 1451 | # CONFIG_SYSV68_PARTITION is not set |
1287 | # CONFIG_NLS is not set | 1452 | # CONFIG_NLS is not set |
1288 | # CONFIG_DLM is not set | 1453 | # CONFIG_DLM is not set |
1454 | # CONFIG_BINARY_PRINTF is not set | ||
1289 | 1455 | ||
1290 | # | 1456 | # |
1291 | # Library routines | 1457 | # Library routines |
1292 | # | 1458 | # |
1293 | CONFIG_BITREVERSE=y | 1459 | CONFIG_BITREVERSE=y |
1294 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1460 | CONFIG_GENERIC_FIND_LAST_BIT=y |
1295 | # CONFIG_CRC_CCITT is not set | 1461 | # CONFIG_CRC_CCITT is not set |
1296 | # CONFIG_CRC16 is not set | 1462 | # CONFIG_CRC16 is not set |
1463 | # CONFIG_CRC_T10DIF is not set | ||
1297 | # CONFIG_CRC_ITU_T is not set | 1464 | # CONFIG_CRC_ITU_T is not set |
1298 | CONFIG_CRC32=y | 1465 | CONFIG_CRC32=y |
1299 | # CONFIG_CRC7 is not set | 1466 | # CONFIG_CRC7 is not set |
1300 | # CONFIG_LIBCRC32C is not set | 1467 | # CONFIG_LIBCRC32C is not set |
1301 | CONFIG_ZLIB_INFLATE=y | 1468 | CONFIG_ZLIB_INFLATE=y |
1302 | CONFIG_ZLIB_DEFLATE=y | 1469 | CONFIG_ZLIB_DEFLATE=y |
1303 | CONFIG_PLIST=y | 1470 | CONFIG_DECOMPRESS_GZIP=y |
1304 | CONFIG_HAS_IOMEM=y | 1471 | CONFIG_HAS_IOMEM=y |
1305 | CONFIG_HAS_IOPORT=y | 1472 | CONFIG_HAS_IOPORT=y |
1306 | CONFIG_HAS_DMA=y | 1473 | CONFIG_HAS_DMA=y |
1307 | CONFIG_HAVE_LMB=y | 1474 | CONFIG_HAVE_LMB=y |
1475 | CONFIG_NLATTR=y | ||
1308 | 1476 | ||
1309 | # | 1477 | # |
1310 | # Kernel hacking | 1478 | # Kernel hacking |
@@ -1321,7 +1489,32 @@ CONFIG_FRAME_WARN=1024 | |||
1321 | # CONFIG_SLUB_DEBUG_ON is not set | 1489 | # CONFIG_SLUB_DEBUG_ON is not set |
1322 | # CONFIG_SLUB_STATS is not set | 1490 | # CONFIG_SLUB_STATS is not set |
1323 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1491 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1492 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1493 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1494 | # CONFIG_LATENCYTOP is not set | ||
1495 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1496 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1497 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1498 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
1499 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
1500 | CONFIG_TRACING_SUPPORT=y | ||
1501 | |||
1502 | # | ||
1503 | # Tracers | ||
1504 | # | ||
1505 | # CONFIG_FUNCTION_TRACER is not set | ||
1506 | # CONFIG_SCHED_TRACER is not set | ||
1507 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1508 | # CONFIG_EVENT_TRACER is not set | ||
1509 | # CONFIG_BOOT_TRACER is not set | ||
1510 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1511 | # CONFIG_STACK_TRACER is not set | ||
1512 | # CONFIG_KMEMTRACE is not set | ||
1513 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1514 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1324 | # CONFIG_SAMPLES is not set | 1515 | # CONFIG_SAMPLES is not set |
1516 | CONFIG_HAVE_ARCH_KGDB=y | ||
1517 | CONFIG_PRINT_STACK_DEPTH=64 | ||
1325 | # CONFIG_IRQSTACKS is not set | 1518 | # CONFIG_IRQSTACKS is not set |
1326 | # CONFIG_PPC_EARLY_DEBUG is not set | 1519 | # CONFIG_PPC_EARLY_DEBUG is not set |
1327 | 1520 | ||
@@ -1330,13 +1523,16 @@ CONFIG_FRAME_WARN=1024 | |||
1330 | # | 1523 | # |
1331 | # CONFIG_KEYS is not set | 1524 | # CONFIG_KEYS is not set |
1332 | # CONFIG_SECURITY is not set | 1525 | # CONFIG_SECURITY is not set |
1526 | # CONFIG_SECURITYFS is not set | ||
1333 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1527 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1334 | CONFIG_CRYPTO=y | 1528 | CONFIG_CRYPTO=y |
1335 | 1529 | ||
1336 | # | 1530 | # |
1337 | # Crypto core or helper | 1531 | # Crypto core or helper |
1338 | # | 1532 | # |
1533 | # CONFIG_CRYPTO_FIPS is not set | ||
1339 | # CONFIG_CRYPTO_MANAGER is not set | 1534 | # CONFIG_CRYPTO_MANAGER is not set |
1535 | # CONFIG_CRYPTO_MANAGER2 is not set | ||
1340 | # CONFIG_CRYPTO_GF128MUL is not set | 1536 | # CONFIG_CRYPTO_GF128MUL is not set |
1341 | # CONFIG_CRYPTO_NULL is not set | 1537 | # CONFIG_CRYPTO_NULL is not set |
1342 | # CONFIG_CRYPTO_CRYPTD is not set | 1538 | # CONFIG_CRYPTO_CRYPTD is not set |
@@ -1374,6 +1570,10 @@ CONFIG_CRYPTO=y | |||
1374 | # CONFIG_CRYPTO_MD4 is not set | 1570 | # CONFIG_CRYPTO_MD4 is not set |
1375 | # CONFIG_CRYPTO_MD5 is not set | 1571 | # CONFIG_CRYPTO_MD5 is not set |
1376 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1572 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
1573 | # CONFIG_CRYPTO_RMD128 is not set | ||
1574 | # CONFIG_CRYPTO_RMD160 is not set | ||
1575 | # CONFIG_CRYPTO_RMD256 is not set | ||
1576 | # CONFIG_CRYPTO_RMD320 is not set | ||
1377 | # CONFIG_CRYPTO_SHA1 is not set | 1577 | # CONFIG_CRYPTO_SHA1 is not set |
1378 | # CONFIG_CRYPTO_SHA256 is not set | 1578 | # CONFIG_CRYPTO_SHA256 is not set |
1379 | # CONFIG_CRYPTO_SHA512 is not set | 1579 | # CONFIG_CRYPTO_SHA512 is not set |
@@ -1403,8 +1603,15 @@ CONFIG_CRYPTO=y | |||
1403 | # Compression | 1603 | # Compression |
1404 | # | 1604 | # |
1405 | # CONFIG_CRYPTO_DEFLATE is not set | 1605 | # CONFIG_CRYPTO_DEFLATE is not set |
1606 | # CONFIG_CRYPTO_ZLIB is not set | ||
1406 | # CONFIG_CRYPTO_LZO is not set | 1607 | # CONFIG_CRYPTO_LZO is not set |
1608 | |||
1609 | # | ||
1610 | # Random Number Generation | ||
1611 | # | ||
1612 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1407 | CONFIG_CRYPTO_HW=y | 1613 | CONFIG_CRYPTO_HW=y |
1408 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1614 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
1615 | # CONFIG_CRYPTO_DEV_TALITOS is not set | ||
1409 | # CONFIG_PPC_CLOCK is not set | 1616 | # CONFIG_PPC_CLOCK is not set |
1410 | # CONFIG_VIRTUALIZATION is not set | 1617 | # CONFIG_VIRTUALIZATION is not set |
diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig index eb4ba7a5f41f..bd1bfcddbd0c 100644 --- a/arch/powerpc/configs/85xx/stx_gp3_defconfig +++ b/arch/powerpc/configs/85xx/stx_gp3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:18 2009 | 4 | # Wed May 13 17:22:22 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y | |||
59 | CONFIG_DEFAULT_UIMAGE=y | 60 | CONFIG_DEFAULT_UIMAGE=y |
60 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
61 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
63 | 65 | ||
64 | # | 66 | # |
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
76 | # CONFIG_BSD_PROCESS_ACCT is not set | 78 | # CONFIG_BSD_PROCESS_ACCT is not set |
77 | # CONFIG_TASKSTATS is not set | 79 | # CONFIG_TASKSTATS is not set |
78 | # CONFIG_AUDIT is not set | 80 | # CONFIG_AUDIT is not set |
81 | |||
82 | # | ||
83 | # RCU Subsystem | ||
84 | # | ||
85 | CONFIG_CLASSIC_RCU=y | ||
86 | # CONFIG_TREE_RCU is not set | ||
87 | # CONFIG_PREEMPT_RCU is not set | ||
88 | # CONFIG_TREE_RCU_TRACE is not set | ||
89 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | # CONFIG_IKCONFIG is not set | 90 | # CONFIG_IKCONFIG is not set |
80 | CONFIG_LOG_BUF_SHIFT=14 | 91 | CONFIG_LOG_BUF_SHIFT=14 |
81 | CONFIG_GROUP_SCHED=y | 92 | CONFIG_GROUP_SCHED=y |
@@ -90,21 +101,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
90 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
91 | CONFIG_BLK_DEV_INITRD=y | 102 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 103 | CONFIG_INITRAMFS_SOURCE="" |
104 | CONFIG_RD_GZIP=y | ||
105 | # CONFIG_RD_BZIP2 is not set | ||
106 | # CONFIG_RD_LZMA is not set | ||
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 107 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
94 | CONFIG_SYSCTL=y | 108 | CONFIG_SYSCTL=y |
109 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EMBEDDED=y | 110 | CONFIG_EMBEDDED=y |
96 | CONFIG_SYSCTL_SYSCALL=y | 111 | CONFIG_SYSCTL_SYSCALL=y |
97 | CONFIG_KALLSYMS=y | 112 | CONFIG_KALLSYMS=y |
98 | # CONFIG_KALLSYMS_ALL is not set | 113 | # CONFIG_KALLSYMS_ALL is not set |
99 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 114 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
115 | # CONFIG_STRIP_ASM_SYMS is not set | ||
100 | CONFIG_HOTPLUG=y | 116 | CONFIG_HOTPLUG=y |
101 | CONFIG_PRINTK=y | 117 | CONFIG_PRINTK=y |
102 | CONFIG_BUG=y | 118 | CONFIG_BUG=y |
103 | CONFIG_ELF_CORE=y | 119 | CONFIG_ELF_CORE=y |
104 | CONFIG_COMPAT_BRK=y | ||
105 | CONFIG_BASE_FULL=y | 120 | CONFIG_BASE_FULL=y |
106 | CONFIG_FUTEX=y | 121 | CONFIG_FUTEX=y |
107 | CONFIG_ANON_INODES=y | ||
108 | CONFIG_EPOLL=y | 122 | CONFIG_EPOLL=y |
109 | CONFIG_SIGNALFD=y | 123 | CONFIG_SIGNALFD=y |
110 | CONFIG_TIMERFD=y | 124 | CONFIG_TIMERFD=y |
@@ -114,10 +128,12 @@ CONFIG_AIO=y | |||
114 | CONFIG_VM_EVENT_COUNTERS=y | 128 | CONFIG_VM_EVENT_COUNTERS=y |
115 | CONFIG_PCI_QUIRKS=y | 129 | CONFIG_PCI_QUIRKS=y |
116 | CONFIG_SLUB_DEBUG=y | 130 | CONFIG_SLUB_DEBUG=y |
131 | CONFIG_COMPAT_BRK=y | ||
117 | # CONFIG_SLAB is not set | 132 | # CONFIG_SLAB is not set |
118 | CONFIG_SLUB=y | 133 | CONFIG_SLUB=y |
119 | # CONFIG_SLOB is not set | 134 | # CONFIG_SLOB is not set |
120 | # CONFIG_PROFILING is not set | 135 | # CONFIG_PROFILING is not set |
136 | # CONFIG_MARKERS is not set | ||
121 | CONFIG_HAVE_OPROFILE=y | 137 | CONFIG_HAVE_OPROFILE=y |
122 | # CONFIG_KPROBES is not set | 138 | # CONFIG_KPROBES is not set |
123 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 139 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -126,6 +142,7 @@ CONFIG_HAVE_KPROBES=y | |||
126 | CONFIG_HAVE_KRETPROBES=y | 142 | CONFIG_HAVE_KRETPROBES=y |
127 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 143 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
128 | CONFIG_HAVE_CLK=y | 144 | CONFIG_HAVE_CLK=y |
145 | # CONFIG_SLOW_WORK is not set | ||
129 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 146 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
130 | CONFIG_SLABINFO=y | 147 | CONFIG_SLABINFO=y |
131 | CONFIG_RT_MUTEXES=y | 148 | CONFIG_RT_MUTEXES=y |
@@ -137,7 +154,6 @@ CONFIG_MODVERSIONS=y | |||
137 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 154 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
138 | CONFIG_BLOCK=y | 155 | CONFIG_BLOCK=y |
139 | # CONFIG_LBD is not set | 156 | # CONFIG_LBD is not set |
140 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
141 | # CONFIG_BLK_DEV_BSG is not set | 157 | # CONFIG_BLK_DEV_BSG is not set |
142 | # CONFIG_BLK_DEV_INTEGRITY is not set | 158 | # CONFIG_BLK_DEV_INTEGRITY is not set |
143 | 159 | ||
@@ -153,11 +169,6 @@ CONFIG_IOSCHED_CFQ=y | |||
153 | CONFIG_DEFAULT_CFQ=y | 169 | CONFIG_DEFAULT_CFQ=y |
154 | # CONFIG_DEFAULT_NOOP is not set | 170 | # CONFIG_DEFAULT_NOOP is not set |
155 | CONFIG_DEFAULT_IOSCHED="cfq" | 171 | CONFIG_DEFAULT_IOSCHED="cfq" |
156 | CONFIG_CLASSIC_RCU=y | ||
157 | # CONFIG_TREE_RCU is not set | ||
158 | # CONFIG_PREEMPT_RCU is not set | ||
159 | # CONFIG_TREE_RCU_TRACE is not set | ||
160 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
161 | # CONFIG_FREEZER is not set | 172 | # CONFIG_FREEZER is not set |
162 | 173 | ||
163 | # | 174 | # |
@@ -173,6 +184,7 @@ CONFIG_MPC85xx=y | |||
173 | # CONFIG_MPC85xx_MDS is not set | 184 | # CONFIG_MPC85xx_MDS is not set |
174 | # CONFIG_MPC8536_DS is not set | 185 | # CONFIG_MPC8536_DS is not set |
175 | # CONFIG_MPC85xx_DS is not set | 186 | # CONFIG_MPC85xx_DS is not set |
187 | # CONFIG_SOCRATES is not set | ||
176 | # CONFIG_KSI8560 is not set | 188 | # CONFIG_KSI8560 is not set |
177 | CONFIG_STX_GP3=y | 189 | CONFIG_STX_GP3=y |
178 | # CONFIG_TQM8540 is not set | 190 | # CONFIG_TQM8540 is not set |
@@ -241,9 +253,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
241 | CONFIG_BOUNCE=y | 253 | CONFIG_BOUNCE=y |
242 | CONFIG_VIRT_TO_BUS=y | 254 | CONFIG_VIRT_TO_BUS=y |
243 | CONFIG_UNEVICTABLE_LRU=y | 255 | CONFIG_UNEVICTABLE_LRU=y |
256 | CONFIG_HAVE_MLOCK=y | ||
257 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
244 | CONFIG_PPC_4K_PAGES=y | 258 | CONFIG_PPC_4K_PAGES=y |
245 | # CONFIG_PPC_16K_PAGES is not set | 259 | # CONFIG_PPC_16K_PAGES is not set |
246 | # CONFIG_PPC_64K_PAGES is not set | 260 | # CONFIG_PPC_64K_PAGES is not set |
261 | # CONFIG_PPC_256K_PAGES is not set | ||
247 | CONFIG_FORCE_MAX_ZONEORDER=11 | 262 | CONFIG_FORCE_MAX_ZONEORDER=11 |
248 | CONFIG_PROC_DEVICETREE=y | 263 | CONFIG_PROC_DEVICETREE=y |
249 | # CONFIG_CMDLINE_BOOL is not set | 264 | # CONFIG_CMDLINE_BOOL is not set |
@@ -269,6 +284,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
269 | # CONFIG_PCI_LEGACY is not set | 284 | # CONFIG_PCI_LEGACY is not set |
270 | # CONFIG_PCI_DEBUG is not set | 285 | # CONFIG_PCI_DEBUG is not set |
271 | # CONFIG_PCI_STUB is not set | 286 | # CONFIG_PCI_STUB is not set |
287 | # CONFIG_PCI_IOV is not set | ||
272 | # CONFIG_PCCARD is not set | 288 | # CONFIG_PCCARD is not set |
273 | # CONFIG_HOTPLUG_PCI is not set | 289 | # CONFIG_HOTPLUG_PCI is not set |
274 | # CONFIG_HAS_RAPIDIO is not set | 290 | # CONFIG_HAS_RAPIDIO is not set |
@@ -282,17 +298,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
282 | # Default settings for advanced configuration options are used | 298 | # Default settings for advanced configuration options are used |
283 | # | 299 | # |
284 | CONFIG_LOWMEM_SIZE=0x30000000 | 300 | CONFIG_LOWMEM_SIZE=0x30000000 |
301 | CONFIG_LOWMEM_CAM_NUM=3 | ||
285 | CONFIG_PAGE_OFFSET=0xc0000000 | 302 | CONFIG_PAGE_OFFSET=0xc0000000 |
286 | CONFIG_KERNEL_START=0xc0000000 | 303 | CONFIG_KERNEL_START=0xc0000000 |
287 | CONFIG_PHYSICAL_START=0x00000000 | 304 | CONFIG_PHYSICAL_START=0x00000000 |
288 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 305 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
289 | CONFIG_TASK_SIZE=0xc0000000 | 306 | CONFIG_TASK_SIZE=0xc0000000 |
290 | CONFIG_NET=y | 307 | CONFIG_NET=y |
291 | 308 | ||
292 | # | 309 | # |
293 | # Networking options | 310 | # Networking options |
294 | # | 311 | # |
295 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
296 | CONFIG_PACKET=y | 312 | CONFIG_PACKET=y |
297 | # CONFIG_PACKET_MMAP is not set | 313 | # CONFIG_PACKET_MMAP is not set |
298 | CONFIG_UNIX=y | 314 | CONFIG_UNIX=y |
@@ -353,6 +369,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
353 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set | 369 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set |
354 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | 370 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set |
355 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | 371 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set |
372 | # CONFIG_NETFILTER_XT_MATCH_HL is not set | ||
356 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | 373 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set |
357 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | 374 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set |
358 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | 375 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set |
@@ -389,6 +406,7 @@ CONFIG_IP_NF_FILTER=m | |||
389 | # CONFIG_IP_NF_TARGET_LOG is not set | 406 | # CONFIG_IP_NF_TARGET_LOG is not set |
390 | # CONFIG_IP_NF_TARGET_ULOG is not set | 407 | # CONFIG_IP_NF_TARGET_ULOG is not set |
391 | # CONFIG_IP_NF_MANGLE is not set | 408 | # CONFIG_IP_NF_MANGLE is not set |
409 | # CONFIG_IP_NF_TARGET_TTL is not set | ||
392 | # CONFIG_IP_NF_RAW is not set | 410 | # CONFIG_IP_NF_RAW is not set |
393 | # CONFIG_IP_NF_ARPTABLES is not set | 411 | # CONFIG_IP_NF_ARPTABLES is not set |
394 | # CONFIG_IP_DCCP is not set | 412 | # CONFIG_IP_DCCP is not set |
@@ -406,6 +424,7 @@ CONFIG_IP_NF_FILTER=m | |||
406 | # CONFIG_LAPB is not set | 424 | # CONFIG_LAPB is not set |
407 | # CONFIG_ECONET is not set | 425 | # CONFIG_ECONET is not set |
408 | # CONFIG_WAN_ROUTER is not set | 426 | # CONFIG_WAN_ROUTER is not set |
427 | # CONFIG_PHONET is not set | ||
409 | # CONFIG_NET_SCHED is not set | 428 | # CONFIG_NET_SCHED is not set |
410 | # CONFIG_DCB is not set | 429 | # CONFIG_DCB is not set |
411 | 430 | ||
@@ -418,7 +437,6 @@ CONFIG_NET_PKTGEN=y | |||
418 | # CONFIG_IRDA is not set | 437 | # CONFIG_IRDA is not set |
419 | # CONFIG_BT is not set | 438 | # CONFIG_BT is not set |
420 | # CONFIG_AF_RXRPC is not set | 439 | # CONFIG_AF_RXRPC is not set |
421 | # CONFIG_PHONET is not set | ||
422 | CONFIG_WIRELESS=y | 440 | CONFIG_WIRELESS=y |
423 | # CONFIG_CFG80211 is not set | 441 | # CONFIG_CFG80211 is not set |
424 | CONFIG_WIRELESS_OLD_REGULATORY=y | 442 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -476,13 +494,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
476 | # CONFIG_BLK_DEV_HD is not set | 494 | # CONFIG_BLK_DEV_HD is not set |
477 | CONFIG_MISC_DEVICES=y | 495 | CONFIG_MISC_DEVICES=y |
478 | # CONFIG_PHANTOM is not set | 496 | # CONFIG_PHANTOM is not set |
479 | # CONFIG_EEPROM_93CX6 is not set | ||
480 | # CONFIG_SGI_IOC4 is not set | 497 | # CONFIG_SGI_IOC4 is not set |
481 | # CONFIG_TIFM_CORE is not set | 498 | # CONFIG_TIFM_CORE is not set |
482 | # CONFIG_ICS932S401 is not set | 499 | # CONFIG_ICS932S401 is not set |
483 | # CONFIG_ENCLOSURE_SERVICES is not set | 500 | # CONFIG_ENCLOSURE_SERVICES is not set |
484 | # CONFIG_HP_ILO is not set | 501 | # CONFIG_HP_ILO is not set |
502 | # CONFIG_ISL29003 is not set | ||
485 | # CONFIG_C2PORT is not set | 503 | # CONFIG_C2PORT is not set |
504 | |||
505 | # | ||
506 | # EEPROM support | ||
507 | # | ||
508 | # CONFIG_EEPROM_AT24 is not set | ||
509 | # CONFIG_EEPROM_LEGACY is not set | ||
510 | # CONFIG_EEPROM_93CX6 is not set | ||
486 | CONFIG_HAVE_IDE=y | 511 | CONFIG_HAVE_IDE=y |
487 | CONFIG_IDE=y | 512 | CONFIG_IDE=y |
488 | 513 | ||
@@ -591,9 +616,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
591 | # CONFIG_MEGARAID_NEWGEN is not set | 616 | # CONFIG_MEGARAID_NEWGEN is not set |
592 | # CONFIG_MEGARAID_LEGACY is not set | 617 | # CONFIG_MEGARAID_LEGACY is not set |
593 | # CONFIG_MEGARAID_SAS is not set | 618 | # CONFIG_MEGARAID_SAS is not set |
619 | # CONFIG_SCSI_MPT2SAS is not set | ||
594 | # CONFIG_SCSI_HPTIOP is not set | 620 | # CONFIG_SCSI_HPTIOP is not set |
595 | # CONFIG_SCSI_BUSLOGIC is not set | 621 | # CONFIG_SCSI_BUSLOGIC is not set |
596 | # CONFIG_LIBFC is not set | 622 | # CONFIG_LIBFC is not set |
623 | # CONFIG_LIBFCOE is not set | ||
597 | # CONFIG_FCOE is not set | 624 | # CONFIG_FCOE is not set |
598 | # CONFIG_SCSI_DMX3191D is not set | 625 | # CONFIG_SCSI_DMX3191D is not set |
599 | # CONFIG_SCSI_EATA is not set | 626 | # CONFIG_SCSI_EATA is not set |
@@ -617,6 +644,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
617 | # CONFIG_SCSI_DEBUG is not set | 644 | # CONFIG_SCSI_DEBUG is not set |
618 | # CONFIG_SCSI_SRP is not set | 645 | # CONFIG_SCSI_SRP is not set |
619 | # CONFIG_SCSI_DH is not set | 646 | # CONFIG_SCSI_DH is not set |
647 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
620 | # CONFIG_ATA is not set | 648 | # CONFIG_ATA is not set |
621 | # CONFIG_MD is not set | 649 | # CONFIG_MD is not set |
622 | # CONFIG_FUSION is not set | 650 | # CONFIG_FUSION is not set |
@@ -633,6 +661,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
633 | # CONFIG_I2O is not set | 661 | # CONFIG_I2O is not set |
634 | # CONFIG_MACINTOSH_DRIVERS is not set | 662 | # CONFIG_MACINTOSH_DRIVERS is not set |
635 | CONFIG_NETDEVICES=y | 663 | CONFIG_NETDEVICES=y |
664 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
636 | # CONFIG_DUMMY is not set | 665 | # CONFIG_DUMMY is not set |
637 | # CONFIG_BONDING is not set | 666 | # CONFIG_BONDING is not set |
638 | # CONFIG_MACVLAN is not set | 667 | # CONFIG_MACVLAN is not set |
@@ -666,6 +695,8 @@ CONFIG_NET_ETHERNET=y | |||
666 | # CONFIG_SUNGEM is not set | 695 | # CONFIG_SUNGEM is not set |
667 | # CONFIG_CASSINI is not set | 696 | # CONFIG_CASSINI is not set |
668 | # CONFIG_NET_VENDOR_3COM is not set | 697 | # CONFIG_NET_VENDOR_3COM is not set |
698 | # CONFIG_ETHOC is not set | ||
699 | # CONFIG_DNET is not set | ||
669 | # CONFIG_NET_TULIP is not set | 700 | # CONFIG_NET_TULIP is not set |
670 | # CONFIG_HP100 is not set | 701 | # CONFIG_HP100 is not set |
671 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 702 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -687,6 +718,7 @@ CONFIG_NETDEV_1000=y | |||
687 | # CONFIG_E1000E is not set | 718 | # CONFIG_E1000E is not set |
688 | # CONFIG_IP1000 is not set | 719 | # CONFIG_IP1000 is not set |
689 | # CONFIG_IGB is not set | 720 | # CONFIG_IGB is not set |
721 | # CONFIG_IGBVF is not set | ||
690 | # CONFIG_NS83820 is not set | 722 | # CONFIG_NS83820 is not set |
691 | # CONFIG_HAMACHI is not set | 723 | # CONFIG_HAMACHI is not set |
692 | # CONFIG_YELLOWFIN is not set | 724 | # CONFIG_YELLOWFIN is not set |
@@ -697,10 +729,12 @@ CONFIG_NETDEV_1000=y | |||
697 | # CONFIG_VIA_VELOCITY is not set | 729 | # CONFIG_VIA_VELOCITY is not set |
698 | # CONFIG_TIGON3 is not set | 730 | # CONFIG_TIGON3 is not set |
699 | # CONFIG_BNX2 is not set | 731 | # CONFIG_BNX2 is not set |
732 | CONFIG_FSL_PQ_MDIO=y | ||
700 | CONFIG_GIANFAR=y | 733 | CONFIG_GIANFAR=y |
701 | # CONFIG_QLA3XXX is not set | 734 | # CONFIG_QLA3XXX is not set |
702 | # CONFIG_ATL1 is not set | 735 | # CONFIG_ATL1 is not set |
703 | # CONFIG_ATL1E is not set | 736 | # CONFIG_ATL1E is not set |
737 | # CONFIG_ATL1C is not set | ||
704 | # CONFIG_JME is not set | 738 | # CONFIG_JME is not set |
705 | CONFIG_NETDEV_10000=y | 739 | CONFIG_NETDEV_10000=y |
706 | # CONFIG_CHELSIO_T1 is not set | 740 | # CONFIG_CHELSIO_T1 is not set |
@@ -710,6 +744,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
710 | # CONFIG_IXGBE is not set | 744 | # CONFIG_IXGBE is not set |
711 | # CONFIG_IXGB is not set | 745 | # CONFIG_IXGB is not set |
712 | # CONFIG_S2IO is not set | 746 | # CONFIG_S2IO is not set |
747 | # CONFIG_VXGE is not set | ||
713 | # CONFIG_MYRI10GE is not set | 748 | # CONFIG_MYRI10GE is not set |
714 | # CONFIG_NETXEN_NIC is not set | 749 | # CONFIG_NETXEN_NIC is not set |
715 | # CONFIG_NIU is not set | 750 | # CONFIG_NIU is not set |
@@ -719,6 +754,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
719 | # CONFIG_BNX2X is not set | 754 | # CONFIG_BNX2X is not set |
720 | # CONFIG_QLGE is not set | 755 | # CONFIG_QLGE is not set |
721 | # CONFIG_SFC is not set | 756 | # CONFIG_SFC is not set |
757 | # CONFIG_BE2NET is not set | ||
722 | # CONFIG_TR is not set | 758 | # CONFIG_TR is not set |
723 | 759 | ||
724 | # | 760 | # |
@@ -726,7 +762,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
726 | # | 762 | # |
727 | # CONFIG_WLAN_PRE80211 is not set | 763 | # CONFIG_WLAN_PRE80211 is not set |
728 | # CONFIG_WLAN_80211 is not set | 764 | # CONFIG_WLAN_80211 is not set |
729 | # CONFIG_IWLWIFI_LEDS is not set | ||
730 | 765 | ||
731 | # | 766 | # |
732 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 767 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -778,7 +813,6 @@ CONFIG_MOUSE_PS2=y | |||
778 | CONFIG_MOUSE_PS2_ALPS=y | 813 | CONFIG_MOUSE_PS2_ALPS=y |
779 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | 814 | CONFIG_MOUSE_PS2_LOGIPS2PP=y |
780 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 815 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
781 | CONFIG_MOUSE_PS2_LIFEBOOK=y | ||
782 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 816 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
783 | # CONFIG_MOUSE_PS2_ELANTECH is not set | 817 | # CONFIG_MOUSE_PS2_ELANTECH is not set |
784 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | 818 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set |
@@ -837,6 +871,7 @@ CONFIG_PRINTER=m | |||
837 | # CONFIG_HVC_UDBG is not set | 871 | # CONFIG_HVC_UDBG is not set |
838 | # CONFIG_IPMI_HANDLER is not set | 872 | # CONFIG_IPMI_HANDLER is not set |
839 | CONFIG_HW_RANDOM=m | 873 | CONFIG_HW_RANDOM=m |
874 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
840 | # CONFIG_NVRAM is not set | 875 | # CONFIG_NVRAM is not set |
841 | # CONFIG_GEN_RTC is not set | 876 | # CONFIG_GEN_RTC is not set |
842 | # CONFIG_R3964 is not set | 877 | # CONFIG_R3964 is not set |
@@ -903,12 +938,9 @@ CONFIG_I2C_ALGOBIT=m | |||
903 | # Miscellaneous I2C Chip support | 938 | # Miscellaneous I2C Chip support |
904 | # | 939 | # |
905 | # CONFIG_DS1682 is not set | 940 | # CONFIG_DS1682 is not set |
906 | # CONFIG_EEPROM_AT24 is not set | ||
907 | # CONFIG_EEPROM_LEGACY is not set | ||
908 | # CONFIG_SENSORS_PCF8574 is not set | 941 | # CONFIG_SENSORS_PCF8574 is not set |
909 | # CONFIG_PCF8575 is not set | 942 | # CONFIG_PCF8575 is not set |
910 | # CONFIG_SENSORS_PCA9539 is not set | 943 | # CONFIG_SENSORS_PCA9539 is not set |
911 | # CONFIG_SENSORS_PCF8591 is not set | ||
912 | # CONFIG_SENSORS_MAX6875 is not set | 944 | # CONFIG_SENSORS_MAX6875 is not set |
913 | # CONFIG_SENSORS_TSL2550 is not set | 945 | # CONFIG_SENSORS_TSL2550 is not set |
914 | # CONFIG_I2C_DEBUG_CORE is not set | 946 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -964,6 +996,7 @@ CONFIG_HWMON=y | |||
964 | # CONFIG_SENSORS_F71805F is not set | 996 | # CONFIG_SENSORS_F71805F is not set |
965 | # CONFIG_SENSORS_F71882FG is not set | 997 | # CONFIG_SENSORS_F71882FG is not set |
966 | # CONFIG_SENSORS_F75375S is not set | 998 | # CONFIG_SENSORS_F75375S is not set |
999 | # CONFIG_SENSORS_G760A is not set | ||
967 | # CONFIG_SENSORS_GL518SM is not set | 1000 | # CONFIG_SENSORS_GL518SM is not set |
968 | # CONFIG_SENSORS_GL520SM is not set | 1001 | # CONFIG_SENSORS_GL520SM is not set |
969 | # CONFIG_SENSORS_IT87 is not set | 1002 | # CONFIG_SENSORS_IT87 is not set |
@@ -978,11 +1011,15 @@ CONFIG_HWMON=y | |||
978 | # CONFIG_SENSORS_LM90 is not set | 1011 | # CONFIG_SENSORS_LM90 is not set |
979 | # CONFIG_SENSORS_LM92 is not set | 1012 | # CONFIG_SENSORS_LM92 is not set |
980 | # CONFIG_SENSORS_LM93 is not set | 1013 | # CONFIG_SENSORS_LM93 is not set |
1014 | # CONFIG_SENSORS_LTC4215 is not set | ||
981 | # CONFIG_SENSORS_LTC4245 is not set | 1015 | # CONFIG_SENSORS_LTC4245 is not set |
1016 | # CONFIG_SENSORS_LM95241 is not set | ||
982 | # CONFIG_SENSORS_MAX1619 is not set | 1017 | # CONFIG_SENSORS_MAX1619 is not set |
983 | # CONFIG_SENSORS_MAX6650 is not set | 1018 | # CONFIG_SENSORS_MAX6650 is not set |
984 | # CONFIG_SENSORS_PC87360 is not set | 1019 | # CONFIG_SENSORS_PC87360 is not set |
985 | # CONFIG_SENSORS_PC87427 is not set | 1020 | # CONFIG_SENSORS_PC87427 is not set |
1021 | # CONFIG_SENSORS_PCF8591 is not set | ||
1022 | # CONFIG_SENSORS_SHT15 is not set | ||
986 | # CONFIG_SENSORS_SIS5595 is not set | 1023 | # CONFIG_SENSORS_SIS5595 is not set |
987 | # CONFIG_SENSORS_DME1737 is not set | 1024 | # CONFIG_SENSORS_DME1737 is not set |
988 | # CONFIG_SENSORS_SMSC47M1 is not set | 1025 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1075,7 +1112,6 @@ CONFIG_HID=y | |||
1075 | # | 1112 | # |
1076 | # Special HID drivers | 1113 | # Special HID drivers |
1077 | # | 1114 | # |
1078 | CONFIG_HID_COMPAT=y | ||
1079 | CONFIG_USB_SUPPORT=y | 1115 | CONFIG_USB_SUPPORT=y |
1080 | CONFIG_USB_ARCH_HAS_HCD=y | 1116 | CONFIG_USB_ARCH_HAS_HCD=y |
1081 | CONFIG_USB_ARCH_HAS_OHCI=y | 1117 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1089,7 +1125,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1089 | # | 1125 | # |
1090 | 1126 | ||
1091 | # | 1127 | # |
1092 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1128 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1093 | # | 1129 | # |
1094 | # CONFIG_USB_GADGET is not set | 1130 | # CONFIG_USB_GADGET is not set |
1095 | 1131 | ||
@@ -1116,6 +1152,7 @@ CONFIG_EXT2_FS=y | |||
1116 | # CONFIG_EXT2_FS_XATTR is not set | 1152 | # CONFIG_EXT2_FS_XATTR is not set |
1117 | # CONFIG_EXT2_FS_XIP is not set | 1153 | # CONFIG_EXT2_FS_XIP is not set |
1118 | CONFIG_EXT3_FS=y | 1154 | CONFIG_EXT3_FS=y |
1155 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1119 | CONFIG_EXT3_FS_XATTR=y | 1156 | CONFIG_EXT3_FS_XATTR=y |
1120 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1157 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1121 | # CONFIG_EXT3_FS_SECURITY is not set | 1158 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1138,6 +1175,11 @@ CONFIG_AUTOFS4_FS=y | |||
1138 | # CONFIG_FUSE_FS is not set | 1175 | # CONFIG_FUSE_FS is not set |
1139 | 1176 | ||
1140 | # | 1177 | # |
1178 | # Caches | ||
1179 | # | ||
1180 | # CONFIG_FSCACHE is not set | ||
1181 | |||
1182 | # | ||
1141 | # CD-ROM/DVD Filesystems | 1183 | # CD-ROM/DVD Filesystems |
1142 | # | 1184 | # |
1143 | CONFIG_ISO9660_FS=m | 1185 | CONFIG_ISO9660_FS=m |
@@ -1186,6 +1228,7 @@ CONFIG_CRAMFS=m | |||
1186 | # CONFIG_ROMFS_FS is not set | 1228 | # CONFIG_ROMFS_FS is not set |
1187 | # CONFIG_SYSV_FS is not set | 1229 | # CONFIG_SYSV_FS is not set |
1188 | # CONFIG_UFS_FS is not set | 1230 | # CONFIG_UFS_FS is not set |
1231 | # CONFIG_NILFS2_FS is not set | ||
1189 | CONFIG_NETWORK_FILESYSTEMS=y | 1232 | CONFIG_NETWORK_FILESYSTEMS=y |
1190 | CONFIG_NFS_FS=y | 1233 | CONFIG_NFS_FS=y |
1191 | CONFIG_NFS_V3=y | 1234 | CONFIG_NFS_V3=y |
@@ -1197,7 +1240,6 @@ CONFIG_LOCKD=y | |||
1197 | CONFIG_LOCKD_V4=y | 1240 | CONFIG_LOCKD_V4=y |
1198 | CONFIG_NFS_COMMON=y | 1241 | CONFIG_NFS_COMMON=y |
1199 | CONFIG_SUNRPC=y | 1242 | CONFIG_SUNRPC=y |
1200 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1201 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1243 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1202 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1244 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1203 | CONFIG_SMB_FS=m | 1245 | CONFIG_SMB_FS=m |
@@ -1253,6 +1295,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1253 | # CONFIG_NLS_KOI8_U is not set | 1295 | # CONFIG_NLS_KOI8_U is not set |
1254 | # CONFIG_NLS_UTF8 is not set | 1296 | # CONFIG_NLS_UTF8 is not set |
1255 | # CONFIG_DLM is not set | 1297 | # CONFIG_DLM is not set |
1298 | # CONFIG_BINARY_PRINTF is not set | ||
1256 | 1299 | ||
1257 | # | 1300 | # |
1258 | # Library routines | 1301 | # Library routines |
@@ -1266,12 +1309,13 @@ CONFIG_CRC_ITU_T=m | |||
1266 | CONFIG_CRC32=y | 1309 | CONFIG_CRC32=y |
1267 | # CONFIG_CRC7 is not set | 1310 | # CONFIG_CRC7 is not set |
1268 | # CONFIG_LIBCRC32C is not set | 1311 | # CONFIG_LIBCRC32C is not set |
1269 | CONFIG_ZLIB_INFLATE=m | 1312 | CONFIG_ZLIB_INFLATE=y |
1270 | CONFIG_PLIST=y | 1313 | CONFIG_DECOMPRESS_GZIP=y |
1271 | CONFIG_HAS_IOMEM=y | 1314 | CONFIG_HAS_IOMEM=y |
1272 | CONFIG_HAS_IOPORT=y | 1315 | CONFIG_HAS_IOPORT=y |
1273 | CONFIG_HAS_DMA=y | 1316 | CONFIG_HAS_DMA=y |
1274 | CONFIG_HAVE_LMB=y | 1317 | CONFIG_HAVE_LMB=y |
1318 | CONFIG_NLATTR=y | ||
1275 | 1319 | ||
1276 | # | 1320 | # |
1277 | # Kernel hacking | 1321 | # Kernel hacking |
@@ -1289,6 +1333,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1289 | CONFIG_DETECT_SOFTLOCKUP=y | 1333 | CONFIG_DETECT_SOFTLOCKUP=y |
1290 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1334 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1291 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1335 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1336 | CONFIG_DETECT_HUNG_TASK=y | ||
1337 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1338 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1292 | CONFIG_SCHED_DEBUG=y | 1339 | CONFIG_SCHED_DEBUG=y |
1293 | # CONFIG_SCHEDSTATS is not set | 1340 | # CONFIG_SCHEDSTATS is not set |
1294 | # CONFIG_TIMER_STATS is not set | 1341 | # CONFIG_TIMER_STATS is not set |
@@ -1319,9 +1366,12 @@ CONFIG_SCHED_DEBUG=y | |||
1319 | # CONFIG_FAULT_INJECTION is not set | 1366 | # CONFIG_FAULT_INJECTION is not set |
1320 | # CONFIG_LATENCYTOP is not set | 1367 | # CONFIG_LATENCYTOP is not set |
1321 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1368 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1369 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1322 | CONFIG_HAVE_FUNCTION_TRACER=y | 1370 | CONFIG_HAVE_FUNCTION_TRACER=y |
1371 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1323 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1372 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1324 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1373 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1374 | CONFIG_TRACING_SUPPORT=y | ||
1325 | 1375 | ||
1326 | # | 1376 | # |
1327 | # Tracers | 1377 | # Tracers |
@@ -1329,17 +1379,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1329 | # CONFIG_FUNCTION_TRACER is not set | 1379 | # CONFIG_FUNCTION_TRACER is not set |
1330 | # CONFIG_SCHED_TRACER is not set | 1380 | # CONFIG_SCHED_TRACER is not set |
1331 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1381 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1382 | # CONFIG_EVENT_TRACER is not set | ||
1332 | # CONFIG_BOOT_TRACER is not set | 1383 | # CONFIG_BOOT_TRACER is not set |
1333 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1384 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1334 | # CONFIG_STACK_TRACER is not set | 1385 | # CONFIG_STACK_TRACER is not set |
1335 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1386 | # CONFIG_KMEMTRACE is not set |
1387 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1388 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1336 | # CONFIG_SAMPLES is not set | 1389 | # CONFIG_SAMPLES is not set |
1337 | CONFIG_HAVE_ARCH_KGDB=y | 1390 | CONFIG_HAVE_ARCH_KGDB=y |
1338 | # CONFIG_KGDB is not set | 1391 | # CONFIG_KGDB is not set |
1339 | CONFIG_PRINT_STACK_DEPTH=64 | 1392 | CONFIG_PRINT_STACK_DEPTH=64 |
1340 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1393 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1341 | # CONFIG_DEBUG_STACK_USAGE is not set | 1394 | # CONFIG_DEBUG_STACK_USAGE is not set |
1342 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1343 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1395 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1344 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1396 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1345 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1397 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1433,6 +1485,7 @@ CONFIG_CRYPTO=y | |||
1433 | # Compression | 1485 | # Compression |
1434 | # | 1486 | # |
1435 | # CONFIG_CRYPTO_DEFLATE is not set | 1487 | # CONFIG_CRYPTO_DEFLATE is not set |
1488 | # CONFIG_CRYPTO_ZLIB is not set | ||
1436 | # CONFIG_CRYPTO_LZO is not set | 1489 | # CONFIG_CRYPTO_LZO is not set |
1437 | 1490 | ||
1438 | # | 1491 | # |
diff --git a/arch/powerpc/configs/85xx/tqm8540_defconfig b/arch/powerpc/configs/85xx/tqm8540_defconfig index f4379b1cf841..767600145fb2 100644 --- a/arch/powerpc/configs/85xx/tqm8540_defconfig +++ b/arch/powerpc/configs/85xx/tqm8540_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:19 2009 | 4 | # Wed May 13 17:22:23 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
58 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 77 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 79 | # CONFIG_AUDIT is not set |
80 | |||
81 | # | ||
82 | # RCU Subsystem | ||
83 | # | ||
84 | CONFIG_CLASSIC_RCU=y | ||
85 | # CONFIG_TREE_RCU is not set | ||
86 | # CONFIG_PREEMPT_RCU is not set | ||
87 | # CONFIG_TREE_RCU_TRACE is not set | ||
88 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | # CONFIG_IKCONFIG is not set | 89 | # CONFIG_IKCONFIG is not set |
79 | CONFIG_LOG_BUF_SHIFT=14 | 90 | CONFIG_LOG_BUF_SHIFT=14 |
80 | CONFIG_GROUP_SCHED=y | 91 | CONFIG_GROUP_SCHED=y |
@@ -89,19 +100,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
89 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
90 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
91 | CONFIG_INITRAMFS_SOURCE="" | 102 | CONFIG_INITRAMFS_SOURCE="" |
103 | CONFIG_RD_GZIP=y | ||
104 | # CONFIG_RD_BZIP2 is not set | ||
105 | # CONFIG_RD_LZMA is not set | ||
92 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 106 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
93 | CONFIG_SYSCTL=y | 107 | CONFIG_SYSCTL=y |
108 | CONFIG_ANON_INODES=y | ||
94 | CONFIG_EMBEDDED=y | 109 | CONFIG_EMBEDDED=y |
95 | CONFIG_SYSCTL_SYSCALL=y | 110 | CONFIG_SYSCTL_SYSCALL=y |
96 | # CONFIG_KALLSYMS is not set | 111 | # CONFIG_KALLSYMS is not set |
112 | # CONFIG_STRIP_ASM_SYMS is not set | ||
97 | # CONFIG_HOTPLUG is not set | 113 | # CONFIG_HOTPLUG is not set |
98 | CONFIG_PRINTK=y | 114 | CONFIG_PRINTK=y |
99 | CONFIG_BUG=y | 115 | CONFIG_BUG=y |
100 | CONFIG_ELF_CORE=y | 116 | CONFIG_ELF_CORE=y |
101 | CONFIG_COMPAT_BRK=y | ||
102 | CONFIG_BASE_FULL=y | 117 | CONFIG_BASE_FULL=y |
103 | CONFIG_FUTEX=y | 118 | CONFIG_FUTEX=y |
104 | CONFIG_ANON_INODES=y | ||
105 | # CONFIG_EPOLL is not set | 119 | # CONFIG_EPOLL is not set |
106 | CONFIG_SIGNALFD=y | 120 | CONFIG_SIGNALFD=y |
107 | CONFIG_TIMERFD=y | 121 | CONFIG_TIMERFD=y |
@@ -111,16 +125,19 @@ CONFIG_AIO=y | |||
111 | CONFIG_VM_EVENT_COUNTERS=y | 125 | CONFIG_VM_EVENT_COUNTERS=y |
112 | CONFIG_PCI_QUIRKS=y | 126 | CONFIG_PCI_QUIRKS=y |
113 | CONFIG_SLUB_DEBUG=y | 127 | CONFIG_SLUB_DEBUG=y |
128 | CONFIG_COMPAT_BRK=y | ||
114 | # CONFIG_SLAB is not set | 129 | # CONFIG_SLAB is not set |
115 | CONFIG_SLUB=y | 130 | CONFIG_SLUB=y |
116 | # CONFIG_SLOB is not set | 131 | # CONFIG_SLOB is not set |
117 | # CONFIG_PROFILING is not set | 132 | # CONFIG_PROFILING is not set |
133 | # CONFIG_MARKERS is not set | ||
118 | CONFIG_HAVE_OPROFILE=y | 134 | CONFIG_HAVE_OPROFILE=y |
119 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 135 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
120 | CONFIG_HAVE_IOREMAP_PROT=y | 136 | CONFIG_HAVE_IOREMAP_PROT=y |
121 | CONFIG_HAVE_KPROBES=y | 137 | CONFIG_HAVE_KPROBES=y |
122 | CONFIG_HAVE_KRETPROBES=y | 138 | CONFIG_HAVE_KRETPROBES=y |
123 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 139 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
140 | # CONFIG_SLOW_WORK is not set | ||
124 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 141 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
125 | CONFIG_SLABINFO=y | 142 | CONFIG_SLABINFO=y |
126 | CONFIG_RT_MUTEXES=y | 143 | CONFIG_RT_MUTEXES=y |
@@ -128,7 +145,6 @@ CONFIG_BASE_SMALL=0 | |||
128 | # CONFIG_MODULES is not set | 145 | # CONFIG_MODULES is not set |
129 | CONFIG_BLOCK=y | 146 | CONFIG_BLOCK=y |
130 | # CONFIG_LBD is not set | 147 | # CONFIG_LBD is not set |
131 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
132 | # CONFIG_BLK_DEV_BSG is not set | 148 | # CONFIG_BLK_DEV_BSG is not set |
133 | # CONFIG_BLK_DEV_INTEGRITY is not set | 149 | # CONFIG_BLK_DEV_INTEGRITY is not set |
134 | 150 | ||
@@ -144,11 +160,6 @@ CONFIG_DEFAULT_AS=y | |||
144 | # CONFIG_DEFAULT_CFQ is not set | 160 | # CONFIG_DEFAULT_CFQ is not set |
145 | # CONFIG_DEFAULT_NOOP is not set | 161 | # CONFIG_DEFAULT_NOOP is not set |
146 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 162 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
147 | CONFIG_CLASSIC_RCU=y | ||
148 | # CONFIG_TREE_RCU is not set | ||
149 | # CONFIG_PREEMPT_RCU is not set | ||
150 | # CONFIG_TREE_RCU_TRACE is not set | ||
151 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
152 | # CONFIG_FREEZER is not set | 163 | # CONFIG_FREEZER is not set |
153 | 164 | ||
154 | # | 165 | # |
@@ -164,6 +175,7 @@ CONFIG_MPC85xx=y | |||
164 | # CONFIG_MPC85xx_MDS is not set | 175 | # CONFIG_MPC85xx_MDS is not set |
165 | # CONFIG_MPC8536_DS is not set | 176 | # CONFIG_MPC8536_DS is not set |
166 | # CONFIG_MPC85xx_DS is not set | 177 | # CONFIG_MPC85xx_DS is not set |
178 | # CONFIG_SOCRATES is not set | ||
167 | # CONFIG_KSI8560 is not set | 179 | # CONFIG_KSI8560 is not set |
168 | # CONFIG_STX_GP3 is not set | 180 | # CONFIG_STX_GP3 is not set |
169 | CONFIG_TQM8540=y | 181 | CONFIG_TQM8540=y |
@@ -232,9 +244,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
232 | CONFIG_BOUNCE=y | 244 | CONFIG_BOUNCE=y |
233 | CONFIG_VIRT_TO_BUS=y | 245 | CONFIG_VIRT_TO_BUS=y |
234 | CONFIG_UNEVICTABLE_LRU=y | 246 | CONFIG_UNEVICTABLE_LRU=y |
247 | CONFIG_HAVE_MLOCK=y | ||
248 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
235 | CONFIG_PPC_4K_PAGES=y | 249 | CONFIG_PPC_4K_PAGES=y |
236 | # CONFIG_PPC_16K_PAGES is not set | 250 | # CONFIG_PPC_16K_PAGES is not set |
237 | # CONFIG_PPC_64K_PAGES is not set | 251 | # CONFIG_PPC_64K_PAGES is not set |
252 | # CONFIG_PPC_256K_PAGES is not set | ||
238 | CONFIG_FORCE_MAX_ZONEORDER=11 | 253 | CONFIG_FORCE_MAX_ZONEORDER=11 |
239 | # CONFIG_PROC_DEVICETREE is not set | 254 | # CONFIG_PROC_DEVICETREE is not set |
240 | # CONFIG_CMDLINE_BOOL is not set | 255 | # CONFIG_CMDLINE_BOOL is not set |
@@ -259,6 +274,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
259 | # CONFIG_PCI_MSI is not set | 274 | # CONFIG_PCI_MSI is not set |
260 | # CONFIG_PCI_LEGACY is not set | 275 | # CONFIG_PCI_LEGACY is not set |
261 | # CONFIG_PCI_STUB is not set | 276 | # CONFIG_PCI_STUB is not set |
277 | # CONFIG_PCI_IOV is not set | ||
262 | # CONFIG_HAS_RAPIDIO is not set | 278 | # CONFIG_HAS_RAPIDIO is not set |
263 | 279 | ||
264 | # | 280 | # |
@@ -270,17 +286,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
270 | # Default settings for advanced configuration options are used | 286 | # Default settings for advanced configuration options are used |
271 | # | 287 | # |
272 | CONFIG_LOWMEM_SIZE=0x30000000 | 288 | CONFIG_LOWMEM_SIZE=0x30000000 |
289 | CONFIG_LOWMEM_CAM_NUM=3 | ||
273 | CONFIG_PAGE_OFFSET=0xc0000000 | 290 | CONFIG_PAGE_OFFSET=0xc0000000 |
274 | CONFIG_KERNEL_START=0xc0000000 | 291 | CONFIG_KERNEL_START=0xc0000000 |
275 | CONFIG_PHYSICAL_START=0x00000000 | 292 | CONFIG_PHYSICAL_START=0x00000000 |
276 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 293 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
277 | CONFIG_TASK_SIZE=0xc0000000 | 294 | CONFIG_TASK_SIZE=0xc0000000 |
278 | CONFIG_NET=y | 295 | CONFIG_NET=y |
279 | 296 | ||
280 | # | 297 | # |
281 | # Networking options | 298 | # Networking options |
282 | # | 299 | # |
283 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
284 | CONFIG_PACKET=y | 300 | CONFIG_PACKET=y |
285 | # CONFIG_PACKET_MMAP is not set | 301 | # CONFIG_PACKET_MMAP is not set |
286 | CONFIG_UNIX=y | 302 | CONFIG_UNIX=y |
@@ -336,6 +352,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
336 | # CONFIG_LAPB is not set | 352 | # CONFIG_LAPB is not set |
337 | # CONFIG_ECONET is not set | 353 | # CONFIG_ECONET is not set |
338 | # CONFIG_WAN_ROUTER is not set | 354 | # CONFIG_WAN_ROUTER is not set |
355 | # CONFIG_PHONET is not set | ||
339 | # CONFIG_NET_SCHED is not set | 356 | # CONFIG_NET_SCHED is not set |
340 | # CONFIG_DCB is not set | 357 | # CONFIG_DCB is not set |
341 | 358 | ||
@@ -348,7 +365,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
348 | # CONFIG_IRDA is not set | 365 | # CONFIG_IRDA is not set |
349 | # CONFIG_BT is not set | 366 | # CONFIG_BT is not set |
350 | # CONFIG_AF_RXRPC is not set | 367 | # CONFIG_AF_RXRPC is not set |
351 | # CONFIG_PHONET is not set | ||
352 | CONFIG_WIRELESS=y | 368 | CONFIG_WIRELESS=y |
353 | # CONFIG_CFG80211 is not set | 369 | # CONFIG_CFG80211 is not set |
354 | CONFIG_WIRELESS_OLD_REGULATORY=y | 370 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -448,7 +464,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
448 | # LPDDR flash memory drivers | 464 | # LPDDR flash memory drivers |
449 | # | 465 | # |
450 | # CONFIG_MTD_LPDDR is not set | 466 | # CONFIG_MTD_LPDDR is not set |
451 | # CONFIG_MTD_QINFO_PROBE is not set | ||
452 | 467 | ||
453 | # | 468 | # |
454 | # UBI - Unsorted block images | 469 | # UBI - Unsorted block images |
@@ -477,19 +492,27 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
477 | # CONFIG_BLK_DEV_HD is not set | 492 | # CONFIG_BLK_DEV_HD is not set |
478 | CONFIG_MISC_DEVICES=y | 493 | CONFIG_MISC_DEVICES=y |
479 | # CONFIG_PHANTOM is not set | 494 | # CONFIG_PHANTOM is not set |
480 | # CONFIG_EEPROM_93CX6 is not set | ||
481 | # CONFIG_SGI_IOC4 is not set | 495 | # CONFIG_SGI_IOC4 is not set |
482 | # CONFIG_TIFM_CORE is not set | 496 | # CONFIG_TIFM_CORE is not set |
483 | # CONFIG_ICS932S401 is not set | 497 | # CONFIG_ICS932S401 is not set |
484 | # CONFIG_ENCLOSURE_SERVICES is not set | 498 | # CONFIG_ENCLOSURE_SERVICES is not set |
485 | # CONFIG_HP_ILO is not set | 499 | # CONFIG_HP_ILO is not set |
500 | # CONFIG_ISL29003 is not set | ||
486 | # CONFIG_C2PORT is not set | 501 | # CONFIG_C2PORT is not set |
502 | |||
503 | # | ||
504 | # EEPROM support | ||
505 | # | ||
506 | # CONFIG_EEPROM_AT24 is not set | ||
507 | # CONFIG_EEPROM_LEGACY is not set | ||
508 | # CONFIG_EEPROM_93CX6 is not set | ||
487 | CONFIG_HAVE_IDE=y | 509 | CONFIG_HAVE_IDE=y |
488 | CONFIG_IDE=y | 510 | CONFIG_IDE=y |
489 | 511 | ||
490 | # | 512 | # |
491 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 513 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
492 | # | 514 | # |
515 | CONFIG_IDE_XFER_MODE=y | ||
493 | CONFIG_IDE_TIMINGS=y | 516 | CONFIG_IDE_TIMINGS=y |
494 | # CONFIG_BLK_DEV_IDE_SATA is not set | 517 | # CONFIG_BLK_DEV_IDE_SATA is not set |
495 | CONFIG_IDE_GD=y | 518 | CONFIG_IDE_GD=y |
@@ -564,6 +587,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
564 | # CONFIG_I2O is not set | 587 | # CONFIG_I2O is not set |
565 | # CONFIG_MACINTOSH_DRIVERS is not set | 588 | # CONFIG_MACINTOSH_DRIVERS is not set |
566 | CONFIG_NETDEVICES=y | 589 | CONFIG_NETDEVICES=y |
590 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
567 | # CONFIG_DUMMY is not set | 591 | # CONFIG_DUMMY is not set |
568 | # CONFIG_BONDING is not set | 592 | # CONFIG_BONDING is not set |
569 | # CONFIG_MACVLAN is not set | 593 | # CONFIG_MACVLAN is not set |
@@ -597,6 +621,8 @@ CONFIG_MII=y | |||
597 | # CONFIG_SUNGEM is not set | 621 | # CONFIG_SUNGEM is not set |
598 | # CONFIG_CASSINI is not set | 622 | # CONFIG_CASSINI is not set |
599 | # CONFIG_NET_VENDOR_3COM is not set | 623 | # CONFIG_NET_VENDOR_3COM is not set |
624 | # CONFIG_ETHOC is not set | ||
625 | # CONFIG_DNET is not set | ||
600 | # CONFIG_NET_TULIP is not set | 626 | # CONFIG_NET_TULIP is not set |
601 | # CONFIG_HP100 is not set | 627 | # CONFIG_HP100 is not set |
602 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 628 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -634,6 +660,7 @@ CONFIG_NETDEV_1000=y | |||
634 | # CONFIG_E1000E is not set | 660 | # CONFIG_E1000E is not set |
635 | # CONFIG_IP1000 is not set | 661 | # CONFIG_IP1000 is not set |
636 | # CONFIG_IGB is not set | 662 | # CONFIG_IGB is not set |
663 | # CONFIG_IGBVF is not set | ||
637 | # CONFIG_NS83820 is not set | 664 | # CONFIG_NS83820 is not set |
638 | # CONFIG_HAMACHI is not set | 665 | # CONFIG_HAMACHI is not set |
639 | # CONFIG_YELLOWFIN is not set | 666 | # CONFIG_YELLOWFIN is not set |
@@ -644,10 +671,12 @@ CONFIG_NETDEV_1000=y | |||
644 | # CONFIG_VIA_VELOCITY is not set | 671 | # CONFIG_VIA_VELOCITY is not set |
645 | # CONFIG_TIGON3 is not set | 672 | # CONFIG_TIGON3 is not set |
646 | # CONFIG_BNX2 is not set | 673 | # CONFIG_BNX2 is not set |
674 | CONFIG_FSL_PQ_MDIO=y | ||
647 | CONFIG_GIANFAR=y | 675 | CONFIG_GIANFAR=y |
648 | # CONFIG_QLA3XXX is not set | 676 | # CONFIG_QLA3XXX is not set |
649 | # CONFIG_ATL1 is not set | 677 | # CONFIG_ATL1 is not set |
650 | # CONFIG_ATL1E is not set | 678 | # CONFIG_ATL1E is not set |
679 | # CONFIG_ATL1C is not set | ||
651 | # CONFIG_JME is not set | 680 | # CONFIG_JME is not set |
652 | CONFIG_NETDEV_10000=y | 681 | CONFIG_NETDEV_10000=y |
653 | # CONFIG_CHELSIO_T1 is not set | 682 | # CONFIG_CHELSIO_T1 is not set |
@@ -657,6 +686,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
657 | # CONFIG_IXGBE is not set | 686 | # CONFIG_IXGBE is not set |
658 | # CONFIG_IXGB is not set | 687 | # CONFIG_IXGB is not set |
659 | # CONFIG_S2IO is not set | 688 | # CONFIG_S2IO is not set |
689 | # CONFIG_VXGE is not set | ||
660 | # CONFIG_MYRI10GE is not set | 690 | # CONFIG_MYRI10GE is not set |
661 | # CONFIG_NETXEN_NIC is not set | 691 | # CONFIG_NETXEN_NIC is not set |
662 | # CONFIG_NIU is not set | 692 | # CONFIG_NIU is not set |
@@ -666,6 +696,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
666 | # CONFIG_BNX2X is not set | 696 | # CONFIG_BNX2X is not set |
667 | # CONFIG_QLGE is not set | 697 | # CONFIG_QLGE is not set |
668 | # CONFIG_SFC is not set | 698 | # CONFIG_SFC is not set |
699 | # CONFIG_BE2NET is not set | ||
669 | # CONFIG_TR is not set | 700 | # CONFIG_TR is not set |
670 | 701 | ||
671 | # | 702 | # |
@@ -673,7 +704,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
673 | # | 704 | # |
674 | # CONFIG_WLAN_PRE80211 is not set | 705 | # CONFIG_WLAN_PRE80211 is not set |
675 | # CONFIG_WLAN_80211 is not set | 706 | # CONFIG_WLAN_80211 is not set |
676 | # CONFIG_IWLWIFI_LEDS is not set | ||
677 | 707 | ||
678 | # | 708 | # |
679 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 709 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -754,6 +784,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
754 | # CONFIG_HVC_UDBG is not set | 784 | # CONFIG_HVC_UDBG is not set |
755 | # CONFIG_IPMI_HANDLER is not set | 785 | # CONFIG_IPMI_HANDLER is not set |
756 | CONFIG_HW_RANDOM=y | 786 | CONFIG_HW_RANDOM=y |
787 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
757 | # CONFIG_NVRAM is not set | 788 | # CONFIG_NVRAM is not set |
758 | CONFIG_GEN_RTC=y | 789 | CONFIG_GEN_RTC=y |
759 | # CONFIG_GEN_RTC_X is not set | 790 | # CONFIG_GEN_RTC_X is not set |
@@ -816,12 +847,9 @@ CONFIG_I2C_MPC=y | |||
816 | # Miscellaneous I2C Chip support | 847 | # Miscellaneous I2C Chip support |
817 | # | 848 | # |
818 | # CONFIG_DS1682 is not set | 849 | # CONFIG_DS1682 is not set |
819 | # CONFIG_EEPROM_AT24 is not set | ||
820 | # CONFIG_EEPROM_LEGACY is not set | ||
821 | # CONFIG_SENSORS_PCF8574 is not set | 850 | # CONFIG_SENSORS_PCF8574 is not set |
822 | # CONFIG_PCF8575 is not set | 851 | # CONFIG_PCF8575 is not set |
823 | # CONFIG_SENSORS_PCA9539 is not set | 852 | # CONFIG_SENSORS_PCA9539 is not set |
824 | # CONFIG_SENSORS_PCF8591 is not set | ||
825 | # CONFIG_SENSORS_MAX6875 is not set | 853 | # CONFIG_SENSORS_MAX6875 is not set |
826 | # CONFIG_SENSORS_TSL2550 is not set | 854 | # CONFIG_SENSORS_TSL2550 is not set |
827 | # CONFIG_I2C_DEBUG_CORE is not set | 855 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -853,6 +881,7 @@ CONFIG_HWMON=y | |||
853 | # CONFIG_SENSORS_F71805F is not set | 881 | # CONFIG_SENSORS_F71805F is not set |
854 | # CONFIG_SENSORS_F71882FG is not set | 882 | # CONFIG_SENSORS_F71882FG is not set |
855 | # CONFIG_SENSORS_F75375S is not set | 883 | # CONFIG_SENSORS_F75375S is not set |
884 | # CONFIG_SENSORS_G760A is not set | ||
856 | # CONFIG_SENSORS_GL518SM is not set | 885 | # CONFIG_SENSORS_GL518SM is not set |
857 | # CONFIG_SENSORS_GL520SM is not set | 886 | # CONFIG_SENSORS_GL520SM is not set |
858 | # CONFIG_SENSORS_IT87 is not set | 887 | # CONFIG_SENSORS_IT87 is not set |
@@ -867,11 +896,14 @@ CONFIG_SENSORS_LM75=y | |||
867 | # CONFIG_SENSORS_LM90 is not set | 896 | # CONFIG_SENSORS_LM90 is not set |
868 | # CONFIG_SENSORS_LM92 is not set | 897 | # CONFIG_SENSORS_LM92 is not set |
869 | # CONFIG_SENSORS_LM93 is not set | 898 | # CONFIG_SENSORS_LM93 is not set |
899 | # CONFIG_SENSORS_LTC4215 is not set | ||
870 | # CONFIG_SENSORS_LTC4245 is not set | 900 | # CONFIG_SENSORS_LTC4245 is not set |
901 | # CONFIG_SENSORS_LM95241 is not set | ||
871 | # CONFIG_SENSORS_MAX1619 is not set | 902 | # CONFIG_SENSORS_MAX1619 is not set |
872 | # CONFIG_SENSORS_MAX6650 is not set | 903 | # CONFIG_SENSORS_MAX6650 is not set |
873 | # CONFIG_SENSORS_PC87360 is not set | 904 | # CONFIG_SENSORS_PC87360 is not set |
874 | # CONFIG_SENSORS_PC87427 is not set | 905 | # CONFIG_SENSORS_PC87427 is not set |
906 | # CONFIG_SENSORS_PCF8591 is not set | ||
875 | # CONFIG_SENSORS_SIS5595 is not set | 907 | # CONFIG_SENSORS_SIS5595 is not set |
876 | # CONFIG_SENSORS_DME1737 is not set | 908 | # CONFIG_SENSORS_DME1737 is not set |
877 | # CONFIG_SENSORS_SMSC47M1 is not set | 909 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -955,7 +987,6 @@ CONFIG_HID=y | |||
955 | # | 987 | # |
956 | # Special HID drivers | 988 | # Special HID drivers |
957 | # | 989 | # |
958 | CONFIG_HID_COMPAT=y | ||
959 | CONFIG_USB_SUPPORT=y | 990 | CONFIG_USB_SUPPORT=y |
960 | CONFIG_USB_ARCH_HAS_HCD=y | 991 | CONFIG_USB_ARCH_HAS_HCD=y |
961 | CONFIG_USB_ARCH_HAS_OHCI=y | 992 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -969,7 +1000,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
969 | # | 1000 | # |
970 | 1001 | ||
971 | # | 1002 | # |
972 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1003 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
973 | # | 1004 | # |
974 | # CONFIG_USB_GADGET is not set | 1005 | # CONFIG_USB_GADGET is not set |
975 | 1006 | ||
@@ -985,6 +1016,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
985 | # CONFIG_EDAC is not set | 1016 | # CONFIG_EDAC is not set |
986 | # CONFIG_RTC_CLASS is not set | 1017 | # CONFIG_RTC_CLASS is not set |
987 | # CONFIG_DMADEVICES is not set | 1018 | # CONFIG_DMADEVICES is not set |
1019 | # CONFIG_AUXDISPLAY is not set | ||
988 | # CONFIG_UIO is not set | 1020 | # CONFIG_UIO is not set |
989 | # CONFIG_STAGING is not set | 1021 | # CONFIG_STAGING is not set |
990 | 1022 | ||
@@ -995,6 +1027,7 @@ CONFIG_EXT2_FS=y | |||
995 | # CONFIG_EXT2_FS_XATTR is not set | 1027 | # CONFIG_EXT2_FS_XATTR is not set |
996 | # CONFIG_EXT2_FS_XIP is not set | 1028 | # CONFIG_EXT2_FS_XIP is not set |
997 | CONFIG_EXT3_FS=y | 1029 | CONFIG_EXT3_FS=y |
1030 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
998 | CONFIG_EXT3_FS_XATTR=y | 1031 | CONFIG_EXT3_FS_XATTR=y |
999 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1032 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1000 | # CONFIG_EXT3_FS_SECURITY is not set | 1033 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1017,6 +1050,11 @@ CONFIG_INOTIFY_USER=y | |||
1017 | # CONFIG_FUSE_FS is not set | 1050 | # CONFIG_FUSE_FS is not set |
1018 | 1051 | ||
1019 | # | 1052 | # |
1053 | # Caches | ||
1054 | # | ||
1055 | # CONFIG_FSCACHE is not set | ||
1056 | |||
1057 | # | ||
1020 | # CD-ROM/DVD Filesystems | 1058 | # CD-ROM/DVD Filesystems |
1021 | # | 1059 | # |
1022 | # CONFIG_ISO9660_FS is not set | 1060 | # CONFIG_ISO9660_FS is not set |
@@ -1070,6 +1108,7 @@ CONFIG_CRAMFS=y | |||
1070 | # CONFIG_ROMFS_FS is not set | 1108 | # CONFIG_ROMFS_FS is not set |
1071 | # CONFIG_SYSV_FS is not set | 1109 | # CONFIG_SYSV_FS is not set |
1072 | # CONFIG_UFS_FS is not set | 1110 | # CONFIG_UFS_FS is not set |
1111 | # CONFIG_NILFS2_FS is not set | ||
1073 | CONFIG_NETWORK_FILESYSTEMS=y | 1112 | CONFIG_NETWORK_FILESYSTEMS=y |
1074 | CONFIG_NFS_FS=y | 1113 | CONFIG_NFS_FS=y |
1075 | # CONFIG_NFS_V3 is not set | 1114 | # CONFIG_NFS_V3 is not set |
@@ -1079,7 +1118,6 @@ CONFIG_ROOT_NFS=y | |||
1079 | CONFIG_LOCKD=y | 1118 | CONFIG_LOCKD=y |
1080 | CONFIG_NFS_COMMON=y | 1119 | CONFIG_NFS_COMMON=y |
1081 | CONFIG_SUNRPC=y | 1120 | CONFIG_SUNRPC=y |
1082 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1083 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1121 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1084 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1122 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1085 | # CONFIG_SMB_FS is not set | 1123 | # CONFIG_SMB_FS is not set |
@@ -1107,6 +1145,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1107 | # CONFIG_SYSV68_PARTITION is not set | 1145 | # CONFIG_SYSV68_PARTITION is not set |
1108 | # CONFIG_NLS is not set | 1146 | # CONFIG_NLS is not set |
1109 | # CONFIG_DLM is not set | 1147 | # CONFIG_DLM is not set |
1148 | # CONFIG_BINARY_PRINTF is not set | ||
1110 | 1149 | ||
1111 | # | 1150 | # |
1112 | # Library routines | 1151 | # Library routines |
@@ -1122,11 +1161,12 @@ CONFIG_CRC32=y | |||
1122 | # CONFIG_LIBCRC32C is not set | 1161 | # CONFIG_LIBCRC32C is not set |
1123 | CONFIG_ZLIB_INFLATE=y | 1162 | CONFIG_ZLIB_INFLATE=y |
1124 | CONFIG_ZLIB_DEFLATE=y | 1163 | CONFIG_ZLIB_DEFLATE=y |
1125 | CONFIG_PLIST=y | 1164 | CONFIG_DECOMPRESS_GZIP=y |
1126 | CONFIG_HAS_IOMEM=y | 1165 | CONFIG_HAS_IOMEM=y |
1127 | CONFIG_HAS_IOPORT=y | 1166 | CONFIG_HAS_IOPORT=y |
1128 | CONFIG_HAS_DMA=y | 1167 | CONFIG_HAS_DMA=y |
1129 | CONFIG_HAVE_LMB=y | 1168 | CONFIG_HAVE_LMB=y |
1169 | CONFIG_NLATTR=y | ||
1130 | 1170 | ||
1131 | # | 1171 | # |
1132 | # Kernel hacking | 1172 | # Kernel hacking |
@@ -1148,13 +1188,24 @@ CONFIG_FRAME_WARN=1024 | |||
1148 | # CONFIG_LATENCYTOP is not set | 1188 | # CONFIG_LATENCYTOP is not set |
1149 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1189 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1150 | CONFIG_HAVE_FUNCTION_TRACER=y | 1190 | CONFIG_HAVE_FUNCTION_TRACER=y |
1191 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1151 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1192 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1152 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1193 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1194 | CONFIG_TRACING_SUPPORT=y | ||
1153 | 1195 | ||
1154 | # | 1196 | # |
1155 | # Tracers | 1197 | # Tracers |
1156 | # | 1198 | # |
1157 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1199 | # CONFIG_FUNCTION_TRACER is not set |
1200 | # CONFIG_SCHED_TRACER is not set | ||
1201 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1202 | # CONFIG_EVENT_TRACER is not set | ||
1203 | # CONFIG_BOOT_TRACER is not set | ||
1204 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1205 | # CONFIG_STACK_TRACER is not set | ||
1206 | # CONFIG_KMEMTRACE is not set | ||
1207 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1208 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1158 | # CONFIG_SAMPLES is not set | 1209 | # CONFIG_SAMPLES is not set |
1159 | CONFIG_HAVE_ARCH_KGDB=y | 1210 | CONFIG_HAVE_ARCH_KGDB=y |
1160 | CONFIG_PRINT_STACK_DEPTH=64 | 1211 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1245,6 +1296,7 @@ CONFIG_CRYPTO=y | |||
1245 | # Compression | 1296 | # Compression |
1246 | # | 1297 | # |
1247 | # CONFIG_CRYPTO_DEFLATE is not set | 1298 | # CONFIG_CRYPTO_DEFLATE is not set |
1299 | # CONFIG_CRYPTO_ZLIB is not set | ||
1248 | # CONFIG_CRYPTO_LZO is not set | 1300 | # CONFIG_CRYPTO_LZO is not set |
1249 | 1301 | ||
1250 | # | 1302 | # |
diff --git a/arch/powerpc/configs/85xx/tqm8541_defconfig b/arch/powerpc/configs/85xx/tqm8541_defconfig index b8669231c1fe..52fafc006dd0 100644 --- a/arch/powerpc/configs/85xx/tqm8541_defconfig +++ b/arch/powerpc/configs/85xx/tqm8541_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:20 2009 | 4 | # Wed May 13 17:22:23 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y | |||
59 | CONFIG_DEFAULT_UIMAGE=y | 60 | CONFIG_DEFAULT_UIMAGE=y |
60 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
61 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
63 | 65 | ||
64 | # | 66 | # |
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
76 | # CONFIG_BSD_PROCESS_ACCT is not set | 78 | # CONFIG_BSD_PROCESS_ACCT is not set |
77 | # CONFIG_TASKSTATS is not set | 79 | # CONFIG_TASKSTATS is not set |
78 | # CONFIG_AUDIT is not set | 80 | # CONFIG_AUDIT is not set |
81 | |||
82 | # | ||
83 | # RCU Subsystem | ||
84 | # | ||
85 | CONFIG_CLASSIC_RCU=y | ||
86 | # CONFIG_TREE_RCU is not set | ||
87 | # CONFIG_PREEMPT_RCU is not set | ||
88 | # CONFIG_TREE_RCU_TRACE is not set | ||
89 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | # CONFIG_IKCONFIG is not set | 90 | # CONFIG_IKCONFIG is not set |
80 | CONFIG_LOG_BUF_SHIFT=14 | 91 | CONFIG_LOG_BUF_SHIFT=14 |
81 | CONFIG_GROUP_SCHED=y | 92 | CONFIG_GROUP_SCHED=y |
@@ -90,19 +101,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
90 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
91 | CONFIG_BLK_DEV_INITRD=y | 102 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 103 | CONFIG_INITRAMFS_SOURCE="" |
104 | CONFIG_RD_GZIP=y | ||
105 | # CONFIG_RD_BZIP2 is not set | ||
106 | # CONFIG_RD_LZMA is not set | ||
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 107 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
94 | CONFIG_SYSCTL=y | 108 | CONFIG_SYSCTL=y |
109 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EMBEDDED=y | 110 | CONFIG_EMBEDDED=y |
96 | CONFIG_SYSCTL_SYSCALL=y | 111 | CONFIG_SYSCTL_SYSCALL=y |
97 | # CONFIG_KALLSYMS is not set | 112 | # CONFIG_KALLSYMS is not set |
113 | # CONFIG_STRIP_ASM_SYMS is not set | ||
98 | # CONFIG_HOTPLUG is not set | 114 | # CONFIG_HOTPLUG is not set |
99 | CONFIG_PRINTK=y | 115 | CONFIG_PRINTK=y |
100 | CONFIG_BUG=y | 116 | CONFIG_BUG=y |
101 | CONFIG_ELF_CORE=y | 117 | CONFIG_ELF_CORE=y |
102 | CONFIG_COMPAT_BRK=y | ||
103 | CONFIG_BASE_FULL=y | 118 | CONFIG_BASE_FULL=y |
104 | CONFIG_FUTEX=y | 119 | CONFIG_FUTEX=y |
105 | CONFIG_ANON_INODES=y | ||
106 | # CONFIG_EPOLL is not set | 120 | # CONFIG_EPOLL is not set |
107 | CONFIG_SIGNALFD=y | 121 | CONFIG_SIGNALFD=y |
108 | CONFIG_TIMERFD=y | 122 | CONFIG_TIMERFD=y |
@@ -112,10 +126,12 @@ CONFIG_AIO=y | |||
112 | CONFIG_VM_EVENT_COUNTERS=y | 126 | CONFIG_VM_EVENT_COUNTERS=y |
113 | CONFIG_PCI_QUIRKS=y | 127 | CONFIG_PCI_QUIRKS=y |
114 | CONFIG_SLUB_DEBUG=y | 128 | CONFIG_SLUB_DEBUG=y |
129 | CONFIG_COMPAT_BRK=y | ||
115 | # CONFIG_SLAB is not set | 130 | # CONFIG_SLAB is not set |
116 | CONFIG_SLUB=y | 131 | CONFIG_SLUB=y |
117 | # CONFIG_SLOB is not set | 132 | # CONFIG_SLOB is not set |
118 | # CONFIG_PROFILING is not set | 133 | # CONFIG_PROFILING is not set |
134 | # CONFIG_MARKERS is not set | ||
119 | CONFIG_HAVE_OPROFILE=y | 135 | CONFIG_HAVE_OPROFILE=y |
120 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 136 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
121 | CONFIG_HAVE_IOREMAP_PROT=y | 137 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -123,6 +139,7 @@ CONFIG_HAVE_KPROBES=y | |||
123 | CONFIG_HAVE_KRETPROBES=y | 139 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 140 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
125 | CONFIG_HAVE_CLK=y | 141 | CONFIG_HAVE_CLK=y |
142 | # CONFIG_SLOW_WORK is not set | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 143 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 144 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 145 | CONFIG_RT_MUTEXES=y |
@@ -130,7 +147,6 @@ CONFIG_BASE_SMALL=0 | |||
130 | # CONFIG_MODULES is not set | 147 | # CONFIG_MODULES is not set |
131 | CONFIG_BLOCK=y | 148 | CONFIG_BLOCK=y |
132 | # CONFIG_LBD is not set | 149 | # CONFIG_LBD is not set |
133 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
134 | # CONFIG_BLK_DEV_BSG is not set | 150 | # CONFIG_BLK_DEV_BSG is not set |
135 | # CONFIG_BLK_DEV_INTEGRITY is not set | 151 | # CONFIG_BLK_DEV_INTEGRITY is not set |
136 | 152 | ||
@@ -146,11 +162,6 @@ CONFIG_DEFAULT_AS=y | |||
146 | # CONFIG_DEFAULT_CFQ is not set | 162 | # CONFIG_DEFAULT_CFQ is not set |
147 | # CONFIG_DEFAULT_NOOP is not set | 163 | # CONFIG_DEFAULT_NOOP is not set |
148 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 164 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
149 | CONFIG_CLASSIC_RCU=y | ||
150 | # CONFIG_TREE_RCU is not set | ||
151 | # CONFIG_PREEMPT_RCU is not set | ||
152 | # CONFIG_TREE_RCU_TRACE is not set | ||
153 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
154 | # CONFIG_FREEZER is not set | 165 | # CONFIG_FREEZER is not set |
155 | 166 | ||
156 | # | 167 | # |
@@ -166,6 +177,7 @@ CONFIG_MPC85xx=y | |||
166 | # CONFIG_MPC85xx_MDS is not set | 177 | # CONFIG_MPC85xx_MDS is not set |
167 | # CONFIG_MPC8536_DS is not set | 178 | # CONFIG_MPC8536_DS is not set |
168 | # CONFIG_MPC85xx_DS is not set | 179 | # CONFIG_MPC85xx_DS is not set |
180 | # CONFIG_SOCRATES is not set | ||
169 | # CONFIG_KSI8560 is not set | 181 | # CONFIG_KSI8560 is not set |
170 | # CONFIG_STX_GP3 is not set | 182 | # CONFIG_STX_GP3 is not set |
171 | # CONFIG_TQM8540 is not set | 183 | # CONFIG_TQM8540 is not set |
@@ -235,9 +247,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
235 | CONFIG_BOUNCE=y | 247 | CONFIG_BOUNCE=y |
236 | CONFIG_VIRT_TO_BUS=y | 248 | CONFIG_VIRT_TO_BUS=y |
237 | CONFIG_UNEVICTABLE_LRU=y | 249 | CONFIG_UNEVICTABLE_LRU=y |
250 | CONFIG_HAVE_MLOCK=y | ||
251 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
238 | CONFIG_PPC_4K_PAGES=y | 252 | CONFIG_PPC_4K_PAGES=y |
239 | # CONFIG_PPC_16K_PAGES is not set | 253 | # CONFIG_PPC_16K_PAGES is not set |
240 | # CONFIG_PPC_64K_PAGES is not set | 254 | # CONFIG_PPC_64K_PAGES is not set |
255 | # CONFIG_PPC_256K_PAGES is not set | ||
241 | CONFIG_FORCE_MAX_ZONEORDER=11 | 256 | CONFIG_FORCE_MAX_ZONEORDER=11 |
242 | # CONFIG_PROC_DEVICETREE is not set | 257 | # CONFIG_PROC_DEVICETREE is not set |
243 | # CONFIG_CMDLINE_BOOL is not set | 258 | # CONFIG_CMDLINE_BOOL is not set |
@@ -262,6 +277,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
262 | # CONFIG_PCI_MSI is not set | 277 | # CONFIG_PCI_MSI is not set |
263 | # CONFIG_PCI_LEGACY is not set | 278 | # CONFIG_PCI_LEGACY is not set |
264 | # CONFIG_PCI_STUB is not set | 279 | # CONFIG_PCI_STUB is not set |
280 | # CONFIG_PCI_IOV is not set | ||
265 | # CONFIG_HAS_RAPIDIO is not set | 281 | # CONFIG_HAS_RAPIDIO is not set |
266 | 282 | ||
267 | # | 283 | # |
@@ -273,17 +289,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # Default settings for advanced configuration options are used | 289 | # Default settings for advanced configuration options are used |
274 | # | 290 | # |
275 | CONFIG_LOWMEM_SIZE=0x30000000 | 291 | CONFIG_LOWMEM_SIZE=0x30000000 |
292 | CONFIG_LOWMEM_CAM_NUM=3 | ||
276 | CONFIG_PAGE_OFFSET=0xc0000000 | 293 | CONFIG_PAGE_OFFSET=0xc0000000 |
277 | CONFIG_KERNEL_START=0xc0000000 | 294 | CONFIG_KERNEL_START=0xc0000000 |
278 | CONFIG_PHYSICAL_START=0x00000000 | 295 | CONFIG_PHYSICAL_START=0x00000000 |
279 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 296 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
280 | CONFIG_TASK_SIZE=0xc0000000 | 297 | CONFIG_TASK_SIZE=0xc0000000 |
281 | CONFIG_NET=y | 298 | CONFIG_NET=y |
282 | 299 | ||
283 | # | 300 | # |
284 | # Networking options | 301 | # Networking options |
285 | # | 302 | # |
286 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
287 | CONFIG_PACKET=y | 303 | CONFIG_PACKET=y |
288 | # CONFIG_PACKET_MMAP is not set | 304 | # CONFIG_PACKET_MMAP is not set |
289 | CONFIG_UNIX=y | 305 | CONFIG_UNIX=y |
@@ -339,6 +355,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
339 | # CONFIG_LAPB is not set | 355 | # CONFIG_LAPB is not set |
340 | # CONFIG_ECONET is not set | 356 | # CONFIG_ECONET is not set |
341 | # CONFIG_WAN_ROUTER is not set | 357 | # CONFIG_WAN_ROUTER is not set |
358 | # CONFIG_PHONET is not set | ||
342 | # CONFIG_NET_SCHED is not set | 359 | # CONFIG_NET_SCHED is not set |
343 | # CONFIG_DCB is not set | 360 | # CONFIG_DCB is not set |
344 | 361 | ||
@@ -351,7 +368,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_IRDA is not set | 368 | # CONFIG_IRDA is not set |
352 | # CONFIG_BT is not set | 369 | # CONFIG_BT is not set |
353 | # CONFIG_AF_RXRPC is not set | 370 | # CONFIG_AF_RXRPC is not set |
354 | # CONFIG_PHONET is not set | ||
355 | CONFIG_WIRELESS=y | 371 | CONFIG_WIRELESS=y |
356 | # CONFIG_CFG80211 is not set | 372 | # CONFIG_CFG80211 is not set |
357 | CONFIG_WIRELESS_OLD_REGULATORY=y | 373 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -451,7 +467,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
451 | # LPDDR flash memory drivers | 467 | # LPDDR flash memory drivers |
452 | # | 468 | # |
453 | # CONFIG_MTD_LPDDR is not set | 469 | # CONFIG_MTD_LPDDR is not set |
454 | # CONFIG_MTD_QINFO_PROBE is not set | ||
455 | 470 | ||
456 | # | 471 | # |
457 | # UBI - Unsorted block images | 472 | # UBI - Unsorted block images |
@@ -481,19 +496,27 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
481 | # CONFIG_BLK_DEV_HD is not set | 496 | # CONFIG_BLK_DEV_HD is not set |
482 | CONFIG_MISC_DEVICES=y | 497 | CONFIG_MISC_DEVICES=y |
483 | # CONFIG_PHANTOM is not set | 498 | # CONFIG_PHANTOM is not set |
484 | # CONFIG_EEPROM_93CX6 is not set | ||
485 | # CONFIG_SGI_IOC4 is not set | 499 | # CONFIG_SGI_IOC4 is not set |
486 | # CONFIG_TIFM_CORE is not set | 500 | # CONFIG_TIFM_CORE is not set |
487 | # CONFIG_ICS932S401 is not set | 501 | # CONFIG_ICS932S401 is not set |
488 | # CONFIG_ENCLOSURE_SERVICES is not set | 502 | # CONFIG_ENCLOSURE_SERVICES is not set |
489 | # CONFIG_HP_ILO is not set | 503 | # CONFIG_HP_ILO is not set |
504 | # CONFIG_ISL29003 is not set | ||
490 | # CONFIG_C2PORT is not set | 505 | # CONFIG_C2PORT is not set |
506 | |||
507 | # | ||
508 | # EEPROM support | ||
509 | # | ||
510 | # CONFIG_EEPROM_AT24 is not set | ||
511 | # CONFIG_EEPROM_LEGACY is not set | ||
512 | # CONFIG_EEPROM_93CX6 is not set | ||
491 | CONFIG_HAVE_IDE=y | 513 | CONFIG_HAVE_IDE=y |
492 | CONFIG_IDE=y | 514 | CONFIG_IDE=y |
493 | 515 | ||
494 | # | 516 | # |
495 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 517 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
496 | # | 518 | # |
519 | CONFIG_IDE_XFER_MODE=y | ||
497 | CONFIG_IDE_TIMINGS=y | 520 | CONFIG_IDE_TIMINGS=y |
498 | # CONFIG_BLK_DEV_IDE_SATA is not set | 521 | # CONFIG_BLK_DEV_IDE_SATA is not set |
499 | CONFIG_IDE_GD=y | 522 | CONFIG_IDE_GD=y |
@@ -568,6 +591,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
568 | # CONFIG_I2O is not set | 591 | # CONFIG_I2O is not set |
569 | # CONFIG_MACINTOSH_DRIVERS is not set | 592 | # CONFIG_MACINTOSH_DRIVERS is not set |
570 | CONFIG_NETDEVICES=y | 593 | CONFIG_NETDEVICES=y |
594 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
571 | # CONFIG_DUMMY is not set | 595 | # CONFIG_DUMMY is not set |
572 | # CONFIG_BONDING is not set | 596 | # CONFIG_BONDING is not set |
573 | # CONFIG_MACVLAN is not set | 597 | # CONFIG_MACVLAN is not set |
@@ -601,6 +625,8 @@ CONFIG_MII=y | |||
601 | # CONFIG_SUNGEM is not set | 625 | # CONFIG_SUNGEM is not set |
602 | # CONFIG_CASSINI is not set | 626 | # CONFIG_CASSINI is not set |
603 | # CONFIG_NET_VENDOR_3COM is not set | 627 | # CONFIG_NET_VENDOR_3COM is not set |
628 | # CONFIG_ETHOC is not set | ||
629 | # CONFIG_DNET is not set | ||
604 | # CONFIG_NET_TULIP is not set | 630 | # CONFIG_NET_TULIP is not set |
605 | # CONFIG_HP100 is not set | 631 | # CONFIG_HP100 is not set |
606 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 632 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -639,6 +665,7 @@ CONFIG_NETDEV_1000=y | |||
639 | # CONFIG_E1000E is not set | 665 | # CONFIG_E1000E is not set |
640 | # CONFIG_IP1000 is not set | 666 | # CONFIG_IP1000 is not set |
641 | # CONFIG_IGB is not set | 667 | # CONFIG_IGB is not set |
668 | # CONFIG_IGBVF is not set | ||
642 | # CONFIG_NS83820 is not set | 669 | # CONFIG_NS83820 is not set |
643 | # CONFIG_HAMACHI is not set | 670 | # CONFIG_HAMACHI is not set |
644 | # CONFIG_YELLOWFIN is not set | 671 | # CONFIG_YELLOWFIN is not set |
@@ -649,10 +676,12 @@ CONFIG_NETDEV_1000=y | |||
649 | # CONFIG_VIA_VELOCITY is not set | 676 | # CONFIG_VIA_VELOCITY is not set |
650 | # CONFIG_TIGON3 is not set | 677 | # CONFIG_TIGON3 is not set |
651 | # CONFIG_BNX2 is not set | 678 | # CONFIG_BNX2 is not set |
679 | CONFIG_FSL_PQ_MDIO=y | ||
652 | CONFIG_GIANFAR=y | 680 | CONFIG_GIANFAR=y |
653 | # CONFIG_QLA3XXX is not set | 681 | # CONFIG_QLA3XXX is not set |
654 | # CONFIG_ATL1 is not set | 682 | # CONFIG_ATL1 is not set |
655 | # CONFIG_ATL1E is not set | 683 | # CONFIG_ATL1E is not set |
684 | # CONFIG_ATL1C is not set | ||
656 | # CONFIG_JME is not set | 685 | # CONFIG_JME is not set |
657 | CONFIG_NETDEV_10000=y | 686 | CONFIG_NETDEV_10000=y |
658 | # CONFIG_CHELSIO_T1 is not set | 687 | # CONFIG_CHELSIO_T1 is not set |
@@ -662,6 +691,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
662 | # CONFIG_IXGBE is not set | 691 | # CONFIG_IXGBE is not set |
663 | # CONFIG_IXGB is not set | 692 | # CONFIG_IXGB is not set |
664 | # CONFIG_S2IO is not set | 693 | # CONFIG_S2IO is not set |
694 | # CONFIG_VXGE is not set | ||
665 | # CONFIG_MYRI10GE is not set | 695 | # CONFIG_MYRI10GE is not set |
666 | # CONFIG_NETXEN_NIC is not set | 696 | # CONFIG_NETXEN_NIC is not set |
667 | # CONFIG_NIU is not set | 697 | # CONFIG_NIU is not set |
@@ -671,6 +701,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
671 | # CONFIG_BNX2X is not set | 701 | # CONFIG_BNX2X is not set |
672 | # CONFIG_QLGE is not set | 702 | # CONFIG_QLGE is not set |
673 | # CONFIG_SFC is not set | 703 | # CONFIG_SFC is not set |
704 | # CONFIG_BE2NET is not set | ||
674 | # CONFIG_TR is not set | 705 | # CONFIG_TR is not set |
675 | 706 | ||
676 | # | 707 | # |
@@ -678,7 +709,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
678 | # | 709 | # |
679 | # CONFIG_WLAN_PRE80211 is not set | 710 | # CONFIG_WLAN_PRE80211 is not set |
680 | # CONFIG_WLAN_80211 is not set | 711 | # CONFIG_WLAN_80211 is not set |
681 | # CONFIG_IWLWIFI_LEDS is not set | ||
682 | 712 | ||
683 | # | 713 | # |
684 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 714 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -761,6 +791,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
761 | # CONFIG_HVC_UDBG is not set | 791 | # CONFIG_HVC_UDBG is not set |
762 | # CONFIG_IPMI_HANDLER is not set | 792 | # CONFIG_IPMI_HANDLER is not set |
763 | CONFIG_HW_RANDOM=y | 793 | CONFIG_HW_RANDOM=y |
794 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
764 | # CONFIG_NVRAM is not set | 795 | # CONFIG_NVRAM is not set |
765 | CONFIG_GEN_RTC=y | 796 | CONFIG_GEN_RTC=y |
766 | # CONFIG_GEN_RTC_X is not set | 797 | # CONFIG_GEN_RTC_X is not set |
@@ -825,12 +856,9 @@ CONFIG_I2C_MPC=y | |||
825 | # Miscellaneous I2C Chip support | 856 | # Miscellaneous I2C Chip support |
826 | # | 857 | # |
827 | # CONFIG_DS1682 is not set | 858 | # CONFIG_DS1682 is not set |
828 | # CONFIG_EEPROM_AT24 is not set | ||
829 | # CONFIG_EEPROM_LEGACY is not set | ||
830 | # CONFIG_SENSORS_PCF8574 is not set | 859 | # CONFIG_SENSORS_PCF8574 is not set |
831 | # CONFIG_PCF8575 is not set | 860 | # CONFIG_PCF8575 is not set |
832 | # CONFIG_SENSORS_PCA9539 is not set | 861 | # CONFIG_SENSORS_PCA9539 is not set |
833 | # CONFIG_SENSORS_PCF8591 is not set | ||
834 | # CONFIG_SENSORS_MAX6875 is not set | 862 | # CONFIG_SENSORS_MAX6875 is not set |
835 | # CONFIG_SENSORS_TSL2550 is not set | 863 | # CONFIG_SENSORS_TSL2550 is not set |
836 | # CONFIG_I2C_DEBUG_CORE is not set | 864 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -885,6 +913,7 @@ CONFIG_HWMON=y | |||
885 | # CONFIG_SENSORS_F71805F is not set | 913 | # CONFIG_SENSORS_F71805F is not set |
886 | # CONFIG_SENSORS_F71882FG is not set | 914 | # CONFIG_SENSORS_F71882FG is not set |
887 | # CONFIG_SENSORS_F75375S is not set | 915 | # CONFIG_SENSORS_F75375S is not set |
916 | # CONFIG_SENSORS_G760A is not set | ||
888 | # CONFIG_SENSORS_GL518SM is not set | 917 | # CONFIG_SENSORS_GL518SM is not set |
889 | # CONFIG_SENSORS_GL520SM is not set | 918 | # CONFIG_SENSORS_GL520SM is not set |
890 | # CONFIG_SENSORS_IT87 is not set | 919 | # CONFIG_SENSORS_IT87 is not set |
@@ -899,11 +928,15 @@ CONFIG_SENSORS_LM75=y | |||
899 | # CONFIG_SENSORS_LM90 is not set | 928 | # CONFIG_SENSORS_LM90 is not set |
900 | # CONFIG_SENSORS_LM92 is not set | 929 | # CONFIG_SENSORS_LM92 is not set |
901 | # CONFIG_SENSORS_LM93 is not set | 930 | # CONFIG_SENSORS_LM93 is not set |
931 | # CONFIG_SENSORS_LTC4215 is not set | ||
902 | # CONFIG_SENSORS_LTC4245 is not set | 932 | # CONFIG_SENSORS_LTC4245 is not set |
933 | # CONFIG_SENSORS_LM95241 is not set | ||
903 | # CONFIG_SENSORS_MAX1619 is not set | 934 | # CONFIG_SENSORS_MAX1619 is not set |
904 | # CONFIG_SENSORS_MAX6650 is not set | 935 | # CONFIG_SENSORS_MAX6650 is not set |
905 | # CONFIG_SENSORS_PC87360 is not set | 936 | # CONFIG_SENSORS_PC87360 is not set |
906 | # CONFIG_SENSORS_PC87427 is not set | 937 | # CONFIG_SENSORS_PC87427 is not set |
938 | # CONFIG_SENSORS_PCF8591 is not set | ||
939 | # CONFIG_SENSORS_SHT15 is not set | ||
907 | # CONFIG_SENSORS_SIS5595 is not set | 940 | # CONFIG_SENSORS_SIS5595 is not set |
908 | # CONFIG_SENSORS_DME1737 is not set | 941 | # CONFIG_SENSORS_DME1737 is not set |
909 | # CONFIG_SENSORS_SMSC47M1 is not set | 942 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -988,7 +1021,6 @@ CONFIG_HID=y | |||
988 | # | 1021 | # |
989 | # Special HID drivers | 1022 | # Special HID drivers |
990 | # | 1023 | # |
991 | CONFIG_HID_COMPAT=y | ||
992 | CONFIG_USB_SUPPORT=y | 1024 | CONFIG_USB_SUPPORT=y |
993 | CONFIG_USB_ARCH_HAS_HCD=y | 1025 | CONFIG_USB_ARCH_HAS_HCD=y |
994 | CONFIG_USB_ARCH_HAS_OHCI=y | 1026 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1002,7 +1034,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1002 | # | 1034 | # |
1003 | 1035 | ||
1004 | # | 1036 | # |
1005 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1037 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1006 | # | 1038 | # |
1007 | # CONFIG_USB_GADGET is not set | 1039 | # CONFIG_USB_GADGET is not set |
1008 | 1040 | ||
@@ -1018,6 +1050,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1018 | # CONFIG_EDAC is not set | 1050 | # CONFIG_EDAC is not set |
1019 | # CONFIG_RTC_CLASS is not set | 1051 | # CONFIG_RTC_CLASS is not set |
1020 | # CONFIG_DMADEVICES is not set | 1052 | # CONFIG_DMADEVICES is not set |
1053 | # CONFIG_AUXDISPLAY is not set | ||
1021 | # CONFIG_UIO is not set | 1054 | # CONFIG_UIO is not set |
1022 | # CONFIG_STAGING is not set | 1055 | # CONFIG_STAGING is not set |
1023 | 1056 | ||
@@ -1028,6 +1061,7 @@ CONFIG_EXT2_FS=y | |||
1028 | # CONFIG_EXT2_FS_XATTR is not set | 1061 | # CONFIG_EXT2_FS_XATTR is not set |
1029 | # CONFIG_EXT2_FS_XIP is not set | 1062 | # CONFIG_EXT2_FS_XIP is not set |
1030 | CONFIG_EXT3_FS=y | 1063 | CONFIG_EXT3_FS=y |
1064 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1031 | CONFIG_EXT3_FS_XATTR=y | 1065 | CONFIG_EXT3_FS_XATTR=y |
1032 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1066 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1033 | # CONFIG_EXT3_FS_SECURITY is not set | 1067 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1050,6 +1084,11 @@ CONFIG_INOTIFY_USER=y | |||
1050 | # CONFIG_FUSE_FS is not set | 1084 | # CONFIG_FUSE_FS is not set |
1051 | 1085 | ||
1052 | # | 1086 | # |
1087 | # Caches | ||
1088 | # | ||
1089 | # CONFIG_FSCACHE is not set | ||
1090 | |||
1091 | # | ||
1053 | # CD-ROM/DVD Filesystems | 1092 | # CD-ROM/DVD Filesystems |
1054 | # | 1093 | # |
1055 | # CONFIG_ISO9660_FS is not set | 1094 | # CONFIG_ISO9660_FS is not set |
@@ -1103,6 +1142,7 @@ CONFIG_CRAMFS=y | |||
1103 | # CONFIG_ROMFS_FS is not set | 1142 | # CONFIG_ROMFS_FS is not set |
1104 | # CONFIG_SYSV_FS is not set | 1143 | # CONFIG_SYSV_FS is not set |
1105 | # CONFIG_UFS_FS is not set | 1144 | # CONFIG_UFS_FS is not set |
1145 | # CONFIG_NILFS2_FS is not set | ||
1106 | CONFIG_NETWORK_FILESYSTEMS=y | 1146 | CONFIG_NETWORK_FILESYSTEMS=y |
1107 | CONFIG_NFS_FS=y | 1147 | CONFIG_NFS_FS=y |
1108 | # CONFIG_NFS_V3 is not set | 1148 | # CONFIG_NFS_V3 is not set |
@@ -1112,7 +1152,6 @@ CONFIG_ROOT_NFS=y | |||
1112 | CONFIG_LOCKD=y | 1152 | CONFIG_LOCKD=y |
1113 | CONFIG_NFS_COMMON=y | 1153 | CONFIG_NFS_COMMON=y |
1114 | CONFIG_SUNRPC=y | 1154 | CONFIG_SUNRPC=y |
1115 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1116 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1155 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1117 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1156 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1118 | # CONFIG_SMB_FS is not set | 1157 | # CONFIG_SMB_FS is not set |
@@ -1140,6 +1179,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1140 | # CONFIG_SYSV68_PARTITION is not set | 1179 | # CONFIG_SYSV68_PARTITION is not set |
1141 | # CONFIG_NLS is not set | 1180 | # CONFIG_NLS is not set |
1142 | # CONFIG_DLM is not set | 1181 | # CONFIG_DLM is not set |
1182 | # CONFIG_BINARY_PRINTF is not set | ||
1143 | 1183 | ||
1144 | # | 1184 | # |
1145 | # Library routines | 1185 | # Library routines |
@@ -1155,11 +1195,12 @@ CONFIG_CRC32=y | |||
1155 | # CONFIG_LIBCRC32C is not set | 1195 | # CONFIG_LIBCRC32C is not set |
1156 | CONFIG_ZLIB_INFLATE=y | 1196 | CONFIG_ZLIB_INFLATE=y |
1157 | CONFIG_ZLIB_DEFLATE=y | 1197 | CONFIG_ZLIB_DEFLATE=y |
1158 | CONFIG_PLIST=y | 1198 | CONFIG_DECOMPRESS_GZIP=y |
1159 | CONFIG_HAS_IOMEM=y | 1199 | CONFIG_HAS_IOMEM=y |
1160 | CONFIG_HAS_IOPORT=y | 1200 | CONFIG_HAS_IOPORT=y |
1161 | CONFIG_HAS_DMA=y | 1201 | CONFIG_HAS_DMA=y |
1162 | CONFIG_HAVE_LMB=y | 1202 | CONFIG_HAVE_LMB=y |
1203 | CONFIG_NLATTR=y | ||
1163 | 1204 | ||
1164 | # | 1205 | # |
1165 | # Kernel hacking | 1206 | # Kernel hacking |
@@ -1181,13 +1222,24 @@ CONFIG_FRAME_WARN=1024 | |||
1181 | # CONFIG_LATENCYTOP is not set | 1222 | # CONFIG_LATENCYTOP is not set |
1182 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1223 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1183 | CONFIG_HAVE_FUNCTION_TRACER=y | 1224 | CONFIG_HAVE_FUNCTION_TRACER=y |
1225 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1184 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1226 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1185 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1227 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1228 | CONFIG_TRACING_SUPPORT=y | ||
1186 | 1229 | ||
1187 | # | 1230 | # |
1188 | # Tracers | 1231 | # Tracers |
1189 | # | 1232 | # |
1190 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1233 | # CONFIG_FUNCTION_TRACER is not set |
1234 | # CONFIG_SCHED_TRACER is not set | ||
1235 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1236 | # CONFIG_EVENT_TRACER is not set | ||
1237 | # CONFIG_BOOT_TRACER is not set | ||
1238 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1239 | # CONFIG_STACK_TRACER is not set | ||
1240 | # CONFIG_KMEMTRACE is not set | ||
1241 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1242 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1191 | # CONFIG_SAMPLES is not set | 1243 | # CONFIG_SAMPLES is not set |
1192 | CONFIG_HAVE_ARCH_KGDB=y | 1244 | CONFIG_HAVE_ARCH_KGDB=y |
1193 | CONFIG_PRINT_STACK_DEPTH=64 | 1245 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1278,6 +1330,7 @@ CONFIG_CRYPTO=y | |||
1278 | # Compression | 1330 | # Compression |
1279 | # | 1331 | # |
1280 | # CONFIG_CRYPTO_DEFLATE is not set | 1332 | # CONFIG_CRYPTO_DEFLATE is not set |
1333 | # CONFIG_CRYPTO_ZLIB is not set | ||
1281 | # CONFIG_CRYPTO_LZO is not set | 1334 | # CONFIG_CRYPTO_LZO is not set |
1282 | 1335 | ||
1283 | # | 1336 | # |
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig index 43030fea2eee..8b4faae7a9a1 100644 --- a/arch/powerpc/configs/85xx/tqm8548_defconfig +++ b/arch/powerpc/configs/85xx/tqm8548_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc7 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Mar 16 09:03:28 2009 | 4 | # Wed May 13 17:22:24 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -59,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
59 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
60 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
61 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
63 | 64 | ||
64 | # | 65 | # |
@@ -99,21 +100,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
99 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
100 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
101 | CONFIG_INITRAMFS_SOURCE="" | 102 | CONFIG_INITRAMFS_SOURCE="" |
103 | CONFIG_RD_GZIP=y | ||
104 | # CONFIG_RD_BZIP2 is not set | ||
105 | # CONFIG_RD_LZMA is not set | ||
102 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 106 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
103 | CONFIG_SYSCTL=y | 107 | CONFIG_SYSCTL=y |
108 | CONFIG_ANON_INODES=y | ||
104 | CONFIG_EMBEDDED=y | 109 | CONFIG_EMBEDDED=y |
105 | CONFIG_SYSCTL_SYSCALL=y | 110 | CONFIG_SYSCTL_SYSCALL=y |
106 | CONFIG_KALLSYMS=y | 111 | CONFIG_KALLSYMS=y |
107 | # CONFIG_KALLSYMS_ALL is not set | 112 | # CONFIG_KALLSYMS_ALL is not set |
108 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 113 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
114 | # CONFIG_STRIP_ASM_SYMS is not set | ||
109 | CONFIG_HOTPLUG=y | 115 | CONFIG_HOTPLUG=y |
110 | CONFIG_PRINTK=y | 116 | CONFIG_PRINTK=y |
111 | CONFIG_BUG=y | 117 | CONFIG_BUG=y |
112 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
113 | CONFIG_COMPAT_BRK=y | ||
114 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
115 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
116 | CONFIG_ANON_INODES=y | ||
117 | CONFIG_EPOLL=y | 121 | CONFIG_EPOLL=y |
118 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
119 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
@@ -123,10 +127,12 @@ CONFIG_AIO=y | |||
123 | CONFIG_VM_EVENT_COUNTERS=y | 127 | CONFIG_VM_EVENT_COUNTERS=y |
124 | CONFIG_PCI_QUIRKS=y | 128 | CONFIG_PCI_QUIRKS=y |
125 | CONFIG_SLUB_DEBUG=y | 129 | CONFIG_SLUB_DEBUG=y |
130 | CONFIG_COMPAT_BRK=y | ||
126 | # CONFIG_SLAB is not set | 131 | # CONFIG_SLAB is not set |
127 | CONFIG_SLUB=y | 132 | CONFIG_SLUB=y |
128 | # CONFIG_SLOB is not set | 133 | # CONFIG_SLOB is not set |
129 | # CONFIG_PROFILING is not set | 134 | # CONFIG_PROFILING is not set |
135 | # CONFIG_MARKERS is not set | ||
130 | CONFIG_HAVE_OPROFILE=y | 136 | CONFIG_HAVE_OPROFILE=y |
131 | # CONFIG_KPROBES is not set | 137 | # CONFIG_KPROBES is not set |
132 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 138 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -134,6 +140,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
134 | CONFIG_HAVE_KPROBES=y | 140 | CONFIG_HAVE_KPROBES=y |
135 | CONFIG_HAVE_KRETPROBES=y | 141 | CONFIG_HAVE_KRETPROBES=y |
136 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 142 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
143 | # CONFIG_SLOW_WORK is not set | ||
137 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 144 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
138 | CONFIG_SLABINFO=y | 145 | CONFIG_SLABINFO=y |
139 | CONFIG_RT_MUTEXES=y | 146 | CONFIG_RT_MUTEXES=y |
@@ -146,7 +153,6 @@ CONFIG_MODULE_UNLOAD=y | |||
146 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 153 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
147 | CONFIG_BLOCK=y | 154 | CONFIG_BLOCK=y |
148 | # CONFIG_LBD is not set | 155 | # CONFIG_LBD is not set |
149 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
150 | # CONFIG_BLK_DEV_BSG is not set | 156 | # CONFIG_BLK_DEV_BSG is not set |
151 | # CONFIG_BLK_DEV_INTEGRITY is not set | 157 | # CONFIG_BLK_DEV_INTEGRITY is not set |
152 | 158 | ||
@@ -177,6 +183,7 @@ CONFIG_MPC85xx=y | |||
177 | # CONFIG_MPC85xx_MDS is not set | 183 | # CONFIG_MPC85xx_MDS is not set |
178 | # CONFIG_MPC8536_DS is not set | 184 | # CONFIG_MPC8536_DS is not set |
179 | # CONFIG_MPC85xx_DS is not set | 185 | # CONFIG_MPC85xx_DS is not set |
186 | # CONFIG_SOCRATES is not set | ||
180 | # CONFIG_KSI8560 is not set | 187 | # CONFIG_KSI8560 is not set |
181 | # CONFIG_STX_GP3 is not set | 188 | # CONFIG_STX_GP3 is not set |
182 | # CONFIG_TQM8540 is not set | 189 | # CONFIG_TQM8540 is not set |
@@ -246,6 +253,8 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
246 | CONFIG_BOUNCE=y | 253 | CONFIG_BOUNCE=y |
247 | CONFIG_VIRT_TO_BUS=y | 254 | CONFIG_VIRT_TO_BUS=y |
248 | CONFIG_UNEVICTABLE_LRU=y | 255 | CONFIG_UNEVICTABLE_LRU=y |
256 | CONFIG_HAVE_MLOCK=y | ||
257 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
249 | CONFIG_PPC_4K_PAGES=y | 258 | CONFIG_PPC_4K_PAGES=y |
250 | # CONFIG_PPC_16K_PAGES is not set | 259 | # CONFIG_PPC_16K_PAGES is not set |
251 | # CONFIG_PPC_64K_PAGES is not set | 260 | # CONFIG_PPC_64K_PAGES is not set |
@@ -278,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
278 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
279 | # CONFIG_PCI_DEBUG is not set | 288 | # CONFIG_PCI_DEBUG is not set |
280 | # CONFIG_PCI_STUB is not set | 289 | # CONFIG_PCI_STUB is not set |
290 | # CONFIG_PCI_IOV is not set | ||
281 | # CONFIG_PCCARD is not set | 291 | # CONFIG_PCCARD is not set |
282 | # CONFIG_HOTPLUG_PCI is not set | 292 | # CONFIG_HOTPLUG_PCI is not set |
283 | # CONFIG_HAS_RAPIDIO is not set | 293 | # CONFIG_HAS_RAPIDIO is not set |
@@ -302,7 +312,6 @@ CONFIG_NET=y | |||
302 | # | 312 | # |
303 | # Networking options | 313 | # Networking options |
304 | # | 314 | # |
305 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
306 | CONFIG_PACKET=y | 315 | CONFIG_PACKET=y |
307 | # CONFIG_PACKET_MMAP is not set | 316 | # CONFIG_PACKET_MMAP is not set |
308 | CONFIG_UNIX=y | 317 | CONFIG_UNIX=y |
@@ -358,6 +367,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
358 | # CONFIG_LAPB is not set | 367 | # CONFIG_LAPB is not set |
359 | # CONFIG_ECONET is not set | 368 | # CONFIG_ECONET is not set |
360 | # CONFIG_WAN_ROUTER is not set | 369 | # CONFIG_WAN_ROUTER is not set |
370 | # CONFIG_PHONET is not set | ||
361 | # CONFIG_NET_SCHED is not set | 371 | # CONFIG_NET_SCHED is not set |
362 | # CONFIG_DCB is not set | 372 | # CONFIG_DCB is not set |
363 | 373 | ||
@@ -370,7 +380,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
370 | # CONFIG_IRDA is not set | 380 | # CONFIG_IRDA is not set |
371 | # CONFIG_BT is not set | 381 | # CONFIG_BT is not set |
372 | # CONFIG_AF_RXRPC is not set | 382 | # CONFIG_AF_RXRPC is not set |
373 | # CONFIG_PHONET is not set | ||
374 | # CONFIG_WIRELESS is not set | 383 | # CONFIG_WIRELESS is not set |
375 | # CONFIG_WIMAX is not set | 384 | # CONFIG_WIMAX is not set |
376 | # CONFIG_RFKILL is not set | 385 | # CONFIG_RFKILL is not set |
@@ -514,6 +523,7 @@ CONFIG_MISC_DEVICES=y | |||
514 | # CONFIG_ICS932S401 is not set | 523 | # CONFIG_ICS932S401 is not set |
515 | # CONFIG_ENCLOSURE_SERVICES is not set | 524 | # CONFIG_ENCLOSURE_SERVICES is not set |
516 | # CONFIG_HP_ILO is not set | 525 | # CONFIG_HP_ILO is not set |
526 | # CONFIG_ISL29003 is not set | ||
517 | # CONFIG_C2PORT is not set | 527 | # CONFIG_C2PORT is not set |
518 | 528 | ||
519 | # | 529 | # |
@@ -548,6 +558,7 @@ CONFIG_HAVE_IDE=y | |||
548 | # CONFIG_I2O is not set | 558 | # CONFIG_I2O is not set |
549 | # CONFIG_MACINTOSH_DRIVERS is not set | 559 | # CONFIG_MACINTOSH_DRIVERS is not set |
550 | CONFIG_NETDEVICES=y | 560 | CONFIG_NETDEVICES=y |
561 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
551 | # CONFIG_DUMMY is not set | 562 | # CONFIG_DUMMY is not set |
552 | # CONFIG_BONDING is not set | 563 | # CONFIG_BONDING is not set |
553 | # CONFIG_MACVLAN is not set | 564 | # CONFIG_MACVLAN is not set |
@@ -581,6 +592,8 @@ CONFIG_MII=y | |||
581 | # CONFIG_SUNGEM is not set | 592 | # CONFIG_SUNGEM is not set |
582 | # CONFIG_CASSINI is not set | 593 | # CONFIG_CASSINI is not set |
583 | # CONFIG_NET_VENDOR_3COM is not set | 594 | # CONFIG_NET_VENDOR_3COM is not set |
595 | # CONFIG_ETHOC is not set | ||
596 | # CONFIG_DNET is not set | ||
584 | # CONFIG_NET_TULIP is not set | 597 | # CONFIG_NET_TULIP is not set |
585 | # CONFIG_HP100 is not set | 598 | # CONFIG_HP100 is not set |
586 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 599 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -600,6 +613,7 @@ CONFIG_NETDEV_1000=y | |||
600 | # CONFIG_E1000E is not set | 613 | # CONFIG_E1000E is not set |
601 | # CONFIG_IP1000 is not set | 614 | # CONFIG_IP1000 is not set |
602 | # CONFIG_IGB is not set | 615 | # CONFIG_IGB is not set |
616 | # CONFIG_IGBVF is not set | ||
603 | # CONFIG_NS83820 is not set | 617 | # CONFIG_NS83820 is not set |
604 | # CONFIG_HAMACHI is not set | 618 | # CONFIG_HAMACHI is not set |
605 | # CONFIG_YELLOWFIN is not set | 619 | # CONFIG_YELLOWFIN is not set |
@@ -610,6 +624,7 @@ CONFIG_NETDEV_1000=y | |||
610 | # CONFIG_VIA_VELOCITY is not set | 624 | # CONFIG_VIA_VELOCITY is not set |
611 | # CONFIG_TIGON3 is not set | 625 | # CONFIG_TIGON3 is not set |
612 | # CONFIG_BNX2 is not set | 626 | # CONFIG_BNX2 is not set |
627 | CONFIG_FSL_PQ_MDIO=y | ||
613 | CONFIG_GIANFAR=y | 628 | CONFIG_GIANFAR=y |
614 | # CONFIG_QLA3XXX is not set | 629 | # CONFIG_QLA3XXX is not set |
615 | # CONFIG_ATL1 is not set | 630 | # CONFIG_ATL1 is not set |
@@ -624,6 +639,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
624 | # CONFIG_IXGBE is not set | 639 | # CONFIG_IXGBE is not set |
625 | # CONFIG_IXGB is not set | 640 | # CONFIG_IXGB is not set |
626 | # CONFIG_S2IO is not set | 641 | # CONFIG_S2IO is not set |
642 | # CONFIG_VXGE is not set | ||
627 | # CONFIG_MYRI10GE is not set | 643 | # CONFIG_MYRI10GE is not set |
628 | # CONFIG_NETXEN_NIC is not set | 644 | # CONFIG_NETXEN_NIC is not set |
629 | # CONFIG_NIU is not set | 645 | # CONFIG_NIU is not set |
@@ -633,6 +649,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
633 | # CONFIG_BNX2X is not set | 649 | # CONFIG_BNX2X is not set |
634 | # CONFIG_QLGE is not set | 650 | # CONFIG_QLGE is not set |
635 | # CONFIG_SFC is not set | 651 | # CONFIG_SFC is not set |
652 | # CONFIG_BE2NET is not set | ||
636 | # CONFIG_TR is not set | 653 | # CONFIG_TR is not set |
637 | 654 | ||
638 | # | 655 | # |
@@ -640,7 +657,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
640 | # | 657 | # |
641 | # CONFIG_WLAN_PRE80211 is not set | 658 | # CONFIG_WLAN_PRE80211 is not set |
642 | # CONFIG_WLAN_80211 is not set | 659 | # CONFIG_WLAN_80211 is not set |
643 | # CONFIG_IWLWIFI_LEDS is not set | ||
644 | 660 | ||
645 | # | 661 | # |
646 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 662 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -785,7 +801,6 @@ CONFIG_I2C_MPC=y | |||
785 | # CONFIG_SENSORS_PCF8574 is not set | 801 | # CONFIG_SENSORS_PCF8574 is not set |
786 | # CONFIG_PCF8575 is not set | 802 | # CONFIG_PCF8575 is not set |
787 | # CONFIG_SENSORS_PCA9539 is not set | 803 | # CONFIG_SENSORS_PCA9539 is not set |
788 | # CONFIG_SENSORS_PCF8591 is not set | ||
789 | # CONFIG_SENSORS_MAX6875 is not set | 804 | # CONFIG_SENSORS_MAX6875 is not set |
790 | # CONFIG_SENSORS_TSL2550 is not set | 805 | # CONFIG_SENSORS_TSL2550 is not set |
791 | # CONFIG_I2C_DEBUG_CORE is not set | 806 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -817,6 +832,7 @@ CONFIG_HWMON=y | |||
817 | # CONFIG_SENSORS_F71805F is not set | 832 | # CONFIG_SENSORS_F71805F is not set |
818 | # CONFIG_SENSORS_F71882FG is not set | 833 | # CONFIG_SENSORS_F71882FG is not set |
819 | # CONFIG_SENSORS_F75375S is not set | 834 | # CONFIG_SENSORS_F75375S is not set |
835 | # CONFIG_SENSORS_G760A is not set | ||
820 | # CONFIG_SENSORS_GL518SM is not set | 836 | # CONFIG_SENSORS_GL518SM is not set |
821 | # CONFIG_SENSORS_GL520SM is not set | 837 | # CONFIG_SENSORS_GL520SM is not set |
822 | # CONFIG_SENSORS_IT87 is not set | 838 | # CONFIG_SENSORS_IT87 is not set |
@@ -831,11 +847,14 @@ CONFIG_SENSORS_LM75=y | |||
831 | # CONFIG_SENSORS_LM90 is not set | 847 | # CONFIG_SENSORS_LM90 is not set |
832 | # CONFIG_SENSORS_LM92 is not set | 848 | # CONFIG_SENSORS_LM92 is not set |
833 | # CONFIG_SENSORS_LM93 is not set | 849 | # CONFIG_SENSORS_LM93 is not set |
850 | # CONFIG_SENSORS_LTC4215 is not set | ||
834 | # CONFIG_SENSORS_LTC4245 is not set | 851 | # CONFIG_SENSORS_LTC4245 is not set |
852 | # CONFIG_SENSORS_LM95241 is not set | ||
835 | # CONFIG_SENSORS_MAX1619 is not set | 853 | # CONFIG_SENSORS_MAX1619 is not set |
836 | # CONFIG_SENSORS_MAX6650 is not set | 854 | # CONFIG_SENSORS_MAX6650 is not set |
837 | # CONFIG_SENSORS_PC87360 is not set | 855 | # CONFIG_SENSORS_PC87360 is not set |
838 | # CONFIG_SENSORS_PC87427 is not set | 856 | # CONFIG_SENSORS_PC87427 is not set |
857 | # CONFIG_SENSORS_PCF8591 is not set | ||
839 | # CONFIG_SENSORS_SIS5595 is not set | 858 | # CONFIG_SENSORS_SIS5595 is not set |
840 | # CONFIG_SENSORS_DME1737 is not set | 859 | # CONFIG_SENSORS_DME1737 is not set |
841 | # CONFIG_SENSORS_SMSC47M1 is not set | 860 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -919,7 +938,6 @@ CONFIG_HID=y | |||
919 | # | 938 | # |
920 | # Special HID drivers | 939 | # Special HID drivers |
921 | # | 940 | # |
922 | CONFIG_HID_COMPAT=y | ||
923 | # CONFIG_USB_SUPPORT is not set | 941 | # CONFIG_USB_SUPPORT is not set |
924 | # CONFIG_UWB is not set | 942 | # CONFIG_UWB is not set |
925 | # CONFIG_MMC is not set | 943 | # CONFIG_MMC is not set |
@@ -982,8 +1000,9 @@ CONFIG_RTC_DRV_DS1307=y | |||
982 | # | 1000 | # |
983 | # on-CPU RTC drivers | 1001 | # on-CPU RTC drivers |
984 | # | 1002 | # |
985 | # CONFIG_RTC_DRV_PPC is not set | 1003 | # CONFIG_RTC_DRV_GENERIC is not set |
986 | # CONFIG_DMADEVICES is not set | 1004 | # CONFIG_DMADEVICES is not set |
1005 | # CONFIG_AUXDISPLAY is not set | ||
987 | # CONFIG_UIO is not set | 1006 | # CONFIG_UIO is not set |
988 | # CONFIG_STAGING is not set | 1007 | # CONFIG_STAGING is not set |
989 | 1008 | ||
@@ -1009,6 +1028,11 @@ CONFIG_INOTIFY_USER=y | |||
1009 | # CONFIG_FUSE_FS is not set | 1028 | # CONFIG_FUSE_FS is not set |
1010 | 1029 | ||
1011 | # | 1030 | # |
1031 | # Caches | ||
1032 | # | ||
1033 | # CONFIG_FSCACHE is not set | ||
1034 | |||
1035 | # | ||
1012 | # CD-ROM/DVD Filesystems | 1036 | # CD-ROM/DVD Filesystems |
1013 | # | 1037 | # |
1014 | # CONFIG_ISO9660_FS is not set | 1038 | # CONFIG_ISO9660_FS is not set |
@@ -1062,6 +1086,7 @@ CONFIG_JFFS2_RTIME=y | |||
1062 | # CONFIG_ROMFS_FS is not set | 1086 | # CONFIG_ROMFS_FS is not set |
1063 | # CONFIG_SYSV_FS is not set | 1087 | # CONFIG_SYSV_FS is not set |
1064 | # CONFIG_UFS_FS is not set | 1088 | # CONFIG_UFS_FS is not set |
1089 | # CONFIG_NILFS2_FS is not set | ||
1065 | CONFIG_NETWORK_FILESYSTEMS=y | 1090 | CONFIG_NETWORK_FILESYSTEMS=y |
1066 | CONFIG_NFS_FS=y | 1091 | CONFIG_NFS_FS=y |
1067 | # CONFIG_NFS_V3 is not set | 1092 | # CONFIG_NFS_V3 is not set |
@@ -1071,7 +1096,6 @@ CONFIG_ROOT_NFS=y | |||
1071 | CONFIG_LOCKD=y | 1096 | CONFIG_LOCKD=y |
1072 | CONFIG_NFS_COMMON=y | 1097 | CONFIG_NFS_COMMON=y |
1073 | CONFIG_SUNRPC=y | 1098 | CONFIG_SUNRPC=y |
1074 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1075 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1099 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1076 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1100 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1077 | # CONFIG_SMB_FS is not set | 1101 | # CONFIG_SMB_FS is not set |
@@ -1099,6 +1123,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1099 | # CONFIG_SYSV68_PARTITION is not set | 1123 | # CONFIG_SYSV68_PARTITION is not set |
1100 | # CONFIG_NLS is not set | 1124 | # CONFIG_NLS is not set |
1101 | # CONFIG_DLM is not set | 1125 | # CONFIG_DLM is not set |
1126 | # CONFIG_BINARY_PRINTF is not set | ||
1102 | 1127 | ||
1103 | # | 1128 | # |
1104 | # Library routines | 1129 | # Library routines |
@@ -1114,11 +1139,12 @@ CONFIG_CRC32=y | |||
1114 | # CONFIG_LIBCRC32C is not set | 1139 | # CONFIG_LIBCRC32C is not set |
1115 | CONFIG_ZLIB_INFLATE=y | 1140 | CONFIG_ZLIB_INFLATE=y |
1116 | CONFIG_ZLIB_DEFLATE=y | 1141 | CONFIG_ZLIB_DEFLATE=y |
1117 | CONFIG_PLIST=y | 1142 | CONFIG_DECOMPRESS_GZIP=y |
1118 | CONFIG_HAS_IOMEM=y | 1143 | CONFIG_HAS_IOMEM=y |
1119 | CONFIG_HAS_IOPORT=y | 1144 | CONFIG_HAS_IOPORT=y |
1120 | CONFIG_HAS_DMA=y | 1145 | CONFIG_HAS_DMA=y |
1121 | CONFIG_HAVE_LMB=y | 1146 | CONFIG_HAVE_LMB=y |
1147 | CONFIG_NLATTR=y | ||
1122 | 1148 | ||
1123 | # | 1149 | # |
1124 | # Kernel hacking | 1150 | # Kernel hacking |
@@ -1136,6 +1162,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1136 | CONFIG_DETECT_SOFTLOCKUP=y | 1162 | CONFIG_DETECT_SOFTLOCKUP=y |
1137 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1163 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1138 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1164 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1165 | CONFIG_DETECT_HUNG_TASK=y | ||
1166 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1167 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1139 | CONFIG_SCHED_DEBUG=y | 1168 | CONFIG_SCHED_DEBUG=y |
1140 | # CONFIG_SCHEDSTATS is not set | 1169 | # CONFIG_SCHEDSTATS is not set |
1141 | # CONFIG_TIMER_STATS is not set | 1170 | # CONFIG_TIMER_STATS is not set |
@@ -1166,10 +1195,12 @@ CONFIG_DEBUG_MUTEXES=y | |||
1166 | # CONFIG_FAULT_INJECTION is not set | 1195 | # CONFIG_FAULT_INJECTION is not set |
1167 | # CONFIG_LATENCYTOP is not set | 1196 | # CONFIG_LATENCYTOP is not set |
1168 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1197 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1198 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1169 | CONFIG_HAVE_FUNCTION_TRACER=y | 1199 | CONFIG_HAVE_FUNCTION_TRACER=y |
1170 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1200 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1171 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1201 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1172 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1202 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1203 | CONFIG_TRACING_SUPPORT=y | ||
1173 | 1204 | ||
1174 | # | 1205 | # |
1175 | # Tracers | 1206 | # Tracers |
@@ -1177,17 +1208,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1177 | # CONFIG_FUNCTION_TRACER is not set | 1208 | # CONFIG_FUNCTION_TRACER is not set |
1178 | # CONFIG_SCHED_TRACER is not set | 1209 | # CONFIG_SCHED_TRACER is not set |
1179 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1210 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1211 | # CONFIG_EVENT_TRACER is not set | ||
1180 | # CONFIG_BOOT_TRACER is not set | 1212 | # CONFIG_BOOT_TRACER is not set |
1181 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1213 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1182 | # CONFIG_STACK_TRACER is not set | 1214 | # CONFIG_STACK_TRACER is not set |
1183 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1215 | # CONFIG_KMEMTRACE is not set |
1216 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1217 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1184 | # CONFIG_SAMPLES is not set | 1218 | # CONFIG_SAMPLES is not set |
1185 | CONFIG_HAVE_ARCH_KGDB=y | 1219 | CONFIG_HAVE_ARCH_KGDB=y |
1186 | # CONFIG_KGDB is not set | 1220 | # CONFIG_KGDB is not set |
1187 | CONFIG_PRINT_STACK_DEPTH=64 | 1221 | CONFIG_PRINT_STACK_DEPTH=64 |
1188 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1222 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1189 | # CONFIG_DEBUG_STACK_USAGE is not set | 1223 | # CONFIG_DEBUG_STACK_USAGE is not set |
1190 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1191 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1224 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1192 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1225 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1193 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1226 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1281,6 +1314,7 @@ CONFIG_CRYPTO=y | |||
1281 | # Compression | 1314 | # Compression |
1282 | # | 1315 | # |
1283 | # CONFIG_CRYPTO_DEFLATE is not set | 1316 | # CONFIG_CRYPTO_DEFLATE is not set |
1317 | # CONFIG_CRYPTO_ZLIB is not set | ||
1284 | # CONFIG_CRYPTO_LZO is not set | 1318 | # CONFIG_CRYPTO_LZO is not set |
1285 | 1319 | ||
1286 | # | 1320 | # |
diff --git a/arch/powerpc/configs/85xx/tqm8555_defconfig b/arch/powerpc/configs/85xx/tqm8555_defconfig index d5a864d74461..170360934cec 100644 --- a/arch/powerpc/configs/85xx/tqm8555_defconfig +++ b/arch/powerpc/configs/85xx/tqm8555_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:21 2009 | 4 | # Wed May 13 17:22:25 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y | |||
59 | CONFIG_DEFAULT_UIMAGE=y | 60 | CONFIG_DEFAULT_UIMAGE=y |
60 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
61 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
63 | 65 | ||
64 | # | 66 | # |
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
76 | # CONFIG_BSD_PROCESS_ACCT is not set | 78 | # CONFIG_BSD_PROCESS_ACCT is not set |
77 | # CONFIG_TASKSTATS is not set | 79 | # CONFIG_TASKSTATS is not set |
78 | # CONFIG_AUDIT is not set | 80 | # CONFIG_AUDIT is not set |
81 | |||
82 | # | ||
83 | # RCU Subsystem | ||
84 | # | ||
85 | CONFIG_CLASSIC_RCU=y | ||
86 | # CONFIG_TREE_RCU is not set | ||
87 | # CONFIG_PREEMPT_RCU is not set | ||
88 | # CONFIG_TREE_RCU_TRACE is not set | ||
89 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | # CONFIG_IKCONFIG is not set | 90 | # CONFIG_IKCONFIG is not set |
80 | CONFIG_LOG_BUF_SHIFT=14 | 91 | CONFIG_LOG_BUF_SHIFT=14 |
81 | CONFIG_GROUP_SCHED=y | 92 | CONFIG_GROUP_SCHED=y |
@@ -90,19 +101,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
90 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
91 | CONFIG_BLK_DEV_INITRD=y | 102 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 103 | CONFIG_INITRAMFS_SOURCE="" |
104 | CONFIG_RD_GZIP=y | ||
105 | # CONFIG_RD_BZIP2 is not set | ||
106 | # CONFIG_RD_LZMA is not set | ||
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 107 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
94 | CONFIG_SYSCTL=y | 108 | CONFIG_SYSCTL=y |
109 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EMBEDDED=y | 110 | CONFIG_EMBEDDED=y |
96 | CONFIG_SYSCTL_SYSCALL=y | 111 | CONFIG_SYSCTL_SYSCALL=y |
97 | # CONFIG_KALLSYMS is not set | 112 | # CONFIG_KALLSYMS is not set |
113 | # CONFIG_STRIP_ASM_SYMS is not set | ||
98 | # CONFIG_HOTPLUG is not set | 114 | # CONFIG_HOTPLUG is not set |
99 | CONFIG_PRINTK=y | 115 | CONFIG_PRINTK=y |
100 | CONFIG_BUG=y | 116 | CONFIG_BUG=y |
101 | CONFIG_ELF_CORE=y | 117 | CONFIG_ELF_CORE=y |
102 | CONFIG_COMPAT_BRK=y | ||
103 | CONFIG_BASE_FULL=y | 118 | CONFIG_BASE_FULL=y |
104 | CONFIG_FUTEX=y | 119 | CONFIG_FUTEX=y |
105 | CONFIG_ANON_INODES=y | ||
106 | # CONFIG_EPOLL is not set | 120 | # CONFIG_EPOLL is not set |
107 | CONFIG_SIGNALFD=y | 121 | CONFIG_SIGNALFD=y |
108 | CONFIG_TIMERFD=y | 122 | CONFIG_TIMERFD=y |
@@ -112,10 +126,12 @@ CONFIG_AIO=y | |||
112 | CONFIG_VM_EVENT_COUNTERS=y | 126 | CONFIG_VM_EVENT_COUNTERS=y |
113 | CONFIG_PCI_QUIRKS=y | 127 | CONFIG_PCI_QUIRKS=y |
114 | CONFIG_SLUB_DEBUG=y | 128 | CONFIG_SLUB_DEBUG=y |
129 | CONFIG_COMPAT_BRK=y | ||
115 | # CONFIG_SLAB is not set | 130 | # CONFIG_SLAB is not set |
116 | CONFIG_SLUB=y | 131 | CONFIG_SLUB=y |
117 | # CONFIG_SLOB is not set | 132 | # CONFIG_SLOB is not set |
118 | # CONFIG_PROFILING is not set | 133 | # CONFIG_PROFILING is not set |
134 | # CONFIG_MARKERS is not set | ||
119 | CONFIG_HAVE_OPROFILE=y | 135 | CONFIG_HAVE_OPROFILE=y |
120 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 136 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
121 | CONFIG_HAVE_IOREMAP_PROT=y | 137 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -123,6 +139,7 @@ CONFIG_HAVE_KPROBES=y | |||
123 | CONFIG_HAVE_KRETPROBES=y | 139 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 140 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
125 | CONFIG_HAVE_CLK=y | 141 | CONFIG_HAVE_CLK=y |
142 | # CONFIG_SLOW_WORK is not set | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 143 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 144 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 145 | CONFIG_RT_MUTEXES=y |
@@ -130,7 +147,6 @@ CONFIG_BASE_SMALL=0 | |||
130 | # CONFIG_MODULES is not set | 147 | # CONFIG_MODULES is not set |
131 | CONFIG_BLOCK=y | 148 | CONFIG_BLOCK=y |
132 | # CONFIG_LBD is not set | 149 | # CONFIG_LBD is not set |
133 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
134 | # CONFIG_BLK_DEV_BSG is not set | 150 | # CONFIG_BLK_DEV_BSG is not set |
135 | # CONFIG_BLK_DEV_INTEGRITY is not set | 151 | # CONFIG_BLK_DEV_INTEGRITY is not set |
136 | 152 | ||
@@ -146,11 +162,6 @@ CONFIG_DEFAULT_AS=y | |||
146 | # CONFIG_DEFAULT_CFQ is not set | 162 | # CONFIG_DEFAULT_CFQ is not set |
147 | # CONFIG_DEFAULT_NOOP is not set | 163 | # CONFIG_DEFAULT_NOOP is not set |
148 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 164 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
149 | CONFIG_CLASSIC_RCU=y | ||
150 | # CONFIG_TREE_RCU is not set | ||
151 | # CONFIG_PREEMPT_RCU is not set | ||
152 | # CONFIG_TREE_RCU_TRACE is not set | ||
153 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
154 | # CONFIG_FREEZER is not set | 165 | # CONFIG_FREEZER is not set |
155 | 166 | ||
156 | # | 167 | # |
@@ -166,6 +177,7 @@ CONFIG_MPC85xx=y | |||
166 | # CONFIG_MPC85xx_MDS is not set | 177 | # CONFIG_MPC85xx_MDS is not set |
167 | # CONFIG_MPC8536_DS is not set | 178 | # CONFIG_MPC8536_DS is not set |
168 | # CONFIG_MPC85xx_DS is not set | 179 | # CONFIG_MPC85xx_DS is not set |
180 | # CONFIG_SOCRATES is not set | ||
169 | # CONFIG_KSI8560 is not set | 181 | # CONFIG_KSI8560 is not set |
170 | # CONFIG_STX_GP3 is not set | 182 | # CONFIG_STX_GP3 is not set |
171 | # CONFIG_TQM8540 is not set | 183 | # CONFIG_TQM8540 is not set |
@@ -235,9 +247,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
235 | CONFIG_BOUNCE=y | 247 | CONFIG_BOUNCE=y |
236 | CONFIG_VIRT_TO_BUS=y | 248 | CONFIG_VIRT_TO_BUS=y |
237 | CONFIG_UNEVICTABLE_LRU=y | 249 | CONFIG_UNEVICTABLE_LRU=y |
250 | CONFIG_HAVE_MLOCK=y | ||
251 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
238 | CONFIG_PPC_4K_PAGES=y | 252 | CONFIG_PPC_4K_PAGES=y |
239 | # CONFIG_PPC_16K_PAGES is not set | 253 | # CONFIG_PPC_16K_PAGES is not set |
240 | # CONFIG_PPC_64K_PAGES is not set | 254 | # CONFIG_PPC_64K_PAGES is not set |
255 | # CONFIG_PPC_256K_PAGES is not set | ||
241 | CONFIG_FORCE_MAX_ZONEORDER=11 | 256 | CONFIG_FORCE_MAX_ZONEORDER=11 |
242 | # CONFIG_PROC_DEVICETREE is not set | 257 | # CONFIG_PROC_DEVICETREE is not set |
243 | # CONFIG_CMDLINE_BOOL is not set | 258 | # CONFIG_CMDLINE_BOOL is not set |
@@ -262,6 +277,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
262 | # CONFIG_PCI_MSI is not set | 277 | # CONFIG_PCI_MSI is not set |
263 | # CONFIG_PCI_LEGACY is not set | 278 | # CONFIG_PCI_LEGACY is not set |
264 | # CONFIG_PCI_STUB is not set | 279 | # CONFIG_PCI_STUB is not set |
280 | # CONFIG_PCI_IOV is not set | ||
265 | # CONFIG_HAS_RAPIDIO is not set | 281 | # CONFIG_HAS_RAPIDIO is not set |
266 | 282 | ||
267 | # | 283 | # |
@@ -273,17 +289,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # Default settings for advanced configuration options are used | 289 | # Default settings for advanced configuration options are used |
274 | # | 290 | # |
275 | CONFIG_LOWMEM_SIZE=0x30000000 | 291 | CONFIG_LOWMEM_SIZE=0x30000000 |
292 | CONFIG_LOWMEM_CAM_NUM=3 | ||
276 | CONFIG_PAGE_OFFSET=0xc0000000 | 293 | CONFIG_PAGE_OFFSET=0xc0000000 |
277 | CONFIG_KERNEL_START=0xc0000000 | 294 | CONFIG_KERNEL_START=0xc0000000 |
278 | CONFIG_PHYSICAL_START=0x00000000 | 295 | CONFIG_PHYSICAL_START=0x00000000 |
279 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 296 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
280 | CONFIG_TASK_SIZE=0xc0000000 | 297 | CONFIG_TASK_SIZE=0xc0000000 |
281 | CONFIG_NET=y | 298 | CONFIG_NET=y |
282 | 299 | ||
283 | # | 300 | # |
284 | # Networking options | 301 | # Networking options |
285 | # | 302 | # |
286 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
287 | CONFIG_PACKET=y | 303 | CONFIG_PACKET=y |
288 | # CONFIG_PACKET_MMAP is not set | 304 | # CONFIG_PACKET_MMAP is not set |
289 | CONFIG_UNIX=y | 305 | CONFIG_UNIX=y |
@@ -339,6 +355,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
339 | # CONFIG_LAPB is not set | 355 | # CONFIG_LAPB is not set |
340 | # CONFIG_ECONET is not set | 356 | # CONFIG_ECONET is not set |
341 | # CONFIG_WAN_ROUTER is not set | 357 | # CONFIG_WAN_ROUTER is not set |
358 | # CONFIG_PHONET is not set | ||
342 | # CONFIG_NET_SCHED is not set | 359 | # CONFIG_NET_SCHED is not set |
343 | # CONFIG_DCB is not set | 360 | # CONFIG_DCB is not set |
344 | 361 | ||
@@ -351,7 +368,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_IRDA is not set | 368 | # CONFIG_IRDA is not set |
352 | # CONFIG_BT is not set | 369 | # CONFIG_BT is not set |
353 | # CONFIG_AF_RXRPC is not set | 370 | # CONFIG_AF_RXRPC is not set |
354 | # CONFIG_PHONET is not set | ||
355 | CONFIG_WIRELESS=y | 371 | CONFIG_WIRELESS=y |
356 | # CONFIG_CFG80211 is not set | 372 | # CONFIG_CFG80211 is not set |
357 | CONFIG_WIRELESS_OLD_REGULATORY=y | 373 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -451,7 +467,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
451 | # LPDDR flash memory drivers | 467 | # LPDDR flash memory drivers |
452 | # | 468 | # |
453 | # CONFIG_MTD_LPDDR is not set | 469 | # CONFIG_MTD_LPDDR is not set |
454 | # CONFIG_MTD_QINFO_PROBE is not set | ||
455 | 470 | ||
456 | # | 471 | # |
457 | # UBI - Unsorted block images | 472 | # UBI - Unsorted block images |
@@ -481,19 +496,27 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
481 | # CONFIG_BLK_DEV_HD is not set | 496 | # CONFIG_BLK_DEV_HD is not set |
482 | CONFIG_MISC_DEVICES=y | 497 | CONFIG_MISC_DEVICES=y |
483 | # CONFIG_PHANTOM is not set | 498 | # CONFIG_PHANTOM is not set |
484 | # CONFIG_EEPROM_93CX6 is not set | ||
485 | # CONFIG_SGI_IOC4 is not set | 499 | # CONFIG_SGI_IOC4 is not set |
486 | # CONFIG_TIFM_CORE is not set | 500 | # CONFIG_TIFM_CORE is not set |
487 | # CONFIG_ICS932S401 is not set | 501 | # CONFIG_ICS932S401 is not set |
488 | # CONFIG_ENCLOSURE_SERVICES is not set | 502 | # CONFIG_ENCLOSURE_SERVICES is not set |
489 | # CONFIG_HP_ILO is not set | 503 | # CONFIG_HP_ILO is not set |
504 | # CONFIG_ISL29003 is not set | ||
490 | # CONFIG_C2PORT is not set | 505 | # CONFIG_C2PORT is not set |
506 | |||
507 | # | ||
508 | # EEPROM support | ||
509 | # | ||
510 | # CONFIG_EEPROM_AT24 is not set | ||
511 | # CONFIG_EEPROM_LEGACY is not set | ||
512 | # CONFIG_EEPROM_93CX6 is not set | ||
491 | CONFIG_HAVE_IDE=y | 513 | CONFIG_HAVE_IDE=y |
492 | CONFIG_IDE=y | 514 | CONFIG_IDE=y |
493 | 515 | ||
494 | # | 516 | # |
495 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 517 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
496 | # | 518 | # |
519 | CONFIG_IDE_XFER_MODE=y | ||
497 | CONFIG_IDE_TIMINGS=y | 520 | CONFIG_IDE_TIMINGS=y |
498 | # CONFIG_BLK_DEV_IDE_SATA is not set | 521 | # CONFIG_BLK_DEV_IDE_SATA is not set |
499 | CONFIG_IDE_GD=y | 522 | CONFIG_IDE_GD=y |
@@ -568,6 +591,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
568 | # CONFIG_I2O is not set | 591 | # CONFIG_I2O is not set |
569 | # CONFIG_MACINTOSH_DRIVERS is not set | 592 | # CONFIG_MACINTOSH_DRIVERS is not set |
570 | CONFIG_NETDEVICES=y | 593 | CONFIG_NETDEVICES=y |
594 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
571 | # CONFIG_DUMMY is not set | 595 | # CONFIG_DUMMY is not set |
572 | # CONFIG_BONDING is not set | 596 | # CONFIG_BONDING is not set |
573 | # CONFIG_MACVLAN is not set | 597 | # CONFIG_MACVLAN is not set |
@@ -601,6 +625,8 @@ CONFIG_MII=y | |||
601 | # CONFIG_SUNGEM is not set | 625 | # CONFIG_SUNGEM is not set |
602 | # CONFIG_CASSINI is not set | 626 | # CONFIG_CASSINI is not set |
603 | # CONFIG_NET_VENDOR_3COM is not set | 627 | # CONFIG_NET_VENDOR_3COM is not set |
628 | # CONFIG_ETHOC is not set | ||
629 | # CONFIG_DNET is not set | ||
604 | # CONFIG_NET_TULIP is not set | 630 | # CONFIG_NET_TULIP is not set |
605 | # CONFIG_HP100 is not set | 631 | # CONFIG_HP100 is not set |
606 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 632 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -639,6 +665,7 @@ CONFIG_NETDEV_1000=y | |||
639 | # CONFIG_E1000E is not set | 665 | # CONFIG_E1000E is not set |
640 | # CONFIG_IP1000 is not set | 666 | # CONFIG_IP1000 is not set |
641 | # CONFIG_IGB is not set | 667 | # CONFIG_IGB is not set |
668 | # CONFIG_IGBVF is not set | ||
642 | # CONFIG_NS83820 is not set | 669 | # CONFIG_NS83820 is not set |
643 | # CONFIG_HAMACHI is not set | 670 | # CONFIG_HAMACHI is not set |
644 | # CONFIG_YELLOWFIN is not set | 671 | # CONFIG_YELLOWFIN is not set |
@@ -649,10 +676,12 @@ CONFIG_NETDEV_1000=y | |||
649 | # CONFIG_VIA_VELOCITY is not set | 676 | # CONFIG_VIA_VELOCITY is not set |
650 | # CONFIG_TIGON3 is not set | 677 | # CONFIG_TIGON3 is not set |
651 | # CONFIG_BNX2 is not set | 678 | # CONFIG_BNX2 is not set |
679 | CONFIG_FSL_PQ_MDIO=y | ||
652 | CONFIG_GIANFAR=y | 680 | CONFIG_GIANFAR=y |
653 | # CONFIG_QLA3XXX is not set | 681 | # CONFIG_QLA3XXX is not set |
654 | # CONFIG_ATL1 is not set | 682 | # CONFIG_ATL1 is not set |
655 | # CONFIG_ATL1E is not set | 683 | # CONFIG_ATL1E is not set |
684 | # CONFIG_ATL1C is not set | ||
656 | # CONFIG_JME is not set | 685 | # CONFIG_JME is not set |
657 | CONFIG_NETDEV_10000=y | 686 | CONFIG_NETDEV_10000=y |
658 | # CONFIG_CHELSIO_T1 is not set | 687 | # CONFIG_CHELSIO_T1 is not set |
@@ -662,6 +691,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
662 | # CONFIG_IXGBE is not set | 691 | # CONFIG_IXGBE is not set |
663 | # CONFIG_IXGB is not set | 692 | # CONFIG_IXGB is not set |
664 | # CONFIG_S2IO is not set | 693 | # CONFIG_S2IO is not set |
694 | # CONFIG_VXGE is not set | ||
665 | # CONFIG_MYRI10GE is not set | 695 | # CONFIG_MYRI10GE is not set |
666 | # CONFIG_NETXEN_NIC is not set | 696 | # CONFIG_NETXEN_NIC is not set |
667 | # CONFIG_NIU is not set | 697 | # CONFIG_NIU is not set |
@@ -671,6 +701,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
671 | # CONFIG_BNX2X is not set | 701 | # CONFIG_BNX2X is not set |
672 | # CONFIG_QLGE is not set | 702 | # CONFIG_QLGE is not set |
673 | # CONFIG_SFC is not set | 703 | # CONFIG_SFC is not set |
704 | # CONFIG_BE2NET is not set | ||
674 | # CONFIG_TR is not set | 705 | # CONFIG_TR is not set |
675 | 706 | ||
676 | # | 707 | # |
@@ -678,7 +709,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
678 | # | 709 | # |
679 | # CONFIG_WLAN_PRE80211 is not set | 710 | # CONFIG_WLAN_PRE80211 is not set |
680 | # CONFIG_WLAN_80211 is not set | 711 | # CONFIG_WLAN_80211 is not set |
681 | # CONFIG_IWLWIFI_LEDS is not set | ||
682 | 712 | ||
683 | # | 713 | # |
684 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 714 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -761,6 +791,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
761 | # CONFIG_HVC_UDBG is not set | 791 | # CONFIG_HVC_UDBG is not set |
762 | # CONFIG_IPMI_HANDLER is not set | 792 | # CONFIG_IPMI_HANDLER is not set |
763 | CONFIG_HW_RANDOM=y | 793 | CONFIG_HW_RANDOM=y |
794 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
764 | # CONFIG_NVRAM is not set | 795 | # CONFIG_NVRAM is not set |
765 | CONFIG_GEN_RTC=y | 796 | CONFIG_GEN_RTC=y |
766 | # CONFIG_GEN_RTC_X is not set | 797 | # CONFIG_GEN_RTC_X is not set |
@@ -825,12 +856,9 @@ CONFIG_I2C_MPC=y | |||
825 | # Miscellaneous I2C Chip support | 856 | # Miscellaneous I2C Chip support |
826 | # | 857 | # |
827 | # CONFIG_DS1682 is not set | 858 | # CONFIG_DS1682 is not set |
828 | # CONFIG_EEPROM_AT24 is not set | ||
829 | # CONFIG_EEPROM_LEGACY is not set | ||
830 | # CONFIG_SENSORS_PCF8574 is not set | 859 | # CONFIG_SENSORS_PCF8574 is not set |
831 | # CONFIG_PCF8575 is not set | 860 | # CONFIG_PCF8575 is not set |
832 | # CONFIG_SENSORS_PCA9539 is not set | 861 | # CONFIG_SENSORS_PCA9539 is not set |
833 | # CONFIG_SENSORS_PCF8591 is not set | ||
834 | # CONFIG_SENSORS_MAX6875 is not set | 862 | # CONFIG_SENSORS_MAX6875 is not set |
835 | # CONFIG_SENSORS_TSL2550 is not set | 863 | # CONFIG_SENSORS_TSL2550 is not set |
836 | # CONFIG_I2C_DEBUG_CORE is not set | 864 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -885,6 +913,7 @@ CONFIG_HWMON=y | |||
885 | # CONFIG_SENSORS_F71805F is not set | 913 | # CONFIG_SENSORS_F71805F is not set |
886 | # CONFIG_SENSORS_F71882FG is not set | 914 | # CONFIG_SENSORS_F71882FG is not set |
887 | # CONFIG_SENSORS_F75375S is not set | 915 | # CONFIG_SENSORS_F75375S is not set |
916 | # CONFIG_SENSORS_G760A is not set | ||
888 | # CONFIG_SENSORS_GL518SM is not set | 917 | # CONFIG_SENSORS_GL518SM is not set |
889 | # CONFIG_SENSORS_GL520SM is not set | 918 | # CONFIG_SENSORS_GL520SM is not set |
890 | # CONFIG_SENSORS_IT87 is not set | 919 | # CONFIG_SENSORS_IT87 is not set |
@@ -899,11 +928,15 @@ CONFIG_SENSORS_LM75=y | |||
899 | # CONFIG_SENSORS_LM90 is not set | 928 | # CONFIG_SENSORS_LM90 is not set |
900 | # CONFIG_SENSORS_LM92 is not set | 929 | # CONFIG_SENSORS_LM92 is not set |
901 | # CONFIG_SENSORS_LM93 is not set | 930 | # CONFIG_SENSORS_LM93 is not set |
931 | # CONFIG_SENSORS_LTC4215 is not set | ||
902 | # CONFIG_SENSORS_LTC4245 is not set | 932 | # CONFIG_SENSORS_LTC4245 is not set |
933 | # CONFIG_SENSORS_LM95241 is not set | ||
903 | # CONFIG_SENSORS_MAX1619 is not set | 934 | # CONFIG_SENSORS_MAX1619 is not set |
904 | # CONFIG_SENSORS_MAX6650 is not set | 935 | # CONFIG_SENSORS_MAX6650 is not set |
905 | # CONFIG_SENSORS_PC87360 is not set | 936 | # CONFIG_SENSORS_PC87360 is not set |
906 | # CONFIG_SENSORS_PC87427 is not set | 937 | # CONFIG_SENSORS_PC87427 is not set |
938 | # CONFIG_SENSORS_PCF8591 is not set | ||
939 | # CONFIG_SENSORS_SHT15 is not set | ||
907 | # CONFIG_SENSORS_SIS5595 is not set | 940 | # CONFIG_SENSORS_SIS5595 is not set |
908 | # CONFIG_SENSORS_DME1737 is not set | 941 | # CONFIG_SENSORS_DME1737 is not set |
909 | # CONFIG_SENSORS_SMSC47M1 is not set | 942 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -988,7 +1021,6 @@ CONFIG_HID=y | |||
988 | # | 1021 | # |
989 | # Special HID drivers | 1022 | # Special HID drivers |
990 | # | 1023 | # |
991 | CONFIG_HID_COMPAT=y | ||
992 | CONFIG_USB_SUPPORT=y | 1024 | CONFIG_USB_SUPPORT=y |
993 | CONFIG_USB_ARCH_HAS_HCD=y | 1025 | CONFIG_USB_ARCH_HAS_HCD=y |
994 | CONFIG_USB_ARCH_HAS_OHCI=y | 1026 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1002,7 +1034,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1002 | # | 1034 | # |
1003 | 1035 | ||
1004 | # | 1036 | # |
1005 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1037 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1006 | # | 1038 | # |
1007 | # CONFIG_USB_GADGET is not set | 1039 | # CONFIG_USB_GADGET is not set |
1008 | 1040 | ||
@@ -1018,6 +1050,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1018 | # CONFIG_EDAC is not set | 1050 | # CONFIG_EDAC is not set |
1019 | # CONFIG_RTC_CLASS is not set | 1051 | # CONFIG_RTC_CLASS is not set |
1020 | # CONFIG_DMADEVICES is not set | 1052 | # CONFIG_DMADEVICES is not set |
1053 | # CONFIG_AUXDISPLAY is not set | ||
1021 | # CONFIG_UIO is not set | 1054 | # CONFIG_UIO is not set |
1022 | # CONFIG_STAGING is not set | 1055 | # CONFIG_STAGING is not set |
1023 | 1056 | ||
@@ -1028,6 +1061,7 @@ CONFIG_EXT2_FS=y | |||
1028 | # CONFIG_EXT2_FS_XATTR is not set | 1061 | # CONFIG_EXT2_FS_XATTR is not set |
1029 | # CONFIG_EXT2_FS_XIP is not set | 1062 | # CONFIG_EXT2_FS_XIP is not set |
1030 | CONFIG_EXT3_FS=y | 1063 | CONFIG_EXT3_FS=y |
1064 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1031 | CONFIG_EXT3_FS_XATTR=y | 1065 | CONFIG_EXT3_FS_XATTR=y |
1032 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1066 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1033 | # CONFIG_EXT3_FS_SECURITY is not set | 1067 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1050,6 +1084,11 @@ CONFIG_INOTIFY_USER=y | |||
1050 | # CONFIG_FUSE_FS is not set | 1084 | # CONFIG_FUSE_FS is not set |
1051 | 1085 | ||
1052 | # | 1086 | # |
1087 | # Caches | ||
1088 | # | ||
1089 | # CONFIG_FSCACHE is not set | ||
1090 | |||
1091 | # | ||
1053 | # CD-ROM/DVD Filesystems | 1092 | # CD-ROM/DVD Filesystems |
1054 | # | 1093 | # |
1055 | # CONFIG_ISO9660_FS is not set | 1094 | # CONFIG_ISO9660_FS is not set |
@@ -1103,6 +1142,7 @@ CONFIG_CRAMFS=y | |||
1103 | # CONFIG_ROMFS_FS is not set | 1142 | # CONFIG_ROMFS_FS is not set |
1104 | # CONFIG_SYSV_FS is not set | 1143 | # CONFIG_SYSV_FS is not set |
1105 | # CONFIG_UFS_FS is not set | 1144 | # CONFIG_UFS_FS is not set |
1145 | # CONFIG_NILFS2_FS is not set | ||
1106 | CONFIG_NETWORK_FILESYSTEMS=y | 1146 | CONFIG_NETWORK_FILESYSTEMS=y |
1107 | CONFIG_NFS_FS=y | 1147 | CONFIG_NFS_FS=y |
1108 | # CONFIG_NFS_V3 is not set | 1148 | # CONFIG_NFS_V3 is not set |
@@ -1112,7 +1152,6 @@ CONFIG_ROOT_NFS=y | |||
1112 | CONFIG_LOCKD=y | 1152 | CONFIG_LOCKD=y |
1113 | CONFIG_NFS_COMMON=y | 1153 | CONFIG_NFS_COMMON=y |
1114 | CONFIG_SUNRPC=y | 1154 | CONFIG_SUNRPC=y |
1115 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1116 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1155 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1117 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1156 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1118 | # CONFIG_SMB_FS is not set | 1157 | # CONFIG_SMB_FS is not set |
@@ -1140,6 +1179,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1140 | # CONFIG_SYSV68_PARTITION is not set | 1179 | # CONFIG_SYSV68_PARTITION is not set |
1141 | # CONFIG_NLS is not set | 1180 | # CONFIG_NLS is not set |
1142 | # CONFIG_DLM is not set | 1181 | # CONFIG_DLM is not set |
1182 | # CONFIG_BINARY_PRINTF is not set | ||
1143 | 1183 | ||
1144 | # | 1184 | # |
1145 | # Library routines | 1185 | # Library routines |
@@ -1155,11 +1195,12 @@ CONFIG_CRC32=y | |||
1155 | # CONFIG_LIBCRC32C is not set | 1195 | # CONFIG_LIBCRC32C is not set |
1156 | CONFIG_ZLIB_INFLATE=y | 1196 | CONFIG_ZLIB_INFLATE=y |
1157 | CONFIG_ZLIB_DEFLATE=y | 1197 | CONFIG_ZLIB_DEFLATE=y |
1158 | CONFIG_PLIST=y | 1198 | CONFIG_DECOMPRESS_GZIP=y |
1159 | CONFIG_HAS_IOMEM=y | 1199 | CONFIG_HAS_IOMEM=y |
1160 | CONFIG_HAS_IOPORT=y | 1200 | CONFIG_HAS_IOPORT=y |
1161 | CONFIG_HAS_DMA=y | 1201 | CONFIG_HAS_DMA=y |
1162 | CONFIG_HAVE_LMB=y | 1202 | CONFIG_HAVE_LMB=y |
1203 | CONFIG_NLATTR=y | ||
1163 | 1204 | ||
1164 | # | 1205 | # |
1165 | # Kernel hacking | 1206 | # Kernel hacking |
@@ -1181,13 +1222,24 @@ CONFIG_FRAME_WARN=1024 | |||
1181 | # CONFIG_LATENCYTOP is not set | 1222 | # CONFIG_LATENCYTOP is not set |
1182 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1223 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1183 | CONFIG_HAVE_FUNCTION_TRACER=y | 1224 | CONFIG_HAVE_FUNCTION_TRACER=y |
1225 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1184 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1226 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1185 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1227 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1228 | CONFIG_TRACING_SUPPORT=y | ||
1186 | 1229 | ||
1187 | # | 1230 | # |
1188 | # Tracers | 1231 | # Tracers |
1189 | # | 1232 | # |
1190 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1233 | # CONFIG_FUNCTION_TRACER is not set |
1234 | # CONFIG_SCHED_TRACER is not set | ||
1235 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1236 | # CONFIG_EVENT_TRACER is not set | ||
1237 | # CONFIG_BOOT_TRACER is not set | ||
1238 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1239 | # CONFIG_STACK_TRACER is not set | ||
1240 | # CONFIG_KMEMTRACE is not set | ||
1241 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1242 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1191 | # CONFIG_SAMPLES is not set | 1243 | # CONFIG_SAMPLES is not set |
1192 | CONFIG_HAVE_ARCH_KGDB=y | 1244 | CONFIG_HAVE_ARCH_KGDB=y |
1193 | CONFIG_PRINT_STACK_DEPTH=64 | 1245 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1278,6 +1330,7 @@ CONFIG_CRYPTO=y | |||
1278 | # Compression | 1330 | # Compression |
1279 | # | 1331 | # |
1280 | # CONFIG_CRYPTO_DEFLATE is not set | 1332 | # CONFIG_CRYPTO_DEFLATE is not set |
1333 | # CONFIG_CRYPTO_ZLIB is not set | ||
1281 | # CONFIG_CRYPTO_LZO is not set | 1334 | # CONFIG_CRYPTO_LZO is not set |
1282 | 1335 | ||
1283 | # | 1336 | # |
diff --git a/arch/powerpc/configs/85xx/tqm8560_defconfig b/arch/powerpc/configs/85xx/tqm8560_defconfig index a25009174f37..f41cc2444d48 100644 --- a/arch/powerpc/configs/85xx/tqm8560_defconfig +++ b/arch/powerpc/configs/85xx/tqm8560_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:22 2009 | 4 | # Wed May 13 17:22:26 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
25 | CONFIG_PPC_BOOK3E_MMU=y | ||
25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y | |||
59 | CONFIG_DEFAULT_UIMAGE=y | 60 | CONFIG_DEFAULT_UIMAGE=y |
60 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
61 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
63 | 65 | ||
64 | # | 66 | # |
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
76 | # CONFIG_BSD_PROCESS_ACCT is not set | 78 | # CONFIG_BSD_PROCESS_ACCT is not set |
77 | # CONFIG_TASKSTATS is not set | 79 | # CONFIG_TASKSTATS is not set |
78 | # CONFIG_AUDIT is not set | 80 | # CONFIG_AUDIT is not set |
81 | |||
82 | # | ||
83 | # RCU Subsystem | ||
84 | # | ||
85 | CONFIG_CLASSIC_RCU=y | ||
86 | # CONFIG_TREE_RCU is not set | ||
87 | # CONFIG_PREEMPT_RCU is not set | ||
88 | # CONFIG_TREE_RCU_TRACE is not set | ||
89 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | # CONFIG_IKCONFIG is not set | 90 | # CONFIG_IKCONFIG is not set |
80 | CONFIG_LOG_BUF_SHIFT=14 | 91 | CONFIG_LOG_BUF_SHIFT=14 |
81 | CONFIG_GROUP_SCHED=y | 92 | CONFIG_GROUP_SCHED=y |
@@ -90,19 +101,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
90 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
91 | CONFIG_BLK_DEV_INITRD=y | 102 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 103 | CONFIG_INITRAMFS_SOURCE="" |
104 | CONFIG_RD_GZIP=y | ||
105 | # CONFIG_RD_BZIP2 is not set | ||
106 | # CONFIG_RD_LZMA is not set | ||
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 107 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
94 | CONFIG_SYSCTL=y | 108 | CONFIG_SYSCTL=y |
109 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EMBEDDED=y | 110 | CONFIG_EMBEDDED=y |
96 | CONFIG_SYSCTL_SYSCALL=y | 111 | CONFIG_SYSCTL_SYSCALL=y |
97 | # CONFIG_KALLSYMS is not set | 112 | # CONFIG_KALLSYMS is not set |
113 | # CONFIG_STRIP_ASM_SYMS is not set | ||
98 | # CONFIG_HOTPLUG is not set | 114 | # CONFIG_HOTPLUG is not set |
99 | CONFIG_PRINTK=y | 115 | CONFIG_PRINTK=y |
100 | CONFIG_BUG=y | 116 | CONFIG_BUG=y |
101 | CONFIG_ELF_CORE=y | 117 | CONFIG_ELF_CORE=y |
102 | CONFIG_COMPAT_BRK=y | ||
103 | CONFIG_BASE_FULL=y | 118 | CONFIG_BASE_FULL=y |
104 | CONFIG_FUTEX=y | 119 | CONFIG_FUTEX=y |
105 | CONFIG_ANON_INODES=y | ||
106 | # CONFIG_EPOLL is not set | 120 | # CONFIG_EPOLL is not set |
107 | CONFIG_SIGNALFD=y | 121 | CONFIG_SIGNALFD=y |
108 | CONFIG_TIMERFD=y | 122 | CONFIG_TIMERFD=y |
@@ -112,10 +126,12 @@ CONFIG_AIO=y | |||
112 | CONFIG_VM_EVENT_COUNTERS=y | 126 | CONFIG_VM_EVENT_COUNTERS=y |
113 | CONFIG_PCI_QUIRKS=y | 127 | CONFIG_PCI_QUIRKS=y |
114 | CONFIG_SLUB_DEBUG=y | 128 | CONFIG_SLUB_DEBUG=y |
129 | CONFIG_COMPAT_BRK=y | ||
115 | # CONFIG_SLAB is not set | 130 | # CONFIG_SLAB is not set |
116 | CONFIG_SLUB=y | 131 | CONFIG_SLUB=y |
117 | # CONFIG_SLOB is not set | 132 | # CONFIG_SLOB is not set |
118 | # CONFIG_PROFILING is not set | 133 | # CONFIG_PROFILING is not set |
134 | # CONFIG_MARKERS is not set | ||
119 | CONFIG_HAVE_OPROFILE=y | 135 | CONFIG_HAVE_OPROFILE=y |
120 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 136 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
121 | CONFIG_HAVE_IOREMAP_PROT=y | 137 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -123,6 +139,7 @@ CONFIG_HAVE_KPROBES=y | |||
123 | CONFIG_HAVE_KRETPROBES=y | 139 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 140 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
125 | CONFIG_HAVE_CLK=y | 141 | CONFIG_HAVE_CLK=y |
142 | # CONFIG_SLOW_WORK is not set | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 143 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 144 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 145 | CONFIG_RT_MUTEXES=y |
@@ -130,7 +147,6 @@ CONFIG_BASE_SMALL=0 | |||
130 | # CONFIG_MODULES is not set | 147 | # CONFIG_MODULES is not set |
131 | CONFIG_BLOCK=y | 148 | CONFIG_BLOCK=y |
132 | # CONFIG_LBD is not set | 149 | # CONFIG_LBD is not set |
133 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
134 | # CONFIG_BLK_DEV_BSG is not set | 150 | # CONFIG_BLK_DEV_BSG is not set |
135 | # CONFIG_BLK_DEV_INTEGRITY is not set | 151 | # CONFIG_BLK_DEV_INTEGRITY is not set |
136 | 152 | ||
@@ -146,11 +162,6 @@ CONFIG_DEFAULT_AS=y | |||
146 | # CONFIG_DEFAULT_CFQ is not set | 162 | # CONFIG_DEFAULT_CFQ is not set |
147 | # CONFIG_DEFAULT_NOOP is not set | 163 | # CONFIG_DEFAULT_NOOP is not set |
148 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 164 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
149 | CONFIG_CLASSIC_RCU=y | ||
150 | # CONFIG_TREE_RCU is not set | ||
151 | # CONFIG_PREEMPT_RCU is not set | ||
152 | # CONFIG_TREE_RCU_TRACE is not set | ||
153 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
154 | # CONFIG_FREEZER is not set | 165 | # CONFIG_FREEZER is not set |
155 | 166 | ||
156 | # | 167 | # |
@@ -166,6 +177,7 @@ CONFIG_MPC85xx=y | |||
166 | # CONFIG_MPC85xx_MDS is not set | 177 | # CONFIG_MPC85xx_MDS is not set |
167 | # CONFIG_MPC8536_DS is not set | 178 | # CONFIG_MPC8536_DS is not set |
168 | # CONFIG_MPC85xx_DS is not set | 179 | # CONFIG_MPC85xx_DS is not set |
180 | # CONFIG_SOCRATES is not set | ||
169 | # CONFIG_KSI8560 is not set | 181 | # CONFIG_KSI8560 is not set |
170 | # CONFIG_STX_GP3 is not set | 182 | # CONFIG_STX_GP3 is not set |
171 | # CONFIG_TQM8540 is not set | 183 | # CONFIG_TQM8540 is not set |
@@ -235,9 +247,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
235 | CONFIG_BOUNCE=y | 247 | CONFIG_BOUNCE=y |
236 | CONFIG_VIRT_TO_BUS=y | 248 | CONFIG_VIRT_TO_BUS=y |
237 | CONFIG_UNEVICTABLE_LRU=y | 249 | CONFIG_UNEVICTABLE_LRU=y |
250 | CONFIG_HAVE_MLOCK=y | ||
251 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
238 | CONFIG_PPC_4K_PAGES=y | 252 | CONFIG_PPC_4K_PAGES=y |
239 | # CONFIG_PPC_16K_PAGES is not set | 253 | # CONFIG_PPC_16K_PAGES is not set |
240 | # CONFIG_PPC_64K_PAGES is not set | 254 | # CONFIG_PPC_64K_PAGES is not set |
255 | # CONFIG_PPC_256K_PAGES is not set | ||
241 | CONFIG_FORCE_MAX_ZONEORDER=11 | 256 | CONFIG_FORCE_MAX_ZONEORDER=11 |
242 | # CONFIG_PROC_DEVICETREE is not set | 257 | # CONFIG_PROC_DEVICETREE is not set |
243 | # CONFIG_CMDLINE_BOOL is not set | 258 | # CONFIG_CMDLINE_BOOL is not set |
@@ -262,6 +277,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
262 | # CONFIG_PCI_MSI is not set | 277 | # CONFIG_PCI_MSI is not set |
263 | # CONFIG_PCI_LEGACY is not set | 278 | # CONFIG_PCI_LEGACY is not set |
264 | # CONFIG_PCI_STUB is not set | 279 | # CONFIG_PCI_STUB is not set |
280 | # CONFIG_PCI_IOV is not set | ||
265 | # CONFIG_HAS_RAPIDIO is not set | 281 | # CONFIG_HAS_RAPIDIO is not set |
266 | 282 | ||
267 | # | 283 | # |
@@ -273,17 +289,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
273 | # Default settings for advanced configuration options are used | 289 | # Default settings for advanced configuration options are used |
274 | # | 290 | # |
275 | CONFIG_LOWMEM_SIZE=0x30000000 | 291 | CONFIG_LOWMEM_SIZE=0x30000000 |
292 | CONFIG_LOWMEM_CAM_NUM=3 | ||
276 | CONFIG_PAGE_OFFSET=0xc0000000 | 293 | CONFIG_PAGE_OFFSET=0xc0000000 |
277 | CONFIG_KERNEL_START=0xc0000000 | 294 | CONFIG_KERNEL_START=0xc0000000 |
278 | CONFIG_PHYSICAL_START=0x00000000 | 295 | CONFIG_PHYSICAL_START=0x00000000 |
279 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 296 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
280 | CONFIG_TASK_SIZE=0xc0000000 | 297 | CONFIG_TASK_SIZE=0xc0000000 |
281 | CONFIG_NET=y | 298 | CONFIG_NET=y |
282 | 299 | ||
283 | # | 300 | # |
284 | # Networking options | 301 | # Networking options |
285 | # | 302 | # |
286 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
287 | CONFIG_PACKET=y | 303 | CONFIG_PACKET=y |
288 | # CONFIG_PACKET_MMAP is not set | 304 | # CONFIG_PACKET_MMAP is not set |
289 | CONFIG_UNIX=y | 305 | CONFIG_UNIX=y |
@@ -339,6 +355,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
339 | # CONFIG_LAPB is not set | 355 | # CONFIG_LAPB is not set |
340 | # CONFIG_ECONET is not set | 356 | # CONFIG_ECONET is not set |
341 | # CONFIG_WAN_ROUTER is not set | 357 | # CONFIG_WAN_ROUTER is not set |
358 | # CONFIG_PHONET is not set | ||
342 | # CONFIG_NET_SCHED is not set | 359 | # CONFIG_NET_SCHED is not set |
343 | # CONFIG_DCB is not set | 360 | # CONFIG_DCB is not set |
344 | 361 | ||
@@ -351,7 +368,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_IRDA is not set | 368 | # CONFIG_IRDA is not set |
352 | # CONFIG_BT is not set | 369 | # CONFIG_BT is not set |
353 | # CONFIG_AF_RXRPC is not set | 370 | # CONFIG_AF_RXRPC is not set |
354 | # CONFIG_PHONET is not set | ||
355 | CONFIG_WIRELESS=y | 371 | CONFIG_WIRELESS=y |
356 | # CONFIG_CFG80211 is not set | 372 | # CONFIG_CFG80211 is not set |
357 | CONFIG_WIRELESS_OLD_REGULATORY=y | 373 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -451,7 +467,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
451 | # LPDDR flash memory drivers | 467 | # LPDDR flash memory drivers |
452 | # | 468 | # |
453 | # CONFIG_MTD_LPDDR is not set | 469 | # CONFIG_MTD_LPDDR is not set |
454 | # CONFIG_MTD_QINFO_PROBE is not set | ||
455 | 470 | ||
456 | # | 471 | # |
457 | # UBI - Unsorted block images | 472 | # UBI - Unsorted block images |
@@ -481,19 +496,27 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
481 | # CONFIG_BLK_DEV_HD is not set | 496 | # CONFIG_BLK_DEV_HD is not set |
482 | CONFIG_MISC_DEVICES=y | 497 | CONFIG_MISC_DEVICES=y |
483 | # CONFIG_PHANTOM is not set | 498 | # CONFIG_PHANTOM is not set |
484 | # CONFIG_EEPROM_93CX6 is not set | ||
485 | # CONFIG_SGI_IOC4 is not set | 499 | # CONFIG_SGI_IOC4 is not set |
486 | # CONFIG_TIFM_CORE is not set | 500 | # CONFIG_TIFM_CORE is not set |
487 | # CONFIG_ICS932S401 is not set | 501 | # CONFIG_ICS932S401 is not set |
488 | # CONFIG_ENCLOSURE_SERVICES is not set | 502 | # CONFIG_ENCLOSURE_SERVICES is not set |
489 | # CONFIG_HP_ILO is not set | 503 | # CONFIG_HP_ILO is not set |
504 | # CONFIG_ISL29003 is not set | ||
490 | # CONFIG_C2PORT is not set | 505 | # CONFIG_C2PORT is not set |
506 | |||
507 | # | ||
508 | # EEPROM support | ||
509 | # | ||
510 | # CONFIG_EEPROM_AT24 is not set | ||
511 | # CONFIG_EEPROM_LEGACY is not set | ||
512 | # CONFIG_EEPROM_93CX6 is not set | ||
491 | CONFIG_HAVE_IDE=y | 513 | CONFIG_HAVE_IDE=y |
492 | CONFIG_IDE=y | 514 | CONFIG_IDE=y |
493 | 515 | ||
494 | # | 516 | # |
495 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 517 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
496 | # | 518 | # |
519 | CONFIG_IDE_XFER_MODE=y | ||
497 | CONFIG_IDE_TIMINGS=y | 520 | CONFIG_IDE_TIMINGS=y |
498 | # CONFIG_BLK_DEV_IDE_SATA is not set | 521 | # CONFIG_BLK_DEV_IDE_SATA is not set |
499 | CONFIG_IDE_GD=y | 522 | CONFIG_IDE_GD=y |
@@ -568,6 +591,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
568 | # CONFIG_I2O is not set | 591 | # CONFIG_I2O is not set |
569 | # CONFIG_MACINTOSH_DRIVERS is not set | 592 | # CONFIG_MACINTOSH_DRIVERS is not set |
570 | CONFIG_NETDEVICES=y | 593 | CONFIG_NETDEVICES=y |
594 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
571 | # CONFIG_DUMMY is not set | 595 | # CONFIG_DUMMY is not set |
572 | # CONFIG_BONDING is not set | 596 | # CONFIG_BONDING is not set |
573 | # CONFIG_MACVLAN is not set | 597 | # CONFIG_MACVLAN is not set |
@@ -601,6 +625,8 @@ CONFIG_MII=y | |||
601 | # CONFIG_SUNGEM is not set | 625 | # CONFIG_SUNGEM is not set |
602 | # CONFIG_CASSINI is not set | 626 | # CONFIG_CASSINI is not set |
603 | # CONFIG_NET_VENDOR_3COM is not set | 627 | # CONFIG_NET_VENDOR_3COM is not set |
628 | # CONFIG_ETHOC is not set | ||
629 | # CONFIG_DNET is not set | ||
604 | # CONFIG_NET_TULIP is not set | 630 | # CONFIG_NET_TULIP is not set |
605 | # CONFIG_HP100 is not set | 631 | # CONFIG_HP100 is not set |
606 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 632 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -639,6 +665,7 @@ CONFIG_NETDEV_1000=y | |||
639 | # CONFIG_E1000E is not set | 665 | # CONFIG_E1000E is not set |
640 | # CONFIG_IP1000 is not set | 666 | # CONFIG_IP1000 is not set |
641 | # CONFIG_IGB is not set | 667 | # CONFIG_IGB is not set |
668 | # CONFIG_IGBVF is not set | ||
642 | # CONFIG_NS83820 is not set | 669 | # CONFIG_NS83820 is not set |
643 | # CONFIG_HAMACHI is not set | 670 | # CONFIG_HAMACHI is not set |
644 | # CONFIG_YELLOWFIN is not set | 671 | # CONFIG_YELLOWFIN is not set |
@@ -649,10 +676,12 @@ CONFIG_NETDEV_1000=y | |||
649 | # CONFIG_VIA_VELOCITY is not set | 676 | # CONFIG_VIA_VELOCITY is not set |
650 | # CONFIG_TIGON3 is not set | 677 | # CONFIG_TIGON3 is not set |
651 | # CONFIG_BNX2 is not set | 678 | # CONFIG_BNX2 is not set |
679 | CONFIG_FSL_PQ_MDIO=y | ||
652 | CONFIG_GIANFAR=y | 680 | CONFIG_GIANFAR=y |
653 | # CONFIG_QLA3XXX is not set | 681 | # CONFIG_QLA3XXX is not set |
654 | # CONFIG_ATL1 is not set | 682 | # CONFIG_ATL1 is not set |
655 | # CONFIG_ATL1E is not set | 683 | # CONFIG_ATL1E is not set |
684 | # CONFIG_ATL1C is not set | ||
656 | # CONFIG_JME is not set | 685 | # CONFIG_JME is not set |
657 | CONFIG_NETDEV_10000=y | 686 | CONFIG_NETDEV_10000=y |
658 | # CONFIG_CHELSIO_T1 is not set | 687 | # CONFIG_CHELSIO_T1 is not set |
@@ -662,6 +691,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
662 | # CONFIG_IXGBE is not set | 691 | # CONFIG_IXGBE is not set |
663 | # CONFIG_IXGB is not set | 692 | # CONFIG_IXGB is not set |
664 | # CONFIG_S2IO is not set | 693 | # CONFIG_S2IO is not set |
694 | # CONFIG_VXGE is not set | ||
665 | # CONFIG_MYRI10GE is not set | 695 | # CONFIG_MYRI10GE is not set |
666 | # CONFIG_NETXEN_NIC is not set | 696 | # CONFIG_NETXEN_NIC is not set |
667 | # CONFIG_NIU is not set | 697 | # CONFIG_NIU is not set |
@@ -671,6 +701,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
671 | # CONFIG_BNX2X is not set | 701 | # CONFIG_BNX2X is not set |
672 | # CONFIG_QLGE is not set | 702 | # CONFIG_QLGE is not set |
673 | # CONFIG_SFC is not set | 703 | # CONFIG_SFC is not set |
704 | # CONFIG_BE2NET is not set | ||
674 | # CONFIG_TR is not set | 705 | # CONFIG_TR is not set |
675 | 706 | ||
676 | # | 707 | # |
@@ -678,7 +709,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
678 | # | 709 | # |
679 | # CONFIG_WLAN_PRE80211 is not set | 710 | # CONFIG_WLAN_PRE80211 is not set |
680 | # CONFIG_WLAN_80211 is not set | 711 | # CONFIG_WLAN_80211 is not set |
681 | # CONFIG_IWLWIFI_LEDS is not set | ||
682 | 712 | ||
683 | # | 713 | # |
684 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 714 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -761,6 +791,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
761 | # CONFIG_HVC_UDBG is not set | 791 | # CONFIG_HVC_UDBG is not set |
762 | # CONFIG_IPMI_HANDLER is not set | 792 | # CONFIG_IPMI_HANDLER is not set |
763 | CONFIG_HW_RANDOM=y | 793 | CONFIG_HW_RANDOM=y |
794 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
764 | # CONFIG_NVRAM is not set | 795 | # CONFIG_NVRAM is not set |
765 | CONFIG_GEN_RTC=y | 796 | CONFIG_GEN_RTC=y |
766 | # CONFIG_GEN_RTC_X is not set | 797 | # CONFIG_GEN_RTC_X is not set |
@@ -825,12 +856,9 @@ CONFIG_I2C_MPC=y | |||
825 | # Miscellaneous I2C Chip support | 856 | # Miscellaneous I2C Chip support |
826 | # | 857 | # |
827 | # CONFIG_DS1682 is not set | 858 | # CONFIG_DS1682 is not set |
828 | # CONFIG_EEPROM_AT24 is not set | ||
829 | # CONFIG_EEPROM_LEGACY is not set | ||
830 | # CONFIG_SENSORS_PCF8574 is not set | 859 | # CONFIG_SENSORS_PCF8574 is not set |
831 | # CONFIG_PCF8575 is not set | 860 | # CONFIG_PCF8575 is not set |
832 | # CONFIG_SENSORS_PCA9539 is not set | 861 | # CONFIG_SENSORS_PCA9539 is not set |
833 | # CONFIG_SENSORS_PCF8591 is not set | ||
834 | # CONFIG_SENSORS_MAX6875 is not set | 862 | # CONFIG_SENSORS_MAX6875 is not set |
835 | # CONFIG_SENSORS_TSL2550 is not set | 863 | # CONFIG_SENSORS_TSL2550 is not set |
836 | # CONFIG_I2C_DEBUG_CORE is not set | 864 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -885,6 +913,7 @@ CONFIG_HWMON=y | |||
885 | # CONFIG_SENSORS_F71805F is not set | 913 | # CONFIG_SENSORS_F71805F is not set |
886 | # CONFIG_SENSORS_F71882FG is not set | 914 | # CONFIG_SENSORS_F71882FG is not set |
887 | # CONFIG_SENSORS_F75375S is not set | 915 | # CONFIG_SENSORS_F75375S is not set |
916 | # CONFIG_SENSORS_G760A is not set | ||
888 | # CONFIG_SENSORS_GL518SM is not set | 917 | # CONFIG_SENSORS_GL518SM is not set |
889 | # CONFIG_SENSORS_GL520SM is not set | 918 | # CONFIG_SENSORS_GL520SM is not set |
890 | # CONFIG_SENSORS_IT87 is not set | 919 | # CONFIG_SENSORS_IT87 is not set |
@@ -899,11 +928,15 @@ CONFIG_SENSORS_LM75=y | |||
899 | # CONFIG_SENSORS_LM90 is not set | 928 | # CONFIG_SENSORS_LM90 is not set |
900 | # CONFIG_SENSORS_LM92 is not set | 929 | # CONFIG_SENSORS_LM92 is not set |
901 | # CONFIG_SENSORS_LM93 is not set | 930 | # CONFIG_SENSORS_LM93 is not set |
931 | # CONFIG_SENSORS_LTC4215 is not set | ||
902 | # CONFIG_SENSORS_LTC4245 is not set | 932 | # CONFIG_SENSORS_LTC4245 is not set |
933 | # CONFIG_SENSORS_LM95241 is not set | ||
903 | # CONFIG_SENSORS_MAX1619 is not set | 934 | # CONFIG_SENSORS_MAX1619 is not set |
904 | # CONFIG_SENSORS_MAX6650 is not set | 935 | # CONFIG_SENSORS_MAX6650 is not set |
905 | # CONFIG_SENSORS_PC87360 is not set | 936 | # CONFIG_SENSORS_PC87360 is not set |
906 | # CONFIG_SENSORS_PC87427 is not set | 937 | # CONFIG_SENSORS_PC87427 is not set |
938 | # CONFIG_SENSORS_PCF8591 is not set | ||
939 | # CONFIG_SENSORS_SHT15 is not set | ||
907 | # CONFIG_SENSORS_SIS5595 is not set | 940 | # CONFIG_SENSORS_SIS5595 is not set |
908 | # CONFIG_SENSORS_DME1737 is not set | 941 | # CONFIG_SENSORS_DME1737 is not set |
909 | # CONFIG_SENSORS_SMSC47M1 is not set | 942 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -988,7 +1021,6 @@ CONFIG_HID=y | |||
988 | # | 1021 | # |
989 | # Special HID drivers | 1022 | # Special HID drivers |
990 | # | 1023 | # |
991 | CONFIG_HID_COMPAT=y | ||
992 | CONFIG_USB_SUPPORT=y | 1024 | CONFIG_USB_SUPPORT=y |
993 | CONFIG_USB_ARCH_HAS_HCD=y | 1025 | CONFIG_USB_ARCH_HAS_HCD=y |
994 | CONFIG_USB_ARCH_HAS_OHCI=y | 1026 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1002,7 +1034,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1002 | # | 1034 | # |
1003 | 1035 | ||
1004 | # | 1036 | # |
1005 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1037 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1006 | # | 1038 | # |
1007 | # CONFIG_USB_GADGET is not set | 1039 | # CONFIG_USB_GADGET is not set |
1008 | 1040 | ||
@@ -1018,6 +1050,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1018 | # CONFIG_EDAC is not set | 1050 | # CONFIG_EDAC is not set |
1019 | # CONFIG_RTC_CLASS is not set | 1051 | # CONFIG_RTC_CLASS is not set |
1020 | # CONFIG_DMADEVICES is not set | 1052 | # CONFIG_DMADEVICES is not set |
1053 | # CONFIG_AUXDISPLAY is not set | ||
1021 | # CONFIG_UIO is not set | 1054 | # CONFIG_UIO is not set |
1022 | # CONFIG_STAGING is not set | 1055 | # CONFIG_STAGING is not set |
1023 | 1056 | ||
@@ -1028,6 +1061,7 @@ CONFIG_EXT2_FS=y | |||
1028 | # CONFIG_EXT2_FS_XATTR is not set | 1061 | # CONFIG_EXT2_FS_XATTR is not set |
1029 | # CONFIG_EXT2_FS_XIP is not set | 1062 | # CONFIG_EXT2_FS_XIP is not set |
1030 | CONFIG_EXT3_FS=y | 1063 | CONFIG_EXT3_FS=y |
1064 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1031 | CONFIG_EXT3_FS_XATTR=y | 1065 | CONFIG_EXT3_FS_XATTR=y |
1032 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1066 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1033 | # CONFIG_EXT3_FS_SECURITY is not set | 1067 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1050,6 +1084,11 @@ CONFIG_INOTIFY_USER=y | |||
1050 | # CONFIG_FUSE_FS is not set | 1084 | # CONFIG_FUSE_FS is not set |
1051 | 1085 | ||
1052 | # | 1086 | # |
1087 | # Caches | ||
1088 | # | ||
1089 | # CONFIG_FSCACHE is not set | ||
1090 | |||
1091 | # | ||
1053 | # CD-ROM/DVD Filesystems | 1092 | # CD-ROM/DVD Filesystems |
1054 | # | 1093 | # |
1055 | # CONFIG_ISO9660_FS is not set | 1094 | # CONFIG_ISO9660_FS is not set |
@@ -1103,6 +1142,7 @@ CONFIG_CRAMFS=y | |||
1103 | # CONFIG_ROMFS_FS is not set | 1142 | # CONFIG_ROMFS_FS is not set |
1104 | # CONFIG_SYSV_FS is not set | 1143 | # CONFIG_SYSV_FS is not set |
1105 | # CONFIG_UFS_FS is not set | 1144 | # CONFIG_UFS_FS is not set |
1145 | # CONFIG_NILFS2_FS is not set | ||
1106 | CONFIG_NETWORK_FILESYSTEMS=y | 1146 | CONFIG_NETWORK_FILESYSTEMS=y |
1107 | CONFIG_NFS_FS=y | 1147 | CONFIG_NFS_FS=y |
1108 | # CONFIG_NFS_V3 is not set | 1148 | # CONFIG_NFS_V3 is not set |
@@ -1112,7 +1152,6 @@ CONFIG_ROOT_NFS=y | |||
1112 | CONFIG_LOCKD=y | 1152 | CONFIG_LOCKD=y |
1113 | CONFIG_NFS_COMMON=y | 1153 | CONFIG_NFS_COMMON=y |
1114 | CONFIG_SUNRPC=y | 1154 | CONFIG_SUNRPC=y |
1115 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1116 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1155 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1117 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1156 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1118 | # CONFIG_SMB_FS is not set | 1157 | # CONFIG_SMB_FS is not set |
@@ -1140,6 +1179,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
1140 | # CONFIG_SYSV68_PARTITION is not set | 1179 | # CONFIG_SYSV68_PARTITION is not set |
1141 | # CONFIG_NLS is not set | 1180 | # CONFIG_NLS is not set |
1142 | # CONFIG_DLM is not set | 1181 | # CONFIG_DLM is not set |
1182 | # CONFIG_BINARY_PRINTF is not set | ||
1143 | 1183 | ||
1144 | # | 1184 | # |
1145 | # Library routines | 1185 | # Library routines |
@@ -1155,11 +1195,12 @@ CONFIG_CRC32=y | |||
1155 | # CONFIG_LIBCRC32C is not set | 1195 | # CONFIG_LIBCRC32C is not set |
1156 | CONFIG_ZLIB_INFLATE=y | 1196 | CONFIG_ZLIB_INFLATE=y |
1157 | CONFIG_ZLIB_DEFLATE=y | 1197 | CONFIG_ZLIB_DEFLATE=y |
1158 | CONFIG_PLIST=y | 1198 | CONFIG_DECOMPRESS_GZIP=y |
1159 | CONFIG_HAS_IOMEM=y | 1199 | CONFIG_HAS_IOMEM=y |
1160 | CONFIG_HAS_IOPORT=y | 1200 | CONFIG_HAS_IOPORT=y |
1161 | CONFIG_HAS_DMA=y | 1201 | CONFIG_HAS_DMA=y |
1162 | CONFIG_HAVE_LMB=y | 1202 | CONFIG_HAVE_LMB=y |
1203 | CONFIG_NLATTR=y | ||
1163 | 1204 | ||
1164 | # | 1205 | # |
1165 | # Kernel hacking | 1206 | # Kernel hacking |
@@ -1181,13 +1222,24 @@ CONFIG_FRAME_WARN=1024 | |||
1181 | # CONFIG_LATENCYTOP is not set | 1222 | # CONFIG_LATENCYTOP is not set |
1182 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1223 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1183 | CONFIG_HAVE_FUNCTION_TRACER=y | 1224 | CONFIG_HAVE_FUNCTION_TRACER=y |
1225 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1184 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1226 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1185 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1227 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1228 | CONFIG_TRACING_SUPPORT=y | ||
1186 | 1229 | ||
1187 | # | 1230 | # |
1188 | # Tracers | 1231 | # Tracers |
1189 | # | 1232 | # |
1190 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1233 | # CONFIG_FUNCTION_TRACER is not set |
1234 | # CONFIG_SCHED_TRACER is not set | ||
1235 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1236 | # CONFIG_EVENT_TRACER is not set | ||
1237 | # CONFIG_BOOT_TRACER is not set | ||
1238 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1239 | # CONFIG_STACK_TRACER is not set | ||
1240 | # CONFIG_KMEMTRACE is not set | ||
1241 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1242 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1191 | # CONFIG_SAMPLES is not set | 1243 | # CONFIG_SAMPLES is not set |
1192 | CONFIG_HAVE_ARCH_KGDB=y | 1244 | CONFIG_HAVE_ARCH_KGDB=y |
1193 | CONFIG_PRINT_STACK_DEPTH=64 | 1245 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1278,6 +1330,7 @@ CONFIG_CRYPTO=y | |||
1278 | # Compression | 1330 | # Compression |
1279 | # | 1331 | # |
1280 | # CONFIG_CRYPTO_DEFLATE is not set | 1332 | # CONFIG_CRYPTO_DEFLATE is not set |
1333 | # CONFIG_CRYPTO_ZLIB is not set | ||
1281 | # CONFIG_CRYPTO_LZO is not set | 1334 | # CONFIG_CRYPTO_LZO is not set |
1282 | 1335 | ||
1283 | # | 1336 | # |
diff --git a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig index df2c16337794..b6a23af57f46 100644 --- a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig +++ b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc7 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Fri Mar 13 15:36:11 2009 | 4 | # Wed May 13 17:22:31 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_PHYS_64BIT is not set | 19 | # CONFIG_PHYS_64BIT is not set |
19 | CONFIG_ALTIVEC=y | 20 | CONFIG_ALTIVEC=y |
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
58 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -72,6 +74,7 @@ CONFIG_SWAP=y | |||
72 | CONFIG_SYSVIPC=y | 74 | CONFIG_SYSVIPC=y |
73 | CONFIG_SYSVIPC_SYSCTL=y | 75 | CONFIG_SYSVIPC_SYSCTL=y |
74 | CONFIG_POSIX_MQUEUE=y | 76 | CONFIG_POSIX_MQUEUE=y |
77 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
75 | CONFIG_BSD_PROCESS_ACCT=y | 78 | CONFIG_BSD_PROCESS_ACCT=y |
76 | CONFIG_BSD_PROCESS_ACCT_V3=y | 79 | CONFIG_BSD_PROCESS_ACCT_V3=y |
77 | # CONFIG_TASKSTATS is not set | 80 | # CONFIG_TASKSTATS is not set |
@@ -100,21 +103,24 @@ CONFIG_RELAY=y | |||
100 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
101 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
102 | CONFIG_INITRAMFS_SOURCE="" | 105 | CONFIG_INITRAMFS_SOURCE="" |
106 | CONFIG_RD_GZIP=y | ||
107 | # CONFIG_RD_BZIP2 is not set | ||
108 | # CONFIG_RD_LZMA is not set | ||
103 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
104 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
111 | CONFIG_ANON_INODES=y | ||
105 | CONFIG_EMBEDDED=y | 112 | CONFIG_EMBEDDED=y |
106 | CONFIG_SYSCTL_SYSCALL=y | 113 | CONFIG_SYSCTL_SYSCALL=y |
107 | CONFIG_KALLSYMS=y | 114 | CONFIG_KALLSYMS=y |
108 | # CONFIG_KALLSYMS_ALL is not set | 115 | # CONFIG_KALLSYMS_ALL is not set |
109 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 116 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
117 | # CONFIG_STRIP_ASM_SYMS is not set | ||
110 | CONFIG_HOTPLUG=y | 118 | CONFIG_HOTPLUG=y |
111 | CONFIG_PRINTK=y | 119 | CONFIG_PRINTK=y |
112 | CONFIG_BUG=y | 120 | CONFIG_BUG=y |
113 | CONFIG_ELF_CORE=y | 121 | CONFIG_ELF_CORE=y |
114 | CONFIG_COMPAT_BRK=y | ||
115 | CONFIG_BASE_FULL=y | 122 | CONFIG_BASE_FULL=y |
116 | CONFIG_FUTEX=y | 123 | CONFIG_FUTEX=y |
117 | CONFIG_ANON_INODES=y | ||
118 | CONFIG_EPOLL=y | 124 | CONFIG_EPOLL=y |
119 | CONFIG_SIGNALFD=y | 125 | CONFIG_SIGNALFD=y |
120 | CONFIG_TIMERFD=y | 126 | CONFIG_TIMERFD=y |
@@ -123,10 +129,12 @@ CONFIG_SHMEM=y | |||
123 | CONFIG_AIO=y | 129 | CONFIG_AIO=y |
124 | CONFIG_VM_EVENT_COUNTERS=y | 130 | CONFIG_VM_EVENT_COUNTERS=y |
125 | CONFIG_PCI_QUIRKS=y | 131 | CONFIG_PCI_QUIRKS=y |
132 | CONFIG_COMPAT_BRK=y | ||
126 | CONFIG_SLAB=y | 133 | CONFIG_SLAB=y |
127 | # CONFIG_SLUB is not set | 134 | # CONFIG_SLUB is not set |
128 | # CONFIG_SLOB is not set | 135 | # CONFIG_SLOB is not set |
129 | # CONFIG_PROFILING is not set | 136 | # CONFIG_PROFILING is not set |
137 | # CONFIG_MARKERS is not set | ||
130 | CONFIG_HAVE_OPROFILE=y | 138 | CONFIG_HAVE_OPROFILE=y |
131 | # CONFIG_KPROBES is not set | 139 | # CONFIG_KPROBES is not set |
132 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 140 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -135,6 +143,7 @@ CONFIG_HAVE_KPROBES=y | |||
135 | CONFIG_HAVE_KRETPROBES=y | 143 | CONFIG_HAVE_KRETPROBES=y |
136 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 144 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
137 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 145 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
146 | # CONFIG_SLOW_WORK is not set | ||
138 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 147 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
139 | CONFIG_SLABINFO=y | 148 | CONFIG_SLABINFO=y |
140 | CONFIG_RT_MUTEXES=y | 149 | CONFIG_RT_MUTEXES=y |
@@ -148,7 +157,6 @@ CONFIG_MODULE_UNLOAD=y | |||
148 | CONFIG_STOP_MACHINE=y | 157 | CONFIG_STOP_MACHINE=y |
149 | CONFIG_BLOCK=y | 158 | CONFIG_BLOCK=y |
150 | # CONFIG_LBD is not set | 159 | # CONFIG_LBD is not set |
151 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
152 | # CONFIG_BLK_DEV_BSG is not set | 160 | # CONFIG_BLK_DEV_BSG is not set |
153 | # CONFIG_BLK_DEV_INTEGRITY is not set | 161 | # CONFIG_BLK_DEV_INTEGRITY is not set |
154 | 162 | ||
@@ -169,8 +177,6 @@ CONFIG_DEFAULT_IOSCHED="cfq" | |||
169 | # | 177 | # |
170 | # Platform support | 178 | # Platform support |
171 | # | 179 | # |
172 | CONFIG_PPC_MULTIPLATFORM=y | ||
173 | CONFIG_CLASSIC32=y | ||
174 | # CONFIG_PPC_CHRP is not set | 180 | # CONFIG_PPC_CHRP is not set |
175 | # CONFIG_MPC5121_ADS is not set | 181 | # CONFIG_MPC5121_ADS is not set |
176 | # CONFIG_MPC5121_GENERIC is not set | 182 | # CONFIG_MPC5121_GENERIC is not set |
@@ -189,6 +195,7 @@ CONFIG_GEF_PPC9A=y | |||
189 | # CONFIG_GEF_SBC310 is not set | 195 | # CONFIG_GEF_SBC310 is not set |
190 | # CONFIG_GEF_SBC610 is not set | 196 | # CONFIG_GEF_SBC610 is not set |
191 | CONFIG_MPC8641=y | 197 | CONFIG_MPC8641=y |
198 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
192 | # CONFIG_IPIC is not set | 199 | # CONFIG_IPIC is not set |
193 | CONFIG_MPIC=y | 200 | CONFIG_MPIC=y |
194 | # CONFIG_MPIC_WEIRD is not set | 201 | # CONFIG_MPIC_WEIRD is not set |
@@ -250,9 +257,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
250 | CONFIG_BOUNCE=y | 257 | CONFIG_BOUNCE=y |
251 | CONFIG_VIRT_TO_BUS=y | 258 | CONFIG_VIRT_TO_BUS=y |
252 | CONFIG_UNEVICTABLE_LRU=y | 259 | CONFIG_UNEVICTABLE_LRU=y |
260 | CONFIG_HAVE_MLOCK=y | ||
261 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
253 | CONFIG_PPC_4K_PAGES=y | 262 | CONFIG_PPC_4K_PAGES=y |
254 | # CONFIG_PPC_16K_PAGES is not set | 263 | # CONFIG_PPC_16K_PAGES is not set |
255 | # CONFIG_PPC_64K_PAGES is not set | 264 | # CONFIG_PPC_64K_PAGES is not set |
265 | # CONFIG_PPC_256K_PAGES is not set | ||
256 | CONFIG_FORCE_MAX_ZONEORDER=11 | 266 | CONFIG_FORCE_MAX_ZONEORDER=11 |
257 | # CONFIG_PROC_DEVICETREE is not set | 267 | # CONFIG_PROC_DEVICETREE is not set |
258 | # CONFIG_CMDLINE_BOOL is not set | 268 | # CONFIG_CMDLINE_BOOL is not set |
@@ -281,6 +291,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
281 | # CONFIG_PCI_LEGACY is not set | 291 | # CONFIG_PCI_LEGACY is not set |
282 | CONFIG_PCI_DEBUG=y | 292 | CONFIG_PCI_DEBUG=y |
283 | # CONFIG_PCI_STUB is not set | 293 | # CONFIG_PCI_STUB is not set |
294 | # CONFIG_PCI_IOV is not set | ||
284 | # CONFIG_PCCARD is not set | 295 | # CONFIG_PCCARD is not set |
285 | # CONFIG_HOTPLUG_PCI is not set | 296 | # CONFIG_HOTPLUG_PCI is not set |
286 | # CONFIG_HAS_RAPIDIO is not set | 297 | # CONFIG_HAS_RAPIDIO is not set |
@@ -303,7 +314,6 @@ CONFIG_NET=y | |||
303 | # | 314 | # |
304 | # Networking options | 315 | # Networking options |
305 | # | 316 | # |
306 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
307 | CONFIG_PACKET=y | 317 | CONFIG_PACKET=y |
308 | CONFIG_PACKET_MMAP=y | 318 | CONFIG_PACKET_MMAP=y |
309 | CONFIG_UNIX=y | 319 | CONFIG_UNIX=y |
@@ -383,9 +393,11 @@ CONFIG_BRIDGE_NETFILTER=y | |||
383 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set | 393 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set |
384 | # CONFIG_NETFILTER_NETLINK_LOG is not set | 394 | # CONFIG_NETFILTER_NETLINK_LOG is not set |
385 | # CONFIG_NF_CONNTRACK is not set | 395 | # CONFIG_NF_CONNTRACK is not set |
396 | # CONFIG_NETFILTER_TPROXY is not set | ||
386 | CONFIG_NETFILTER_XTABLES=m | 397 | CONFIG_NETFILTER_XTABLES=m |
387 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | 398 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set |
388 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | 399 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set |
400 | # CONFIG_NETFILTER_XT_TARGET_HL is not set | ||
389 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | 401 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set |
390 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set | 402 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set |
391 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set | 403 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set |
@@ -398,6 +410,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
398 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set | 410 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set |
399 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | 411 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set |
400 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | 412 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set |
413 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
401 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | 414 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set |
402 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | 415 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set |
403 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | 416 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set |
@@ -456,11 +469,11 @@ CONFIG_IP6_NF_MATCH_HL=m | |||
456 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 469 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
457 | # CONFIG_IP6_NF_MATCH_MH is not set | 470 | # CONFIG_IP6_NF_MATCH_MH is not set |
458 | CONFIG_IP6_NF_MATCH_RT=m | 471 | CONFIG_IP6_NF_MATCH_RT=m |
472 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
459 | CONFIG_IP6_NF_TARGET_LOG=m | 473 | CONFIG_IP6_NF_TARGET_LOG=m |
460 | CONFIG_IP6_NF_FILTER=m | 474 | CONFIG_IP6_NF_FILTER=m |
461 | # CONFIG_IP6_NF_TARGET_REJECT is not set | 475 | # CONFIG_IP6_NF_TARGET_REJECT is not set |
462 | CONFIG_IP6_NF_MANGLE=m | 476 | CONFIG_IP6_NF_MANGLE=m |
463 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
464 | CONFIG_IP6_NF_RAW=m | 477 | CONFIG_IP6_NF_RAW=m |
465 | # CONFIG_IP6_NF_SECURITY is not set | 478 | # CONFIG_IP6_NF_SECURITY is not set |
466 | # CONFIG_BRIDGE_NF_EBTABLES is not set | 479 | # CONFIG_BRIDGE_NF_EBTABLES is not set |
@@ -495,6 +508,7 @@ CONFIG_LLC=m | |||
495 | # CONFIG_LAPB is not set | 508 | # CONFIG_LAPB is not set |
496 | # CONFIG_ECONET is not set | 509 | # CONFIG_ECONET is not set |
497 | CONFIG_WAN_ROUTER=m | 510 | CONFIG_WAN_ROUTER=m |
511 | # CONFIG_PHONET is not set | ||
498 | CONFIG_NET_SCHED=y | 512 | CONFIG_NET_SCHED=y |
499 | 513 | ||
500 | # | 514 | # |
@@ -545,7 +559,6 @@ CONFIG_NET_PKTGEN=m | |||
545 | # CONFIG_IRDA is not set | 559 | # CONFIG_IRDA is not set |
546 | # CONFIG_BT is not set | 560 | # CONFIG_BT is not set |
547 | # CONFIG_AF_RXRPC is not set | 561 | # CONFIG_AF_RXRPC is not set |
548 | # CONFIG_PHONET is not set | ||
549 | CONFIG_FIB_RULES=y | 562 | CONFIG_FIB_RULES=y |
550 | CONFIG_WIRELESS=y | 563 | CONFIG_WIRELESS=y |
551 | # CONFIG_CFG80211 is not set | 564 | # CONFIG_CFG80211 is not set |
@@ -686,6 +699,7 @@ CONFIG_MISC_DEVICES=y | |||
686 | # CONFIG_ICS932S401 is not set | 699 | # CONFIG_ICS932S401 is not set |
687 | # CONFIG_ENCLOSURE_SERVICES is not set | 700 | # CONFIG_ENCLOSURE_SERVICES is not set |
688 | # CONFIG_HP_ILO is not set | 701 | # CONFIG_HP_ILO is not set |
702 | # CONFIG_ISL29003 is not set | ||
689 | # CONFIG_C2PORT is not set | 703 | # CONFIG_C2PORT is not set |
690 | 704 | ||
691 | # | 705 | # |
@@ -751,9 +765,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
751 | # CONFIG_MEGARAID_NEWGEN is not set | 765 | # CONFIG_MEGARAID_NEWGEN is not set |
752 | # CONFIG_MEGARAID_LEGACY is not set | 766 | # CONFIG_MEGARAID_LEGACY is not set |
753 | # CONFIG_MEGARAID_SAS is not set | 767 | # CONFIG_MEGARAID_SAS is not set |
768 | # CONFIG_SCSI_MPT2SAS is not set | ||
754 | # CONFIG_SCSI_HPTIOP is not set | 769 | # CONFIG_SCSI_HPTIOP is not set |
755 | # CONFIG_SCSI_BUSLOGIC is not set | 770 | # CONFIG_SCSI_BUSLOGIC is not set |
756 | # CONFIG_LIBFC is not set | 771 | # CONFIG_LIBFC is not set |
772 | # CONFIG_LIBFCOE is not set | ||
757 | # CONFIG_FCOE is not set | 773 | # CONFIG_FCOE is not set |
758 | # CONFIG_SCSI_DMX3191D is not set | 774 | # CONFIG_SCSI_DMX3191D is not set |
759 | # CONFIG_SCSI_EATA is not set | 775 | # CONFIG_SCSI_EATA is not set |
@@ -776,6 +792,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
776 | # CONFIG_SCSI_DEBUG is not set | 792 | # CONFIG_SCSI_DEBUG is not set |
777 | # CONFIG_SCSI_SRP is not set | 793 | # CONFIG_SCSI_SRP is not set |
778 | # CONFIG_SCSI_DH is not set | 794 | # CONFIG_SCSI_DH is not set |
795 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
779 | CONFIG_ATA=y | 796 | CONFIG_ATA=y |
780 | # CONFIG_ATA_NONSTANDARD is not set | 797 | # CONFIG_ATA_NONSTANDARD is not set |
781 | CONFIG_SATA_PMP=y | 798 | CONFIG_SATA_PMP=y |
@@ -852,6 +869,7 @@ CONFIG_SATA_SIL=y | |||
852 | # CONFIG_I2O is not set | 869 | # CONFIG_I2O is not set |
853 | # CONFIG_MACINTOSH_DRIVERS is not set | 870 | # CONFIG_MACINTOSH_DRIVERS is not set |
854 | CONFIG_NETDEVICES=y | 871 | CONFIG_NETDEVICES=y |
872 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
855 | CONFIG_DUMMY=m | 873 | CONFIG_DUMMY=m |
856 | CONFIG_BONDING=m | 874 | CONFIG_BONDING=m |
857 | # CONFIG_MACVLAN is not set | 875 | # CONFIG_MACVLAN is not set |
@@ -885,6 +903,8 @@ CONFIG_MII=y | |||
885 | # CONFIG_SUNGEM is not set | 903 | # CONFIG_SUNGEM is not set |
886 | # CONFIG_CASSINI is not set | 904 | # CONFIG_CASSINI is not set |
887 | # CONFIG_NET_VENDOR_3COM is not set | 905 | # CONFIG_NET_VENDOR_3COM is not set |
906 | # CONFIG_ETHOC is not set | ||
907 | # CONFIG_DNET is not set | ||
888 | # CONFIG_NET_TULIP is not set | 908 | # CONFIG_NET_TULIP is not set |
889 | # CONFIG_HP100 is not set | 909 | # CONFIG_HP100 is not set |
890 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 910 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -904,6 +924,7 @@ CONFIG_NETDEV_1000=y | |||
904 | # CONFIG_E1000E is not set | 924 | # CONFIG_E1000E is not set |
905 | # CONFIG_IP1000 is not set | 925 | # CONFIG_IP1000 is not set |
906 | # CONFIG_IGB is not set | 926 | # CONFIG_IGB is not set |
927 | # CONFIG_IGBVF is not set | ||
907 | # CONFIG_NS83820 is not set | 928 | # CONFIG_NS83820 is not set |
908 | # CONFIG_HAMACHI is not set | 929 | # CONFIG_HAMACHI is not set |
909 | # CONFIG_YELLOWFIN is not set | 930 | # CONFIG_YELLOWFIN is not set |
@@ -914,8 +935,8 @@ CONFIG_NETDEV_1000=y | |||
914 | # CONFIG_VIA_VELOCITY is not set | 935 | # CONFIG_VIA_VELOCITY is not set |
915 | # CONFIG_TIGON3 is not set | 936 | # CONFIG_TIGON3 is not set |
916 | # CONFIG_BNX2 is not set | 937 | # CONFIG_BNX2 is not set |
938 | CONFIG_FSL_PQ_MDIO=y | ||
917 | CONFIG_GIANFAR=y | 939 | CONFIG_GIANFAR=y |
918 | # CONFIG_MV643XX_ETH is not set | ||
919 | # CONFIG_QLA3XXX is not set | 940 | # CONFIG_QLA3XXX is not set |
920 | # CONFIG_ATL1 is not set | 941 | # CONFIG_ATL1 is not set |
921 | # CONFIG_ATL1E is not set | 942 | # CONFIG_ATL1E is not set |
@@ -929,7 +950,6 @@ CONFIG_GIANFAR=y | |||
929 | # | 950 | # |
930 | # CONFIG_WLAN_PRE80211 is not set | 951 | # CONFIG_WLAN_PRE80211 is not set |
931 | # CONFIG_WLAN_80211 is not set | 952 | # CONFIG_WLAN_80211 is not set |
932 | # CONFIG_IWLWIFI_LEDS is not set | ||
933 | 953 | ||
934 | # | 954 | # |
935 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 955 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -1056,6 +1076,7 @@ CONFIG_UNIX98_PTYS=y | |||
1056 | # CONFIG_HVC_UDBG is not set | 1076 | # CONFIG_HVC_UDBG is not set |
1057 | # CONFIG_IPMI_HANDLER is not set | 1077 | # CONFIG_IPMI_HANDLER is not set |
1058 | CONFIG_HW_RANDOM=y | 1078 | CONFIG_HW_RANDOM=y |
1079 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
1059 | CONFIG_NVRAM=y | 1080 | CONFIG_NVRAM=y |
1060 | # CONFIG_R3964 is not set | 1081 | # CONFIG_R3964 is not set |
1061 | # CONFIG_APPLICOM is not set | 1082 | # CONFIG_APPLICOM is not set |
@@ -1122,7 +1143,6 @@ CONFIG_DS1682=y | |||
1122 | # CONFIG_SENSORS_PCF8574 is not set | 1143 | # CONFIG_SENSORS_PCF8574 is not set |
1123 | # CONFIG_PCF8575 is not set | 1144 | # CONFIG_PCF8575 is not set |
1124 | # CONFIG_SENSORS_PCA9539 is not set | 1145 | # CONFIG_SENSORS_PCA9539 is not set |
1125 | # CONFIG_SENSORS_PCF8591 is not set | ||
1126 | # CONFIG_SENSORS_MAX6875 is not set | 1146 | # CONFIG_SENSORS_MAX6875 is not set |
1127 | # CONFIG_SENSORS_TSL2550 is not set | 1147 | # CONFIG_SENSORS_TSL2550 is not set |
1128 | # CONFIG_I2C_DEBUG_CORE is not set | 1148 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1178,6 +1198,7 @@ CONFIG_HWMON=y | |||
1178 | # CONFIG_SENSORS_F71805F is not set | 1198 | # CONFIG_SENSORS_F71805F is not set |
1179 | # CONFIG_SENSORS_F71882FG is not set | 1199 | # CONFIG_SENSORS_F71882FG is not set |
1180 | # CONFIG_SENSORS_F75375S is not set | 1200 | # CONFIG_SENSORS_F75375S is not set |
1201 | # CONFIG_SENSORS_G760A is not set | ||
1181 | # CONFIG_SENSORS_GL518SM is not set | 1202 | # CONFIG_SENSORS_GL518SM is not set |
1182 | # CONFIG_SENSORS_GL520SM is not set | 1203 | # CONFIG_SENSORS_GL520SM is not set |
1183 | # CONFIG_SENSORS_IT87 is not set | 1204 | # CONFIG_SENSORS_IT87 is not set |
@@ -1192,11 +1213,15 @@ CONFIG_HWMON=y | |||
1192 | CONFIG_SENSORS_LM90=y | 1213 | CONFIG_SENSORS_LM90=y |
1193 | CONFIG_SENSORS_LM92=y | 1214 | CONFIG_SENSORS_LM92=y |
1194 | # CONFIG_SENSORS_LM93 is not set | 1215 | # CONFIG_SENSORS_LM93 is not set |
1216 | # CONFIG_SENSORS_LTC4215 is not set | ||
1195 | # CONFIG_SENSORS_LTC4245 is not set | 1217 | # CONFIG_SENSORS_LTC4245 is not set |
1218 | # CONFIG_SENSORS_LM95241 is not set | ||
1196 | # CONFIG_SENSORS_MAX1619 is not set | 1219 | # CONFIG_SENSORS_MAX1619 is not set |
1197 | # CONFIG_SENSORS_MAX6650 is not set | 1220 | # CONFIG_SENSORS_MAX6650 is not set |
1198 | # CONFIG_SENSORS_PC87360 is not set | 1221 | # CONFIG_SENSORS_PC87360 is not set |
1199 | # CONFIG_SENSORS_PC87427 is not set | 1222 | # CONFIG_SENSORS_PC87427 is not set |
1223 | # CONFIG_SENSORS_PCF8591 is not set | ||
1224 | # CONFIG_SENSORS_SHT15 is not set | ||
1200 | # CONFIG_SENSORS_SIS5595 is not set | 1225 | # CONFIG_SENSORS_SIS5595 is not set |
1201 | # CONFIG_SENSORS_DME1737 is not set | 1226 | # CONFIG_SENSORS_DME1737 is not set |
1202 | # CONFIG_SENSORS_SMSC47M1 is not set | 1227 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1315,15 +1340,17 @@ CONFIG_USB_HID=y | |||
1315 | # | 1340 | # |
1316 | # Special HID drivers | 1341 | # Special HID drivers |
1317 | # | 1342 | # |
1318 | CONFIG_HID_COMPAT=y | ||
1319 | CONFIG_HID_A4TECH=y | 1343 | CONFIG_HID_A4TECH=y |
1320 | CONFIG_HID_APPLE=y | 1344 | CONFIG_HID_APPLE=y |
1321 | CONFIG_HID_BELKIN=y | 1345 | CONFIG_HID_BELKIN=y |
1322 | CONFIG_HID_CHERRY=y | 1346 | CONFIG_HID_CHERRY=y |
1323 | CONFIG_HID_CHICONY=y | 1347 | CONFIG_HID_CHICONY=y |
1324 | CONFIG_HID_CYPRESS=y | 1348 | CONFIG_HID_CYPRESS=y |
1349 | # CONFIG_DRAGONRISE_FF is not set | ||
1325 | CONFIG_HID_EZKEY=y | 1350 | CONFIG_HID_EZKEY=y |
1351 | # CONFIG_HID_KYE is not set | ||
1326 | CONFIG_HID_GYRATION=y | 1352 | CONFIG_HID_GYRATION=y |
1353 | # CONFIG_HID_KENSINGTON is not set | ||
1327 | CONFIG_HID_LOGITECH=y | 1354 | CONFIG_HID_LOGITECH=y |
1328 | # CONFIG_LOGITECH_FF is not set | 1355 | # CONFIG_LOGITECH_FF is not set |
1329 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1356 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1393,11 +1420,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1393 | # CONFIG_USB_TMC is not set | 1420 | # CONFIG_USB_TMC is not set |
1394 | 1421 | ||
1395 | # | 1422 | # |
1396 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1423 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1397 | # | 1424 | # |
1398 | 1425 | ||
1399 | # | 1426 | # |
1400 | # see USB_STORAGE Help for more information | 1427 | # also be needed; see USB_STORAGE Help for more info |
1401 | # | 1428 | # |
1402 | CONFIG_USB_STORAGE=y | 1429 | CONFIG_USB_STORAGE=y |
1403 | # CONFIG_USB_STORAGE_DEBUG is not set | 1430 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1439,7 +1466,6 @@ CONFIG_USB_STORAGE=y | |||
1439 | # CONFIG_USB_LED is not set | 1466 | # CONFIG_USB_LED is not set |
1440 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1467 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1441 | # CONFIG_USB_CYTHERM is not set | 1468 | # CONFIG_USB_CYTHERM is not set |
1442 | # CONFIG_USB_PHIDGET is not set | ||
1443 | # CONFIG_USB_IDMOUSE is not set | 1469 | # CONFIG_USB_IDMOUSE is not set |
1444 | # CONFIG_USB_FTDI_ELAN is not set | 1470 | # CONFIG_USB_FTDI_ELAN is not set |
1445 | # CONFIG_USB_APPLEDISPLAY is not set | 1471 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1456,6 +1482,7 @@ CONFIG_USB_STORAGE=y | |||
1456 | # OTG and related infrastructure | 1482 | # OTG and related infrastructure |
1457 | # | 1483 | # |
1458 | # CONFIG_USB_GPIO_VBUS is not set | 1484 | # CONFIG_USB_GPIO_VBUS is not set |
1485 | # CONFIG_NOP_USB_XCEIV is not set | ||
1459 | # CONFIG_UWB is not set | 1486 | # CONFIG_UWB is not set |
1460 | # CONFIG_MMC is not set | 1487 | # CONFIG_MMC is not set |
1461 | # CONFIG_MEMSTICK is not set | 1488 | # CONFIG_MEMSTICK is not set |
@@ -1517,8 +1544,9 @@ CONFIG_RTC_DRV_RX8581=y | |||
1517 | # | 1544 | # |
1518 | # on-CPU RTC drivers | 1545 | # on-CPU RTC drivers |
1519 | # | 1546 | # |
1520 | # CONFIG_RTC_DRV_PPC is not set | 1547 | # CONFIG_RTC_DRV_GENERIC is not set |
1521 | # CONFIG_DMADEVICES is not set | 1548 | # CONFIG_DMADEVICES is not set |
1549 | # CONFIG_AUXDISPLAY is not set | ||
1522 | # CONFIG_UIO is not set | 1550 | # CONFIG_UIO is not set |
1523 | # CONFIG_STAGING is not set | 1551 | # CONFIG_STAGING is not set |
1524 | 1552 | ||
@@ -1531,6 +1559,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y | |||
1531 | # CONFIG_EXT2_FS_SECURITY is not set | 1559 | # CONFIG_EXT2_FS_SECURITY is not set |
1532 | # CONFIG_EXT2_FS_XIP is not set | 1560 | # CONFIG_EXT2_FS_XIP is not set |
1533 | CONFIG_EXT3_FS=y | 1561 | CONFIG_EXT3_FS=y |
1562 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1534 | CONFIG_EXT3_FS_XATTR=y | 1563 | CONFIG_EXT3_FS_XATTR=y |
1535 | CONFIG_EXT3_FS_POSIX_ACL=y | 1564 | CONFIG_EXT3_FS_POSIX_ACL=y |
1536 | # CONFIG_EXT3_FS_SECURITY is not set | 1565 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1553,6 +1582,11 @@ CONFIG_INOTIFY_USER=y | |||
1553 | # CONFIG_FUSE_FS is not set | 1582 | # CONFIG_FUSE_FS is not set |
1554 | 1583 | ||
1555 | # | 1584 | # |
1585 | # Caches | ||
1586 | # | ||
1587 | # CONFIG_FSCACHE is not set | ||
1588 | |||
1589 | # | ||
1556 | # CD-ROM/DVD Filesystems | 1590 | # CD-ROM/DVD Filesystems |
1557 | # | 1591 | # |
1558 | # CONFIG_ISO9660_FS is not set | 1592 | # CONFIG_ISO9660_FS is not set |
@@ -1609,6 +1643,7 @@ CONFIG_JFFS2_RTIME=y | |||
1609 | # CONFIG_ROMFS_FS is not set | 1643 | # CONFIG_ROMFS_FS is not set |
1610 | # CONFIG_SYSV_FS is not set | 1644 | # CONFIG_SYSV_FS is not set |
1611 | # CONFIG_UFS_FS is not set | 1645 | # CONFIG_UFS_FS is not set |
1646 | # CONFIG_NILFS2_FS is not set | ||
1612 | CONFIG_NETWORK_FILESYSTEMS=y | 1647 | CONFIG_NETWORK_FILESYSTEMS=y |
1613 | CONFIG_NFS_FS=y | 1648 | CONFIG_NFS_FS=y |
1614 | CONFIG_NFS_V3=y | 1649 | CONFIG_NFS_V3=y |
@@ -1621,7 +1656,6 @@ CONFIG_LOCKD_V4=y | |||
1621 | CONFIG_NFS_COMMON=y | 1656 | CONFIG_NFS_COMMON=y |
1622 | CONFIG_SUNRPC=y | 1657 | CONFIG_SUNRPC=y |
1623 | CONFIG_SUNRPC_GSS=y | 1658 | CONFIG_SUNRPC_GSS=y |
1624 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1625 | CONFIG_RPCSEC_GSS_KRB5=y | 1659 | CONFIG_RPCSEC_GSS_KRB5=y |
1626 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1660 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1627 | # CONFIG_SMB_FS is not set | 1661 | # CONFIG_SMB_FS is not set |
@@ -1682,6 +1716,7 @@ CONFIG_NLS_KOI8_R=m | |||
1682 | CONFIG_NLS_KOI8_U=m | 1716 | CONFIG_NLS_KOI8_U=m |
1683 | CONFIG_NLS_UTF8=m | 1717 | CONFIG_NLS_UTF8=m |
1684 | # CONFIG_DLM is not set | 1718 | # CONFIG_DLM is not set |
1719 | # CONFIG_BINARY_PRINTF is not set | ||
1685 | 1720 | ||
1686 | # | 1721 | # |
1687 | # Library routines | 1722 | # Library routines |
@@ -1697,11 +1732,12 @@ CONFIG_CRC32=y | |||
1697 | CONFIG_LIBCRC32C=m | 1732 | CONFIG_LIBCRC32C=m |
1698 | CONFIG_ZLIB_INFLATE=y | 1733 | CONFIG_ZLIB_INFLATE=y |
1699 | CONFIG_ZLIB_DEFLATE=y | 1734 | CONFIG_ZLIB_DEFLATE=y |
1700 | CONFIG_PLIST=y | 1735 | CONFIG_DECOMPRESS_GZIP=y |
1701 | CONFIG_HAS_IOMEM=y | 1736 | CONFIG_HAS_IOMEM=y |
1702 | CONFIG_HAS_IOPORT=y | 1737 | CONFIG_HAS_IOPORT=y |
1703 | CONFIG_HAS_DMA=y | 1738 | CONFIG_HAS_DMA=y |
1704 | CONFIG_HAVE_LMB=y | 1739 | CONFIG_HAVE_LMB=y |
1740 | CONFIG_NLATTR=y | ||
1705 | 1741 | ||
1706 | # | 1742 | # |
1707 | # Kernel hacking | 1743 | # Kernel hacking |
@@ -1719,6 +1755,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1719 | CONFIG_DETECT_SOFTLOCKUP=y | 1755 | CONFIG_DETECT_SOFTLOCKUP=y |
1720 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1756 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1721 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1757 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1758 | CONFIG_DETECT_HUNG_TASK=y | ||
1759 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1760 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1722 | CONFIG_SCHED_DEBUG=y | 1761 | CONFIG_SCHED_DEBUG=y |
1723 | # CONFIG_SCHEDSTATS is not set | 1762 | # CONFIG_SCHEDSTATS is not set |
1724 | # CONFIG_TIMER_STATS is not set | 1763 | # CONFIG_TIMER_STATS is not set |
@@ -1747,9 +1786,12 @@ CONFIG_DEBUG_INFO=y | |||
1747 | # CONFIG_FAULT_INJECTION is not set | 1786 | # CONFIG_FAULT_INJECTION is not set |
1748 | # CONFIG_LATENCYTOP is not set | 1787 | # CONFIG_LATENCYTOP is not set |
1749 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1788 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1789 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1750 | CONFIG_HAVE_FUNCTION_TRACER=y | 1790 | CONFIG_HAVE_FUNCTION_TRACER=y |
1791 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1751 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1792 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1752 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1793 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1794 | CONFIG_TRACING_SUPPORT=y | ||
1753 | 1795 | ||
1754 | # | 1796 | # |
1755 | # Tracers | 1797 | # Tracers |
@@ -1758,17 +1800,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1758 | # CONFIG_PREEMPT_TRACER is not set | 1800 | # CONFIG_PREEMPT_TRACER is not set |
1759 | # CONFIG_SCHED_TRACER is not set | 1801 | # CONFIG_SCHED_TRACER is not set |
1760 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1802 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1803 | # CONFIG_EVENT_TRACER is not set | ||
1761 | # CONFIG_BOOT_TRACER is not set | 1804 | # CONFIG_BOOT_TRACER is not set |
1762 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1805 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1763 | # CONFIG_STACK_TRACER is not set | 1806 | # CONFIG_STACK_TRACER is not set |
1764 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1807 | # CONFIG_KMEMTRACE is not set |
1808 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1809 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1765 | # CONFIG_SAMPLES is not set | 1810 | # CONFIG_SAMPLES is not set |
1766 | CONFIG_HAVE_ARCH_KGDB=y | 1811 | CONFIG_HAVE_ARCH_KGDB=y |
1767 | # CONFIG_KGDB is not set | 1812 | # CONFIG_KGDB is not set |
1768 | CONFIG_PRINT_STACK_DEPTH=64 | 1813 | CONFIG_PRINT_STACK_DEPTH=64 |
1769 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1814 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1770 | # CONFIG_DEBUG_STACK_USAGE is not set | 1815 | # CONFIG_DEBUG_STACK_USAGE is not set |
1771 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1772 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1816 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1773 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1817 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1774 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1818 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1790,6 +1834,7 @@ CONFIG_SECURITY_NETWORK=y | |||
1790 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1834 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1791 | # CONFIG_SECURITY_ROOTPLUG is not set | 1835 | # CONFIG_SECURITY_ROOTPLUG is not set |
1792 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1836 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 |
1837 | # CONFIG_SECURITY_TOMOYO is not set | ||
1793 | CONFIG_CRYPTO=y | 1838 | CONFIG_CRYPTO=y |
1794 | 1839 | ||
1795 | # | 1840 | # |
@@ -1805,10 +1850,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1805 | CONFIG_CRYPTO_HASH=y | 1850 | CONFIG_CRYPTO_HASH=y |
1806 | CONFIG_CRYPTO_HASH2=y | 1851 | CONFIG_CRYPTO_HASH2=y |
1807 | CONFIG_CRYPTO_RNG2=y | 1852 | CONFIG_CRYPTO_RNG2=y |
1853 | CONFIG_CRYPTO_PCOMP=y | ||
1808 | CONFIG_CRYPTO_MANAGER=y | 1854 | CONFIG_CRYPTO_MANAGER=y |
1809 | CONFIG_CRYPTO_MANAGER2=y | 1855 | CONFIG_CRYPTO_MANAGER2=y |
1810 | # CONFIG_CRYPTO_GF128MUL is not set | 1856 | # CONFIG_CRYPTO_GF128MUL is not set |
1811 | CONFIG_CRYPTO_NULL=m | 1857 | CONFIG_CRYPTO_NULL=m |
1858 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1812 | # CONFIG_CRYPTO_CRYPTD is not set | 1859 | # CONFIG_CRYPTO_CRYPTD is not set |
1813 | CONFIG_CRYPTO_AUTHENC=m | 1860 | CONFIG_CRYPTO_AUTHENC=m |
1814 | CONFIG_CRYPTO_TEST=m | 1861 | CONFIG_CRYPTO_TEST=m |
@@ -1878,6 +1925,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m | |||
1878 | # Compression | 1925 | # Compression |
1879 | # | 1926 | # |
1880 | CONFIG_CRYPTO_DEFLATE=m | 1927 | CONFIG_CRYPTO_DEFLATE=m |
1928 | # CONFIG_CRYPTO_ZLIB is not set | ||
1881 | # CONFIG_CRYPTO_LZO is not set | 1929 | # CONFIG_CRYPTO_LZO is not set |
1882 | 1930 | ||
1883 | # | 1931 | # |
diff --git a/arch/powerpc/configs/86xx/gef_sbc310_defconfig b/arch/powerpc/configs/86xx/gef_sbc310_defconfig index bd236b3d915a..a66910e63345 100644 --- a/arch/powerpc/configs/86xx/gef_sbc310_defconfig +++ b/arch/powerpc/configs/86xx/gef_sbc310_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc3 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Wed Jan 28 23:05:34 2009 | 4 | # Wed May 13 17:22:29 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_PHYS_64BIT is not set | 19 | # CONFIG_PHYS_64BIT is not set |
19 | CONFIG_ALTIVEC=y | 20 | CONFIG_ALTIVEC=y |
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
58 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -72,6 +74,7 @@ CONFIG_SWAP=y | |||
72 | CONFIG_SYSVIPC=y | 74 | CONFIG_SYSVIPC=y |
73 | CONFIG_SYSVIPC_SYSCTL=y | 75 | CONFIG_SYSVIPC_SYSCTL=y |
74 | CONFIG_POSIX_MQUEUE=y | 76 | CONFIG_POSIX_MQUEUE=y |
77 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
75 | CONFIG_BSD_PROCESS_ACCT=y | 78 | CONFIG_BSD_PROCESS_ACCT=y |
76 | CONFIG_BSD_PROCESS_ACCT_V3=y | 79 | CONFIG_BSD_PROCESS_ACCT_V3=y |
77 | # CONFIG_TASKSTATS is not set | 80 | # CONFIG_TASKSTATS is not set |
@@ -96,20 +99,23 @@ CONFIG_RELAY=y | |||
96 | # CONFIG_NAMESPACES is not set | 99 | # CONFIG_NAMESPACES is not set |
97 | CONFIG_BLK_DEV_INITRD=y | 100 | CONFIG_BLK_DEV_INITRD=y |
98 | CONFIG_INITRAMFS_SOURCE="" | 101 | CONFIG_INITRAMFS_SOURCE="" |
102 | CONFIG_RD_GZIP=y | ||
103 | # CONFIG_RD_BZIP2 is not set | ||
104 | # CONFIG_RD_LZMA is not set | ||
99 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 105 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
100 | CONFIG_SYSCTL=y | 106 | CONFIG_SYSCTL=y |
107 | CONFIG_ANON_INODES=y | ||
101 | CONFIG_EMBEDDED=y | 108 | CONFIG_EMBEDDED=y |
102 | CONFIG_SYSCTL_SYSCALL=y | 109 | CONFIG_SYSCTL_SYSCALL=y |
103 | CONFIG_KALLSYMS=y | 110 | CONFIG_KALLSYMS=y |
104 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 111 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
112 | # CONFIG_STRIP_ASM_SYMS is not set | ||
105 | CONFIG_HOTPLUG=y | 113 | CONFIG_HOTPLUG=y |
106 | CONFIG_PRINTK=y | 114 | CONFIG_PRINTK=y |
107 | CONFIG_BUG=y | 115 | CONFIG_BUG=y |
108 | CONFIG_ELF_CORE=y | 116 | CONFIG_ELF_CORE=y |
109 | CONFIG_COMPAT_BRK=y | ||
110 | CONFIG_BASE_FULL=y | 117 | CONFIG_BASE_FULL=y |
111 | CONFIG_FUTEX=y | 118 | CONFIG_FUTEX=y |
112 | CONFIG_ANON_INODES=y | ||
113 | CONFIG_EPOLL=y | 119 | CONFIG_EPOLL=y |
114 | CONFIG_SIGNALFD=y | 120 | CONFIG_SIGNALFD=y |
115 | CONFIG_TIMERFD=y | 121 | CONFIG_TIMERFD=y |
@@ -118,10 +124,12 @@ CONFIG_SHMEM=y | |||
118 | CONFIG_AIO=y | 124 | CONFIG_AIO=y |
119 | CONFIG_VM_EVENT_COUNTERS=y | 125 | CONFIG_VM_EVENT_COUNTERS=y |
120 | CONFIG_PCI_QUIRKS=y | 126 | CONFIG_PCI_QUIRKS=y |
127 | CONFIG_COMPAT_BRK=y | ||
121 | CONFIG_SLAB=y | 128 | CONFIG_SLAB=y |
122 | # CONFIG_SLUB is not set | 129 | # CONFIG_SLUB is not set |
123 | # CONFIG_SLOB is not set | 130 | # CONFIG_SLOB is not set |
124 | # CONFIG_PROFILING is not set | 131 | # CONFIG_PROFILING is not set |
132 | # CONFIG_MARKERS is not set | ||
125 | CONFIG_HAVE_OPROFILE=y | 133 | CONFIG_HAVE_OPROFILE=y |
126 | # CONFIG_KPROBES is not set | 134 | # CONFIG_KPROBES is not set |
127 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 135 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -130,6 +138,7 @@ CONFIG_HAVE_KPROBES=y | |||
130 | CONFIG_HAVE_KRETPROBES=y | 138 | CONFIG_HAVE_KRETPROBES=y |
131 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 139 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
132 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 140 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
141 | # CONFIG_SLOW_WORK is not set | ||
133 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 142 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
134 | CONFIG_SLABINFO=y | 143 | CONFIG_SLABINFO=y |
135 | CONFIG_RT_MUTEXES=y | 144 | CONFIG_RT_MUTEXES=y |
@@ -143,7 +152,6 @@ CONFIG_MODULE_UNLOAD=y | |||
143 | CONFIG_STOP_MACHINE=y | 152 | CONFIG_STOP_MACHINE=y |
144 | CONFIG_BLOCK=y | 153 | CONFIG_BLOCK=y |
145 | # CONFIG_LBD is not set | 154 | # CONFIG_LBD is not set |
146 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
147 | # CONFIG_BLK_DEV_BSG is not set | 155 | # CONFIG_BLK_DEV_BSG is not set |
148 | # CONFIG_BLK_DEV_INTEGRITY is not set | 156 | # CONFIG_BLK_DEV_INTEGRITY is not set |
149 | 157 | ||
@@ -165,8 +173,6 @@ CONFIG_PPC_MSI_BITMAP=y | |||
165 | # | 173 | # |
166 | # Platform support | 174 | # Platform support |
167 | # | 175 | # |
168 | CONFIG_PPC_MULTIPLATFORM=y | ||
169 | CONFIG_CLASSIC32=y | ||
170 | # CONFIG_PPC_CHRP is not set | 176 | # CONFIG_PPC_CHRP is not set |
171 | # CONFIG_MPC5121_ADS is not set | 177 | # CONFIG_MPC5121_ADS is not set |
172 | # CONFIG_MPC5121_GENERIC is not set | 178 | # CONFIG_MPC5121_GENERIC is not set |
@@ -181,9 +187,11 @@ CONFIG_PPC_86xx=y | |||
181 | # CONFIG_MPC8641_HPCN is not set | 187 | # CONFIG_MPC8641_HPCN is not set |
182 | # CONFIG_SBC8641D is not set | 188 | # CONFIG_SBC8641D is not set |
183 | # CONFIG_MPC8610_HPCD is not set | 189 | # CONFIG_MPC8610_HPCD is not set |
190 | # CONFIG_GEF_PPC9A is not set | ||
184 | CONFIG_GEF_SBC310=y | 191 | CONFIG_GEF_SBC310=y |
185 | # CONFIG_GEF_SBC610 is not set | 192 | # CONFIG_GEF_SBC610 is not set |
186 | CONFIG_MPC8641=y | 193 | CONFIG_MPC8641=y |
194 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
187 | # CONFIG_IPIC is not set | 195 | # CONFIG_IPIC is not set |
188 | CONFIG_MPIC=y | 196 | CONFIG_MPIC=y |
189 | # CONFIG_MPIC_WEIRD is not set | 197 | # CONFIG_MPIC_WEIRD is not set |
@@ -245,9 +253,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
245 | CONFIG_BOUNCE=y | 253 | CONFIG_BOUNCE=y |
246 | CONFIG_VIRT_TO_BUS=y | 254 | CONFIG_VIRT_TO_BUS=y |
247 | CONFIG_UNEVICTABLE_LRU=y | 255 | CONFIG_UNEVICTABLE_LRU=y |
256 | CONFIG_HAVE_MLOCK=y | ||
257 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
248 | CONFIG_PPC_4K_PAGES=y | 258 | CONFIG_PPC_4K_PAGES=y |
249 | # CONFIG_PPC_16K_PAGES is not set | 259 | # CONFIG_PPC_16K_PAGES is not set |
250 | # CONFIG_PPC_64K_PAGES is not set | 260 | # CONFIG_PPC_64K_PAGES is not set |
261 | # CONFIG_PPC_256K_PAGES is not set | ||
251 | CONFIG_FORCE_MAX_ZONEORDER=11 | 262 | CONFIG_FORCE_MAX_ZONEORDER=11 |
252 | # CONFIG_PROC_DEVICETREE is not set | 263 | # CONFIG_PROC_DEVICETREE is not set |
253 | # CONFIG_CMDLINE_BOOL is not set | 264 | # CONFIG_CMDLINE_BOOL is not set |
@@ -275,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
275 | CONFIG_PCI_MSI=y | 286 | CONFIG_PCI_MSI=y |
276 | # CONFIG_PCI_LEGACY is not set | 287 | # CONFIG_PCI_LEGACY is not set |
277 | # CONFIG_PCI_STUB is not set | 288 | # CONFIG_PCI_STUB is not set |
289 | # CONFIG_PCI_IOV is not set | ||
278 | # CONFIG_PCCARD is not set | 290 | # CONFIG_PCCARD is not set |
279 | # CONFIG_HOTPLUG_PCI is not set | 291 | # CONFIG_HOTPLUG_PCI is not set |
280 | # CONFIG_HAS_RAPIDIO is not set | 292 | # CONFIG_HAS_RAPIDIO is not set |
@@ -288,7 +300,6 @@ CONFIG_PCI_MSI=y | |||
288 | # Default settings for advanced configuration options are used | 300 | # Default settings for advanced configuration options are used |
289 | # | 301 | # |
290 | CONFIG_LOWMEM_SIZE=0x30000000 | 302 | CONFIG_LOWMEM_SIZE=0x30000000 |
291 | CONFIG_LOWMEM_CAM_NUM=3 | ||
292 | CONFIG_PAGE_OFFSET=0xc0000000 | 303 | CONFIG_PAGE_OFFSET=0xc0000000 |
293 | CONFIG_KERNEL_START=0xc0000000 | 304 | CONFIG_KERNEL_START=0xc0000000 |
294 | CONFIG_PHYSICAL_START=0x00000000 | 305 | CONFIG_PHYSICAL_START=0x00000000 |
@@ -298,7 +309,6 @@ CONFIG_NET=y | |||
298 | # | 309 | # |
299 | # Networking options | 310 | # Networking options |
300 | # | 311 | # |
301 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
302 | CONFIG_PACKET=y | 312 | CONFIG_PACKET=y |
303 | CONFIG_PACKET_MMAP=y | 313 | CONFIG_PACKET_MMAP=y |
304 | CONFIG_UNIX=y | 314 | CONFIG_UNIX=y |
@@ -382,6 +392,7 @@ CONFIG_IPV6_TUNNEL=m | |||
382 | # CONFIG_LAPB is not set | 392 | # CONFIG_LAPB is not set |
383 | # CONFIG_ECONET is not set | 393 | # CONFIG_ECONET is not set |
384 | # CONFIG_WAN_ROUTER is not set | 394 | # CONFIG_WAN_ROUTER is not set |
395 | # CONFIG_PHONET is not set | ||
385 | # CONFIG_NET_SCHED is not set | 396 | # CONFIG_NET_SCHED is not set |
386 | # CONFIG_DCB is not set | 397 | # CONFIG_DCB is not set |
387 | 398 | ||
@@ -394,7 +405,6 @@ CONFIG_NET_PKTGEN=m | |||
394 | # CONFIG_IRDA is not set | 405 | # CONFIG_IRDA is not set |
395 | # CONFIG_BT is not set | 406 | # CONFIG_BT is not set |
396 | # CONFIG_AF_RXRPC is not set | 407 | # CONFIG_AF_RXRPC is not set |
397 | # CONFIG_PHONET is not set | ||
398 | CONFIG_FIB_RULES=y | 408 | CONFIG_FIB_RULES=y |
399 | # CONFIG_WIRELESS is not set | 409 | # CONFIG_WIRELESS is not set |
400 | # CONFIG_WIMAX is not set | 410 | # CONFIG_WIMAX is not set |
@@ -493,7 +503,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
493 | # LPDDR flash memory drivers | 503 | # LPDDR flash memory drivers |
494 | # | 504 | # |
495 | # CONFIG_MTD_LPDDR is not set | 505 | # CONFIG_MTD_LPDDR is not set |
496 | # CONFIG_MTD_QINFO_PROBE is not set | ||
497 | 506 | ||
498 | # | 507 | # |
499 | # UBI - Unsorted block images | 508 | # UBI - Unsorted block images |
@@ -529,6 +538,7 @@ CONFIG_MISC_DEVICES=y | |||
529 | # CONFIG_ICS932S401 is not set | 538 | # CONFIG_ICS932S401 is not set |
530 | # CONFIG_ENCLOSURE_SERVICES is not set | 539 | # CONFIG_ENCLOSURE_SERVICES is not set |
531 | # CONFIG_HP_ILO is not set | 540 | # CONFIG_HP_ILO is not set |
541 | # CONFIG_ISL29003 is not set | ||
532 | # CONFIG_C2PORT is not set | 542 | # CONFIG_C2PORT is not set |
533 | 543 | ||
534 | # | 544 | # |
@@ -594,9 +604,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
594 | # CONFIG_MEGARAID_NEWGEN is not set | 604 | # CONFIG_MEGARAID_NEWGEN is not set |
595 | # CONFIG_MEGARAID_LEGACY is not set | 605 | # CONFIG_MEGARAID_LEGACY is not set |
596 | # CONFIG_MEGARAID_SAS is not set | 606 | # CONFIG_MEGARAID_SAS is not set |
607 | # CONFIG_SCSI_MPT2SAS is not set | ||
597 | # CONFIG_SCSI_HPTIOP is not set | 608 | # CONFIG_SCSI_HPTIOP is not set |
598 | # CONFIG_SCSI_BUSLOGIC is not set | 609 | # CONFIG_SCSI_BUSLOGIC is not set |
599 | # CONFIG_LIBFC is not set | 610 | # CONFIG_LIBFC is not set |
611 | # CONFIG_LIBFCOE is not set | ||
600 | # CONFIG_FCOE is not set | 612 | # CONFIG_FCOE is not set |
601 | # CONFIG_SCSI_DMX3191D is not set | 613 | # CONFIG_SCSI_DMX3191D is not set |
602 | # CONFIG_SCSI_EATA is not set | 614 | # CONFIG_SCSI_EATA is not set |
@@ -619,6 +631,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
619 | # CONFIG_SCSI_DEBUG is not set | 631 | # CONFIG_SCSI_DEBUG is not set |
620 | # CONFIG_SCSI_SRP is not set | 632 | # CONFIG_SCSI_SRP is not set |
621 | # CONFIG_SCSI_DH is not set | 633 | # CONFIG_SCSI_DH is not set |
634 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
622 | CONFIG_ATA=y | 635 | CONFIG_ATA=y |
623 | # CONFIG_ATA_NONSTANDARD is not set | 636 | # CONFIG_ATA_NONSTANDARD is not set |
624 | CONFIG_SATA_PMP=y | 637 | CONFIG_SATA_PMP=y |
@@ -641,6 +654,7 @@ CONFIG_SATA_SIL24=y | |||
641 | # CONFIG_I2O is not set | 654 | # CONFIG_I2O is not set |
642 | # CONFIG_MACINTOSH_DRIVERS is not set | 655 | # CONFIG_MACINTOSH_DRIVERS is not set |
643 | CONFIG_NETDEVICES=y | 656 | CONFIG_NETDEVICES=y |
657 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
644 | CONFIG_DUMMY=m | 658 | CONFIG_DUMMY=m |
645 | CONFIG_BONDING=m | 659 | CONFIG_BONDING=m |
646 | # CONFIG_MACVLAN is not set | 660 | # CONFIG_MACVLAN is not set |
@@ -674,6 +688,8 @@ CONFIG_MII=y | |||
674 | # CONFIG_SUNGEM is not set | 688 | # CONFIG_SUNGEM is not set |
675 | # CONFIG_CASSINI is not set | 689 | # CONFIG_CASSINI is not set |
676 | # CONFIG_NET_VENDOR_3COM is not set | 690 | # CONFIG_NET_VENDOR_3COM is not set |
691 | # CONFIG_ETHOC is not set | ||
692 | # CONFIG_DNET is not set | ||
677 | # CONFIG_NET_TULIP is not set | 693 | # CONFIG_NET_TULIP is not set |
678 | # CONFIG_HP100 is not set | 694 | # CONFIG_HP100 is not set |
679 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 695 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -693,6 +709,7 @@ CONFIG_NETDEV_1000=y | |||
693 | # CONFIG_E1000E is not set | 709 | # CONFIG_E1000E is not set |
694 | # CONFIG_IP1000 is not set | 710 | # CONFIG_IP1000 is not set |
695 | # CONFIG_IGB is not set | 711 | # CONFIG_IGB is not set |
712 | # CONFIG_IGBVF is not set | ||
696 | # CONFIG_NS83820 is not set | 713 | # CONFIG_NS83820 is not set |
697 | # CONFIG_HAMACHI is not set | 714 | # CONFIG_HAMACHI is not set |
698 | # CONFIG_YELLOWFIN is not set | 715 | # CONFIG_YELLOWFIN is not set |
@@ -703,11 +720,12 @@ CONFIG_NETDEV_1000=y | |||
703 | # CONFIG_VIA_VELOCITY is not set | 720 | # CONFIG_VIA_VELOCITY is not set |
704 | # CONFIG_TIGON3 is not set | 721 | # CONFIG_TIGON3 is not set |
705 | # CONFIG_BNX2 is not set | 722 | # CONFIG_BNX2 is not set |
723 | CONFIG_FSL_PQ_MDIO=y | ||
706 | CONFIG_GIANFAR=y | 724 | CONFIG_GIANFAR=y |
707 | # CONFIG_MV643XX_ETH is not set | ||
708 | # CONFIG_QLA3XXX is not set | 725 | # CONFIG_QLA3XXX is not set |
709 | # CONFIG_ATL1 is not set | 726 | # CONFIG_ATL1 is not set |
710 | # CONFIG_ATL1E is not set | 727 | # CONFIG_ATL1E is not set |
728 | # CONFIG_ATL1C is not set | ||
711 | # CONFIG_JME is not set | 729 | # CONFIG_JME is not set |
712 | # CONFIG_NETDEV_10000 is not set | 730 | # CONFIG_NETDEV_10000 is not set |
713 | # CONFIG_TR is not set | 731 | # CONFIG_TR is not set |
@@ -717,7 +735,6 @@ CONFIG_GIANFAR=y | |||
717 | # | 735 | # |
718 | # CONFIG_WLAN_PRE80211 is not set | 736 | # CONFIG_WLAN_PRE80211 is not set |
719 | # CONFIG_WLAN_80211 is not set | 737 | # CONFIG_WLAN_80211 is not set |
720 | # CONFIG_IWLWIFI_LEDS is not set | ||
721 | 738 | ||
722 | # | 739 | # |
723 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 740 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -828,6 +845,7 @@ CONFIG_UNIX98_PTYS=y | |||
828 | # CONFIG_HVC_UDBG is not set | 845 | # CONFIG_HVC_UDBG is not set |
829 | # CONFIG_IPMI_HANDLER is not set | 846 | # CONFIG_IPMI_HANDLER is not set |
830 | CONFIG_HW_RANDOM=y | 847 | CONFIG_HW_RANDOM=y |
848 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
831 | CONFIG_NVRAM=y | 849 | CONFIG_NVRAM=y |
832 | # CONFIG_R3964 is not set | 850 | # CONFIG_R3964 is not set |
833 | # CONFIG_APPLICOM is not set | 851 | # CONFIG_APPLICOM is not set |
@@ -894,7 +912,6 @@ CONFIG_DS1682=y | |||
894 | # CONFIG_SENSORS_PCF8574 is not set | 912 | # CONFIG_SENSORS_PCF8574 is not set |
895 | # CONFIG_PCF8575 is not set | 913 | # CONFIG_PCF8575 is not set |
896 | # CONFIG_SENSORS_PCA9539 is not set | 914 | # CONFIG_SENSORS_PCA9539 is not set |
897 | # CONFIG_SENSORS_PCF8591 is not set | ||
898 | # CONFIG_SENSORS_MAX6875 is not set | 915 | # CONFIG_SENSORS_MAX6875 is not set |
899 | # CONFIG_SENSORS_TSL2550 is not set | 916 | # CONFIG_SENSORS_TSL2550 is not set |
900 | # CONFIG_I2C_DEBUG_CORE is not set | 917 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -949,6 +966,7 @@ CONFIG_HWMON=y | |||
949 | # CONFIG_SENSORS_F71805F is not set | 966 | # CONFIG_SENSORS_F71805F is not set |
950 | # CONFIG_SENSORS_F71882FG is not set | 967 | # CONFIG_SENSORS_F71882FG is not set |
951 | # CONFIG_SENSORS_F75375S is not set | 968 | # CONFIG_SENSORS_F75375S is not set |
969 | # CONFIG_SENSORS_G760A is not set | ||
952 | # CONFIG_SENSORS_GL518SM is not set | 970 | # CONFIG_SENSORS_GL518SM is not set |
953 | # CONFIG_SENSORS_GL520SM is not set | 971 | # CONFIG_SENSORS_GL520SM is not set |
954 | # CONFIG_SENSORS_IT87 is not set | 972 | # CONFIG_SENSORS_IT87 is not set |
@@ -963,11 +981,15 @@ CONFIG_HWMON=y | |||
963 | CONFIG_SENSORS_LM90=y | 981 | CONFIG_SENSORS_LM90=y |
964 | CONFIG_SENSORS_LM92=y | 982 | CONFIG_SENSORS_LM92=y |
965 | # CONFIG_SENSORS_LM93 is not set | 983 | # CONFIG_SENSORS_LM93 is not set |
984 | # CONFIG_SENSORS_LTC4215 is not set | ||
966 | # CONFIG_SENSORS_LTC4245 is not set | 985 | # CONFIG_SENSORS_LTC4245 is not set |
986 | # CONFIG_SENSORS_LM95241 is not set | ||
967 | # CONFIG_SENSORS_MAX1619 is not set | 987 | # CONFIG_SENSORS_MAX1619 is not set |
968 | # CONFIG_SENSORS_MAX6650 is not set | 988 | # CONFIG_SENSORS_MAX6650 is not set |
969 | # CONFIG_SENSORS_PC87360 is not set | 989 | # CONFIG_SENSORS_PC87360 is not set |
970 | # CONFIG_SENSORS_PC87427 is not set | 990 | # CONFIG_SENSORS_PC87427 is not set |
991 | # CONFIG_SENSORS_PCF8591 is not set | ||
992 | # CONFIG_SENSORS_SHT15 is not set | ||
971 | # CONFIG_SENSORS_SIS5595 is not set | 993 | # CONFIG_SENSORS_SIS5595 is not set |
972 | # CONFIG_SENSORS_DME1737 is not set | 994 | # CONFIG_SENSORS_DME1737 is not set |
973 | # CONFIG_SENSORS_SMSC47M1 is not set | 995 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1086,15 +1108,17 @@ CONFIG_USB_HID=y | |||
1086 | # | 1108 | # |
1087 | # Special HID drivers | 1109 | # Special HID drivers |
1088 | # | 1110 | # |
1089 | CONFIG_HID_COMPAT=y | ||
1090 | CONFIG_HID_A4TECH=y | 1111 | CONFIG_HID_A4TECH=y |
1091 | CONFIG_HID_APPLE=y | 1112 | CONFIG_HID_APPLE=y |
1092 | CONFIG_HID_BELKIN=y | 1113 | CONFIG_HID_BELKIN=y |
1093 | CONFIG_HID_CHERRY=y | 1114 | CONFIG_HID_CHERRY=y |
1094 | CONFIG_HID_CHICONY=y | 1115 | CONFIG_HID_CHICONY=y |
1095 | CONFIG_HID_CYPRESS=y | 1116 | CONFIG_HID_CYPRESS=y |
1117 | # CONFIG_DRAGONRISE_FF is not set | ||
1096 | CONFIG_HID_EZKEY=y | 1118 | CONFIG_HID_EZKEY=y |
1119 | # CONFIG_HID_KYE is not set | ||
1097 | CONFIG_HID_GYRATION=y | 1120 | CONFIG_HID_GYRATION=y |
1121 | # CONFIG_HID_KENSINGTON is not set | ||
1098 | CONFIG_HID_LOGITECH=y | 1122 | CONFIG_HID_LOGITECH=y |
1099 | # CONFIG_LOGITECH_FF is not set | 1123 | # CONFIG_LOGITECH_FF is not set |
1100 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1124 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1164,11 +1188,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1164 | # CONFIG_USB_TMC is not set | 1188 | # CONFIG_USB_TMC is not set |
1165 | 1189 | ||
1166 | # | 1190 | # |
1167 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1191 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1168 | # | 1192 | # |
1169 | 1193 | ||
1170 | # | 1194 | # |
1171 | # see USB_STORAGE Help for more information | 1195 | # also be needed; see USB_STORAGE Help for more info |
1172 | # | 1196 | # |
1173 | CONFIG_USB_STORAGE=y | 1197 | CONFIG_USB_STORAGE=y |
1174 | # CONFIG_USB_STORAGE_DEBUG is not set | 1198 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1210,7 +1234,6 @@ CONFIG_USB_STORAGE=y | |||
1210 | # CONFIG_USB_LED is not set | 1234 | # CONFIG_USB_LED is not set |
1211 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1235 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1212 | # CONFIG_USB_CYTHERM is not set | 1236 | # CONFIG_USB_CYTHERM is not set |
1213 | # CONFIG_USB_PHIDGET is not set | ||
1214 | # CONFIG_USB_IDMOUSE is not set | 1237 | # CONFIG_USB_IDMOUSE is not set |
1215 | # CONFIG_USB_FTDI_ELAN is not set | 1238 | # CONFIG_USB_FTDI_ELAN is not set |
1216 | # CONFIG_USB_APPLEDISPLAY is not set | 1239 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1226,6 +1249,7 @@ CONFIG_USB_STORAGE=y | |||
1226 | # OTG and related infrastructure | 1249 | # OTG and related infrastructure |
1227 | # | 1250 | # |
1228 | # CONFIG_USB_GPIO_VBUS is not set | 1251 | # CONFIG_USB_GPIO_VBUS is not set |
1252 | # CONFIG_NOP_USB_XCEIV is not set | ||
1229 | # CONFIG_UWB is not set | 1253 | # CONFIG_UWB is not set |
1230 | # CONFIG_MMC is not set | 1254 | # CONFIG_MMC is not set |
1231 | # CONFIG_MEMSTICK is not set | 1255 | # CONFIG_MEMSTICK is not set |
@@ -1287,8 +1311,9 @@ CONFIG_RTC_DRV_RX8581=y | |||
1287 | # | 1311 | # |
1288 | # on-CPU RTC drivers | 1312 | # on-CPU RTC drivers |
1289 | # | 1313 | # |
1290 | # CONFIG_RTC_DRV_PPC is not set | 1314 | # CONFIG_RTC_DRV_GENERIC is not set |
1291 | # CONFIG_DMADEVICES is not set | 1315 | # CONFIG_DMADEVICES is not set |
1316 | # CONFIG_AUXDISPLAY is not set | ||
1292 | # CONFIG_UIO is not set | 1317 | # CONFIG_UIO is not set |
1293 | # CONFIG_STAGING is not set | 1318 | # CONFIG_STAGING is not set |
1294 | 1319 | ||
@@ -1301,6 +1326,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y | |||
1301 | # CONFIG_EXT2_FS_SECURITY is not set | 1326 | # CONFIG_EXT2_FS_SECURITY is not set |
1302 | # CONFIG_EXT2_FS_XIP is not set | 1327 | # CONFIG_EXT2_FS_XIP is not set |
1303 | CONFIG_EXT3_FS=y | 1328 | CONFIG_EXT3_FS=y |
1329 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1304 | CONFIG_EXT3_FS_XATTR=y | 1330 | CONFIG_EXT3_FS_XATTR=y |
1305 | CONFIG_EXT3_FS_POSIX_ACL=y | 1331 | CONFIG_EXT3_FS_POSIX_ACL=y |
1306 | # CONFIG_EXT3_FS_SECURITY is not set | 1332 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1323,6 +1349,11 @@ CONFIG_INOTIFY_USER=y | |||
1323 | # CONFIG_FUSE_FS is not set | 1349 | # CONFIG_FUSE_FS is not set |
1324 | 1350 | ||
1325 | # | 1351 | # |
1352 | # Caches | ||
1353 | # | ||
1354 | # CONFIG_FSCACHE is not set | ||
1355 | |||
1356 | # | ||
1326 | # CD-ROM/DVD Filesystems | 1357 | # CD-ROM/DVD Filesystems |
1327 | # | 1358 | # |
1328 | CONFIG_ISO9660_FS=y | 1359 | CONFIG_ISO9660_FS=y |
@@ -1382,6 +1413,7 @@ CONFIG_JFFS2_RTIME=y | |||
1382 | # CONFIG_ROMFS_FS is not set | 1413 | # CONFIG_ROMFS_FS is not set |
1383 | # CONFIG_SYSV_FS is not set | 1414 | # CONFIG_SYSV_FS is not set |
1384 | # CONFIG_UFS_FS is not set | 1415 | # CONFIG_UFS_FS is not set |
1416 | # CONFIG_NILFS2_FS is not set | ||
1385 | CONFIG_NETWORK_FILESYSTEMS=y | 1417 | CONFIG_NETWORK_FILESYSTEMS=y |
1386 | CONFIG_NFS_FS=y | 1418 | CONFIG_NFS_FS=y |
1387 | CONFIG_NFS_V3=y | 1419 | CONFIG_NFS_V3=y |
@@ -1394,7 +1426,6 @@ CONFIG_LOCKD_V4=y | |||
1394 | CONFIG_NFS_COMMON=y | 1426 | CONFIG_NFS_COMMON=y |
1395 | CONFIG_SUNRPC=y | 1427 | CONFIG_SUNRPC=y |
1396 | CONFIG_SUNRPC_GSS=y | 1428 | CONFIG_SUNRPC_GSS=y |
1397 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1398 | CONFIG_RPCSEC_GSS_KRB5=y | 1429 | CONFIG_RPCSEC_GSS_KRB5=y |
1399 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1430 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1400 | # CONFIG_SMB_FS is not set | 1431 | # CONFIG_SMB_FS is not set |
@@ -1455,6 +1486,7 @@ CONFIG_NLS_KOI8_R=m | |||
1455 | CONFIG_NLS_KOI8_U=m | 1486 | CONFIG_NLS_KOI8_U=m |
1456 | CONFIG_NLS_UTF8=m | 1487 | CONFIG_NLS_UTF8=m |
1457 | # CONFIG_DLM is not set | 1488 | # CONFIG_DLM is not set |
1489 | # CONFIG_BINARY_PRINTF is not set | ||
1458 | 1490 | ||
1459 | # | 1491 | # |
1460 | # Library routines | 1492 | # Library routines |
@@ -1470,11 +1502,12 @@ CONFIG_CRC32=y | |||
1470 | CONFIG_LIBCRC32C=y | 1502 | CONFIG_LIBCRC32C=y |
1471 | CONFIG_ZLIB_INFLATE=y | 1503 | CONFIG_ZLIB_INFLATE=y |
1472 | CONFIG_ZLIB_DEFLATE=y | 1504 | CONFIG_ZLIB_DEFLATE=y |
1473 | CONFIG_PLIST=y | 1505 | CONFIG_DECOMPRESS_GZIP=y |
1474 | CONFIG_HAS_IOMEM=y | 1506 | CONFIG_HAS_IOMEM=y |
1475 | CONFIG_HAS_IOPORT=y | 1507 | CONFIG_HAS_IOPORT=y |
1476 | CONFIG_HAS_DMA=y | 1508 | CONFIG_HAS_DMA=y |
1477 | CONFIG_HAVE_LMB=y | 1509 | CONFIG_HAVE_LMB=y |
1510 | CONFIG_NLATTR=y | ||
1478 | 1511 | ||
1479 | # | 1512 | # |
1480 | # Kernel hacking | 1513 | # Kernel hacking |
@@ -1494,13 +1527,25 @@ CONFIG_MAGIC_SYSRQ=y | |||
1494 | # CONFIG_LATENCYTOP is not set | 1527 | # CONFIG_LATENCYTOP is not set |
1495 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1528 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1496 | CONFIG_HAVE_FUNCTION_TRACER=y | 1529 | CONFIG_HAVE_FUNCTION_TRACER=y |
1530 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1497 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1531 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1498 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1532 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1533 | CONFIG_TRACING_SUPPORT=y | ||
1499 | 1534 | ||
1500 | # | 1535 | # |
1501 | # Tracers | 1536 | # Tracers |
1502 | # | 1537 | # |
1503 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1538 | # CONFIG_FUNCTION_TRACER is not set |
1539 | # CONFIG_PREEMPT_TRACER is not set | ||
1540 | # CONFIG_SCHED_TRACER is not set | ||
1541 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1542 | # CONFIG_EVENT_TRACER is not set | ||
1543 | # CONFIG_BOOT_TRACER is not set | ||
1544 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1545 | # CONFIG_STACK_TRACER is not set | ||
1546 | # CONFIG_KMEMTRACE is not set | ||
1547 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1548 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1504 | # CONFIG_SAMPLES is not set | 1549 | # CONFIG_SAMPLES is not set |
1505 | CONFIG_HAVE_ARCH_KGDB=y | 1550 | CONFIG_HAVE_ARCH_KGDB=y |
1506 | CONFIG_PRINT_STACK_DEPTH=64 | 1551 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1530,10 +1575,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1530 | CONFIG_CRYPTO_HASH=y | 1575 | CONFIG_CRYPTO_HASH=y |
1531 | CONFIG_CRYPTO_HASH2=y | 1576 | CONFIG_CRYPTO_HASH2=y |
1532 | CONFIG_CRYPTO_RNG2=y | 1577 | CONFIG_CRYPTO_RNG2=y |
1578 | CONFIG_CRYPTO_PCOMP=y | ||
1533 | CONFIG_CRYPTO_MANAGER=y | 1579 | CONFIG_CRYPTO_MANAGER=y |
1534 | CONFIG_CRYPTO_MANAGER2=y | 1580 | CONFIG_CRYPTO_MANAGER2=y |
1535 | # CONFIG_CRYPTO_GF128MUL is not set | 1581 | # CONFIG_CRYPTO_GF128MUL is not set |
1536 | # CONFIG_CRYPTO_NULL is not set | 1582 | # CONFIG_CRYPTO_NULL is not set |
1583 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1537 | # CONFIG_CRYPTO_CRYPTD is not set | 1584 | # CONFIG_CRYPTO_CRYPTD is not set |
1538 | CONFIG_CRYPTO_AUTHENC=m | 1585 | CONFIG_CRYPTO_AUTHENC=m |
1539 | # CONFIG_CRYPTO_TEST is not set | 1586 | # CONFIG_CRYPTO_TEST is not set |
@@ -1602,6 +1649,7 @@ CONFIG_CRYPTO_DES=y | |||
1602 | # Compression | 1649 | # Compression |
1603 | # | 1650 | # |
1604 | CONFIG_CRYPTO_DEFLATE=m | 1651 | CONFIG_CRYPTO_DEFLATE=m |
1652 | # CONFIG_CRYPTO_ZLIB is not set | ||
1605 | # CONFIG_CRYPTO_LZO is not set | 1653 | # CONFIG_CRYPTO_LZO is not set |
1606 | 1654 | ||
1607 | # | 1655 | # |
diff --git a/arch/powerpc/configs/86xx/gef_sbc610_defconfig b/arch/powerpc/configs/86xx/gef_sbc610_defconfig index 1ab5abae00a2..c6a7fc82b69a 100644 --- a/arch/powerpc/configs/86xx/gef_sbc610_defconfig +++ b/arch/powerpc/configs/86xx/gef_sbc610_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:26 2009 | 4 | # Wed May 13 17:22:30 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_PHYS_64BIT is not set | 19 | # CONFIG_PHYS_64BIT is not set |
19 | CONFIG_ALTIVEC=y | 20 | CONFIG_ALTIVEC=y |
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y | |||
58 | CONFIG_DEFAULT_UIMAGE=y | 59 | CONFIG_DEFAULT_UIMAGE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -72,10 +74,20 @@ CONFIG_SWAP=y | |||
72 | CONFIG_SYSVIPC=y | 74 | CONFIG_SYSVIPC=y |
73 | CONFIG_SYSVIPC_SYSCTL=y | 75 | CONFIG_SYSVIPC_SYSCTL=y |
74 | CONFIG_POSIX_MQUEUE=y | 76 | CONFIG_POSIX_MQUEUE=y |
77 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
75 | CONFIG_BSD_PROCESS_ACCT=y | 78 | CONFIG_BSD_PROCESS_ACCT=y |
76 | CONFIG_BSD_PROCESS_ACCT_V3=y | 79 | CONFIG_BSD_PROCESS_ACCT_V3=y |
77 | # CONFIG_TASKSTATS is not set | 80 | # CONFIG_TASKSTATS is not set |
78 | # CONFIG_AUDIT is not set | 81 | # CONFIG_AUDIT is not set |
82 | |||
83 | # | ||
84 | # RCU Subsystem | ||
85 | # | ||
86 | CONFIG_CLASSIC_RCU=y | ||
87 | # CONFIG_TREE_RCU is not set | ||
88 | # CONFIG_PREEMPT_RCU is not set | ||
89 | # CONFIG_TREE_RCU_TRACE is not set | ||
90 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | CONFIG_IKCONFIG=y | 91 | CONFIG_IKCONFIG=y |
80 | CONFIG_IKCONFIG_PROC=y | 92 | CONFIG_IKCONFIG_PROC=y |
81 | CONFIG_LOG_BUF_SHIFT=14 | 93 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -91,21 +103,24 @@ CONFIG_RELAY=y | |||
91 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
92 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
93 | CONFIG_INITRAMFS_SOURCE="" | 105 | CONFIG_INITRAMFS_SOURCE="" |
106 | CONFIG_RD_GZIP=y | ||
107 | # CONFIG_RD_BZIP2 is not set | ||
108 | # CONFIG_RD_LZMA is not set | ||
94 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
95 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
111 | CONFIG_ANON_INODES=y | ||
96 | CONFIG_EMBEDDED=y | 112 | CONFIG_EMBEDDED=y |
97 | CONFIG_SYSCTL_SYSCALL=y | 113 | CONFIG_SYSCTL_SYSCALL=y |
98 | CONFIG_KALLSYMS=y | 114 | CONFIG_KALLSYMS=y |
99 | # CONFIG_KALLSYMS_ALL is not set | 115 | # CONFIG_KALLSYMS_ALL is not set |
100 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 116 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
117 | # CONFIG_STRIP_ASM_SYMS is not set | ||
101 | CONFIG_HOTPLUG=y | 118 | CONFIG_HOTPLUG=y |
102 | CONFIG_PRINTK=y | 119 | CONFIG_PRINTK=y |
103 | CONFIG_BUG=y | 120 | CONFIG_BUG=y |
104 | CONFIG_ELF_CORE=y | 121 | CONFIG_ELF_CORE=y |
105 | CONFIG_COMPAT_BRK=y | ||
106 | CONFIG_BASE_FULL=y | 122 | CONFIG_BASE_FULL=y |
107 | CONFIG_FUTEX=y | 123 | CONFIG_FUTEX=y |
108 | CONFIG_ANON_INODES=y | ||
109 | CONFIG_EPOLL=y | 124 | CONFIG_EPOLL=y |
110 | CONFIG_SIGNALFD=y | 125 | CONFIG_SIGNALFD=y |
111 | CONFIG_TIMERFD=y | 126 | CONFIG_TIMERFD=y |
@@ -114,10 +129,12 @@ CONFIG_SHMEM=y | |||
114 | CONFIG_AIO=y | 129 | CONFIG_AIO=y |
115 | CONFIG_VM_EVENT_COUNTERS=y | 130 | CONFIG_VM_EVENT_COUNTERS=y |
116 | CONFIG_PCI_QUIRKS=y | 131 | CONFIG_PCI_QUIRKS=y |
132 | CONFIG_COMPAT_BRK=y | ||
117 | CONFIG_SLAB=y | 133 | CONFIG_SLAB=y |
118 | # CONFIG_SLUB is not set | 134 | # CONFIG_SLUB is not set |
119 | # CONFIG_SLOB is not set | 135 | # CONFIG_SLOB is not set |
120 | # CONFIG_PROFILING is not set | 136 | # CONFIG_PROFILING is not set |
137 | # CONFIG_MARKERS is not set | ||
121 | CONFIG_HAVE_OPROFILE=y | 138 | CONFIG_HAVE_OPROFILE=y |
122 | # CONFIG_KPROBES is not set | 139 | # CONFIG_KPROBES is not set |
123 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 140 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -126,6 +143,7 @@ CONFIG_HAVE_KPROBES=y | |||
126 | CONFIG_HAVE_KRETPROBES=y | 143 | CONFIG_HAVE_KRETPROBES=y |
127 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 144 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
128 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 145 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
146 | # CONFIG_SLOW_WORK is not set | ||
129 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 147 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
130 | CONFIG_SLABINFO=y | 148 | CONFIG_SLABINFO=y |
131 | CONFIG_RT_MUTEXES=y | 149 | CONFIG_RT_MUTEXES=y |
@@ -139,7 +157,6 @@ CONFIG_MODULE_UNLOAD=y | |||
139 | CONFIG_STOP_MACHINE=y | 157 | CONFIG_STOP_MACHINE=y |
140 | CONFIG_BLOCK=y | 158 | CONFIG_BLOCK=y |
141 | # CONFIG_LBD is not set | 159 | # CONFIG_LBD is not set |
142 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
143 | # CONFIG_BLK_DEV_BSG is not set | 160 | # CONFIG_BLK_DEV_BSG is not set |
144 | # CONFIG_BLK_DEV_INTEGRITY is not set | 161 | # CONFIG_BLK_DEV_INTEGRITY is not set |
145 | 162 | ||
@@ -155,18 +172,11 @@ CONFIG_IOSCHED_CFQ=y | |||
155 | CONFIG_DEFAULT_CFQ=y | 172 | CONFIG_DEFAULT_CFQ=y |
156 | # CONFIG_DEFAULT_NOOP is not set | 173 | # CONFIG_DEFAULT_NOOP is not set |
157 | CONFIG_DEFAULT_IOSCHED="cfq" | 174 | CONFIG_DEFAULT_IOSCHED="cfq" |
158 | CONFIG_CLASSIC_RCU=y | ||
159 | # CONFIG_TREE_RCU is not set | ||
160 | # CONFIG_PREEMPT_RCU is not set | ||
161 | # CONFIG_TREE_RCU_TRACE is not set | ||
162 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
163 | # CONFIG_FREEZER is not set | 175 | # CONFIG_FREEZER is not set |
164 | 176 | ||
165 | # | 177 | # |
166 | # Platform support | 178 | # Platform support |
167 | # | 179 | # |
168 | CONFIG_PPC_MULTIPLATFORM=y | ||
169 | CONFIG_CLASSIC32=y | ||
170 | # CONFIG_PPC_CHRP is not set | 180 | # CONFIG_PPC_CHRP is not set |
171 | # CONFIG_MPC5121_ADS is not set | 181 | # CONFIG_MPC5121_ADS is not set |
172 | # CONFIG_MPC5121_GENERIC is not set | 182 | # CONFIG_MPC5121_GENERIC is not set |
@@ -181,8 +191,11 @@ CONFIG_PPC_86xx=y | |||
181 | # CONFIG_MPC8641_HPCN is not set | 191 | # CONFIG_MPC8641_HPCN is not set |
182 | # CONFIG_SBC8641D is not set | 192 | # CONFIG_SBC8641D is not set |
183 | # CONFIG_MPC8610_HPCD is not set | 193 | # CONFIG_MPC8610_HPCD is not set |
194 | # CONFIG_GEF_PPC9A is not set | ||
195 | # CONFIG_GEF_SBC310 is not set | ||
184 | CONFIG_GEF_SBC610=y | 196 | CONFIG_GEF_SBC610=y |
185 | CONFIG_MPC8641=y | 197 | CONFIG_MPC8641=y |
198 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
186 | # CONFIG_IPIC is not set | 199 | # CONFIG_IPIC is not set |
187 | CONFIG_MPIC=y | 200 | CONFIG_MPIC=y |
188 | # CONFIG_MPIC_WEIRD is not set | 201 | # CONFIG_MPIC_WEIRD is not set |
@@ -244,9 +257,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
244 | CONFIG_BOUNCE=y | 257 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 258 | CONFIG_VIRT_TO_BUS=y |
246 | CONFIG_UNEVICTABLE_LRU=y | 259 | CONFIG_UNEVICTABLE_LRU=y |
260 | CONFIG_HAVE_MLOCK=y | ||
261 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
247 | CONFIG_PPC_4K_PAGES=y | 262 | CONFIG_PPC_4K_PAGES=y |
248 | # CONFIG_PPC_16K_PAGES is not set | 263 | # CONFIG_PPC_16K_PAGES is not set |
249 | # CONFIG_PPC_64K_PAGES is not set | 264 | # CONFIG_PPC_64K_PAGES is not set |
265 | # CONFIG_PPC_256K_PAGES is not set | ||
250 | CONFIG_FORCE_MAX_ZONEORDER=11 | 266 | CONFIG_FORCE_MAX_ZONEORDER=11 |
251 | # CONFIG_PROC_DEVICETREE is not set | 267 | # CONFIG_PROC_DEVICETREE is not set |
252 | # CONFIG_CMDLINE_BOOL is not set | 268 | # CONFIG_CMDLINE_BOOL is not set |
@@ -275,6 +291,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
275 | # CONFIG_PCI_LEGACY is not set | 291 | # CONFIG_PCI_LEGACY is not set |
276 | CONFIG_PCI_DEBUG=y | 292 | CONFIG_PCI_DEBUG=y |
277 | # CONFIG_PCI_STUB is not set | 293 | # CONFIG_PCI_STUB is not set |
294 | # CONFIG_PCI_IOV is not set | ||
278 | # CONFIG_PCCARD is not set | 295 | # CONFIG_PCCARD is not set |
279 | # CONFIG_HOTPLUG_PCI is not set | 296 | # CONFIG_HOTPLUG_PCI is not set |
280 | CONFIG_HAS_RAPIDIO=y | 297 | CONFIG_HAS_RAPIDIO=y |
@@ -298,7 +315,6 @@ CONFIG_NET=y | |||
298 | # | 315 | # |
299 | # Networking options | 316 | # Networking options |
300 | # | 317 | # |
301 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
302 | CONFIG_PACKET=y | 318 | CONFIG_PACKET=y |
303 | CONFIG_PACKET_MMAP=y | 319 | CONFIG_PACKET_MMAP=y |
304 | CONFIG_UNIX=y | 320 | CONFIG_UNIX=y |
@@ -378,9 +394,11 @@ CONFIG_BRIDGE_NETFILTER=y | |||
378 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set | 394 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set |
379 | # CONFIG_NETFILTER_NETLINK_LOG is not set | 395 | # CONFIG_NETFILTER_NETLINK_LOG is not set |
380 | # CONFIG_NF_CONNTRACK is not set | 396 | # CONFIG_NF_CONNTRACK is not set |
397 | # CONFIG_NETFILTER_TPROXY is not set | ||
381 | CONFIG_NETFILTER_XTABLES=m | 398 | CONFIG_NETFILTER_XTABLES=m |
382 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | 399 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set |
383 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | 400 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set |
401 | # CONFIG_NETFILTER_XT_TARGET_HL is not set | ||
384 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | 402 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set |
385 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set | 403 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set |
386 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set | 404 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set |
@@ -393,6 +411,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
393 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set | 411 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set |
394 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | 412 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set |
395 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | 413 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set |
414 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
396 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | 415 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set |
397 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | 416 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set |
398 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | 417 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set |
@@ -451,11 +470,11 @@ CONFIG_IP6_NF_MATCH_HL=m | |||
451 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 470 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
452 | # CONFIG_IP6_NF_MATCH_MH is not set | 471 | # CONFIG_IP6_NF_MATCH_MH is not set |
453 | CONFIG_IP6_NF_MATCH_RT=m | 472 | CONFIG_IP6_NF_MATCH_RT=m |
473 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
454 | CONFIG_IP6_NF_TARGET_LOG=m | 474 | CONFIG_IP6_NF_TARGET_LOG=m |
455 | CONFIG_IP6_NF_FILTER=m | 475 | CONFIG_IP6_NF_FILTER=m |
456 | # CONFIG_IP6_NF_TARGET_REJECT is not set | 476 | # CONFIG_IP6_NF_TARGET_REJECT is not set |
457 | CONFIG_IP6_NF_MANGLE=m | 477 | CONFIG_IP6_NF_MANGLE=m |
458 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
459 | CONFIG_IP6_NF_RAW=m | 478 | CONFIG_IP6_NF_RAW=m |
460 | # CONFIG_IP6_NF_SECURITY is not set | 479 | # CONFIG_IP6_NF_SECURITY is not set |
461 | # CONFIG_BRIDGE_NF_EBTABLES is not set | 480 | # CONFIG_BRIDGE_NF_EBTABLES is not set |
@@ -490,6 +509,7 @@ CONFIG_LLC=m | |||
490 | # CONFIG_LAPB is not set | 509 | # CONFIG_LAPB is not set |
491 | # CONFIG_ECONET is not set | 510 | # CONFIG_ECONET is not set |
492 | CONFIG_WAN_ROUTER=m | 511 | CONFIG_WAN_ROUTER=m |
512 | # CONFIG_PHONET is not set | ||
493 | CONFIG_NET_SCHED=y | 513 | CONFIG_NET_SCHED=y |
494 | 514 | ||
495 | # | 515 | # |
@@ -540,7 +560,6 @@ CONFIG_NET_PKTGEN=m | |||
540 | # CONFIG_IRDA is not set | 560 | # CONFIG_IRDA is not set |
541 | # CONFIG_BT is not set | 561 | # CONFIG_BT is not set |
542 | # CONFIG_AF_RXRPC is not set | 562 | # CONFIG_AF_RXRPC is not set |
543 | # CONFIG_PHONET is not set | ||
544 | CONFIG_FIB_RULES=y | 563 | CONFIG_FIB_RULES=y |
545 | CONFIG_WIRELESS=y | 564 | CONFIG_WIRELESS=y |
546 | # CONFIG_CFG80211 is not set | 565 | # CONFIG_CFG80211 is not set |
@@ -651,7 +670,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
651 | # LPDDR flash memory drivers | 670 | # LPDDR flash memory drivers |
652 | # | 671 | # |
653 | # CONFIG_MTD_LPDDR is not set | 672 | # CONFIG_MTD_LPDDR is not set |
654 | # CONFIG_MTD_QINFO_PROBE is not set | ||
655 | 673 | ||
656 | # | 674 | # |
657 | # UBI - Unsorted block images | 675 | # UBI - Unsorted block images |
@@ -682,13 +700,20 @@ CONFIG_BLK_DEV_RAM_SIZE=131072 | |||
682 | # CONFIG_BLK_DEV_HD is not set | 700 | # CONFIG_BLK_DEV_HD is not set |
683 | CONFIG_MISC_DEVICES=y | 701 | CONFIG_MISC_DEVICES=y |
684 | # CONFIG_PHANTOM is not set | 702 | # CONFIG_PHANTOM is not set |
685 | # CONFIG_EEPROM_93CX6 is not set | ||
686 | # CONFIG_SGI_IOC4 is not set | 703 | # CONFIG_SGI_IOC4 is not set |
687 | # CONFIG_TIFM_CORE is not set | 704 | # CONFIG_TIFM_CORE is not set |
688 | # CONFIG_ICS932S401 is not set | 705 | # CONFIG_ICS932S401 is not set |
689 | # CONFIG_ENCLOSURE_SERVICES is not set | 706 | # CONFIG_ENCLOSURE_SERVICES is not set |
690 | # CONFIG_HP_ILO is not set | 707 | # CONFIG_HP_ILO is not set |
708 | # CONFIG_ISL29003 is not set | ||
691 | # CONFIG_C2PORT is not set | 709 | # CONFIG_C2PORT is not set |
710 | |||
711 | # | ||
712 | # EEPROM support | ||
713 | # | ||
714 | # CONFIG_EEPROM_AT24 is not set | ||
715 | # CONFIG_EEPROM_LEGACY is not set | ||
716 | # CONFIG_EEPROM_93CX6 is not set | ||
692 | CONFIG_HAVE_IDE=y | 717 | CONFIG_HAVE_IDE=y |
693 | # CONFIG_IDE is not set | 718 | # CONFIG_IDE is not set |
694 | 719 | ||
@@ -746,9 +771,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
746 | # CONFIG_MEGARAID_NEWGEN is not set | 771 | # CONFIG_MEGARAID_NEWGEN is not set |
747 | # CONFIG_MEGARAID_LEGACY is not set | 772 | # CONFIG_MEGARAID_LEGACY is not set |
748 | # CONFIG_MEGARAID_SAS is not set | 773 | # CONFIG_MEGARAID_SAS is not set |
774 | # CONFIG_SCSI_MPT2SAS is not set | ||
749 | # CONFIG_SCSI_HPTIOP is not set | 775 | # CONFIG_SCSI_HPTIOP is not set |
750 | # CONFIG_SCSI_BUSLOGIC is not set | 776 | # CONFIG_SCSI_BUSLOGIC is not set |
751 | # CONFIG_LIBFC is not set | 777 | # CONFIG_LIBFC is not set |
778 | # CONFIG_LIBFCOE is not set | ||
752 | # CONFIG_FCOE is not set | 779 | # CONFIG_FCOE is not set |
753 | # CONFIG_SCSI_DMX3191D is not set | 780 | # CONFIG_SCSI_DMX3191D is not set |
754 | # CONFIG_SCSI_EATA is not set | 781 | # CONFIG_SCSI_EATA is not set |
@@ -771,6 +798,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
771 | # CONFIG_SCSI_DEBUG is not set | 798 | # CONFIG_SCSI_DEBUG is not set |
772 | # CONFIG_SCSI_SRP is not set | 799 | # CONFIG_SCSI_SRP is not set |
773 | # CONFIG_SCSI_DH is not set | 800 | # CONFIG_SCSI_DH is not set |
801 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
774 | CONFIG_ATA=y | 802 | CONFIG_ATA=y |
775 | # CONFIG_ATA_NONSTANDARD is not set | 803 | # CONFIG_ATA_NONSTANDARD is not set |
776 | CONFIG_SATA_PMP=y | 804 | CONFIG_SATA_PMP=y |
@@ -847,6 +875,7 @@ CONFIG_SATA_SIL=y | |||
847 | # CONFIG_I2O is not set | 875 | # CONFIG_I2O is not set |
848 | # CONFIG_MACINTOSH_DRIVERS is not set | 876 | # CONFIG_MACINTOSH_DRIVERS is not set |
849 | CONFIG_NETDEVICES=y | 877 | CONFIG_NETDEVICES=y |
878 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
850 | CONFIG_DUMMY=m | 879 | CONFIG_DUMMY=m |
851 | CONFIG_BONDING=m | 880 | CONFIG_BONDING=m |
852 | # CONFIG_MACVLAN is not set | 881 | # CONFIG_MACVLAN is not set |
@@ -880,6 +909,8 @@ CONFIG_MII=y | |||
880 | # CONFIG_SUNGEM is not set | 909 | # CONFIG_SUNGEM is not set |
881 | # CONFIG_CASSINI is not set | 910 | # CONFIG_CASSINI is not set |
882 | # CONFIG_NET_VENDOR_3COM is not set | 911 | # CONFIG_NET_VENDOR_3COM is not set |
912 | # CONFIG_ETHOC is not set | ||
913 | # CONFIG_DNET is not set | ||
883 | # CONFIG_NET_TULIP is not set | 914 | # CONFIG_NET_TULIP is not set |
884 | # CONFIG_HP100 is not set | 915 | # CONFIG_HP100 is not set |
885 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 916 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -899,6 +930,7 @@ CONFIG_NETDEV_1000=y | |||
899 | # CONFIG_E1000E is not set | 930 | # CONFIG_E1000E is not set |
900 | # CONFIG_IP1000 is not set | 931 | # CONFIG_IP1000 is not set |
901 | # CONFIG_IGB is not set | 932 | # CONFIG_IGB is not set |
933 | # CONFIG_IGBVF is not set | ||
902 | # CONFIG_NS83820 is not set | 934 | # CONFIG_NS83820 is not set |
903 | # CONFIG_HAMACHI is not set | 935 | # CONFIG_HAMACHI is not set |
904 | # CONFIG_YELLOWFIN is not set | 936 | # CONFIG_YELLOWFIN is not set |
@@ -909,11 +941,12 @@ CONFIG_NETDEV_1000=y | |||
909 | # CONFIG_VIA_VELOCITY is not set | 941 | # CONFIG_VIA_VELOCITY is not set |
910 | # CONFIG_TIGON3 is not set | 942 | # CONFIG_TIGON3 is not set |
911 | # CONFIG_BNX2 is not set | 943 | # CONFIG_BNX2 is not set |
944 | CONFIG_FSL_PQ_MDIO=y | ||
912 | CONFIG_GIANFAR=y | 945 | CONFIG_GIANFAR=y |
913 | # CONFIG_MV643XX_ETH is not set | ||
914 | # CONFIG_QLA3XXX is not set | 946 | # CONFIG_QLA3XXX is not set |
915 | # CONFIG_ATL1 is not set | 947 | # CONFIG_ATL1 is not set |
916 | # CONFIG_ATL1E is not set | 948 | # CONFIG_ATL1E is not set |
949 | # CONFIG_ATL1C is not set | ||
917 | # CONFIG_JME is not set | 950 | # CONFIG_JME is not set |
918 | # CONFIG_NETDEV_10000 is not set | 951 | # CONFIG_NETDEV_10000 is not set |
919 | # CONFIG_TR is not set | 952 | # CONFIG_TR is not set |
@@ -923,7 +956,6 @@ CONFIG_GIANFAR=y | |||
923 | # | 956 | # |
924 | # CONFIG_WLAN_PRE80211 is not set | 957 | # CONFIG_WLAN_PRE80211 is not set |
925 | # CONFIG_WLAN_80211 is not set | 958 | # CONFIG_WLAN_80211 is not set |
926 | # CONFIG_IWLWIFI_LEDS is not set | ||
927 | 959 | ||
928 | # | 960 | # |
929 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 961 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -1050,6 +1082,7 @@ CONFIG_UNIX98_PTYS=y | |||
1050 | # CONFIG_HVC_UDBG is not set | 1082 | # CONFIG_HVC_UDBG is not set |
1051 | # CONFIG_IPMI_HANDLER is not set | 1083 | # CONFIG_IPMI_HANDLER is not set |
1052 | CONFIG_HW_RANDOM=y | 1084 | CONFIG_HW_RANDOM=y |
1085 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
1053 | # CONFIG_NVRAM is not set | 1086 | # CONFIG_NVRAM is not set |
1054 | # CONFIG_R3964 is not set | 1087 | # CONFIG_R3964 is not set |
1055 | # CONFIG_APPLICOM is not set | 1088 | # CONFIG_APPLICOM is not set |
@@ -1113,12 +1146,9 @@ CONFIG_I2C_MPC=y | |||
1113 | # Miscellaneous I2C Chip support | 1146 | # Miscellaneous I2C Chip support |
1114 | # | 1147 | # |
1115 | CONFIG_DS1682=y | 1148 | CONFIG_DS1682=y |
1116 | # CONFIG_EEPROM_AT24 is not set | ||
1117 | # CONFIG_EEPROM_LEGACY is not set | ||
1118 | # CONFIG_SENSORS_PCF8574 is not set | 1149 | # CONFIG_SENSORS_PCF8574 is not set |
1119 | # CONFIG_PCF8575 is not set | 1150 | # CONFIG_PCF8575 is not set |
1120 | # CONFIG_SENSORS_PCA9539 is not set | 1151 | # CONFIG_SENSORS_PCA9539 is not set |
1121 | # CONFIG_SENSORS_PCF8591 is not set | ||
1122 | # CONFIG_SENSORS_MAX6875 is not set | 1152 | # CONFIG_SENSORS_MAX6875 is not set |
1123 | # CONFIG_SENSORS_TSL2550 is not set | 1153 | # CONFIG_SENSORS_TSL2550 is not set |
1124 | # CONFIG_I2C_DEBUG_CORE is not set | 1154 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1174,6 +1204,7 @@ CONFIG_HWMON=y | |||
1174 | # CONFIG_SENSORS_F71805F is not set | 1204 | # CONFIG_SENSORS_F71805F is not set |
1175 | # CONFIG_SENSORS_F71882FG is not set | 1205 | # CONFIG_SENSORS_F71882FG is not set |
1176 | # CONFIG_SENSORS_F75375S is not set | 1206 | # CONFIG_SENSORS_F75375S is not set |
1207 | # CONFIG_SENSORS_G760A is not set | ||
1177 | # CONFIG_SENSORS_GL518SM is not set | 1208 | # CONFIG_SENSORS_GL518SM is not set |
1178 | # CONFIG_SENSORS_GL520SM is not set | 1209 | # CONFIG_SENSORS_GL520SM is not set |
1179 | # CONFIG_SENSORS_IT87 is not set | 1210 | # CONFIG_SENSORS_IT87 is not set |
@@ -1188,11 +1219,15 @@ CONFIG_HWMON=y | |||
1188 | CONFIG_SENSORS_LM90=y | 1219 | CONFIG_SENSORS_LM90=y |
1189 | CONFIG_SENSORS_LM92=y | 1220 | CONFIG_SENSORS_LM92=y |
1190 | # CONFIG_SENSORS_LM93 is not set | 1221 | # CONFIG_SENSORS_LM93 is not set |
1222 | # CONFIG_SENSORS_LTC4215 is not set | ||
1191 | # CONFIG_SENSORS_LTC4245 is not set | 1223 | # CONFIG_SENSORS_LTC4245 is not set |
1224 | # CONFIG_SENSORS_LM95241 is not set | ||
1192 | # CONFIG_SENSORS_MAX1619 is not set | 1225 | # CONFIG_SENSORS_MAX1619 is not set |
1193 | # CONFIG_SENSORS_MAX6650 is not set | 1226 | # CONFIG_SENSORS_MAX6650 is not set |
1194 | # CONFIG_SENSORS_PC87360 is not set | 1227 | # CONFIG_SENSORS_PC87360 is not set |
1195 | # CONFIG_SENSORS_PC87427 is not set | 1228 | # CONFIG_SENSORS_PC87427 is not set |
1229 | # CONFIG_SENSORS_PCF8591 is not set | ||
1230 | # CONFIG_SENSORS_SHT15 is not set | ||
1196 | # CONFIG_SENSORS_SIS5595 is not set | 1231 | # CONFIG_SENSORS_SIS5595 is not set |
1197 | # CONFIG_SENSORS_DME1737 is not set | 1232 | # CONFIG_SENSORS_DME1737 is not set |
1198 | # CONFIG_SENSORS_SMSC47M1 is not set | 1233 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1311,15 +1346,17 @@ CONFIG_USB_HID=y | |||
1311 | # | 1346 | # |
1312 | # Special HID drivers | 1347 | # Special HID drivers |
1313 | # | 1348 | # |
1314 | CONFIG_HID_COMPAT=y | ||
1315 | CONFIG_HID_A4TECH=y | 1349 | CONFIG_HID_A4TECH=y |
1316 | CONFIG_HID_APPLE=y | 1350 | CONFIG_HID_APPLE=y |
1317 | CONFIG_HID_BELKIN=y | 1351 | CONFIG_HID_BELKIN=y |
1318 | CONFIG_HID_CHERRY=y | 1352 | CONFIG_HID_CHERRY=y |
1319 | CONFIG_HID_CHICONY=y | 1353 | CONFIG_HID_CHICONY=y |
1320 | CONFIG_HID_CYPRESS=y | 1354 | CONFIG_HID_CYPRESS=y |
1355 | # CONFIG_DRAGONRISE_FF is not set | ||
1321 | CONFIG_HID_EZKEY=y | 1356 | CONFIG_HID_EZKEY=y |
1357 | # CONFIG_HID_KYE is not set | ||
1322 | CONFIG_HID_GYRATION=y | 1358 | CONFIG_HID_GYRATION=y |
1359 | # CONFIG_HID_KENSINGTON is not set | ||
1323 | CONFIG_HID_LOGITECH=y | 1360 | CONFIG_HID_LOGITECH=y |
1324 | # CONFIG_LOGITECH_FF is not set | 1361 | # CONFIG_LOGITECH_FF is not set |
1325 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1362 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1389,11 +1426,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1389 | # CONFIG_USB_TMC is not set | 1426 | # CONFIG_USB_TMC is not set |
1390 | 1427 | ||
1391 | # | 1428 | # |
1392 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1429 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1393 | # | 1430 | # |
1394 | 1431 | ||
1395 | # | 1432 | # |
1396 | # see USB_STORAGE Help for more information | 1433 | # also be needed; see USB_STORAGE Help for more info |
1397 | # | 1434 | # |
1398 | CONFIG_USB_STORAGE=y | 1435 | CONFIG_USB_STORAGE=y |
1399 | # CONFIG_USB_STORAGE_DEBUG is not set | 1436 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1435,7 +1472,6 @@ CONFIG_USB_STORAGE=y | |||
1435 | # CONFIG_USB_LED is not set | 1472 | # CONFIG_USB_LED is not set |
1436 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1473 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1437 | # CONFIG_USB_CYTHERM is not set | 1474 | # CONFIG_USB_CYTHERM is not set |
1438 | # CONFIG_USB_PHIDGET is not set | ||
1439 | # CONFIG_USB_IDMOUSE is not set | 1475 | # CONFIG_USB_IDMOUSE is not set |
1440 | # CONFIG_USB_FTDI_ELAN is not set | 1476 | # CONFIG_USB_FTDI_ELAN is not set |
1441 | # CONFIG_USB_APPLEDISPLAY is not set | 1477 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1452,6 +1488,7 @@ CONFIG_USB_STORAGE=y | |||
1452 | # OTG and related infrastructure | 1488 | # OTG and related infrastructure |
1453 | # | 1489 | # |
1454 | # CONFIG_USB_GPIO_VBUS is not set | 1490 | # CONFIG_USB_GPIO_VBUS is not set |
1491 | # CONFIG_NOP_USB_XCEIV is not set | ||
1455 | # CONFIG_UWB is not set | 1492 | # CONFIG_UWB is not set |
1456 | # CONFIG_MMC is not set | 1493 | # CONFIG_MMC is not set |
1457 | # CONFIG_MEMSTICK is not set | 1494 | # CONFIG_MEMSTICK is not set |
@@ -1513,8 +1550,9 @@ CONFIG_RTC_DRV_RX8581=y | |||
1513 | # | 1550 | # |
1514 | # on-CPU RTC drivers | 1551 | # on-CPU RTC drivers |
1515 | # | 1552 | # |
1516 | # CONFIG_RTC_DRV_PPC is not set | 1553 | # CONFIG_RTC_DRV_GENERIC is not set |
1517 | # CONFIG_DMADEVICES is not set | 1554 | # CONFIG_DMADEVICES is not set |
1555 | # CONFIG_AUXDISPLAY is not set | ||
1518 | # CONFIG_UIO is not set | 1556 | # CONFIG_UIO is not set |
1519 | # CONFIG_STAGING is not set | 1557 | # CONFIG_STAGING is not set |
1520 | 1558 | ||
@@ -1527,6 +1565,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y | |||
1527 | # CONFIG_EXT2_FS_SECURITY is not set | 1565 | # CONFIG_EXT2_FS_SECURITY is not set |
1528 | # CONFIG_EXT2_FS_XIP is not set | 1566 | # CONFIG_EXT2_FS_XIP is not set |
1529 | CONFIG_EXT3_FS=y | 1567 | CONFIG_EXT3_FS=y |
1568 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1530 | CONFIG_EXT3_FS_XATTR=y | 1569 | CONFIG_EXT3_FS_XATTR=y |
1531 | CONFIG_EXT3_FS_POSIX_ACL=y | 1570 | CONFIG_EXT3_FS_POSIX_ACL=y |
1532 | # CONFIG_EXT3_FS_SECURITY is not set | 1571 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1549,6 +1588,11 @@ CONFIG_INOTIFY_USER=y | |||
1549 | # CONFIG_FUSE_FS is not set | 1588 | # CONFIG_FUSE_FS is not set |
1550 | 1589 | ||
1551 | # | 1590 | # |
1591 | # Caches | ||
1592 | # | ||
1593 | # CONFIG_FSCACHE is not set | ||
1594 | |||
1595 | # | ||
1552 | # CD-ROM/DVD Filesystems | 1596 | # CD-ROM/DVD Filesystems |
1553 | # | 1597 | # |
1554 | # CONFIG_ISO9660_FS is not set | 1598 | # CONFIG_ISO9660_FS is not set |
@@ -1595,6 +1639,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1595 | # CONFIG_ROMFS_FS is not set | 1639 | # CONFIG_ROMFS_FS is not set |
1596 | # CONFIG_SYSV_FS is not set | 1640 | # CONFIG_SYSV_FS is not set |
1597 | # CONFIG_UFS_FS is not set | 1641 | # CONFIG_UFS_FS is not set |
1642 | # CONFIG_NILFS2_FS is not set | ||
1598 | CONFIG_NETWORK_FILESYSTEMS=y | 1643 | CONFIG_NETWORK_FILESYSTEMS=y |
1599 | CONFIG_NFS_FS=y | 1644 | CONFIG_NFS_FS=y |
1600 | CONFIG_NFS_V3=y | 1645 | CONFIG_NFS_V3=y |
@@ -1607,7 +1652,6 @@ CONFIG_LOCKD_V4=y | |||
1607 | CONFIG_NFS_COMMON=y | 1652 | CONFIG_NFS_COMMON=y |
1608 | CONFIG_SUNRPC=y | 1653 | CONFIG_SUNRPC=y |
1609 | CONFIG_SUNRPC_GSS=y | 1654 | CONFIG_SUNRPC_GSS=y |
1610 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1611 | CONFIG_RPCSEC_GSS_KRB5=y | 1655 | CONFIG_RPCSEC_GSS_KRB5=y |
1612 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1656 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1613 | # CONFIG_SMB_FS is not set | 1657 | # CONFIG_SMB_FS is not set |
@@ -1668,6 +1712,7 @@ CONFIG_NLS_KOI8_R=m | |||
1668 | CONFIG_NLS_KOI8_U=m | 1712 | CONFIG_NLS_KOI8_U=m |
1669 | CONFIG_NLS_UTF8=m | 1713 | CONFIG_NLS_UTF8=m |
1670 | # CONFIG_DLM is not set | 1714 | # CONFIG_DLM is not set |
1715 | # CONFIG_BINARY_PRINTF is not set | ||
1671 | 1716 | ||
1672 | # | 1717 | # |
1673 | # Library routines | 1718 | # Library routines |
@@ -1681,13 +1726,14 @@ CONFIG_CRC_CCITT=m | |||
1681 | CONFIG_CRC32=y | 1726 | CONFIG_CRC32=y |
1682 | # CONFIG_CRC7 is not set | 1727 | # CONFIG_CRC7 is not set |
1683 | CONFIG_LIBCRC32C=m | 1728 | CONFIG_LIBCRC32C=m |
1684 | CONFIG_ZLIB_INFLATE=m | 1729 | CONFIG_ZLIB_INFLATE=y |
1685 | CONFIG_ZLIB_DEFLATE=m | 1730 | CONFIG_ZLIB_DEFLATE=m |
1686 | CONFIG_PLIST=y | 1731 | CONFIG_DECOMPRESS_GZIP=y |
1687 | CONFIG_HAS_IOMEM=y | 1732 | CONFIG_HAS_IOMEM=y |
1688 | CONFIG_HAS_IOPORT=y | 1733 | CONFIG_HAS_IOPORT=y |
1689 | CONFIG_HAS_DMA=y | 1734 | CONFIG_HAS_DMA=y |
1690 | CONFIG_HAVE_LMB=y | 1735 | CONFIG_HAVE_LMB=y |
1736 | CONFIG_NLATTR=y | ||
1691 | 1737 | ||
1692 | # | 1738 | # |
1693 | # Kernel hacking | 1739 | # Kernel hacking |
@@ -1705,6 +1751,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1705 | CONFIG_DETECT_SOFTLOCKUP=y | 1751 | CONFIG_DETECT_SOFTLOCKUP=y |
1706 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1752 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1707 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1753 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1754 | CONFIG_DETECT_HUNG_TASK=y | ||
1755 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1756 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1708 | CONFIG_SCHED_DEBUG=y | 1757 | CONFIG_SCHED_DEBUG=y |
1709 | # CONFIG_SCHEDSTATS is not set | 1758 | # CONFIG_SCHEDSTATS is not set |
1710 | # CONFIG_TIMER_STATS is not set | 1759 | # CONFIG_TIMER_STATS is not set |
@@ -1733,9 +1782,12 @@ CONFIG_DEBUG_INFO=y | |||
1733 | # CONFIG_FAULT_INJECTION is not set | 1782 | # CONFIG_FAULT_INJECTION is not set |
1734 | # CONFIG_LATENCYTOP is not set | 1783 | # CONFIG_LATENCYTOP is not set |
1735 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1784 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1785 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1736 | CONFIG_HAVE_FUNCTION_TRACER=y | 1786 | CONFIG_HAVE_FUNCTION_TRACER=y |
1787 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1737 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1788 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1738 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1789 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1790 | CONFIG_TRACING_SUPPORT=y | ||
1739 | 1791 | ||
1740 | # | 1792 | # |
1741 | # Tracers | 1793 | # Tracers |
@@ -1744,17 +1796,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1744 | # CONFIG_PREEMPT_TRACER is not set | 1796 | # CONFIG_PREEMPT_TRACER is not set |
1745 | # CONFIG_SCHED_TRACER is not set | 1797 | # CONFIG_SCHED_TRACER is not set |
1746 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1798 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1799 | # CONFIG_EVENT_TRACER is not set | ||
1747 | # CONFIG_BOOT_TRACER is not set | 1800 | # CONFIG_BOOT_TRACER is not set |
1748 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1801 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1749 | # CONFIG_STACK_TRACER is not set | 1802 | # CONFIG_STACK_TRACER is not set |
1750 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1803 | # CONFIG_KMEMTRACE is not set |
1804 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1805 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1751 | # CONFIG_SAMPLES is not set | 1806 | # CONFIG_SAMPLES is not set |
1752 | CONFIG_HAVE_ARCH_KGDB=y | 1807 | CONFIG_HAVE_ARCH_KGDB=y |
1753 | # CONFIG_KGDB is not set | 1808 | # CONFIG_KGDB is not set |
1754 | CONFIG_PRINT_STACK_DEPTH=64 | 1809 | CONFIG_PRINT_STACK_DEPTH=64 |
1755 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1810 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1756 | # CONFIG_DEBUG_STACK_USAGE is not set | 1811 | # CONFIG_DEBUG_STACK_USAGE is not set |
1757 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1758 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1812 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1759 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1813 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1760 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1814 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1776,6 +1830,7 @@ CONFIG_SECURITY_NETWORK=y | |||
1776 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1830 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1777 | # CONFIG_SECURITY_ROOTPLUG is not set | 1831 | # CONFIG_SECURITY_ROOTPLUG is not set |
1778 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1832 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 |
1833 | # CONFIG_SECURITY_TOMOYO is not set | ||
1779 | CONFIG_CRYPTO=y | 1834 | CONFIG_CRYPTO=y |
1780 | 1835 | ||
1781 | # | 1836 | # |
@@ -1791,10 +1846,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1791 | CONFIG_CRYPTO_HASH=y | 1846 | CONFIG_CRYPTO_HASH=y |
1792 | CONFIG_CRYPTO_HASH2=y | 1847 | CONFIG_CRYPTO_HASH2=y |
1793 | CONFIG_CRYPTO_RNG2=y | 1848 | CONFIG_CRYPTO_RNG2=y |
1849 | CONFIG_CRYPTO_PCOMP=y | ||
1794 | CONFIG_CRYPTO_MANAGER=y | 1850 | CONFIG_CRYPTO_MANAGER=y |
1795 | CONFIG_CRYPTO_MANAGER2=y | 1851 | CONFIG_CRYPTO_MANAGER2=y |
1796 | # CONFIG_CRYPTO_GF128MUL is not set | 1852 | # CONFIG_CRYPTO_GF128MUL is not set |
1797 | CONFIG_CRYPTO_NULL=m | 1853 | CONFIG_CRYPTO_NULL=m |
1854 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1798 | # CONFIG_CRYPTO_CRYPTD is not set | 1855 | # CONFIG_CRYPTO_CRYPTD is not set |
1799 | CONFIG_CRYPTO_AUTHENC=m | 1856 | CONFIG_CRYPTO_AUTHENC=m |
1800 | CONFIG_CRYPTO_TEST=m | 1857 | CONFIG_CRYPTO_TEST=m |
@@ -1864,6 +1921,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m | |||
1864 | # Compression | 1921 | # Compression |
1865 | # | 1922 | # |
1866 | CONFIG_CRYPTO_DEFLATE=m | 1923 | CONFIG_CRYPTO_DEFLATE=m |
1924 | # CONFIG_CRYPTO_ZLIB is not set | ||
1867 | # CONFIG_CRYPTO_LZO is not set | 1925 | # CONFIG_CRYPTO_LZO is not set |
1868 | 1926 | ||
1869 | # | 1927 | # |
diff --git a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig index bbdf4bfc4327..cfd2efcc6bce 100644 --- a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig +++ b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:24 2009 | 4 | # Wed May 13 17:22:28 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_PHYS_64BIT is not set | 19 | # CONFIG_PHYS_64BIT is not set |
19 | CONFIG_ALTIVEC=y | 20 | CONFIG_ALTIVEC=y |
@@ -55,6 +56,7 @@ CONFIG_GENERIC_BUG=y | |||
55 | CONFIG_DEFAULT_UIMAGE=y | 56 | CONFIG_DEFAULT_UIMAGE=y |
56 | # CONFIG_PPC_DCR_NATIVE is not set | 57 | # CONFIG_PPC_DCR_NATIVE is not set |
57 | # CONFIG_PPC_DCR_MMIO is not set | 58 | # CONFIG_PPC_DCR_MMIO is not set |
59 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
58 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
59 | 61 | ||
60 | # | 62 | # |
@@ -72,6 +74,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
72 | # CONFIG_BSD_PROCESS_ACCT is not set | 74 | # CONFIG_BSD_PROCESS_ACCT is not set |
73 | # CONFIG_TASKSTATS is not set | 75 | # CONFIG_TASKSTATS is not set |
74 | # CONFIG_AUDIT is not set | 76 | # CONFIG_AUDIT is not set |
77 | |||
78 | # | ||
79 | # RCU Subsystem | ||
80 | # | ||
81 | CONFIG_CLASSIC_RCU=y | ||
82 | # CONFIG_TREE_RCU is not set | ||
83 | # CONFIG_PREEMPT_RCU is not set | ||
84 | # CONFIG_TREE_RCU_TRACE is not set | ||
85 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
75 | CONFIG_IKCONFIG=y | 86 | CONFIG_IKCONFIG=y |
76 | CONFIG_IKCONFIG_PROC=y | 87 | CONFIG_IKCONFIG_PROC=y |
77 | CONFIG_LOG_BUF_SHIFT=14 | 88 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -87,21 +98,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
87 | # CONFIG_NAMESPACES is not set | 98 | # CONFIG_NAMESPACES is not set |
88 | CONFIG_BLK_DEV_INITRD=y | 99 | CONFIG_BLK_DEV_INITRD=y |
89 | CONFIG_INITRAMFS_SOURCE="" | 100 | CONFIG_INITRAMFS_SOURCE="" |
101 | CONFIG_RD_GZIP=y | ||
102 | # CONFIG_RD_BZIP2 is not set | ||
103 | # CONFIG_RD_LZMA is not set | ||
90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 104 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
91 | CONFIG_SYSCTL=y | 105 | CONFIG_SYSCTL=y |
106 | CONFIG_ANON_INODES=y | ||
92 | CONFIG_EMBEDDED=y | 107 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 108 | CONFIG_SYSCTL_SYSCALL=y |
94 | CONFIG_KALLSYMS=y | 109 | CONFIG_KALLSYMS=y |
95 | # CONFIG_KALLSYMS_ALL is not set | 110 | # CONFIG_KALLSYMS_ALL is not set |
96 | CONFIG_KALLSYMS_EXTRA_PASS=y | 111 | CONFIG_KALLSYMS_EXTRA_PASS=y |
112 | # CONFIG_STRIP_ASM_SYMS is not set | ||
97 | CONFIG_HOTPLUG=y | 113 | CONFIG_HOTPLUG=y |
98 | CONFIG_PRINTK=y | 114 | CONFIG_PRINTK=y |
99 | CONFIG_BUG=y | 115 | CONFIG_BUG=y |
100 | # CONFIG_ELF_CORE is not set | 116 | # CONFIG_ELF_CORE is not set |
101 | CONFIG_COMPAT_BRK=y | ||
102 | CONFIG_BASE_FULL=y | 117 | CONFIG_BASE_FULL=y |
103 | CONFIG_FUTEX=y | 118 | CONFIG_FUTEX=y |
104 | CONFIG_ANON_INODES=y | ||
105 | CONFIG_EPOLL=y | 119 | CONFIG_EPOLL=y |
106 | CONFIG_SIGNALFD=y | 120 | CONFIG_SIGNALFD=y |
107 | CONFIG_TIMERFD=y | 121 | CONFIG_TIMERFD=y |
@@ -111,10 +125,12 @@ CONFIG_AIO=y | |||
111 | CONFIG_VM_EVENT_COUNTERS=y | 125 | CONFIG_VM_EVENT_COUNTERS=y |
112 | CONFIG_PCI_QUIRKS=y | 126 | CONFIG_PCI_QUIRKS=y |
113 | CONFIG_SLUB_DEBUG=y | 127 | CONFIG_SLUB_DEBUG=y |
128 | CONFIG_COMPAT_BRK=y | ||
114 | # CONFIG_SLAB is not set | 129 | # CONFIG_SLAB is not set |
115 | CONFIG_SLUB=y | 130 | CONFIG_SLUB=y |
116 | # CONFIG_SLOB is not set | 131 | # CONFIG_SLOB is not set |
117 | # CONFIG_PROFILING is not set | 132 | # CONFIG_PROFILING is not set |
133 | # CONFIG_MARKERS is not set | ||
118 | CONFIG_HAVE_OPROFILE=y | 134 | CONFIG_HAVE_OPROFILE=y |
119 | # CONFIG_KPROBES is not set | 135 | # CONFIG_KPROBES is not set |
120 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 136 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -122,6 +138,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
122 | CONFIG_HAVE_KPROBES=y | 138 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 139 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 140 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
141 | # CONFIG_SLOW_WORK is not set | ||
125 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 142 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
126 | CONFIG_SLABINFO=y | 143 | CONFIG_SLABINFO=y |
127 | CONFIG_RT_MUTEXES=y | 144 | CONFIG_RT_MUTEXES=y |
@@ -134,7 +151,6 @@ CONFIG_MODULE_UNLOAD=y | |||
134 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 151 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
135 | CONFIG_BLOCK=y | 152 | CONFIG_BLOCK=y |
136 | # CONFIG_LBD is not set | 153 | # CONFIG_LBD is not set |
137 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
138 | # CONFIG_BLK_DEV_BSG is not set | 154 | # CONFIG_BLK_DEV_BSG is not set |
139 | # CONFIG_BLK_DEV_INTEGRITY is not set | 155 | # CONFIG_BLK_DEV_INTEGRITY is not set |
140 | 156 | ||
@@ -150,18 +166,11 @@ CONFIG_DEFAULT_DEADLINE=y | |||
150 | # CONFIG_DEFAULT_CFQ is not set | 166 | # CONFIG_DEFAULT_CFQ is not set |
151 | # CONFIG_DEFAULT_NOOP is not set | 167 | # CONFIG_DEFAULT_NOOP is not set |
152 | CONFIG_DEFAULT_IOSCHED="deadline" | 168 | CONFIG_DEFAULT_IOSCHED="deadline" |
153 | CONFIG_CLASSIC_RCU=y | ||
154 | # CONFIG_TREE_RCU is not set | ||
155 | # CONFIG_PREEMPT_RCU is not set | ||
156 | # CONFIG_TREE_RCU_TRACE is not set | ||
157 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
158 | # CONFIG_FREEZER is not set | 169 | # CONFIG_FREEZER is not set |
159 | 170 | ||
160 | # | 171 | # |
161 | # Platform support | 172 | # Platform support |
162 | # | 173 | # |
163 | CONFIG_PPC_MULTIPLATFORM=y | ||
164 | CONFIG_CLASSIC32=y | ||
165 | # CONFIG_PPC_CHRP is not set | 174 | # CONFIG_PPC_CHRP is not set |
166 | # CONFIG_MPC5121_ADS is not set | 175 | # CONFIG_MPC5121_ADS is not set |
167 | # CONFIG_MPC5121_GENERIC is not set | 176 | # CONFIG_MPC5121_GENERIC is not set |
@@ -176,9 +185,13 @@ CONFIG_PPC_86xx=y | |||
176 | # CONFIG_MPC8641_HPCN is not set | 185 | # CONFIG_MPC8641_HPCN is not set |
177 | # CONFIG_SBC8641D is not set | 186 | # CONFIG_SBC8641D is not set |
178 | CONFIG_MPC8610_HPCD=y | 187 | CONFIG_MPC8610_HPCD=y |
188 | # CONFIG_GEF_PPC9A is not set | ||
189 | # CONFIG_GEF_SBC310 is not set | ||
179 | # CONFIG_GEF_SBC610 is not set | 190 | # CONFIG_GEF_SBC610 is not set |
180 | CONFIG_MPC8610=y | 191 | CONFIG_MPC8610=y |
181 | # CONFIG_EMBEDDED6xx is not set | 192 | # CONFIG_EMBEDDED6xx is not set |
193 | # CONFIG_AMIGAONE is not set | ||
194 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
182 | # CONFIG_IPIC is not set | 195 | # CONFIG_IPIC is not set |
183 | CONFIG_MPIC=y | 196 | CONFIG_MPIC=y |
184 | # CONFIG_MPIC_WEIRD is not set | 197 | # CONFIG_MPIC_WEIRD is not set |
@@ -238,9 +251,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
238 | CONFIG_BOUNCE=y | 251 | CONFIG_BOUNCE=y |
239 | CONFIG_VIRT_TO_BUS=y | 252 | CONFIG_VIRT_TO_BUS=y |
240 | CONFIG_UNEVICTABLE_LRU=y | 253 | CONFIG_UNEVICTABLE_LRU=y |
254 | CONFIG_HAVE_MLOCK=y | ||
255 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
241 | CONFIG_PPC_4K_PAGES=y | 256 | CONFIG_PPC_4K_PAGES=y |
242 | # CONFIG_PPC_16K_PAGES is not set | 257 | # CONFIG_PPC_16K_PAGES is not set |
243 | # CONFIG_PPC_64K_PAGES is not set | 258 | # CONFIG_PPC_64K_PAGES is not set |
259 | # CONFIG_PPC_256K_PAGES is not set | ||
244 | CONFIG_FORCE_MAX_ZONEORDER=12 | 260 | CONFIG_FORCE_MAX_ZONEORDER=12 |
245 | CONFIG_PROC_DEVICETREE=y | 261 | CONFIG_PROC_DEVICETREE=y |
246 | # CONFIG_CMDLINE_BOOL is not set | 262 | # CONFIG_CMDLINE_BOOL is not set |
@@ -269,6 +285,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
269 | # CONFIG_PCI_LEGACY is not set | 285 | # CONFIG_PCI_LEGACY is not set |
270 | CONFIG_PCI_DEBUG=y | 286 | CONFIG_PCI_DEBUG=y |
271 | # CONFIG_PCI_STUB is not set | 287 | # CONFIG_PCI_STUB is not set |
288 | # CONFIG_PCI_IOV is not set | ||
272 | # CONFIG_PCCARD is not set | 289 | # CONFIG_PCCARD is not set |
273 | # CONFIG_HOTPLUG_PCI is not set | 290 | # CONFIG_HOTPLUG_PCI is not set |
274 | # CONFIG_HAS_RAPIDIO is not set | 291 | # CONFIG_HAS_RAPIDIO is not set |
@@ -291,7 +308,6 @@ CONFIG_NET=y | |||
291 | # | 308 | # |
292 | # Networking options | 309 | # Networking options |
293 | # | 310 | # |
294 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
295 | CONFIG_PACKET=y | 311 | CONFIG_PACKET=y |
296 | # CONFIG_PACKET_MMAP is not set | 312 | # CONFIG_PACKET_MMAP is not set |
297 | CONFIG_UNIX=y | 313 | CONFIG_UNIX=y |
@@ -364,6 +380,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
364 | # CONFIG_LAPB is not set | 380 | # CONFIG_LAPB is not set |
365 | # CONFIG_ECONET is not set | 381 | # CONFIG_ECONET is not set |
366 | # CONFIG_WAN_ROUTER is not set | 382 | # CONFIG_WAN_ROUTER is not set |
383 | # CONFIG_PHONET is not set | ||
367 | # CONFIG_NET_SCHED is not set | 384 | # CONFIG_NET_SCHED is not set |
368 | # CONFIG_DCB is not set | 385 | # CONFIG_DCB is not set |
369 | 386 | ||
@@ -376,7 +393,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
376 | # CONFIG_IRDA is not set | 393 | # CONFIG_IRDA is not set |
377 | # CONFIG_BT is not set | 394 | # CONFIG_BT is not set |
378 | # CONFIG_AF_RXRPC is not set | 395 | # CONFIG_AF_RXRPC is not set |
379 | # CONFIG_PHONET is not set | ||
380 | CONFIG_WIRELESS=y | 396 | CONFIG_WIRELESS=y |
381 | # CONFIG_CFG80211 is not set | 397 | # CONFIG_CFG80211 is not set |
382 | CONFIG_WIRELESS_OLD_REGULATORY=y | 398 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -492,7 +508,6 @@ CONFIG_MTD_NAND_FSL_ELBC=y | |||
492 | # LPDDR flash memory drivers | 508 | # LPDDR flash memory drivers |
493 | # | 509 | # |
494 | # CONFIG_MTD_LPDDR is not set | 510 | # CONFIG_MTD_LPDDR is not set |
495 | # CONFIG_MTD_QINFO_PROBE is not set | ||
496 | 511 | ||
497 | # | 512 | # |
498 | # UBI - Unsorted block images | 513 | # UBI - Unsorted block images |
@@ -521,13 +536,20 @@ CONFIG_BLK_DEV_RAM_SIZE=131072 | |||
521 | # CONFIG_BLK_DEV_HD is not set | 536 | # CONFIG_BLK_DEV_HD is not set |
522 | CONFIG_MISC_DEVICES=y | 537 | CONFIG_MISC_DEVICES=y |
523 | # CONFIG_PHANTOM is not set | 538 | # CONFIG_PHANTOM is not set |
524 | # CONFIG_EEPROM_93CX6 is not set | ||
525 | # CONFIG_SGI_IOC4 is not set | 539 | # CONFIG_SGI_IOC4 is not set |
526 | # CONFIG_TIFM_CORE is not set | 540 | # CONFIG_TIFM_CORE is not set |
527 | # CONFIG_ICS932S401 is not set | 541 | # CONFIG_ICS932S401 is not set |
528 | # CONFIG_ENCLOSURE_SERVICES is not set | 542 | # CONFIG_ENCLOSURE_SERVICES is not set |
529 | # CONFIG_HP_ILO is not set | 543 | # CONFIG_HP_ILO is not set |
544 | # CONFIG_ISL29003 is not set | ||
530 | # CONFIG_C2PORT is not set | 545 | # CONFIG_C2PORT is not set |
546 | |||
547 | # | ||
548 | # EEPROM support | ||
549 | # | ||
550 | # CONFIG_EEPROM_AT24 is not set | ||
551 | # CONFIG_EEPROM_LEGACY is not set | ||
552 | # CONFIG_EEPROM_93CX6 is not set | ||
531 | CONFIG_HAVE_IDE=y | 553 | CONFIG_HAVE_IDE=y |
532 | CONFIG_IDE=y | 554 | CONFIG_IDE=y |
533 | 555 | ||
@@ -632,9 +654,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
632 | # CONFIG_MEGARAID_NEWGEN is not set | 654 | # CONFIG_MEGARAID_NEWGEN is not set |
633 | # CONFIG_MEGARAID_LEGACY is not set | 655 | # CONFIG_MEGARAID_LEGACY is not set |
634 | # CONFIG_MEGARAID_SAS is not set | 656 | # CONFIG_MEGARAID_SAS is not set |
657 | # CONFIG_SCSI_MPT2SAS is not set | ||
635 | # CONFIG_SCSI_HPTIOP is not set | 658 | # CONFIG_SCSI_HPTIOP is not set |
636 | # CONFIG_SCSI_BUSLOGIC is not set | 659 | # CONFIG_SCSI_BUSLOGIC is not set |
637 | # CONFIG_LIBFC is not set | 660 | # CONFIG_LIBFC is not set |
661 | # CONFIG_LIBFCOE is not set | ||
638 | # CONFIG_FCOE is not set | 662 | # CONFIG_FCOE is not set |
639 | # CONFIG_SCSI_DMX3191D is not set | 663 | # CONFIG_SCSI_DMX3191D is not set |
640 | # CONFIG_SCSI_EATA is not set | 664 | # CONFIG_SCSI_EATA is not set |
@@ -657,6 +681,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
657 | # CONFIG_SCSI_DEBUG is not set | 681 | # CONFIG_SCSI_DEBUG is not set |
658 | # CONFIG_SCSI_SRP is not set | 682 | # CONFIG_SCSI_SRP is not set |
659 | # CONFIG_SCSI_DH is not set | 683 | # CONFIG_SCSI_DH is not set |
684 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
660 | CONFIG_ATA=y | 685 | CONFIG_ATA=y |
661 | # CONFIG_ATA_NONSTANDARD is not set | 686 | # CONFIG_ATA_NONSTANDARD is not set |
662 | CONFIG_SATA_PMP=y | 687 | CONFIG_SATA_PMP=y |
@@ -733,6 +758,7 @@ CONFIG_PATA_ALI=y | |||
733 | # CONFIG_I2O is not set | 758 | # CONFIG_I2O is not set |
734 | # CONFIG_MACINTOSH_DRIVERS is not set | 759 | # CONFIG_MACINTOSH_DRIVERS is not set |
735 | CONFIG_NETDEVICES=y | 760 | CONFIG_NETDEVICES=y |
761 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
736 | CONFIG_DUMMY=y | 762 | CONFIG_DUMMY=y |
737 | # CONFIG_BONDING is not set | 763 | # CONFIG_BONDING is not set |
738 | # CONFIG_MACVLAN is not set | 764 | # CONFIG_MACVLAN is not set |
@@ -747,6 +773,8 @@ CONFIG_NET_ETHERNET=y | |||
747 | # CONFIG_SUNGEM is not set | 773 | # CONFIG_SUNGEM is not set |
748 | # CONFIG_CASSINI is not set | 774 | # CONFIG_CASSINI is not set |
749 | # CONFIG_NET_VENDOR_3COM is not set | 775 | # CONFIG_NET_VENDOR_3COM is not set |
776 | # CONFIG_ETHOC is not set | ||
777 | # CONFIG_DNET is not set | ||
750 | CONFIG_NET_TULIP=y | 778 | CONFIG_NET_TULIP=y |
751 | # CONFIG_DE2104X is not set | 779 | # CONFIG_DE2104X is not set |
752 | # CONFIG_TULIP is not set | 780 | # CONFIG_TULIP is not set |
@@ -774,7 +802,6 @@ CONFIG_ULI526X=y | |||
774 | # | 802 | # |
775 | # CONFIG_WLAN_PRE80211 is not set | 803 | # CONFIG_WLAN_PRE80211 is not set |
776 | # CONFIG_WLAN_80211 is not set | 804 | # CONFIG_WLAN_80211 is not set |
777 | # CONFIG_IWLWIFI_LEDS is not set | ||
778 | 805 | ||
779 | # | 806 | # |
780 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 807 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -929,12 +956,9 @@ CONFIG_I2C_MPC=y | |||
929 | # Miscellaneous I2C Chip support | 956 | # Miscellaneous I2C Chip support |
930 | # | 957 | # |
931 | # CONFIG_DS1682 is not set | 958 | # CONFIG_DS1682 is not set |
932 | # CONFIG_EEPROM_AT24 is not set | ||
933 | # CONFIG_EEPROM_LEGACY is not set | ||
934 | # CONFIG_SENSORS_PCF8574 is not set | 959 | # CONFIG_SENSORS_PCF8574 is not set |
935 | # CONFIG_PCF8575 is not set | 960 | # CONFIG_PCF8575 is not set |
936 | # CONFIG_SENSORS_PCA9539 is not set | 961 | # CONFIG_SENSORS_PCA9539 is not set |
937 | # CONFIG_SENSORS_PCF8591 is not set | ||
938 | # CONFIG_SENSORS_MAX6875 is not set | 962 | # CONFIG_SENSORS_MAX6875 is not set |
939 | # CONFIG_SENSORS_TSL2550 is not set | 963 | # CONFIG_SENSORS_TSL2550 is not set |
940 | # CONFIG_I2C_DEBUG_CORE is not set | 964 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1049,6 +1073,7 @@ CONFIG_FB_FSL_DIU=y | |||
1049 | # CONFIG_FB_VIRTUAL is not set | 1073 | # CONFIG_FB_VIRTUAL is not set |
1050 | # CONFIG_FB_METRONOME is not set | 1074 | # CONFIG_FB_METRONOME is not set |
1051 | # CONFIG_FB_MB862XX is not set | 1075 | # CONFIG_FB_MB862XX is not set |
1076 | # CONFIG_FB_BROADSHEET is not set | ||
1052 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 1077 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
1053 | 1078 | ||
1054 | # | 1079 | # |
@@ -1069,6 +1094,7 @@ CONFIG_SOUND_OSS_CORE=y | |||
1069 | CONFIG_SND=y | 1094 | CONFIG_SND=y |
1070 | CONFIG_SND_TIMER=y | 1095 | CONFIG_SND_TIMER=y |
1071 | CONFIG_SND_PCM=y | 1096 | CONFIG_SND_PCM=y |
1097 | CONFIG_SND_JACK=y | ||
1072 | # CONFIG_SND_SEQUENCER is not set | 1098 | # CONFIG_SND_SEQUENCER is not set |
1073 | CONFIG_SND_OSSEMUL=y | 1099 | CONFIG_SND_OSSEMUL=y |
1074 | CONFIG_SND_MIXER_OSS=y | 1100 | CONFIG_SND_MIXER_OSS=y |
@@ -1116,6 +1142,8 @@ CONFIG_SND_PCI=y | |||
1116 | # CONFIG_SND_INDIGO is not set | 1142 | # CONFIG_SND_INDIGO is not set |
1117 | # CONFIG_SND_INDIGOIO is not set | 1143 | # CONFIG_SND_INDIGOIO is not set |
1118 | # CONFIG_SND_INDIGODJ is not set | 1144 | # CONFIG_SND_INDIGODJ is not set |
1145 | # CONFIG_SND_INDIGOIOX is not set | ||
1146 | # CONFIG_SND_INDIGODJX is not set | ||
1119 | # CONFIG_SND_EMU10K1 is not set | 1147 | # CONFIG_SND_EMU10K1 is not set |
1120 | # CONFIG_SND_EMU10K1X is not set | 1148 | # CONFIG_SND_EMU10K1X is not set |
1121 | # CONFIG_SND_ENS1370 is not set | 1149 | # CONFIG_SND_ENS1370 is not set |
@@ -1165,7 +1193,6 @@ CONFIG_HID=y | |||
1165 | # | 1193 | # |
1166 | # Special HID drivers | 1194 | # Special HID drivers |
1167 | # | 1195 | # |
1168 | CONFIG_HID_COMPAT=y | ||
1169 | CONFIG_USB_SUPPORT=y | 1196 | CONFIG_USB_SUPPORT=y |
1170 | CONFIG_USB_ARCH_HAS_HCD=y | 1197 | CONFIG_USB_ARCH_HAS_HCD=y |
1171 | CONFIG_USB_ARCH_HAS_OHCI=y | 1198 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1179,7 +1206,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1179 | # | 1206 | # |
1180 | 1207 | ||
1181 | # | 1208 | # |
1182 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1209 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1183 | # | 1210 | # |
1184 | # CONFIG_USB_GADGET is not set | 1211 | # CONFIG_USB_GADGET is not set |
1185 | 1212 | ||
@@ -1247,8 +1274,9 @@ CONFIG_RTC_DRV_CMOS=y | |||
1247 | # | 1274 | # |
1248 | # on-CPU RTC drivers | 1275 | # on-CPU RTC drivers |
1249 | # | 1276 | # |
1250 | # CONFIG_RTC_DRV_PPC is not set | 1277 | # CONFIG_RTC_DRV_GENERIC is not set |
1251 | # CONFIG_DMADEVICES is not set | 1278 | # CONFIG_DMADEVICES is not set |
1279 | # CONFIG_AUXDISPLAY is not set | ||
1252 | # CONFIG_UIO is not set | 1280 | # CONFIG_UIO is not set |
1253 | # CONFIG_STAGING is not set | 1281 | # CONFIG_STAGING is not set |
1254 | 1282 | ||
@@ -1259,6 +1287,7 @@ CONFIG_EXT2_FS=y | |||
1259 | # CONFIG_EXT2_FS_XATTR is not set | 1287 | # CONFIG_EXT2_FS_XATTR is not set |
1260 | # CONFIG_EXT2_FS_XIP is not set | 1288 | # CONFIG_EXT2_FS_XIP is not set |
1261 | CONFIG_EXT3_FS=y | 1289 | CONFIG_EXT3_FS=y |
1290 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1262 | CONFIG_EXT3_FS_XATTR=y | 1291 | CONFIG_EXT3_FS_XATTR=y |
1263 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1292 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1264 | # CONFIG_EXT3_FS_SECURITY is not set | 1293 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1280,6 +1309,11 @@ CONFIG_FILE_LOCKING=y | |||
1280 | # CONFIG_FUSE_FS is not set | 1309 | # CONFIG_FUSE_FS is not set |
1281 | 1310 | ||
1282 | # | 1311 | # |
1312 | # Caches | ||
1313 | # | ||
1314 | # CONFIG_FSCACHE is not set | ||
1315 | |||
1316 | # | ||
1283 | # CD-ROM/DVD Filesystems | 1317 | # CD-ROM/DVD Filesystems |
1284 | # | 1318 | # |
1285 | # CONFIG_ISO9660_FS is not set | 1319 | # CONFIG_ISO9660_FS is not set |
@@ -1323,6 +1357,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1323 | # CONFIG_ROMFS_FS is not set | 1357 | # CONFIG_ROMFS_FS is not set |
1324 | # CONFIG_SYSV_FS is not set | 1358 | # CONFIG_SYSV_FS is not set |
1325 | # CONFIG_UFS_FS is not set | 1359 | # CONFIG_UFS_FS is not set |
1360 | # CONFIG_NILFS2_FS is not set | ||
1326 | CONFIG_NETWORK_FILESYSTEMS=y | 1361 | CONFIG_NETWORK_FILESYSTEMS=y |
1327 | CONFIG_NFS_FS=y | 1362 | CONFIG_NFS_FS=y |
1328 | CONFIG_NFS_V3=y | 1363 | CONFIG_NFS_V3=y |
@@ -1337,7 +1372,6 @@ CONFIG_LOCKD_V4=y | |||
1337 | CONFIG_EXPORTFS=y | 1372 | CONFIG_EXPORTFS=y |
1338 | CONFIG_NFS_COMMON=y | 1373 | CONFIG_NFS_COMMON=y |
1339 | CONFIG_SUNRPC=y | 1374 | CONFIG_SUNRPC=y |
1340 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1341 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1375 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1342 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1376 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1343 | # CONFIG_SMB_FS is not set | 1377 | # CONFIG_SMB_FS is not set |
@@ -1409,6 +1443,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1409 | # CONFIG_NLS_KOI8_U is not set | 1443 | # CONFIG_NLS_KOI8_U is not set |
1410 | # CONFIG_NLS_UTF8 is not set | 1444 | # CONFIG_NLS_UTF8 is not set |
1411 | # CONFIG_DLM is not set | 1445 | # CONFIG_DLM is not set |
1446 | # CONFIG_BINARY_PRINTF is not set | ||
1412 | 1447 | ||
1413 | # | 1448 | # |
1414 | # Library routines | 1449 | # Library routines |
@@ -1422,11 +1457,13 @@ CONFIG_CRC_T10DIF=y | |||
1422 | CONFIG_CRC32=y | 1457 | CONFIG_CRC32=y |
1423 | # CONFIG_CRC7 is not set | 1458 | # CONFIG_CRC7 is not set |
1424 | # CONFIG_LIBCRC32C is not set | 1459 | # CONFIG_LIBCRC32C is not set |
1425 | CONFIG_PLIST=y | 1460 | CONFIG_ZLIB_INFLATE=y |
1461 | CONFIG_DECOMPRESS_GZIP=y | ||
1426 | CONFIG_HAS_IOMEM=y | 1462 | CONFIG_HAS_IOMEM=y |
1427 | CONFIG_HAS_IOPORT=y | 1463 | CONFIG_HAS_IOPORT=y |
1428 | CONFIG_HAS_DMA=y | 1464 | CONFIG_HAS_DMA=y |
1429 | CONFIG_HAVE_LMB=y | 1465 | CONFIG_HAVE_LMB=y |
1466 | CONFIG_NLATTR=y | ||
1430 | 1467 | ||
1431 | # | 1468 | # |
1432 | # Kernel hacking | 1469 | # Kernel hacking |
@@ -1444,6 +1481,9 @@ CONFIG_DEBUG_SHIRQ=y | |||
1444 | CONFIG_DETECT_SOFTLOCKUP=y | 1481 | CONFIG_DETECT_SOFTLOCKUP=y |
1445 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1482 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1446 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1483 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1484 | CONFIG_DETECT_HUNG_TASK=y | ||
1485 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1486 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1447 | CONFIG_SCHED_DEBUG=y | 1487 | CONFIG_SCHED_DEBUG=y |
1448 | # CONFIG_SCHEDSTATS is not set | 1488 | # CONFIG_SCHEDSTATS is not set |
1449 | # CONFIG_TIMER_STATS is not set | 1489 | # CONFIG_TIMER_STATS is not set |
@@ -1474,9 +1514,12 @@ CONFIG_DEBUG_INFO=y | |||
1474 | # CONFIG_FAULT_INJECTION is not set | 1514 | # CONFIG_FAULT_INJECTION is not set |
1475 | # CONFIG_LATENCYTOP is not set | 1515 | # CONFIG_LATENCYTOP is not set |
1476 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1516 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1517 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1477 | CONFIG_HAVE_FUNCTION_TRACER=y | 1518 | CONFIG_HAVE_FUNCTION_TRACER=y |
1519 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1478 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1520 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1479 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1521 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1522 | CONFIG_TRACING_SUPPORT=y | ||
1480 | 1523 | ||
1481 | # | 1524 | # |
1482 | # Tracers | 1525 | # Tracers |
@@ -1484,17 +1527,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1484 | # CONFIG_FUNCTION_TRACER is not set | 1527 | # CONFIG_FUNCTION_TRACER is not set |
1485 | # CONFIG_SCHED_TRACER is not set | 1528 | # CONFIG_SCHED_TRACER is not set |
1486 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1529 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1530 | # CONFIG_EVENT_TRACER is not set | ||
1487 | # CONFIG_BOOT_TRACER is not set | 1531 | # CONFIG_BOOT_TRACER is not set |
1488 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1532 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1489 | # CONFIG_STACK_TRACER is not set | 1533 | # CONFIG_STACK_TRACER is not set |
1490 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1534 | # CONFIG_KMEMTRACE is not set |
1535 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1536 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1491 | # CONFIG_SAMPLES is not set | 1537 | # CONFIG_SAMPLES is not set |
1492 | CONFIG_HAVE_ARCH_KGDB=y | 1538 | CONFIG_HAVE_ARCH_KGDB=y |
1493 | # CONFIG_KGDB is not set | 1539 | # CONFIG_KGDB is not set |
1494 | CONFIG_PRINT_STACK_DEPTH=64 | 1540 | CONFIG_PRINT_STACK_DEPTH=64 |
1495 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1541 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1496 | # CONFIG_DEBUG_STACK_USAGE is not set | 1542 | # CONFIG_DEBUG_STACK_USAGE is not set |
1497 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1498 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1543 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1499 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1544 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1500 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1545 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1589,6 +1634,7 @@ CONFIG_CRYPTO=y | |||
1589 | # Compression | 1634 | # Compression |
1590 | # | 1635 | # |
1591 | # CONFIG_CRYPTO_DEFLATE is not set | 1636 | # CONFIG_CRYPTO_DEFLATE is not set |
1637 | # CONFIG_CRYPTO_ZLIB is not set | ||
1592 | # CONFIG_CRYPTO_LZO is not set | 1638 | # CONFIG_CRYPTO_LZO is not set |
1593 | 1639 | ||
1594 | # | 1640 | # |
diff --git a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig index 92acfdf3540a..0bee3e303942 100644 --- a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig +++ b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:25 2009 | 4 | # Wed May 13 17:22:28 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_PHYS_64BIT is not set | 19 | # CONFIG_PHYS_64BIT is not set |
19 | CONFIG_ALTIVEC=y | 20 | CONFIG_ALTIVEC=y |
@@ -56,6 +57,7 @@ CONFIG_GENERIC_BUG=y | |||
56 | CONFIG_DEFAULT_UIMAGE=y | 57 | CONFIG_DEFAULT_UIMAGE=y |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -70,11 +72,21 @@ CONFIG_SWAP=y | |||
70 | CONFIG_SYSVIPC=y | 72 | CONFIG_SYSVIPC=y |
71 | CONFIG_SYSVIPC_SYSCTL=y | 73 | CONFIG_SYSVIPC_SYSCTL=y |
72 | CONFIG_POSIX_MQUEUE=y | 74 | CONFIG_POSIX_MQUEUE=y |
75 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
73 | CONFIG_BSD_PROCESS_ACCT=y | 76 | CONFIG_BSD_PROCESS_ACCT=y |
74 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 77 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
75 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
76 | CONFIG_AUDIT=y | 79 | CONFIG_AUDIT=y |
77 | # CONFIG_AUDITSYSCALL is not set | 80 | # CONFIG_AUDITSYSCALL is not set |
81 | |||
82 | # | ||
83 | # RCU Subsystem | ||
84 | # | ||
85 | CONFIG_CLASSIC_RCU=y | ||
86 | # CONFIG_TREE_RCU is not set | ||
87 | # CONFIG_PREEMPT_RCU is not set | ||
88 | # CONFIG_TREE_RCU_TRACE is not set | ||
89 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | CONFIG_IKCONFIG=y | 90 | CONFIG_IKCONFIG=y |
79 | CONFIG_IKCONFIG_PROC=y | 91 | CONFIG_IKCONFIG_PROC=y |
80 | CONFIG_LOG_BUF_SHIFT=14 | 92 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -90,22 +102,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
90 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
91 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 104 | CONFIG_INITRAMFS_SOURCE="" |
105 | CONFIG_RD_GZIP=y | ||
106 | # CONFIG_RD_BZIP2 is not set | ||
107 | # CONFIG_RD_LZMA is not set | ||
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 108 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
94 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
110 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EMBEDDED=y | 111 | CONFIG_EMBEDDED=y |
96 | CONFIG_SYSCTL_SYSCALL=y | 112 | CONFIG_SYSCTL_SYSCALL=y |
97 | CONFIG_KALLSYMS=y | 113 | CONFIG_KALLSYMS=y |
98 | CONFIG_KALLSYMS_ALL=y | 114 | CONFIG_KALLSYMS_ALL=y |
99 | CONFIG_KALLSYMS_STRIP_GENERATED=y | ||
100 | CONFIG_KALLSYMS_EXTRA_PASS=y | 115 | CONFIG_KALLSYMS_EXTRA_PASS=y |
116 | # CONFIG_STRIP_ASM_SYMS is not set | ||
101 | CONFIG_HOTPLUG=y | 117 | CONFIG_HOTPLUG=y |
102 | CONFIG_PRINTK=y | 118 | CONFIG_PRINTK=y |
103 | CONFIG_BUG=y | 119 | CONFIG_BUG=y |
104 | CONFIG_ELF_CORE=y | 120 | CONFIG_ELF_CORE=y |
105 | CONFIG_COMPAT_BRK=y | ||
106 | CONFIG_BASE_FULL=y | 121 | CONFIG_BASE_FULL=y |
107 | CONFIG_FUTEX=y | 122 | CONFIG_FUTEX=y |
108 | CONFIG_ANON_INODES=y | ||
109 | CONFIG_EPOLL=y | 123 | CONFIG_EPOLL=y |
110 | CONFIG_SIGNALFD=y | 124 | CONFIG_SIGNALFD=y |
111 | CONFIG_TIMERFD=y | 125 | CONFIG_TIMERFD=y |
@@ -115,10 +129,12 @@ CONFIG_AIO=y | |||
115 | CONFIG_VM_EVENT_COUNTERS=y | 129 | CONFIG_VM_EVENT_COUNTERS=y |
116 | CONFIG_PCI_QUIRKS=y | 130 | CONFIG_PCI_QUIRKS=y |
117 | CONFIG_SLUB_DEBUG=y | 131 | CONFIG_SLUB_DEBUG=y |
132 | CONFIG_COMPAT_BRK=y | ||
118 | # CONFIG_SLAB is not set | 133 | # CONFIG_SLAB is not set |
119 | CONFIG_SLUB=y | 134 | CONFIG_SLUB=y |
120 | # CONFIG_SLOB is not set | 135 | # CONFIG_SLOB is not set |
121 | # CONFIG_PROFILING is not set | 136 | # CONFIG_PROFILING is not set |
137 | # CONFIG_MARKERS is not set | ||
122 | CONFIG_HAVE_OPROFILE=y | 138 | CONFIG_HAVE_OPROFILE=y |
123 | # CONFIG_KPROBES is not set | 139 | # CONFIG_KPROBES is not set |
124 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 140 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -127,6 +143,7 @@ CONFIG_HAVE_KPROBES=y | |||
127 | CONFIG_HAVE_KRETPROBES=y | 143 | CONFIG_HAVE_KRETPROBES=y |
128 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 144 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
129 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 145 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
146 | # CONFIG_SLOW_WORK is not set | ||
130 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 147 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
131 | CONFIG_SLABINFO=y | 148 | CONFIG_SLABINFO=y |
132 | CONFIG_RT_MUTEXES=y | 149 | CONFIG_RT_MUTEXES=y |
@@ -140,7 +157,6 @@ CONFIG_MODVERSIONS=y | |||
140 | CONFIG_STOP_MACHINE=y | 157 | CONFIG_STOP_MACHINE=y |
141 | CONFIG_BLOCK=y | 158 | CONFIG_BLOCK=y |
142 | CONFIG_LBD=y | 159 | CONFIG_LBD=y |
143 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
144 | # CONFIG_BLK_DEV_BSG is not set | 160 | # CONFIG_BLK_DEV_BSG is not set |
145 | # CONFIG_BLK_DEV_INTEGRITY is not set | 161 | # CONFIG_BLK_DEV_INTEGRITY is not set |
146 | 162 | ||
@@ -156,18 +172,11 @@ CONFIG_IOSCHED_CFQ=y | |||
156 | CONFIG_DEFAULT_CFQ=y | 172 | CONFIG_DEFAULT_CFQ=y |
157 | # CONFIG_DEFAULT_NOOP is not set | 173 | # CONFIG_DEFAULT_NOOP is not set |
158 | CONFIG_DEFAULT_IOSCHED="cfq" | 174 | CONFIG_DEFAULT_IOSCHED="cfq" |
159 | CONFIG_CLASSIC_RCU=y | ||
160 | # CONFIG_TREE_RCU is not set | ||
161 | # CONFIG_PREEMPT_RCU is not set | ||
162 | # CONFIG_TREE_RCU_TRACE is not set | ||
163 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
164 | # CONFIG_FREEZER is not set | 175 | # CONFIG_FREEZER is not set |
165 | 176 | ||
166 | # | 177 | # |
167 | # Platform support | 178 | # Platform support |
168 | # | 179 | # |
169 | CONFIG_PPC_MULTIPLATFORM=y | ||
170 | CONFIG_CLASSIC32=y | ||
171 | # CONFIG_PPC_CHRP is not set | 180 | # CONFIG_PPC_CHRP is not set |
172 | # CONFIG_MPC5121_ADS is not set | 181 | # CONFIG_MPC5121_ADS is not set |
173 | # CONFIG_MPC5121_GENERIC is not set | 182 | # CONFIG_MPC5121_GENERIC is not set |
@@ -182,8 +191,11 @@ CONFIG_PPC_86xx=y | |||
182 | CONFIG_MPC8641_HPCN=y | 191 | CONFIG_MPC8641_HPCN=y |
183 | # CONFIG_SBC8641D is not set | 192 | # CONFIG_SBC8641D is not set |
184 | # CONFIG_MPC8610_HPCD is not set | 193 | # CONFIG_MPC8610_HPCD is not set |
194 | # CONFIG_GEF_PPC9A is not set | ||
195 | # CONFIG_GEF_SBC310 is not set | ||
185 | # CONFIG_GEF_SBC610 is not set | 196 | # CONFIG_GEF_SBC610 is not set |
186 | CONFIG_MPC8641=y | 197 | CONFIG_MPC8641=y |
198 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
187 | # CONFIG_IPIC is not set | 199 | # CONFIG_IPIC is not set |
188 | CONFIG_MPIC=y | 200 | CONFIG_MPIC=y |
189 | # CONFIG_MPIC_WEIRD is not set | 201 | # CONFIG_MPIC_WEIRD is not set |
@@ -245,9 +257,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
245 | CONFIG_BOUNCE=y | 257 | CONFIG_BOUNCE=y |
246 | CONFIG_VIRT_TO_BUS=y | 258 | CONFIG_VIRT_TO_BUS=y |
247 | CONFIG_UNEVICTABLE_LRU=y | 259 | CONFIG_UNEVICTABLE_LRU=y |
260 | CONFIG_HAVE_MLOCK=y | ||
261 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
248 | CONFIG_PPC_4K_PAGES=y | 262 | CONFIG_PPC_4K_PAGES=y |
249 | # CONFIG_PPC_16K_PAGES is not set | 263 | # CONFIG_PPC_16K_PAGES is not set |
250 | # CONFIG_PPC_64K_PAGES is not set | 264 | # CONFIG_PPC_64K_PAGES is not set |
265 | # CONFIG_PPC_256K_PAGES is not set | ||
251 | CONFIG_FORCE_MAX_ZONEORDER=11 | 266 | CONFIG_FORCE_MAX_ZONEORDER=11 |
252 | CONFIG_PROC_DEVICETREE=y | 267 | CONFIG_PROC_DEVICETREE=y |
253 | # CONFIG_CMDLINE_BOOL is not set | 268 | # CONFIG_CMDLINE_BOOL is not set |
@@ -274,6 +289,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
274 | # CONFIG_PCI_LEGACY is not set | 289 | # CONFIG_PCI_LEGACY is not set |
275 | # CONFIG_PCI_DEBUG is not set | 290 | # CONFIG_PCI_DEBUG is not set |
276 | # CONFIG_PCI_STUB is not set | 291 | # CONFIG_PCI_STUB is not set |
292 | # CONFIG_PCI_IOV is not set | ||
277 | # CONFIG_PCCARD is not set | 293 | # CONFIG_PCCARD is not set |
278 | # CONFIG_HOTPLUG_PCI is not set | 294 | # CONFIG_HOTPLUG_PCI is not set |
279 | CONFIG_HAS_RAPIDIO=y | 295 | CONFIG_HAS_RAPIDIO=y |
@@ -297,7 +313,6 @@ CONFIG_NET=y | |||
297 | # | 313 | # |
298 | # Networking options | 314 | # Networking options |
299 | # | 315 | # |
300 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
301 | CONFIG_PACKET=y | 316 | CONFIG_PACKET=y |
302 | # CONFIG_PACKET_MMAP is not set | 317 | # CONFIG_PACKET_MMAP is not set |
303 | CONFIG_UNIX=y | 318 | CONFIG_UNIX=y |
@@ -385,6 +400,7 @@ CONFIG_SCTP_HMAC_MD5=y | |||
385 | # CONFIG_LAPB is not set | 400 | # CONFIG_LAPB is not set |
386 | # CONFIG_ECONET is not set | 401 | # CONFIG_ECONET is not set |
387 | # CONFIG_WAN_ROUTER is not set | 402 | # CONFIG_WAN_ROUTER is not set |
403 | # CONFIG_PHONET is not set | ||
388 | # CONFIG_NET_SCHED is not set | 404 | # CONFIG_NET_SCHED is not set |
389 | # CONFIG_DCB is not set | 405 | # CONFIG_DCB is not set |
390 | 406 | ||
@@ -397,7 +413,6 @@ CONFIG_SCTP_HMAC_MD5=y | |||
397 | # CONFIG_IRDA is not set | 413 | # CONFIG_IRDA is not set |
398 | # CONFIG_BT is not set | 414 | # CONFIG_BT is not set |
399 | # CONFIG_AF_RXRPC is not set | 415 | # CONFIG_AF_RXRPC is not set |
400 | # CONFIG_PHONET is not set | ||
401 | CONFIG_FIB_RULES=y | 416 | CONFIG_FIB_RULES=y |
402 | CONFIG_WIRELESS=y | 417 | CONFIG_WIRELESS=y |
403 | # CONFIG_CFG80211 is not set | 418 | # CONFIG_CFG80211 is not set |
@@ -451,13 +466,20 @@ CONFIG_BLK_DEV_RAM_SIZE=131072 | |||
451 | # CONFIG_BLK_DEV_HD is not set | 466 | # CONFIG_BLK_DEV_HD is not set |
452 | CONFIG_MISC_DEVICES=y | 467 | CONFIG_MISC_DEVICES=y |
453 | # CONFIG_PHANTOM is not set | 468 | # CONFIG_PHANTOM is not set |
454 | # CONFIG_EEPROM_93CX6 is not set | ||
455 | # CONFIG_SGI_IOC4 is not set | 469 | # CONFIG_SGI_IOC4 is not set |
456 | # CONFIG_TIFM_CORE is not set | 470 | # CONFIG_TIFM_CORE is not set |
457 | # CONFIG_ICS932S401 is not set | 471 | # CONFIG_ICS932S401 is not set |
458 | # CONFIG_ENCLOSURE_SERVICES is not set | 472 | # CONFIG_ENCLOSURE_SERVICES is not set |
459 | # CONFIG_HP_ILO is not set | 473 | # CONFIG_HP_ILO is not set |
474 | # CONFIG_ISL29003 is not set | ||
460 | # CONFIG_C2PORT is not set | 475 | # CONFIG_C2PORT is not set |
476 | |||
477 | # | ||
478 | # EEPROM support | ||
479 | # | ||
480 | # CONFIG_EEPROM_AT24 is not set | ||
481 | CONFIG_EEPROM_LEGACY=y | ||
482 | # CONFIG_EEPROM_93CX6 is not set | ||
461 | CONFIG_HAVE_IDE=y | 483 | CONFIG_HAVE_IDE=y |
462 | # CONFIG_IDE is not set | 484 | # CONFIG_IDE is not set |
463 | 485 | ||
@@ -516,9 +538,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
516 | # CONFIG_MEGARAID_NEWGEN is not set | 538 | # CONFIG_MEGARAID_NEWGEN is not set |
517 | # CONFIG_MEGARAID_LEGACY is not set | 539 | # CONFIG_MEGARAID_LEGACY is not set |
518 | # CONFIG_MEGARAID_SAS is not set | 540 | # CONFIG_MEGARAID_SAS is not set |
541 | # CONFIG_SCSI_MPT2SAS is not set | ||
519 | # CONFIG_SCSI_HPTIOP is not set | 542 | # CONFIG_SCSI_HPTIOP is not set |
520 | # CONFIG_SCSI_BUSLOGIC is not set | 543 | # CONFIG_SCSI_BUSLOGIC is not set |
521 | # CONFIG_LIBFC is not set | 544 | # CONFIG_LIBFC is not set |
545 | # CONFIG_LIBFCOE is not set | ||
522 | # CONFIG_FCOE is not set | 546 | # CONFIG_FCOE is not set |
523 | # CONFIG_SCSI_DMX3191D is not set | 547 | # CONFIG_SCSI_DMX3191D is not set |
524 | # CONFIG_SCSI_EATA is not set | 548 | # CONFIG_SCSI_EATA is not set |
@@ -541,6 +565,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
541 | # CONFIG_SCSI_DEBUG is not set | 565 | # CONFIG_SCSI_DEBUG is not set |
542 | # CONFIG_SCSI_SRP is not set | 566 | # CONFIG_SCSI_SRP is not set |
543 | # CONFIG_SCSI_DH is not set | 567 | # CONFIG_SCSI_DH is not set |
568 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
544 | CONFIG_ATA=y | 569 | CONFIG_ATA=y |
545 | # CONFIG_ATA_NONSTANDARD is not set | 570 | # CONFIG_ATA_NONSTANDARD is not set |
546 | CONFIG_SATA_PMP=y | 571 | CONFIG_SATA_PMP=y |
@@ -617,6 +642,7 @@ CONFIG_PATA_ALI=y | |||
617 | # CONFIG_I2O is not set | 642 | # CONFIG_I2O is not set |
618 | # CONFIG_MACINTOSH_DRIVERS is not set | 643 | # CONFIG_MACINTOSH_DRIVERS is not set |
619 | CONFIG_NETDEVICES=y | 644 | CONFIG_NETDEVICES=y |
645 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
620 | CONFIG_DUMMY=y | 646 | CONFIG_DUMMY=y |
621 | # CONFIG_BONDING is not set | 647 | # CONFIG_BONDING is not set |
622 | # CONFIG_MACVLAN is not set | 648 | # CONFIG_MACVLAN is not set |
@@ -650,6 +676,8 @@ CONFIG_MII=y | |||
650 | # CONFIG_SUNGEM is not set | 676 | # CONFIG_SUNGEM is not set |
651 | # CONFIG_CASSINI is not set | 677 | # CONFIG_CASSINI is not set |
652 | # CONFIG_NET_VENDOR_3COM is not set | 678 | # CONFIG_NET_VENDOR_3COM is not set |
679 | # CONFIG_ETHOC is not set | ||
680 | # CONFIG_DNET is not set | ||
653 | # CONFIG_NET_TULIP is not set | 681 | # CONFIG_NET_TULIP is not set |
654 | # CONFIG_HP100 is not set | 682 | # CONFIG_HP100 is not set |
655 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 683 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -669,6 +697,7 @@ CONFIG_NETDEV_1000=y | |||
669 | # CONFIG_E1000E is not set | 697 | # CONFIG_E1000E is not set |
670 | # CONFIG_IP1000 is not set | 698 | # CONFIG_IP1000 is not set |
671 | # CONFIG_IGB is not set | 699 | # CONFIG_IGB is not set |
700 | # CONFIG_IGBVF is not set | ||
672 | # CONFIG_NS83820 is not set | 701 | # CONFIG_NS83820 is not set |
673 | # CONFIG_HAMACHI is not set | 702 | # CONFIG_HAMACHI is not set |
674 | # CONFIG_YELLOWFIN is not set | 703 | # CONFIG_YELLOWFIN is not set |
@@ -679,11 +708,12 @@ CONFIG_NETDEV_1000=y | |||
679 | # CONFIG_VIA_VELOCITY is not set | 708 | # CONFIG_VIA_VELOCITY is not set |
680 | # CONFIG_TIGON3 is not set | 709 | # CONFIG_TIGON3 is not set |
681 | # CONFIG_BNX2 is not set | 710 | # CONFIG_BNX2 is not set |
711 | CONFIG_FSL_PQ_MDIO=y | ||
682 | CONFIG_GIANFAR=y | 712 | CONFIG_GIANFAR=y |
683 | # CONFIG_MV643XX_ETH is not set | ||
684 | # CONFIG_QLA3XXX is not set | 713 | # CONFIG_QLA3XXX is not set |
685 | # CONFIG_ATL1 is not set | 714 | # CONFIG_ATL1 is not set |
686 | # CONFIG_ATL1E is not set | 715 | # CONFIG_ATL1E is not set |
716 | # CONFIG_ATL1C is not set | ||
687 | # CONFIG_JME is not set | 717 | # CONFIG_JME is not set |
688 | CONFIG_NETDEV_10000=y | 718 | CONFIG_NETDEV_10000=y |
689 | # CONFIG_CHELSIO_T1 is not set | 719 | # CONFIG_CHELSIO_T1 is not set |
@@ -693,6 +723,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
693 | # CONFIG_IXGBE is not set | 723 | # CONFIG_IXGBE is not set |
694 | # CONFIG_IXGB is not set | 724 | # CONFIG_IXGB is not set |
695 | # CONFIG_S2IO is not set | 725 | # CONFIG_S2IO is not set |
726 | # CONFIG_VXGE is not set | ||
696 | # CONFIG_MYRI10GE is not set | 727 | # CONFIG_MYRI10GE is not set |
697 | # CONFIG_NETXEN_NIC is not set | 728 | # CONFIG_NETXEN_NIC is not set |
698 | # CONFIG_NIU is not set | 729 | # CONFIG_NIU is not set |
@@ -702,6 +733,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
702 | # CONFIG_BNX2X is not set | 733 | # CONFIG_BNX2X is not set |
703 | # CONFIG_QLGE is not set | 734 | # CONFIG_QLGE is not set |
704 | # CONFIG_SFC is not set | 735 | # CONFIG_SFC is not set |
736 | # CONFIG_BE2NET is not set | ||
705 | # CONFIG_TR is not set | 737 | # CONFIG_TR is not set |
706 | 738 | ||
707 | # | 739 | # |
@@ -709,7 +741,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
709 | # | 741 | # |
710 | # CONFIG_WLAN_PRE80211 is not set | 742 | # CONFIG_WLAN_PRE80211 is not set |
711 | # CONFIG_WLAN_80211 is not set | 743 | # CONFIG_WLAN_80211 is not set |
712 | # CONFIG_IWLWIFI_LEDS is not set | ||
713 | 744 | ||
714 | # | 745 | # |
715 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 746 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -875,12 +906,9 @@ CONFIG_I2C_MPC=y | |||
875 | # Miscellaneous I2C Chip support | 906 | # Miscellaneous I2C Chip support |
876 | # | 907 | # |
877 | # CONFIG_DS1682 is not set | 908 | # CONFIG_DS1682 is not set |
878 | # CONFIG_EEPROM_AT24 is not set | ||
879 | CONFIG_EEPROM_LEGACY=y | ||
880 | # CONFIG_SENSORS_PCF8574 is not set | 909 | # CONFIG_SENSORS_PCF8574 is not set |
881 | # CONFIG_PCF8575 is not set | 910 | # CONFIG_PCF8575 is not set |
882 | # CONFIG_SENSORS_PCA9539 is not set | 911 | # CONFIG_SENSORS_PCA9539 is not set |
883 | # CONFIG_SENSORS_PCF8591 is not set | ||
884 | # CONFIG_SENSORS_MAX6875 is not set | 912 | # CONFIG_SENSORS_MAX6875 is not set |
885 | # CONFIG_SENSORS_TSL2550 is not set | 913 | # CONFIG_SENSORS_TSL2550 is not set |
886 | # CONFIG_I2C_DEBUG_CORE is not set | 914 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -933,7 +961,7 @@ CONFIG_VIDEO_MEDIA=m | |||
933 | # | 961 | # |
934 | # CONFIG_MEDIA_ATTACH is not set | 962 | # CONFIG_MEDIA_ATTACH is not set |
935 | CONFIG_MEDIA_TUNER=m | 963 | CONFIG_MEDIA_TUNER=m |
936 | # CONFIG_MEDIA_TUNER_CUSTOMIZE is not set | 964 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set |
937 | CONFIG_MEDIA_TUNER_SIMPLE=m | 965 | CONFIG_MEDIA_TUNER_SIMPLE=m |
938 | CONFIG_MEDIA_TUNER_TDA8290=m | 966 | CONFIG_MEDIA_TUNER_TDA8290=m |
939 | CONFIG_MEDIA_TUNER_TDA9887=m | 967 | CONFIG_MEDIA_TUNER_TDA9887=m |
@@ -942,6 +970,7 @@ CONFIG_MEDIA_TUNER_TEA5767=m | |||
942 | CONFIG_MEDIA_TUNER_MT20XX=m | 970 | CONFIG_MEDIA_TUNER_MT20XX=m |
943 | CONFIG_MEDIA_TUNER_XC2028=m | 971 | CONFIG_MEDIA_TUNER_XC2028=m |
944 | CONFIG_MEDIA_TUNER_XC5000=m | 972 | CONFIG_MEDIA_TUNER_XC5000=m |
973 | CONFIG_MEDIA_TUNER_MC44S803=m | ||
945 | # CONFIG_DVB_DYNAMIC_MINORS is not set | 974 | # CONFIG_DVB_DYNAMIC_MINORS is not set |
946 | CONFIG_DVB_CAPTURE_DRIVERS=y | 975 | CONFIG_DVB_CAPTURE_DRIVERS=y |
947 | 976 | ||
@@ -981,103 +1010,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y | |||
981 | # | 1010 | # |
982 | # Supported DVB Frontends | 1011 | # Supported DVB Frontends |
983 | # | 1012 | # |
984 | |||
985 | # | ||
986 | # Customise DVB Frontends | ||
987 | # | ||
988 | # CONFIG_DVB_FE_CUSTOMISE is not set | 1013 | # CONFIG_DVB_FE_CUSTOMISE is not set |
989 | |||
990 | # | ||
991 | # Multistandard (satellite) frontends | ||
992 | # | ||
993 | # CONFIG_DVB_STB0899 is not set | ||
994 | # CONFIG_DVB_STB6100 is not set | ||
995 | |||
996 | # | ||
997 | # DVB-S (satellite) frontends | ||
998 | # | ||
999 | # CONFIG_DVB_CX24110 is not set | ||
1000 | # CONFIG_DVB_CX24123 is not set | ||
1001 | # CONFIG_DVB_MT312 is not set | ||
1002 | # CONFIG_DVB_S5H1420 is not set | ||
1003 | # CONFIG_DVB_STV0288 is not set | ||
1004 | # CONFIG_DVB_STB6000 is not set | ||
1005 | # CONFIG_DVB_STV0299 is not set | ||
1006 | # CONFIG_DVB_TDA8083 is not set | ||
1007 | # CONFIG_DVB_TDA10086 is not set | ||
1008 | # CONFIG_DVB_TDA8261 is not set | ||
1009 | # CONFIG_DVB_VES1X93 is not set | ||
1010 | # CONFIG_DVB_TUNER_ITD1000 is not set | ||
1011 | # CONFIG_DVB_TUNER_CX24113 is not set | ||
1012 | # CONFIG_DVB_TDA826X is not set | ||
1013 | # CONFIG_DVB_TUA6100 is not set | ||
1014 | # CONFIG_DVB_CX24116 is not set | ||
1015 | # CONFIG_DVB_SI21XX is not set | ||
1016 | |||
1017 | # | ||
1018 | # DVB-T (terrestrial) frontends | ||
1019 | # | ||
1020 | # CONFIG_DVB_SP8870 is not set | ||
1021 | # CONFIG_DVB_SP887X is not set | ||
1022 | # CONFIG_DVB_CX22700 is not set | ||
1023 | # CONFIG_DVB_CX22702 is not set | ||
1024 | # CONFIG_DVB_DRX397XD is not set | ||
1025 | # CONFIG_DVB_L64781 is not set | ||
1026 | # CONFIG_DVB_TDA1004X is not set | ||
1027 | # CONFIG_DVB_NXT6000 is not set | ||
1028 | # CONFIG_DVB_MT352 is not set | ||
1029 | # CONFIG_DVB_ZL10353 is not set | ||
1030 | # CONFIG_DVB_DIB3000MB is not set | ||
1031 | # CONFIG_DVB_DIB3000MC is not set | ||
1032 | # CONFIG_DVB_DIB7000M is not set | ||
1033 | # CONFIG_DVB_DIB7000P is not set | ||
1034 | # CONFIG_DVB_TDA10048 is not set | ||
1035 | |||
1036 | # | ||
1037 | # DVB-C (cable) frontends | ||
1038 | # | ||
1039 | # CONFIG_DVB_VES1820 is not set | ||
1040 | # CONFIG_DVB_TDA10021 is not set | ||
1041 | # CONFIG_DVB_TDA10023 is not set | ||
1042 | # CONFIG_DVB_STV0297 is not set | ||
1043 | |||
1044 | # | ||
1045 | # ATSC (North American/Korean Terrestrial/Cable DTV) frontends | ||
1046 | # | ||
1047 | # CONFIG_DVB_NXT200X is not set | ||
1048 | # CONFIG_DVB_OR51211 is not set | ||
1049 | # CONFIG_DVB_OR51132 is not set | ||
1050 | # CONFIG_DVB_BCM3510 is not set | ||
1051 | # CONFIG_DVB_LGDT330X is not set | ||
1052 | # CONFIG_DVB_LGDT3304 is not set | ||
1053 | # CONFIG_DVB_S5H1409 is not set | ||
1054 | # CONFIG_DVB_AU8522 is not set | ||
1055 | # CONFIG_DVB_S5H1411 is not set | ||
1056 | |||
1057 | # | ||
1058 | # ISDB-T (terrestrial) frontends | ||
1059 | # | ||
1060 | # CONFIG_DVB_S921 is not set | ||
1061 | |||
1062 | # | ||
1063 | # Digital terrestrial only tuners/PLL | ||
1064 | # | ||
1065 | # CONFIG_DVB_PLL is not set | ||
1066 | # CONFIG_DVB_TUNER_DIB0070 is not set | ||
1067 | |||
1068 | # | ||
1069 | # SEC control devices for DVB-S | ||
1070 | # | ||
1071 | # CONFIG_DVB_LNBP21 is not set | ||
1072 | # CONFIG_DVB_ISL6405 is not set | ||
1073 | # CONFIG_DVB_ISL6421 is not set | ||
1074 | # CONFIG_DVB_LGS8GL5 is not set | ||
1075 | |||
1076 | # | ||
1077 | # Tools to develop new frontends | ||
1078 | # | ||
1079 | # CONFIG_DVB_DUMMY_FE is not set | ||
1080 | # CONFIG_DVB_AF9013 is not set | ||
1081 | CONFIG_DAB=y | 1014 | CONFIG_DAB=y |
1082 | # CONFIG_USB_DABUSB is not set | 1015 | # CONFIG_USB_DABUSB is not set |
1083 | 1016 | ||
@@ -1157,6 +1090,8 @@ CONFIG_SND_PCI=y | |||
1157 | # CONFIG_SND_INDIGO is not set | 1090 | # CONFIG_SND_INDIGO is not set |
1158 | # CONFIG_SND_INDIGOIO is not set | 1091 | # CONFIG_SND_INDIGOIO is not set |
1159 | # CONFIG_SND_INDIGODJ is not set | 1092 | # CONFIG_SND_INDIGODJ is not set |
1093 | # CONFIG_SND_INDIGOIOX is not set | ||
1094 | # CONFIG_SND_INDIGODJX is not set | ||
1160 | # CONFIG_SND_EMU10K1 is not set | 1095 | # CONFIG_SND_EMU10K1 is not set |
1161 | # CONFIG_SND_EMU10K1X is not set | 1096 | # CONFIG_SND_EMU10K1X is not set |
1162 | # CONFIG_SND_ENS1370 is not set | 1097 | # CONFIG_SND_ENS1370 is not set |
@@ -1211,15 +1146,17 @@ CONFIG_USB_HID=y | |||
1211 | # | 1146 | # |
1212 | # Special HID drivers | 1147 | # Special HID drivers |
1213 | # | 1148 | # |
1214 | CONFIG_HID_COMPAT=y | ||
1215 | CONFIG_HID_A4TECH=y | 1149 | CONFIG_HID_A4TECH=y |
1216 | CONFIG_HID_APPLE=y | 1150 | CONFIG_HID_APPLE=y |
1217 | CONFIG_HID_BELKIN=y | 1151 | CONFIG_HID_BELKIN=y |
1218 | CONFIG_HID_CHERRY=y | 1152 | CONFIG_HID_CHERRY=y |
1219 | CONFIG_HID_CHICONY=y | 1153 | CONFIG_HID_CHICONY=y |
1220 | CONFIG_HID_CYPRESS=y | 1154 | CONFIG_HID_CYPRESS=y |
1155 | # CONFIG_DRAGONRISE_FF is not set | ||
1221 | CONFIG_HID_EZKEY=y | 1156 | CONFIG_HID_EZKEY=y |
1157 | # CONFIG_HID_KYE is not set | ||
1222 | CONFIG_HID_GYRATION=y | 1158 | CONFIG_HID_GYRATION=y |
1159 | # CONFIG_HID_KENSINGTON is not set | ||
1223 | CONFIG_HID_LOGITECH=y | 1160 | CONFIG_HID_LOGITECH=y |
1224 | # CONFIG_LOGITECH_FF is not set | 1161 | # CONFIG_LOGITECH_FF is not set |
1225 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1162 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1292,11 +1229,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1292 | # CONFIG_USB_TMC is not set | 1229 | # CONFIG_USB_TMC is not set |
1293 | 1230 | ||
1294 | # | 1231 | # |
1295 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1232 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1296 | # | 1233 | # |
1297 | 1234 | ||
1298 | # | 1235 | # |
1299 | # see USB_STORAGE Help for more information | 1236 | # also be needed; see USB_STORAGE Help for more info |
1300 | # | 1237 | # |
1301 | CONFIG_USB_STORAGE=y | 1238 | CONFIG_USB_STORAGE=y |
1302 | # CONFIG_USB_STORAGE_DEBUG is not set | 1239 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1338,7 +1275,6 @@ CONFIG_USB_STORAGE=y | |||
1338 | # CONFIG_USB_LED is not set | 1275 | # CONFIG_USB_LED is not set |
1339 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1276 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1340 | # CONFIG_USB_CYTHERM is not set | 1277 | # CONFIG_USB_CYTHERM is not set |
1341 | # CONFIG_USB_PHIDGET is not set | ||
1342 | # CONFIG_USB_IDMOUSE is not set | 1278 | # CONFIG_USB_IDMOUSE is not set |
1343 | # CONFIG_USB_FTDI_ELAN is not set | 1279 | # CONFIG_USB_FTDI_ELAN is not set |
1344 | # CONFIG_USB_APPLEDISPLAY is not set | 1280 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1354,6 +1290,7 @@ CONFIG_USB_STORAGE=y | |||
1354 | # | 1290 | # |
1355 | # OTG and related infrastructure | 1291 | # OTG and related infrastructure |
1356 | # | 1292 | # |
1293 | # CONFIG_NOP_USB_XCEIV is not set | ||
1357 | # CONFIG_UWB is not set | 1294 | # CONFIG_UWB is not set |
1358 | # CONFIG_MMC is not set | 1295 | # CONFIG_MMC is not set |
1359 | # CONFIG_MEMSTICK is not set | 1296 | # CONFIG_MEMSTICK is not set |
@@ -1415,8 +1352,9 @@ CONFIG_RTC_DRV_CMOS=y | |||
1415 | # | 1352 | # |
1416 | # on-CPU RTC drivers | 1353 | # on-CPU RTC drivers |
1417 | # | 1354 | # |
1418 | # CONFIG_RTC_DRV_PPC is not set | 1355 | # CONFIG_RTC_DRV_GENERIC is not set |
1419 | # CONFIG_DMADEVICES is not set | 1356 | # CONFIG_DMADEVICES is not set |
1357 | # CONFIG_AUXDISPLAY is not set | ||
1420 | # CONFIG_UIO is not set | 1358 | # CONFIG_UIO is not set |
1421 | # CONFIG_STAGING is not set | 1359 | # CONFIG_STAGING is not set |
1422 | 1360 | ||
@@ -1427,6 +1365,7 @@ CONFIG_EXT2_FS=y | |||
1427 | # CONFIG_EXT2_FS_XATTR is not set | 1365 | # CONFIG_EXT2_FS_XATTR is not set |
1428 | # CONFIG_EXT2_FS_XIP is not set | 1366 | # CONFIG_EXT2_FS_XIP is not set |
1429 | CONFIG_EXT3_FS=y | 1367 | CONFIG_EXT3_FS=y |
1368 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1430 | CONFIG_EXT3_FS_XATTR=y | 1369 | CONFIG_EXT3_FS_XATTR=y |
1431 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1370 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1432 | # CONFIG_EXT3_FS_SECURITY is not set | 1371 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1450,6 +1389,11 @@ CONFIG_INOTIFY_USER=y | |||
1450 | # CONFIG_FUSE_FS is not set | 1389 | # CONFIG_FUSE_FS is not set |
1451 | 1390 | ||
1452 | # | 1391 | # |
1392 | # Caches | ||
1393 | # | ||
1394 | # CONFIG_FSCACHE is not set | ||
1395 | |||
1396 | # | ||
1453 | # CD-ROM/DVD Filesystems | 1397 | # CD-ROM/DVD Filesystems |
1454 | # | 1398 | # |
1455 | CONFIG_ISO9660_FS=m | 1399 | CONFIG_ISO9660_FS=m |
@@ -1504,6 +1448,7 @@ CONFIG_SYSV_FS=m | |||
1504 | CONFIG_UFS_FS=m | 1448 | CONFIG_UFS_FS=m |
1505 | # CONFIG_UFS_FS_WRITE is not set | 1449 | # CONFIG_UFS_FS_WRITE is not set |
1506 | # CONFIG_UFS_DEBUG is not set | 1450 | # CONFIG_UFS_DEBUG is not set |
1451 | # CONFIG_NILFS2_FS is not set | ||
1507 | CONFIG_NETWORK_FILESYSTEMS=y | 1452 | CONFIG_NETWORK_FILESYSTEMS=y |
1508 | CONFIG_NFS_FS=y | 1453 | CONFIG_NFS_FS=y |
1509 | CONFIG_NFS_V3=y | 1454 | CONFIG_NFS_V3=y |
@@ -1519,7 +1464,6 @@ CONFIG_EXPORTFS=y | |||
1519 | CONFIG_NFS_COMMON=y | 1464 | CONFIG_NFS_COMMON=y |
1520 | CONFIG_SUNRPC=y | 1465 | CONFIG_SUNRPC=y |
1521 | CONFIG_SUNRPC_GSS=y | 1466 | CONFIG_SUNRPC_GSS=y |
1522 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1523 | CONFIG_RPCSEC_GSS_KRB5=y | 1467 | CONFIG_RPCSEC_GSS_KRB5=y |
1524 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1468 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1525 | # CONFIG_SMB_FS is not set | 1469 | # CONFIG_SMB_FS is not set |
@@ -1590,6 +1534,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1590 | # CONFIG_NLS_KOI8_U is not set | 1534 | # CONFIG_NLS_KOI8_U is not set |
1591 | CONFIG_NLS_UTF8=m | 1535 | CONFIG_NLS_UTF8=m |
1592 | # CONFIG_DLM is not set | 1536 | # CONFIG_DLM is not set |
1537 | # CONFIG_BINARY_PRINTF is not set | ||
1593 | 1538 | ||
1594 | # | 1539 | # |
1595 | # Library routines | 1540 | # Library routines |
@@ -1604,11 +1549,12 @@ CONFIG_CRC32=y | |||
1604 | # CONFIG_CRC7 is not set | 1549 | # CONFIG_CRC7 is not set |
1605 | CONFIG_LIBCRC32C=m | 1550 | CONFIG_LIBCRC32C=m |
1606 | CONFIG_ZLIB_INFLATE=y | 1551 | CONFIG_ZLIB_INFLATE=y |
1607 | CONFIG_PLIST=y | 1552 | CONFIG_DECOMPRESS_GZIP=y |
1608 | CONFIG_HAS_IOMEM=y | 1553 | CONFIG_HAS_IOMEM=y |
1609 | CONFIG_HAS_IOPORT=y | 1554 | CONFIG_HAS_IOPORT=y |
1610 | CONFIG_HAS_DMA=y | 1555 | CONFIG_HAS_DMA=y |
1611 | CONFIG_HAVE_LMB=y | 1556 | CONFIG_HAVE_LMB=y |
1557 | CONFIG_NLATTR=y | ||
1612 | 1558 | ||
1613 | # | 1559 | # |
1614 | # Kernel hacking | 1560 | # Kernel hacking |
@@ -1626,6 +1572,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1626 | CONFIG_DETECT_SOFTLOCKUP=y | 1572 | CONFIG_DETECT_SOFTLOCKUP=y |
1627 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1573 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1628 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1574 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1575 | CONFIG_DETECT_HUNG_TASK=y | ||
1576 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1577 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1629 | CONFIG_SCHED_DEBUG=y | 1578 | CONFIG_SCHED_DEBUG=y |
1630 | # CONFIG_SCHEDSTATS is not set | 1579 | # CONFIG_SCHEDSTATS is not set |
1631 | # CONFIG_TIMER_STATS is not set | 1580 | # CONFIG_TIMER_STATS is not set |
@@ -1656,9 +1605,12 @@ CONFIG_DEBUG_INFO=y | |||
1656 | # CONFIG_FAULT_INJECTION is not set | 1605 | # CONFIG_FAULT_INJECTION is not set |
1657 | # CONFIG_LATENCYTOP is not set | 1606 | # CONFIG_LATENCYTOP is not set |
1658 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1607 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1608 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1659 | CONFIG_HAVE_FUNCTION_TRACER=y | 1609 | CONFIG_HAVE_FUNCTION_TRACER=y |
1610 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1660 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1611 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1661 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1612 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1613 | CONFIG_TRACING_SUPPORT=y | ||
1662 | 1614 | ||
1663 | # | 1615 | # |
1664 | # Tracers | 1616 | # Tracers |
@@ -1666,17 +1618,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1666 | # CONFIG_FUNCTION_TRACER is not set | 1618 | # CONFIG_FUNCTION_TRACER is not set |
1667 | # CONFIG_SCHED_TRACER is not set | 1619 | # CONFIG_SCHED_TRACER is not set |
1668 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1620 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1621 | # CONFIG_EVENT_TRACER is not set | ||
1669 | # CONFIG_BOOT_TRACER is not set | 1622 | # CONFIG_BOOT_TRACER is not set |
1670 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1623 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1671 | # CONFIG_STACK_TRACER is not set | 1624 | # CONFIG_STACK_TRACER is not set |
1672 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1625 | # CONFIG_KMEMTRACE is not set |
1626 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1627 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1673 | # CONFIG_SAMPLES is not set | 1628 | # CONFIG_SAMPLES is not set |
1674 | CONFIG_HAVE_ARCH_KGDB=y | 1629 | CONFIG_HAVE_ARCH_KGDB=y |
1675 | # CONFIG_KGDB is not set | 1630 | # CONFIG_KGDB is not set |
1676 | CONFIG_PRINT_STACK_DEPTH=64 | 1631 | CONFIG_PRINT_STACK_DEPTH=64 |
1677 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1632 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1678 | # CONFIG_DEBUG_STACK_USAGE is not set | 1633 | # CONFIG_DEBUG_STACK_USAGE is not set |
1679 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1680 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1634 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1681 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1635 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1682 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1636 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1707,10 +1661,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1707 | CONFIG_CRYPTO_HASH=y | 1661 | CONFIG_CRYPTO_HASH=y |
1708 | CONFIG_CRYPTO_HASH2=y | 1662 | CONFIG_CRYPTO_HASH2=y |
1709 | CONFIG_CRYPTO_RNG2=y | 1663 | CONFIG_CRYPTO_RNG2=y |
1664 | CONFIG_CRYPTO_PCOMP=y | ||
1710 | CONFIG_CRYPTO_MANAGER=y | 1665 | CONFIG_CRYPTO_MANAGER=y |
1711 | CONFIG_CRYPTO_MANAGER2=y | 1666 | CONFIG_CRYPTO_MANAGER2=y |
1712 | # CONFIG_CRYPTO_GF128MUL is not set | 1667 | # CONFIG_CRYPTO_GF128MUL is not set |
1713 | # CONFIG_CRYPTO_NULL is not set | 1668 | # CONFIG_CRYPTO_NULL is not set |
1669 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1714 | # CONFIG_CRYPTO_CRYPTD is not set | 1670 | # CONFIG_CRYPTO_CRYPTD is not set |
1715 | # CONFIG_CRYPTO_AUTHENC is not set | 1671 | # CONFIG_CRYPTO_AUTHENC is not set |
1716 | # CONFIG_CRYPTO_TEST is not set | 1672 | # CONFIG_CRYPTO_TEST is not set |
@@ -1779,6 +1735,7 @@ CONFIG_CRYPTO_DES=y | |||
1779 | # Compression | 1735 | # Compression |
1780 | # | 1736 | # |
1781 | # CONFIG_CRYPTO_DEFLATE is not set | 1737 | # CONFIG_CRYPTO_DEFLATE is not set |
1738 | # CONFIG_CRYPTO_ZLIB is not set | ||
1782 | # CONFIG_CRYPTO_LZO is not set | 1739 | # CONFIG_CRYPTO_LZO is not set |
1783 | 1740 | ||
1784 | # | 1741 | # |
diff --git a/arch/powerpc/configs/86xx/sbc8641d_defconfig b/arch/powerpc/configs/86xx/sbc8641d_defconfig index 04797e730c5a..c30a0c715873 100644 --- a/arch/powerpc/configs/86xx/sbc8641d_defconfig +++ b/arch/powerpc/configs/86xx/sbc8641d_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:36:23 2009 | 4 | # Wed May 13 17:22:27 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_PHYS_64BIT is not set | 19 | # CONFIG_PHYS_64BIT is not set |
19 | CONFIG_ALTIVEC=y | 20 | CONFIG_ALTIVEC=y |
@@ -57,6 +58,7 @@ CONFIG_GENERIC_BUG=y | |||
57 | CONFIG_DEFAULT_UIMAGE=y | 58 | CONFIG_DEFAULT_UIMAGE=y |
58 | # CONFIG_PPC_DCR_NATIVE is not set | 59 | # CONFIG_PPC_DCR_NATIVE is not set |
59 | # CONFIG_PPC_DCR_MMIO is not set | 60 | # CONFIG_PPC_DCR_MMIO is not set |
61 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
61 | 63 | ||
62 | # | 64 | # |
@@ -71,10 +73,20 @@ CONFIG_SWAP=y | |||
71 | CONFIG_SYSVIPC=y | 73 | CONFIG_SYSVIPC=y |
72 | CONFIG_SYSVIPC_SYSCTL=y | 74 | CONFIG_SYSVIPC_SYSCTL=y |
73 | CONFIG_POSIX_MQUEUE=y | 75 | CONFIG_POSIX_MQUEUE=y |
76 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
74 | CONFIG_BSD_PROCESS_ACCT=y | 77 | CONFIG_BSD_PROCESS_ACCT=y |
75 | CONFIG_BSD_PROCESS_ACCT_V3=y | 78 | CONFIG_BSD_PROCESS_ACCT_V3=y |
76 | # CONFIG_TASKSTATS is not set | 79 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 80 | # CONFIG_AUDIT is not set |
81 | |||
82 | # | ||
83 | # RCU Subsystem | ||
84 | # | ||
85 | CONFIG_CLASSIC_RCU=y | ||
86 | # CONFIG_TREE_RCU is not set | ||
87 | # CONFIG_PREEMPT_RCU is not set | ||
88 | # CONFIG_TREE_RCU_TRACE is not set | ||
89 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | CONFIG_IKCONFIG=y | 90 | CONFIG_IKCONFIG=y |
79 | CONFIG_IKCONFIG_PROC=y | 91 | CONFIG_IKCONFIG_PROC=y |
80 | CONFIG_LOG_BUF_SHIFT=14 | 92 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -90,21 +102,24 @@ CONFIG_RELAY=y | |||
90 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
91 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 104 | CONFIG_INITRAMFS_SOURCE="" |
105 | CONFIG_RD_GZIP=y | ||
106 | # CONFIG_RD_BZIP2 is not set | ||
107 | # CONFIG_RD_LZMA is not set | ||
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 108 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
94 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
110 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EMBEDDED=y | 111 | CONFIG_EMBEDDED=y |
96 | CONFIG_SYSCTL_SYSCALL=y | 112 | CONFIG_SYSCTL_SYSCALL=y |
97 | CONFIG_KALLSYMS=y | 113 | CONFIG_KALLSYMS=y |
98 | # CONFIG_KALLSYMS_ALL is not set | 114 | # CONFIG_KALLSYMS_ALL is not set |
99 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 115 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
116 | # CONFIG_STRIP_ASM_SYMS is not set | ||
100 | CONFIG_HOTPLUG=y | 117 | CONFIG_HOTPLUG=y |
101 | CONFIG_PRINTK=y | 118 | CONFIG_PRINTK=y |
102 | CONFIG_BUG=y | 119 | CONFIG_BUG=y |
103 | CONFIG_ELF_CORE=y | 120 | CONFIG_ELF_CORE=y |
104 | CONFIG_COMPAT_BRK=y | ||
105 | CONFIG_BASE_FULL=y | 121 | CONFIG_BASE_FULL=y |
106 | CONFIG_FUTEX=y | 122 | CONFIG_FUTEX=y |
107 | CONFIG_ANON_INODES=y | ||
108 | CONFIG_EPOLL=y | 123 | CONFIG_EPOLL=y |
109 | CONFIG_SIGNALFD=y | 124 | CONFIG_SIGNALFD=y |
110 | CONFIG_TIMERFD=y | 125 | CONFIG_TIMERFD=y |
@@ -113,10 +128,12 @@ CONFIG_SHMEM=y | |||
113 | CONFIG_AIO=y | 128 | CONFIG_AIO=y |
114 | CONFIG_VM_EVENT_COUNTERS=y | 129 | CONFIG_VM_EVENT_COUNTERS=y |
115 | CONFIG_PCI_QUIRKS=y | 130 | CONFIG_PCI_QUIRKS=y |
131 | CONFIG_COMPAT_BRK=y | ||
116 | CONFIG_SLAB=y | 132 | CONFIG_SLAB=y |
117 | # CONFIG_SLUB is not set | 133 | # CONFIG_SLUB is not set |
118 | # CONFIG_SLOB is not set | 134 | # CONFIG_SLOB is not set |
119 | # CONFIG_PROFILING is not set | 135 | # CONFIG_PROFILING is not set |
136 | # CONFIG_MARKERS is not set | ||
120 | CONFIG_HAVE_OPROFILE=y | 137 | CONFIG_HAVE_OPROFILE=y |
121 | # CONFIG_KPROBES is not set | 138 | # CONFIG_KPROBES is not set |
122 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 139 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -125,6 +142,7 @@ CONFIG_HAVE_KPROBES=y | |||
125 | CONFIG_HAVE_KRETPROBES=y | 142 | CONFIG_HAVE_KRETPROBES=y |
126 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 143 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
127 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 144 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
145 | # CONFIG_SLOW_WORK is not set | ||
128 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 146 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
129 | CONFIG_SLABINFO=y | 147 | CONFIG_SLABINFO=y |
130 | CONFIG_RT_MUTEXES=y | 148 | CONFIG_RT_MUTEXES=y |
@@ -138,7 +156,6 @@ CONFIG_MODULE_UNLOAD=y | |||
138 | CONFIG_STOP_MACHINE=y | 156 | CONFIG_STOP_MACHINE=y |
139 | CONFIG_BLOCK=y | 157 | CONFIG_BLOCK=y |
140 | # CONFIG_LBD is not set | 158 | # CONFIG_LBD is not set |
141 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
142 | # CONFIG_BLK_DEV_BSG is not set | 159 | # CONFIG_BLK_DEV_BSG is not set |
143 | # CONFIG_BLK_DEV_INTEGRITY is not set | 160 | # CONFIG_BLK_DEV_INTEGRITY is not set |
144 | 161 | ||
@@ -154,18 +171,11 @@ CONFIG_IOSCHED_CFQ=y | |||
154 | CONFIG_DEFAULT_CFQ=y | 171 | CONFIG_DEFAULT_CFQ=y |
155 | # CONFIG_DEFAULT_NOOP is not set | 172 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="cfq" | 173 | CONFIG_DEFAULT_IOSCHED="cfq" |
157 | CONFIG_CLASSIC_RCU=y | ||
158 | # CONFIG_TREE_RCU is not set | ||
159 | # CONFIG_PREEMPT_RCU is not set | ||
160 | # CONFIG_TREE_RCU_TRACE is not set | ||
161 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
162 | # CONFIG_FREEZER is not set | 174 | # CONFIG_FREEZER is not set |
163 | 175 | ||
164 | # | 176 | # |
165 | # Platform support | 177 | # Platform support |
166 | # | 178 | # |
167 | CONFIG_PPC_MULTIPLATFORM=y | ||
168 | CONFIG_CLASSIC32=y | ||
169 | # CONFIG_PPC_CHRP is not set | 179 | # CONFIG_PPC_CHRP is not set |
170 | # CONFIG_MPC5121_ADS is not set | 180 | # CONFIG_MPC5121_ADS is not set |
171 | # CONFIG_MPC5121_GENERIC is not set | 181 | # CONFIG_MPC5121_GENERIC is not set |
@@ -180,8 +190,11 @@ CONFIG_PPC_86xx=y | |||
180 | # CONFIG_MPC8641_HPCN is not set | 190 | # CONFIG_MPC8641_HPCN is not set |
181 | CONFIG_SBC8641D=y | 191 | CONFIG_SBC8641D=y |
182 | # CONFIG_MPC8610_HPCD is not set | 192 | # CONFIG_MPC8610_HPCD is not set |
193 | # CONFIG_GEF_PPC9A is not set | ||
194 | # CONFIG_GEF_SBC310 is not set | ||
183 | # CONFIG_GEF_SBC610 is not set | 195 | # CONFIG_GEF_SBC610 is not set |
184 | CONFIG_MPC8641=y | 196 | CONFIG_MPC8641=y |
197 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
185 | # CONFIG_IPIC is not set | 198 | # CONFIG_IPIC is not set |
186 | CONFIG_MPIC=y | 199 | CONFIG_MPIC=y |
187 | # CONFIG_MPIC_WEIRD is not set | 200 | # CONFIG_MPIC_WEIRD is not set |
@@ -243,9 +256,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
243 | CONFIG_BOUNCE=y | 256 | CONFIG_BOUNCE=y |
244 | CONFIG_VIRT_TO_BUS=y | 257 | CONFIG_VIRT_TO_BUS=y |
245 | CONFIG_UNEVICTABLE_LRU=y | 258 | CONFIG_UNEVICTABLE_LRU=y |
259 | CONFIG_HAVE_MLOCK=y | ||
260 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
246 | CONFIG_PPC_4K_PAGES=y | 261 | CONFIG_PPC_4K_PAGES=y |
247 | # CONFIG_PPC_16K_PAGES is not set | 262 | # CONFIG_PPC_16K_PAGES is not set |
248 | # CONFIG_PPC_64K_PAGES is not set | 263 | # CONFIG_PPC_64K_PAGES is not set |
264 | # CONFIG_PPC_256K_PAGES is not set | ||
249 | CONFIG_FORCE_MAX_ZONEORDER=11 | 265 | CONFIG_FORCE_MAX_ZONEORDER=11 |
250 | # CONFIG_PROC_DEVICETREE is not set | 266 | # CONFIG_PROC_DEVICETREE is not set |
251 | # CONFIG_CMDLINE_BOOL is not set | 267 | # CONFIG_CMDLINE_BOOL is not set |
@@ -274,6 +290,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
274 | # CONFIG_PCI_LEGACY is not set | 290 | # CONFIG_PCI_LEGACY is not set |
275 | # CONFIG_PCI_DEBUG is not set | 291 | # CONFIG_PCI_DEBUG is not set |
276 | # CONFIG_PCI_STUB is not set | 292 | # CONFIG_PCI_STUB is not set |
293 | # CONFIG_PCI_IOV is not set | ||
277 | # CONFIG_PCCARD is not set | 294 | # CONFIG_PCCARD is not set |
278 | # CONFIG_HOTPLUG_PCI is not set | 295 | # CONFIG_HOTPLUG_PCI is not set |
279 | # CONFIG_HAS_RAPIDIO is not set | 296 | # CONFIG_HAS_RAPIDIO is not set |
@@ -296,7 +313,6 @@ CONFIG_NET=y | |||
296 | # | 313 | # |
297 | # Networking options | 314 | # Networking options |
298 | # | 315 | # |
299 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
300 | CONFIG_PACKET=y | 316 | CONFIG_PACKET=y |
301 | CONFIG_PACKET_MMAP=y | 317 | CONFIG_PACKET_MMAP=y |
302 | CONFIG_UNIX=y | 318 | CONFIG_UNIX=y |
@@ -376,9 +392,11 @@ CONFIG_BRIDGE_NETFILTER=y | |||
376 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set | 392 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set |
377 | # CONFIG_NETFILTER_NETLINK_LOG is not set | 393 | # CONFIG_NETFILTER_NETLINK_LOG is not set |
378 | # CONFIG_NF_CONNTRACK is not set | 394 | # CONFIG_NF_CONNTRACK is not set |
395 | # CONFIG_NETFILTER_TPROXY is not set | ||
379 | CONFIG_NETFILTER_XTABLES=m | 396 | CONFIG_NETFILTER_XTABLES=m |
380 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | 397 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set |
381 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | 398 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set |
399 | # CONFIG_NETFILTER_XT_TARGET_HL is not set | ||
382 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | 400 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set |
383 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set | 401 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set |
384 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set | 402 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set |
@@ -391,6 +409,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
391 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set | 409 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set |
392 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | 410 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set |
393 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | 411 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set |
412 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
394 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | 413 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set |
395 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | 414 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set |
396 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | 415 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set |
@@ -449,11 +468,11 @@ CONFIG_IP6_NF_MATCH_HL=m | |||
449 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 468 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
450 | # CONFIG_IP6_NF_MATCH_MH is not set | 469 | # CONFIG_IP6_NF_MATCH_MH is not set |
451 | CONFIG_IP6_NF_MATCH_RT=m | 470 | CONFIG_IP6_NF_MATCH_RT=m |
471 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
452 | CONFIG_IP6_NF_TARGET_LOG=m | 472 | CONFIG_IP6_NF_TARGET_LOG=m |
453 | CONFIG_IP6_NF_FILTER=m | 473 | CONFIG_IP6_NF_FILTER=m |
454 | # CONFIG_IP6_NF_TARGET_REJECT is not set | 474 | # CONFIG_IP6_NF_TARGET_REJECT is not set |
455 | CONFIG_IP6_NF_MANGLE=m | 475 | CONFIG_IP6_NF_MANGLE=m |
456 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
457 | CONFIG_IP6_NF_RAW=m | 476 | CONFIG_IP6_NF_RAW=m |
458 | # CONFIG_IP6_NF_SECURITY is not set | 477 | # CONFIG_IP6_NF_SECURITY is not set |
459 | # CONFIG_BRIDGE_NF_EBTABLES is not set | 478 | # CONFIG_BRIDGE_NF_EBTABLES is not set |
@@ -488,6 +507,7 @@ CONFIG_LLC=m | |||
488 | # CONFIG_LAPB is not set | 507 | # CONFIG_LAPB is not set |
489 | # CONFIG_ECONET is not set | 508 | # CONFIG_ECONET is not set |
490 | CONFIG_WAN_ROUTER=m | 509 | CONFIG_WAN_ROUTER=m |
510 | # CONFIG_PHONET is not set | ||
491 | CONFIG_NET_SCHED=y | 511 | CONFIG_NET_SCHED=y |
492 | 512 | ||
493 | # | 513 | # |
@@ -538,7 +558,6 @@ CONFIG_NET_PKTGEN=m | |||
538 | # CONFIG_IRDA is not set | 558 | # CONFIG_IRDA is not set |
539 | # CONFIG_BT is not set | 559 | # CONFIG_BT is not set |
540 | # CONFIG_AF_RXRPC is not set | 560 | # CONFIG_AF_RXRPC is not set |
541 | # CONFIG_PHONET is not set | ||
542 | CONFIG_FIB_RULES=y | 561 | CONFIG_FIB_RULES=y |
543 | CONFIG_WIRELESS=y | 562 | CONFIG_WIRELESS=y |
544 | # CONFIG_CFG80211 is not set | 563 | # CONFIG_CFG80211 is not set |
@@ -649,7 +668,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
649 | # LPDDR flash memory drivers | 668 | # LPDDR flash memory drivers |
650 | # | 669 | # |
651 | # CONFIG_MTD_LPDDR is not set | 670 | # CONFIG_MTD_LPDDR is not set |
652 | # CONFIG_MTD_QINFO_PROBE is not set | ||
653 | 671 | ||
654 | # | 672 | # |
655 | # UBI - Unsorted block images | 673 | # UBI - Unsorted block images |
@@ -678,13 +696,20 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
678 | # CONFIG_BLK_DEV_HD is not set | 696 | # CONFIG_BLK_DEV_HD is not set |
679 | CONFIG_MISC_DEVICES=y | 697 | CONFIG_MISC_DEVICES=y |
680 | # CONFIG_PHANTOM is not set | 698 | # CONFIG_PHANTOM is not set |
681 | # CONFIG_EEPROM_93CX6 is not set | ||
682 | # CONFIG_SGI_IOC4 is not set | 699 | # CONFIG_SGI_IOC4 is not set |
683 | # CONFIG_TIFM_CORE is not set | 700 | # CONFIG_TIFM_CORE is not set |
684 | # CONFIG_ICS932S401 is not set | 701 | # CONFIG_ICS932S401 is not set |
685 | # CONFIG_ENCLOSURE_SERVICES is not set | 702 | # CONFIG_ENCLOSURE_SERVICES is not set |
686 | # CONFIG_HP_ILO is not set | 703 | # CONFIG_HP_ILO is not set |
704 | # CONFIG_ISL29003 is not set | ||
687 | # CONFIG_C2PORT is not set | 705 | # CONFIG_C2PORT is not set |
706 | |||
707 | # | ||
708 | # EEPROM support | ||
709 | # | ||
710 | # CONFIG_EEPROM_AT24 is not set | ||
711 | # CONFIG_EEPROM_LEGACY is not set | ||
712 | # CONFIG_EEPROM_93CX6 is not set | ||
688 | CONFIG_HAVE_IDE=y | 713 | CONFIG_HAVE_IDE=y |
689 | # CONFIG_IDE is not set | 714 | # CONFIG_IDE is not set |
690 | 715 | ||
@@ -729,6 +754,7 @@ CONFIG_DM_ZERO=y | |||
729 | # CONFIG_I2O is not set | 754 | # CONFIG_I2O is not set |
730 | # CONFIG_MACINTOSH_DRIVERS is not set | 755 | # CONFIG_MACINTOSH_DRIVERS is not set |
731 | CONFIG_NETDEVICES=y | 756 | CONFIG_NETDEVICES=y |
757 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
732 | CONFIG_DUMMY=m | 758 | CONFIG_DUMMY=m |
733 | CONFIG_BONDING=m | 759 | CONFIG_BONDING=m |
734 | # CONFIG_MACVLAN is not set | 760 | # CONFIG_MACVLAN is not set |
@@ -762,6 +788,8 @@ CONFIG_MII=y | |||
762 | # CONFIG_SUNGEM is not set | 788 | # CONFIG_SUNGEM is not set |
763 | # CONFIG_CASSINI is not set | 789 | # CONFIG_CASSINI is not set |
764 | # CONFIG_NET_VENDOR_3COM is not set | 790 | # CONFIG_NET_VENDOR_3COM is not set |
791 | # CONFIG_ETHOC is not set | ||
792 | # CONFIG_DNET is not set | ||
765 | # CONFIG_NET_TULIP is not set | 793 | # CONFIG_NET_TULIP is not set |
766 | # CONFIG_HP100 is not set | 794 | # CONFIG_HP100 is not set |
767 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 795 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -781,6 +809,7 @@ CONFIG_NETDEV_1000=y | |||
781 | # CONFIG_E1000E is not set | 809 | # CONFIG_E1000E is not set |
782 | # CONFIG_IP1000 is not set | 810 | # CONFIG_IP1000 is not set |
783 | # CONFIG_IGB is not set | 811 | # CONFIG_IGB is not set |
812 | # CONFIG_IGBVF is not set | ||
784 | # CONFIG_NS83820 is not set | 813 | # CONFIG_NS83820 is not set |
785 | # CONFIG_HAMACHI is not set | 814 | # CONFIG_HAMACHI is not set |
786 | # CONFIG_YELLOWFIN is not set | 815 | # CONFIG_YELLOWFIN is not set |
@@ -791,11 +820,12 @@ CONFIG_NETDEV_1000=y | |||
791 | # CONFIG_VIA_VELOCITY is not set | 820 | # CONFIG_VIA_VELOCITY is not set |
792 | # CONFIG_TIGON3 is not set | 821 | # CONFIG_TIGON3 is not set |
793 | # CONFIG_BNX2 is not set | 822 | # CONFIG_BNX2 is not set |
823 | CONFIG_FSL_PQ_MDIO=y | ||
794 | CONFIG_GIANFAR=y | 824 | CONFIG_GIANFAR=y |
795 | # CONFIG_MV643XX_ETH is not set | ||
796 | # CONFIG_QLA3XXX is not set | 825 | # CONFIG_QLA3XXX is not set |
797 | # CONFIG_ATL1 is not set | 826 | # CONFIG_ATL1 is not set |
798 | # CONFIG_ATL1E is not set | 827 | # CONFIG_ATL1E is not set |
828 | # CONFIG_ATL1C is not set | ||
799 | # CONFIG_JME is not set | 829 | # CONFIG_JME is not set |
800 | # CONFIG_NETDEV_10000 is not set | 830 | # CONFIG_NETDEV_10000 is not set |
801 | # CONFIG_TR is not set | 831 | # CONFIG_TR is not set |
@@ -805,7 +835,6 @@ CONFIG_GIANFAR=y | |||
805 | # | 835 | # |
806 | # CONFIG_WLAN_PRE80211 is not set | 836 | # CONFIG_WLAN_PRE80211 is not set |
807 | # CONFIG_WLAN_80211 is not set | 837 | # CONFIG_WLAN_80211 is not set |
808 | # CONFIG_IWLWIFI_LEDS is not set | ||
809 | 838 | ||
810 | # | 839 | # |
811 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 840 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -923,6 +952,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
923 | # CONFIG_HVC_UDBG is not set | 952 | # CONFIG_HVC_UDBG is not set |
924 | # CONFIG_IPMI_HANDLER is not set | 953 | # CONFIG_IPMI_HANDLER is not set |
925 | CONFIG_HW_RANDOM=m | 954 | CONFIG_HW_RANDOM=m |
955 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
926 | # CONFIG_NVRAM is not set | 956 | # CONFIG_NVRAM is not set |
927 | # CONFIG_GEN_RTC is not set | 957 | # CONFIG_GEN_RTC is not set |
928 | # CONFIG_R3964 is not set | 958 | # CONFIG_R3964 is not set |
@@ -985,12 +1015,9 @@ CONFIG_I2C_MPC=y | |||
985 | # Miscellaneous I2C Chip support | 1015 | # Miscellaneous I2C Chip support |
986 | # | 1016 | # |
987 | # CONFIG_DS1682 is not set | 1017 | # CONFIG_DS1682 is not set |
988 | # CONFIG_EEPROM_AT24 is not set | ||
989 | # CONFIG_EEPROM_LEGACY is not set | ||
990 | # CONFIG_SENSORS_PCF8574 is not set | 1018 | # CONFIG_SENSORS_PCF8574 is not set |
991 | # CONFIG_PCF8575 is not set | 1019 | # CONFIG_PCF8575 is not set |
992 | # CONFIG_SENSORS_PCA9539 is not set | 1020 | # CONFIG_SENSORS_PCA9539 is not set |
993 | # CONFIG_SENSORS_PCF8591 is not set | ||
994 | # CONFIG_SENSORS_MAX6875 is not set | 1021 | # CONFIG_SENSORS_MAX6875 is not set |
995 | # CONFIG_SENSORS_TSL2550 is not set | 1022 | # CONFIG_SENSORS_TSL2550 is not set |
996 | # CONFIG_I2C_DEBUG_CORE is not set | 1023 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1022,6 +1049,7 @@ CONFIG_HWMON=y | |||
1022 | # CONFIG_SENSORS_F71805F is not set | 1049 | # CONFIG_SENSORS_F71805F is not set |
1023 | # CONFIG_SENSORS_F71882FG is not set | 1050 | # CONFIG_SENSORS_F71882FG is not set |
1024 | # CONFIG_SENSORS_F75375S is not set | 1051 | # CONFIG_SENSORS_F75375S is not set |
1052 | # CONFIG_SENSORS_G760A is not set | ||
1025 | # CONFIG_SENSORS_GL518SM is not set | 1053 | # CONFIG_SENSORS_GL518SM is not set |
1026 | # CONFIG_SENSORS_GL520SM is not set | 1054 | # CONFIG_SENSORS_GL520SM is not set |
1027 | # CONFIG_SENSORS_IT87 is not set | 1055 | # CONFIG_SENSORS_IT87 is not set |
@@ -1036,11 +1064,14 @@ CONFIG_HWMON=y | |||
1036 | # CONFIG_SENSORS_LM90 is not set | 1064 | # CONFIG_SENSORS_LM90 is not set |
1037 | # CONFIG_SENSORS_LM92 is not set | 1065 | # CONFIG_SENSORS_LM92 is not set |
1038 | # CONFIG_SENSORS_LM93 is not set | 1066 | # CONFIG_SENSORS_LM93 is not set |
1067 | # CONFIG_SENSORS_LTC4215 is not set | ||
1039 | # CONFIG_SENSORS_LTC4245 is not set | 1068 | # CONFIG_SENSORS_LTC4245 is not set |
1069 | # CONFIG_SENSORS_LM95241 is not set | ||
1040 | # CONFIG_SENSORS_MAX1619 is not set | 1070 | # CONFIG_SENSORS_MAX1619 is not set |
1041 | # CONFIG_SENSORS_MAX6650 is not set | 1071 | # CONFIG_SENSORS_MAX6650 is not set |
1042 | # CONFIG_SENSORS_PC87360 is not set | 1072 | # CONFIG_SENSORS_PC87360 is not set |
1043 | # CONFIG_SENSORS_PC87427 is not set | 1073 | # CONFIG_SENSORS_PC87427 is not set |
1074 | # CONFIG_SENSORS_PCF8591 is not set | ||
1044 | # CONFIG_SENSORS_SIS5595 is not set | 1075 | # CONFIG_SENSORS_SIS5595 is not set |
1045 | # CONFIG_SENSORS_DME1737 is not set | 1076 | # CONFIG_SENSORS_DME1737 is not set |
1046 | # CONFIG_SENSORS_SMSC47M1 is not set | 1077 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1145,7 +1176,6 @@ CONFIG_HID=y | |||
1145 | # | 1176 | # |
1146 | # Special HID drivers | 1177 | # Special HID drivers |
1147 | # | 1178 | # |
1148 | CONFIG_HID_COMPAT=y | ||
1149 | CONFIG_USB_SUPPORT=y | 1179 | CONFIG_USB_SUPPORT=y |
1150 | CONFIG_USB_ARCH_HAS_HCD=y | 1180 | CONFIG_USB_ARCH_HAS_HCD=y |
1151 | CONFIG_USB_ARCH_HAS_OHCI=y | 1181 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1159,7 +1189,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1159 | # | 1189 | # |
1160 | 1190 | ||
1161 | # | 1191 | # |
1162 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1192 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1163 | # | 1193 | # |
1164 | # CONFIG_USB_GADGET is not set | 1194 | # CONFIG_USB_GADGET is not set |
1165 | 1195 | ||
@@ -1175,6 +1205,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1175 | # CONFIG_EDAC is not set | 1205 | # CONFIG_EDAC is not set |
1176 | # CONFIG_RTC_CLASS is not set | 1206 | # CONFIG_RTC_CLASS is not set |
1177 | # CONFIG_DMADEVICES is not set | 1207 | # CONFIG_DMADEVICES is not set |
1208 | # CONFIG_AUXDISPLAY is not set | ||
1178 | # CONFIG_UIO is not set | 1209 | # CONFIG_UIO is not set |
1179 | # CONFIG_STAGING is not set | 1210 | # CONFIG_STAGING is not set |
1180 | 1211 | ||
@@ -1187,6 +1218,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y | |||
1187 | # CONFIG_EXT2_FS_SECURITY is not set | 1218 | # CONFIG_EXT2_FS_SECURITY is not set |
1188 | # CONFIG_EXT2_FS_XIP is not set | 1219 | # CONFIG_EXT2_FS_XIP is not set |
1189 | CONFIG_EXT3_FS=y | 1220 | CONFIG_EXT3_FS=y |
1221 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1190 | CONFIG_EXT3_FS_XATTR=y | 1222 | CONFIG_EXT3_FS_XATTR=y |
1191 | CONFIG_EXT3_FS_POSIX_ACL=y | 1223 | CONFIG_EXT3_FS_POSIX_ACL=y |
1192 | # CONFIG_EXT3_FS_SECURITY is not set | 1224 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1228,6 +1260,11 @@ CONFIG_AUTOFS4_FS=m | |||
1228 | # CONFIG_FUSE_FS is not set | 1260 | # CONFIG_FUSE_FS is not set |
1229 | 1261 | ||
1230 | # | 1262 | # |
1263 | # Caches | ||
1264 | # | ||
1265 | # CONFIG_FSCACHE is not set | ||
1266 | |||
1267 | # | ||
1231 | # CD-ROM/DVD Filesystems | 1268 | # CD-ROM/DVD Filesystems |
1232 | # | 1269 | # |
1233 | # CONFIG_ISO9660_FS is not set | 1270 | # CONFIG_ISO9660_FS is not set |
@@ -1269,8 +1306,13 @@ CONFIG_MINIX_FS=m | |||
1269 | # CONFIG_HPFS_FS is not set | 1306 | # CONFIG_HPFS_FS is not set |
1270 | # CONFIG_QNX4FS_FS is not set | 1307 | # CONFIG_QNX4FS_FS is not set |
1271 | CONFIG_ROMFS_FS=m | 1308 | CONFIG_ROMFS_FS=m |
1309 | CONFIG_ROMFS_BACKED_BY_BLOCK=y | ||
1310 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
1311 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | ||
1312 | CONFIG_ROMFS_ON_BLOCK=y | ||
1272 | # CONFIG_SYSV_FS is not set | 1313 | # CONFIG_SYSV_FS is not set |
1273 | # CONFIG_UFS_FS is not set | 1314 | # CONFIG_UFS_FS is not set |
1315 | # CONFIG_NILFS2_FS is not set | ||
1274 | CONFIG_NETWORK_FILESYSTEMS=y | 1316 | CONFIG_NETWORK_FILESYSTEMS=y |
1275 | CONFIG_NFS_FS=y | 1317 | CONFIG_NFS_FS=y |
1276 | CONFIG_NFS_V3=y | 1318 | CONFIG_NFS_V3=y |
@@ -1283,7 +1325,6 @@ CONFIG_LOCKD_V4=y | |||
1283 | CONFIG_NFS_COMMON=y | 1325 | CONFIG_NFS_COMMON=y |
1284 | CONFIG_SUNRPC=y | 1326 | CONFIG_SUNRPC=y |
1285 | CONFIG_SUNRPC_GSS=y | 1327 | CONFIG_SUNRPC_GSS=y |
1286 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1287 | CONFIG_RPCSEC_GSS_KRB5=y | 1328 | CONFIG_RPCSEC_GSS_KRB5=y |
1288 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1329 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1289 | CONFIG_SMB_FS=m | 1330 | CONFIG_SMB_FS=m |
@@ -1346,6 +1387,7 @@ CONFIG_NLS_KOI8_R=m | |||
1346 | CONFIG_NLS_KOI8_U=m | 1387 | CONFIG_NLS_KOI8_U=m |
1347 | CONFIG_NLS_UTF8=m | 1388 | CONFIG_NLS_UTF8=m |
1348 | # CONFIG_DLM is not set | 1389 | # CONFIG_DLM is not set |
1390 | # CONFIG_BINARY_PRINTF is not set | ||
1349 | 1391 | ||
1350 | # | 1392 | # |
1351 | # Library routines | 1393 | # Library routines |
@@ -1359,13 +1401,14 @@ CONFIG_CRC_CCITT=m | |||
1359 | CONFIG_CRC32=y | 1401 | CONFIG_CRC32=y |
1360 | # CONFIG_CRC7 is not set | 1402 | # CONFIG_CRC7 is not set |
1361 | CONFIG_LIBCRC32C=m | 1403 | CONFIG_LIBCRC32C=m |
1362 | CONFIG_ZLIB_INFLATE=m | 1404 | CONFIG_ZLIB_INFLATE=y |
1363 | CONFIG_ZLIB_DEFLATE=m | 1405 | CONFIG_ZLIB_DEFLATE=m |
1364 | CONFIG_PLIST=y | 1406 | CONFIG_DECOMPRESS_GZIP=y |
1365 | CONFIG_HAS_IOMEM=y | 1407 | CONFIG_HAS_IOMEM=y |
1366 | CONFIG_HAS_IOPORT=y | 1408 | CONFIG_HAS_IOPORT=y |
1367 | CONFIG_HAS_DMA=y | 1409 | CONFIG_HAS_DMA=y |
1368 | CONFIG_HAVE_LMB=y | 1410 | CONFIG_HAVE_LMB=y |
1411 | CONFIG_NLATTR=y | ||
1369 | 1412 | ||
1370 | # | 1413 | # |
1371 | # Kernel hacking | 1414 | # Kernel hacking |
@@ -1383,6 +1426,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1383 | CONFIG_DETECT_SOFTLOCKUP=y | 1426 | CONFIG_DETECT_SOFTLOCKUP=y |
1384 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1427 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1385 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1428 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1429 | CONFIG_DETECT_HUNG_TASK=y | ||
1430 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1431 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1386 | CONFIG_SCHED_DEBUG=y | 1432 | CONFIG_SCHED_DEBUG=y |
1387 | # CONFIG_SCHEDSTATS is not set | 1433 | # CONFIG_SCHEDSTATS is not set |
1388 | # CONFIG_TIMER_STATS is not set | 1434 | # CONFIG_TIMER_STATS is not set |
@@ -1411,9 +1457,12 @@ CONFIG_DEBUG_INFO=y | |||
1411 | # CONFIG_FAULT_INJECTION is not set | 1457 | # CONFIG_FAULT_INJECTION is not set |
1412 | # CONFIG_LATENCYTOP is not set | 1458 | # CONFIG_LATENCYTOP is not set |
1413 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1459 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1460 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1414 | CONFIG_HAVE_FUNCTION_TRACER=y | 1461 | CONFIG_HAVE_FUNCTION_TRACER=y |
1462 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1415 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1463 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1416 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1464 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1465 | CONFIG_TRACING_SUPPORT=y | ||
1417 | 1466 | ||
1418 | # | 1467 | # |
1419 | # Tracers | 1468 | # Tracers |
@@ -1422,17 +1471,20 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1422 | # CONFIG_PREEMPT_TRACER is not set | 1471 | # CONFIG_PREEMPT_TRACER is not set |
1423 | # CONFIG_SCHED_TRACER is not set | 1472 | # CONFIG_SCHED_TRACER is not set |
1424 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1473 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1474 | # CONFIG_EVENT_TRACER is not set | ||
1425 | # CONFIG_BOOT_TRACER is not set | 1475 | # CONFIG_BOOT_TRACER is not set |
1426 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1476 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1427 | # CONFIG_STACK_TRACER is not set | 1477 | # CONFIG_STACK_TRACER is not set |
1428 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1478 | # CONFIG_KMEMTRACE is not set |
1479 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1480 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1481 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1429 | # CONFIG_SAMPLES is not set | 1482 | # CONFIG_SAMPLES is not set |
1430 | CONFIG_HAVE_ARCH_KGDB=y | 1483 | CONFIG_HAVE_ARCH_KGDB=y |
1431 | # CONFIG_KGDB is not set | 1484 | # CONFIG_KGDB is not set |
1432 | CONFIG_PRINT_STACK_DEPTH=64 | 1485 | CONFIG_PRINT_STACK_DEPTH=64 |
1433 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1486 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1434 | # CONFIG_DEBUG_STACK_USAGE is not set | 1487 | # CONFIG_DEBUG_STACK_USAGE is not set |
1435 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1436 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1488 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1437 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1489 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1438 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1490 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1454,6 +1506,7 @@ CONFIG_SECURITY_NETWORK=y | |||
1454 | # CONFIG_SECURITY_PATH is not set | 1506 | # CONFIG_SECURITY_PATH is not set |
1455 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1507 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1456 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1508 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 |
1509 | # CONFIG_SECURITY_TOMOYO is not set | ||
1457 | CONFIG_CRYPTO=y | 1510 | CONFIG_CRYPTO=y |
1458 | 1511 | ||
1459 | # | 1512 | # |
@@ -1469,10 +1522,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1469 | CONFIG_CRYPTO_HASH=y | 1522 | CONFIG_CRYPTO_HASH=y |
1470 | CONFIG_CRYPTO_HASH2=y | 1523 | CONFIG_CRYPTO_HASH2=y |
1471 | CONFIG_CRYPTO_RNG2=y | 1524 | CONFIG_CRYPTO_RNG2=y |
1525 | CONFIG_CRYPTO_PCOMP=y | ||
1472 | CONFIG_CRYPTO_MANAGER=y | 1526 | CONFIG_CRYPTO_MANAGER=y |
1473 | CONFIG_CRYPTO_MANAGER2=y | 1527 | CONFIG_CRYPTO_MANAGER2=y |
1474 | # CONFIG_CRYPTO_GF128MUL is not set | 1528 | # CONFIG_CRYPTO_GF128MUL is not set |
1475 | CONFIG_CRYPTO_NULL=m | 1529 | CONFIG_CRYPTO_NULL=m |
1530 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1476 | # CONFIG_CRYPTO_CRYPTD is not set | 1531 | # CONFIG_CRYPTO_CRYPTD is not set |
1477 | CONFIG_CRYPTO_AUTHENC=m | 1532 | CONFIG_CRYPTO_AUTHENC=m |
1478 | CONFIG_CRYPTO_TEST=m | 1533 | CONFIG_CRYPTO_TEST=m |
@@ -1542,6 +1597,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m | |||
1542 | # Compression | 1597 | # Compression |
1543 | # | 1598 | # |
1544 | CONFIG_CRYPTO_DEFLATE=m | 1599 | CONFIG_CRYPTO_DEFLATE=m |
1600 | # CONFIG_CRYPTO_ZLIB is not set | ||
1545 | # CONFIG_CRYPTO_LZO is not set | 1601 | # CONFIG_CRYPTO_LZO is not set |
1546 | 1602 | ||
1547 | # | 1603 | # |
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig index aaab5cc3751c..74f7f7c6fdc4 100644 --- a/arch/powerpc/configs/adder875_defconfig +++ b/arch/powerpc/configs/adder875_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:24 2009 | 4 | # Wed May 13 17:21:50 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -53,6 +53,7 @@ CONFIG_GENERIC_BUG=y | |||
53 | CONFIG_REDBOOT=y | 53 | CONFIG_REDBOOT=y |
54 | # CONFIG_PPC_DCR_NATIVE is not set | 54 | # CONFIG_PPC_DCR_NATIVE is not set |
55 | # CONFIG_PPC_DCR_MMIO is not set | 55 | # CONFIG_PPC_DCR_MMIO is not set |
56 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
56 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 57 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
57 | 58 | ||
58 | # | 59 | # |
@@ -70,6 +71,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
70 | # CONFIG_BSD_PROCESS_ACCT is not set | 71 | # CONFIG_BSD_PROCESS_ACCT is not set |
71 | # CONFIG_TASKSTATS is not set | 72 | # CONFIG_TASKSTATS is not set |
72 | # CONFIG_AUDIT is not set | 73 | # CONFIG_AUDIT is not set |
74 | |||
75 | # | ||
76 | # RCU Subsystem | ||
77 | # | ||
78 | CONFIG_CLASSIC_RCU=y | ||
79 | # CONFIG_TREE_RCU is not set | ||
80 | # CONFIG_PREEMPT_RCU is not set | ||
81 | # CONFIG_TREE_RCU_TRACE is not set | ||
82 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
73 | # CONFIG_IKCONFIG is not set | 83 | # CONFIG_IKCONFIG is not set |
74 | CONFIG_LOG_BUF_SHIFT=14 | 84 | CONFIG_LOG_BUF_SHIFT=14 |
75 | CONFIG_GROUP_SCHED=y | 85 | CONFIG_GROUP_SCHED=y |
@@ -85,19 +95,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
85 | # CONFIG_BLK_DEV_INITRD is not set | 95 | # CONFIG_BLK_DEV_INITRD is not set |
86 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 96 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
87 | CONFIG_SYSCTL=y | 97 | CONFIG_SYSCTL=y |
98 | CONFIG_ANON_INODES=y | ||
88 | CONFIG_EMBEDDED=y | 99 | CONFIG_EMBEDDED=y |
89 | # CONFIG_SYSCTL_SYSCALL is not set | 100 | # CONFIG_SYSCTL_SYSCALL is not set |
90 | CONFIG_KALLSYMS=y | 101 | CONFIG_KALLSYMS=y |
91 | # CONFIG_KALLSYMS_ALL is not set | 102 | # CONFIG_KALLSYMS_ALL is not set |
92 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 103 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
104 | # CONFIG_STRIP_ASM_SYMS is not set | ||
93 | CONFIG_HOTPLUG=y | 105 | CONFIG_HOTPLUG=y |
94 | CONFIG_PRINTK=y | 106 | CONFIG_PRINTK=y |
95 | CONFIG_BUG=y | 107 | CONFIG_BUG=y |
96 | # CONFIG_ELF_CORE is not set | 108 | # CONFIG_ELF_CORE is not set |
97 | CONFIG_COMPAT_BRK=y | ||
98 | # CONFIG_BASE_FULL is not set | 109 | # CONFIG_BASE_FULL is not set |
99 | # CONFIG_FUTEX is not set | 110 | # CONFIG_FUTEX is not set |
100 | CONFIG_ANON_INODES=y | ||
101 | CONFIG_EPOLL=y | 111 | CONFIG_EPOLL=y |
102 | CONFIG_SIGNALFD=y | 112 | CONFIG_SIGNALFD=y |
103 | CONFIG_TIMERFD=y | 113 | CONFIG_TIMERFD=y |
@@ -106,10 +116,12 @@ CONFIG_SHMEM=y | |||
106 | CONFIG_AIO=y | 116 | CONFIG_AIO=y |
107 | # CONFIG_VM_EVENT_COUNTERS is not set | 117 | # CONFIG_VM_EVENT_COUNTERS is not set |
108 | CONFIG_SLUB_DEBUG=y | 118 | CONFIG_SLUB_DEBUG=y |
119 | CONFIG_COMPAT_BRK=y | ||
109 | # CONFIG_SLAB is not set | 120 | # CONFIG_SLAB is not set |
110 | CONFIG_SLUB=y | 121 | CONFIG_SLUB=y |
111 | # CONFIG_SLOB is not set | 122 | # CONFIG_SLOB is not set |
112 | # CONFIG_PROFILING is not set | 123 | # CONFIG_PROFILING is not set |
124 | # CONFIG_MARKERS is not set | ||
113 | CONFIG_HAVE_OPROFILE=y | 125 | CONFIG_HAVE_OPROFILE=y |
114 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 126 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
115 | CONFIG_HAVE_IOREMAP_PROT=y | 127 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -117,13 +129,13 @@ CONFIG_HAVE_KPROBES=y | |||
117 | CONFIG_HAVE_KRETPROBES=y | 129 | CONFIG_HAVE_KRETPROBES=y |
118 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 130 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
119 | CONFIG_HAVE_CLK=y | 131 | CONFIG_HAVE_CLK=y |
132 | # CONFIG_SLOW_WORK is not set | ||
120 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 133 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
121 | CONFIG_SLABINFO=y | 134 | CONFIG_SLABINFO=y |
122 | CONFIG_BASE_SMALL=1 | 135 | CONFIG_BASE_SMALL=1 |
123 | # CONFIG_MODULES is not set | 136 | # CONFIG_MODULES is not set |
124 | CONFIG_BLOCK=y | 137 | CONFIG_BLOCK=y |
125 | # CONFIG_LBD is not set | 138 | # CONFIG_LBD is not set |
126 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
127 | # CONFIG_BLK_DEV_BSG is not set | 139 | # CONFIG_BLK_DEV_BSG is not set |
128 | # CONFIG_BLK_DEV_INTEGRITY is not set | 140 | # CONFIG_BLK_DEV_INTEGRITY is not set |
129 | 141 | ||
@@ -139,11 +151,6 @@ CONFIG_DEFAULT_DEADLINE=y | |||
139 | # CONFIG_DEFAULT_CFQ is not set | 151 | # CONFIG_DEFAULT_CFQ is not set |
140 | # CONFIG_DEFAULT_NOOP is not set | 152 | # CONFIG_DEFAULT_NOOP is not set |
141 | CONFIG_DEFAULT_IOSCHED="deadline" | 153 | CONFIG_DEFAULT_IOSCHED="deadline" |
142 | CONFIG_CLASSIC_RCU=y | ||
143 | # CONFIG_TREE_RCU is not set | ||
144 | # CONFIG_PREEMPT_RCU is not set | ||
145 | # CONFIG_TREE_RCU_TRACE is not set | ||
146 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
147 | # CONFIG_FREEZER is not set | 154 | # CONFIG_FREEZER is not set |
148 | 155 | ||
149 | # | 156 | # |
@@ -233,9 +240,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
233 | CONFIG_BOUNCE=y | 240 | CONFIG_BOUNCE=y |
234 | CONFIG_VIRT_TO_BUS=y | 241 | CONFIG_VIRT_TO_BUS=y |
235 | CONFIG_UNEVICTABLE_LRU=y | 242 | CONFIG_UNEVICTABLE_LRU=y |
243 | CONFIG_HAVE_MLOCK=y | ||
244 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
236 | CONFIG_PPC_4K_PAGES=y | 245 | CONFIG_PPC_4K_PAGES=y |
237 | # CONFIG_PPC_16K_PAGES is not set | 246 | # CONFIG_PPC_16K_PAGES is not set |
238 | # CONFIG_PPC_64K_PAGES is not set | 247 | # CONFIG_PPC_64K_PAGES is not set |
248 | # CONFIG_PPC_256K_PAGES is not set | ||
239 | CONFIG_FORCE_MAX_ZONEORDER=11 | 249 | CONFIG_FORCE_MAX_ZONEORDER=11 |
240 | # CONFIG_PROC_DEVICETREE is not set | 250 | # CONFIG_PROC_DEVICETREE is not set |
241 | # CONFIG_CMDLINE_BOOL is not set | 251 | # CONFIG_CMDLINE_BOOL is not set |
@@ -270,14 +280,11 @@ CONFIG_PAGE_OFFSET=0xc0000000 | |||
270 | CONFIG_KERNEL_START=0xc0000000 | 280 | CONFIG_KERNEL_START=0xc0000000 |
271 | CONFIG_PHYSICAL_START=0x00000000 | 281 | CONFIG_PHYSICAL_START=0x00000000 |
272 | CONFIG_TASK_SIZE=0x80000000 | 282 | CONFIG_TASK_SIZE=0x80000000 |
273 | CONFIG_CONSISTENT_START=0xfd000000 | ||
274 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
275 | CONFIG_NET=y | 283 | CONFIG_NET=y |
276 | 284 | ||
277 | # | 285 | # |
278 | # Networking options | 286 | # Networking options |
279 | # | 287 | # |
280 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
281 | CONFIG_PACKET=y | 288 | CONFIG_PACKET=y |
282 | # CONFIG_PACKET_MMAP is not set | 289 | # CONFIG_PACKET_MMAP is not set |
283 | CONFIG_UNIX=y | 290 | CONFIG_UNIX=y |
@@ -328,6 +335,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
328 | # CONFIG_LAPB is not set | 335 | # CONFIG_LAPB is not set |
329 | # CONFIG_ECONET is not set | 336 | # CONFIG_ECONET is not set |
330 | # CONFIG_WAN_ROUTER is not set | 337 | # CONFIG_WAN_ROUTER is not set |
338 | # CONFIG_PHONET is not set | ||
331 | # CONFIG_NET_SCHED is not set | 339 | # CONFIG_NET_SCHED is not set |
332 | # CONFIG_DCB is not set | 340 | # CONFIG_DCB is not set |
333 | 341 | ||
@@ -340,7 +348,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
340 | # CONFIG_IRDA is not set | 348 | # CONFIG_IRDA is not set |
341 | # CONFIG_BT is not set | 349 | # CONFIG_BT is not set |
342 | # CONFIG_AF_RXRPC is not set | 350 | # CONFIG_AF_RXRPC is not set |
343 | # CONFIG_PHONET is not set | ||
344 | CONFIG_WIRELESS=y | 351 | CONFIG_WIRELESS=y |
345 | # CONFIG_CFG80211 is not set | 352 | # CONFIG_CFG80211 is not set |
346 | CONFIG_WIRELESS_OLD_REGULATORY=y | 353 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -439,7 +446,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
439 | # LPDDR flash memory drivers | 446 | # LPDDR flash memory drivers |
440 | # | 447 | # |
441 | # CONFIG_MTD_LPDDR is not set | 448 | # CONFIG_MTD_LPDDR is not set |
442 | # CONFIG_MTD_QINFO_PROBE is not set | ||
443 | 449 | ||
444 | # | 450 | # |
445 | # UBI - Unsorted block images | 451 | # UBI - Unsorted block images |
@@ -463,6 +469,7 @@ CONFIG_HAVE_IDE=y | |||
463 | # CONFIG_MD is not set | 469 | # CONFIG_MD is not set |
464 | # CONFIG_MACINTOSH_DRIVERS is not set | 470 | # CONFIG_MACINTOSH_DRIVERS is not set |
465 | CONFIG_NETDEVICES=y | 471 | CONFIG_NETDEVICES=y |
472 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
466 | # CONFIG_DUMMY is not set | 473 | # CONFIG_DUMMY is not set |
467 | # CONFIG_BONDING is not set | 474 | # CONFIG_BONDING is not set |
468 | # CONFIG_MACVLAN is not set | 475 | # CONFIG_MACVLAN is not set |
@@ -491,6 +498,8 @@ CONFIG_DAVICOM_PHY=y | |||
491 | # CONFIG_MDIO_BITBANG is not set | 498 | # CONFIG_MDIO_BITBANG is not set |
492 | CONFIG_NET_ETHERNET=y | 499 | CONFIG_NET_ETHERNET=y |
493 | CONFIG_MII=y | 500 | CONFIG_MII=y |
501 | # CONFIG_ETHOC is not set | ||
502 | # CONFIG_DNET is not set | ||
494 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 503 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
495 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 504 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
496 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 505 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -511,7 +520,6 @@ CONFIG_FS_ENET_MDIO_FEC=y | |||
511 | # | 520 | # |
512 | # CONFIG_WLAN_PRE80211 is not set | 521 | # CONFIG_WLAN_PRE80211 is not set |
513 | # CONFIG_WLAN_80211 is not set | 522 | # CONFIG_WLAN_80211 is not set |
514 | # CONFIG_IWLWIFI_LEDS is not set | ||
515 | 523 | ||
516 | # | 524 | # |
517 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 525 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -558,7 +566,6 @@ CONFIG_MOUSE_PS2=y | |||
558 | CONFIG_MOUSE_PS2_ALPS=y | 566 | CONFIG_MOUSE_PS2_ALPS=y |
559 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | 567 | CONFIG_MOUSE_PS2_LOGIPS2PP=y |
560 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 568 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
561 | CONFIG_MOUSE_PS2_LIFEBOOK=y | ||
562 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 569 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
563 | # CONFIG_MOUSE_PS2_ELANTECH is not set | 570 | # CONFIG_MOUSE_PS2_ELANTECH is not set |
564 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | 571 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set |
@@ -606,6 +613,7 @@ CONFIG_UNIX98_PTYS=y | |||
606 | # CONFIG_HVC_UDBG is not set | 613 | # CONFIG_HVC_UDBG is not set |
607 | # CONFIG_IPMI_HANDLER is not set | 614 | # CONFIG_IPMI_HANDLER is not set |
608 | CONFIG_HW_RANDOM=y | 615 | CONFIG_HW_RANDOM=y |
616 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
609 | # CONFIG_NVRAM is not set | 617 | # CONFIG_NVRAM is not set |
610 | CONFIG_GEN_RTC=y | 618 | CONFIG_GEN_RTC=y |
611 | # CONFIG_GEN_RTC_X is not set | 619 | # CONFIG_GEN_RTC_X is not set |
@@ -675,6 +683,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y | |||
675 | # CONFIG_EDAC is not set | 683 | # CONFIG_EDAC is not set |
676 | # CONFIG_RTC_CLASS is not set | 684 | # CONFIG_RTC_CLASS is not set |
677 | # CONFIG_DMADEVICES is not set | 685 | # CONFIG_DMADEVICES is not set |
686 | # CONFIG_AUXDISPLAY is not set | ||
678 | # CONFIG_UIO is not set | 687 | # CONFIG_UIO is not set |
679 | # CONFIG_STAGING is not set | 688 | # CONFIG_STAGING is not set |
680 | 689 | ||
@@ -699,6 +708,11 @@ CONFIG_FILE_LOCKING=y | |||
699 | # CONFIG_FUSE_FS is not set | 708 | # CONFIG_FUSE_FS is not set |
700 | 709 | ||
701 | # | 710 | # |
711 | # Caches | ||
712 | # | ||
713 | # CONFIG_FSCACHE is not set | ||
714 | |||
715 | # | ||
702 | # CD-ROM/DVD Filesystems | 716 | # CD-ROM/DVD Filesystems |
703 | # | 717 | # |
704 | # CONFIG_ISO9660_FS is not set | 718 | # CONFIG_ISO9660_FS is not set |
@@ -742,6 +756,7 @@ CONFIG_CRAMFS=y | |||
742 | # CONFIG_ROMFS_FS is not set | 756 | # CONFIG_ROMFS_FS is not set |
743 | # CONFIG_SYSV_FS is not set | 757 | # CONFIG_SYSV_FS is not set |
744 | # CONFIG_UFS_FS is not set | 758 | # CONFIG_UFS_FS is not set |
759 | # CONFIG_NILFS2_FS is not set | ||
745 | CONFIG_NETWORK_FILESYSTEMS=y | 760 | CONFIG_NETWORK_FILESYSTEMS=y |
746 | CONFIG_NFS_FS=y | 761 | CONFIG_NFS_FS=y |
747 | CONFIG_NFS_V3=y | 762 | CONFIG_NFS_V3=y |
@@ -753,7 +768,6 @@ CONFIG_LOCKD=y | |||
753 | CONFIG_LOCKD_V4=y | 768 | CONFIG_LOCKD_V4=y |
754 | CONFIG_NFS_COMMON=y | 769 | CONFIG_NFS_COMMON=y |
755 | CONFIG_SUNRPC=y | 770 | CONFIG_SUNRPC=y |
756 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
757 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 771 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
758 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 772 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
759 | # CONFIG_SMB_FS is not set | 773 | # CONFIG_SMB_FS is not set |
@@ -785,6 +799,7 @@ CONFIG_MSDOS_PARTITION=y | |||
785 | # CONFIG_SYSV68_PARTITION is not set | 799 | # CONFIG_SYSV68_PARTITION is not set |
786 | # CONFIG_NLS is not set | 800 | # CONFIG_NLS is not set |
787 | # CONFIG_DLM is not set | 801 | # CONFIG_DLM is not set |
802 | # CONFIG_BINARY_PRINTF is not set | ||
788 | 803 | ||
789 | # | 804 | # |
790 | # Library routines | 805 | # Library routines |
@@ -802,6 +817,7 @@ CONFIG_HAS_IOMEM=y | |||
802 | CONFIG_HAS_IOPORT=y | 817 | CONFIG_HAS_IOPORT=y |
803 | CONFIG_HAS_DMA=y | 818 | CONFIG_HAS_DMA=y |
804 | CONFIG_HAVE_LMB=y | 819 | CONFIG_HAVE_LMB=y |
820 | CONFIG_NLATTR=y | ||
805 | 821 | ||
806 | # | 822 | # |
807 | # Kernel hacking | 823 | # Kernel hacking |
@@ -819,6 +835,9 @@ CONFIG_DEBUG_KERNEL=y | |||
819 | CONFIG_DETECT_SOFTLOCKUP=y | 835 | CONFIG_DETECT_SOFTLOCKUP=y |
820 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 836 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
821 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 837 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
838 | CONFIG_DETECT_HUNG_TASK=y | ||
839 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
840 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
822 | CONFIG_SCHED_DEBUG=y | 841 | CONFIG_SCHED_DEBUG=y |
823 | # CONFIG_SCHEDSTATS is not set | 842 | # CONFIG_SCHEDSTATS is not set |
824 | # CONFIG_TIMER_STATS is not set | 843 | # CONFIG_TIMER_STATS is not set |
@@ -845,9 +864,12 @@ CONFIG_DEBUG_INFO=y | |||
845 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 864 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
846 | # CONFIG_FAULT_INJECTION is not set | 865 | # CONFIG_FAULT_INJECTION is not set |
847 | # CONFIG_LATENCYTOP is not set | 866 | # CONFIG_LATENCYTOP is not set |
867 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
848 | CONFIG_HAVE_FUNCTION_TRACER=y | 868 | CONFIG_HAVE_FUNCTION_TRACER=y |
869 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
849 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 870 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
850 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 871 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
872 | CONFIG_TRACING_SUPPORT=y | ||
851 | 873 | ||
852 | # | 874 | # |
853 | # Tracers | 875 | # Tracers |
@@ -855,17 +877,20 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
855 | # CONFIG_FUNCTION_TRACER is not set | 877 | # CONFIG_FUNCTION_TRACER is not set |
856 | # CONFIG_SCHED_TRACER is not set | 878 | # CONFIG_SCHED_TRACER is not set |
857 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 879 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
880 | # CONFIG_EVENT_TRACER is not set | ||
858 | # CONFIG_BOOT_TRACER is not set | 881 | # CONFIG_BOOT_TRACER is not set |
859 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 882 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
860 | # CONFIG_STACK_TRACER is not set | 883 | # CONFIG_STACK_TRACER is not set |
861 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 884 | # CONFIG_KMEMTRACE is not set |
885 | # CONFIG_WORKQUEUE_TRACER is not set | ||
886 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
887 | # CONFIG_DYNAMIC_DEBUG is not set | ||
862 | # CONFIG_SAMPLES is not set | 888 | # CONFIG_SAMPLES is not set |
863 | CONFIG_HAVE_ARCH_KGDB=y | 889 | CONFIG_HAVE_ARCH_KGDB=y |
864 | # CONFIG_KGDB is not set | 890 | # CONFIG_KGDB is not set |
865 | CONFIG_PRINT_STACK_DEPTH=64 | 891 | CONFIG_PRINT_STACK_DEPTH=64 |
866 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 892 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
867 | # CONFIG_DEBUG_STACK_USAGE is not set | 893 | # CONFIG_DEBUG_STACK_USAGE is not set |
868 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
869 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 894 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
870 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 895 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
871 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 896 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig index 5103319a7f56..9ffa8de92803 100644 --- a/arch/powerpc/configs/c2k_defconfig +++ b/arch/powerpc/configs/c2k_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:26 2009 | 4 | # Wed May 13 17:21:51 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_ALTIVEC is not set | 19 | # CONFIG_ALTIVEC is not set |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -56,6 +57,7 @@ CONFIG_GENERIC_BUG=y | |||
56 | # CONFIG_DEFAULT_UIMAGE is not set | 57 | # CONFIG_DEFAULT_UIMAGE is not set |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -70,12 +72,22 @@ CONFIG_SWAP=y | |||
70 | CONFIG_SYSVIPC=y | 72 | CONFIG_SYSVIPC=y |
71 | CONFIG_SYSVIPC_SYSCTL=y | 73 | CONFIG_SYSVIPC_SYSCTL=y |
72 | CONFIG_POSIX_MQUEUE=y | 74 | CONFIG_POSIX_MQUEUE=y |
75 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
73 | CONFIG_BSD_PROCESS_ACCT=y | 76 | CONFIG_BSD_PROCESS_ACCT=y |
74 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 77 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
75 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
76 | CONFIG_AUDIT=y | 79 | CONFIG_AUDIT=y |
77 | CONFIG_AUDITSYSCALL=y | 80 | CONFIG_AUDITSYSCALL=y |
78 | CONFIG_AUDIT_TREE=y | 81 | CONFIG_AUDIT_TREE=y |
82 | |||
83 | # | ||
84 | # RCU Subsystem | ||
85 | # | ||
86 | CONFIG_CLASSIC_RCU=y | ||
87 | # CONFIG_TREE_RCU is not set | ||
88 | # CONFIG_PREEMPT_RCU is not set | ||
89 | # CONFIG_TREE_RCU_TRACE is not set | ||
90 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | # CONFIG_IKCONFIG is not set | 91 | # CONFIG_IKCONFIG is not set |
80 | CONFIG_LOG_BUF_SHIFT=17 | 92 | CONFIG_LOG_BUF_SHIFT=17 |
81 | CONFIG_GROUP_SCHED=y | 93 | CONFIG_GROUP_SCHED=y |
@@ -92,23 +104,27 @@ CONFIG_NAMESPACES=y | |||
92 | # CONFIG_IPC_NS is not set | 104 | # CONFIG_IPC_NS is not set |
93 | # CONFIG_USER_NS is not set | 105 | # CONFIG_USER_NS is not set |
94 | # CONFIG_PID_NS is not set | 106 | # CONFIG_PID_NS is not set |
107 | # CONFIG_NET_NS is not set | ||
95 | CONFIG_BLK_DEV_INITRD=y | 108 | CONFIG_BLK_DEV_INITRD=y |
96 | CONFIG_INITRAMFS_SOURCE="" | 109 | CONFIG_INITRAMFS_SOURCE="" |
110 | CONFIG_RD_GZIP=y | ||
111 | CONFIG_RD_BZIP2=y | ||
112 | CONFIG_RD_LZMA=y | ||
97 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 113 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
98 | CONFIG_SYSCTL=y | 114 | CONFIG_SYSCTL=y |
115 | CONFIG_ANON_INODES=y | ||
99 | # CONFIG_EMBEDDED is not set | 116 | # CONFIG_EMBEDDED is not set |
100 | CONFIG_SYSCTL_SYSCALL=y | 117 | CONFIG_SYSCTL_SYSCALL=y |
101 | CONFIG_KALLSYMS=y | 118 | CONFIG_KALLSYMS=y |
102 | # CONFIG_KALLSYMS_ALL is not set | 119 | # CONFIG_KALLSYMS_ALL is not set |
103 | CONFIG_KALLSYMS_EXTRA_PASS=y | 120 | CONFIG_KALLSYMS_EXTRA_PASS=y |
121 | # CONFIG_STRIP_ASM_SYMS is not set | ||
104 | CONFIG_HOTPLUG=y | 122 | CONFIG_HOTPLUG=y |
105 | CONFIG_PRINTK=y | 123 | CONFIG_PRINTK=y |
106 | CONFIG_BUG=y | 124 | CONFIG_BUG=y |
107 | CONFIG_ELF_CORE=y | 125 | CONFIG_ELF_CORE=y |
108 | CONFIG_COMPAT_BRK=y | ||
109 | CONFIG_BASE_FULL=y | 126 | CONFIG_BASE_FULL=y |
110 | CONFIG_FUTEX=y | 127 | CONFIG_FUTEX=y |
111 | CONFIG_ANON_INODES=y | ||
112 | CONFIG_EPOLL=y | 128 | CONFIG_EPOLL=y |
113 | CONFIG_SIGNALFD=y | 129 | CONFIG_SIGNALFD=y |
114 | CONFIG_TIMERFD=y | 130 | CONFIG_TIMERFD=y |
@@ -118,6 +134,7 @@ CONFIG_AIO=y | |||
118 | CONFIG_VM_EVENT_COUNTERS=y | 134 | CONFIG_VM_EVENT_COUNTERS=y |
119 | CONFIG_PCI_QUIRKS=y | 135 | CONFIG_PCI_QUIRKS=y |
120 | CONFIG_SLUB_DEBUG=y | 136 | CONFIG_SLUB_DEBUG=y |
137 | CONFIG_COMPAT_BRK=y | ||
121 | # CONFIG_SLAB is not set | 138 | # CONFIG_SLAB is not set |
122 | CONFIG_SLUB=y | 139 | CONFIG_SLUB=y |
123 | # CONFIG_SLOB is not set | 140 | # CONFIG_SLOB is not set |
@@ -133,6 +150,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
133 | CONFIG_HAVE_KPROBES=y | 150 | CONFIG_HAVE_KPROBES=y |
134 | CONFIG_HAVE_KRETPROBES=y | 151 | CONFIG_HAVE_KRETPROBES=y |
135 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 152 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
153 | # CONFIG_SLOW_WORK is not set | ||
136 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 154 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
137 | CONFIG_SLABINFO=y | 155 | CONFIG_SLABINFO=y |
138 | CONFIG_RT_MUTEXES=y | 156 | CONFIG_RT_MUTEXES=y |
@@ -145,7 +163,6 @@ CONFIG_MODVERSIONS=y | |||
145 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 163 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
146 | CONFIG_BLOCK=y | 164 | CONFIG_BLOCK=y |
147 | CONFIG_LBD=y | 165 | CONFIG_LBD=y |
148 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
149 | # CONFIG_BLK_DEV_BSG is not set | 166 | # CONFIG_BLK_DEV_BSG is not set |
150 | # CONFIG_BLK_DEV_INTEGRITY is not set | 167 | # CONFIG_BLK_DEV_INTEGRITY is not set |
151 | 168 | ||
@@ -161,18 +178,11 @@ CONFIG_IOSCHED_CFQ=y | |||
161 | CONFIG_DEFAULT_CFQ=y | 178 | CONFIG_DEFAULT_CFQ=y |
162 | # CONFIG_DEFAULT_NOOP is not set | 179 | # CONFIG_DEFAULT_NOOP is not set |
163 | CONFIG_DEFAULT_IOSCHED="cfq" | 180 | CONFIG_DEFAULT_IOSCHED="cfq" |
164 | CONFIG_CLASSIC_RCU=y | ||
165 | # CONFIG_TREE_RCU is not set | ||
166 | # CONFIG_PREEMPT_RCU is not set | ||
167 | # CONFIG_TREE_RCU_TRACE is not set | ||
168 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
169 | # CONFIG_FREEZER is not set | 181 | # CONFIG_FREEZER is not set |
170 | 182 | ||
171 | # | 183 | # |
172 | # Platform support | 184 | # Platform support |
173 | # | 185 | # |
174 | CONFIG_PPC_MULTIPLATFORM=y | ||
175 | CONFIG_CLASSIC32=y | ||
176 | # CONFIG_PPC_CHRP is not set | 186 | # CONFIG_PPC_CHRP is not set |
177 | # CONFIG_MPC5121_ADS is not set | 187 | # CONFIG_MPC5121_ADS is not set |
178 | # CONFIG_MPC5121_GENERIC is not set | 188 | # CONFIG_MPC5121_GENERIC is not set |
@@ -192,6 +202,8 @@ CONFIG_EMBEDDED6xx=y | |||
192 | # CONFIG_PPC_PRPMC2800 is not set | 202 | # CONFIG_PPC_PRPMC2800 is not set |
193 | CONFIG_PPC_C2K=y | 203 | CONFIG_PPC_C2K=y |
194 | CONFIG_MV64X60=y | 204 | CONFIG_MV64X60=y |
205 | # CONFIG_AMIGAONE is not set | ||
206 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
195 | # CONFIG_IPIC is not set | 207 | # CONFIG_IPIC is not set |
196 | # CONFIG_MPIC is not set | 208 | # CONFIG_MPIC is not set |
197 | # CONFIG_MPIC_WEIRD is not set | 209 | # CONFIG_MPIC_WEIRD is not set |
@@ -268,9 +280,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
268 | CONFIG_BOUNCE=y | 280 | CONFIG_BOUNCE=y |
269 | CONFIG_VIRT_TO_BUS=y | 281 | CONFIG_VIRT_TO_BUS=y |
270 | CONFIG_UNEVICTABLE_LRU=y | 282 | CONFIG_UNEVICTABLE_LRU=y |
283 | CONFIG_HAVE_MLOCK=y | ||
284 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
271 | CONFIG_PPC_4K_PAGES=y | 285 | CONFIG_PPC_4K_PAGES=y |
272 | # CONFIG_PPC_16K_PAGES is not set | 286 | # CONFIG_PPC_16K_PAGES is not set |
273 | # CONFIG_PPC_64K_PAGES is not set | 287 | # CONFIG_PPC_64K_PAGES is not set |
288 | # CONFIG_PPC_256K_PAGES is not set | ||
274 | CONFIG_FORCE_MAX_ZONEORDER=11 | 289 | CONFIG_FORCE_MAX_ZONEORDER=11 |
275 | # CONFIG_PROC_DEVICETREE is not set | 290 | # CONFIG_PROC_DEVICETREE is not set |
276 | # CONFIG_CMDLINE_BOOL is not set | 291 | # CONFIG_CMDLINE_BOOL is not set |
@@ -295,6 +310,7 @@ CONFIG_PCI_MSI=y | |||
295 | # CONFIG_PCI_LEGACY is not set | 310 | # CONFIG_PCI_LEGACY is not set |
296 | # CONFIG_PCI_DEBUG is not set | 311 | # CONFIG_PCI_DEBUG is not set |
297 | # CONFIG_PCI_STUB is not set | 312 | # CONFIG_PCI_STUB is not set |
313 | # CONFIG_PCI_IOV is not set | ||
298 | # CONFIG_PCCARD is not set | 314 | # CONFIG_PCCARD is not set |
299 | CONFIG_HOTPLUG_PCI=y | 315 | CONFIG_HOTPLUG_PCI=y |
300 | # CONFIG_HOTPLUG_PCI_FAKE is not set | 316 | # CONFIG_HOTPLUG_PCI_FAKE is not set |
@@ -315,15 +331,11 @@ CONFIG_PAGE_OFFSET=0xc0000000 | |||
315 | CONFIG_KERNEL_START=0xc0000000 | 331 | CONFIG_KERNEL_START=0xc0000000 |
316 | CONFIG_PHYSICAL_START=0x00000000 | 332 | CONFIG_PHYSICAL_START=0x00000000 |
317 | CONFIG_TASK_SIZE=0xc0000000 | 333 | CONFIG_TASK_SIZE=0xc0000000 |
318 | CONFIG_CONSISTENT_START=0xff100000 | ||
319 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
320 | CONFIG_NET=y | 334 | CONFIG_NET=y |
321 | 335 | ||
322 | # | 336 | # |
323 | # Networking options | 337 | # Networking options |
324 | # | 338 | # |
325 | # CONFIG_NET_NS is not set | ||
326 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
327 | CONFIG_PACKET=y | 339 | CONFIG_PACKET=y |
328 | CONFIG_PACKET_MMAP=y | 340 | CONFIG_PACKET_MMAP=y |
329 | CONFIG_UNIX=y | 341 | CONFIG_UNIX=y |
@@ -364,7 +376,7 @@ CONFIG_INET_TUNNEL=m | |||
364 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 376 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
365 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 377 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
366 | CONFIG_INET_XFRM_MODE_BEET=y | 378 | CONFIG_INET_XFRM_MODE_BEET=y |
367 | CONFIG_INET_LRO=m | 379 | CONFIG_INET_LRO=y |
368 | CONFIG_INET_DIAG=y | 380 | CONFIG_INET_DIAG=y |
369 | CONFIG_INET_TCP_DIAG=y | 381 | CONFIG_INET_TCP_DIAG=y |
370 | # CONFIG_TCP_CONG_ADVANCED is not set | 382 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -403,9 +415,11 @@ CONFIG_BRIDGE_NETFILTER=y | |||
403 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set | 415 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set |
404 | # CONFIG_NETFILTER_NETLINK_LOG is not set | 416 | # CONFIG_NETFILTER_NETLINK_LOG is not set |
405 | # CONFIG_NF_CONNTRACK is not set | 417 | # CONFIG_NF_CONNTRACK is not set |
418 | # CONFIG_NETFILTER_TPROXY is not set | ||
406 | CONFIG_NETFILTER_XTABLES=m | 419 | CONFIG_NETFILTER_XTABLES=m |
407 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | 420 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set |
408 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | 421 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set |
422 | # CONFIG_NETFILTER_XT_TARGET_HL is not set | ||
409 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | 423 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set |
410 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set | 424 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set |
411 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set | 425 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set |
@@ -419,6 +433,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
419 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set | 433 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set |
420 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | 434 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set |
421 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | 435 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set |
436 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
422 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | 437 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set |
423 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | 438 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set |
424 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | 439 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set |
@@ -508,11 +523,11 @@ CONFIG_IP6_NF_MATCH_HL=m | |||
508 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 523 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
509 | # CONFIG_IP6_NF_MATCH_MH is not set | 524 | # CONFIG_IP6_NF_MATCH_MH is not set |
510 | CONFIG_IP6_NF_MATCH_RT=m | 525 | CONFIG_IP6_NF_MATCH_RT=m |
526 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
511 | CONFIG_IP6_NF_TARGET_LOG=m | 527 | CONFIG_IP6_NF_TARGET_LOG=m |
512 | CONFIG_IP6_NF_FILTER=m | 528 | CONFIG_IP6_NF_FILTER=m |
513 | # CONFIG_IP6_NF_TARGET_REJECT is not set | 529 | # CONFIG_IP6_NF_TARGET_REJECT is not set |
514 | CONFIG_IP6_NF_MANGLE=m | 530 | CONFIG_IP6_NF_MANGLE=m |
515 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
516 | CONFIG_IP6_NF_RAW=m | 531 | CONFIG_IP6_NF_RAW=m |
517 | # CONFIG_IP6_NF_SECURITY is not set | 532 | # CONFIG_IP6_NF_SECURITY is not set |
518 | CONFIG_BRIDGE_NF_EBTABLES=m | 533 | CONFIG_BRIDGE_NF_EBTABLES=m |
@@ -544,6 +559,7 @@ CONFIG_IP_SCTP=m | |||
544 | # CONFIG_SCTP_HMAC_NONE is not set | 559 | # CONFIG_SCTP_HMAC_NONE is not set |
545 | # CONFIG_SCTP_HMAC_SHA1 is not set | 560 | # CONFIG_SCTP_HMAC_SHA1 is not set |
546 | CONFIG_SCTP_HMAC_MD5=y | 561 | CONFIG_SCTP_HMAC_MD5=y |
562 | # CONFIG_RDS is not set | ||
547 | # CONFIG_TIPC is not set | 563 | # CONFIG_TIPC is not set |
548 | CONFIG_ATM=m | 564 | CONFIG_ATM=m |
549 | CONFIG_ATM_CLIP=m | 565 | CONFIG_ATM_CLIP=m |
@@ -566,6 +582,7 @@ CONFIG_LLC=m | |||
566 | # CONFIG_LAPB is not set | 582 | # CONFIG_LAPB is not set |
567 | # CONFIG_ECONET is not set | 583 | # CONFIG_ECONET is not set |
568 | # CONFIG_WAN_ROUTER is not set | 584 | # CONFIG_WAN_ROUTER is not set |
585 | # CONFIG_PHONET is not set | ||
569 | CONFIG_NET_SCHED=y | 586 | CONFIG_NET_SCHED=y |
570 | 587 | ||
571 | # | 588 | # |
@@ -612,6 +629,7 @@ CONFIG_NET_SCH_FIFO=y | |||
612 | # | 629 | # |
613 | # CONFIG_NET_PKTGEN is not set | 630 | # CONFIG_NET_PKTGEN is not set |
614 | # CONFIG_NET_TCPPROBE is not set | 631 | # CONFIG_NET_TCPPROBE is not set |
632 | # CONFIG_NET_DROP_MONITOR is not set | ||
615 | # CONFIG_HAMRADIO is not set | 633 | # CONFIG_HAMRADIO is not set |
616 | # CONFIG_CAN is not set | 634 | # CONFIG_CAN is not set |
617 | # CONFIG_IRDA is not set | 635 | # CONFIG_IRDA is not set |
@@ -638,7 +656,6 @@ CONFIG_BT_HCIBCM203X=m | |||
638 | CONFIG_BT_HCIBFUSB=m | 656 | CONFIG_BT_HCIBFUSB=m |
639 | CONFIG_BT_HCIVHCI=m | 657 | CONFIG_BT_HCIVHCI=m |
640 | # CONFIG_AF_RXRPC is not set | 658 | # CONFIG_AF_RXRPC is not set |
641 | # CONFIG_PHONET is not set | ||
642 | CONFIG_FIB_RULES=y | 659 | CONFIG_FIB_RULES=y |
643 | CONFIG_WIRELESS=y | 660 | CONFIG_WIRELESS=y |
644 | # CONFIG_CFG80211 is not set | 661 | # CONFIG_CFG80211 is not set |
@@ -748,7 +765,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
748 | # LPDDR flash memory drivers | 765 | # LPDDR flash memory drivers |
749 | # | 766 | # |
750 | # CONFIG_MTD_LPDDR is not set | 767 | # CONFIG_MTD_LPDDR is not set |
751 | # CONFIG_MTD_QINFO_PROBE is not set | ||
752 | 768 | ||
753 | # | 769 | # |
754 | # UBI - Unsorted block images | 770 | # UBI - Unsorted block images |
@@ -846,9 +862,11 @@ CONFIG_MEGARAID_MM=m | |||
846 | CONFIG_MEGARAID_MAILBOX=m | 862 | CONFIG_MEGARAID_MAILBOX=m |
847 | # CONFIG_MEGARAID_LEGACY is not set | 863 | # CONFIG_MEGARAID_LEGACY is not set |
848 | CONFIG_MEGARAID_SAS=m | 864 | CONFIG_MEGARAID_SAS=m |
865 | # CONFIG_SCSI_MPT2SAS is not set | ||
849 | # CONFIG_SCSI_HPTIOP is not set | 866 | # CONFIG_SCSI_HPTIOP is not set |
850 | # CONFIG_SCSI_BUSLOGIC is not set | 867 | # CONFIG_SCSI_BUSLOGIC is not set |
851 | # CONFIG_LIBFC is not set | 868 | # CONFIG_LIBFC is not set |
869 | # CONFIG_LIBFCOE is not set | ||
852 | # CONFIG_FCOE is not set | 870 | # CONFIG_FCOE is not set |
853 | # CONFIG_SCSI_DMX3191D is not set | 871 | # CONFIG_SCSI_DMX3191D is not set |
854 | # CONFIG_SCSI_EATA is not set | 872 | # CONFIG_SCSI_EATA is not set |
@@ -875,6 +893,7 @@ CONFIG_SCSI_LPFC=m | |||
875 | # CONFIG_SCSI_DEBUG is not set | 893 | # CONFIG_SCSI_DEBUG is not set |
876 | # CONFIG_SCSI_SRP is not set | 894 | # CONFIG_SCSI_SRP is not set |
877 | # CONFIG_SCSI_DH is not set | 895 | # CONFIG_SCSI_DH is not set |
896 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
878 | # CONFIG_ATA is not set | 897 | # CONFIG_ATA is not set |
879 | # CONFIG_MD is not set | 898 | # CONFIG_MD is not set |
880 | # CONFIG_FUSION is not set | 899 | # CONFIG_FUSION is not set |
@@ -891,6 +910,7 @@ CONFIG_SCSI_LPFC=m | |||
891 | # CONFIG_I2O is not set | 910 | # CONFIG_I2O is not set |
892 | # CONFIG_MACINTOSH_DRIVERS is not set | 911 | # CONFIG_MACINTOSH_DRIVERS is not set |
893 | CONFIG_NETDEVICES=y | 912 | CONFIG_NETDEVICES=y |
913 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
894 | CONFIG_DUMMY=m | 914 | CONFIG_DUMMY=m |
895 | CONFIG_BONDING=m | 915 | CONFIG_BONDING=m |
896 | # CONFIG_MACVLAN is not set | 916 | # CONFIG_MACVLAN is not set |
@@ -924,6 +944,8 @@ CONFIG_MII=y | |||
924 | # CONFIG_SUNGEM is not set | 944 | # CONFIG_SUNGEM is not set |
925 | # CONFIG_CASSINI is not set | 945 | # CONFIG_CASSINI is not set |
926 | # CONFIG_NET_VENDOR_3COM is not set | 946 | # CONFIG_NET_VENDOR_3COM is not set |
947 | # CONFIG_ETHOC is not set | ||
948 | # CONFIG_DNET is not set | ||
927 | # CONFIG_NET_TULIP is not set | 949 | # CONFIG_NET_TULIP is not set |
928 | # CONFIG_HP100 is not set | 950 | # CONFIG_HP100 is not set |
929 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 951 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -943,6 +965,7 @@ CONFIG_NETDEV_1000=y | |||
943 | # CONFIG_E1000E is not set | 965 | # CONFIG_E1000E is not set |
944 | # CONFIG_IP1000 is not set | 966 | # CONFIG_IP1000 is not set |
945 | # CONFIG_IGB is not set | 967 | # CONFIG_IGB is not set |
968 | # CONFIG_IGBVF is not set | ||
946 | # CONFIG_NS83820 is not set | 969 | # CONFIG_NS83820 is not set |
947 | # CONFIG_HAMACHI is not set | 970 | # CONFIG_HAMACHI is not set |
948 | # CONFIG_YELLOWFIN is not set | 971 | # CONFIG_YELLOWFIN is not set |
@@ -957,6 +980,7 @@ CONFIG_MV643XX_ETH=y | |||
957 | # CONFIG_QLA3XXX is not set | 980 | # CONFIG_QLA3XXX is not set |
958 | # CONFIG_ATL1 is not set | 981 | # CONFIG_ATL1 is not set |
959 | # CONFIG_ATL1E is not set | 982 | # CONFIG_ATL1E is not set |
983 | # CONFIG_ATL1C is not set | ||
960 | # CONFIG_JME is not set | 984 | # CONFIG_JME is not set |
961 | # CONFIG_NETDEV_10000 is not set | 985 | # CONFIG_NETDEV_10000 is not set |
962 | # CONFIG_TR is not set | 986 | # CONFIG_TR is not set |
@@ -966,7 +990,6 @@ CONFIG_MV643XX_ETH=y | |||
966 | # | 990 | # |
967 | # CONFIG_WLAN_PRE80211 is not set | 991 | # CONFIG_WLAN_PRE80211 is not set |
968 | # CONFIG_WLAN_80211 is not set | 992 | # CONFIG_WLAN_80211 is not set |
969 | # CONFIG_IWLWIFI_LEDS is not set | ||
970 | 993 | ||
971 | # | 994 | # |
972 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 995 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -1084,6 +1107,7 @@ CONFIG_UNIX98_PTYS=y | |||
1084 | # CONFIG_HVC_UDBG is not set | 1107 | # CONFIG_HVC_UDBG is not set |
1085 | # CONFIG_IPMI_HANDLER is not set | 1108 | # CONFIG_IPMI_HANDLER is not set |
1086 | CONFIG_HW_RANDOM=m | 1109 | CONFIG_HW_RANDOM=m |
1110 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
1087 | CONFIG_NVRAM=m | 1111 | CONFIG_NVRAM=m |
1088 | CONFIG_GEN_RTC=m | 1112 | CONFIG_GEN_RTC=m |
1089 | # CONFIG_GEN_RTC_X is not set | 1113 | # CONFIG_GEN_RTC_X is not set |
@@ -1150,12 +1174,9 @@ CONFIG_I2C_MV64XXX=m | |||
1150 | # Miscellaneous I2C Chip support | 1174 | # Miscellaneous I2C Chip support |
1151 | # | 1175 | # |
1152 | # CONFIG_DS1682 is not set | 1176 | # CONFIG_DS1682 is not set |
1153 | # CONFIG_EEPROM_AT24 is not set | ||
1154 | CONFIG_EEPROM_LEGACY=m | ||
1155 | CONFIG_SENSORS_PCF8574=m | 1177 | CONFIG_SENSORS_PCF8574=m |
1156 | # CONFIG_PCF8575 is not set | 1178 | # CONFIG_PCF8575 is not set |
1157 | # CONFIG_SENSORS_PCA9539 is not set | 1179 | # CONFIG_SENSORS_PCA9539 is not set |
1158 | CONFIG_SENSORS_PCF8591=m | ||
1159 | # CONFIG_SENSORS_MAX6875 is not set | 1180 | # CONFIG_SENSORS_MAX6875 is not set |
1160 | # CONFIG_SENSORS_TSL2550 is not set | 1181 | # CONFIG_SENSORS_TSL2550 is not set |
1161 | # CONFIG_I2C_DEBUG_CORE is not set | 1182 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1187,6 +1208,7 @@ CONFIG_SENSORS_DS1621=m | |||
1187 | # CONFIG_SENSORS_F71805F is not set | 1208 | # CONFIG_SENSORS_F71805F is not set |
1188 | # CONFIG_SENSORS_F71882FG is not set | 1209 | # CONFIG_SENSORS_F71882FG is not set |
1189 | # CONFIG_SENSORS_F75375S is not set | 1210 | # CONFIG_SENSORS_F75375S is not set |
1211 | # CONFIG_SENSORS_G760A is not set | ||
1190 | CONFIG_SENSORS_GL518SM=m | 1212 | CONFIG_SENSORS_GL518SM=m |
1191 | # CONFIG_SENSORS_GL520SM is not set | 1213 | # CONFIG_SENSORS_GL520SM is not set |
1192 | CONFIG_SENSORS_IT87=m | 1214 | CONFIG_SENSORS_IT87=m |
@@ -1201,11 +1223,14 @@ CONFIG_SENSORS_LM87=m | |||
1201 | CONFIG_SENSORS_LM90=m | 1223 | CONFIG_SENSORS_LM90=m |
1202 | # CONFIG_SENSORS_LM92 is not set | 1224 | # CONFIG_SENSORS_LM92 is not set |
1203 | # CONFIG_SENSORS_LM93 is not set | 1225 | # CONFIG_SENSORS_LM93 is not set |
1226 | # CONFIG_SENSORS_LTC4215 is not set | ||
1204 | # CONFIG_SENSORS_LTC4245 is not set | 1227 | # CONFIG_SENSORS_LTC4245 is not set |
1228 | # CONFIG_SENSORS_LM95241 is not set | ||
1205 | CONFIG_SENSORS_MAX1619=m | 1229 | CONFIG_SENSORS_MAX1619=m |
1206 | # CONFIG_SENSORS_MAX6650 is not set | 1230 | # CONFIG_SENSORS_MAX6650 is not set |
1207 | # CONFIG_SENSORS_PC87360 is not set | 1231 | # CONFIG_SENSORS_PC87360 is not set |
1208 | # CONFIG_SENSORS_PC87427 is not set | 1232 | # CONFIG_SENSORS_PC87427 is not set |
1233 | CONFIG_SENSORS_PCF8591=m | ||
1209 | # CONFIG_SENSORS_SIS5595 is not set | 1234 | # CONFIG_SENSORS_SIS5595 is not set |
1210 | # CONFIG_SENSORS_DME1737 is not set | 1235 | # CONFIG_SENSORS_DME1737 is not set |
1211 | CONFIG_SENSORS_SMSC47M1=m | 1236 | CONFIG_SENSORS_SMSC47M1=m |
@@ -1363,21 +1388,21 @@ CONFIG_USB_PRINTER=m | |||
1363 | # CONFIG_USB_TMC is not set | 1388 | # CONFIG_USB_TMC is not set |
1364 | 1389 | ||
1365 | # | 1390 | # |
1366 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1391 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1367 | # | 1392 | # |
1368 | 1393 | ||
1369 | # | 1394 | # |
1370 | # see USB_STORAGE Help for more information | 1395 | # also be needed; see USB_STORAGE Help for more info |
1371 | # | 1396 | # |
1372 | CONFIG_USB_STORAGE=m | 1397 | CONFIG_USB_STORAGE=m |
1373 | # CONFIG_USB_STORAGE_DEBUG is not set | 1398 | # CONFIG_USB_STORAGE_DEBUG is not set |
1374 | CONFIG_USB_STORAGE_DATAFAB=y | 1399 | CONFIG_USB_STORAGE_DATAFAB=m |
1375 | CONFIG_USB_STORAGE_FREECOM=y | 1400 | CONFIG_USB_STORAGE_FREECOM=m |
1376 | CONFIG_USB_STORAGE_ISD200=y | 1401 | CONFIG_USB_STORAGE_ISD200=m |
1377 | # CONFIG_USB_STORAGE_USBAT is not set | 1402 | # CONFIG_USB_STORAGE_USBAT is not set |
1378 | CONFIG_USB_STORAGE_SDDR09=y | 1403 | CONFIG_USB_STORAGE_SDDR09=m |
1379 | CONFIG_USB_STORAGE_SDDR55=y | 1404 | CONFIG_USB_STORAGE_SDDR55=m |
1380 | CONFIG_USB_STORAGE_JUMPSHOT=y | 1405 | CONFIG_USB_STORAGE_JUMPSHOT=m |
1381 | # CONFIG_USB_STORAGE_ALAUDA is not set | 1406 | # CONFIG_USB_STORAGE_ALAUDA is not set |
1382 | # CONFIG_USB_STORAGE_ONETOUCH is not set | 1407 | # CONFIG_USB_STORAGE_ONETOUCH is not set |
1383 | # CONFIG_USB_STORAGE_KARMA is not set | 1408 | # CONFIG_USB_STORAGE_KARMA is not set |
@@ -1402,7 +1427,7 @@ CONFIG_USB_SERIAL_BELKIN=m | |||
1402 | # CONFIG_USB_SERIAL_CH341 is not set | 1427 | # CONFIG_USB_SERIAL_CH341 is not set |
1403 | CONFIG_USB_SERIAL_WHITEHEAT=m | 1428 | CONFIG_USB_SERIAL_WHITEHEAT=m |
1404 | CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m | 1429 | CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m |
1405 | # CONFIG_USB_SERIAL_CP2101 is not set | 1430 | # CONFIG_USB_SERIAL_CP210X is not set |
1406 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | 1431 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set |
1407 | CONFIG_USB_SERIAL_EMPEG=m | 1432 | CONFIG_USB_SERIAL_EMPEG=m |
1408 | CONFIG_USB_SERIAL_FTDI_SIO=m | 1433 | CONFIG_USB_SERIAL_FTDI_SIO=m |
@@ -1438,12 +1463,14 @@ CONFIG_USB_SERIAL_MCT_U232=m | |||
1438 | # CONFIG_USB_SERIAL_NAVMAN is not set | 1463 | # CONFIG_USB_SERIAL_NAVMAN is not set |
1439 | CONFIG_USB_SERIAL_PL2303=m | 1464 | CONFIG_USB_SERIAL_PL2303=m |
1440 | # CONFIG_USB_SERIAL_OTI6858 is not set | 1465 | # CONFIG_USB_SERIAL_OTI6858 is not set |
1466 | # CONFIG_USB_SERIAL_QUALCOMM is not set | ||
1441 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | 1467 | # CONFIG_USB_SERIAL_SPCP8X5 is not set |
1442 | # CONFIG_USB_SERIAL_HP4X is not set | 1468 | # CONFIG_USB_SERIAL_HP4X is not set |
1443 | CONFIG_USB_SERIAL_SAFE=m | 1469 | CONFIG_USB_SERIAL_SAFE=m |
1444 | CONFIG_USB_SERIAL_SAFE_PADDED=y | 1470 | CONFIG_USB_SERIAL_SAFE_PADDED=y |
1445 | # CONFIG_USB_SERIAL_SIEMENS_MPI is not set | 1471 | # CONFIG_USB_SERIAL_SIEMENS_MPI is not set |
1446 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | 1472 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set |
1473 | # CONFIG_USB_SERIAL_SYMBOL is not set | ||
1447 | # CONFIG_USB_SERIAL_TI is not set | 1474 | # CONFIG_USB_SERIAL_TI is not set |
1448 | CONFIG_USB_SERIAL_CYBERJACK=m | 1475 | CONFIG_USB_SERIAL_CYBERJACK=m |
1449 | CONFIG_USB_SERIAL_XIRCOM=m | 1476 | CONFIG_USB_SERIAL_XIRCOM=m |
@@ -1466,7 +1493,6 @@ CONFIG_USB_LCD=m | |||
1466 | CONFIG_USB_LED=m | 1493 | CONFIG_USB_LED=m |
1467 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1494 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1468 | # CONFIG_USB_CYTHERM is not set | 1495 | # CONFIG_USB_CYTHERM is not set |
1469 | # CONFIG_USB_PHIDGET is not set | ||
1470 | # CONFIG_USB_IDMOUSE is not set | 1496 | # CONFIG_USB_IDMOUSE is not set |
1471 | # CONFIG_USB_FTDI_ELAN is not set | 1497 | # CONFIG_USB_FTDI_ELAN is not set |
1472 | # CONFIG_USB_APPLEDISPLAY is not set | 1498 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1487,6 +1513,7 @@ CONFIG_USB_SPEEDTOUCH=m | |||
1487 | # | 1513 | # |
1488 | # OTG and related infrastructure | 1514 | # OTG and related infrastructure |
1489 | # | 1515 | # |
1516 | # CONFIG_NOP_USB_XCEIV is not set | ||
1490 | # CONFIG_UWB is not set | 1517 | # CONFIG_UWB is not set |
1491 | # CONFIG_MMC is not set | 1518 | # CONFIG_MMC is not set |
1492 | # CONFIG_MEMSTICK is not set | 1519 | # CONFIG_MEMSTICK is not set |
@@ -1516,6 +1543,7 @@ CONFIG_DMADEVICES=y | |||
1516 | # | 1543 | # |
1517 | # DMA Devices | 1544 | # DMA Devices |
1518 | # | 1545 | # |
1546 | # CONFIG_AUXDISPLAY is not set | ||
1519 | # CONFIG_UIO is not set | 1547 | # CONFIG_UIO is not set |
1520 | # CONFIG_STAGING is not set | 1548 | # CONFIG_STAGING is not set |
1521 | 1549 | ||
@@ -1524,6 +1552,7 @@ CONFIG_DMADEVICES=y | |||
1524 | # | 1552 | # |
1525 | # CONFIG_EXT2_FS is not set | 1553 | # CONFIG_EXT2_FS is not set |
1526 | CONFIG_EXT3_FS=m | 1554 | CONFIG_EXT3_FS=m |
1555 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1527 | CONFIG_EXT3_FS_XATTR=y | 1556 | CONFIG_EXT3_FS_XATTR=y |
1528 | CONFIG_EXT3_FS_POSIX_ACL=y | 1557 | CONFIG_EXT3_FS_POSIX_ACL=y |
1529 | CONFIG_EXT3_FS_SECURITY=y | 1558 | CONFIG_EXT3_FS_SECURITY=y |
@@ -1554,6 +1583,11 @@ CONFIG_AUTOFS4_FS=m | |||
1554 | # CONFIG_FUSE_FS is not set | 1583 | # CONFIG_FUSE_FS is not set |
1555 | 1584 | ||
1556 | # | 1585 | # |
1586 | # Caches | ||
1587 | # | ||
1588 | # CONFIG_FSCACHE is not set | ||
1589 | |||
1590 | # | ||
1557 | # CD-ROM/DVD Filesystems | 1591 | # CD-ROM/DVD Filesystems |
1558 | # | 1592 | # |
1559 | # CONFIG_ISO9660_FS is not set | 1593 | # CONFIG_ISO9660_FS is not set |
@@ -1612,6 +1646,7 @@ CONFIG_VXFS_FS=m | |||
1612 | # CONFIG_ROMFS_FS is not set | 1646 | # CONFIG_ROMFS_FS is not set |
1613 | # CONFIG_SYSV_FS is not set | 1647 | # CONFIG_SYSV_FS is not set |
1614 | # CONFIG_UFS_FS is not set | 1648 | # CONFIG_UFS_FS is not set |
1649 | # CONFIG_NILFS2_FS is not set | ||
1615 | CONFIG_NETWORK_FILESYSTEMS=y | 1650 | CONFIG_NETWORK_FILESYSTEMS=y |
1616 | CONFIG_NFS_FS=y | 1651 | CONFIG_NFS_FS=y |
1617 | CONFIG_NFS_V3=y | 1652 | CONFIG_NFS_V3=y |
@@ -1626,7 +1661,6 @@ CONFIG_NFS_COMMON=y | |||
1626 | CONFIG_SUNRPC=y | 1661 | CONFIG_SUNRPC=y |
1627 | CONFIG_SUNRPC_GSS=y | 1662 | CONFIG_SUNRPC_GSS=y |
1628 | CONFIG_SUNRPC_XPRT_RDMA=m | 1663 | CONFIG_SUNRPC_XPRT_RDMA=m |
1629 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1630 | CONFIG_RPCSEC_GSS_KRB5=y | 1664 | CONFIG_RPCSEC_GSS_KRB5=y |
1631 | CONFIG_RPCSEC_GSS_SPKM3=m | 1665 | CONFIG_RPCSEC_GSS_SPKM3=m |
1632 | # CONFIG_SMB_FS is not set | 1666 | # CONFIG_SMB_FS is not set |
@@ -1637,6 +1671,7 @@ CONFIG_CIFS=m | |||
1637 | CONFIG_CIFS_XATTR=y | 1671 | CONFIG_CIFS_XATTR=y |
1638 | CONFIG_CIFS_POSIX=y | 1672 | CONFIG_CIFS_POSIX=y |
1639 | # CONFIG_CIFS_DEBUG2 is not set | 1673 | # CONFIG_CIFS_DEBUG2 is not set |
1674 | # CONFIG_CIFS_DFS_UPCALL is not set | ||
1640 | # CONFIG_CIFS_EXPERIMENTAL is not set | 1675 | # CONFIG_CIFS_EXPERIMENTAL is not set |
1641 | # CONFIG_NCP_FS is not set | 1676 | # CONFIG_NCP_FS is not set |
1642 | # CONFIG_CODA_FS is not set | 1677 | # CONFIG_CODA_FS is not set |
@@ -1704,6 +1739,7 @@ CONFIG_NLS_KOI8_R=m | |||
1704 | CONFIG_NLS_KOI8_U=m | 1739 | CONFIG_NLS_KOI8_U=m |
1705 | CONFIG_NLS_UTF8=m | 1740 | CONFIG_NLS_UTF8=m |
1706 | # CONFIG_DLM is not set | 1741 | # CONFIG_DLM is not set |
1742 | CONFIG_BINARY_PRINTF=y | ||
1707 | 1743 | ||
1708 | # | 1744 | # |
1709 | # Library routines | 1745 | # Library routines |
@@ -1719,12 +1755,15 @@ CONFIG_CRC32=y | |||
1719 | CONFIG_LIBCRC32C=m | 1755 | CONFIG_LIBCRC32C=m |
1720 | CONFIG_ZLIB_INFLATE=y | 1756 | CONFIG_ZLIB_INFLATE=y |
1721 | CONFIG_ZLIB_DEFLATE=y | 1757 | CONFIG_ZLIB_DEFLATE=y |
1722 | CONFIG_PLIST=y | 1758 | CONFIG_DECOMPRESS_GZIP=y |
1759 | CONFIG_DECOMPRESS_BZIP2=y | ||
1760 | CONFIG_DECOMPRESS_LZMA=y | ||
1723 | CONFIG_HAS_IOMEM=y | 1761 | CONFIG_HAS_IOMEM=y |
1724 | CONFIG_HAS_IOPORT=y | 1762 | CONFIG_HAS_IOPORT=y |
1725 | CONFIG_HAS_DMA=y | 1763 | CONFIG_HAS_DMA=y |
1726 | CONFIG_CHECK_SIGNATURE=y | 1764 | CONFIG_CHECK_SIGNATURE=y |
1727 | CONFIG_HAVE_LMB=y | 1765 | CONFIG_HAVE_LMB=y |
1766 | CONFIG_NLATTR=y | ||
1728 | 1767 | ||
1729 | # | 1768 | # |
1730 | # Kernel hacking | 1769 | # Kernel hacking |
@@ -1742,6 +1781,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1742 | CONFIG_DETECT_SOFTLOCKUP=y | 1781 | CONFIG_DETECT_SOFTLOCKUP=y |
1743 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1782 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1744 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1783 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1784 | CONFIG_DETECT_HUNG_TASK=y | ||
1785 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1786 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1745 | CONFIG_SCHED_DEBUG=y | 1787 | CONFIG_SCHED_DEBUG=y |
1746 | # CONFIG_SCHEDSTATS is not set | 1788 | # CONFIG_SCHEDSTATS is not set |
1747 | # CONFIG_TIMER_STATS is not set | 1789 | # CONFIG_TIMER_STATS is not set |
@@ -1775,12 +1817,15 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
1775 | # CONFIG_FAULT_INJECTION is not set | 1817 | # CONFIG_FAULT_INJECTION is not set |
1776 | # CONFIG_LATENCYTOP is not set | 1818 | # CONFIG_LATENCYTOP is not set |
1777 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1819 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1820 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1778 | CONFIG_NOP_TRACER=y | 1821 | CONFIG_NOP_TRACER=y |
1779 | CONFIG_HAVE_FUNCTION_TRACER=y | 1822 | CONFIG_HAVE_FUNCTION_TRACER=y |
1823 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1780 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1824 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1781 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1825 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1782 | CONFIG_RING_BUFFER=y | 1826 | CONFIG_RING_BUFFER=y |
1783 | CONFIG_TRACING=y | 1827 | CONFIG_TRACING=y |
1828 | CONFIG_TRACING_SUPPORT=y | ||
1784 | 1829 | ||
1785 | # | 1830 | # |
1786 | # Tracers | 1831 | # Tracers |
@@ -1788,18 +1833,21 @@ CONFIG_TRACING=y | |||
1788 | # CONFIG_FUNCTION_TRACER is not set | 1833 | # CONFIG_FUNCTION_TRACER is not set |
1789 | # CONFIG_SCHED_TRACER is not set | 1834 | # CONFIG_SCHED_TRACER is not set |
1790 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1835 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1836 | # CONFIG_EVENT_TRACER is not set | ||
1791 | # CONFIG_BOOT_TRACER is not set | 1837 | # CONFIG_BOOT_TRACER is not set |
1792 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1838 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1793 | # CONFIG_STACK_TRACER is not set | 1839 | # CONFIG_STACK_TRACER is not set |
1840 | # CONFIG_KMEMTRACE is not set | ||
1841 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1842 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1794 | # CONFIG_FTRACE_STARTUP_TEST is not set | 1843 | # CONFIG_FTRACE_STARTUP_TEST is not set |
1795 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1844 | # CONFIG_DYNAMIC_DEBUG is not set |
1796 | # CONFIG_SAMPLES is not set | 1845 | # CONFIG_SAMPLES is not set |
1797 | CONFIG_HAVE_ARCH_KGDB=y | 1846 | CONFIG_HAVE_ARCH_KGDB=y |
1798 | # CONFIG_KGDB is not set | 1847 | # CONFIG_KGDB is not set |
1799 | CONFIG_PRINT_STACK_DEPTH=64 | 1848 | CONFIG_PRINT_STACK_DEPTH=64 |
1800 | CONFIG_DEBUG_STACKOVERFLOW=y | 1849 | CONFIG_DEBUG_STACKOVERFLOW=y |
1801 | CONFIG_DEBUG_STACK_USAGE=y | 1850 | CONFIG_DEBUG_STACK_USAGE=y |
1802 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1803 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1851 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1804 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1852 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1805 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1853 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1830,6 +1878,7 @@ CONFIG_SECURITY_SELINUX_DEVELOP=y | |||
1830 | CONFIG_SECURITY_SELINUX_AVC_STATS=y | 1878 | CONFIG_SECURITY_SELINUX_AVC_STATS=y |
1831 | CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 | 1879 | CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 |
1832 | # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set | 1880 | # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set |
1881 | # CONFIG_SECURITY_TOMOYO is not set | ||
1833 | CONFIG_CRYPTO=y | 1882 | CONFIG_CRYPTO=y |
1834 | 1883 | ||
1835 | # | 1884 | # |
@@ -1845,10 +1894,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1845 | CONFIG_CRYPTO_HASH=y | 1894 | CONFIG_CRYPTO_HASH=y |
1846 | CONFIG_CRYPTO_HASH2=y | 1895 | CONFIG_CRYPTO_HASH2=y |
1847 | CONFIG_CRYPTO_RNG2=y | 1896 | CONFIG_CRYPTO_RNG2=y |
1897 | CONFIG_CRYPTO_PCOMP=y | ||
1848 | CONFIG_CRYPTO_MANAGER=y | 1898 | CONFIG_CRYPTO_MANAGER=y |
1849 | CONFIG_CRYPTO_MANAGER2=y | 1899 | CONFIG_CRYPTO_MANAGER2=y |
1850 | # CONFIG_CRYPTO_GF128MUL is not set | 1900 | # CONFIG_CRYPTO_GF128MUL is not set |
1851 | CONFIG_CRYPTO_NULL=m | 1901 | CONFIG_CRYPTO_NULL=m |
1902 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1852 | # CONFIG_CRYPTO_CRYPTD is not set | 1903 | # CONFIG_CRYPTO_CRYPTD is not set |
1853 | CONFIG_CRYPTO_AUTHENC=m | 1904 | CONFIG_CRYPTO_AUTHENC=m |
1854 | # CONFIG_CRYPTO_TEST is not set | 1905 | # CONFIG_CRYPTO_TEST is not set |
@@ -1918,6 +1969,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m | |||
1918 | # Compression | 1969 | # Compression |
1919 | # | 1970 | # |
1920 | CONFIG_CRYPTO_DEFLATE=m | 1971 | CONFIG_CRYPTO_DEFLATE=m |
1972 | # CONFIG_CRYPTO_ZLIB is not set | ||
1921 | # CONFIG_CRYPTO_LZO is not set | 1973 | # CONFIG_CRYPTO_LZO is not set |
1922 | 1974 | ||
1923 | # | 1975 | # |
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig index add6419c15d9..04915c3a43f6 100644 --- a/arch/powerpc/configs/ep8248e_defconfig +++ b/arch/powerpc/configs/ep8248e_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:27 2009 | 4 | # Wed May 13 17:21:52 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_ALTIVEC is not set | 19 | # CONFIG_ALTIVEC is not set |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -55,6 +56,7 @@ CONFIG_GENERIC_BUG=y | |||
55 | # CONFIG_DEFAULT_UIMAGE is not set | 56 | # CONFIG_DEFAULT_UIMAGE is not set |
56 | # CONFIG_PPC_DCR_NATIVE is not set | 57 | # CONFIG_PPC_DCR_NATIVE is not set |
57 | # CONFIG_PPC_DCR_MMIO is not set | 58 | # CONFIG_PPC_DCR_MMIO is not set |
59 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
58 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
59 | 61 | ||
60 | # | 62 | # |
@@ -71,6 +73,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
71 | # CONFIG_BSD_PROCESS_ACCT is not set | 73 | # CONFIG_BSD_PROCESS_ACCT is not set |
72 | # CONFIG_TASKSTATS is not set | 74 | # CONFIG_TASKSTATS is not set |
73 | # CONFIG_AUDIT is not set | 75 | # CONFIG_AUDIT is not set |
76 | |||
77 | # | ||
78 | # RCU Subsystem | ||
79 | # | ||
80 | CONFIG_CLASSIC_RCU=y | ||
81 | # CONFIG_TREE_RCU is not set | ||
82 | # CONFIG_PREEMPT_RCU is not set | ||
83 | # CONFIG_TREE_RCU_TRACE is not set | ||
84 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
74 | CONFIG_IKCONFIG=y | 85 | CONFIG_IKCONFIG=y |
75 | CONFIG_IKCONFIG_PROC=y | 86 | CONFIG_IKCONFIG_PROC=y |
76 | CONFIG_LOG_BUF_SHIFT=14 | 87 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -82,20 +93,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
82 | # CONFIG_BLK_DEV_INITRD is not set | 93 | # CONFIG_BLK_DEV_INITRD is not set |
83 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 94 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
84 | CONFIG_SYSCTL=y | 95 | CONFIG_SYSCTL=y |
96 | CONFIG_ANON_INODES=y | ||
85 | CONFIG_EMBEDDED=y | 97 | CONFIG_EMBEDDED=y |
86 | CONFIG_SYSCTL_SYSCALL=y | 98 | CONFIG_SYSCTL_SYSCALL=y |
87 | CONFIG_KALLSYMS=y | 99 | CONFIG_KALLSYMS=y |
88 | CONFIG_KALLSYMS_ALL=y | 100 | CONFIG_KALLSYMS_ALL=y |
89 | CONFIG_KALLSYMS_STRIP_GENERATED=y | ||
90 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 101 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
102 | # CONFIG_STRIP_ASM_SYMS is not set | ||
91 | CONFIG_HOTPLUG=y | 103 | CONFIG_HOTPLUG=y |
92 | CONFIG_PRINTK=y | 104 | CONFIG_PRINTK=y |
93 | CONFIG_BUG=y | 105 | CONFIG_BUG=y |
94 | CONFIG_ELF_CORE=y | 106 | CONFIG_ELF_CORE=y |
95 | CONFIG_COMPAT_BRK=y | ||
96 | CONFIG_BASE_FULL=y | 107 | CONFIG_BASE_FULL=y |
97 | CONFIG_FUTEX=y | 108 | CONFIG_FUTEX=y |
98 | CONFIG_ANON_INODES=y | ||
99 | CONFIG_EPOLL=y | 109 | CONFIG_EPOLL=y |
100 | CONFIG_SIGNALFD=y | 110 | CONFIG_SIGNALFD=y |
101 | CONFIG_TIMERFD=y | 111 | CONFIG_TIMERFD=y |
@@ -104,10 +114,12 @@ CONFIG_SHMEM=y | |||
104 | CONFIG_AIO=y | 114 | CONFIG_AIO=y |
105 | CONFIG_VM_EVENT_COUNTERS=y | 115 | CONFIG_VM_EVENT_COUNTERS=y |
106 | CONFIG_PCI_QUIRKS=y | 116 | CONFIG_PCI_QUIRKS=y |
117 | CONFIG_COMPAT_BRK=y | ||
107 | CONFIG_SLAB=y | 118 | CONFIG_SLAB=y |
108 | # CONFIG_SLUB is not set | 119 | # CONFIG_SLUB is not set |
109 | # CONFIG_SLOB is not set | 120 | # CONFIG_SLOB is not set |
110 | # CONFIG_PROFILING is not set | 121 | # CONFIG_PROFILING is not set |
122 | # CONFIG_MARKERS is not set | ||
111 | CONFIG_HAVE_OPROFILE=y | 123 | CONFIG_HAVE_OPROFILE=y |
112 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 124 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
113 | CONFIG_HAVE_IOREMAP_PROT=y | 125 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -115,6 +127,7 @@ CONFIG_HAVE_KPROBES=y | |||
115 | CONFIG_HAVE_KRETPROBES=y | 127 | CONFIG_HAVE_KRETPROBES=y |
116 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 128 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
117 | CONFIG_HAVE_CLK=y | 129 | CONFIG_HAVE_CLK=y |
130 | # CONFIG_SLOW_WORK is not set | ||
118 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 131 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
119 | CONFIG_SLABINFO=y | 132 | CONFIG_SLABINFO=y |
120 | CONFIG_RT_MUTEXES=y | 133 | CONFIG_RT_MUTEXES=y |
@@ -122,7 +135,6 @@ CONFIG_BASE_SMALL=0 | |||
122 | # CONFIG_MODULES is not set | 135 | # CONFIG_MODULES is not set |
123 | CONFIG_BLOCK=y | 136 | CONFIG_BLOCK=y |
124 | # CONFIG_LBD is not set | 137 | # CONFIG_LBD is not set |
125 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
126 | # CONFIG_BLK_DEV_INTEGRITY is not set | 138 | # CONFIG_BLK_DEV_INTEGRITY is not set |
127 | 139 | ||
128 | # | 140 | # |
@@ -137,18 +149,11 @@ CONFIG_DEFAULT_DEADLINE=y | |||
137 | # CONFIG_DEFAULT_CFQ is not set | 149 | # CONFIG_DEFAULT_CFQ is not set |
138 | # CONFIG_DEFAULT_NOOP is not set | 150 | # CONFIG_DEFAULT_NOOP is not set |
139 | CONFIG_DEFAULT_IOSCHED="deadline" | 151 | CONFIG_DEFAULT_IOSCHED="deadline" |
140 | CONFIG_CLASSIC_RCU=y | ||
141 | # CONFIG_TREE_RCU is not set | ||
142 | # CONFIG_PREEMPT_RCU is not set | ||
143 | # CONFIG_TREE_RCU_TRACE is not set | ||
144 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
145 | # CONFIG_FREEZER is not set | 152 | # CONFIG_FREEZER is not set |
146 | 153 | ||
147 | # | 154 | # |
148 | # Platform support | 155 | # Platform support |
149 | # | 156 | # |
150 | CONFIG_PPC_MULTIPLATFORM=y | ||
151 | CONFIG_CLASSIC32=y | ||
152 | # CONFIG_PPC_CHRP is not set | 157 | # CONFIG_PPC_CHRP is not set |
153 | # CONFIG_MPC5121_ADS is not set | 158 | # CONFIG_MPC5121_ADS is not set |
154 | # CONFIG_MPC5121_GENERIC is not set | 159 | # CONFIG_MPC5121_GENERIC is not set |
@@ -167,6 +172,8 @@ CONFIG_8272=y | |||
167 | # CONFIG_PPC_83xx is not set | 172 | # CONFIG_PPC_83xx is not set |
168 | # CONFIG_PPC_86xx is not set | 173 | # CONFIG_PPC_86xx is not set |
169 | # CONFIG_EMBEDDED6xx is not set | 174 | # CONFIG_EMBEDDED6xx is not set |
175 | # CONFIG_AMIGAONE is not set | ||
176 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
170 | # CONFIG_IPIC is not set | 177 | # CONFIG_IPIC is not set |
171 | # CONFIG_MPIC is not set | 178 | # CONFIG_MPIC is not set |
172 | # CONFIG_MPIC_WEIRD is not set | 179 | # CONFIG_MPIC_WEIRD is not set |
@@ -222,9 +229,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
222 | CONFIG_BOUNCE=y | 229 | CONFIG_BOUNCE=y |
223 | CONFIG_VIRT_TO_BUS=y | 230 | CONFIG_VIRT_TO_BUS=y |
224 | CONFIG_UNEVICTABLE_LRU=y | 231 | CONFIG_UNEVICTABLE_LRU=y |
232 | CONFIG_HAVE_MLOCK=y | ||
233 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
225 | CONFIG_PPC_4K_PAGES=y | 234 | CONFIG_PPC_4K_PAGES=y |
226 | # CONFIG_PPC_16K_PAGES is not set | 235 | # CONFIG_PPC_16K_PAGES is not set |
227 | # CONFIG_PPC_64K_PAGES is not set | 236 | # CONFIG_PPC_64K_PAGES is not set |
237 | # CONFIG_PPC_256K_PAGES is not set | ||
228 | CONFIG_FORCE_MAX_ZONEORDER=11 | 238 | CONFIG_FORCE_MAX_ZONEORDER=11 |
229 | CONFIG_PROC_DEVICETREE=y | 239 | CONFIG_PROC_DEVICETREE=y |
230 | # CONFIG_CMDLINE_BOOL is not set | 240 | # CONFIG_CMDLINE_BOOL is not set |
@@ -250,6 +260,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
250 | # CONFIG_PCI_LEGACY is not set | 260 | # CONFIG_PCI_LEGACY is not set |
251 | # CONFIG_PCI_DEBUG is not set | 261 | # CONFIG_PCI_DEBUG is not set |
252 | # CONFIG_PCI_STUB is not set | 262 | # CONFIG_PCI_STUB is not set |
263 | # CONFIG_PCI_IOV is not set | ||
253 | # CONFIG_PCCARD is not set | 264 | # CONFIG_PCCARD is not set |
254 | # CONFIG_HOTPLUG_PCI is not set | 265 | # CONFIG_HOTPLUG_PCI is not set |
255 | # CONFIG_HAS_RAPIDIO is not set | 266 | # CONFIG_HAS_RAPIDIO is not set |
@@ -272,7 +283,6 @@ CONFIG_NET=y | |||
272 | # | 283 | # |
273 | # Networking options | 284 | # Networking options |
274 | # | 285 | # |
275 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
276 | CONFIG_PACKET=y | 286 | CONFIG_PACKET=y |
277 | # CONFIG_PACKET_MMAP is not set | 287 | # CONFIG_PACKET_MMAP is not set |
278 | CONFIG_UNIX=y | 288 | CONFIG_UNIX=y |
@@ -353,6 +363,7 @@ CONFIG_NETFILTER_ADVANCED=y | |||
353 | # CONFIG_LLC2 is not set | 363 | # CONFIG_LLC2 is not set |
354 | # CONFIG_IPX is not set | 364 | # CONFIG_IPX is not set |
355 | # CONFIG_ATALK is not set | 365 | # CONFIG_ATALK is not set |
366 | # CONFIG_PHONET is not set | ||
356 | # CONFIG_NET_SCHED is not set | 367 | # CONFIG_NET_SCHED is not set |
357 | # CONFIG_DCB is not set | 368 | # CONFIG_DCB is not set |
358 | 369 | ||
@@ -364,7 +375,6 @@ CONFIG_NETFILTER_ADVANCED=y | |||
364 | # CONFIG_CAN is not set | 375 | # CONFIG_CAN is not set |
365 | # CONFIG_IRDA is not set | 376 | # CONFIG_IRDA is not set |
366 | # CONFIG_BT is not set | 377 | # CONFIG_BT is not set |
367 | # CONFIG_PHONET is not set | ||
368 | CONFIG_WIRELESS=y | 378 | CONFIG_WIRELESS=y |
369 | # CONFIG_CFG80211 is not set | 379 | # CONFIG_CFG80211 is not set |
370 | CONFIG_WIRELESS_OLD_REGULATORY=y | 380 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -468,7 +478,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
468 | # LPDDR flash memory drivers | 478 | # LPDDR flash memory drivers |
469 | # | 479 | # |
470 | # CONFIG_MTD_LPDDR is not set | 480 | # CONFIG_MTD_LPDDR is not set |
471 | # CONFIG_MTD_QINFO_PROBE is not set | ||
472 | 481 | ||
473 | # | 482 | # |
474 | # UBI - Unsorted block images | 483 | # UBI - Unsorted block images |
@@ -517,6 +526,7 @@ CONFIG_HAVE_IDE=y | |||
517 | # CONFIG_I2O is not set | 526 | # CONFIG_I2O is not set |
518 | # CONFIG_MACINTOSH_DRIVERS is not set | 527 | # CONFIG_MACINTOSH_DRIVERS is not set |
519 | CONFIG_NETDEVICES=y | 528 | CONFIG_NETDEVICES=y |
529 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
520 | # CONFIG_DUMMY is not set | 530 | # CONFIG_DUMMY is not set |
521 | # CONFIG_BONDING is not set | 531 | # CONFIG_BONDING is not set |
522 | # CONFIG_EQUALIZER is not set | 532 | # CONFIG_EQUALIZER is not set |
@@ -550,6 +560,8 @@ CONFIG_MII=y | |||
550 | # CONFIG_SUNGEM is not set | 560 | # CONFIG_SUNGEM is not set |
551 | # CONFIG_CASSINI is not set | 561 | # CONFIG_CASSINI is not set |
552 | # CONFIG_NET_VENDOR_3COM is not set | 562 | # CONFIG_NET_VENDOR_3COM is not set |
563 | # CONFIG_ETHOC is not set | ||
564 | # CONFIG_DNET is not set | ||
553 | # CONFIG_NET_TULIP is not set | 565 | # CONFIG_NET_TULIP is not set |
554 | # CONFIG_HP100 is not set | 566 | # CONFIG_HP100 is not set |
555 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 567 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -572,6 +584,7 @@ CONFIG_NETDEV_1000=y | |||
572 | # CONFIG_E1000 is not set | 584 | # CONFIG_E1000 is not set |
573 | # CONFIG_E1000E is not set | 585 | # CONFIG_E1000E is not set |
574 | # CONFIG_IGB is not set | 586 | # CONFIG_IGB is not set |
587 | # CONFIG_IGBVF is not set | ||
575 | # CONFIG_NS83820 is not set | 588 | # CONFIG_NS83820 is not set |
576 | # CONFIG_HAMACHI is not set | 589 | # CONFIG_HAMACHI is not set |
577 | # CONFIG_R8169 is not set | 590 | # CONFIG_R8169 is not set |
@@ -581,8 +594,8 @@ CONFIG_NETDEV_1000=y | |||
581 | # CONFIG_VIA_VELOCITY is not set | 594 | # CONFIG_VIA_VELOCITY is not set |
582 | # CONFIG_TIGON3 is not set | 595 | # CONFIG_TIGON3 is not set |
583 | # CONFIG_BNX2 is not set | 596 | # CONFIG_BNX2 is not set |
597 | # CONFIG_FSL_PQ_MDIO is not set | ||
584 | # CONFIG_GIANFAR is not set | 598 | # CONFIG_GIANFAR is not set |
585 | # CONFIG_MV643XX_ETH is not set | ||
586 | # CONFIG_QLA3XXX is not set | 599 | # CONFIG_QLA3XXX is not set |
587 | # CONFIG_ATL1 is not set | 600 | # CONFIG_ATL1 is not set |
588 | # CONFIG_JME is not set | 601 | # CONFIG_JME is not set |
@@ -594,6 +607,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
594 | # CONFIG_IXGBE is not set | 607 | # CONFIG_IXGBE is not set |
595 | # CONFIG_IXGB is not set | 608 | # CONFIG_IXGB is not set |
596 | # CONFIG_S2IO is not set | 609 | # CONFIG_S2IO is not set |
610 | # CONFIG_VXGE is not set | ||
597 | # CONFIG_MYRI10GE is not set | 611 | # CONFIG_MYRI10GE is not set |
598 | # CONFIG_NETXEN_NIC is not set | 612 | # CONFIG_NETXEN_NIC is not set |
599 | # CONFIG_NIU is not set | 613 | # CONFIG_NIU is not set |
@@ -603,6 +617,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
603 | # CONFIG_BNX2X is not set | 617 | # CONFIG_BNX2X is not set |
604 | # CONFIG_QLGE is not set | 618 | # CONFIG_QLGE is not set |
605 | # CONFIG_SFC is not set | 619 | # CONFIG_SFC is not set |
620 | # CONFIG_BE2NET is not set | ||
606 | # CONFIG_TR is not set | 621 | # CONFIG_TR is not set |
607 | 622 | ||
608 | # | 623 | # |
@@ -610,7 +625,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
610 | # | 625 | # |
611 | # CONFIG_WLAN_PRE80211 is not set | 626 | # CONFIG_WLAN_PRE80211 is not set |
612 | # CONFIG_WLAN_80211 is not set | 627 | # CONFIG_WLAN_80211 is not set |
613 | # CONFIG_IWLWIFI_LEDS is not set | ||
614 | 628 | ||
615 | # | 629 | # |
616 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 630 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -662,6 +676,7 @@ CONFIG_LEGACY_PTYS=y | |||
662 | CONFIG_LEGACY_PTY_COUNT=256 | 676 | CONFIG_LEGACY_PTY_COUNT=256 |
663 | # CONFIG_IPMI_HANDLER is not set | 677 | # CONFIG_IPMI_HANDLER is not set |
664 | CONFIG_HW_RANDOM=y | 678 | CONFIG_HW_RANDOM=y |
679 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
665 | # CONFIG_NVRAM is not set | 680 | # CONFIG_NVRAM is not set |
666 | # CONFIG_GEN_RTC is not set | 681 | # CONFIG_GEN_RTC is not set |
667 | # CONFIG_R3964 is not set | 682 | # CONFIG_R3964 is not set |
@@ -751,8 +766,10 @@ CONFIG_DAB=y | |||
751 | # CONFIG_NEW_LEDS is not set | 766 | # CONFIG_NEW_LEDS is not set |
752 | # CONFIG_ACCESSIBILITY is not set | 767 | # CONFIG_ACCESSIBILITY is not set |
753 | # CONFIG_INFINIBAND is not set | 768 | # CONFIG_INFINIBAND is not set |
769 | # CONFIG_EDAC is not set | ||
754 | # CONFIG_RTC_CLASS is not set | 770 | # CONFIG_RTC_CLASS is not set |
755 | # CONFIG_DMADEVICES is not set | 771 | # CONFIG_DMADEVICES is not set |
772 | # CONFIG_AUXDISPLAY is not set | ||
756 | # CONFIG_UIO is not set | 773 | # CONFIG_UIO is not set |
757 | # CONFIG_STAGING is not set | 774 | # CONFIG_STAGING is not set |
758 | 775 | ||
@@ -763,6 +780,7 @@ CONFIG_EXT2_FS=y | |||
763 | # CONFIG_EXT2_FS_XATTR is not set | 780 | # CONFIG_EXT2_FS_XATTR is not set |
764 | # CONFIG_EXT2_FS_XIP is not set | 781 | # CONFIG_EXT2_FS_XIP is not set |
765 | CONFIG_EXT3_FS=y | 782 | CONFIG_EXT3_FS=y |
783 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
766 | # CONFIG_EXT3_FS_XATTR is not set | 784 | # CONFIG_EXT3_FS_XATTR is not set |
767 | # CONFIG_EXT4_FS is not set | 785 | # CONFIG_EXT4_FS is not set |
768 | CONFIG_JBD=y | 786 | CONFIG_JBD=y |
@@ -781,6 +799,10 @@ CONFIG_AUTOFS4_FS=y | |||
781 | # CONFIG_FUSE_FS is not set | 799 | # CONFIG_FUSE_FS is not set |
782 | 800 | ||
783 | # | 801 | # |
802 | # Caches | ||
803 | # | ||
804 | |||
805 | # | ||
784 | # CD-ROM/DVD Filesystems | 806 | # CD-ROM/DVD Filesystems |
785 | # | 807 | # |
786 | # CONFIG_ISO9660_FS is not set | 808 | # CONFIG_ISO9660_FS is not set |
@@ -894,6 +916,7 @@ CONFIG_NLS_ISO8859_1=y | |||
894 | # CONFIG_NLS_KOI8_R is not set | 916 | # CONFIG_NLS_KOI8_R is not set |
895 | # CONFIG_NLS_KOI8_U is not set | 917 | # CONFIG_NLS_KOI8_U is not set |
896 | CONFIG_NLS_UTF8=y | 918 | CONFIG_NLS_UTF8=y |
919 | # CONFIG_BINARY_PRINTF is not set | ||
897 | 920 | ||
898 | # | 921 | # |
899 | # Library routines | 922 | # Library routines |
@@ -907,11 +930,11 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
907 | # CONFIG_CRC7 is not set | 930 | # CONFIG_CRC7 is not set |
908 | # CONFIG_LIBCRC32C is not set | 931 | # CONFIG_LIBCRC32C is not set |
909 | CONFIG_ZLIB_INFLATE=y | 932 | CONFIG_ZLIB_INFLATE=y |
910 | CONFIG_PLIST=y | ||
911 | CONFIG_HAS_IOMEM=y | 933 | CONFIG_HAS_IOMEM=y |
912 | CONFIG_HAS_IOPORT=y | 934 | CONFIG_HAS_IOPORT=y |
913 | CONFIG_HAS_DMA=y | 935 | CONFIG_HAS_DMA=y |
914 | CONFIG_HAVE_LMB=y | 936 | CONFIG_HAVE_LMB=y |
937 | CONFIG_NLATTR=y | ||
915 | 938 | ||
916 | # | 939 | # |
917 | # Kernel hacking | 940 | # Kernel hacking |
@@ -927,6 +950,7 @@ CONFIG_MAGIC_SYSRQ=y | |||
927 | CONFIG_DEBUG_KERNEL=y | 950 | CONFIG_DEBUG_KERNEL=y |
928 | # CONFIG_DEBUG_SHIRQ is not set | 951 | # CONFIG_DEBUG_SHIRQ is not set |
929 | # CONFIG_DETECT_SOFTLOCKUP is not set | 952 | # CONFIG_DETECT_SOFTLOCKUP is not set |
953 | # CONFIG_DETECT_HUNG_TASK is not set | ||
930 | # CONFIG_SCHED_DEBUG is not set | 954 | # CONFIG_SCHED_DEBUG is not set |
931 | # CONFIG_SCHEDSTATS is not set | 955 | # CONFIG_SCHEDSTATS is not set |
932 | # CONFIG_TIMER_STATS is not set | 956 | # CONFIG_TIMER_STATS is not set |
@@ -955,9 +979,12 @@ CONFIG_DEBUG_INFO=y | |||
955 | # CONFIG_FAULT_INJECTION is not set | 979 | # CONFIG_FAULT_INJECTION is not set |
956 | # CONFIG_LATENCYTOP is not set | 980 | # CONFIG_LATENCYTOP is not set |
957 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 981 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
982 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
958 | CONFIG_HAVE_FUNCTION_TRACER=y | 983 | CONFIG_HAVE_FUNCTION_TRACER=y |
984 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
959 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 985 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
960 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 986 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
987 | CONFIG_TRACING_SUPPORT=y | ||
961 | 988 | ||
962 | # | 989 | # |
963 | # Tracers | 990 | # Tracers |
@@ -965,16 +992,18 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
965 | # CONFIG_FUNCTION_TRACER is not set | 992 | # CONFIG_FUNCTION_TRACER is not set |
966 | # CONFIG_SCHED_TRACER is not set | 993 | # CONFIG_SCHED_TRACER is not set |
967 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 994 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
995 | # CONFIG_EVENT_TRACER is not set | ||
968 | # CONFIG_BOOT_TRACER is not set | 996 | # CONFIG_BOOT_TRACER is not set |
969 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 997 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
970 | # CONFIG_STACK_TRACER is not set | 998 | # CONFIG_STACK_TRACER is not set |
971 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 999 | # CONFIG_KMEMTRACE is not set |
1000 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1001 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
972 | # CONFIG_SAMPLES is not set | 1002 | # CONFIG_SAMPLES is not set |
973 | CONFIG_HAVE_ARCH_KGDB=y | 1003 | CONFIG_HAVE_ARCH_KGDB=y |
974 | CONFIG_PRINT_STACK_DEPTH=64 | 1004 | CONFIG_PRINT_STACK_DEPTH=64 |
975 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1005 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
976 | # CONFIG_DEBUG_STACK_USAGE is not set | 1006 | # CONFIG_DEBUG_STACK_USAGE is not set |
977 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
978 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1007 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
979 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1008 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
980 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1009 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1005,9 +1034,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1005 | CONFIG_CRYPTO_HASH=y | 1034 | CONFIG_CRYPTO_HASH=y |
1006 | CONFIG_CRYPTO_HASH2=y | 1035 | CONFIG_CRYPTO_HASH2=y |
1007 | CONFIG_CRYPTO_RNG2=y | 1036 | CONFIG_CRYPTO_RNG2=y |
1037 | CONFIG_CRYPTO_PCOMP=y | ||
1008 | CONFIG_CRYPTO_MANAGER=y | 1038 | CONFIG_CRYPTO_MANAGER=y |
1009 | CONFIG_CRYPTO_MANAGER2=y | 1039 | CONFIG_CRYPTO_MANAGER2=y |
1010 | # CONFIG_CRYPTO_NULL is not set | 1040 | # CONFIG_CRYPTO_NULL is not set |
1041 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1011 | # CONFIG_CRYPTO_CRYPTD is not set | 1042 | # CONFIG_CRYPTO_CRYPTD is not set |
1012 | # CONFIG_CRYPTO_AUTHENC is not set | 1043 | # CONFIG_CRYPTO_AUTHENC is not set |
1013 | 1044 | ||
@@ -1071,6 +1102,7 @@ CONFIG_CRYPTO_DES=y | |||
1071 | # Compression | 1102 | # Compression |
1072 | # | 1103 | # |
1073 | # CONFIG_CRYPTO_DEFLATE is not set | 1104 | # CONFIG_CRYPTO_DEFLATE is not set |
1105 | # CONFIG_CRYPTO_ZLIB is not set | ||
1074 | # CONFIG_CRYPTO_LZO is not set | 1106 | # CONFIG_CRYPTO_LZO is not set |
1075 | 1107 | ||
1076 | # | 1108 | # |
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig index b2fdfd9e183c..c2a439595f4d 100644 --- a/arch/powerpc/configs/ep88xc_defconfig +++ b/arch/powerpc/configs/ep88xc_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:28 2009 | 4 | # Wed May 13 17:21:53 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -52,6 +52,7 @@ CONFIG_GENERIC_BUG=y | |||
52 | # CONFIG_DEFAULT_UIMAGE is not set | 52 | # CONFIG_DEFAULT_UIMAGE is not set |
53 | # CONFIG_PPC_DCR_NATIVE is not set | 53 | # CONFIG_PPC_DCR_NATIVE is not set |
54 | # CONFIG_PPC_DCR_MMIO is not set | 54 | # CONFIG_PPC_DCR_MMIO is not set |
55 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
55 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 56 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
56 | 57 | ||
57 | # | 58 | # |
@@ -69,6 +70,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
69 | # CONFIG_BSD_PROCESS_ACCT is not set | 70 | # CONFIG_BSD_PROCESS_ACCT is not set |
70 | # CONFIG_TASKSTATS is not set | 71 | # CONFIG_TASKSTATS is not set |
71 | # CONFIG_AUDIT is not set | 72 | # CONFIG_AUDIT is not set |
73 | |||
74 | # | ||
75 | # RCU Subsystem | ||
76 | # | ||
77 | CONFIG_CLASSIC_RCU=y | ||
78 | # CONFIG_TREE_RCU is not set | ||
79 | # CONFIG_PREEMPT_RCU is not set | ||
80 | # CONFIG_TREE_RCU_TRACE is not set | ||
81 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
72 | # CONFIG_IKCONFIG is not set | 82 | # CONFIG_IKCONFIG is not set |
73 | CONFIG_LOG_BUF_SHIFT=14 | 83 | CONFIG_LOG_BUF_SHIFT=14 |
74 | CONFIG_GROUP_SCHED=y | 84 | CONFIG_GROUP_SCHED=y |
@@ -84,19 +94,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
84 | # CONFIG_BLK_DEV_INITRD is not set | 94 | # CONFIG_BLK_DEV_INITRD is not set |
85 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 95 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
86 | CONFIG_SYSCTL=y | 96 | CONFIG_SYSCTL=y |
97 | CONFIG_ANON_INODES=y | ||
87 | CONFIG_EMBEDDED=y | 98 | CONFIG_EMBEDDED=y |
88 | # CONFIG_SYSCTL_SYSCALL is not set | 99 | # CONFIG_SYSCTL_SYSCALL is not set |
89 | CONFIG_KALLSYMS=y | 100 | CONFIG_KALLSYMS=y |
90 | # CONFIG_KALLSYMS_ALL is not set | 101 | # CONFIG_KALLSYMS_ALL is not set |
91 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 102 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
103 | # CONFIG_STRIP_ASM_SYMS is not set | ||
92 | CONFIG_HOTPLUG=y | 104 | CONFIG_HOTPLUG=y |
93 | CONFIG_PRINTK=y | 105 | CONFIG_PRINTK=y |
94 | CONFIG_BUG=y | 106 | CONFIG_BUG=y |
95 | # CONFIG_ELF_CORE is not set | 107 | # CONFIG_ELF_CORE is not set |
96 | CONFIG_COMPAT_BRK=y | ||
97 | # CONFIG_BASE_FULL is not set | 108 | # CONFIG_BASE_FULL is not set |
98 | # CONFIG_FUTEX is not set | 109 | # CONFIG_FUTEX is not set |
99 | CONFIG_ANON_INODES=y | ||
100 | CONFIG_EPOLL=y | 110 | CONFIG_EPOLL=y |
101 | CONFIG_SIGNALFD=y | 111 | CONFIG_SIGNALFD=y |
102 | CONFIG_TIMERFD=y | 112 | CONFIG_TIMERFD=y |
@@ -105,10 +115,12 @@ CONFIG_SHMEM=y | |||
105 | CONFIG_AIO=y | 115 | CONFIG_AIO=y |
106 | # CONFIG_VM_EVENT_COUNTERS is not set | 116 | # CONFIG_VM_EVENT_COUNTERS is not set |
107 | CONFIG_SLUB_DEBUG=y | 117 | CONFIG_SLUB_DEBUG=y |
118 | CONFIG_COMPAT_BRK=y | ||
108 | # CONFIG_SLAB is not set | 119 | # CONFIG_SLAB is not set |
109 | CONFIG_SLUB=y | 120 | CONFIG_SLUB=y |
110 | # CONFIG_SLOB is not set | 121 | # CONFIG_SLOB is not set |
111 | # CONFIG_PROFILING is not set | 122 | # CONFIG_PROFILING is not set |
123 | # CONFIG_MARKERS is not set | ||
112 | CONFIG_HAVE_OPROFILE=y | 124 | CONFIG_HAVE_OPROFILE=y |
113 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 125 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
114 | CONFIG_HAVE_IOREMAP_PROT=y | 126 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -116,13 +128,13 @@ CONFIG_HAVE_KPROBES=y | |||
116 | CONFIG_HAVE_KRETPROBES=y | 128 | CONFIG_HAVE_KRETPROBES=y |
117 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 129 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
118 | CONFIG_HAVE_CLK=y | 130 | CONFIG_HAVE_CLK=y |
131 | # CONFIG_SLOW_WORK is not set | ||
119 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 132 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
120 | CONFIG_SLABINFO=y | 133 | CONFIG_SLABINFO=y |
121 | CONFIG_BASE_SMALL=1 | 134 | CONFIG_BASE_SMALL=1 |
122 | # CONFIG_MODULES is not set | 135 | # CONFIG_MODULES is not set |
123 | CONFIG_BLOCK=y | 136 | CONFIG_BLOCK=y |
124 | # CONFIG_LBD is not set | 137 | # CONFIG_LBD is not set |
125 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
126 | # CONFIG_BLK_DEV_BSG is not set | 138 | # CONFIG_BLK_DEV_BSG is not set |
127 | # CONFIG_BLK_DEV_INTEGRITY is not set | 139 | # CONFIG_BLK_DEV_INTEGRITY is not set |
128 | 140 | ||
@@ -138,11 +150,6 @@ CONFIG_DEFAULT_DEADLINE=y | |||
138 | # CONFIG_DEFAULT_CFQ is not set | 150 | # CONFIG_DEFAULT_CFQ is not set |
139 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
140 | CONFIG_DEFAULT_IOSCHED="deadline" | 152 | CONFIG_DEFAULT_IOSCHED="deadline" |
141 | CONFIG_CLASSIC_RCU=y | ||
142 | # CONFIG_TREE_RCU is not set | ||
143 | # CONFIG_PREEMPT_RCU is not set | ||
144 | # CONFIG_TREE_RCU_TRACE is not set | ||
145 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
146 | # CONFIG_FREEZER is not set | 153 | # CONFIG_FREEZER is not set |
147 | 154 | ||
148 | # | 155 | # |
@@ -233,9 +240,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
233 | CONFIG_BOUNCE=y | 240 | CONFIG_BOUNCE=y |
234 | CONFIG_VIRT_TO_BUS=y | 241 | CONFIG_VIRT_TO_BUS=y |
235 | CONFIG_UNEVICTABLE_LRU=y | 242 | CONFIG_UNEVICTABLE_LRU=y |
243 | CONFIG_HAVE_MLOCK=y | ||
244 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
236 | CONFIG_PPC_4K_PAGES=y | 245 | CONFIG_PPC_4K_PAGES=y |
237 | # CONFIG_PPC_16K_PAGES is not set | 246 | # CONFIG_PPC_16K_PAGES is not set |
238 | # CONFIG_PPC_64K_PAGES is not set | 247 | # CONFIG_PPC_64K_PAGES is not set |
248 | # CONFIG_PPC_256K_PAGES is not set | ||
239 | CONFIG_FORCE_MAX_ZONEORDER=11 | 249 | CONFIG_FORCE_MAX_ZONEORDER=11 |
240 | CONFIG_PROC_DEVICETREE=y | 250 | CONFIG_PROC_DEVICETREE=y |
241 | # CONFIG_CMDLINE_BOOL is not set | 251 | # CONFIG_CMDLINE_BOOL is not set |
@@ -270,14 +280,11 @@ CONFIG_PAGE_OFFSET=0xc0000000 | |||
270 | CONFIG_KERNEL_START=0xc0000000 | 280 | CONFIG_KERNEL_START=0xc0000000 |
271 | CONFIG_PHYSICAL_START=0x00000000 | 281 | CONFIG_PHYSICAL_START=0x00000000 |
272 | CONFIG_TASK_SIZE=0x80000000 | 282 | CONFIG_TASK_SIZE=0x80000000 |
273 | CONFIG_CONSISTENT_START=0xfd000000 | ||
274 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
275 | CONFIG_NET=y | 283 | CONFIG_NET=y |
276 | 284 | ||
277 | # | 285 | # |
278 | # Networking options | 286 | # Networking options |
279 | # | 287 | # |
280 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
281 | CONFIG_PACKET=y | 288 | CONFIG_PACKET=y |
282 | # CONFIG_PACKET_MMAP is not set | 289 | # CONFIG_PACKET_MMAP is not set |
283 | CONFIG_UNIX=y | 290 | CONFIG_UNIX=y |
@@ -328,6 +335,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
328 | # CONFIG_LAPB is not set | 335 | # CONFIG_LAPB is not set |
329 | # CONFIG_ECONET is not set | 336 | # CONFIG_ECONET is not set |
330 | # CONFIG_WAN_ROUTER is not set | 337 | # CONFIG_WAN_ROUTER is not set |
338 | # CONFIG_PHONET is not set | ||
331 | # CONFIG_NET_SCHED is not set | 339 | # CONFIG_NET_SCHED is not set |
332 | # CONFIG_DCB is not set | 340 | # CONFIG_DCB is not set |
333 | 341 | ||
@@ -340,7 +348,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
340 | # CONFIG_IRDA is not set | 348 | # CONFIG_IRDA is not set |
341 | # CONFIG_BT is not set | 349 | # CONFIG_BT is not set |
342 | # CONFIG_AF_RXRPC is not set | 350 | # CONFIG_AF_RXRPC is not set |
343 | # CONFIG_PHONET is not set | ||
344 | CONFIG_WIRELESS=y | 351 | CONFIG_WIRELESS=y |
345 | # CONFIG_CFG80211 is not set | 352 | # CONFIG_CFG80211 is not set |
346 | CONFIG_WIRELESS_OLD_REGULATORY=y | 353 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -439,7 +446,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
439 | # LPDDR flash memory drivers | 446 | # LPDDR flash memory drivers |
440 | # | 447 | # |
441 | # CONFIG_MTD_LPDDR is not set | 448 | # CONFIG_MTD_LPDDR is not set |
442 | # CONFIG_MTD_QINFO_PROBE is not set | ||
443 | 449 | ||
444 | # | 450 | # |
445 | # UBI - Unsorted block images | 451 | # UBI - Unsorted block images |
@@ -463,6 +469,7 @@ CONFIG_HAVE_IDE=y | |||
463 | # CONFIG_MD is not set | 469 | # CONFIG_MD is not set |
464 | # CONFIG_MACINTOSH_DRIVERS is not set | 470 | # CONFIG_MACINTOSH_DRIVERS is not set |
465 | CONFIG_NETDEVICES=y | 471 | CONFIG_NETDEVICES=y |
472 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
466 | # CONFIG_DUMMY is not set | 473 | # CONFIG_DUMMY is not set |
467 | # CONFIG_BONDING is not set | 474 | # CONFIG_BONDING is not set |
468 | # CONFIG_MACVLAN is not set | 475 | # CONFIG_MACVLAN is not set |
@@ -491,6 +498,8 @@ CONFIG_LXT_PHY=y | |||
491 | # CONFIG_MDIO_BITBANG is not set | 498 | # CONFIG_MDIO_BITBANG is not set |
492 | CONFIG_NET_ETHERNET=y | 499 | CONFIG_NET_ETHERNET=y |
493 | CONFIG_MII=y | 500 | CONFIG_MII=y |
501 | # CONFIG_ETHOC is not set | ||
502 | # CONFIG_DNET is not set | ||
494 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 503 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
495 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 504 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
496 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 505 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -511,7 +520,6 @@ CONFIG_FS_ENET_MDIO_FEC=y | |||
511 | # | 520 | # |
512 | # CONFIG_WLAN_PRE80211 is not set | 521 | # CONFIG_WLAN_PRE80211 is not set |
513 | # CONFIG_WLAN_80211 is not set | 522 | # CONFIG_WLAN_80211 is not set |
514 | # CONFIG_IWLWIFI_LEDS is not set | ||
515 | 523 | ||
516 | # | 524 | # |
517 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 525 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -562,6 +570,7 @@ CONFIG_UNIX98_PTYS=y | |||
562 | # CONFIG_HVC_UDBG is not set | 570 | # CONFIG_HVC_UDBG is not set |
563 | # CONFIG_IPMI_HANDLER is not set | 571 | # CONFIG_IPMI_HANDLER is not set |
564 | CONFIG_HW_RANDOM=y | 572 | CONFIG_HW_RANDOM=y |
573 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
565 | # CONFIG_NVRAM is not set | 574 | # CONFIG_NVRAM is not set |
566 | CONFIG_GEN_RTC=y | 575 | CONFIG_GEN_RTC=y |
567 | # CONFIG_GEN_RTC_X is not set | 576 | # CONFIG_GEN_RTC_X is not set |
@@ -631,6 +640,7 @@ CONFIG_DAB=y | |||
631 | # CONFIG_EDAC is not set | 640 | # CONFIG_EDAC is not set |
632 | # CONFIG_RTC_CLASS is not set | 641 | # CONFIG_RTC_CLASS is not set |
633 | # CONFIG_DMADEVICES is not set | 642 | # CONFIG_DMADEVICES is not set |
643 | # CONFIG_AUXDISPLAY is not set | ||
634 | # CONFIG_UIO is not set | 644 | # CONFIG_UIO is not set |
635 | # CONFIG_STAGING is not set | 645 | # CONFIG_STAGING is not set |
636 | 646 | ||
@@ -655,6 +665,11 @@ CONFIG_FILE_LOCKING=y | |||
655 | # CONFIG_FUSE_FS is not set | 665 | # CONFIG_FUSE_FS is not set |
656 | 666 | ||
657 | # | 667 | # |
668 | # Caches | ||
669 | # | ||
670 | # CONFIG_FSCACHE is not set | ||
671 | |||
672 | # | ||
658 | # CD-ROM/DVD Filesystems | 673 | # CD-ROM/DVD Filesystems |
659 | # | 674 | # |
660 | # CONFIG_ISO9660_FS is not set | 675 | # CONFIG_ISO9660_FS is not set |
@@ -698,6 +713,7 @@ CONFIG_CRAMFS=y | |||
698 | # CONFIG_ROMFS_FS is not set | 713 | # CONFIG_ROMFS_FS is not set |
699 | # CONFIG_SYSV_FS is not set | 714 | # CONFIG_SYSV_FS is not set |
700 | # CONFIG_UFS_FS is not set | 715 | # CONFIG_UFS_FS is not set |
716 | # CONFIG_NILFS2_FS is not set | ||
701 | CONFIG_NETWORK_FILESYSTEMS=y | 717 | CONFIG_NETWORK_FILESYSTEMS=y |
702 | CONFIG_NFS_FS=y | 718 | CONFIG_NFS_FS=y |
703 | CONFIG_NFS_V3=y | 719 | CONFIG_NFS_V3=y |
@@ -709,7 +725,6 @@ CONFIG_LOCKD=y | |||
709 | CONFIG_LOCKD_V4=y | 725 | CONFIG_LOCKD_V4=y |
710 | CONFIG_NFS_COMMON=y | 726 | CONFIG_NFS_COMMON=y |
711 | CONFIG_SUNRPC=y | 727 | CONFIG_SUNRPC=y |
712 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
713 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 728 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
714 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 729 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
715 | # CONFIG_SMB_FS is not set | 730 | # CONFIG_SMB_FS is not set |
@@ -741,6 +756,7 @@ CONFIG_MSDOS_PARTITION=y | |||
741 | # CONFIG_SYSV68_PARTITION is not set | 756 | # CONFIG_SYSV68_PARTITION is not set |
742 | # CONFIG_NLS is not set | 757 | # CONFIG_NLS is not set |
743 | # CONFIG_DLM is not set | 758 | # CONFIG_DLM is not set |
759 | # CONFIG_BINARY_PRINTF is not set | ||
744 | 760 | ||
745 | # | 761 | # |
746 | # Library routines | 762 | # Library routines |
@@ -758,6 +774,7 @@ CONFIG_HAS_IOMEM=y | |||
758 | CONFIG_HAS_IOPORT=y | 774 | CONFIG_HAS_IOPORT=y |
759 | CONFIG_HAS_DMA=y | 775 | CONFIG_HAS_DMA=y |
760 | CONFIG_HAVE_LMB=y | 776 | CONFIG_HAVE_LMB=y |
777 | CONFIG_NLATTR=y | ||
761 | 778 | ||
762 | # | 779 | # |
763 | # Kernel hacking | 780 | # Kernel hacking |
@@ -775,6 +792,9 @@ CONFIG_DEBUG_KERNEL=y | |||
775 | CONFIG_DETECT_SOFTLOCKUP=y | 792 | CONFIG_DETECT_SOFTLOCKUP=y |
776 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 793 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
777 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 794 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
795 | CONFIG_DETECT_HUNG_TASK=y | ||
796 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
797 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
778 | CONFIG_SCHED_DEBUG=y | 798 | CONFIG_SCHED_DEBUG=y |
779 | # CONFIG_SCHEDSTATS is not set | 799 | # CONFIG_SCHEDSTATS is not set |
780 | # CONFIG_TIMER_STATS is not set | 800 | # CONFIG_TIMER_STATS is not set |
@@ -801,9 +821,12 @@ CONFIG_DEBUG_INFO=y | |||
801 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 821 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
802 | # CONFIG_FAULT_INJECTION is not set | 822 | # CONFIG_FAULT_INJECTION is not set |
803 | # CONFIG_LATENCYTOP is not set | 823 | # CONFIG_LATENCYTOP is not set |
824 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
804 | CONFIG_HAVE_FUNCTION_TRACER=y | 825 | CONFIG_HAVE_FUNCTION_TRACER=y |
826 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
805 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 827 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
806 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 828 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
829 | CONFIG_TRACING_SUPPORT=y | ||
807 | 830 | ||
808 | # | 831 | # |
809 | # Tracers | 832 | # Tracers |
@@ -811,17 +834,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
811 | # CONFIG_FUNCTION_TRACER is not set | 834 | # CONFIG_FUNCTION_TRACER is not set |
812 | # CONFIG_SCHED_TRACER is not set | 835 | # CONFIG_SCHED_TRACER is not set |
813 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 836 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
837 | # CONFIG_EVENT_TRACER is not set | ||
814 | # CONFIG_BOOT_TRACER is not set | 838 | # CONFIG_BOOT_TRACER is not set |
815 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 839 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
816 | # CONFIG_STACK_TRACER is not set | 840 | # CONFIG_STACK_TRACER is not set |
817 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 841 | # CONFIG_KMEMTRACE is not set |
842 | # CONFIG_WORKQUEUE_TRACER is not set | ||
843 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
818 | # CONFIG_SAMPLES is not set | 844 | # CONFIG_SAMPLES is not set |
819 | CONFIG_HAVE_ARCH_KGDB=y | 845 | CONFIG_HAVE_ARCH_KGDB=y |
820 | # CONFIG_KGDB is not set | 846 | # CONFIG_KGDB is not set |
821 | CONFIG_PRINT_STACK_DEPTH=64 | 847 | CONFIG_PRINT_STACK_DEPTH=64 |
822 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 848 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
823 | # CONFIG_DEBUG_STACK_USAGE is not set | 849 | # CONFIG_DEBUG_STACK_USAGE is not set |
824 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
825 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 850 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
826 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 851 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
827 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 852 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig index 15900dcf0bfa..a4053ab9e244 100644 --- a/arch/powerpc/configs/linkstation_defconfig +++ b/arch/powerpc/configs/linkstation_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc6 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Fri Mar 6 00:07:38 2009 | 4 | # Wed May 13 17:21:54 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_ALTIVEC is not set | 19 | # CONFIG_ALTIVEC is not set |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -54,6 +55,7 @@ CONFIG_GENERIC_BUG=y | |||
54 | CONFIG_DEFAULT_UIMAGE=y | 55 | CONFIG_DEFAULT_UIMAGE=y |
55 | # CONFIG_PPC_DCR_NATIVE is not set | 56 | # CONFIG_PPC_DCR_NATIVE is not set |
56 | # CONFIG_PPC_DCR_MMIO is not set | 57 | # CONFIG_PPC_DCR_MMIO is not set |
58 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
57 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
58 | 60 | ||
59 | # | 61 | # |
@@ -68,6 +70,7 @@ CONFIG_SWAP=y | |||
68 | CONFIG_SYSVIPC=y | 70 | CONFIG_SYSVIPC=y |
69 | CONFIG_SYSVIPC_SYSCTL=y | 71 | CONFIG_SYSVIPC_SYSCTL=y |
70 | CONFIG_POSIX_MQUEUE=y | 72 | CONFIG_POSIX_MQUEUE=y |
73 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
71 | # CONFIG_BSD_PROCESS_ACCT is not set | 74 | # CONFIG_BSD_PROCESS_ACCT is not set |
72 | # CONFIG_TASKSTATS is not set | 75 | # CONFIG_TASKSTATS is not set |
73 | # CONFIG_AUDIT is not set | 76 | # CONFIG_AUDIT is not set |
@@ -100,21 +103,24 @@ CONFIG_NAMESPACES=y | |||
100 | # CONFIG_NET_NS is not set | 103 | # CONFIG_NET_NS is not set |
101 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
102 | CONFIG_INITRAMFS_SOURCE="" | 105 | CONFIG_INITRAMFS_SOURCE="" |
106 | CONFIG_RD_GZIP=y | ||
107 | CONFIG_RD_BZIP2=y | ||
108 | CONFIG_RD_LZMA=y | ||
103 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 109 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
104 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
111 | CONFIG_ANON_INODES=y | ||
105 | # CONFIG_EMBEDDED is not set | 112 | # CONFIG_EMBEDDED is not set |
106 | CONFIG_SYSCTL_SYSCALL=y | 113 | CONFIG_SYSCTL_SYSCALL=y |
107 | CONFIG_KALLSYMS=y | 114 | CONFIG_KALLSYMS=y |
108 | # CONFIG_KALLSYMS_ALL is not set | 115 | # CONFIG_KALLSYMS_ALL is not set |
109 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 116 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
117 | # CONFIG_STRIP_ASM_SYMS is not set | ||
110 | CONFIG_HOTPLUG=y | 118 | CONFIG_HOTPLUG=y |
111 | CONFIG_PRINTK=y | 119 | CONFIG_PRINTK=y |
112 | CONFIG_BUG=y | 120 | CONFIG_BUG=y |
113 | CONFIG_ELF_CORE=y | 121 | CONFIG_ELF_CORE=y |
114 | # CONFIG_COMPAT_BRK is not set | ||
115 | CONFIG_BASE_FULL=y | 122 | CONFIG_BASE_FULL=y |
116 | CONFIG_FUTEX=y | 123 | CONFIG_FUTEX=y |
117 | CONFIG_ANON_INODES=y | ||
118 | CONFIG_EPOLL=y | 124 | CONFIG_EPOLL=y |
119 | CONFIG_SIGNALFD=y | 125 | CONFIG_SIGNALFD=y |
120 | CONFIG_TIMERFD=y | 126 | CONFIG_TIMERFD=y |
@@ -124,10 +130,12 @@ CONFIG_AIO=y | |||
124 | CONFIG_VM_EVENT_COUNTERS=y | 130 | CONFIG_VM_EVENT_COUNTERS=y |
125 | CONFIG_PCI_QUIRKS=y | 131 | CONFIG_PCI_QUIRKS=y |
126 | CONFIG_SLUB_DEBUG=y | 132 | CONFIG_SLUB_DEBUG=y |
133 | # CONFIG_COMPAT_BRK is not set | ||
127 | # CONFIG_SLAB is not set | 134 | # CONFIG_SLAB is not set |
128 | CONFIG_SLUB=y | 135 | CONFIG_SLUB=y |
129 | # CONFIG_SLOB is not set | 136 | # CONFIG_SLOB is not set |
130 | # CONFIG_PROFILING is not set | 137 | # CONFIG_PROFILING is not set |
138 | # CONFIG_MARKERS is not set | ||
131 | CONFIG_HAVE_OPROFILE=y | 139 | CONFIG_HAVE_OPROFILE=y |
132 | # CONFIG_KPROBES is not set | 140 | # CONFIG_KPROBES is not set |
133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 141 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -135,6 +143,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
135 | CONFIG_HAVE_KPROBES=y | 143 | CONFIG_HAVE_KPROBES=y |
136 | CONFIG_HAVE_KRETPROBES=y | 144 | CONFIG_HAVE_KRETPROBES=y |
137 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 145 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
146 | # CONFIG_SLOW_WORK is not set | ||
138 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 147 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
139 | CONFIG_SLABINFO=y | 148 | CONFIG_SLABINFO=y |
140 | CONFIG_RT_MUTEXES=y | 149 | CONFIG_RT_MUTEXES=y |
@@ -147,7 +156,6 @@ CONFIG_MODULE_UNLOAD=y | |||
147 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 156 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
148 | CONFIG_BLOCK=y | 157 | CONFIG_BLOCK=y |
149 | # CONFIG_LBD is not set | 158 | # CONFIG_LBD is not set |
150 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
151 | # CONFIG_BLK_DEV_BSG is not set | 159 | # CONFIG_BLK_DEV_BSG is not set |
152 | # CONFIG_BLK_DEV_INTEGRITY is not set | 160 | # CONFIG_BLK_DEV_INTEGRITY is not set |
153 | 161 | ||
@@ -168,8 +176,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
168 | # | 176 | # |
169 | # Platform support | 177 | # Platform support |
170 | # | 178 | # |
171 | CONFIG_PPC_MULTIPLATFORM=y | ||
172 | CONFIG_CLASSIC32=y | ||
173 | # CONFIG_PPC_CHRP is not set | 179 | # CONFIG_PPC_CHRP is not set |
174 | # CONFIG_MPC5121_ADS is not set | 180 | # CONFIG_MPC5121_ADS is not set |
175 | # CONFIG_MPC5121_GENERIC is not set | 181 | # CONFIG_MPC5121_GENERIC is not set |
@@ -191,6 +197,8 @@ CONFIG_LINKSTATION=y | |||
191 | CONFIG_MPC10X_BRIDGE=y | 197 | CONFIG_MPC10X_BRIDGE=y |
192 | CONFIG_MPC10X_OPENPIC=y | 198 | CONFIG_MPC10X_OPENPIC=y |
193 | # CONFIG_MPC10X_STORE_GATHERING is not set | 199 | # CONFIG_MPC10X_STORE_GATHERING is not set |
200 | # CONFIG_AMIGAONE is not set | ||
201 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
194 | # CONFIG_IPIC is not set | 202 | # CONFIG_IPIC is not set |
195 | CONFIG_MPIC=y | 203 | CONFIG_MPIC=y |
196 | # CONFIG_MPIC_WEIRD is not set | 204 | # CONFIG_MPIC_WEIRD is not set |
@@ -250,9 +258,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
250 | CONFIG_BOUNCE=y | 258 | CONFIG_BOUNCE=y |
251 | CONFIG_VIRT_TO_BUS=y | 259 | CONFIG_VIRT_TO_BUS=y |
252 | CONFIG_UNEVICTABLE_LRU=y | 260 | CONFIG_UNEVICTABLE_LRU=y |
261 | CONFIG_HAVE_MLOCK=y | ||
262 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
253 | CONFIG_PPC_4K_PAGES=y | 263 | CONFIG_PPC_4K_PAGES=y |
254 | # CONFIG_PPC_16K_PAGES is not set | 264 | # CONFIG_PPC_16K_PAGES is not set |
255 | # CONFIG_PPC_64K_PAGES is not set | 265 | # CONFIG_PPC_64K_PAGES is not set |
266 | # CONFIG_PPC_256K_PAGES is not set | ||
256 | CONFIG_FORCE_MAX_ZONEORDER=11 | 267 | CONFIG_FORCE_MAX_ZONEORDER=11 |
257 | CONFIG_PROC_DEVICETREE=y | 268 | CONFIG_PROC_DEVICETREE=y |
258 | # CONFIG_CMDLINE_BOOL is not set | 269 | # CONFIG_CMDLINE_BOOL is not set |
@@ -277,6 +288,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
277 | # CONFIG_PCI_LEGACY is not set | 288 | # CONFIG_PCI_LEGACY is not set |
278 | # CONFIG_PCI_DEBUG is not set | 289 | # CONFIG_PCI_DEBUG is not set |
279 | # CONFIG_PCI_STUB is not set | 290 | # CONFIG_PCI_STUB is not set |
291 | # CONFIG_PCI_IOV is not set | ||
280 | # CONFIG_PCCARD is not set | 292 | # CONFIG_PCCARD is not set |
281 | # CONFIG_HOTPLUG_PCI is not set | 293 | # CONFIG_HOTPLUG_PCI is not set |
282 | # CONFIG_HAS_RAPIDIO is not set | 294 | # CONFIG_HAS_RAPIDIO is not set |
@@ -299,7 +311,6 @@ CONFIG_NET=y | |||
299 | # | 311 | # |
300 | # Networking options | 312 | # Networking options |
301 | # | 313 | # |
302 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
303 | CONFIG_PACKET=y | 314 | CONFIG_PACKET=y |
304 | CONFIG_PACKET_MMAP=y | 315 | CONFIG_PACKET_MMAP=y |
305 | CONFIG_UNIX=y | 316 | CONFIG_UNIX=y |
@@ -371,6 +382,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
371 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | 382 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set |
372 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set | 383 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set |
373 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | 384 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set |
385 | CONFIG_NETFILTER_XT_TARGET_HL=m | ||
374 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | 386 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set |
375 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set | 387 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set |
376 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set | 388 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set |
@@ -379,6 +391,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
379 | # CONFIG_NETFILTER_XT_TARGET_TRACE is not set | 391 | # CONFIG_NETFILTER_XT_TARGET_TRACE is not set |
380 | # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set | 392 | # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set |
381 | # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set | 393 | # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set |
394 | # CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set | ||
382 | # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set | 395 | # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set |
383 | # CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set | 396 | # CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set |
384 | # CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set | 397 | # CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set |
@@ -389,6 +402,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
389 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | 402 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set |
390 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | 403 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set |
391 | # CONFIG_NETFILTER_XT_MATCH_HELPER is not set | 404 | # CONFIG_NETFILTER_XT_MATCH_HELPER is not set |
405 | # CONFIG_NETFILTER_XT_MATCH_HL is not set | ||
392 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | 406 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set |
393 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | 407 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set |
394 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | 408 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set |
@@ -465,6 +479,7 @@ CONFIG_IP_NF_ARP_MANGLE=m | |||
465 | # CONFIG_LAPB is not set | 479 | # CONFIG_LAPB is not set |
466 | # CONFIG_ECONET is not set | 480 | # CONFIG_ECONET is not set |
467 | # CONFIG_WAN_ROUTER is not set | 481 | # CONFIG_WAN_ROUTER is not set |
482 | # CONFIG_PHONET is not set | ||
468 | # CONFIG_NET_SCHED is not set | 483 | # CONFIG_NET_SCHED is not set |
469 | # CONFIG_DCB is not set | 484 | # CONFIG_DCB is not set |
470 | 485 | ||
@@ -477,7 +492,6 @@ CONFIG_IP_NF_ARP_MANGLE=m | |||
477 | # CONFIG_IRDA is not set | 492 | # CONFIG_IRDA is not set |
478 | # CONFIG_BT is not set | 493 | # CONFIG_BT is not set |
479 | # CONFIG_AF_RXRPC is not set | 494 | # CONFIG_AF_RXRPC is not set |
480 | # CONFIG_PHONET is not set | ||
481 | CONFIG_WIRELESS=y | 495 | CONFIG_WIRELESS=y |
482 | # CONFIG_CFG80211 is not set | 496 | # CONFIG_CFG80211 is not set |
483 | CONFIG_WIRELESS_OLD_REGULATORY=y | 497 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -625,6 +639,7 @@ CONFIG_MISC_DEVICES=y | |||
625 | # CONFIG_ICS932S401 is not set | 639 | # CONFIG_ICS932S401 is not set |
626 | # CONFIG_ENCLOSURE_SERVICES is not set | 640 | # CONFIG_ENCLOSURE_SERVICES is not set |
627 | # CONFIG_HP_ILO is not set | 641 | # CONFIG_HP_ILO is not set |
642 | # CONFIG_ISL29003 is not set | ||
628 | # CONFIG_C2PORT is not set | 643 | # CONFIG_C2PORT is not set |
629 | 644 | ||
630 | # | 645 | # |
@@ -690,9 +705,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
690 | # CONFIG_MEGARAID_NEWGEN is not set | 705 | # CONFIG_MEGARAID_NEWGEN is not set |
691 | # CONFIG_MEGARAID_LEGACY is not set | 706 | # CONFIG_MEGARAID_LEGACY is not set |
692 | # CONFIG_MEGARAID_SAS is not set | 707 | # CONFIG_MEGARAID_SAS is not set |
708 | # CONFIG_SCSI_MPT2SAS is not set | ||
693 | # CONFIG_SCSI_HPTIOP is not set | 709 | # CONFIG_SCSI_HPTIOP is not set |
694 | # CONFIG_SCSI_BUSLOGIC is not set | 710 | # CONFIG_SCSI_BUSLOGIC is not set |
695 | # CONFIG_LIBFC is not set | 711 | # CONFIG_LIBFC is not set |
712 | # CONFIG_LIBFCOE is not set | ||
696 | # CONFIG_FCOE is not set | 713 | # CONFIG_FCOE is not set |
697 | # CONFIG_SCSI_DMX3191D is not set | 714 | # CONFIG_SCSI_DMX3191D is not set |
698 | # CONFIG_SCSI_EATA is not set | 715 | # CONFIG_SCSI_EATA is not set |
@@ -715,6 +732,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
715 | # CONFIG_SCSI_DEBUG is not set | 732 | # CONFIG_SCSI_DEBUG is not set |
716 | # CONFIG_SCSI_SRP is not set | 733 | # CONFIG_SCSI_SRP is not set |
717 | # CONFIG_SCSI_DH is not set | 734 | # CONFIG_SCSI_DH is not set |
735 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
718 | CONFIG_ATA=y | 736 | CONFIG_ATA=y |
719 | # CONFIG_ATA_NONSTANDARD is not set | 737 | # CONFIG_ATA_NONSTANDARD is not set |
720 | CONFIG_SATA_PMP=y | 738 | CONFIG_SATA_PMP=y |
@@ -791,6 +809,7 @@ CONFIG_PATA_SIL680=y | |||
791 | # CONFIG_I2O is not set | 809 | # CONFIG_I2O is not set |
792 | # CONFIG_MACINTOSH_DRIVERS is not set | 810 | # CONFIG_MACINTOSH_DRIVERS is not set |
793 | CONFIG_NETDEVICES=y | 811 | CONFIG_NETDEVICES=y |
812 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
794 | # CONFIG_DUMMY is not set | 813 | # CONFIG_DUMMY is not set |
795 | # CONFIG_BONDING is not set | 814 | # CONFIG_BONDING is not set |
796 | # CONFIG_MACVLAN is not set | 815 | # CONFIG_MACVLAN is not set |
@@ -805,6 +824,8 @@ CONFIG_MII=y | |||
805 | # CONFIG_SUNGEM is not set | 824 | # CONFIG_SUNGEM is not set |
806 | # CONFIG_CASSINI is not set | 825 | # CONFIG_CASSINI is not set |
807 | # CONFIG_NET_VENDOR_3COM is not set | 826 | # CONFIG_NET_VENDOR_3COM is not set |
827 | # CONFIG_ETHOC is not set | ||
828 | # CONFIG_DNET is not set | ||
808 | CONFIG_NET_TULIP=y | 829 | CONFIG_NET_TULIP=y |
809 | # CONFIG_DE2104X is not set | 830 | # CONFIG_DE2104X is not set |
810 | CONFIG_TULIP=y | 831 | CONFIG_TULIP=y |
@@ -833,6 +854,7 @@ CONFIG_NETDEV_1000=y | |||
833 | # CONFIG_E1000E is not set | 854 | # CONFIG_E1000E is not set |
834 | # CONFIG_IP1000 is not set | 855 | # CONFIG_IP1000 is not set |
835 | # CONFIG_IGB is not set | 856 | # CONFIG_IGB is not set |
857 | # CONFIG_IGBVF is not set | ||
836 | # CONFIG_NS83820 is not set | 858 | # CONFIG_NS83820 is not set |
837 | # CONFIG_HAMACHI is not set | 859 | # CONFIG_HAMACHI is not set |
838 | # CONFIG_YELLOWFIN is not set | 860 | # CONFIG_YELLOWFIN is not set |
@@ -843,8 +865,8 @@ CONFIG_R8169=y | |||
843 | # CONFIG_VIA_VELOCITY is not set | 865 | # CONFIG_VIA_VELOCITY is not set |
844 | # CONFIG_TIGON3 is not set | 866 | # CONFIG_TIGON3 is not set |
845 | # CONFIG_BNX2 is not set | 867 | # CONFIG_BNX2 is not set |
868 | # CONFIG_FSL_PQ_MDIO is not set | ||
846 | # CONFIG_GIANFAR is not set | 869 | # CONFIG_GIANFAR is not set |
847 | # CONFIG_MV643XX_ETH is not set | ||
848 | # CONFIG_QLA3XXX is not set | 870 | # CONFIG_QLA3XXX is not set |
849 | # CONFIG_ATL1 is not set | 871 | # CONFIG_ATL1 is not set |
850 | # CONFIG_ATL1E is not set | 872 | # CONFIG_ATL1E is not set |
@@ -858,6 +880,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
858 | # CONFIG_IXGBE is not set | 880 | # CONFIG_IXGBE is not set |
859 | # CONFIG_IXGB is not set | 881 | # CONFIG_IXGB is not set |
860 | # CONFIG_S2IO is not set | 882 | # CONFIG_S2IO is not set |
883 | # CONFIG_VXGE is not set | ||
861 | # CONFIG_MYRI10GE is not set | 884 | # CONFIG_MYRI10GE is not set |
862 | # CONFIG_NETXEN_NIC is not set | 885 | # CONFIG_NETXEN_NIC is not set |
863 | # CONFIG_NIU is not set | 886 | # CONFIG_NIU is not set |
@@ -867,6 +890,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
867 | # CONFIG_BNX2X is not set | 890 | # CONFIG_BNX2X is not set |
868 | # CONFIG_QLGE is not set | 891 | # CONFIG_QLGE is not set |
869 | # CONFIG_SFC is not set | 892 | # CONFIG_SFC is not set |
893 | # CONFIG_BE2NET is not set | ||
870 | # CONFIG_TR is not set | 894 | # CONFIG_TR is not set |
871 | 895 | ||
872 | # | 896 | # |
@@ -874,7 +898,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
874 | # | 898 | # |
875 | # CONFIG_WLAN_PRE80211 is not set | 899 | # CONFIG_WLAN_PRE80211 is not set |
876 | # CONFIG_WLAN_80211 is not set | 900 | # CONFIG_WLAN_80211 is not set |
877 | # CONFIG_IWLWIFI_LEDS is not set | ||
878 | 901 | ||
879 | # | 902 | # |
880 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 903 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -985,6 +1008,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
985 | # CONFIG_HVC_UDBG is not set | 1008 | # CONFIG_HVC_UDBG is not set |
986 | # CONFIG_IPMI_HANDLER is not set | 1009 | # CONFIG_IPMI_HANDLER is not set |
987 | CONFIG_HW_RANDOM=y | 1010 | CONFIG_HW_RANDOM=y |
1011 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
988 | # CONFIG_NVRAM is not set | 1012 | # CONFIG_NVRAM is not set |
989 | # CONFIG_R3964 is not set | 1013 | # CONFIG_R3964 is not set |
990 | # CONFIG_APPLICOM is not set | 1014 | # CONFIG_APPLICOM is not set |
@@ -1050,7 +1074,6 @@ CONFIG_I2C_MPC=y | |||
1050 | # CONFIG_SENSORS_PCF8574 is not set | 1074 | # CONFIG_SENSORS_PCF8574 is not set |
1051 | # CONFIG_PCF8575 is not set | 1075 | # CONFIG_PCF8575 is not set |
1052 | # CONFIG_SENSORS_PCA9539 is not set | 1076 | # CONFIG_SENSORS_PCA9539 is not set |
1053 | # CONFIG_SENSORS_PCF8591 is not set | ||
1054 | # CONFIG_SENSORS_MAX6875 is not set | 1077 | # CONFIG_SENSORS_MAX6875 is not set |
1055 | # CONFIG_SENSORS_TSL2550 is not set | 1078 | # CONFIG_SENSORS_TSL2550 is not set |
1056 | # CONFIG_I2C_DEBUG_CORE is not set | 1079 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1082,6 +1105,7 @@ CONFIG_HWMON=y | |||
1082 | # CONFIG_SENSORS_F71805F is not set | 1105 | # CONFIG_SENSORS_F71805F is not set |
1083 | # CONFIG_SENSORS_F71882FG is not set | 1106 | # CONFIG_SENSORS_F71882FG is not set |
1084 | # CONFIG_SENSORS_F75375S is not set | 1107 | # CONFIG_SENSORS_F75375S is not set |
1108 | # CONFIG_SENSORS_G760A is not set | ||
1085 | # CONFIG_SENSORS_GL518SM is not set | 1109 | # CONFIG_SENSORS_GL518SM is not set |
1086 | # CONFIG_SENSORS_GL520SM is not set | 1110 | # CONFIG_SENSORS_GL520SM is not set |
1087 | # CONFIG_SENSORS_IT87 is not set | 1111 | # CONFIG_SENSORS_IT87 is not set |
@@ -1096,11 +1120,14 @@ CONFIG_HWMON=y | |||
1096 | # CONFIG_SENSORS_LM90 is not set | 1120 | # CONFIG_SENSORS_LM90 is not set |
1097 | # CONFIG_SENSORS_LM92 is not set | 1121 | # CONFIG_SENSORS_LM92 is not set |
1098 | # CONFIG_SENSORS_LM93 is not set | 1122 | # CONFIG_SENSORS_LM93 is not set |
1123 | # CONFIG_SENSORS_LTC4215 is not set | ||
1099 | # CONFIG_SENSORS_LTC4245 is not set | 1124 | # CONFIG_SENSORS_LTC4245 is not set |
1125 | # CONFIG_SENSORS_LM95241 is not set | ||
1100 | # CONFIG_SENSORS_MAX1619 is not set | 1126 | # CONFIG_SENSORS_MAX1619 is not set |
1101 | # CONFIG_SENSORS_MAX6650 is not set | 1127 | # CONFIG_SENSORS_MAX6650 is not set |
1102 | # CONFIG_SENSORS_PC87360 is not set | 1128 | # CONFIG_SENSORS_PC87360 is not set |
1103 | # CONFIG_SENSORS_PC87427 is not set | 1129 | # CONFIG_SENSORS_PC87427 is not set |
1130 | # CONFIG_SENSORS_PCF8591 is not set | ||
1104 | # CONFIG_SENSORS_SIS5595 is not set | 1131 | # CONFIG_SENSORS_SIS5595 is not set |
1105 | # CONFIG_SENSORS_DME1737 is not set | 1132 | # CONFIG_SENSORS_DME1737 is not set |
1106 | # CONFIG_SENSORS_SMSC47M1 is not set | 1133 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1195,7 +1222,6 @@ CONFIG_HID=m | |||
1195 | # | 1222 | # |
1196 | # Special HID drivers | 1223 | # Special HID drivers |
1197 | # | 1224 | # |
1198 | CONFIG_HID_COMPAT=y | ||
1199 | CONFIG_USB_SUPPORT=y | 1225 | CONFIG_USB_SUPPORT=y |
1200 | CONFIG_USB_ARCH_HAS_HCD=y | 1226 | CONFIG_USB_ARCH_HAS_HCD=y |
1201 | CONFIG_USB_ARCH_HAS_OHCI=y | 1227 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1250,11 +1276,11 @@ CONFIG_USB_PRINTER=m | |||
1250 | # CONFIG_USB_TMC is not set | 1276 | # CONFIG_USB_TMC is not set |
1251 | 1277 | ||
1252 | # | 1278 | # |
1253 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1279 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1254 | # | 1280 | # |
1255 | 1281 | ||
1256 | # | 1282 | # |
1257 | # see USB_STORAGE Help for more information | 1283 | # also be needed; see USB_STORAGE Help for more info |
1258 | # | 1284 | # |
1259 | CONFIG_USB_STORAGE=m | 1285 | CONFIG_USB_STORAGE=m |
1260 | # CONFIG_USB_STORAGE_DEBUG is not set | 1286 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1290,7 +1316,7 @@ CONFIG_USB_SERIAL_CONSOLE=y | |||
1290 | # CONFIG_USB_SERIAL_CH341 is not set | 1316 | # CONFIG_USB_SERIAL_CH341 is not set |
1291 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | 1317 | # CONFIG_USB_SERIAL_WHITEHEAT is not set |
1292 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | 1318 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set |
1293 | # CONFIG_USB_SERIAL_CP2101 is not set | 1319 | # CONFIG_USB_SERIAL_CP210X is not set |
1294 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | 1320 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set |
1295 | # CONFIG_USB_SERIAL_EMPEG is not set | 1321 | # CONFIG_USB_SERIAL_EMPEG is not set |
1296 | CONFIG_USB_SERIAL_FTDI_SIO=y | 1322 | CONFIG_USB_SERIAL_FTDI_SIO=y |
@@ -1314,11 +1340,13 @@ CONFIG_USB_SERIAL_FTDI_SIO=y | |||
1314 | # CONFIG_USB_SERIAL_NAVMAN is not set | 1340 | # CONFIG_USB_SERIAL_NAVMAN is not set |
1315 | # CONFIG_USB_SERIAL_PL2303 is not set | 1341 | # CONFIG_USB_SERIAL_PL2303 is not set |
1316 | # CONFIG_USB_SERIAL_OTI6858 is not set | 1342 | # CONFIG_USB_SERIAL_OTI6858 is not set |
1343 | # CONFIG_USB_SERIAL_QUALCOMM is not set | ||
1317 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | 1344 | # CONFIG_USB_SERIAL_SPCP8X5 is not set |
1318 | # CONFIG_USB_SERIAL_HP4X is not set | 1345 | # CONFIG_USB_SERIAL_HP4X is not set |
1319 | # CONFIG_USB_SERIAL_SAFE is not set | 1346 | # CONFIG_USB_SERIAL_SAFE is not set |
1320 | # CONFIG_USB_SERIAL_SIEMENS_MPI is not set | 1347 | # CONFIG_USB_SERIAL_SIEMENS_MPI is not set |
1321 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | 1348 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set |
1349 | # CONFIG_USB_SERIAL_SYMBOL is not set | ||
1322 | # CONFIG_USB_SERIAL_TI is not set | 1350 | # CONFIG_USB_SERIAL_TI is not set |
1323 | # CONFIG_USB_SERIAL_CYBERJACK is not set | 1351 | # CONFIG_USB_SERIAL_CYBERJACK is not set |
1324 | # CONFIG_USB_SERIAL_XIRCOM is not set | 1352 | # CONFIG_USB_SERIAL_XIRCOM is not set |
@@ -1341,7 +1369,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y | |||
1341 | # CONFIG_USB_LED is not set | 1369 | # CONFIG_USB_LED is not set |
1342 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1370 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1343 | # CONFIG_USB_CYTHERM is not set | 1371 | # CONFIG_USB_CYTHERM is not set |
1344 | # CONFIG_USB_PHIDGET is not set | ||
1345 | # CONFIG_USB_IDMOUSE is not set | 1372 | # CONFIG_USB_IDMOUSE is not set |
1346 | # CONFIG_USB_FTDI_ELAN is not set | 1373 | # CONFIG_USB_FTDI_ELAN is not set |
1347 | # CONFIG_USB_APPLEDISPLAY is not set | 1374 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1357,6 +1384,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y | |||
1357 | # | 1384 | # |
1358 | # OTG and related infrastructure | 1385 | # OTG and related infrastructure |
1359 | # | 1386 | # |
1387 | # CONFIG_NOP_USB_XCEIV is not set | ||
1360 | # CONFIG_UWB is not set | 1388 | # CONFIG_UWB is not set |
1361 | # CONFIG_MMC is not set | 1389 | # CONFIG_MMC is not set |
1362 | # CONFIG_MEMSTICK is not set | 1390 | # CONFIG_MEMSTICK is not set |
@@ -1418,8 +1446,9 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1418 | # | 1446 | # |
1419 | # on-CPU RTC drivers | 1447 | # on-CPU RTC drivers |
1420 | # | 1448 | # |
1421 | # CONFIG_RTC_DRV_PPC is not set | 1449 | # CONFIG_RTC_DRV_GENERIC is not set |
1422 | # CONFIG_DMADEVICES is not set | 1450 | # CONFIG_DMADEVICES is not set |
1451 | # CONFIG_AUXDISPLAY is not set | ||
1423 | # CONFIG_UIO is not set | 1452 | # CONFIG_UIO is not set |
1424 | # CONFIG_STAGING is not set | 1453 | # CONFIG_STAGING is not set |
1425 | 1454 | ||
@@ -1430,6 +1459,7 @@ CONFIG_EXT2_FS=y | |||
1430 | # CONFIG_EXT2_FS_XATTR is not set | 1459 | # CONFIG_EXT2_FS_XATTR is not set |
1431 | # CONFIG_EXT2_FS_XIP is not set | 1460 | # CONFIG_EXT2_FS_XIP is not set |
1432 | CONFIG_EXT3_FS=y | 1461 | CONFIG_EXT3_FS=y |
1462 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1433 | CONFIG_EXT3_FS_XATTR=y | 1463 | CONFIG_EXT3_FS_XATTR=y |
1434 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1464 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1435 | # CONFIG_EXT3_FS_SECURITY is not set | 1465 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1456,6 +1486,11 @@ CONFIG_INOTIFY_USER=y | |||
1456 | # CONFIG_FUSE_FS is not set | 1486 | # CONFIG_FUSE_FS is not set |
1457 | 1487 | ||
1458 | # | 1488 | # |
1489 | # Caches | ||
1490 | # | ||
1491 | # CONFIG_FSCACHE is not set | ||
1492 | |||
1493 | # | ||
1459 | # CD-ROM/DVD Filesystems | 1494 | # CD-ROM/DVD Filesystems |
1460 | # | 1495 | # |
1461 | CONFIG_ISO9660_FS=m | 1496 | CONFIG_ISO9660_FS=m |
@@ -1507,6 +1542,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1507 | # CONFIG_ROMFS_FS is not set | 1542 | # CONFIG_ROMFS_FS is not set |
1508 | # CONFIG_SYSV_FS is not set | 1543 | # CONFIG_SYSV_FS is not set |
1509 | # CONFIG_UFS_FS is not set | 1544 | # CONFIG_UFS_FS is not set |
1545 | # CONFIG_NILFS2_FS is not set | ||
1510 | CONFIG_NETWORK_FILESYSTEMS=y | 1546 | CONFIG_NETWORK_FILESYSTEMS=y |
1511 | CONFIG_NFS_FS=y | 1547 | CONFIG_NFS_FS=y |
1512 | CONFIG_NFS_V3=y | 1548 | CONFIG_NFS_V3=y |
@@ -1524,7 +1560,6 @@ CONFIG_NFS_ACL_SUPPORT=y | |||
1524 | CONFIG_NFS_COMMON=y | 1560 | CONFIG_NFS_COMMON=y |
1525 | CONFIG_SUNRPC=y | 1561 | CONFIG_SUNRPC=y |
1526 | CONFIG_SUNRPC_GSS=y | 1562 | CONFIG_SUNRPC_GSS=y |
1527 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1528 | CONFIG_RPCSEC_GSS_KRB5=y | 1563 | CONFIG_RPCSEC_GSS_KRB5=y |
1529 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1564 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1530 | # CONFIG_SMB_FS is not set | 1565 | # CONFIG_SMB_FS is not set |
@@ -1584,6 +1619,7 @@ CONFIG_NLS_ISO8859_1=m | |||
1584 | # CONFIG_NLS_KOI8_U is not set | 1619 | # CONFIG_NLS_KOI8_U is not set |
1585 | CONFIG_NLS_UTF8=m | 1620 | CONFIG_NLS_UTF8=m |
1586 | # CONFIG_DLM is not set | 1621 | # CONFIG_DLM is not set |
1622 | # CONFIG_BINARY_PRINTF is not set | ||
1587 | 1623 | ||
1588 | # | 1624 | # |
1589 | # Library routines | 1625 | # Library routines |
@@ -1597,15 +1633,18 @@ CONFIG_CRC_ITU_T=m | |||
1597 | CONFIG_CRC32=y | 1633 | CONFIG_CRC32=y |
1598 | # CONFIG_CRC7 is not set | 1634 | # CONFIG_CRC7 is not set |
1599 | CONFIG_LIBCRC32C=m | 1635 | CONFIG_LIBCRC32C=m |
1600 | CONFIG_ZLIB_INFLATE=m | 1636 | CONFIG_ZLIB_INFLATE=y |
1601 | CONFIG_ZLIB_DEFLATE=m | 1637 | CONFIG_ZLIB_DEFLATE=m |
1638 | CONFIG_DECOMPRESS_GZIP=y | ||
1639 | CONFIG_DECOMPRESS_BZIP2=y | ||
1640 | CONFIG_DECOMPRESS_LZMA=y | ||
1602 | CONFIG_TEXTSEARCH=y | 1641 | CONFIG_TEXTSEARCH=y |
1603 | CONFIG_TEXTSEARCH_KMP=m | 1642 | CONFIG_TEXTSEARCH_KMP=m |
1604 | CONFIG_PLIST=y | ||
1605 | CONFIG_HAS_IOMEM=y | 1643 | CONFIG_HAS_IOMEM=y |
1606 | CONFIG_HAS_IOPORT=y | 1644 | CONFIG_HAS_IOPORT=y |
1607 | CONFIG_HAS_DMA=y | 1645 | CONFIG_HAS_DMA=y |
1608 | CONFIG_HAVE_LMB=y | 1646 | CONFIG_HAVE_LMB=y |
1647 | CONFIG_NLATTR=y | ||
1609 | 1648 | ||
1610 | # | 1649 | # |
1611 | # Kernel hacking | 1650 | # Kernel hacking |
@@ -1623,6 +1662,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1623 | CONFIG_DETECT_SOFTLOCKUP=y | 1662 | CONFIG_DETECT_SOFTLOCKUP=y |
1624 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1663 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1625 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1664 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1665 | CONFIG_DETECT_HUNG_TASK=y | ||
1666 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1667 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1626 | CONFIG_SCHED_DEBUG=y | 1668 | CONFIG_SCHED_DEBUG=y |
1627 | # CONFIG_SCHEDSTATS is not set | 1669 | # CONFIG_SCHEDSTATS is not set |
1628 | # CONFIG_TIMER_STATS is not set | 1670 | # CONFIG_TIMER_STATS is not set |
@@ -1652,9 +1694,12 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
1652 | # CONFIG_FAULT_INJECTION is not set | 1694 | # CONFIG_FAULT_INJECTION is not set |
1653 | # CONFIG_LATENCYTOP is not set | 1695 | # CONFIG_LATENCYTOP is not set |
1654 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1696 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1697 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1655 | CONFIG_HAVE_FUNCTION_TRACER=y | 1698 | CONFIG_HAVE_FUNCTION_TRACER=y |
1699 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1656 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1700 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1657 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1701 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1702 | CONFIG_TRACING_SUPPORT=y | ||
1658 | 1703 | ||
1659 | # | 1704 | # |
1660 | # Tracers | 1705 | # Tracers |
@@ -1662,17 +1707,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1662 | # CONFIG_FUNCTION_TRACER is not set | 1707 | # CONFIG_FUNCTION_TRACER is not set |
1663 | # CONFIG_SCHED_TRACER is not set | 1708 | # CONFIG_SCHED_TRACER is not set |
1664 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1709 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1710 | # CONFIG_EVENT_TRACER is not set | ||
1665 | # CONFIG_BOOT_TRACER is not set | 1711 | # CONFIG_BOOT_TRACER is not set |
1666 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1712 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1667 | # CONFIG_STACK_TRACER is not set | 1713 | # CONFIG_STACK_TRACER is not set |
1668 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1714 | # CONFIG_KMEMTRACE is not set |
1715 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1716 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1669 | # CONFIG_SAMPLES is not set | 1717 | # CONFIG_SAMPLES is not set |
1670 | CONFIG_HAVE_ARCH_KGDB=y | 1718 | CONFIG_HAVE_ARCH_KGDB=y |
1671 | # CONFIG_KGDB is not set | 1719 | # CONFIG_KGDB is not set |
1672 | CONFIG_PRINT_STACK_DEPTH=64 | 1720 | CONFIG_PRINT_STACK_DEPTH=64 |
1673 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1721 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1674 | # CONFIG_DEBUG_STACK_USAGE is not set | 1722 | # CONFIG_DEBUG_STACK_USAGE is not set |
1675 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1676 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1723 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1677 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1724 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1678 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1725 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1703,10 +1750,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1703 | CONFIG_CRYPTO_HASH=y | 1750 | CONFIG_CRYPTO_HASH=y |
1704 | CONFIG_CRYPTO_HASH2=y | 1751 | CONFIG_CRYPTO_HASH2=y |
1705 | CONFIG_CRYPTO_RNG2=y | 1752 | CONFIG_CRYPTO_RNG2=y |
1753 | CONFIG_CRYPTO_PCOMP=y | ||
1706 | CONFIG_CRYPTO_MANAGER=y | 1754 | CONFIG_CRYPTO_MANAGER=y |
1707 | CONFIG_CRYPTO_MANAGER2=y | 1755 | CONFIG_CRYPTO_MANAGER2=y |
1708 | # CONFIG_CRYPTO_GF128MUL is not set | 1756 | # CONFIG_CRYPTO_GF128MUL is not set |
1709 | # CONFIG_CRYPTO_NULL is not set | 1757 | # CONFIG_CRYPTO_NULL is not set |
1758 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1710 | # CONFIG_CRYPTO_CRYPTD is not set | 1759 | # CONFIG_CRYPTO_CRYPTD is not set |
1711 | # CONFIG_CRYPTO_AUTHENC is not set | 1760 | # CONFIG_CRYPTO_AUTHENC is not set |
1712 | # CONFIG_CRYPTO_TEST is not set | 1761 | # CONFIG_CRYPTO_TEST is not set |
@@ -1776,6 +1825,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m | |||
1776 | # Compression | 1825 | # Compression |
1777 | # | 1826 | # |
1778 | CONFIG_CRYPTO_DEFLATE=m | 1827 | CONFIG_CRYPTO_DEFLATE=m |
1828 | # CONFIG_CRYPTO_ZLIB is not set | ||
1779 | # CONFIG_CRYPTO_LZO is not set | 1829 | # CONFIG_CRYPTO_LZO is not set |
1780 | 1830 | ||
1781 | # | 1831 | # |
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig index c58c38d5b7a6..31e1df665157 100644 --- a/arch/powerpc/configs/mgcoge_defconfig +++ b/arch/powerpc/configs/mgcoge_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:30 2009 | 4 | # Wed May 13 17:21:55 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_ALTIVEC is not set | 19 | # CONFIG_ALTIVEC is not set |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -57,6 +58,7 @@ CONFIG_HIBERNATE_32=y | |||
57 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 58 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
58 | # CONFIG_PPC_DCR_NATIVE is not set | 59 | # CONFIG_PPC_DCR_NATIVE is not set |
59 | # CONFIG_PPC_DCR_MMIO is not set | 60 | # CONFIG_PPC_DCR_MMIO is not set |
61 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
61 | 63 | ||
62 | # | 64 | # |
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | CONFIG_IKCONFIG=y | 87 | CONFIG_IKCONFIG=y |
77 | CONFIG_IKCONFIG_PROC=y | 88 | CONFIG_IKCONFIG_PROC=y |
78 | CONFIG_LOG_BUF_SHIFT=14 | 89 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -83,23 +94,25 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
83 | # CONFIG_NAMESPACES is not set | 94 | # CONFIG_NAMESPACES is not set |
84 | CONFIG_BLK_DEV_INITRD=y | 95 | CONFIG_BLK_DEV_INITRD=y |
85 | CONFIG_INITRAMFS_SOURCE="" | 96 | CONFIG_INITRAMFS_SOURCE="" |
97 | CONFIG_RD_GZIP=y | ||
98 | # CONFIG_RD_BZIP2 is not set | ||
99 | # CONFIG_RD_LZMA is not set | ||
86 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 100 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
87 | CONFIG_SYSCTL=y | 101 | CONFIG_SYSCTL=y |
102 | CONFIG_ANON_INODES=y | ||
88 | CONFIG_EMBEDDED=y | 103 | CONFIG_EMBEDDED=y |
89 | CONFIG_SYSCTL_SYSCALL=y | 104 | CONFIG_SYSCTL_SYSCALL=y |
90 | CONFIG_KALLSYMS=y | 105 | CONFIG_KALLSYMS=y |
91 | CONFIG_KALLSYMS_ALL=y | 106 | CONFIG_KALLSYMS_ALL=y |
92 | CONFIG_KALLSYMS_STRIP_GENERATED=y | ||
93 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 107 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
108 | # CONFIG_STRIP_ASM_SYMS is not set | ||
94 | CONFIG_HOTPLUG=y | 109 | CONFIG_HOTPLUG=y |
95 | CONFIG_PRINTK=y | 110 | CONFIG_PRINTK=y |
96 | CONFIG_BUG=y | 111 | CONFIG_BUG=y |
97 | CONFIG_ELF_CORE=y | 112 | CONFIG_ELF_CORE=y |
98 | CONFIG_PCSPKR_PLATFORM=y | 113 | CONFIG_PCSPKR_PLATFORM=y |
99 | CONFIG_COMPAT_BRK=y | ||
100 | CONFIG_BASE_FULL=y | 114 | CONFIG_BASE_FULL=y |
101 | CONFIG_FUTEX=y | 115 | CONFIG_FUTEX=y |
102 | CONFIG_ANON_INODES=y | ||
103 | CONFIG_EPOLL=y | 116 | CONFIG_EPOLL=y |
104 | CONFIG_SIGNALFD=y | 117 | CONFIG_SIGNALFD=y |
105 | CONFIG_TIMERFD=y | 118 | CONFIG_TIMERFD=y |
@@ -108,10 +121,12 @@ CONFIG_SHMEM=y | |||
108 | CONFIG_AIO=y | 121 | CONFIG_AIO=y |
109 | CONFIG_VM_EVENT_COUNTERS=y | 122 | CONFIG_VM_EVENT_COUNTERS=y |
110 | CONFIG_PCI_QUIRKS=y | 123 | CONFIG_PCI_QUIRKS=y |
124 | CONFIG_COMPAT_BRK=y | ||
111 | CONFIG_SLAB=y | 125 | CONFIG_SLAB=y |
112 | # CONFIG_SLUB is not set | 126 | # CONFIG_SLUB is not set |
113 | # CONFIG_SLOB is not set | 127 | # CONFIG_SLOB is not set |
114 | # CONFIG_PROFILING is not set | 128 | # CONFIG_PROFILING is not set |
129 | # CONFIG_MARKERS is not set | ||
115 | CONFIG_HAVE_OPROFILE=y | 130 | CONFIG_HAVE_OPROFILE=y |
116 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 131 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
117 | CONFIG_HAVE_IOREMAP_PROT=y | 132 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -119,6 +134,7 @@ CONFIG_HAVE_KPROBES=y | |||
119 | CONFIG_HAVE_KRETPROBES=y | 134 | CONFIG_HAVE_KRETPROBES=y |
120 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 135 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
121 | CONFIG_HAVE_CLK=y | 136 | CONFIG_HAVE_CLK=y |
137 | # CONFIG_SLOW_WORK is not set | ||
122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 138 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
123 | CONFIG_SLABINFO=y | 139 | CONFIG_SLABINFO=y |
124 | CONFIG_RT_MUTEXES=y | 140 | CONFIG_RT_MUTEXES=y |
@@ -126,7 +142,6 @@ CONFIG_BASE_SMALL=0 | |||
126 | # CONFIG_MODULES is not set | 142 | # CONFIG_MODULES is not set |
127 | CONFIG_BLOCK=y | 143 | CONFIG_BLOCK=y |
128 | # CONFIG_LBD is not set | 144 | # CONFIG_LBD is not set |
129 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
130 | # CONFIG_BLK_DEV_INTEGRITY is not set | 145 | # CONFIG_BLK_DEV_INTEGRITY is not set |
131 | 146 | ||
132 | # | 147 | # |
@@ -141,18 +156,11 @@ CONFIG_DEFAULT_DEADLINE=y | |||
141 | # CONFIG_DEFAULT_CFQ is not set | 156 | # CONFIG_DEFAULT_CFQ is not set |
142 | # CONFIG_DEFAULT_NOOP is not set | 157 | # CONFIG_DEFAULT_NOOP is not set |
143 | CONFIG_DEFAULT_IOSCHED="deadline" | 158 | CONFIG_DEFAULT_IOSCHED="deadline" |
144 | CONFIG_CLASSIC_RCU=y | ||
145 | # CONFIG_TREE_RCU is not set | ||
146 | # CONFIG_PREEMPT_RCU is not set | ||
147 | # CONFIG_TREE_RCU_TRACE is not set | ||
148 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
149 | # CONFIG_FREEZER is not set | 159 | # CONFIG_FREEZER is not set |
150 | 160 | ||
151 | # | 161 | # |
152 | # Platform support | 162 | # Platform support |
153 | # | 163 | # |
154 | CONFIG_PPC_MULTIPLATFORM=y | ||
155 | CONFIG_CLASSIC32=y | ||
156 | CONFIG_PPC_CHRP=y | 164 | CONFIG_PPC_CHRP=y |
157 | # CONFIG_MPC5121_ADS is not set | 165 | # CONFIG_MPC5121_ADS is not set |
158 | # CONFIG_MPC5121_GENERIC is not set | 166 | # CONFIG_MPC5121_GENERIC is not set |
@@ -171,7 +179,9 @@ CONFIG_8272=y | |||
171 | # CONFIG_PPC_83xx is not set | 179 | # CONFIG_PPC_83xx is not set |
172 | # CONFIG_PPC_86xx is not set | 180 | # CONFIG_PPC_86xx is not set |
173 | # CONFIG_EMBEDDED6xx is not set | 181 | # CONFIG_EMBEDDED6xx is not set |
182 | # CONFIG_AMIGAONE is not set | ||
174 | CONFIG_PPC_NATIVE=y | 183 | CONFIG_PPC_NATIVE=y |
184 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
175 | # CONFIG_UDBG_RTAS_CONSOLE is not set | 185 | # CONFIG_UDBG_RTAS_CONSOLE is not set |
176 | # CONFIG_IPIC is not set | 186 | # CONFIG_IPIC is not set |
177 | CONFIG_MPIC=y | 187 | CONFIG_MPIC=y |
@@ -231,9 +241,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
231 | CONFIG_BOUNCE=y | 241 | CONFIG_BOUNCE=y |
232 | CONFIG_VIRT_TO_BUS=y | 242 | CONFIG_VIRT_TO_BUS=y |
233 | CONFIG_UNEVICTABLE_LRU=y | 243 | CONFIG_UNEVICTABLE_LRU=y |
244 | CONFIG_HAVE_MLOCK=y | ||
245 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | CONFIG_PPC_4K_PAGES=y | 246 | CONFIG_PPC_4K_PAGES=y |
235 | # CONFIG_PPC_16K_PAGES is not set | 247 | # CONFIG_PPC_16K_PAGES is not set |
236 | # CONFIG_PPC_64K_PAGES is not set | 248 | # CONFIG_PPC_64K_PAGES is not set |
249 | # CONFIG_PPC_256K_PAGES is not set | ||
237 | CONFIG_FORCE_MAX_ZONEORDER=11 | 250 | CONFIG_FORCE_MAX_ZONEORDER=11 |
238 | CONFIG_PROC_DEVICETREE=y | 251 | CONFIG_PROC_DEVICETREE=y |
239 | # CONFIG_CMDLINE_BOOL is not set | 252 | # CONFIG_CMDLINE_BOOL is not set |
@@ -260,6 +273,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
260 | # CONFIG_PCI_LEGACY is not set | 273 | # CONFIG_PCI_LEGACY is not set |
261 | # CONFIG_PCI_DEBUG is not set | 274 | # CONFIG_PCI_DEBUG is not set |
262 | # CONFIG_PCI_STUB is not set | 275 | # CONFIG_PCI_STUB is not set |
276 | # CONFIG_PCI_IOV is not set | ||
263 | # CONFIG_PCCARD is not set | 277 | # CONFIG_PCCARD is not set |
264 | # CONFIG_HOTPLUG_PCI is not set | 278 | # CONFIG_HOTPLUG_PCI is not set |
265 | # CONFIG_HAS_RAPIDIO is not set | 279 | # CONFIG_HAS_RAPIDIO is not set |
@@ -282,7 +296,6 @@ CONFIG_NET=y | |||
282 | # | 296 | # |
283 | # Networking options | 297 | # Networking options |
284 | # | 298 | # |
285 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
286 | CONFIG_PACKET=y | 299 | CONFIG_PACKET=y |
287 | # CONFIG_PACKET_MMAP is not set | 300 | # CONFIG_PACKET_MMAP is not set |
288 | CONFIG_UNIX=y | 301 | CONFIG_UNIX=y |
@@ -344,6 +357,7 @@ CONFIG_NETFILTER_ADVANCED=y | |||
344 | # CONFIG_LLC2 is not set | 357 | # CONFIG_LLC2 is not set |
345 | # CONFIG_IPX is not set | 358 | # CONFIG_IPX is not set |
346 | # CONFIG_ATALK is not set | 359 | # CONFIG_ATALK is not set |
360 | # CONFIG_PHONET is not set | ||
347 | # CONFIG_NET_SCHED is not set | 361 | # CONFIG_NET_SCHED is not set |
348 | # CONFIG_DCB is not set | 362 | # CONFIG_DCB is not set |
349 | 363 | ||
@@ -355,7 +369,6 @@ CONFIG_NETFILTER_ADVANCED=y | |||
355 | # CONFIG_CAN is not set | 369 | # CONFIG_CAN is not set |
356 | # CONFIG_IRDA is not set | 370 | # CONFIG_IRDA is not set |
357 | # CONFIG_BT is not set | 371 | # CONFIG_BT is not set |
358 | # CONFIG_PHONET is not set | ||
359 | CONFIG_WIRELESS=y | 372 | CONFIG_WIRELESS=y |
360 | # CONFIG_CFG80211 is not set | 373 | # CONFIG_CFG80211 is not set |
361 | CONFIG_WIRELESS_OLD_REGULATORY=y | 374 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -464,7 +477,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
464 | # LPDDR flash memory drivers | 477 | # LPDDR flash memory drivers |
465 | # | 478 | # |
466 | # CONFIG_MTD_LPDDR is not set | 479 | # CONFIG_MTD_LPDDR is not set |
467 | # CONFIG_MTD_QINFO_PROBE is not set | ||
468 | 480 | ||
469 | # | 481 | # |
470 | # UBI - Unsorted block images | 482 | # UBI - Unsorted block images |
@@ -517,6 +529,7 @@ CONFIG_HAVE_IDE=y | |||
517 | # CONFIG_I2O is not set | 529 | # CONFIG_I2O is not set |
518 | # CONFIG_MACINTOSH_DRIVERS is not set | 530 | # CONFIG_MACINTOSH_DRIVERS is not set |
519 | CONFIG_NETDEVICES=y | 531 | CONFIG_NETDEVICES=y |
532 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
520 | # CONFIG_DUMMY is not set | 533 | # CONFIG_DUMMY is not set |
521 | # CONFIG_BONDING is not set | 534 | # CONFIG_BONDING is not set |
522 | # CONFIG_EQUALIZER is not set | 535 | # CONFIG_EQUALIZER is not set |
@@ -551,6 +564,8 @@ CONFIG_MII=y | |||
551 | # CONFIG_SUNGEM is not set | 564 | # CONFIG_SUNGEM is not set |
552 | # CONFIG_CASSINI is not set | 565 | # CONFIG_CASSINI is not set |
553 | # CONFIG_NET_VENDOR_3COM is not set | 566 | # CONFIG_NET_VENDOR_3COM is not set |
567 | # CONFIG_ETHOC is not set | ||
568 | # CONFIG_DNET is not set | ||
554 | # CONFIG_NET_TULIP is not set | 569 | # CONFIG_NET_TULIP is not set |
555 | # CONFIG_HP100 is not set | 570 | # CONFIG_HP100 is not set |
556 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 571 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -576,7 +591,6 @@ CONFIG_FS_ENET_HAS_SCC=y | |||
576 | # | 591 | # |
577 | # CONFIG_WLAN_PRE80211 is not set | 592 | # CONFIG_WLAN_PRE80211 is not set |
578 | # CONFIG_WLAN_80211 is not set | 593 | # CONFIG_WLAN_80211 is not set |
579 | # CONFIG_IWLWIFI_LEDS is not set | ||
580 | 594 | ||
581 | # | 595 | # |
582 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 596 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -631,6 +645,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
631 | # CONFIG_HVC_RTAS is not set | 645 | # CONFIG_HVC_RTAS is not set |
632 | # CONFIG_IPMI_HANDLER is not set | 646 | # CONFIG_IPMI_HANDLER is not set |
633 | CONFIG_HW_RANDOM=y | 647 | CONFIG_HW_RANDOM=y |
648 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
634 | # CONFIG_NVRAM is not set | 649 | # CONFIG_NVRAM is not set |
635 | # CONFIG_GEN_RTC is not set | 650 | # CONFIG_GEN_RTC is not set |
636 | # CONFIG_R3964 is not set | 651 | # CONFIG_R3964 is not set |
@@ -720,8 +735,10 @@ CONFIG_SSB_POSSIBLE=y | |||
720 | # CONFIG_NEW_LEDS is not set | 735 | # CONFIG_NEW_LEDS is not set |
721 | # CONFIG_ACCESSIBILITY is not set | 736 | # CONFIG_ACCESSIBILITY is not set |
722 | # CONFIG_INFINIBAND is not set | 737 | # CONFIG_INFINIBAND is not set |
738 | # CONFIG_EDAC is not set | ||
723 | # CONFIG_RTC_CLASS is not set | 739 | # CONFIG_RTC_CLASS is not set |
724 | # CONFIG_DMADEVICES is not set | 740 | # CONFIG_DMADEVICES is not set |
741 | # CONFIG_AUXDISPLAY is not set | ||
725 | # CONFIG_UIO is not set | 742 | # CONFIG_UIO is not set |
726 | # CONFIG_STAGING is not set | 743 | # CONFIG_STAGING is not set |
727 | 744 | ||
@@ -732,6 +749,7 @@ CONFIG_EXT2_FS=y | |||
732 | # CONFIG_EXT2_FS_XATTR is not set | 749 | # CONFIG_EXT2_FS_XATTR is not set |
733 | # CONFIG_EXT2_FS_XIP is not set | 750 | # CONFIG_EXT2_FS_XIP is not set |
734 | CONFIG_EXT3_FS=y | 751 | CONFIG_EXT3_FS=y |
752 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
735 | # CONFIG_EXT3_FS_XATTR is not set | 753 | # CONFIG_EXT3_FS_XATTR is not set |
736 | # CONFIG_EXT4_FS is not set | 754 | # CONFIG_EXT4_FS is not set |
737 | CONFIG_JBD=y | 755 | CONFIG_JBD=y |
@@ -751,6 +769,10 @@ CONFIG_AUTOFS4_FS=y | |||
751 | # CONFIG_FUSE_FS is not set | 769 | # CONFIG_FUSE_FS is not set |
752 | 770 | ||
753 | # | 771 | # |
772 | # Caches | ||
773 | # | ||
774 | |||
775 | # | ||
754 | # CD-ROM/DVD Filesystems | 776 | # CD-ROM/DVD Filesystems |
755 | # | 777 | # |
756 | # CONFIG_ISO9660_FS is not set | 778 | # CONFIG_ISO9660_FS is not set |
@@ -872,6 +894,7 @@ CONFIG_NLS_ISO8859_1=y | |||
872 | # CONFIG_NLS_KOI8_R is not set | 894 | # CONFIG_NLS_KOI8_R is not set |
873 | # CONFIG_NLS_KOI8_U is not set | 895 | # CONFIG_NLS_KOI8_U is not set |
874 | CONFIG_NLS_UTF8=y | 896 | CONFIG_NLS_UTF8=y |
897 | # CONFIG_BINARY_PRINTF is not set | ||
875 | 898 | ||
876 | # | 899 | # |
877 | # Library routines | 900 | # Library routines |
@@ -887,11 +910,12 @@ CONFIG_CRC32=y | |||
887 | # CONFIG_LIBCRC32C is not set | 910 | # CONFIG_LIBCRC32C is not set |
888 | CONFIG_ZLIB_INFLATE=y | 911 | CONFIG_ZLIB_INFLATE=y |
889 | CONFIG_ZLIB_DEFLATE=y | 912 | CONFIG_ZLIB_DEFLATE=y |
890 | CONFIG_PLIST=y | 913 | CONFIG_DECOMPRESS_GZIP=y |
891 | CONFIG_HAS_IOMEM=y | 914 | CONFIG_HAS_IOMEM=y |
892 | CONFIG_HAS_IOPORT=y | 915 | CONFIG_HAS_IOPORT=y |
893 | CONFIG_HAS_DMA=y | 916 | CONFIG_HAS_DMA=y |
894 | CONFIG_HAVE_LMB=y | 917 | CONFIG_HAVE_LMB=y |
918 | CONFIG_NLATTR=y | ||
895 | 919 | ||
896 | # | 920 | # |
897 | # Kernel hacking | 921 | # Kernel hacking |
@@ -907,6 +931,7 @@ CONFIG_DEBUG_FS=y | |||
907 | CONFIG_DEBUG_KERNEL=y | 931 | CONFIG_DEBUG_KERNEL=y |
908 | # CONFIG_DEBUG_SHIRQ is not set | 932 | # CONFIG_DEBUG_SHIRQ is not set |
909 | # CONFIG_DETECT_SOFTLOCKUP is not set | 933 | # CONFIG_DETECT_SOFTLOCKUP is not set |
934 | # CONFIG_DETECT_HUNG_TASK is not set | ||
910 | # CONFIG_SCHED_DEBUG is not set | 935 | # CONFIG_SCHED_DEBUG is not set |
911 | # CONFIG_SCHEDSTATS is not set | 936 | # CONFIG_SCHEDSTATS is not set |
912 | # CONFIG_TIMER_STATS is not set | 937 | # CONFIG_TIMER_STATS is not set |
@@ -935,9 +960,12 @@ CONFIG_DEBUG_INFO=y | |||
935 | # CONFIG_FAULT_INJECTION is not set | 960 | # CONFIG_FAULT_INJECTION is not set |
936 | # CONFIG_LATENCYTOP is not set | 961 | # CONFIG_LATENCYTOP is not set |
937 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 962 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
963 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
938 | CONFIG_HAVE_FUNCTION_TRACER=y | 964 | CONFIG_HAVE_FUNCTION_TRACER=y |
965 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
939 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 966 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
940 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 967 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
968 | CONFIG_TRACING_SUPPORT=y | ||
941 | 969 | ||
942 | # | 970 | # |
943 | # Tracers | 971 | # Tracers |
@@ -945,16 +973,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
945 | # CONFIG_FUNCTION_TRACER is not set | 973 | # CONFIG_FUNCTION_TRACER is not set |
946 | # CONFIG_SCHED_TRACER is not set | 974 | # CONFIG_SCHED_TRACER is not set |
947 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 975 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
976 | # CONFIG_EVENT_TRACER is not set | ||
948 | # CONFIG_BOOT_TRACER is not set | 977 | # CONFIG_BOOT_TRACER is not set |
949 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 978 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
950 | # CONFIG_STACK_TRACER is not set | 979 | # CONFIG_STACK_TRACER is not set |
951 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 980 | # CONFIG_KMEMTRACE is not set |
981 | # CONFIG_WORKQUEUE_TRACER is not set | ||
982 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
983 | # CONFIG_DYNAMIC_DEBUG is not set | ||
952 | # CONFIG_SAMPLES is not set | 984 | # CONFIG_SAMPLES is not set |
953 | CONFIG_HAVE_ARCH_KGDB=y | 985 | CONFIG_HAVE_ARCH_KGDB=y |
954 | CONFIG_PRINT_STACK_DEPTH=64 | 986 | CONFIG_PRINT_STACK_DEPTH=64 |
955 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 987 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
956 | # CONFIG_DEBUG_STACK_USAGE is not set | 988 | # CONFIG_DEBUG_STACK_USAGE is not set |
957 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
958 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 989 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
959 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 990 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
960 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 991 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -986,9 +1017,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
986 | CONFIG_CRYPTO_HASH=y | 1017 | CONFIG_CRYPTO_HASH=y |
987 | CONFIG_CRYPTO_HASH2=y | 1018 | CONFIG_CRYPTO_HASH2=y |
988 | CONFIG_CRYPTO_RNG2=y | 1019 | CONFIG_CRYPTO_RNG2=y |
1020 | CONFIG_CRYPTO_PCOMP=y | ||
989 | CONFIG_CRYPTO_MANAGER=y | 1021 | CONFIG_CRYPTO_MANAGER=y |
990 | CONFIG_CRYPTO_MANAGER2=y | 1022 | CONFIG_CRYPTO_MANAGER2=y |
991 | # CONFIG_CRYPTO_NULL is not set | 1023 | # CONFIG_CRYPTO_NULL is not set |
1024 | CONFIG_CRYPTO_WORKQUEUE=y | ||
992 | # CONFIG_CRYPTO_CRYPTD is not set | 1025 | # CONFIG_CRYPTO_CRYPTD is not set |
993 | # CONFIG_CRYPTO_AUTHENC is not set | 1026 | # CONFIG_CRYPTO_AUTHENC is not set |
994 | 1027 | ||
@@ -1052,6 +1085,7 @@ CONFIG_CRYPTO_DES=y | |||
1052 | # Compression | 1085 | # Compression |
1053 | # | 1086 | # |
1054 | # CONFIG_CRYPTO_DEFLATE is not set | 1087 | # CONFIG_CRYPTO_DEFLATE is not set |
1088 | # CONFIG_CRYPTO_ZLIB is not set | ||
1055 | # CONFIG_CRYPTO_LZO is not set | 1089 | # CONFIG_CRYPTO_LZO is not set |
1056 | 1090 | ||
1057 | # | 1091 | # |
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig index 297b5d5042be..24fa90792c54 100644 --- a/arch/powerpc/configs/mgsuvd_defconfig +++ b/arch/powerpc/configs/mgsuvd_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:32 2009 | 4 | # Wed May 13 17:21:55 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -51,6 +51,7 @@ CONFIG_AUDIT_ARCH=y | |||
51 | # CONFIG_DEFAULT_UIMAGE is not set | 51 | # CONFIG_DEFAULT_UIMAGE is not set |
52 | # CONFIG_PPC_DCR_NATIVE is not set | 52 | # CONFIG_PPC_DCR_NATIVE is not set |
53 | # CONFIG_PPC_DCR_MMIO is not set | 53 | # CONFIG_PPC_DCR_MMIO is not set |
54 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
54 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 55 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
55 | 56 | ||
56 | # | 57 | # |
@@ -68,6 +69,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
68 | # CONFIG_BSD_PROCESS_ACCT is not set | 69 | # CONFIG_BSD_PROCESS_ACCT is not set |
69 | # CONFIG_TASKSTATS is not set | 70 | # CONFIG_TASKSTATS is not set |
70 | # CONFIG_AUDIT is not set | 71 | # CONFIG_AUDIT is not set |
72 | |||
73 | # | ||
74 | # RCU Subsystem | ||
75 | # | ||
76 | CONFIG_CLASSIC_RCU=y | ||
77 | # CONFIG_TREE_RCU is not set | ||
78 | # CONFIG_PREEMPT_RCU is not set | ||
79 | # CONFIG_TREE_RCU_TRACE is not set | ||
80 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
71 | # CONFIG_IKCONFIG is not set | 81 | # CONFIG_IKCONFIG is not set |
72 | CONFIG_LOG_BUF_SHIFT=17 | 82 | CONFIG_LOG_BUF_SHIFT=17 |
73 | CONFIG_GROUP_SCHED=y | 83 | CONFIG_GROUP_SCHED=y |
@@ -82,20 +92,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
82 | # CONFIG_NAMESPACES is not set | 92 | # CONFIG_NAMESPACES is not set |
83 | CONFIG_BLK_DEV_INITRD=y | 93 | CONFIG_BLK_DEV_INITRD=y |
84 | CONFIG_INITRAMFS_SOURCE="" | 94 | CONFIG_INITRAMFS_SOURCE="" |
95 | CONFIG_RD_GZIP=y | ||
96 | # CONFIG_RD_BZIP2 is not set | ||
97 | # CONFIG_RD_LZMA is not set | ||
85 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 98 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
86 | CONFIG_SYSCTL=y | 99 | CONFIG_SYSCTL=y |
100 | CONFIG_ANON_INODES=y | ||
87 | CONFIG_EMBEDDED=y | 101 | CONFIG_EMBEDDED=y |
88 | # CONFIG_SYSCTL_SYSCALL is not set | 102 | # CONFIG_SYSCTL_SYSCALL is not set |
89 | CONFIG_KALLSYMS=y | 103 | CONFIG_KALLSYMS=y |
90 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 104 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
105 | # CONFIG_STRIP_ASM_SYMS is not set | ||
91 | # CONFIG_HOTPLUG is not set | 106 | # CONFIG_HOTPLUG is not set |
92 | CONFIG_PRINTK=y | 107 | CONFIG_PRINTK=y |
93 | # CONFIG_BUG is not set | 108 | # CONFIG_BUG is not set |
94 | CONFIG_ELF_CORE=y | 109 | CONFIG_ELF_CORE=y |
95 | CONFIG_COMPAT_BRK=y | ||
96 | # CONFIG_BASE_FULL is not set | 110 | # CONFIG_BASE_FULL is not set |
97 | CONFIG_FUTEX=y | 111 | CONFIG_FUTEX=y |
98 | CONFIG_ANON_INODES=y | ||
99 | # CONFIG_EPOLL is not set | 112 | # CONFIG_EPOLL is not set |
100 | CONFIG_SIGNALFD=y | 113 | CONFIG_SIGNALFD=y |
101 | CONFIG_TIMERFD=y | 114 | CONFIG_TIMERFD=y |
@@ -103,10 +116,12 @@ CONFIG_EVENTFD=y | |||
103 | CONFIG_SHMEM=y | 116 | CONFIG_SHMEM=y |
104 | CONFIG_AIO=y | 117 | CONFIG_AIO=y |
105 | # CONFIG_VM_EVENT_COUNTERS is not set | 118 | # CONFIG_VM_EVENT_COUNTERS is not set |
119 | CONFIG_COMPAT_BRK=y | ||
106 | CONFIG_SLAB=y | 120 | CONFIG_SLAB=y |
107 | # CONFIG_SLUB is not set | 121 | # CONFIG_SLUB is not set |
108 | # CONFIG_SLOB is not set | 122 | # CONFIG_SLOB is not set |
109 | # CONFIG_PROFILING is not set | 123 | # CONFIG_PROFILING is not set |
124 | # CONFIG_MARKERS is not set | ||
110 | CONFIG_HAVE_OPROFILE=y | 125 | CONFIG_HAVE_OPROFILE=y |
111 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 126 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
112 | CONFIG_HAVE_IOREMAP_PROT=y | 127 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -114,6 +129,7 @@ CONFIG_HAVE_KPROBES=y | |||
114 | CONFIG_HAVE_KRETPROBES=y | 129 | CONFIG_HAVE_KRETPROBES=y |
115 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 130 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
116 | CONFIG_HAVE_CLK=y | 131 | CONFIG_HAVE_CLK=y |
132 | # CONFIG_SLOW_WORK is not set | ||
117 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 133 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
118 | CONFIG_SLABINFO=y | 134 | CONFIG_SLABINFO=y |
119 | CONFIG_RT_MUTEXES=y | 135 | CONFIG_RT_MUTEXES=y |
@@ -121,7 +137,6 @@ CONFIG_BASE_SMALL=1 | |||
121 | # CONFIG_MODULES is not set | 137 | # CONFIG_MODULES is not set |
122 | CONFIG_BLOCK=y | 138 | CONFIG_BLOCK=y |
123 | # CONFIG_LBD is not set | 139 | # CONFIG_LBD is not set |
124 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
125 | # CONFIG_BLK_DEV_BSG is not set | 140 | # CONFIG_BLK_DEV_BSG is not set |
126 | # CONFIG_BLK_DEV_INTEGRITY is not set | 141 | # CONFIG_BLK_DEV_INTEGRITY is not set |
127 | 142 | ||
@@ -137,11 +152,6 @@ CONFIG_DEFAULT_AS=y | |||
137 | # CONFIG_DEFAULT_CFQ is not set | 152 | # CONFIG_DEFAULT_CFQ is not set |
138 | # CONFIG_DEFAULT_NOOP is not set | 153 | # CONFIG_DEFAULT_NOOP is not set |
139 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 154 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
140 | CONFIG_CLASSIC_RCU=y | ||
141 | # CONFIG_TREE_RCU is not set | ||
142 | # CONFIG_PREEMPT_RCU is not set | ||
143 | # CONFIG_TREE_RCU_TRACE is not set | ||
144 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
145 | # CONFIG_FREEZER is not set | 155 | # CONFIG_FREEZER is not set |
146 | 156 | ||
147 | # | 157 | # |
@@ -232,9 +242,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
232 | CONFIG_BOUNCE=y | 242 | CONFIG_BOUNCE=y |
233 | CONFIG_VIRT_TO_BUS=y | 243 | CONFIG_VIRT_TO_BUS=y |
234 | CONFIG_UNEVICTABLE_LRU=y | 244 | CONFIG_UNEVICTABLE_LRU=y |
245 | CONFIG_HAVE_MLOCK=y | ||
246 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
235 | CONFIG_PPC_4K_PAGES=y | 247 | CONFIG_PPC_4K_PAGES=y |
236 | # CONFIG_PPC_16K_PAGES is not set | 248 | # CONFIG_PPC_16K_PAGES is not set |
237 | # CONFIG_PPC_64K_PAGES is not set | 249 | # CONFIG_PPC_64K_PAGES is not set |
250 | # CONFIG_PPC_256K_PAGES is not set | ||
238 | CONFIG_FORCE_MAX_ZONEORDER=11 | 251 | CONFIG_FORCE_MAX_ZONEORDER=11 |
239 | # CONFIG_PROC_DEVICETREE is not set | 252 | # CONFIG_PROC_DEVICETREE is not set |
240 | # CONFIG_CMDLINE_BOOL is not set | 253 | # CONFIG_CMDLINE_BOOL is not set |
@@ -268,14 +281,11 @@ CONFIG_PAGE_OFFSET=0xc0000000 | |||
268 | CONFIG_KERNEL_START=0xc0000000 | 281 | CONFIG_KERNEL_START=0xc0000000 |
269 | CONFIG_PHYSICAL_START=0x00000000 | 282 | CONFIG_PHYSICAL_START=0x00000000 |
270 | CONFIG_TASK_SIZE=0x80000000 | 283 | CONFIG_TASK_SIZE=0x80000000 |
271 | CONFIG_CONSISTENT_START=0xfd000000 | ||
272 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
273 | CONFIG_NET=y | 284 | CONFIG_NET=y |
274 | 285 | ||
275 | # | 286 | # |
276 | # Networking options | 287 | # Networking options |
277 | # | 288 | # |
278 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
279 | CONFIG_PACKET=y | 289 | CONFIG_PACKET=y |
280 | # CONFIG_PACKET_MMAP is not set | 290 | # CONFIG_PACKET_MMAP is not set |
281 | CONFIG_UNIX=y | 291 | CONFIG_UNIX=y |
@@ -331,6 +341,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
331 | # CONFIG_LAPB is not set | 341 | # CONFIG_LAPB is not set |
332 | # CONFIG_ECONET is not set | 342 | # CONFIG_ECONET is not set |
333 | # CONFIG_WAN_ROUTER is not set | 343 | # CONFIG_WAN_ROUTER is not set |
344 | # CONFIG_PHONET is not set | ||
334 | # CONFIG_NET_SCHED is not set | 345 | # CONFIG_NET_SCHED is not set |
335 | # CONFIG_DCB is not set | 346 | # CONFIG_DCB is not set |
336 | 347 | ||
@@ -343,7 +354,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
343 | # CONFIG_IRDA is not set | 354 | # CONFIG_IRDA is not set |
344 | # CONFIG_BT is not set | 355 | # CONFIG_BT is not set |
345 | # CONFIG_AF_RXRPC is not set | 356 | # CONFIG_AF_RXRPC is not set |
346 | # CONFIG_PHONET is not set | ||
347 | CONFIG_WIRELESS=y | 357 | CONFIG_WIRELESS=y |
348 | # CONFIG_CFG80211 is not set | 358 | # CONFIG_CFG80211 is not set |
349 | CONFIG_WIRELESS_OLD_REGULATORY=y | 359 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -447,7 +457,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
447 | # LPDDR flash memory drivers | 457 | # LPDDR flash memory drivers |
448 | # | 458 | # |
449 | # CONFIG_MTD_LPDDR is not set | 459 | # CONFIG_MTD_LPDDR is not set |
450 | # CONFIG_MTD_QINFO_PROBE is not set | ||
451 | 460 | ||
452 | # | 461 | # |
453 | # UBI - Unsorted block images | 462 | # UBI - Unsorted block images |
@@ -483,6 +492,7 @@ CONFIG_HAVE_IDE=y | |||
483 | # CONFIG_MD is not set | 492 | # CONFIG_MD is not set |
484 | # CONFIG_MACINTOSH_DRIVERS is not set | 493 | # CONFIG_MACINTOSH_DRIVERS is not set |
485 | CONFIG_NETDEVICES=y | 494 | CONFIG_NETDEVICES=y |
495 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
486 | # CONFIG_DUMMY is not set | 496 | # CONFIG_DUMMY is not set |
487 | # CONFIG_BONDING is not set | 497 | # CONFIG_BONDING is not set |
488 | # CONFIG_MACVLAN is not set | 498 | # CONFIG_MACVLAN is not set |
@@ -511,6 +521,8 @@ CONFIG_FIXED_PHY=y | |||
511 | # CONFIG_MDIO_BITBANG is not set | 521 | # CONFIG_MDIO_BITBANG is not set |
512 | CONFIG_NET_ETHERNET=y | 522 | CONFIG_NET_ETHERNET=y |
513 | CONFIG_MII=y | 523 | CONFIG_MII=y |
524 | # CONFIG_ETHOC is not set | ||
525 | # CONFIG_DNET is not set | ||
514 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 526 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
515 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 527 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
516 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 528 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -531,7 +543,6 @@ CONFIG_FS_ENET_HAS_SCC=y | |||
531 | # | 543 | # |
532 | # CONFIG_WLAN_PRE80211 is not set | 544 | # CONFIG_WLAN_PRE80211 is not set |
533 | # CONFIG_WLAN_80211 is not set | 545 | # CONFIG_WLAN_80211 is not set |
534 | # CONFIG_IWLWIFI_LEDS is not set | ||
535 | 546 | ||
536 | # | 547 | # |
537 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 548 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -582,6 +593,7 @@ CONFIG_UNIX98_PTYS=y | |||
582 | # CONFIG_HVC_UDBG is not set | 593 | # CONFIG_HVC_UDBG is not set |
583 | # CONFIG_IPMI_HANDLER is not set | 594 | # CONFIG_IPMI_HANDLER is not set |
584 | CONFIG_HW_RANDOM=y | 595 | CONFIG_HW_RANDOM=y |
596 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
585 | # CONFIG_NVRAM is not set | 597 | # CONFIG_NVRAM is not set |
586 | CONFIG_GEN_RTC=y | 598 | CONFIG_GEN_RTC=y |
587 | # CONFIG_GEN_RTC_X is not set | 599 | # CONFIG_GEN_RTC_X is not set |
@@ -651,6 +663,7 @@ CONFIG_SSB_POSSIBLE=y | |||
651 | # CONFIG_EDAC is not set | 663 | # CONFIG_EDAC is not set |
652 | # CONFIG_RTC_CLASS is not set | 664 | # CONFIG_RTC_CLASS is not set |
653 | # CONFIG_DMADEVICES is not set | 665 | # CONFIG_DMADEVICES is not set |
666 | # CONFIG_AUXDISPLAY is not set | ||
654 | # CONFIG_UIO is not set | 667 | # CONFIG_UIO is not set |
655 | # CONFIG_STAGING is not set | 668 | # CONFIG_STAGING is not set |
656 | 669 | ||
@@ -663,6 +676,7 @@ CONFIG_EXT2_FS_XATTR=y | |||
663 | # CONFIG_EXT2_FS_SECURITY is not set | 676 | # CONFIG_EXT2_FS_SECURITY is not set |
664 | # CONFIG_EXT2_FS_XIP is not set | 677 | # CONFIG_EXT2_FS_XIP is not set |
665 | CONFIG_EXT3_FS=y | 678 | CONFIG_EXT3_FS=y |
679 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
666 | CONFIG_EXT3_FS_XATTR=y | 680 | CONFIG_EXT3_FS_XATTR=y |
667 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 681 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
668 | # CONFIG_EXT3_FS_SECURITY is not set | 682 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -686,6 +700,11 @@ CONFIG_INOTIFY_USER=y | |||
686 | # CONFIG_FUSE_FS is not set | 700 | # CONFIG_FUSE_FS is not set |
687 | 701 | ||
688 | # | 702 | # |
703 | # Caches | ||
704 | # | ||
705 | # CONFIG_FSCACHE is not set | ||
706 | |||
707 | # | ||
689 | # CD-ROM/DVD Filesystems | 708 | # CD-ROM/DVD Filesystems |
690 | # | 709 | # |
691 | # CONFIG_ISO9660_FS is not set | 710 | # CONFIG_ISO9660_FS is not set |
@@ -739,6 +758,7 @@ CONFIG_CRAMFS=y | |||
739 | # CONFIG_ROMFS_FS is not set | 758 | # CONFIG_ROMFS_FS is not set |
740 | # CONFIG_SYSV_FS is not set | 759 | # CONFIG_SYSV_FS is not set |
741 | # CONFIG_UFS_FS is not set | 760 | # CONFIG_UFS_FS is not set |
761 | # CONFIG_NILFS2_FS is not set | ||
742 | CONFIG_NETWORK_FILESYSTEMS=y | 762 | CONFIG_NETWORK_FILESYSTEMS=y |
743 | CONFIG_NFS_FS=y | 763 | CONFIG_NFS_FS=y |
744 | CONFIG_NFS_V3=y | 764 | CONFIG_NFS_V3=y |
@@ -750,7 +770,6 @@ CONFIG_LOCKD=y | |||
750 | CONFIG_LOCKD_V4=y | 770 | CONFIG_LOCKD_V4=y |
751 | CONFIG_NFS_COMMON=y | 771 | CONFIG_NFS_COMMON=y |
752 | CONFIG_SUNRPC=y | 772 | CONFIG_SUNRPC=y |
753 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
754 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 773 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
755 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 774 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
756 | # CONFIG_SMB_FS is not set | 775 | # CONFIG_SMB_FS is not set |
@@ -782,6 +801,7 @@ CONFIG_MSDOS_PARTITION=y | |||
782 | # CONFIG_SYSV68_PARTITION is not set | 801 | # CONFIG_SYSV68_PARTITION is not set |
783 | # CONFIG_NLS is not set | 802 | # CONFIG_NLS is not set |
784 | # CONFIG_DLM is not set | 803 | # CONFIG_DLM is not set |
804 | # CONFIG_BINARY_PRINTF is not set | ||
785 | 805 | ||
786 | # | 806 | # |
787 | # Library routines | 807 | # Library routines |
@@ -797,11 +817,12 @@ CONFIG_CRC32=y | |||
797 | # CONFIG_LIBCRC32C is not set | 817 | # CONFIG_LIBCRC32C is not set |
798 | CONFIG_ZLIB_INFLATE=y | 818 | CONFIG_ZLIB_INFLATE=y |
799 | CONFIG_ZLIB_DEFLATE=y | 819 | CONFIG_ZLIB_DEFLATE=y |
800 | CONFIG_PLIST=y | 820 | CONFIG_DECOMPRESS_GZIP=y |
801 | CONFIG_HAS_IOMEM=y | 821 | CONFIG_HAS_IOMEM=y |
802 | CONFIG_HAS_IOPORT=y | 822 | CONFIG_HAS_IOPORT=y |
803 | CONFIG_HAS_DMA=y | 823 | CONFIG_HAS_DMA=y |
804 | CONFIG_HAVE_LMB=y | 824 | CONFIG_HAVE_LMB=y |
825 | CONFIG_NLATTR=y | ||
805 | 826 | ||
806 | # | 827 | # |
807 | # Kernel hacking | 828 | # Kernel hacking |
@@ -819,13 +840,25 @@ CONFIG_DEBUG_FS=y | |||
819 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 840 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
820 | # CONFIG_LATENCYTOP is not set | 841 | # CONFIG_LATENCYTOP is not set |
821 | CONFIG_HAVE_FUNCTION_TRACER=y | 842 | CONFIG_HAVE_FUNCTION_TRACER=y |
843 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
822 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 844 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
823 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 845 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
846 | CONFIG_TRACING_SUPPORT=y | ||
824 | 847 | ||
825 | # | 848 | # |
826 | # Tracers | 849 | # Tracers |
827 | # | 850 | # |
828 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 851 | # CONFIG_FUNCTION_TRACER is not set |
852 | # CONFIG_SCHED_TRACER is not set | ||
853 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
854 | # CONFIG_EVENT_TRACER is not set | ||
855 | # CONFIG_BOOT_TRACER is not set | ||
856 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
857 | # CONFIG_STACK_TRACER is not set | ||
858 | # CONFIG_KMEMTRACE is not set | ||
859 | # CONFIG_WORKQUEUE_TRACER is not set | ||
860 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
861 | # CONFIG_DYNAMIC_DEBUG is not set | ||
829 | # CONFIG_SAMPLES is not set | 862 | # CONFIG_SAMPLES is not set |
830 | CONFIG_HAVE_ARCH_KGDB=y | 863 | CONFIG_HAVE_ARCH_KGDB=y |
831 | CONFIG_PRINT_STACK_DEPTH=64 | 864 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -917,6 +950,7 @@ CONFIG_CRYPTO=y | |||
917 | # Compression | 950 | # Compression |
918 | # | 951 | # |
919 | # CONFIG_CRYPTO_DEFLATE is not set | 952 | # CONFIG_CRYPTO_DEFLATE is not set |
953 | # CONFIG_CRYPTO_ZLIB is not set | ||
920 | # CONFIG_CRYPTO_LZO is not set | 954 | # CONFIG_CRYPTO_LZO is not set |
921 | 955 | ||
922 | # | 956 | # |
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig index 38712e861c46..642ab67c8431 100644 --- a/arch/powerpc/configs/mpc7448_hpc2_defconfig +++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:33 2009 | 4 | # Wed May 13 17:21:56 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | CONFIG_ALTIVEC=y | 19 | CONFIG_ALTIVEC=y |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -54,6 +55,7 @@ CONFIG_GENERIC_BUG=y | |||
54 | CONFIG_DEFAULT_UIMAGE=y | 55 | CONFIG_DEFAULT_UIMAGE=y |
55 | # CONFIG_PPC_DCR_NATIVE is not set | 56 | # CONFIG_PPC_DCR_NATIVE is not set |
56 | # CONFIG_PPC_DCR_MMIO is not set | 57 | # CONFIG_PPC_DCR_MMIO is not set |
58 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
57 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
58 | 60 | ||
59 | # | 61 | # |
@@ -71,6 +73,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
71 | # CONFIG_BSD_PROCESS_ACCT is not set | 73 | # CONFIG_BSD_PROCESS_ACCT is not set |
72 | # CONFIG_TASKSTATS is not set | 74 | # CONFIG_TASKSTATS is not set |
73 | # CONFIG_AUDIT is not set | 75 | # CONFIG_AUDIT is not set |
76 | |||
77 | # | ||
78 | # RCU Subsystem | ||
79 | # | ||
80 | CONFIG_CLASSIC_RCU=y | ||
81 | # CONFIG_TREE_RCU is not set | ||
82 | # CONFIG_PREEMPT_RCU is not set | ||
83 | # CONFIG_TREE_RCU_TRACE is not set | ||
84 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
74 | # CONFIG_IKCONFIG is not set | 85 | # CONFIG_IKCONFIG is not set |
75 | CONFIG_LOG_BUF_SHIFT=14 | 86 | CONFIG_LOG_BUF_SHIFT=14 |
76 | CONFIG_GROUP_SCHED=y | 87 | CONFIG_GROUP_SCHED=y |
@@ -85,20 +96,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
85 | # CONFIG_NAMESPACES is not set | 96 | # CONFIG_NAMESPACES is not set |
86 | CONFIG_BLK_DEV_INITRD=y | 97 | CONFIG_BLK_DEV_INITRD=y |
87 | CONFIG_INITRAMFS_SOURCE="" | 98 | CONFIG_INITRAMFS_SOURCE="" |
99 | CONFIG_RD_GZIP=y | ||
100 | # CONFIG_RD_BZIP2 is not set | ||
101 | # CONFIG_RD_LZMA is not set | ||
88 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 102 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
89 | CONFIG_SYSCTL=y | 103 | CONFIG_SYSCTL=y |
104 | CONFIG_ANON_INODES=y | ||
90 | CONFIG_EMBEDDED=y | 105 | CONFIG_EMBEDDED=y |
91 | CONFIG_SYSCTL_SYSCALL=y | 106 | CONFIG_SYSCTL_SYSCALL=y |
92 | CONFIG_KALLSYMS=y | 107 | CONFIG_KALLSYMS=y |
93 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 108 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
109 | # CONFIG_STRIP_ASM_SYMS is not set | ||
94 | CONFIG_HOTPLUG=y | 110 | CONFIG_HOTPLUG=y |
95 | CONFIG_PRINTK=y | 111 | CONFIG_PRINTK=y |
96 | CONFIG_BUG=y | 112 | CONFIG_BUG=y |
97 | CONFIG_ELF_CORE=y | 113 | CONFIG_ELF_CORE=y |
98 | CONFIG_COMPAT_BRK=y | ||
99 | CONFIG_BASE_FULL=y | 114 | CONFIG_BASE_FULL=y |
100 | CONFIG_FUTEX=y | 115 | CONFIG_FUTEX=y |
101 | CONFIG_ANON_INODES=y | ||
102 | CONFIG_EPOLL=y | 116 | CONFIG_EPOLL=y |
103 | CONFIG_SIGNALFD=y | 117 | CONFIG_SIGNALFD=y |
104 | CONFIG_TIMERFD=y | 118 | CONFIG_TIMERFD=y |
@@ -108,16 +122,19 @@ CONFIG_AIO=y | |||
108 | CONFIG_VM_EVENT_COUNTERS=y | 122 | CONFIG_VM_EVENT_COUNTERS=y |
109 | CONFIG_PCI_QUIRKS=y | 123 | CONFIG_PCI_QUIRKS=y |
110 | CONFIG_SLUB_DEBUG=y | 124 | CONFIG_SLUB_DEBUG=y |
125 | CONFIG_COMPAT_BRK=y | ||
111 | # CONFIG_SLAB is not set | 126 | # CONFIG_SLAB is not set |
112 | CONFIG_SLUB=y | 127 | CONFIG_SLUB=y |
113 | # CONFIG_SLOB is not set | 128 | # CONFIG_SLOB is not set |
114 | # CONFIG_PROFILING is not set | 129 | # CONFIG_PROFILING is not set |
130 | # CONFIG_MARKERS is not set | ||
115 | CONFIG_HAVE_OPROFILE=y | 131 | CONFIG_HAVE_OPROFILE=y |
116 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 132 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
117 | CONFIG_HAVE_IOREMAP_PROT=y | 133 | CONFIG_HAVE_IOREMAP_PROT=y |
118 | CONFIG_HAVE_KPROBES=y | 134 | CONFIG_HAVE_KPROBES=y |
119 | CONFIG_HAVE_KRETPROBES=y | 135 | CONFIG_HAVE_KRETPROBES=y |
120 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 136 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
137 | # CONFIG_SLOW_WORK is not set | ||
121 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 138 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
122 | CONFIG_SLABINFO=y | 139 | CONFIG_SLABINFO=y |
123 | CONFIG_RT_MUTEXES=y | 140 | CONFIG_RT_MUTEXES=y |
@@ -125,7 +142,6 @@ CONFIG_BASE_SMALL=0 | |||
125 | # CONFIG_MODULES is not set | 142 | # CONFIG_MODULES is not set |
126 | CONFIG_BLOCK=y | 143 | CONFIG_BLOCK=y |
127 | CONFIG_LBD=y | 144 | CONFIG_LBD=y |
128 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
129 | # CONFIG_BLK_DEV_BSG is not set | 145 | # CONFIG_BLK_DEV_BSG is not set |
130 | # CONFIG_BLK_DEV_INTEGRITY is not set | 146 | # CONFIG_BLK_DEV_INTEGRITY is not set |
131 | 147 | ||
@@ -141,18 +157,11 @@ CONFIG_DEFAULT_AS=y | |||
141 | # CONFIG_DEFAULT_CFQ is not set | 157 | # CONFIG_DEFAULT_CFQ is not set |
142 | # CONFIG_DEFAULT_NOOP is not set | 158 | # CONFIG_DEFAULT_NOOP is not set |
143 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 159 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
144 | CONFIG_CLASSIC_RCU=y | ||
145 | # CONFIG_TREE_RCU is not set | ||
146 | # CONFIG_PREEMPT_RCU is not set | ||
147 | # CONFIG_TREE_RCU_TRACE is not set | ||
148 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
149 | # CONFIG_FREEZER is not set | 160 | # CONFIG_FREEZER is not set |
150 | 161 | ||
151 | # | 162 | # |
152 | # Platform support | 163 | # Platform support |
153 | # | 164 | # |
154 | CONFIG_PPC_MULTIPLATFORM=y | ||
155 | CONFIG_CLASSIC32=y | ||
156 | # CONFIG_PPC_CHRP is not set | 165 | # CONFIG_PPC_CHRP is not set |
157 | # CONFIG_MPC5121_ADS is not set | 166 | # CONFIG_MPC5121_ADS is not set |
158 | # CONFIG_MPC5121_GENERIC is not set | 167 | # CONFIG_MPC5121_GENERIC is not set |
@@ -172,6 +181,8 @@ CONFIG_MPC7448HPC2=y | |||
172 | # CONFIG_PPC_PRPMC2800 is not set | 181 | # CONFIG_PPC_PRPMC2800 is not set |
173 | # CONFIG_PPC_C2K is not set | 182 | # CONFIG_PPC_C2K is not set |
174 | CONFIG_TSI108_BRIDGE=y | 183 | CONFIG_TSI108_BRIDGE=y |
184 | # CONFIG_AMIGAONE is not set | ||
185 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
175 | # CONFIG_IPIC is not set | 186 | # CONFIG_IPIC is not set |
176 | CONFIG_MPIC=y | 187 | CONFIG_MPIC=y |
177 | CONFIG_MPIC_WEIRD=y | 188 | CONFIG_MPIC_WEIRD=y |
@@ -230,9 +241,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
230 | CONFIG_BOUNCE=y | 241 | CONFIG_BOUNCE=y |
231 | CONFIG_VIRT_TO_BUS=y | 242 | CONFIG_VIRT_TO_BUS=y |
232 | CONFIG_UNEVICTABLE_LRU=y | 243 | CONFIG_UNEVICTABLE_LRU=y |
244 | CONFIG_HAVE_MLOCK=y | ||
245 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
233 | CONFIG_PPC_4K_PAGES=y | 246 | CONFIG_PPC_4K_PAGES=y |
234 | # CONFIG_PPC_16K_PAGES is not set | 247 | # CONFIG_PPC_16K_PAGES is not set |
235 | # CONFIG_PPC_64K_PAGES is not set | 248 | # CONFIG_PPC_64K_PAGES is not set |
249 | # CONFIG_PPC_256K_PAGES is not set | ||
236 | CONFIG_FORCE_MAX_ZONEORDER=11 | 250 | CONFIG_FORCE_MAX_ZONEORDER=11 |
237 | CONFIG_PROC_DEVICETREE=y | 251 | CONFIG_PROC_DEVICETREE=y |
238 | # CONFIG_CMDLINE_BOOL is not set | 252 | # CONFIG_CMDLINE_BOOL is not set |
@@ -255,6 +269,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
255 | # CONFIG_PCI_MSI is not set | 269 | # CONFIG_PCI_MSI is not set |
256 | # CONFIG_PCI_LEGACY is not set | 270 | # CONFIG_PCI_LEGACY is not set |
257 | # CONFIG_PCI_STUB is not set | 271 | # CONFIG_PCI_STUB is not set |
272 | # CONFIG_PCI_IOV is not set | ||
258 | # CONFIG_PCCARD is not set | 273 | # CONFIG_PCCARD is not set |
259 | # CONFIG_HOTPLUG_PCI is not set | 274 | # CONFIG_HOTPLUG_PCI is not set |
260 | # CONFIG_HAS_RAPIDIO is not set | 275 | # CONFIG_HAS_RAPIDIO is not set |
@@ -277,7 +292,6 @@ CONFIG_NET=y | |||
277 | # | 292 | # |
278 | # Networking options | 293 | # Networking options |
279 | # | 294 | # |
280 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
281 | CONFIG_PACKET=y | 295 | CONFIG_PACKET=y |
282 | # CONFIG_PACKET_MMAP is not set | 296 | # CONFIG_PACKET_MMAP is not set |
283 | CONFIG_UNIX=y | 297 | CONFIG_UNIX=y |
@@ -333,6 +347,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
333 | # CONFIG_LAPB is not set | 347 | # CONFIG_LAPB is not set |
334 | # CONFIG_ECONET is not set | 348 | # CONFIG_ECONET is not set |
335 | # CONFIG_WAN_ROUTER is not set | 349 | # CONFIG_WAN_ROUTER is not set |
350 | # CONFIG_PHONET is not set | ||
336 | # CONFIG_NET_SCHED is not set | 351 | # CONFIG_NET_SCHED is not set |
337 | # CONFIG_DCB is not set | 352 | # CONFIG_DCB is not set |
338 | 353 | ||
@@ -345,7 +360,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
345 | # CONFIG_IRDA is not set | 360 | # CONFIG_IRDA is not set |
346 | # CONFIG_BT is not set | 361 | # CONFIG_BT is not set |
347 | # CONFIG_AF_RXRPC is not set | 362 | # CONFIG_AF_RXRPC is not set |
348 | # CONFIG_PHONET is not set | ||
349 | CONFIG_WIRELESS=y | 363 | CONFIG_WIRELESS=y |
350 | # CONFIG_CFG80211 is not set | 364 | # CONFIG_CFG80211 is not set |
351 | CONFIG_WIRELESS_OLD_REGULATORY=y | 365 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -392,12 +406,16 @@ CONFIG_BLK_DEV_RAM_SIZE=131072 | |||
392 | # CONFIG_BLK_DEV_HD is not set | 406 | # CONFIG_BLK_DEV_HD is not set |
393 | CONFIG_MISC_DEVICES=y | 407 | CONFIG_MISC_DEVICES=y |
394 | # CONFIG_PHANTOM is not set | 408 | # CONFIG_PHANTOM is not set |
395 | # CONFIG_EEPROM_93CX6 is not set | ||
396 | # CONFIG_SGI_IOC4 is not set | 409 | # CONFIG_SGI_IOC4 is not set |
397 | # CONFIG_TIFM_CORE is not set | 410 | # CONFIG_TIFM_CORE is not set |
398 | # CONFIG_ENCLOSURE_SERVICES is not set | 411 | # CONFIG_ENCLOSURE_SERVICES is not set |
399 | # CONFIG_HP_ILO is not set | 412 | # CONFIG_HP_ILO is not set |
400 | # CONFIG_C2PORT is not set | 413 | # CONFIG_C2PORT is not set |
414 | |||
415 | # | ||
416 | # EEPROM support | ||
417 | # | ||
418 | # CONFIG_EEPROM_93CX6 is not set | ||
401 | CONFIG_HAVE_IDE=y | 419 | CONFIG_HAVE_IDE=y |
402 | # CONFIG_IDE is not set | 420 | # CONFIG_IDE is not set |
403 | 421 | ||
@@ -454,9 +472,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
454 | # CONFIG_MEGARAID_NEWGEN is not set | 472 | # CONFIG_MEGARAID_NEWGEN is not set |
455 | # CONFIG_MEGARAID_LEGACY is not set | 473 | # CONFIG_MEGARAID_LEGACY is not set |
456 | # CONFIG_MEGARAID_SAS is not set | 474 | # CONFIG_MEGARAID_SAS is not set |
475 | # CONFIG_SCSI_MPT2SAS is not set | ||
457 | # CONFIG_SCSI_HPTIOP is not set | 476 | # CONFIG_SCSI_HPTIOP is not set |
458 | # CONFIG_SCSI_BUSLOGIC is not set | 477 | # CONFIG_SCSI_BUSLOGIC is not set |
459 | # CONFIG_LIBFC is not set | 478 | # CONFIG_LIBFC is not set |
479 | # CONFIG_LIBFCOE is not set | ||
460 | # CONFIG_FCOE is not set | 480 | # CONFIG_FCOE is not set |
461 | # CONFIG_SCSI_DMX3191D is not set | 481 | # CONFIG_SCSI_DMX3191D is not set |
462 | # CONFIG_SCSI_EATA is not set | 482 | # CONFIG_SCSI_EATA is not set |
@@ -479,6 +499,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
479 | # CONFIG_SCSI_DEBUG is not set | 499 | # CONFIG_SCSI_DEBUG is not set |
480 | # CONFIG_SCSI_SRP is not set | 500 | # CONFIG_SCSI_SRP is not set |
481 | # CONFIG_SCSI_DH is not set | 501 | # CONFIG_SCSI_DH is not set |
502 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
482 | CONFIG_ATA=y | 503 | CONFIG_ATA=y |
483 | # CONFIG_ATA_NONSTANDARD is not set | 504 | # CONFIG_ATA_NONSTANDARD is not set |
484 | CONFIG_SATA_PMP=y | 505 | CONFIG_SATA_PMP=y |
@@ -554,6 +575,7 @@ CONFIG_SATA_MV=y | |||
554 | # CONFIG_I2O is not set | 575 | # CONFIG_I2O is not set |
555 | # CONFIG_MACINTOSH_DRIVERS is not set | 576 | # CONFIG_MACINTOSH_DRIVERS is not set |
556 | CONFIG_NETDEVICES=y | 577 | CONFIG_NETDEVICES=y |
578 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
557 | # CONFIG_DUMMY is not set | 579 | # CONFIG_DUMMY is not set |
558 | # CONFIG_BONDING is not set | 580 | # CONFIG_BONDING is not set |
559 | # CONFIG_MACVLAN is not set | 581 | # CONFIG_MACVLAN is not set |
@@ -587,6 +609,8 @@ CONFIG_MII=y | |||
587 | # CONFIG_SUNGEM is not set | 609 | # CONFIG_SUNGEM is not set |
588 | # CONFIG_CASSINI is not set | 610 | # CONFIG_CASSINI is not set |
589 | # CONFIG_NET_VENDOR_3COM is not set | 611 | # CONFIG_NET_VENDOR_3COM is not set |
612 | # CONFIG_ETHOC is not set | ||
613 | # CONFIG_DNET is not set | ||
590 | # CONFIG_NET_TULIP is not set | 614 | # CONFIG_NET_TULIP is not set |
591 | # CONFIG_HP100 is not set | 615 | # CONFIG_HP100 is not set |
592 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 616 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -628,6 +652,7 @@ CONFIG_NETDEV_1000=y | |||
628 | # CONFIG_E1000E is not set | 652 | # CONFIG_E1000E is not set |
629 | # CONFIG_IP1000 is not set | 653 | # CONFIG_IP1000 is not set |
630 | # CONFIG_IGB is not set | 654 | # CONFIG_IGB is not set |
655 | # CONFIG_IGBVF is not set | ||
631 | # CONFIG_NS83820 is not set | 656 | # CONFIG_NS83820 is not set |
632 | # CONFIG_HAMACHI is not set | 657 | # CONFIG_HAMACHI is not set |
633 | # CONFIG_YELLOWFIN is not set | 658 | # CONFIG_YELLOWFIN is not set |
@@ -639,10 +664,10 @@ CONFIG_NETDEV_1000=y | |||
639 | # CONFIG_TIGON3 is not set | 664 | # CONFIG_TIGON3 is not set |
640 | # CONFIG_BNX2 is not set | 665 | # CONFIG_BNX2 is not set |
641 | CONFIG_TSI108_ETH=y | 666 | CONFIG_TSI108_ETH=y |
642 | # CONFIG_MV643XX_ETH is not set | ||
643 | # CONFIG_QLA3XXX is not set | 667 | # CONFIG_QLA3XXX is not set |
644 | # CONFIG_ATL1 is not set | 668 | # CONFIG_ATL1 is not set |
645 | # CONFIG_ATL1E is not set | 669 | # CONFIG_ATL1E is not set |
670 | # CONFIG_ATL1C is not set | ||
646 | # CONFIG_JME is not set | 671 | # CONFIG_JME is not set |
647 | CONFIG_NETDEV_10000=y | 672 | CONFIG_NETDEV_10000=y |
648 | # CONFIG_CHELSIO_T1 is not set | 673 | # CONFIG_CHELSIO_T1 is not set |
@@ -652,6 +677,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
652 | # CONFIG_IXGBE is not set | 677 | # CONFIG_IXGBE is not set |
653 | # CONFIG_IXGB is not set | 678 | # CONFIG_IXGB is not set |
654 | # CONFIG_S2IO is not set | 679 | # CONFIG_S2IO is not set |
680 | # CONFIG_VXGE is not set | ||
655 | # CONFIG_MYRI10GE is not set | 681 | # CONFIG_MYRI10GE is not set |
656 | # CONFIG_NETXEN_NIC is not set | 682 | # CONFIG_NETXEN_NIC is not set |
657 | # CONFIG_NIU is not set | 683 | # CONFIG_NIU is not set |
@@ -661,6 +687,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
661 | # CONFIG_BNX2X is not set | 687 | # CONFIG_BNX2X is not set |
662 | # CONFIG_QLGE is not set | 688 | # CONFIG_QLGE is not set |
663 | # CONFIG_SFC is not set | 689 | # CONFIG_SFC is not set |
690 | # CONFIG_BE2NET is not set | ||
664 | # CONFIG_TR is not set | 691 | # CONFIG_TR is not set |
665 | 692 | ||
666 | # | 693 | # |
@@ -668,7 +695,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
668 | # | 695 | # |
669 | # CONFIG_WLAN_PRE80211 is not set | 696 | # CONFIG_WLAN_PRE80211 is not set |
670 | # CONFIG_WLAN_80211 is not set | 697 | # CONFIG_WLAN_80211 is not set |
671 | # CONFIG_IWLWIFI_LEDS is not set | ||
672 | 698 | ||
673 | # | 699 | # |
674 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 700 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -839,7 +865,6 @@ CONFIG_HID=y | |||
839 | # | 865 | # |
840 | # Special HID drivers | 866 | # Special HID drivers |
841 | # | 867 | # |
842 | CONFIG_HID_COMPAT=y | ||
843 | CONFIG_USB_SUPPORT=y | 868 | CONFIG_USB_SUPPORT=y |
844 | CONFIG_USB_ARCH_HAS_HCD=y | 869 | CONFIG_USB_ARCH_HAS_HCD=y |
845 | CONFIG_USB_ARCH_HAS_OHCI=y | 870 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -853,7 +878,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
853 | # | 878 | # |
854 | 879 | ||
855 | # | 880 | # |
856 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 881 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
857 | # | 882 | # |
858 | # CONFIG_USB_GADGET is not set | 883 | # CONFIG_USB_GADGET is not set |
859 | 884 | ||
@@ -869,6 +894,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
869 | # CONFIG_EDAC is not set | 894 | # CONFIG_EDAC is not set |
870 | # CONFIG_RTC_CLASS is not set | 895 | # CONFIG_RTC_CLASS is not set |
871 | # CONFIG_DMADEVICES is not set | 896 | # CONFIG_DMADEVICES is not set |
897 | # CONFIG_AUXDISPLAY is not set | ||
872 | # CONFIG_UIO is not set | 898 | # CONFIG_UIO is not set |
873 | # CONFIG_STAGING is not set | 899 | # CONFIG_STAGING is not set |
874 | 900 | ||
@@ -879,6 +905,7 @@ CONFIG_EXT2_FS=y | |||
879 | # CONFIG_EXT2_FS_XATTR is not set | 905 | # CONFIG_EXT2_FS_XATTR is not set |
880 | # CONFIG_EXT2_FS_XIP is not set | 906 | # CONFIG_EXT2_FS_XIP is not set |
881 | CONFIG_EXT3_FS=y | 907 | CONFIG_EXT3_FS=y |
908 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
882 | CONFIG_EXT3_FS_XATTR=y | 909 | CONFIG_EXT3_FS_XATTR=y |
883 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 910 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
884 | # CONFIG_EXT3_FS_SECURITY is not set | 911 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -902,6 +929,11 @@ CONFIG_INOTIFY_USER=y | |||
902 | # CONFIG_FUSE_FS is not set | 929 | # CONFIG_FUSE_FS is not set |
903 | 930 | ||
904 | # | 931 | # |
932 | # Caches | ||
933 | # | ||
934 | # CONFIG_FSCACHE is not set | ||
935 | |||
936 | # | ||
905 | # CD-ROM/DVD Filesystems | 937 | # CD-ROM/DVD Filesystems |
906 | # | 938 | # |
907 | # CONFIG_ISO9660_FS is not set | 939 | # CONFIG_ISO9660_FS is not set |
@@ -944,6 +976,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
944 | # CONFIG_ROMFS_FS is not set | 976 | # CONFIG_ROMFS_FS is not set |
945 | # CONFIG_SYSV_FS is not set | 977 | # CONFIG_SYSV_FS is not set |
946 | # CONFIG_UFS_FS is not set | 978 | # CONFIG_UFS_FS is not set |
979 | # CONFIG_NILFS2_FS is not set | ||
947 | CONFIG_NETWORK_FILESYSTEMS=y | 980 | CONFIG_NETWORK_FILESYSTEMS=y |
948 | CONFIG_NFS_FS=y | 981 | CONFIG_NFS_FS=y |
949 | # CONFIG_NFS_V3 is not set | 982 | # CONFIG_NFS_V3 is not set |
@@ -953,7 +986,6 @@ CONFIG_ROOT_NFS=y | |||
953 | CONFIG_LOCKD=y | 986 | CONFIG_LOCKD=y |
954 | CONFIG_NFS_COMMON=y | 987 | CONFIG_NFS_COMMON=y |
955 | CONFIG_SUNRPC=y | 988 | CONFIG_SUNRPC=y |
956 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
957 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 989 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
958 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 990 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
959 | # CONFIG_SMB_FS is not set | 991 | # CONFIG_SMB_FS is not set |
@@ -985,6 +1017,7 @@ CONFIG_MSDOS_PARTITION=y | |||
985 | # CONFIG_SYSV68_PARTITION is not set | 1017 | # CONFIG_SYSV68_PARTITION is not set |
986 | # CONFIG_NLS is not set | 1018 | # CONFIG_NLS is not set |
987 | # CONFIG_DLM is not set | 1019 | # CONFIG_DLM is not set |
1020 | # CONFIG_BINARY_PRINTF is not set | ||
988 | 1021 | ||
989 | # | 1022 | # |
990 | # Library routines | 1023 | # Library routines |
@@ -998,11 +1031,13 @@ CONFIG_CRC_T10DIF=y | |||
998 | CONFIG_CRC32=y | 1031 | CONFIG_CRC32=y |
999 | # CONFIG_CRC7 is not set | 1032 | # CONFIG_CRC7 is not set |
1000 | # CONFIG_LIBCRC32C is not set | 1033 | # CONFIG_LIBCRC32C is not set |
1001 | CONFIG_PLIST=y | 1034 | CONFIG_ZLIB_INFLATE=y |
1035 | CONFIG_DECOMPRESS_GZIP=y | ||
1002 | CONFIG_HAS_IOMEM=y | 1036 | CONFIG_HAS_IOMEM=y |
1003 | CONFIG_HAS_IOPORT=y | 1037 | CONFIG_HAS_IOPORT=y |
1004 | CONFIG_HAS_DMA=y | 1038 | CONFIG_HAS_DMA=y |
1005 | CONFIG_HAVE_LMB=y | 1039 | CONFIG_HAVE_LMB=y |
1040 | CONFIG_NLATTR=y | ||
1006 | 1041 | ||
1007 | # | 1042 | # |
1008 | # Kernel hacking | 1043 | # Kernel hacking |
@@ -1024,13 +1059,24 @@ CONFIG_FRAME_WARN=1024 | |||
1024 | # CONFIG_LATENCYTOP is not set | 1059 | # CONFIG_LATENCYTOP is not set |
1025 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1060 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1026 | CONFIG_HAVE_FUNCTION_TRACER=y | 1061 | CONFIG_HAVE_FUNCTION_TRACER=y |
1062 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1027 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1063 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1028 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1064 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1065 | CONFIG_TRACING_SUPPORT=y | ||
1029 | 1066 | ||
1030 | # | 1067 | # |
1031 | # Tracers | 1068 | # Tracers |
1032 | # | 1069 | # |
1033 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1070 | # CONFIG_FUNCTION_TRACER is not set |
1071 | # CONFIG_SCHED_TRACER is not set | ||
1072 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1073 | # CONFIG_EVENT_TRACER is not set | ||
1074 | # CONFIG_BOOT_TRACER is not set | ||
1075 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1076 | # CONFIG_STACK_TRACER is not set | ||
1077 | # CONFIG_KMEMTRACE is not set | ||
1078 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1079 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1034 | # CONFIG_SAMPLES is not set | 1080 | # CONFIG_SAMPLES is not set |
1035 | CONFIG_HAVE_ARCH_KGDB=y | 1081 | CONFIG_HAVE_ARCH_KGDB=y |
1036 | CONFIG_PRINT_STACK_DEPTH=64 | 1082 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1122,6 +1168,7 @@ CONFIG_CRYPTO=y | |||
1122 | # Compression | 1168 | # Compression |
1123 | # | 1169 | # |
1124 | # CONFIG_CRYPTO_DEFLATE is not set | 1170 | # CONFIG_CRYPTO_DEFLATE is not set |
1171 | # CONFIG_CRYPTO_ZLIB is not set | ||
1125 | # CONFIG_CRYPTO_LZO is not set | 1172 | # CONFIG_CRYPTO_LZO is not set |
1126 | 1173 | ||
1127 | # | 1174 | # |
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig index d85a43cb821f..cb966ca2ce89 100644 --- a/arch/powerpc/configs/mpc8272_ads_defconfig +++ b/arch/powerpc/configs/mpc8272_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:35 2009 | 4 | # Wed May 13 17:21:57 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_ALTIVEC is not set | 19 | # CONFIG_ALTIVEC is not set |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -55,6 +56,7 @@ CONFIG_GENERIC_BUG=y | |||
55 | CONFIG_DEFAULT_UIMAGE=y | 56 | CONFIG_DEFAULT_UIMAGE=y |
56 | # CONFIG_PPC_DCR_NATIVE is not set | 57 | # CONFIG_PPC_DCR_NATIVE is not set |
57 | # CONFIG_PPC_DCR_MMIO is not set | 58 | # CONFIG_PPC_DCR_MMIO is not set |
59 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
58 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
59 | 61 | ||
60 | # | 62 | # |
@@ -71,6 +73,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
71 | # CONFIG_BSD_PROCESS_ACCT is not set | 73 | # CONFIG_BSD_PROCESS_ACCT is not set |
72 | # CONFIG_TASKSTATS is not set | 74 | # CONFIG_TASKSTATS is not set |
73 | # CONFIG_AUDIT is not set | 75 | # CONFIG_AUDIT is not set |
76 | |||
77 | # | ||
78 | # RCU Subsystem | ||
79 | # | ||
80 | CONFIG_CLASSIC_RCU=y | ||
81 | # CONFIG_TREE_RCU is not set | ||
82 | # CONFIG_PREEMPT_RCU is not set | ||
83 | # CONFIG_TREE_RCU_TRACE is not set | ||
84 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
74 | CONFIG_IKCONFIG=y | 85 | CONFIG_IKCONFIG=y |
75 | CONFIG_IKCONFIG_PROC=y | 86 | CONFIG_IKCONFIG_PROC=y |
76 | CONFIG_LOG_BUF_SHIFT=14 | 87 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -82,20 +93,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
82 | # CONFIG_BLK_DEV_INITRD is not set | 93 | # CONFIG_BLK_DEV_INITRD is not set |
83 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 94 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
84 | CONFIG_SYSCTL=y | 95 | CONFIG_SYSCTL=y |
96 | CONFIG_ANON_INODES=y | ||
85 | CONFIG_EMBEDDED=y | 97 | CONFIG_EMBEDDED=y |
86 | CONFIG_SYSCTL_SYSCALL=y | 98 | CONFIG_SYSCTL_SYSCALL=y |
87 | CONFIG_KALLSYMS=y | 99 | CONFIG_KALLSYMS=y |
88 | CONFIG_KALLSYMS_ALL=y | 100 | CONFIG_KALLSYMS_ALL=y |
89 | CONFIG_KALLSYMS_STRIP_GENERATED=y | ||
90 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 101 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
102 | # CONFIG_STRIP_ASM_SYMS is not set | ||
91 | CONFIG_HOTPLUG=y | 103 | CONFIG_HOTPLUG=y |
92 | CONFIG_PRINTK=y | 104 | CONFIG_PRINTK=y |
93 | CONFIG_BUG=y | 105 | CONFIG_BUG=y |
94 | CONFIG_ELF_CORE=y | 106 | CONFIG_ELF_CORE=y |
95 | CONFIG_COMPAT_BRK=y | ||
96 | CONFIG_BASE_FULL=y | 107 | CONFIG_BASE_FULL=y |
97 | CONFIG_FUTEX=y | 108 | CONFIG_FUTEX=y |
98 | CONFIG_ANON_INODES=y | ||
99 | CONFIG_EPOLL=y | 109 | CONFIG_EPOLL=y |
100 | CONFIG_SIGNALFD=y | 110 | CONFIG_SIGNALFD=y |
101 | CONFIG_TIMERFD=y | 111 | CONFIG_TIMERFD=y |
@@ -105,10 +115,12 @@ CONFIG_AIO=y | |||
105 | CONFIG_VM_EVENT_COUNTERS=y | 115 | CONFIG_VM_EVENT_COUNTERS=y |
106 | CONFIG_PCI_QUIRKS=y | 116 | CONFIG_PCI_QUIRKS=y |
107 | CONFIG_SLUB_DEBUG=y | 117 | CONFIG_SLUB_DEBUG=y |
118 | CONFIG_COMPAT_BRK=y | ||
108 | # CONFIG_SLAB is not set | 119 | # CONFIG_SLAB is not set |
109 | CONFIG_SLUB=y | 120 | CONFIG_SLUB=y |
110 | # CONFIG_SLOB is not set | 121 | # CONFIG_SLOB is not set |
111 | # CONFIG_PROFILING is not set | 122 | # CONFIG_PROFILING is not set |
123 | # CONFIG_MARKERS is not set | ||
112 | CONFIG_HAVE_OPROFILE=y | 124 | CONFIG_HAVE_OPROFILE=y |
113 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 125 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
114 | CONFIG_HAVE_IOREMAP_PROT=y | 126 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -116,6 +128,7 @@ CONFIG_HAVE_KPROBES=y | |||
116 | CONFIG_HAVE_KRETPROBES=y | 128 | CONFIG_HAVE_KRETPROBES=y |
117 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 129 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
118 | CONFIG_HAVE_CLK=y | 130 | CONFIG_HAVE_CLK=y |
131 | # CONFIG_SLOW_WORK is not set | ||
119 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 132 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
120 | CONFIG_SLABINFO=y | 133 | CONFIG_SLABINFO=y |
121 | CONFIG_RT_MUTEXES=y | 134 | CONFIG_RT_MUTEXES=y |
@@ -123,7 +136,6 @@ CONFIG_BASE_SMALL=0 | |||
123 | # CONFIG_MODULES is not set | 136 | # CONFIG_MODULES is not set |
124 | CONFIG_BLOCK=y | 137 | CONFIG_BLOCK=y |
125 | # CONFIG_LBD is not set | 138 | # CONFIG_LBD is not set |
126 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
127 | # CONFIG_BLK_DEV_INTEGRITY is not set | 139 | # CONFIG_BLK_DEV_INTEGRITY is not set |
128 | 140 | ||
129 | # | 141 | # |
@@ -138,18 +150,11 @@ CONFIG_DEFAULT_AS=y | |||
138 | # CONFIG_DEFAULT_CFQ is not set | 150 | # CONFIG_DEFAULT_CFQ is not set |
139 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
140 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
141 | CONFIG_CLASSIC_RCU=y | ||
142 | # CONFIG_TREE_RCU is not set | ||
143 | # CONFIG_PREEMPT_RCU is not set | ||
144 | # CONFIG_TREE_RCU_TRACE is not set | ||
145 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
146 | # CONFIG_FREEZER is not set | 153 | # CONFIG_FREEZER is not set |
147 | 154 | ||
148 | # | 155 | # |
149 | # Platform support | 156 | # Platform support |
150 | # | 157 | # |
151 | CONFIG_PPC_MULTIPLATFORM=y | ||
152 | CONFIG_CLASSIC32=y | ||
153 | # CONFIG_PPC_CHRP is not set | 158 | # CONFIG_PPC_CHRP is not set |
154 | # CONFIG_MPC5121_ADS is not set | 159 | # CONFIG_MPC5121_ADS is not set |
155 | # CONFIG_MPC5121_GENERIC is not set | 160 | # CONFIG_MPC5121_GENERIC is not set |
@@ -169,6 +174,8 @@ CONFIG_PQ2_ADS_PCI_PIC=y | |||
169 | # CONFIG_PPC_83xx is not set | 174 | # CONFIG_PPC_83xx is not set |
170 | # CONFIG_PPC_86xx is not set | 175 | # CONFIG_PPC_86xx is not set |
171 | # CONFIG_EMBEDDED6xx is not set | 176 | # CONFIG_EMBEDDED6xx is not set |
177 | # CONFIG_AMIGAONE is not set | ||
178 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
172 | # CONFIG_IPIC is not set | 179 | # CONFIG_IPIC is not set |
173 | # CONFIG_MPIC is not set | 180 | # CONFIG_MPIC is not set |
174 | # CONFIG_MPIC_WEIRD is not set | 181 | # CONFIG_MPIC_WEIRD is not set |
@@ -225,9 +232,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
225 | CONFIG_BOUNCE=y | 232 | CONFIG_BOUNCE=y |
226 | CONFIG_VIRT_TO_BUS=y | 233 | CONFIG_VIRT_TO_BUS=y |
227 | CONFIG_UNEVICTABLE_LRU=y | 234 | CONFIG_UNEVICTABLE_LRU=y |
235 | CONFIG_HAVE_MLOCK=y | ||
236 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
228 | CONFIG_PPC_4K_PAGES=y | 237 | CONFIG_PPC_4K_PAGES=y |
229 | # CONFIG_PPC_16K_PAGES is not set | 238 | # CONFIG_PPC_16K_PAGES is not set |
230 | # CONFIG_PPC_64K_PAGES is not set | 239 | # CONFIG_PPC_64K_PAGES is not set |
240 | # CONFIG_PPC_256K_PAGES is not set | ||
231 | CONFIG_FORCE_MAX_ZONEORDER=11 | 241 | CONFIG_FORCE_MAX_ZONEORDER=11 |
232 | CONFIG_PROC_DEVICETREE=y | 242 | CONFIG_PROC_DEVICETREE=y |
233 | # CONFIG_CMDLINE_BOOL is not set | 243 | # CONFIG_CMDLINE_BOOL is not set |
@@ -253,6 +263,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
253 | # CONFIG_PCI_LEGACY is not set | 263 | # CONFIG_PCI_LEGACY is not set |
254 | # CONFIG_PCI_DEBUG is not set | 264 | # CONFIG_PCI_DEBUG is not set |
255 | # CONFIG_PCI_STUB is not set | 265 | # CONFIG_PCI_STUB is not set |
266 | # CONFIG_PCI_IOV is not set | ||
256 | # CONFIG_PCCARD is not set | 267 | # CONFIG_PCCARD is not set |
257 | # CONFIG_HOTPLUG_PCI is not set | 268 | # CONFIG_HOTPLUG_PCI is not set |
258 | # CONFIG_HAS_RAPIDIO is not set | 269 | # CONFIG_HAS_RAPIDIO is not set |
@@ -275,7 +286,6 @@ CONFIG_NET=y | |||
275 | # | 286 | # |
276 | # Networking options | 287 | # Networking options |
277 | # | 288 | # |
278 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
279 | CONFIG_PACKET=y | 289 | CONFIG_PACKET=y |
280 | # CONFIG_PACKET_MMAP is not set | 290 | # CONFIG_PACKET_MMAP is not set |
281 | CONFIG_UNIX=y | 291 | CONFIG_UNIX=y |
@@ -356,6 +366,7 @@ CONFIG_NETFILTER_ADVANCED=y | |||
356 | # CONFIG_LLC2 is not set | 366 | # CONFIG_LLC2 is not set |
357 | # CONFIG_IPX is not set | 367 | # CONFIG_IPX is not set |
358 | # CONFIG_ATALK is not set | 368 | # CONFIG_ATALK is not set |
369 | # CONFIG_PHONET is not set | ||
359 | # CONFIG_NET_SCHED is not set | 370 | # CONFIG_NET_SCHED is not set |
360 | # CONFIG_DCB is not set | 371 | # CONFIG_DCB is not set |
361 | 372 | ||
@@ -367,7 +378,6 @@ CONFIG_NETFILTER_ADVANCED=y | |||
367 | # CONFIG_CAN is not set | 378 | # CONFIG_CAN is not set |
368 | # CONFIG_IRDA is not set | 379 | # CONFIG_IRDA is not set |
369 | # CONFIG_BT is not set | 380 | # CONFIG_BT is not set |
370 | # CONFIG_PHONET is not set | ||
371 | CONFIG_WIRELESS=y | 381 | CONFIG_WIRELESS=y |
372 | # CONFIG_CFG80211 is not set | 382 | # CONFIG_CFG80211 is not set |
373 | CONFIG_WIRELESS_OLD_REGULATORY=y | 383 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -472,7 +482,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
472 | # LPDDR flash memory drivers | 482 | # LPDDR flash memory drivers |
473 | # | 483 | # |
474 | # CONFIG_MTD_LPDDR is not set | 484 | # CONFIG_MTD_LPDDR is not set |
475 | # CONFIG_MTD_QINFO_PROBE is not set | ||
476 | 485 | ||
477 | # | 486 | # |
478 | # UBI - Unsorted block images | 487 | # UBI - Unsorted block images |
@@ -521,6 +530,7 @@ CONFIG_HAVE_IDE=y | |||
521 | # CONFIG_I2O is not set | 530 | # CONFIG_I2O is not set |
522 | # CONFIG_MACINTOSH_DRIVERS is not set | 531 | # CONFIG_MACINTOSH_DRIVERS is not set |
523 | CONFIG_NETDEVICES=y | 532 | CONFIG_NETDEVICES=y |
533 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
524 | # CONFIG_DUMMY is not set | 534 | # CONFIG_DUMMY is not set |
525 | # CONFIG_BONDING is not set | 535 | # CONFIG_BONDING is not set |
526 | # CONFIG_EQUALIZER is not set | 536 | # CONFIG_EQUALIZER is not set |
@@ -554,6 +564,8 @@ CONFIG_MII=y | |||
554 | # CONFIG_SUNGEM is not set | 564 | # CONFIG_SUNGEM is not set |
555 | # CONFIG_CASSINI is not set | 565 | # CONFIG_CASSINI is not set |
556 | # CONFIG_NET_VENDOR_3COM is not set | 566 | # CONFIG_NET_VENDOR_3COM is not set |
567 | # CONFIG_ETHOC is not set | ||
568 | # CONFIG_DNET is not set | ||
557 | # CONFIG_NET_TULIP is not set | 569 | # CONFIG_NET_TULIP is not set |
558 | # CONFIG_HP100 is not set | 570 | # CONFIG_HP100 is not set |
559 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 571 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -576,6 +588,7 @@ CONFIG_NETDEV_1000=y | |||
576 | # CONFIG_E1000 is not set | 588 | # CONFIG_E1000 is not set |
577 | # CONFIG_E1000E is not set | 589 | # CONFIG_E1000E is not set |
578 | # CONFIG_IGB is not set | 590 | # CONFIG_IGB is not set |
591 | # CONFIG_IGBVF is not set | ||
579 | # CONFIG_NS83820 is not set | 592 | # CONFIG_NS83820 is not set |
580 | # CONFIG_HAMACHI is not set | 593 | # CONFIG_HAMACHI is not set |
581 | # CONFIG_R8169 is not set | 594 | # CONFIG_R8169 is not set |
@@ -585,8 +598,8 @@ CONFIG_NETDEV_1000=y | |||
585 | # CONFIG_VIA_VELOCITY is not set | 598 | # CONFIG_VIA_VELOCITY is not set |
586 | # CONFIG_TIGON3 is not set | 599 | # CONFIG_TIGON3 is not set |
587 | # CONFIG_BNX2 is not set | 600 | # CONFIG_BNX2 is not set |
601 | # CONFIG_FSL_PQ_MDIO is not set | ||
588 | # CONFIG_GIANFAR is not set | 602 | # CONFIG_GIANFAR is not set |
589 | # CONFIG_MV643XX_ETH is not set | ||
590 | # CONFIG_QLA3XXX is not set | 603 | # CONFIG_QLA3XXX is not set |
591 | # CONFIG_ATL1 is not set | 604 | # CONFIG_ATL1 is not set |
592 | # CONFIG_JME is not set | 605 | # CONFIG_JME is not set |
@@ -598,6 +611,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
598 | # CONFIG_IXGBE is not set | 611 | # CONFIG_IXGBE is not set |
599 | # CONFIG_IXGB is not set | 612 | # CONFIG_IXGB is not set |
600 | # CONFIG_S2IO is not set | 613 | # CONFIG_S2IO is not set |
614 | # CONFIG_VXGE is not set | ||
601 | # CONFIG_MYRI10GE is not set | 615 | # CONFIG_MYRI10GE is not set |
602 | # CONFIG_NETXEN_NIC is not set | 616 | # CONFIG_NETXEN_NIC is not set |
603 | # CONFIG_NIU is not set | 617 | # CONFIG_NIU is not set |
@@ -607,6 +621,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
607 | # CONFIG_BNX2X is not set | 621 | # CONFIG_BNX2X is not set |
608 | # CONFIG_QLGE is not set | 622 | # CONFIG_QLGE is not set |
609 | # CONFIG_SFC is not set | 623 | # CONFIG_SFC is not set |
624 | # CONFIG_BE2NET is not set | ||
610 | # CONFIG_TR is not set | 625 | # CONFIG_TR is not set |
611 | 626 | ||
612 | # | 627 | # |
@@ -614,7 +629,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
614 | # | 629 | # |
615 | # CONFIG_WLAN_PRE80211 is not set | 630 | # CONFIG_WLAN_PRE80211 is not set |
616 | # CONFIG_WLAN_80211 is not set | 631 | # CONFIG_WLAN_80211 is not set |
617 | # CONFIG_IWLWIFI_LEDS is not set | ||
618 | 632 | ||
619 | # | 633 | # |
620 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 634 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -668,7 +682,6 @@ CONFIG_MOUSE_PS2=y | |||
668 | CONFIG_MOUSE_PS2_ALPS=y | 682 | CONFIG_MOUSE_PS2_ALPS=y |
669 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | 683 | CONFIG_MOUSE_PS2_LOGIPS2PP=y |
670 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 684 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
671 | CONFIG_MOUSE_PS2_LIFEBOOK=y | ||
672 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 685 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
673 | # CONFIG_MOUSE_PS2_ELANTECH is not set | 686 | # CONFIG_MOUSE_PS2_ELANTECH is not set |
674 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | 687 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set |
@@ -719,6 +732,7 @@ CONFIG_LEGACY_PTYS=y | |||
719 | CONFIG_LEGACY_PTY_COUNT=256 | 732 | CONFIG_LEGACY_PTY_COUNT=256 |
720 | # CONFIG_IPMI_HANDLER is not set | 733 | # CONFIG_IPMI_HANDLER is not set |
721 | CONFIG_HW_RANDOM=y | 734 | CONFIG_HW_RANDOM=y |
735 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
722 | # CONFIG_NVRAM is not set | 736 | # CONFIG_NVRAM is not set |
723 | # CONFIG_GEN_RTC is not set | 737 | # CONFIG_GEN_RTC is not set |
724 | # CONFIG_R3964 is not set | 738 | # CONFIG_R3964 is not set |
@@ -809,8 +823,10 @@ CONFIG_DAB=y | |||
809 | # CONFIG_NEW_LEDS is not set | 823 | # CONFIG_NEW_LEDS is not set |
810 | # CONFIG_ACCESSIBILITY is not set | 824 | # CONFIG_ACCESSIBILITY is not set |
811 | # CONFIG_INFINIBAND is not set | 825 | # CONFIG_INFINIBAND is not set |
826 | # CONFIG_EDAC is not set | ||
812 | # CONFIG_RTC_CLASS is not set | 827 | # CONFIG_RTC_CLASS is not set |
813 | # CONFIG_DMADEVICES is not set | 828 | # CONFIG_DMADEVICES is not set |
829 | # CONFIG_AUXDISPLAY is not set | ||
814 | # CONFIG_UIO is not set | 830 | # CONFIG_UIO is not set |
815 | # CONFIG_STAGING is not set | 831 | # CONFIG_STAGING is not set |
816 | 832 | ||
@@ -821,6 +837,7 @@ CONFIG_EXT2_FS=y | |||
821 | # CONFIG_EXT2_FS_XATTR is not set | 837 | # CONFIG_EXT2_FS_XATTR is not set |
822 | # CONFIG_EXT2_FS_XIP is not set | 838 | # CONFIG_EXT2_FS_XIP is not set |
823 | CONFIG_EXT3_FS=y | 839 | CONFIG_EXT3_FS=y |
840 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
824 | CONFIG_EXT3_FS_XATTR=y | 841 | CONFIG_EXT3_FS_XATTR=y |
825 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 842 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
826 | # CONFIG_EXT3_FS_SECURITY is not set | 843 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -842,6 +859,10 @@ CONFIG_AUTOFS4_FS=y | |||
842 | # CONFIG_FUSE_FS is not set | 859 | # CONFIG_FUSE_FS is not set |
843 | 860 | ||
844 | # | 861 | # |
862 | # Caches | ||
863 | # | ||
864 | |||
865 | # | ||
845 | # CD-ROM/DVD Filesystems | 866 | # CD-ROM/DVD Filesystems |
846 | # | 867 | # |
847 | # CONFIG_ISO9660_FS is not set | 868 | # CONFIG_ISO9660_FS is not set |
@@ -956,6 +977,7 @@ CONFIG_NLS_ISO8859_1=y | |||
956 | # CONFIG_NLS_KOI8_R is not set | 977 | # CONFIG_NLS_KOI8_R is not set |
957 | # CONFIG_NLS_KOI8_U is not set | 978 | # CONFIG_NLS_KOI8_U is not set |
958 | CONFIG_NLS_UTF8=y | 979 | CONFIG_NLS_UTF8=y |
980 | # CONFIG_BINARY_PRINTF is not set | ||
959 | 981 | ||
960 | # | 982 | # |
961 | # Library routines | 983 | # Library routines |
@@ -971,11 +993,11 @@ CONFIG_CRC32=y | |||
971 | # CONFIG_LIBCRC32C is not set | 993 | # CONFIG_LIBCRC32C is not set |
972 | CONFIG_ZLIB_INFLATE=y | 994 | CONFIG_ZLIB_INFLATE=y |
973 | CONFIG_ZLIB_DEFLATE=y | 995 | CONFIG_ZLIB_DEFLATE=y |
974 | CONFIG_PLIST=y | ||
975 | CONFIG_HAS_IOMEM=y | 996 | CONFIG_HAS_IOMEM=y |
976 | CONFIG_HAS_IOPORT=y | 997 | CONFIG_HAS_IOPORT=y |
977 | CONFIG_HAS_DMA=y | 998 | CONFIG_HAS_DMA=y |
978 | CONFIG_HAVE_LMB=y | 999 | CONFIG_HAVE_LMB=y |
1000 | CONFIG_NLATTR=y | ||
979 | 1001 | ||
980 | # | 1002 | # |
981 | # Kernel hacking | 1003 | # Kernel hacking |
@@ -993,6 +1015,9 @@ CONFIG_DEBUG_KERNEL=y | |||
993 | CONFIG_DETECT_SOFTLOCKUP=y | 1015 | CONFIG_DETECT_SOFTLOCKUP=y |
994 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1016 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
995 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1017 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1018 | CONFIG_DETECT_HUNG_TASK=y | ||
1019 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1020 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
996 | CONFIG_SCHED_DEBUG=y | 1021 | CONFIG_SCHED_DEBUG=y |
997 | # CONFIG_SCHEDSTATS is not set | 1022 | # CONFIG_SCHEDSTATS is not set |
998 | # CONFIG_TIMER_STATS is not set | 1023 | # CONFIG_TIMER_STATS is not set |
@@ -1022,9 +1047,12 @@ CONFIG_DEBUG_INFO=y | |||
1022 | # CONFIG_FAULT_INJECTION is not set | 1047 | # CONFIG_FAULT_INJECTION is not set |
1023 | # CONFIG_LATENCYTOP is not set | 1048 | # CONFIG_LATENCYTOP is not set |
1024 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1049 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1050 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1025 | CONFIG_HAVE_FUNCTION_TRACER=y | 1051 | CONFIG_HAVE_FUNCTION_TRACER=y |
1052 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1026 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1053 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1027 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1054 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1055 | CONFIG_TRACING_SUPPORT=y | ||
1028 | 1056 | ||
1029 | # | 1057 | # |
1030 | # Tracers | 1058 | # Tracers |
@@ -1032,16 +1060,18 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1032 | # CONFIG_FUNCTION_TRACER is not set | 1060 | # CONFIG_FUNCTION_TRACER is not set |
1033 | # CONFIG_SCHED_TRACER is not set | 1061 | # CONFIG_SCHED_TRACER is not set |
1034 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1062 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1063 | # CONFIG_EVENT_TRACER is not set | ||
1035 | # CONFIG_BOOT_TRACER is not set | 1064 | # CONFIG_BOOT_TRACER is not set |
1036 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1065 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1037 | # CONFIG_STACK_TRACER is not set | 1066 | # CONFIG_STACK_TRACER is not set |
1038 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1067 | # CONFIG_KMEMTRACE is not set |
1068 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1069 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1039 | # CONFIG_SAMPLES is not set | 1070 | # CONFIG_SAMPLES is not set |
1040 | CONFIG_HAVE_ARCH_KGDB=y | 1071 | CONFIG_HAVE_ARCH_KGDB=y |
1041 | CONFIG_PRINT_STACK_DEPTH=64 | 1072 | CONFIG_PRINT_STACK_DEPTH=64 |
1042 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1073 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1043 | # CONFIG_DEBUG_STACK_USAGE is not set | 1074 | # CONFIG_DEBUG_STACK_USAGE is not set |
1044 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1045 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1075 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1046 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1076 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1047 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1077 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1072,9 +1102,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1072 | CONFIG_CRYPTO_HASH=y | 1102 | CONFIG_CRYPTO_HASH=y |
1073 | CONFIG_CRYPTO_HASH2=y | 1103 | CONFIG_CRYPTO_HASH2=y |
1074 | CONFIG_CRYPTO_RNG2=y | 1104 | CONFIG_CRYPTO_RNG2=y |
1105 | CONFIG_CRYPTO_PCOMP=y | ||
1075 | CONFIG_CRYPTO_MANAGER=y | 1106 | CONFIG_CRYPTO_MANAGER=y |
1076 | CONFIG_CRYPTO_MANAGER2=y | 1107 | CONFIG_CRYPTO_MANAGER2=y |
1077 | # CONFIG_CRYPTO_NULL is not set | 1108 | # CONFIG_CRYPTO_NULL is not set |
1109 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1078 | # CONFIG_CRYPTO_CRYPTD is not set | 1110 | # CONFIG_CRYPTO_CRYPTD is not set |
1079 | # CONFIG_CRYPTO_AUTHENC is not set | 1111 | # CONFIG_CRYPTO_AUTHENC is not set |
1080 | 1112 | ||
@@ -1138,6 +1170,7 @@ CONFIG_CRYPTO_DES=y | |||
1138 | # Compression | 1170 | # Compression |
1139 | # | 1171 | # |
1140 | # CONFIG_CRYPTO_DEFLATE is not set | 1172 | # CONFIG_CRYPTO_DEFLATE is not set |
1173 | # CONFIG_CRYPTO_ZLIB is not set | ||
1141 | # CONFIG_CRYPTO_LZO is not set | 1174 | # CONFIG_CRYPTO_LZO is not set |
1142 | 1175 | ||
1143 | # | 1176 | # |
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig index 45f03cad8db6..433c303eb82b 100644 --- a/arch/powerpc/configs/mpc83xx_defconfig +++ b/arch/powerpc/configs/mpc83xx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:36 2009 | 4 | # Wed May 13 17:21:58 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_FSL_EMB_PERFMON is not set | 19 | # CONFIG_FSL_EMB_PERFMON is not set |
19 | # CONFIG_ALTIVEC is not set | 20 | # CONFIG_ALTIVEC is not set |
@@ -58,6 +59,7 @@ CONFIG_REDBOOT=y | |||
58 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 59 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 60 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 61 | # CONFIG_PPC_DCR_MMIO is not set |
62 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 63 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 64 | ||
63 | # | 65 | # |
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 77 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 78 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 79 | # CONFIG_AUDIT is not set |
80 | |||
81 | # | ||
82 | # RCU Subsystem | ||
83 | # | ||
84 | CONFIG_CLASSIC_RCU=y | ||
85 | # CONFIG_TREE_RCU is not set | ||
86 | # CONFIG_PREEMPT_RCU is not set | ||
87 | # CONFIG_TREE_RCU_TRACE is not set | ||
88 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | # CONFIG_IKCONFIG is not set | 89 | # CONFIG_IKCONFIG is not set |
79 | CONFIG_LOG_BUF_SHIFT=14 | 90 | CONFIG_LOG_BUF_SHIFT=14 |
80 | CONFIG_GROUP_SCHED=y | 91 | CONFIG_GROUP_SCHED=y |
@@ -89,20 +100,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
89 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
90 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
91 | CONFIG_INITRAMFS_SOURCE="" | 102 | CONFIG_INITRAMFS_SOURCE="" |
103 | CONFIG_RD_GZIP=y | ||
104 | # CONFIG_RD_BZIP2 is not set | ||
105 | # CONFIG_RD_LZMA is not set | ||
92 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 106 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
93 | CONFIG_SYSCTL=y | 107 | CONFIG_SYSCTL=y |
108 | CONFIG_ANON_INODES=y | ||
94 | CONFIG_EMBEDDED=y | 109 | CONFIG_EMBEDDED=y |
95 | CONFIG_SYSCTL_SYSCALL=y | 110 | CONFIG_SYSCTL_SYSCALL=y |
96 | CONFIG_KALLSYMS=y | 111 | CONFIG_KALLSYMS=y |
97 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 112 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
113 | # CONFIG_STRIP_ASM_SYMS is not set | ||
98 | CONFIG_HOTPLUG=y | 114 | CONFIG_HOTPLUG=y |
99 | CONFIG_PRINTK=y | 115 | CONFIG_PRINTK=y |
100 | CONFIG_BUG=y | 116 | CONFIG_BUG=y |
101 | CONFIG_ELF_CORE=y | 117 | CONFIG_ELF_CORE=y |
102 | CONFIG_COMPAT_BRK=y | ||
103 | CONFIG_BASE_FULL=y | 118 | CONFIG_BASE_FULL=y |
104 | CONFIG_FUTEX=y | 119 | CONFIG_FUTEX=y |
105 | CONFIG_ANON_INODES=y | ||
106 | # CONFIG_EPOLL is not set | 120 | # CONFIG_EPOLL is not set |
107 | CONFIG_SIGNALFD=y | 121 | CONFIG_SIGNALFD=y |
108 | CONFIG_TIMERFD=y | 122 | CONFIG_TIMERFD=y |
@@ -111,10 +125,12 @@ CONFIG_SHMEM=y | |||
111 | CONFIG_AIO=y | 125 | CONFIG_AIO=y |
112 | CONFIG_VM_EVENT_COUNTERS=y | 126 | CONFIG_VM_EVENT_COUNTERS=y |
113 | CONFIG_PCI_QUIRKS=y | 127 | CONFIG_PCI_QUIRKS=y |
128 | CONFIG_COMPAT_BRK=y | ||
114 | CONFIG_SLAB=y | 129 | CONFIG_SLAB=y |
115 | # CONFIG_SLUB is not set | 130 | # CONFIG_SLUB is not set |
116 | # CONFIG_SLOB is not set | 131 | # CONFIG_SLOB is not set |
117 | # CONFIG_PROFILING is not set | 132 | # CONFIG_PROFILING is not set |
133 | # CONFIG_MARKERS is not set | ||
118 | CONFIG_HAVE_OPROFILE=y | 134 | CONFIG_HAVE_OPROFILE=y |
119 | # CONFIG_KPROBES is not set | 135 | # CONFIG_KPROBES is not set |
120 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 136 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -122,6 +138,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
122 | CONFIG_HAVE_KPROBES=y | 138 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 139 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 140 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
141 | # CONFIG_SLOW_WORK is not set | ||
125 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 142 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
126 | CONFIG_SLABINFO=y | 143 | CONFIG_SLABINFO=y |
127 | CONFIG_RT_MUTEXES=y | 144 | CONFIG_RT_MUTEXES=y |
@@ -134,7 +151,6 @@ CONFIG_MODULE_UNLOAD=y | |||
134 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 151 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
135 | CONFIG_BLOCK=y | 152 | CONFIG_BLOCK=y |
136 | # CONFIG_LBD is not set | 153 | # CONFIG_LBD is not set |
137 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
138 | # CONFIG_BLK_DEV_BSG is not set | 154 | # CONFIG_BLK_DEV_BSG is not set |
139 | # CONFIG_BLK_DEV_INTEGRITY is not set | 155 | # CONFIG_BLK_DEV_INTEGRITY is not set |
140 | 156 | ||
@@ -150,18 +166,11 @@ CONFIG_DEFAULT_AS=y | |||
150 | # CONFIG_DEFAULT_CFQ is not set | 166 | # CONFIG_DEFAULT_CFQ is not set |
151 | # CONFIG_DEFAULT_NOOP is not set | 167 | # CONFIG_DEFAULT_NOOP is not set |
152 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 168 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
153 | CONFIG_CLASSIC_RCU=y | ||
154 | # CONFIG_TREE_RCU is not set | ||
155 | # CONFIG_PREEMPT_RCU is not set | ||
156 | # CONFIG_TREE_RCU_TRACE is not set | ||
157 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
158 | # CONFIG_FREEZER is not set | 169 | # CONFIG_FREEZER is not set |
159 | 170 | ||
160 | # | 171 | # |
161 | # Platform support | 172 | # Platform support |
162 | # | 173 | # |
163 | CONFIG_PPC_MULTIPLATFORM=y | ||
164 | CONFIG_CLASSIC32=y | ||
165 | # CONFIG_PPC_CHRP is not set | 174 | # CONFIG_PPC_CHRP is not set |
166 | # CONFIG_MPC5121_ADS is not set | 175 | # CONFIG_MPC5121_ADS is not set |
167 | # CONFIG_MPC5121_GENERIC is not set | 176 | # CONFIG_MPC5121_GENERIC is not set |
@@ -189,6 +198,8 @@ CONFIG_PPC_MPC834x=y | |||
189 | CONFIG_PPC_MPC837x=y | 198 | CONFIG_PPC_MPC837x=y |
190 | # CONFIG_PPC_86xx is not set | 199 | # CONFIG_PPC_86xx is not set |
191 | # CONFIG_EMBEDDED6xx is not set | 200 | # CONFIG_EMBEDDED6xx is not set |
201 | # CONFIG_AMIGAONE is not set | ||
202 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
192 | CONFIG_IPIC=y | 203 | CONFIG_IPIC=y |
193 | # CONFIG_MPIC is not set | 204 | # CONFIG_MPIC is not set |
194 | # CONFIG_MPIC_WEIRD is not set | 205 | # CONFIG_MPIC_WEIRD is not set |
@@ -251,9 +262,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
251 | CONFIG_BOUNCE=y | 262 | CONFIG_BOUNCE=y |
252 | CONFIG_VIRT_TO_BUS=y | 263 | CONFIG_VIRT_TO_BUS=y |
253 | CONFIG_UNEVICTABLE_LRU=y | 264 | CONFIG_UNEVICTABLE_LRU=y |
265 | CONFIG_HAVE_MLOCK=y | ||
266 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
254 | CONFIG_PPC_4K_PAGES=y | 267 | CONFIG_PPC_4K_PAGES=y |
255 | # CONFIG_PPC_16K_PAGES is not set | 268 | # CONFIG_PPC_16K_PAGES is not set |
256 | # CONFIG_PPC_64K_PAGES is not set | 269 | # CONFIG_PPC_64K_PAGES is not set |
270 | # CONFIG_PPC_256K_PAGES is not set | ||
257 | CONFIG_FORCE_MAX_ZONEORDER=11 | 271 | CONFIG_FORCE_MAX_ZONEORDER=11 |
258 | CONFIG_PROC_DEVICETREE=y | 272 | CONFIG_PROC_DEVICETREE=y |
259 | # CONFIG_CMDLINE_BOOL is not set | 273 | # CONFIG_CMDLINE_BOOL is not set |
@@ -281,6 +295,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
281 | # CONFIG_PCI_MSI is not set | 295 | # CONFIG_PCI_MSI is not set |
282 | # CONFIG_PCI_LEGACY is not set | 296 | # CONFIG_PCI_LEGACY is not set |
283 | # CONFIG_PCI_STUB is not set | 297 | # CONFIG_PCI_STUB is not set |
298 | # CONFIG_PCI_IOV is not set | ||
284 | # CONFIG_PCCARD is not set | 299 | # CONFIG_PCCARD is not set |
285 | # CONFIG_HOTPLUG_PCI is not set | 300 | # CONFIG_HOTPLUG_PCI is not set |
286 | # CONFIG_HAS_RAPIDIO is not set | 301 | # CONFIG_HAS_RAPIDIO is not set |
@@ -303,7 +318,6 @@ CONFIG_NET=y | |||
303 | # | 318 | # |
304 | # Networking options | 319 | # Networking options |
305 | # | 320 | # |
306 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
307 | CONFIG_PACKET=y | 321 | CONFIG_PACKET=y |
308 | # CONFIG_PACKET_MMAP is not set | 322 | # CONFIG_PACKET_MMAP is not set |
309 | CONFIG_UNIX=y | 323 | CONFIG_UNIX=y |
@@ -359,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
359 | # CONFIG_LAPB is not set | 373 | # CONFIG_LAPB is not set |
360 | # CONFIG_ECONET is not set | 374 | # CONFIG_ECONET is not set |
361 | # CONFIG_WAN_ROUTER is not set | 375 | # CONFIG_WAN_ROUTER is not set |
376 | # CONFIG_PHONET is not set | ||
362 | # CONFIG_NET_SCHED is not set | 377 | # CONFIG_NET_SCHED is not set |
363 | # CONFIG_DCB is not set | 378 | # CONFIG_DCB is not set |
364 | 379 | ||
@@ -371,7 +386,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
371 | # CONFIG_IRDA is not set | 386 | # CONFIG_IRDA is not set |
372 | # CONFIG_BT is not set | 387 | # CONFIG_BT is not set |
373 | # CONFIG_AF_RXRPC is not set | 388 | # CONFIG_AF_RXRPC is not set |
374 | # CONFIG_PHONET is not set | ||
375 | CONFIG_WIRELESS=y | 389 | CONFIG_WIRELESS=y |
376 | # CONFIG_CFG80211 is not set | 390 | # CONFIG_CFG80211 is not set |
377 | CONFIG_WIRELESS_OLD_REGULATORY=y | 391 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -485,7 +499,6 @@ CONFIG_MTD_NAND_FSL_ELBC=y | |||
485 | # LPDDR flash memory drivers | 499 | # LPDDR flash memory drivers |
486 | # | 500 | # |
487 | # CONFIG_MTD_LPDDR is not set | 501 | # CONFIG_MTD_LPDDR is not set |
488 | # CONFIG_MTD_QINFO_PROBE is not set | ||
489 | 502 | ||
490 | # | 503 | # |
491 | # UBI - Unsorted block images | 504 | # UBI - Unsorted block images |
@@ -516,13 +529,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
516 | # CONFIG_BLK_DEV_HD is not set | 529 | # CONFIG_BLK_DEV_HD is not set |
517 | CONFIG_MISC_DEVICES=y | 530 | CONFIG_MISC_DEVICES=y |
518 | # CONFIG_PHANTOM is not set | 531 | # CONFIG_PHANTOM is not set |
519 | # CONFIG_EEPROM_93CX6 is not set | ||
520 | # CONFIG_SGI_IOC4 is not set | 532 | # CONFIG_SGI_IOC4 is not set |
521 | # CONFIG_TIFM_CORE is not set | 533 | # CONFIG_TIFM_CORE is not set |
522 | # CONFIG_ICS932S401 is not set | 534 | # CONFIG_ICS932S401 is not set |
523 | # CONFIG_ENCLOSURE_SERVICES is not set | 535 | # CONFIG_ENCLOSURE_SERVICES is not set |
524 | # CONFIG_HP_ILO is not set | 536 | # CONFIG_HP_ILO is not set |
537 | # CONFIG_ISL29003 is not set | ||
525 | # CONFIG_C2PORT is not set | 538 | # CONFIG_C2PORT is not set |
539 | |||
540 | # | ||
541 | # EEPROM support | ||
542 | # | ||
543 | # CONFIG_EEPROM_AT24 is not set | ||
544 | # CONFIG_EEPROM_LEGACY is not set | ||
545 | # CONFIG_EEPROM_93CX6 is not set | ||
526 | CONFIG_HAVE_IDE=y | 546 | CONFIG_HAVE_IDE=y |
527 | # CONFIG_IDE is not set | 547 | # CONFIG_IDE is not set |
528 | 548 | ||
@@ -580,9 +600,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
580 | # CONFIG_MEGARAID_NEWGEN is not set | 600 | # CONFIG_MEGARAID_NEWGEN is not set |
581 | # CONFIG_MEGARAID_LEGACY is not set | 601 | # CONFIG_MEGARAID_LEGACY is not set |
582 | # CONFIG_MEGARAID_SAS is not set | 602 | # CONFIG_MEGARAID_SAS is not set |
603 | # CONFIG_SCSI_MPT2SAS is not set | ||
583 | # CONFIG_SCSI_HPTIOP is not set | 604 | # CONFIG_SCSI_HPTIOP is not set |
584 | # CONFIG_SCSI_BUSLOGIC is not set | 605 | # CONFIG_SCSI_BUSLOGIC is not set |
585 | # CONFIG_LIBFC is not set | 606 | # CONFIG_LIBFC is not set |
607 | # CONFIG_LIBFCOE is not set | ||
586 | # CONFIG_FCOE is not set | 608 | # CONFIG_FCOE is not set |
587 | # CONFIG_SCSI_DMX3191D is not set | 609 | # CONFIG_SCSI_DMX3191D is not set |
588 | # CONFIG_SCSI_EATA is not set | 610 | # CONFIG_SCSI_EATA is not set |
@@ -605,6 +627,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
605 | # CONFIG_SCSI_DEBUG is not set | 627 | # CONFIG_SCSI_DEBUG is not set |
606 | # CONFIG_SCSI_SRP is not set | 628 | # CONFIG_SCSI_SRP is not set |
607 | # CONFIG_SCSI_DH is not set | 629 | # CONFIG_SCSI_DH is not set |
630 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
608 | CONFIG_ATA=y | 631 | CONFIG_ATA=y |
609 | # CONFIG_ATA_NONSTANDARD is not set | 632 | # CONFIG_ATA_NONSTANDARD is not set |
610 | CONFIG_SATA_PMP=y | 633 | CONFIG_SATA_PMP=y |
@@ -681,6 +704,7 @@ CONFIG_ATA_SFF=y | |||
681 | # CONFIG_I2O is not set | 704 | # CONFIG_I2O is not set |
682 | # CONFIG_MACINTOSH_DRIVERS is not set | 705 | # CONFIG_MACINTOSH_DRIVERS is not set |
683 | CONFIG_NETDEVICES=y | 706 | CONFIG_NETDEVICES=y |
707 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
684 | # CONFIG_DUMMY is not set | 708 | # CONFIG_DUMMY is not set |
685 | # CONFIG_BONDING is not set | 709 | # CONFIG_BONDING is not set |
686 | # CONFIG_MACVLAN is not set | 710 | # CONFIG_MACVLAN is not set |
@@ -714,6 +738,8 @@ CONFIG_MII=y | |||
714 | # CONFIG_SUNGEM is not set | 738 | # CONFIG_SUNGEM is not set |
715 | # CONFIG_CASSINI is not set | 739 | # CONFIG_CASSINI is not set |
716 | # CONFIG_NET_VENDOR_3COM is not set | 740 | # CONFIG_NET_VENDOR_3COM is not set |
741 | # CONFIG_ETHOC is not set | ||
742 | # CONFIG_DNET is not set | ||
717 | # CONFIG_NET_TULIP is not set | 743 | # CONFIG_NET_TULIP is not set |
718 | # CONFIG_HP100 is not set | 744 | # CONFIG_HP100 is not set |
719 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 745 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -733,6 +759,7 @@ CONFIG_NETDEV_1000=y | |||
733 | # CONFIG_E1000E is not set | 759 | # CONFIG_E1000E is not set |
734 | # CONFIG_IP1000 is not set | 760 | # CONFIG_IP1000 is not set |
735 | # CONFIG_IGB is not set | 761 | # CONFIG_IGB is not set |
762 | # CONFIG_IGBVF is not set | ||
736 | # CONFIG_NS83820 is not set | 763 | # CONFIG_NS83820 is not set |
737 | # CONFIG_HAMACHI is not set | 764 | # CONFIG_HAMACHI is not set |
738 | # CONFIG_YELLOWFIN is not set | 765 | # CONFIG_YELLOWFIN is not set |
@@ -743,14 +770,15 @@ CONFIG_NETDEV_1000=y | |||
743 | # CONFIG_VIA_VELOCITY is not set | 770 | # CONFIG_VIA_VELOCITY is not set |
744 | # CONFIG_TIGON3 is not set | 771 | # CONFIG_TIGON3 is not set |
745 | # CONFIG_BNX2 is not set | 772 | # CONFIG_BNX2 is not set |
773 | CONFIG_FSL_PQ_MDIO=y | ||
746 | CONFIG_GIANFAR=y | 774 | CONFIG_GIANFAR=y |
747 | CONFIG_UCC_GETH=y | 775 | CONFIG_UCC_GETH=y |
748 | # CONFIG_UGETH_MAGIC_PACKET is not set | 776 | # CONFIG_UGETH_MAGIC_PACKET is not set |
749 | # CONFIG_UGETH_TX_ON_DEMAND is not set | 777 | # CONFIG_UGETH_TX_ON_DEMAND is not set |
750 | # CONFIG_MV643XX_ETH is not set | ||
751 | # CONFIG_QLA3XXX is not set | 778 | # CONFIG_QLA3XXX is not set |
752 | # CONFIG_ATL1 is not set | 779 | # CONFIG_ATL1 is not set |
753 | # CONFIG_ATL1E is not set | 780 | # CONFIG_ATL1E is not set |
781 | # CONFIG_ATL1C is not set | ||
754 | # CONFIG_JME is not set | 782 | # CONFIG_JME is not set |
755 | CONFIG_NETDEV_10000=y | 783 | CONFIG_NETDEV_10000=y |
756 | # CONFIG_CHELSIO_T1 is not set | 784 | # CONFIG_CHELSIO_T1 is not set |
@@ -760,6 +788,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
760 | # CONFIG_IXGBE is not set | 788 | # CONFIG_IXGBE is not set |
761 | # CONFIG_IXGB is not set | 789 | # CONFIG_IXGB is not set |
762 | # CONFIG_S2IO is not set | 790 | # CONFIG_S2IO is not set |
791 | # CONFIG_VXGE is not set | ||
763 | # CONFIG_MYRI10GE is not set | 792 | # CONFIG_MYRI10GE is not set |
764 | # CONFIG_NETXEN_NIC is not set | 793 | # CONFIG_NETXEN_NIC is not set |
765 | # CONFIG_NIU is not set | 794 | # CONFIG_NIU is not set |
@@ -769,6 +798,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
769 | # CONFIG_BNX2X is not set | 798 | # CONFIG_BNX2X is not set |
770 | # CONFIG_QLGE is not set | 799 | # CONFIG_QLGE is not set |
771 | # CONFIG_SFC is not set | 800 | # CONFIG_SFC is not set |
801 | # CONFIG_BE2NET is not set | ||
772 | # CONFIG_TR is not set | 802 | # CONFIG_TR is not set |
773 | 803 | ||
774 | # | 804 | # |
@@ -776,7 +806,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
776 | # | 806 | # |
777 | # CONFIG_WLAN_PRE80211 is not set | 807 | # CONFIG_WLAN_PRE80211 is not set |
778 | # CONFIG_WLAN_80211 is not set | 808 | # CONFIG_WLAN_80211 is not set |
779 | # CONFIG_IWLWIFI_LEDS is not set | ||
780 | 809 | ||
781 | # | 810 | # |
782 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 811 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -867,6 +896,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
867 | # CONFIG_HVC_UDBG is not set | 896 | # CONFIG_HVC_UDBG is not set |
868 | # CONFIG_IPMI_HANDLER is not set | 897 | # CONFIG_IPMI_HANDLER is not set |
869 | CONFIG_HW_RANDOM=y | 898 | CONFIG_HW_RANDOM=y |
899 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
870 | # CONFIG_NVRAM is not set | 900 | # CONFIG_NVRAM is not set |
871 | CONFIG_GEN_RTC=y | 901 | CONFIG_GEN_RTC=y |
872 | # CONFIG_GEN_RTC_X is not set | 902 | # CONFIG_GEN_RTC_X is not set |
@@ -932,12 +962,9 @@ CONFIG_I2C_MPC=y | |||
932 | # Miscellaneous I2C Chip support | 962 | # Miscellaneous I2C Chip support |
933 | # | 963 | # |
934 | # CONFIG_DS1682 is not set | 964 | # CONFIG_DS1682 is not set |
935 | # CONFIG_EEPROM_AT24 is not set | ||
936 | # CONFIG_EEPROM_LEGACY is not set | ||
937 | # CONFIG_SENSORS_PCF8574 is not set | 965 | # CONFIG_SENSORS_PCF8574 is not set |
938 | # CONFIG_PCF8575 is not set | 966 | # CONFIG_PCF8575 is not set |
939 | # CONFIG_SENSORS_PCA9539 is not set | 967 | # CONFIG_SENSORS_PCA9539 is not set |
940 | # CONFIG_SENSORS_PCF8591 is not set | ||
941 | # CONFIG_SENSORS_MAX6875 is not set | 968 | # CONFIG_SENSORS_MAX6875 is not set |
942 | # CONFIG_SENSORS_TSL2550 is not set | 969 | # CONFIG_SENSORS_TSL2550 is not set |
943 | # CONFIG_I2C_DEBUG_CORE is not set | 970 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -992,6 +1019,7 @@ CONFIG_HWMON=y | |||
992 | # CONFIG_SENSORS_F71805F is not set | 1019 | # CONFIG_SENSORS_F71805F is not set |
993 | # CONFIG_SENSORS_F71882FG is not set | 1020 | # CONFIG_SENSORS_F71882FG is not set |
994 | # CONFIG_SENSORS_F75375S is not set | 1021 | # CONFIG_SENSORS_F75375S is not set |
1022 | # CONFIG_SENSORS_G760A is not set | ||
995 | # CONFIG_SENSORS_GL518SM is not set | 1023 | # CONFIG_SENSORS_GL518SM is not set |
996 | # CONFIG_SENSORS_GL520SM is not set | 1024 | # CONFIG_SENSORS_GL520SM is not set |
997 | # CONFIG_SENSORS_IT87 is not set | 1025 | # CONFIG_SENSORS_IT87 is not set |
@@ -1006,11 +1034,15 @@ CONFIG_HWMON=y | |||
1006 | # CONFIG_SENSORS_LM90 is not set | 1034 | # CONFIG_SENSORS_LM90 is not set |
1007 | # CONFIG_SENSORS_LM92 is not set | 1035 | # CONFIG_SENSORS_LM92 is not set |
1008 | # CONFIG_SENSORS_LM93 is not set | 1036 | # CONFIG_SENSORS_LM93 is not set |
1037 | # CONFIG_SENSORS_LTC4215 is not set | ||
1009 | # CONFIG_SENSORS_LTC4245 is not set | 1038 | # CONFIG_SENSORS_LTC4245 is not set |
1039 | # CONFIG_SENSORS_LM95241 is not set | ||
1010 | # CONFIG_SENSORS_MAX1619 is not set | 1040 | # CONFIG_SENSORS_MAX1619 is not set |
1011 | # CONFIG_SENSORS_MAX6650 is not set | 1041 | # CONFIG_SENSORS_MAX6650 is not set |
1012 | # CONFIG_SENSORS_PC87360 is not set | 1042 | # CONFIG_SENSORS_PC87360 is not set |
1013 | # CONFIG_SENSORS_PC87427 is not set | 1043 | # CONFIG_SENSORS_PC87427 is not set |
1044 | # CONFIG_SENSORS_PCF8591 is not set | ||
1045 | # CONFIG_SENSORS_SHT15 is not set | ||
1014 | # CONFIG_SENSORS_SIS5595 is not set | 1046 | # CONFIG_SENSORS_SIS5595 is not set |
1015 | # CONFIG_SENSORS_DME1737 is not set | 1047 | # CONFIG_SENSORS_DME1737 is not set |
1016 | # CONFIG_SENSORS_SMSC47M1 is not set | 1048 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1121,15 +1153,17 @@ CONFIG_USB_HID=y | |||
1121 | # | 1153 | # |
1122 | # Special HID drivers | 1154 | # Special HID drivers |
1123 | # | 1155 | # |
1124 | CONFIG_HID_COMPAT=y | ||
1125 | CONFIG_HID_A4TECH=y | 1156 | CONFIG_HID_A4TECH=y |
1126 | CONFIG_HID_APPLE=y | 1157 | CONFIG_HID_APPLE=y |
1127 | CONFIG_HID_BELKIN=y | 1158 | CONFIG_HID_BELKIN=y |
1128 | CONFIG_HID_CHERRY=y | 1159 | CONFIG_HID_CHERRY=y |
1129 | CONFIG_HID_CHICONY=y | 1160 | CONFIG_HID_CHICONY=y |
1130 | CONFIG_HID_CYPRESS=y | 1161 | CONFIG_HID_CYPRESS=y |
1162 | # CONFIG_DRAGONRISE_FF is not set | ||
1131 | CONFIG_HID_EZKEY=y | 1163 | CONFIG_HID_EZKEY=y |
1164 | # CONFIG_HID_KYE is not set | ||
1132 | CONFIG_HID_GYRATION=y | 1165 | CONFIG_HID_GYRATION=y |
1166 | # CONFIG_HID_KENSINGTON is not set | ||
1133 | CONFIG_HID_LOGITECH=y | 1167 | CONFIG_HID_LOGITECH=y |
1134 | # CONFIG_LOGITECH_FF is not set | 1168 | # CONFIG_LOGITECH_FF is not set |
1135 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1169 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1181,6 +1215,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1181 | # CONFIG_USB_ISP1760_HCD is not set | 1215 | # CONFIG_USB_ISP1760_HCD is not set |
1182 | # CONFIG_USB_OHCI_HCD is not set | 1216 | # CONFIG_USB_OHCI_HCD is not set |
1183 | # CONFIG_USB_UHCI_HCD is not set | 1217 | # CONFIG_USB_UHCI_HCD is not set |
1218 | # CONFIG_USB_FHCI_HCD is not set | ||
1184 | # CONFIG_USB_SL811_HCD is not set | 1219 | # CONFIG_USB_SL811_HCD is not set |
1185 | # CONFIG_USB_R8A66597_HCD is not set | 1220 | # CONFIG_USB_R8A66597_HCD is not set |
1186 | # CONFIG_USB_WHCI_HCD is not set | 1221 | # CONFIG_USB_WHCI_HCD is not set |
@@ -1195,11 +1230,11 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1195 | # CONFIG_USB_TMC is not set | 1230 | # CONFIG_USB_TMC is not set |
1196 | 1231 | ||
1197 | # | 1232 | # |
1198 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1233 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1199 | # | 1234 | # |
1200 | 1235 | ||
1201 | # | 1236 | # |
1202 | # see USB_STORAGE Help for more information | 1237 | # also be needed; see USB_STORAGE Help for more info |
1203 | # | 1238 | # |
1204 | # CONFIG_USB_STORAGE is not set | 1239 | # CONFIG_USB_STORAGE is not set |
1205 | # CONFIG_USB_LIBUSUAL is not set | 1240 | # CONFIG_USB_LIBUSUAL is not set |
@@ -1229,7 +1264,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1229 | # CONFIG_USB_LED is not set | 1264 | # CONFIG_USB_LED is not set |
1230 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1265 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1231 | # CONFIG_USB_CYTHERM is not set | 1266 | # CONFIG_USB_CYTHERM is not set |
1232 | # CONFIG_USB_PHIDGET is not set | ||
1233 | # CONFIG_USB_IDMOUSE is not set | 1267 | # CONFIG_USB_IDMOUSE is not set |
1234 | # CONFIG_USB_FTDI_ELAN is not set | 1268 | # CONFIG_USB_FTDI_ELAN is not set |
1235 | # CONFIG_USB_APPLEDISPLAY is not set | 1269 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1245,6 +1279,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1245 | # OTG and related infrastructure | 1279 | # OTG and related infrastructure |
1246 | # | 1280 | # |
1247 | # CONFIG_USB_GPIO_VBUS is not set | 1281 | # CONFIG_USB_GPIO_VBUS is not set |
1282 | # CONFIG_NOP_USB_XCEIV is not set | ||
1248 | # CONFIG_UWB is not set | 1283 | # CONFIG_UWB is not set |
1249 | # CONFIG_MMC is not set | 1284 | # CONFIG_MMC is not set |
1250 | # CONFIG_MEMSTICK is not set | 1285 | # CONFIG_MEMSTICK is not set |
@@ -1254,6 +1289,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1254 | # CONFIG_EDAC is not set | 1289 | # CONFIG_EDAC is not set |
1255 | # CONFIG_RTC_CLASS is not set | 1290 | # CONFIG_RTC_CLASS is not set |
1256 | # CONFIG_DMADEVICES is not set | 1291 | # CONFIG_DMADEVICES is not set |
1292 | # CONFIG_AUXDISPLAY is not set | ||
1257 | # CONFIG_UIO is not set | 1293 | # CONFIG_UIO is not set |
1258 | # CONFIG_STAGING is not set | 1294 | # CONFIG_STAGING is not set |
1259 | 1295 | ||
@@ -1264,6 +1300,7 @@ CONFIG_EXT2_FS=y | |||
1264 | # CONFIG_EXT2_FS_XATTR is not set | 1300 | # CONFIG_EXT2_FS_XATTR is not set |
1265 | # CONFIG_EXT2_FS_XIP is not set | 1301 | # CONFIG_EXT2_FS_XIP is not set |
1266 | CONFIG_EXT3_FS=y | 1302 | CONFIG_EXT3_FS=y |
1303 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1267 | CONFIG_EXT3_FS_XATTR=y | 1304 | CONFIG_EXT3_FS_XATTR=y |
1268 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1305 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1269 | # CONFIG_EXT3_FS_SECURITY is not set | 1306 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1286,6 +1323,11 @@ CONFIG_INOTIFY_USER=y | |||
1286 | # CONFIG_FUSE_FS is not set | 1323 | # CONFIG_FUSE_FS is not set |
1287 | 1324 | ||
1288 | # | 1325 | # |
1326 | # Caches | ||
1327 | # | ||
1328 | # CONFIG_FSCACHE is not set | ||
1329 | |||
1330 | # | ||
1289 | # CD-ROM/DVD Filesystems | 1331 | # CD-ROM/DVD Filesystems |
1290 | # | 1332 | # |
1291 | # CONFIG_ISO9660_FS is not set | 1333 | # CONFIG_ISO9660_FS is not set |
@@ -1329,6 +1371,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1329 | # CONFIG_ROMFS_FS is not set | 1371 | # CONFIG_ROMFS_FS is not set |
1330 | # CONFIG_SYSV_FS is not set | 1372 | # CONFIG_SYSV_FS is not set |
1331 | # CONFIG_UFS_FS is not set | 1373 | # CONFIG_UFS_FS is not set |
1374 | # CONFIG_NILFS2_FS is not set | ||
1332 | CONFIG_NETWORK_FILESYSTEMS=y | 1375 | CONFIG_NETWORK_FILESYSTEMS=y |
1333 | CONFIG_NFS_FS=y | 1376 | CONFIG_NFS_FS=y |
1334 | CONFIG_NFS_V3=y | 1377 | CONFIG_NFS_V3=y |
@@ -1341,7 +1384,6 @@ CONFIG_LOCKD_V4=y | |||
1341 | CONFIG_NFS_COMMON=y | 1384 | CONFIG_NFS_COMMON=y |
1342 | CONFIG_SUNRPC=y | 1385 | CONFIG_SUNRPC=y |
1343 | CONFIG_SUNRPC_GSS=y | 1386 | CONFIG_SUNRPC_GSS=y |
1344 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1345 | CONFIG_RPCSEC_GSS_KRB5=y | 1387 | CONFIG_RPCSEC_GSS_KRB5=y |
1346 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1388 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1347 | # CONFIG_SMB_FS is not set | 1389 | # CONFIG_SMB_FS is not set |
@@ -1375,6 +1417,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1375 | # CONFIG_DLM is not set | 1417 | # CONFIG_DLM is not set |
1376 | CONFIG_UCC_FAST=y | 1418 | CONFIG_UCC_FAST=y |
1377 | CONFIG_UCC=y | 1419 | CONFIG_UCC=y |
1420 | # CONFIG_BINARY_PRINTF is not set | ||
1378 | 1421 | ||
1379 | # | 1422 | # |
1380 | # Library routines | 1423 | # Library routines |
@@ -1388,11 +1431,13 @@ CONFIG_CRC_T10DIF=y | |||
1388 | CONFIG_CRC32=y | 1431 | CONFIG_CRC32=y |
1389 | # CONFIG_CRC7 is not set | 1432 | # CONFIG_CRC7 is not set |
1390 | # CONFIG_LIBCRC32C is not set | 1433 | # CONFIG_LIBCRC32C is not set |
1391 | CONFIG_PLIST=y | 1434 | CONFIG_ZLIB_INFLATE=y |
1435 | CONFIG_DECOMPRESS_GZIP=y | ||
1392 | CONFIG_HAS_IOMEM=y | 1436 | CONFIG_HAS_IOMEM=y |
1393 | CONFIG_HAS_IOPORT=y | 1437 | CONFIG_HAS_IOPORT=y |
1394 | CONFIG_HAS_DMA=y | 1438 | CONFIG_HAS_DMA=y |
1395 | CONFIG_HAVE_LMB=y | 1439 | CONFIG_HAVE_LMB=y |
1440 | CONFIG_NLATTR=y | ||
1396 | 1441 | ||
1397 | # | 1442 | # |
1398 | # Kernel hacking | 1443 | # Kernel hacking |
@@ -1412,13 +1457,24 @@ CONFIG_FRAME_WARN=1024 | |||
1412 | # CONFIG_LATENCYTOP is not set | 1457 | # CONFIG_LATENCYTOP is not set |
1413 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1458 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1414 | CONFIG_HAVE_FUNCTION_TRACER=y | 1459 | CONFIG_HAVE_FUNCTION_TRACER=y |
1460 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1415 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1461 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1416 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1462 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1463 | CONFIG_TRACING_SUPPORT=y | ||
1417 | 1464 | ||
1418 | # | 1465 | # |
1419 | # Tracers | 1466 | # Tracers |
1420 | # | 1467 | # |
1421 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1468 | # CONFIG_FUNCTION_TRACER is not set |
1469 | # CONFIG_SCHED_TRACER is not set | ||
1470 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1471 | # CONFIG_EVENT_TRACER is not set | ||
1472 | # CONFIG_BOOT_TRACER is not set | ||
1473 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1474 | # CONFIG_STACK_TRACER is not set | ||
1475 | # CONFIG_KMEMTRACE is not set | ||
1476 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1477 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1422 | # CONFIG_SAMPLES is not set | 1478 | # CONFIG_SAMPLES is not set |
1423 | CONFIG_HAVE_ARCH_KGDB=y | 1479 | CONFIG_HAVE_ARCH_KGDB=y |
1424 | CONFIG_PRINT_STACK_DEPTH=64 | 1480 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1448,10 +1504,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1448 | CONFIG_CRYPTO_HASH=y | 1504 | CONFIG_CRYPTO_HASH=y |
1449 | CONFIG_CRYPTO_HASH2=y | 1505 | CONFIG_CRYPTO_HASH2=y |
1450 | CONFIG_CRYPTO_RNG2=y | 1506 | CONFIG_CRYPTO_RNG2=y |
1507 | CONFIG_CRYPTO_PCOMP=y | ||
1451 | CONFIG_CRYPTO_MANAGER=y | 1508 | CONFIG_CRYPTO_MANAGER=y |
1452 | CONFIG_CRYPTO_MANAGER2=y | 1509 | CONFIG_CRYPTO_MANAGER2=y |
1453 | # CONFIG_CRYPTO_GF128MUL is not set | 1510 | # CONFIG_CRYPTO_GF128MUL is not set |
1454 | # CONFIG_CRYPTO_NULL is not set | 1511 | # CONFIG_CRYPTO_NULL is not set |
1512 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1455 | # CONFIG_CRYPTO_CRYPTD is not set | 1513 | # CONFIG_CRYPTO_CRYPTD is not set |
1456 | CONFIG_CRYPTO_AUTHENC=y | 1514 | CONFIG_CRYPTO_AUTHENC=y |
1457 | # CONFIG_CRYPTO_TEST is not set | 1515 | # CONFIG_CRYPTO_TEST is not set |
@@ -1520,6 +1578,7 @@ CONFIG_CRYPTO_DES=y | |||
1520 | # Compression | 1578 | # Compression |
1521 | # | 1579 | # |
1522 | # CONFIG_CRYPTO_DEFLATE is not set | 1580 | # CONFIG_CRYPTO_DEFLATE is not set |
1581 | # CONFIG_CRYPTO_ZLIB is not set | ||
1523 | # CONFIG_CRYPTO_LZO is not set | 1582 | # CONFIG_CRYPTO_LZO is not set |
1524 | 1583 | ||
1525 | # | 1584 | # |
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig index 1793d08e9c01..3add6f62b21e 100644 --- a/arch/powerpc/configs/mpc866_ads_defconfig +++ b/arch/powerpc/configs/mpc866_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:38 2009 | 4 | # Wed May 13 17:22:00 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -51,6 +51,7 @@ CONFIG_AUDIT_ARCH=y | |||
51 | # CONFIG_DEFAULT_UIMAGE is not set | 51 | # CONFIG_DEFAULT_UIMAGE is not set |
52 | # CONFIG_PPC_DCR_NATIVE is not set | 52 | # CONFIG_PPC_DCR_NATIVE is not set |
53 | # CONFIG_PPC_DCR_MMIO is not set | 53 | # CONFIG_PPC_DCR_MMIO is not set |
54 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
54 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 55 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
55 | 56 | ||
56 | # | 57 | # |
@@ -68,6 +69,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
68 | # CONFIG_BSD_PROCESS_ACCT is not set | 69 | # CONFIG_BSD_PROCESS_ACCT is not set |
69 | # CONFIG_TASKSTATS is not set | 70 | # CONFIG_TASKSTATS is not set |
70 | # CONFIG_AUDIT is not set | 71 | # CONFIG_AUDIT is not set |
72 | |||
73 | # | ||
74 | # RCU Subsystem | ||
75 | # | ||
76 | CONFIG_CLASSIC_RCU=y | ||
77 | # CONFIG_TREE_RCU is not set | ||
78 | # CONFIG_PREEMPT_RCU is not set | ||
79 | # CONFIG_TREE_RCU_TRACE is not set | ||
80 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
71 | # CONFIG_IKCONFIG is not set | 81 | # CONFIG_IKCONFIG is not set |
72 | CONFIG_LOG_BUF_SHIFT=14 | 82 | CONFIG_LOG_BUF_SHIFT=14 |
73 | CONFIG_GROUP_SCHED=y | 83 | CONFIG_GROUP_SCHED=y |
@@ -83,18 +93,18 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
83 | # CONFIG_BLK_DEV_INITRD is not set | 93 | # CONFIG_BLK_DEV_INITRD is not set |
84 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 94 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
85 | CONFIG_SYSCTL=y | 95 | CONFIG_SYSCTL=y |
96 | CONFIG_ANON_INODES=y | ||
86 | CONFIG_EMBEDDED=y | 97 | CONFIG_EMBEDDED=y |
87 | # CONFIG_SYSCTL_SYSCALL is not set | 98 | # CONFIG_SYSCTL_SYSCALL is not set |
88 | CONFIG_KALLSYMS=y | 99 | CONFIG_KALLSYMS=y |
89 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 100 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
101 | # CONFIG_STRIP_ASM_SYMS is not set | ||
90 | # CONFIG_HOTPLUG is not set | 102 | # CONFIG_HOTPLUG is not set |
91 | CONFIG_PRINTK=y | 103 | CONFIG_PRINTK=y |
92 | # CONFIG_BUG is not set | 104 | # CONFIG_BUG is not set |
93 | CONFIG_ELF_CORE=y | 105 | CONFIG_ELF_CORE=y |
94 | CONFIG_COMPAT_BRK=y | ||
95 | # CONFIG_BASE_FULL is not set | 106 | # CONFIG_BASE_FULL is not set |
96 | CONFIG_FUTEX=y | 107 | CONFIG_FUTEX=y |
97 | CONFIG_ANON_INODES=y | ||
98 | # CONFIG_EPOLL is not set | 108 | # CONFIG_EPOLL is not set |
99 | CONFIG_SIGNALFD=y | 109 | CONFIG_SIGNALFD=y |
100 | CONFIG_TIMERFD=y | 110 | CONFIG_TIMERFD=y |
@@ -103,10 +113,12 @@ CONFIG_SHMEM=y | |||
103 | CONFIG_AIO=y | 113 | CONFIG_AIO=y |
104 | # CONFIG_VM_EVENT_COUNTERS is not set | 114 | # CONFIG_VM_EVENT_COUNTERS is not set |
105 | CONFIG_SLUB_DEBUG=y | 115 | CONFIG_SLUB_DEBUG=y |
116 | CONFIG_COMPAT_BRK=y | ||
106 | # CONFIG_SLAB is not set | 117 | # CONFIG_SLAB is not set |
107 | CONFIG_SLUB=y | 118 | CONFIG_SLUB=y |
108 | # CONFIG_SLOB is not set | 119 | # CONFIG_SLOB is not set |
109 | # CONFIG_PROFILING is not set | 120 | # CONFIG_PROFILING is not set |
121 | # CONFIG_MARKERS is not set | ||
110 | CONFIG_HAVE_OPROFILE=y | 122 | CONFIG_HAVE_OPROFILE=y |
111 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 123 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
112 | CONFIG_HAVE_IOREMAP_PROT=y | 124 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -114,6 +126,7 @@ CONFIG_HAVE_KPROBES=y | |||
114 | CONFIG_HAVE_KRETPROBES=y | 126 | CONFIG_HAVE_KRETPROBES=y |
115 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 127 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
116 | CONFIG_HAVE_CLK=y | 128 | CONFIG_HAVE_CLK=y |
129 | # CONFIG_SLOW_WORK is not set | ||
117 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 130 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
118 | CONFIG_SLABINFO=y | 131 | CONFIG_SLABINFO=y |
119 | CONFIG_RT_MUTEXES=y | 132 | CONFIG_RT_MUTEXES=y |
@@ -121,7 +134,6 @@ CONFIG_BASE_SMALL=1 | |||
121 | # CONFIG_MODULES is not set | 134 | # CONFIG_MODULES is not set |
122 | CONFIG_BLOCK=y | 135 | CONFIG_BLOCK=y |
123 | # CONFIG_LBD is not set | 136 | # CONFIG_LBD is not set |
124 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
125 | # CONFIG_BLK_DEV_BSG is not set | 137 | # CONFIG_BLK_DEV_BSG is not set |
126 | # CONFIG_BLK_DEV_INTEGRITY is not set | 138 | # CONFIG_BLK_DEV_INTEGRITY is not set |
127 | 139 | ||
@@ -137,11 +149,6 @@ CONFIG_DEFAULT_AS=y | |||
137 | # CONFIG_DEFAULT_CFQ is not set | 149 | # CONFIG_DEFAULT_CFQ is not set |
138 | # CONFIG_DEFAULT_NOOP is not set | 150 | # CONFIG_DEFAULT_NOOP is not set |
139 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 151 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
140 | CONFIG_CLASSIC_RCU=y | ||
141 | # CONFIG_TREE_RCU is not set | ||
142 | # CONFIG_PREEMPT_RCU is not set | ||
143 | # CONFIG_TREE_RCU_TRACE is not set | ||
144 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
145 | # CONFIG_FREEZER is not set | 152 | # CONFIG_FREEZER is not set |
146 | 153 | ||
147 | # | 154 | # |
@@ -232,9 +239,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
232 | CONFIG_BOUNCE=y | 239 | CONFIG_BOUNCE=y |
233 | CONFIG_VIRT_TO_BUS=y | 240 | CONFIG_VIRT_TO_BUS=y |
234 | CONFIG_UNEVICTABLE_LRU=y | 241 | CONFIG_UNEVICTABLE_LRU=y |
242 | CONFIG_HAVE_MLOCK=y | ||
243 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
235 | CONFIG_PPC_4K_PAGES=y | 244 | CONFIG_PPC_4K_PAGES=y |
236 | # CONFIG_PPC_16K_PAGES is not set | 245 | # CONFIG_PPC_16K_PAGES is not set |
237 | # CONFIG_PPC_64K_PAGES is not set | 246 | # CONFIG_PPC_64K_PAGES is not set |
247 | # CONFIG_PPC_256K_PAGES is not set | ||
238 | CONFIG_FORCE_MAX_ZONEORDER=11 | 248 | CONFIG_FORCE_MAX_ZONEORDER=11 |
239 | # CONFIG_PROC_DEVICETREE is not set | 249 | # CONFIG_PROC_DEVICETREE is not set |
240 | # CONFIG_CMDLINE_BOOL is not set | 250 | # CONFIG_CMDLINE_BOOL is not set |
@@ -268,14 +278,11 @@ CONFIG_PAGE_OFFSET=0xc0000000 | |||
268 | CONFIG_KERNEL_START=0xc0000000 | 278 | CONFIG_KERNEL_START=0xc0000000 |
269 | CONFIG_PHYSICAL_START=0x00000000 | 279 | CONFIG_PHYSICAL_START=0x00000000 |
270 | CONFIG_TASK_SIZE=0x80000000 | 280 | CONFIG_TASK_SIZE=0x80000000 |
271 | CONFIG_CONSISTENT_START=0xfd000000 | ||
272 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
273 | CONFIG_NET=y | 281 | CONFIG_NET=y |
274 | 282 | ||
275 | # | 283 | # |
276 | # Networking options | 284 | # Networking options |
277 | # | 285 | # |
278 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
279 | CONFIG_PACKET=y | 286 | CONFIG_PACKET=y |
280 | # CONFIG_PACKET_MMAP is not set | 287 | # CONFIG_PACKET_MMAP is not set |
281 | CONFIG_UNIX=y | 288 | CONFIG_UNIX=y |
@@ -331,6 +338,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
331 | # CONFIG_LAPB is not set | 338 | # CONFIG_LAPB is not set |
332 | # CONFIG_ECONET is not set | 339 | # CONFIG_ECONET is not set |
333 | # CONFIG_WAN_ROUTER is not set | 340 | # CONFIG_WAN_ROUTER is not set |
341 | # CONFIG_PHONET is not set | ||
334 | # CONFIG_NET_SCHED is not set | 342 | # CONFIG_NET_SCHED is not set |
335 | # CONFIG_DCB is not set | 343 | # CONFIG_DCB is not set |
336 | 344 | ||
@@ -343,7 +351,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
343 | # CONFIG_IRDA is not set | 351 | # CONFIG_IRDA is not set |
344 | # CONFIG_BT is not set | 352 | # CONFIG_BT is not set |
345 | # CONFIG_AF_RXRPC is not set | 353 | # CONFIG_AF_RXRPC is not set |
346 | # CONFIG_PHONET is not set | ||
347 | CONFIG_WIRELESS=y | 354 | CONFIG_WIRELESS=y |
348 | # CONFIG_CFG80211 is not set | 355 | # CONFIG_CFG80211 is not set |
349 | CONFIG_WIRELESS_OLD_REGULATORY=y | 356 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -379,9 +386,13 @@ CONFIG_BLK_DEV_LOOP=y | |||
379 | # CONFIG_ATA_OVER_ETH is not set | 386 | # CONFIG_ATA_OVER_ETH is not set |
380 | # CONFIG_BLK_DEV_HD is not set | 387 | # CONFIG_BLK_DEV_HD is not set |
381 | CONFIG_MISC_DEVICES=y | 388 | CONFIG_MISC_DEVICES=y |
382 | # CONFIG_EEPROM_93CX6 is not set | ||
383 | # CONFIG_ENCLOSURE_SERVICES is not set | 389 | # CONFIG_ENCLOSURE_SERVICES is not set |
384 | # CONFIG_C2PORT is not set | 390 | # CONFIG_C2PORT is not set |
391 | |||
392 | # | ||
393 | # EEPROM support | ||
394 | # | ||
395 | # CONFIG_EEPROM_93CX6 is not set | ||
385 | CONFIG_HAVE_IDE=y | 396 | CONFIG_HAVE_IDE=y |
386 | # CONFIG_IDE is not set | 397 | # CONFIG_IDE is not set |
387 | 398 | ||
@@ -396,6 +407,7 @@ CONFIG_HAVE_IDE=y | |||
396 | # CONFIG_MD is not set | 407 | # CONFIG_MD is not set |
397 | # CONFIG_MACINTOSH_DRIVERS is not set | 408 | # CONFIG_MACINTOSH_DRIVERS is not set |
398 | CONFIG_NETDEVICES=y | 409 | CONFIG_NETDEVICES=y |
410 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
399 | # CONFIG_DUMMY is not set | 411 | # CONFIG_DUMMY is not set |
400 | # CONFIG_BONDING is not set | 412 | # CONFIG_BONDING is not set |
401 | # CONFIG_MACVLAN is not set | 413 | # CONFIG_MACVLAN is not set |
@@ -424,6 +436,8 @@ CONFIG_FIXED_PHY=y | |||
424 | # CONFIG_MDIO_BITBANG is not set | 436 | # CONFIG_MDIO_BITBANG is not set |
425 | CONFIG_NET_ETHERNET=y | 437 | CONFIG_NET_ETHERNET=y |
426 | CONFIG_MII=y | 438 | CONFIG_MII=y |
439 | # CONFIG_ETHOC is not set | ||
440 | # CONFIG_DNET is not set | ||
427 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 441 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
428 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 442 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
429 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 443 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -437,6 +451,7 @@ CONFIG_FS_ENET_HAS_SCC=y | |||
437 | CONFIG_FS_ENET_HAS_FEC=y | 451 | CONFIG_FS_ENET_HAS_FEC=y |
438 | CONFIG_FS_ENET_MDIO_FEC=y | 452 | CONFIG_FS_ENET_MDIO_FEC=y |
439 | CONFIG_NETDEV_1000=y | 453 | CONFIG_NETDEV_1000=y |
454 | # CONFIG_FSL_PQ_MDIO is not set | ||
440 | # CONFIG_GIANFAR is not set | 455 | # CONFIG_GIANFAR is not set |
441 | CONFIG_NETDEV_10000=y | 456 | CONFIG_NETDEV_10000=y |
442 | 457 | ||
@@ -445,7 +460,6 @@ CONFIG_NETDEV_10000=y | |||
445 | # | 460 | # |
446 | # CONFIG_WLAN_PRE80211 is not set | 461 | # CONFIG_WLAN_PRE80211 is not set |
447 | # CONFIG_WLAN_80211 is not set | 462 | # CONFIG_WLAN_80211 is not set |
448 | # CONFIG_IWLWIFI_LEDS is not set | ||
449 | 463 | ||
450 | # | 464 | # |
451 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 465 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -492,7 +506,6 @@ CONFIG_MOUSE_PS2=y | |||
492 | CONFIG_MOUSE_PS2_ALPS=y | 506 | CONFIG_MOUSE_PS2_ALPS=y |
493 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | 507 | CONFIG_MOUSE_PS2_LOGIPS2PP=y |
494 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 508 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
495 | CONFIG_MOUSE_PS2_LIFEBOOK=y | ||
496 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 509 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
497 | # CONFIG_MOUSE_PS2_ELANTECH is not set | 510 | # CONFIG_MOUSE_PS2_ELANTECH is not set |
498 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | 511 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set |
@@ -540,6 +553,7 @@ CONFIG_UNIX98_PTYS=y | |||
540 | # CONFIG_HVC_UDBG is not set | 553 | # CONFIG_HVC_UDBG is not set |
541 | # CONFIG_IPMI_HANDLER is not set | 554 | # CONFIG_IPMI_HANDLER is not set |
542 | CONFIG_HW_RANDOM=y | 555 | CONFIG_HW_RANDOM=y |
556 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
543 | # CONFIG_NVRAM is not set | 557 | # CONFIG_NVRAM is not set |
544 | CONFIG_GEN_RTC=y | 558 | CONFIG_GEN_RTC=y |
545 | # CONFIG_GEN_RTC_X is not set | 559 | # CONFIG_GEN_RTC_X is not set |
@@ -622,7 +636,6 @@ CONFIG_HID=y | |||
622 | # | 636 | # |
623 | # Special HID drivers | 637 | # Special HID drivers |
624 | # | 638 | # |
625 | CONFIG_HID_COMPAT=y | ||
626 | CONFIG_USB_SUPPORT=y | 639 | CONFIG_USB_SUPPORT=y |
627 | # CONFIG_USB_ARCH_HAS_HCD is not set | 640 | # CONFIG_USB_ARCH_HAS_HCD is not set |
628 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 641 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
@@ -635,7 +648,7 @@ CONFIG_USB_SUPPORT=y | |||
635 | # | 648 | # |
636 | 649 | ||
637 | # | 650 | # |
638 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 651 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
639 | # | 652 | # |
640 | # CONFIG_USB_GADGET is not set | 653 | # CONFIG_USB_GADGET is not set |
641 | 654 | ||
@@ -649,6 +662,7 @@ CONFIG_USB_SUPPORT=y | |||
649 | # CONFIG_EDAC is not set | 662 | # CONFIG_EDAC is not set |
650 | # CONFIG_RTC_CLASS is not set | 663 | # CONFIG_RTC_CLASS is not set |
651 | # CONFIG_DMADEVICES is not set | 664 | # CONFIG_DMADEVICES is not set |
665 | # CONFIG_AUXDISPLAY is not set | ||
652 | # CONFIG_UIO is not set | 666 | # CONFIG_UIO is not set |
653 | # CONFIG_STAGING is not set | 667 | # CONFIG_STAGING is not set |
654 | 668 | ||
@@ -661,6 +675,7 @@ CONFIG_EXT2_FS_XATTR=y | |||
661 | # CONFIG_EXT2_FS_SECURITY is not set | 675 | # CONFIG_EXT2_FS_SECURITY is not set |
662 | # CONFIG_EXT2_FS_XIP is not set | 676 | # CONFIG_EXT2_FS_XIP is not set |
663 | CONFIG_EXT3_FS=y | 677 | CONFIG_EXT3_FS=y |
678 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
664 | CONFIG_EXT3_FS_XATTR=y | 679 | CONFIG_EXT3_FS_XATTR=y |
665 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 680 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
666 | # CONFIG_EXT3_FS_SECURITY is not set | 681 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -683,6 +698,11 @@ CONFIG_INOTIFY_USER=y | |||
683 | # CONFIG_FUSE_FS is not set | 698 | # CONFIG_FUSE_FS is not set |
684 | 699 | ||
685 | # | 700 | # |
701 | # Caches | ||
702 | # | ||
703 | # CONFIG_FSCACHE is not set | ||
704 | |||
705 | # | ||
686 | # CD-ROM/DVD Filesystems | 706 | # CD-ROM/DVD Filesystems |
687 | # | 707 | # |
688 | # CONFIG_ISO9660_FS is not set | 708 | # CONFIG_ISO9660_FS is not set |
@@ -725,6 +745,7 @@ CONFIG_CRAMFS=y | |||
725 | # CONFIG_ROMFS_FS is not set | 745 | # CONFIG_ROMFS_FS is not set |
726 | # CONFIG_SYSV_FS is not set | 746 | # CONFIG_SYSV_FS is not set |
727 | # CONFIG_UFS_FS is not set | 747 | # CONFIG_UFS_FS is not set |
748 | # CONFIG_NILFS2_FS is not set | ||
728 | CONFIG_NETWORK_FILESYSTEMS=y | 749 | CONFIG_NETWORK_FILESYSTEMS=y |
729 | CONFIG_NFS_FS=y | 750 | CONFIG_NFS_FS=y |
730 | CONFIG_NFS_V3=y | 751 | CONFIG_NFS_V3=y |
@@ -736,7 +757,6 @@ CONFIG_LOCKD=y | |||
736 | CONFIG_LOCKD_V4=y | 757 | CONFIG_LOCKD_V4=y |
737 | CONFIG_NFS_COMMON=y | 758 | CONFIG_NFS_COMMON=y |
738 | CONFIG_SUNRPC=y | 759 | CONFIG_SUNRPC=y |
739 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
740 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 760 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
741 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 761 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
742 | # CONFIG_SMB_FS is not set | 762 | # CONFIG_SMB_FS is not set |
@@ -768,6 +788,7 @@ CONFIG_MSDOS_PARTITION=y | |||
768 | # CONFIG_SYSV68_PARTITION is not set | 788 | # CONFIG_SYSV68_PARTITION is not set |
769 | # CONFIG_NLS is not set | 789 | # CONFIG_NLS is not set |
770 | # CONFIG_DLM is not set | 790 | # CONFIG_DLM is not set |
791 | # CONFIG_BINARY_PRINTF is not set | ||
771 | 792 | ||
772 | # | 793 | # |
773 | # Library routines | 794 | # Library routines |
@@ -782,11 +803,11 @@ CONFIG_CRC32=y | |||
782 | # CONFIG_CRC7 is not set | 803 | # CONFIG_CRC7 is not set |
783 | # CONFIG_LIBCRC32C is not set | 804 | # CONFIG_LIBCRC32C is not set |
784 | CONFIG_ZLIB_INFLATE=y | 805 | CONFIG_ZLIB_INFLATE=y |
785 | CONFIG_PLIST=y | ||
786 | CONFIG_HAS_IOMEM=y | 806 | CONFIG_HAS_IOMEM=y |
787 | CONFIG_HAS_IOPORT=y | 807 | CONFIG_HAS_IOPORT=y |
788 | CONFIG_HAS_DMA=y | 808 | CONFIG_HAS_DMA=y |
789 | CONFIG_HAVE_LMB=y | 809 | CONFIG_HAVE_LMB=y |
810 | CONFIG_NLATTR=y | ||
790 | 811 | ||
791 | # | 812 | # |
792 | # Kernel hacking | 813 | # Kernel hacking |
@@ -806,13 +827,24 @@ CONFIG_FRAME_WARN=1024 | |||
806 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 827 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
807 | # CONFIG_LATENCYTOP is not set | 828 | # CONFIG_LATENCYTOP is not set |
808 | CONFIG_HAVE_FUNCTION_TRACER=y | 829 | CONFIG_HAVE_FUNCTION_TRACER=y |
830 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
809 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 831 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
810 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 832 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
833 | CONFIG_TRACING_SUPPORT=y | ||
811 | 834 | ||
812 | # | 835 | # |
813 | # Tracers | 836 | # Tracers |
814 | # | 837 | # |
815 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 838 | # CONFIG_FUNCTION_TRACER is not set |
839 | # CONFIG_SCHED_TRACER is not set | ||
840 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
841 | # CONFIG_EVENT_TRACER is not set | ||
842 | # CONFIG_BOOT_TRACER is not set | ||
843 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
844 | # CONFIG_STACK_TRACER is not set | ||
845 | # CONFIG_KMEMTRACE is not set | ||
846 | # CONFIG_WORKQUEUE_TRACER is not set | ||
847 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
816 | # CONFIG_SAMPLES is not set | 848 | # CONFIG_SAMPLES is not set |
817 | CONFIG_HAVE_ARCH_KGDB=y | 849 | CONFIG_HAVE_ARCH_KGDB=y |
818 | CONFIG_PRINT_STACK_DEPTH=64 | 850 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -903,6 +935,7 @@ CONFIG_CRYPTO=y | |||
903 | # Compression | 935 | # Compression |
904 | # | 936 | # |
905 | # CONFIG_CRYPTO_DEFLATE is not set | 937 | # CONFIG_CRYPTO_DEFLATE is not set |
938 | # CONFIG_CRYPTO_ZLIB is not set | ||
906 | # CONFIG_CRYPTO_LZO is not set | 939 | # CONFIG_CRYPTO_LZO is not set |
907 | 940 | ||
908 | # | 941 | # |
diff --git a/arch/powerpc/configs/mpc86xx_defconfig b/arch/powerpc/configs/mpc86xx_defconfig index adc756e1f252..5bb1b8eb0b49 100644 --- a/arch/powerpc/configs/mpc86xx_defconfig +++ b/arch/powerpc/configs/mpc86xx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:39 2009 | 4 | # Wed May 13 17:22:00 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_PHYS_64BIT is not set | 19 | # CONFIG_PHYS_64BIT is not set |
19 | CONFIG_ALTIVEC=y | 20 | CONFIG_ALTIVEC=y |
@@ -57,6 +58,7 @@ CONFIG_GENERIC_BUG=y | |||
57 | CONFIG_DEFAULT_UIMAGE=y | 58 | CONFIG_DEFAULT_UIMAGE=y |
58 | # CONFIG_PPC_DCR_NATIVE is not set | 59 | # CONFIG_PPC_DCR_NATIVE is not set |
59 | # CONFIG_PPC_DCR_MMIO is not set | 60 | # CONFIG_PPC_DCR_MMIO is not set |
61 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 62 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
61 | 63 | ||
62 | # | 64 | # |
@@ -71,11 +73,21 @@ CONFIG_SWAP=y | |||
71 | CONFIG_SYSVIPC=y | 73 | CONFIG_SYSVIPC=y |
72 | CONFIG_SYSVIPC_SYSCTL=y | 74 | CONFIG_SYSVIPC_SYSCTL=y |
73 | CONFIG_POSIX_MQUEUE=y | 75 | CONFIG_POSIX_MQUEUE=y |
76 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
74 | CONFIG_BSD_PROCESS_ACCT=y | 77 | CONFIG_BSD_PROCESS_ACCT=y |
75 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 78 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
76 | # CONFIG_TASKSTATS is not set | 79 | # CONFIG_TASKSTATS is not set |
77 | CONFIG_AUDIT=y | 80 | CONFIG_AUDIT=y |
78 | # CONFIG_AUDITSYSCALL is not set | 81 | # CONFIG_AUDITSYSCALL is not set |
82 | |||
83 | # | ||
84 | # RCU Subsystem | ||
85 | # | ||
86 | CONFIG_CLASSIC_RCU=y | ||
87 | # CONFIG_TREE_RCU is not set | ||
88 | # CONFIG_PREEMPT_RCU is not set | ||
89 | # CONFIG_TREE_RCU_TRACE is not set | ||
90 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
79 | CONFIG_IKCONFIG=y | 91 | CONFIG_IKCONFIG=y |
80 | CONFIG_IKCONFIG_PROC=y | 92 | CONFIG_IKCONFIG_PROC=y |
81 | CONFIG_LOG_BUF_SHIFT=14 | 93 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -91,22 +103,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
91 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
92 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
93 | CONFIG_INITRAMFS_SOURCE="" | 105 | CONFIG_INITRAMFS_SOURCE="" |
106 | CONFIG_RD_GZIP=y | ||
107 | # CONFIG_RD_BZIP2 is not set | ||
108 | # CONFIG_RD_LZMA is not set | ||
94 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
95 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
111 | CONFIG_ANON_INODES=y | ||
96 | CONFIG_EMBEDDED=y | 112 | CONFIG_EMBEDDED=y |
97 | CONFIG_SYSCTL_SYSCALL=y | 113 | CONFIG_SYSCTL_SYSCALL=y |
98 | CONFIG_KALLSYMS=y | 114 | CONFIG_KALLSYMS=y |
99 | CONFIG_KALLSYMS_ALL=y | 115 | CONFIG_KALLSYMS_ALL=y |
100 | CONFIG_KALLSYMS_STRIP_GENERATED=y | ||
101 | CONFIG_KALLSYMS_EXTRA_PASS=y | 116 | CONFIG_KALLSYMS_EXTRA_PASS=y |
117 | # CONFIG_STRIP_ASM_SYMS is not set | ||
102 | CONFIG_HOTPLUG=y | 118 | CONFIG_HOTPLUG=y |
103 | CONFIG_PRINTK=y | 119 | CONFIG_PRINTK=y |
104 | CONFIG_BUG=y | 120 | CONFIG_BUG=y |
105 | CONFIG_ELF_CORE=y | 121 | CONFIG_ELF_CORE=y |
106 | CONFIG_COMPAT_BRK=y | ||
107 | CONFIG_BASE_FULL=y | 122 | CONFIG_BASE_FULL=y |
108 | CONFIG_FUTEX=y | 123 | CONFIG_FUTEX=y |
109 | CONFIG_ANON_INODES=y | ||
110 | CONFIG_EPOLL=y | 124 | CONFIG_EPOLL=y |
111 | CONFIG_SIGNALFD=y | 125 | CONFIG_SIGNALFD=y |
112 | CONFIG_TIMERFD=y | 126 | CONFIG_TIMERFD=y |
@@ -116,10 +130,12 @@ CONFIG_AIO=y | |||
116 | CONFIG_VM_EVENT_COUNTERS=y | 130 | CONFIG_VM_EVENT_COUNTERS=y |
117 | CONFIG_PCI_QUIRKS=y | 131 | CONFIG_PCI_QUIRKS=y |
118 | CONFIG_SLUB_DEBUG=y | 132 | CONFIG_SLUB_DEBUG=y |
133 | CONFIG_COMPAT_BRK=y | ||
119 | # CONFIG_SLAB is not set | 134 | # CONFIG_SLAB is not set |
120 | CONFIG_SLUB=y | 135 | CONFIG_SLUB=y |
121 | # CONFIG_SLOB is not set | 136 | # CONFIG_SLOB is not set |
122 | # CONFIG_PROFILING is not set | 137 | # CONFIG_PROFILING is not set |
138 | # CONFIG_MARKERS is not set | ||
123 | CONFIG_HAVE_OPROFILE=y | 139 | CONFIG_HAVE_OPROFILE=y |
124 | # CONFIG_KPROBES is not set | 140 | # CONFIG_KPROBES is not set |
125 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 141 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
@@ -128,6 +144,7 @@ CONFIG_HAVE_KPROBES=y | |||
128 | CONFIG_HAVE_KRETPROBES=y | 144 | CONFIG_HAVE_KRETPROBES=y |
129 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 145 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
130 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 146 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
147 | # CONFIG_SLOW_WORK is not set | ||
131 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 148 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
132 | CONFIG_SLABINFO=y | 149 | CONFIG_SLABINFO=y |
133 | CONFIG_RT_MUTEXES=y | 150 | CONFIG_RT_MUTEXES=y |
@@ -141,7 +158,6 @@ CONFIG_MODVERSIONS=y | |||
141 | CONFIG_STOP_MACHINE=y | 158 | CONFIG_STOP_MACHINE=y |
142 | CONFIG_BLOCK=y | 159 | CONFIG_BLOCK=y |
143 | CONFIG_LBD=y | 160 | CONFIG_LBD=y |
144 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
145 | # CONFIG_BLK_DEV_BSG is not set | 161 | # CONFIG_BLK_DEV_BSG is not set |
146 | # CONFIG_BLK_DEV_INTEGRITY is not set | 162 | # CONFIG_BLK_DEV_INTEGRITY is not set |
147 | 163 | ||
@@ -157,18 +173,11 @@ CONFIG_IOSCHED_CFQ=y | |||
157 | CONFIG_DEFAULT_CFQ=y | 173 | CONFIG_DEFAULT_CFQ=y |
158 | # CONFIG_DEFAULT_NOOP is not set | 174 | # CONFIG_DEFAULT_NOOP is not set |
159 | CONFIG_DEFAULT_IOSCHED="cfq" | 175 | CONFIG_DEFAULT_IOSCHED="cfq" |
160 | CONFIG_CLASSIC_RCU=y | ||
161 | # CONFIG_TREE_RCU is not set | ||
162 | # CONFIG_PREEMPT_RCU is not set | ||
163 | # CONFIG_TREE_RCU_TRACE is not set | ||
164 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
165 | # CONFIG_FREEZER is not set | 176 | # CONFIG_FREEZER is not set |
166 | 177 | ||
167 | # | 178 | # |
168 | # Platform support | 179 | # Platform support |
169 | # | 180 | # |
170 | CONFIG_PPC_MULTIPLATFORM=y | ||
171 | CONFIG_CLASSIC32=y | ||
172 | # CONFIG_PPC_CHRP is not set | 181 | # CONFIG_PPC_CHRP is not set |
173 | # CONFIG_MPC5121_ADS is not set | 182 | # CONFIG_MPC5121_ADS is not set |
174 | # CONFIG_MPC5121_GENERIC is not set | 183 | # CONFIG_MPC5121_GENERIC is not set |
@@ -183,9 +192,12 @@ CONFIG_PPC_86xx=y | |||
183 | CONFIG_MPC8641_HPCN=y | 192 | CONFIG_MPC8641_HPCN=y |
184 | CONFIG_SBC8641D=y | 193 | CONFIG_SBC8641D=y |
185 | CONFIG_MPC8610_HPCD=y | 194 | CONFIG_MPC8610_HPCD=y |
195 | # CONFIG_GEF_PPC9A is not set | ||
196 | # CONFIG_GEF_SBC310 is not set | ||
186 | CONFIG_GEF_SBC610=y | 197 | CONFIG_GEF_SBC610=y |
187 | CONFIG_MPC8641=y | 198 | CONFIG_MPC8641=y |
188 | CONFIG_MPC8610=y | 199 | CONFIG_MPC8610=y |
200 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
189 | # CONFIG_IPIC is not set | 201 | # CONFIG_IPIC is not set |
190 | CONFIG_MPIC=y | 202 | CONFIG_MPIC=y |
191 | # CONFIG_MPIC_WEIRD is not set | 203 | # CONFIG_MPIC_WEIRD is not set |
@@ -247,9 +259,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
247 | CONFIG_BOUNCE=y | 259 | CONFIG_BOUNCE=y |
248 | CONFIG_VIRT_TO_BUS=y | 260 | CONFIG_VIRT_TO_BUS=y |
249 | CONFIG_UNEVICTABLE_LRU=y | 261 | CONFIG_UNEVICTABLE_LRU=y |
262 | CONFIG_HAVE_MLOCK=y | ||
263 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
250 | CONFIG_PPC_4K_PAGES=y | 264 | CONFIG_PPC_4K_PAGES=y |
251 | # CONFIG_PPC_16K_PAGES is not set | 265 | # CONFIG_PPC_16K_PAGES is not set |
252 | # CONFIG_PPC_64K_PAGES is not set | 266 | # CONFIG_PPC_64K_PAGES is not set |
267 | # CONFIG_PPC_256K_PAGES is not set | ||
253 | CONFIG_FORCE_MAX_ZONEORDER=11 | 268 | CONFIG_FORCE_MAX_ZONEORDER=11 |
254 | CONFIG_PROC_DEVICETREE=y | 269 | CONFIG_PROC_DEVICETREE=y |
255 | # CONFIG_CMDLINE_BOOL is not set | 270 | # CONFIG_CMDLINE_BOOL is not set |
@@ -276,6 +291,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
276 | # CONFIG_PCI_LEGACY is not set | 291 | # CONFIG_PCI_LEGACY is not set |
277 | # CONFIG_PCI_DEBUG is not set | 292 | # CONFIG_PCI_DEBUG is not set |
278 | # CONFIG_PCI_STUB is not set | 293 | # CONFIG_PCI_STUB is not set |
294 | # CONFIG_PCI_IOV is not set | ||
279 | # CONFIG_PCCARD is not set | 295 | # CONFIG_PCCARD is not set |
280 | # CONFIG_HOTPLUG_PCI is not set | 296 | # CONFIG_HOTPLUG_PCI is not set |
281 | CONFIG_HAS_RAPIDIO=y | 297 | CONFIG_HAS_RAPIDIO=y |
@@ -299,7 +315,6 @@ CONFIG_NET=y | |||
299 | # | 315 | # |
300 | # Networking options | 316 | # Networking options |
301 | # | 317 | # |
302 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
303 | CONFIG_PACKET=y | 318 | CONFIG_PACKET=y |
304 | # CONFIG_PACKET_MMAP is not set | 319 | # CONFIG_PACKET_MMAP is not set |
305 | CONFIG_UNIX=y | 320 | CONFIG_UNIX=y |
@@ -387,6 +402,7 @@ CONFIG_SCTP_HMAC_MD5=y | |||
387 | # CONFIG_LAPB is not set | 402 | # CONFIG_LAPB is not set |
388 | # CONFIG_ECONET is not set | 403 | # CONFIG_ECONET is not set |
389 | # CONFIG_WAN_ROUTER is not set | 404 | # CONFIG_WAN_ROUTER is not set |
405 | # CONFIG_PHONET is not set | ||
390 | # CONFIG_NET_SCHED is not set | 406 | # CONFIG_NET_SCHED is not set |
391 | # CONFIG_DCB is not set | 407 | # CONFIG_DCB is not set |
392 | 408 | ||
@@ -399,7 +415,6 @@ CONFIG_SCTP_HMAC_MD5=y | |||
399 | # CONFIG_IRDA is not set | 415 | # CONFIG_IRDA is not set |
400 | # CONFIG_BT is not set | 416 | # CONFIG_BT is not set |
401 | # CONFIG_AF_RXRPC is not set | 417 | # CONFIG_AF_RXRPC is not set |
402 | # CONFIG_PHONET is not set | ||
403 | CONFIG_FIB_RULES=y | 418 | CONFIG_FIB_RULES=y |
404 | CONFIG_WIRELESS=y | 419 | CONFIG_WIRELESS=y |
405 | # CONFIG_CFG80211 is not set | 420 | # CONFIG_CFG80211 is not set |
@@ -454,13 +469,20 @@ CONFIG_BLK_DEV_RAM_SIZE=131072 | |||
454 | # CONFIG_BLK_DEV_HD is not set | 469 | # CONFIG_BLK_DEV_HD is not set |
455 | CONFIG_MISC_DEVICES=y | 470 | CONFIG_MISC_DEVICES=y |
456 | # CONFIG_PHANTOM is not set | 471 | # CONFIG_PHANTOM is not set |
457 | # CONFIG_EEPROM_93CX6 is not set | ||
458 | # CONFIG_SGI_IOC4 is not set | 472 | # CONFIG_SGI_IOC4 is not set |
459 | # CONFIG_TIFM_CORE is not set | 473 | # CONFIG_TIFM_CORE is not set |
460 | # CONFIG_ICS932S401 is not set | 474 | # CONFIG_ICS932S401 is not set |
461 | # CONFIG_ENCLOSURE_SERVICES is not set | 475 | # CONFIG_ENCLOSURE_SERVICES is not set |
462 | # CONFIG_HP_ILO is not set | 476 | # CONFIG_HP_ILO is not set |
477 | # CONFIG_ISL29003 is not set | ||
463 | # CONFIG_C2PORT is not set | 478 | # CONFIG_C2PORT is not set |
479 | |||
480 | # | ||
481 | # EEPROM support | ||
482 | # | ||
483 | # CONFIG_EEPROM_AT24 is not set | ||
484 | CONFIG_EEPROM_LEGACY=y | ||
485 | # CONFIG_EEPROM_93CX6 is not set | ||
464 | CONFIG_HAVE_IDE=y | 486 | CONFIG_HAVE_IDE=y |
465 | # CONFIG_IDE is not set | 487 | # CONFIG_IDE is not set |
466 | 488 | ||
@@ -519,9 +541,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
519 | # CONFIG_MEGARAID_NEWGEN is not set | 541 | # CONFIG_MEGARAID_NEWGEN is not set |
520 | # CONFIG_MEGARAID_LEGACY is not set | 542 | # CONFIG_MEGARAID_LEGACY is not set |
521 | # CONFIG_MEGARAID_SAS is not set | 543 | # CONFIG_MEGARAID_SAS is not set |
544 | # CONFIG_SCSI_MPT2SAS is not set | ||
522 | # CONFIG_SCSI_HPTIOP is not set | 545 | # CONFIG_SCSI_HPTIOP is not set |
523 | # CONFIG_SCSI_BUSLOGIC is not set | 546 | # CONFIG_SCSI_BUSLOGIC is not set |
524 | # CONFIG_LIBFC is not set | 547 | # CONFIG_LIBFC is not set |
548 | # CONFIG_LIBFCOE is not set | ||
525 | # CONFIG_FCOE is not set | 549 | # CONFIG_FCOE is not set |
526 | # CONFIG_SCSI_DMX3191D is not set | 550 | # CONFIG_SCSI_DMX3191D is not set |
527 | # CONFIG_SCSI_EATA is not set | 551 | # CONFIG_SCSI_EATA is not set |
@@ -544,6 +568,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
544 | # CONFIG_SCSI_DEBUG is not set | 568 | # CONFIG_SCSI_DEBUG is not set |
545 | # CONFIG_SCSI_SRP is not set | 569 | # CONFIG_SCSI_SRP is not set |
546 | # CONFIG_SCSI_DH is not set | 570 | # CONFIG_SCSI_DH is not set |
571 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
547 | CONFIG_ATA=y | 572 | CONFIG_ATA=y |
548 | # CONFIG_ATA_NONSTANDARD is not set | 573 | # CONFIG_ATA_NONSTANDARD is not set |
549 | CONFIG_SATA_PMP=y | 574 | CONFIG_SATA_PMP=y |
@@ -620,6 +645,7 @@ CONFIG_PATA_ALI=y | |||
620 | # CONFIG_I2O is not set | 645 | # CONFIG_I2O is not set |
621 | # CONFIG_MACINTOSH_DRIVERS is not set | 646 | # CONFIG_MACINTOSH_DRIVERS is not set |
622 | CONFIG_NETDEVICES=y | 647 | CONFIG_NETDEVICES=y |
648 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
623 | CONFIG_DUMMY=y | 649 | CONFIG_DUMMY=y |
624 | # CONFIG_BONDING is not set | 650 | # CONFIG_BONDING is not set |
625 | # CONFIG_MACVLAN is not set | 651 | # CONFIG_MACVLAN is not set |
@@ -653,6 +679,8 @@ CONFIG_MII=y | |||
653 | # CONFIG_SUNGEM is not set | 679 | # CONFIG_SUNGEM is not set |
654 | # CONFIG_CASSINI is not set | 680 | # CONFIG_CASSINI is not set |
655 | # CONFIG_NET_VENDOR_3COM is not set | 681 | # CONFIG_NET_VENDOR_3COM is not set |
682 | # CONFIG_ETHOC is not set | ||
683 | # CONFIG_DNET is not set | ||
656 | # CONFIG_NET_TULIP is not set | 684 | # CONFIG_NET_TULIP is not set |
657 | # CONFIG_HP100 is not set | 685 | # CONFIG_HP100 is not set |
658 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 686 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -672,6 +700,7 @@ CONFIG_NETDEV_1000=y | |||
672 | # CONFIG_E1000E is not set | 700 | # CONFIG_E1000E is not set |
673 | # CONFIG_IP1000 is not set | 701 | # CONFIG_IP1000 is not set |
674 | # CONFIG_IGB is not set | 702 | # CONFIG_IGB is not set |
703 | # CONFIG_IGBVF is not set | ||
675 | # CONFIG_NS83820 is not set | 704 | # CONFIG_NS83820 is not set |
676 | # CONFIG_HAMACHI is not set | 705 | # CONFIG_HAMACHI is not set |
677 | # CONFIG_YELLOWFIN is not set | 706 | # CONFIG_YELLOWFIN is not set |
@@ -682,11 +711,12 @@ CONFIG_NETDEV_1000=y | |||
682 | # CONFIG_VIA_VELOCITY is not set | 711 | # CONFIG_VIA_VELOCITY is not set |
683 | # CONFIG_TIGON3 is not set | 712 | # CONFIG_TIGON3 is not set |
684 | # CONFIG_BNX2 is not set | 713 | # CONFIG_BNX2 is not set |
714 | CONFIG_FSL_PQ_MDIO=y | ||
685 | CONFIG_GIANFAR=y | 715 | CONFIG_GIANFAR=y |
686 | # CONFIG_MV643XX_ETH is not set | ||
687 | # CONFIG_QLA3XXX is not set | 716 | # CONFIG_QLA3XXX is not set |
688 | # CONFIG_ATL1 is not set | 717 | # CONFIG_ATL1 is not set |
689 | # CONFIG_ATL1E is not set | 718 | # CONFIG_ATL1E is not set |
719 | # CONFIG_ATL1C is not set | ||
690 | # CONFIG_JME is not set | 720 | # CONFIG_JME is not set |
691 | CONFIG_NETDEV_10000=y | 721 | CONFIG_NETDEV_10000=y |
692 | # CONFIG_CHELSIO_T1 is not set | 722 | # CONFIG_CHELSIO_T1 is not set |
@@ -696,6 +726,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
696 | # CONFIG_IXGBE is not set | 726 | # CONFIG_IXGBE is not set |
697 | # CONFIG_IXGB is not set | 727 | # CONFIG_IXGB is not set |
698 | # CONFIG_S2IO is not set | 728 | # CONFIG_S2IO is not set |
729 | # CONFIG_VXGE is not set | ||
699 | # CONFIG_MYRI10GE is not set | 730 | # CONFIG_MYRI10GE is not set |
700 | # CONFIG_NETXEN_NIC is not set | 731 | # CONFIG_NETXEN_NIC is not set |
701 | # CONFIG_NIU is not set | 732 | # CONFIG_NIU is not set |
@@ -705,6 +736,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
705 | # CONFIG_BNX2X is not set | 736 | # CONFIG_BNX2X is not set |
706 | # CONFIG_QLGE is not set | 737 | # CONFIG_QLGE is not set |
707 | # CONFIG_SFC is not set | 738 | # CONFIG_SFC is not set |
739 | # CONFIG_BE2NET is not set | ||
708 | # CONFIG_TR is not set | 740 | # CONFIG_TR is not set |
709 | 741 | ||
710 | # | 742 | # |
@@ -712,7 +744,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
712 | # | 744 | # |
713 | # CONFIG_WLAN_PRE80211 is not set | 745 | # CONFIG_WLAN_PRE80211 is not set |
714 | # CONFIG_WLAN_80211 is not set | 746 | # CONFIG_WLAN_80211 is not set |
715 | # CONFIG_IWLWIFI_LEDS is not set | ||
716 | 747 | ||
717 | # | 748 | # |
718 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 749 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -879,12 +910,9 @@ CONFIG_I2C_MPC=y | |||
879 | # Miscellaneous I2C Chip support | 910 | # Miscellaneous I2C Chip support |
880 | # | 911 | # |
881 | # CONFIG_DS1682 is not set | 912 | # CONFIG_DS1682 is not set |
882 | # CONFIG_EEPROM_AT24 is not set | ||
883 | CONFIG_EEPROM_LEGACY=y | ||
884 | # CONFIG_SENSORS_PCF8574 is not set | 913 | # CONFIG_SENSORS_PCF8574 is not set |
885 | # CONFIG_PCF8575 is not set | 914 | # CONFIG_PCF8575 is not set |
886 | # CONFIG_SENSORS_PCA9539 is not set | 915 | # CONFIG_SENSORS_PCA9539 is not set |
887 | # CONFIG_SENSORS_PCF8591 is not set | ||
888 | # CONFIG_SENSORS_MAX6875 is not set | 916 | # CONFIG_SENSORS_MAX6875 is not set |
889 | # CONFIG_SENSORS_TSL2550 is not set | 917 | # CONFIG_SENSORS_TSL2550 is not set |
890 | # CONFIG_I2C_DEBUG_CORE is not set | 918 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -963,7 +991,7 @@ CONFIG_VIDEO_MEDIA=m | |||
963 | # | 991 | # |
964 | # CONFIG_MEDIA_ATTACH is not set | 992 | # CONFIG_MEDIA_ATTACH is not set |
965 | CONFIG_MEDIA_TUNER=m | 993 | CONFIG_MEDIA_TUNER=m |
966 | # CONFIG_MEDIA_TUNER_CUSTOMIZE is not set | 994 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set |
967 | CONFIG_MEDIA_TUNER_SIMPLE=m | 995 | CONFIG_MEDIA_TUNER_SIMPLE=m |
968 | CONFIG_MEDIA_TUNER_TDA8290=m | 996 | CONFIG_MEDIA_TUNER_TDA8290=m |
969 | CONFIG_MEDIA_TUNER_TDA9887=m | 997 | CONFIG_MEDIA_TUNER_TDA9887=m |
@@ -972,6 +1000,7 @@ CONFIG_MEDIA_TUNER_TEA5767=m | |||
972 | CONFIG_MEDIA_TUNER_MT20XX=m | 1000 | CONFIG_MEDIA_TUNER_MT20XX=m |
973 | CONFIG_MEDIA_TUNER_XC2028=m | 1001 | CONFIG_MEDIA_TUNER_XC2028=m |
974 | CONFIG_MEDIA_TUNER_XC5000=m | 1002 | CONFIG_MEDIA_TUNER_XC5000=m |
1003 | CONFIG_MEDIA_TUNER_MC44S803=m | ||
975 | # CONFIG_DVB_DYNAMIC_MINORS is not set | 1004 | # CONFIG_DVB_DYNAMIC_MINORS is not set |
976 | CONFIG_DVB_CAPTURE_DRIVERS=y | 1005 | CONFIG_DVB_CAPTURE_DRIVERS=y |
977 | 1006 | ||
@@ -1011,103 +1040,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y | |||
1011 | # | 1040 | # |
1012 | # Supported DVB Frontends | 1041 | # Supported DVB Frontends |
1013 | # | 1042 | # |
1014 | |||
1015 | # | ||
1016 | # Customise DVB Frontends | ||
1017 | # | ||
1018 | # CONFIG_DVB_FE_CUSTOMISE is not set | 1043 | # CONFIG_DVB_FE_CUSTOMISE is not set |
1019 | |||
1020 | # | ||
1021 | # Multistandard (satellite) frontends | ||
1022 | # | ||
1023 | # CONFIG_DVB_STB0899 is not set | ||
1024 | # CONFIG_DVB_STB6100 is not set | ||
1025 | |||
1026 | # | ||
1027 | # DVB-S (satellite) frontends | ||
1028 | # | ||
1029 | # CONFIG_DVB_CX24110 is not set | ||
1030 | # CONFIG_DVB_CX24123 is not set | ||
1031 | # CONFIG_DVB_MT312 is not set | ||
1032 | # CONFIG_DVB_S5H1420 is not set | ||
1033 | # CONFIG_DVB_STV0288 is not set | ||
1034 | # CONFIG_DVB_STB6000 is not set | ||
1035 | # CONFIG_DVB_STV0299 is not set | ||
1036 | # CONFIG_DVB_TDA8083 is not set | ||
1037 | # CONFIG_DVB_TDA10086 is not set | ||
1038 | # CONFIG_DVB_TDA8261 is not set | ||
1039 | # CONFIG_DVB_VES1X93 is not set | ||
1040 | # CONFIG_DVB_TUNER_ITD1000 is not set | ||
1041 | # CONFIG_DVB_TUNER_CX24113 is not set | ||
1042 | # CONFIG_DVB_TDA826X is not set | ||
1043 | # CONFIG_DVB_TUA6100 is not set | ||
1044 | # CONFIG_DVB_CX24116 is not set | ||
1045 | # CONFIG_DVB_SI21XX is not set | ||
1046 | |||
1047 | # | ||
1048 | # DVB-T (terrestrial) frontends | ||
1049 | # | ||
1050 | # CONFIG_DVB_SP8870 is not set | ||
1051 | # CONFIG_DVB_SP887X is not set | ||
1052 | # CONFIG_DVB_CX22700 is not set | ||
1053 | # CONFIG_DVB_CX22702 is not set | ||
1054 | # CONFIG_DVB_DRX397XD is not set | ||
1055 | # CONFIG_DVB_L64781 is not set | ||
1056 | # CONFIG_DVB_TDA1004X is not set | ||
1057 | # CONFIG_DVB_NXT6000 is not set | ||
1058 | # CONFIG_DVB_MT352 is not set | ||
1059 | # CONFIG_DVB_ZL10353 is not set | ||
1060 | # CONFIG_DVB_DIB3000MB is not set | ||
1061 | # CONFIG_DVB_DIB3000MC is not set | ||
1062 | # CONFIG_DVB_DIB7000M is not set | ||
1063 | # CONFIG_DVB_DIB7000P is not set | ||
1064 | # CONFIG_DVB_TDA10048 is not set | ||
1065 | |||
1066 | # | ||
1067 | # DVB-C (cable) frontends | ||
1068 | # | ||
1069 | # CONFIG_DVB_VES1820 is not set | ||
1070 | # CONFIG_DVB_TDA10021 is not set | ||
1071 | # CONFIG_DVB_TDA10023 is not set | ||
1072 | # CONFIG_DVB_STV0297 is not set | ||
1073 | |||
1074 | # | ||
1075 | # ATSC (North American/Korean Terrestrial/Cable DTV) frontends | ||
1076 | # | ||
1077 | # CONFIG_DVB_NXT200X is not set | ||
1078 | # CONFIG_DVB_OR51211 is not set | ||
1079 | # CONFIG_DVB_OR51132 is not set | ||
1080 | # CONFIG_DVB_BCM3510 is not set | ||
1081 | # CONFIG_DVB_LGDT330X is not set | ||
1082 | # CONFIG_DVB_LGDT3304 is not set | ||
1083 | # CONFIG_DVB_S5H1409 is not set | ||
1084 | # CONFIG_DVB_AU8522 is not set | ||
1085 | # CONFIG_DVB_S5H1411 is not set | ||
1086 | |||
1087 | # | ||
1088 | # ISDB-T (terrestrial) frontends | ||
1089 | # | ||
1090 | # CONFIG_DVB_S921 is not set | ||
1091 | |||
1092 | # | ||
1093 | # Digital terrestrial only tuners/PLL | ||
1094 | # | ||
1095 | # CONFIG_DVB_PLL is not set | ||
1096 | # CONFIG_DVB_TUNER_DIB0070 is not set | ||
1097 | |||
1098 | # | ||
1099 | # SEC control devices for DVB-S | ||
1100 | # | ||
1101 | # CONFIG_DVB_LNBP21 is not set | ||
1102 | # CONFIG_DVB_ISL6405 is not set | ||
1103 | # CONFIG_DVB_ISL6421 is not set | ||
1104 | # CONFIG_DVB_LGS8GL5 is not set | ||
1105 | |||
1106 | # | ||
1107 | # Tools to develop new frontends | ||
1108 | # | ||
1109 | # CONFIG_DVB_DUMMY_FE is not set | ||
1110 | # CONFIG_DVB_AF9013 is not set | ||
1111 | CONFIG_DAB=y | 1044 | CONFIG_DAB=y |
1112 | # CONFIG_USB_DABUSB is not set | 1045 | # CONFIG_USB_DABUSB is not set |
1113 | 1046 | ||
@@ -1187,6 +1120,8 @@ CONFIG_SND_PCI=y | |||
1187 | # CONFIG_SND_INDIGO is not set | 1120 | # CONFIG_SND_INDIGO is not set |
1188 | # CONFIG_SND_INDIGOIO is not set | 1121 | # CONFIG_SND_INDIGOIO is not set |
1189 | # CONFIG_SND_INDIGODJ is not set | 1122 | # CONFIG_SND_INDIGODJ is not set |
1123 | # CONFIG_SND_INDIGOIOX is not set | ||
1124 | # CONFIG_SND_INDIGODJX is not set | ||
1190 | # CONFIG_SND_EMU10K1 is not set | 1125 | # CONFIG_SND_EMU10K1 is not set |
1191 | # CONFIG_SND_EMU10K1X is not set | 1126 | # CONFIG_SND_EMU10K1X is not set |
1192 | # CONFIG_SND_ENS1370 is not set | 1127 | # CONFIG_SND_ENS1370 is not set |
@@ -1241,15 +1176,17 @@ CONFIG_USB_HID=y | |||
1241 | # | 1176 | # |
1242 | # Special HID drivers | 1177 | # Special HID drivers |
1243 | # | 1178 | # |
1244 | CONFIG_HID_COMPAT=y | ||
1245 | CONFIG_HID_A4TECH=y | 1179 | CONFIG_HID_A4TECH=y |
1246 | CONFIG_HID_APPLE=y | 1180 | CONFIG_HID_APPLE=y |
1247 | CONFIG_HID_BELKIN=y | 1181 | CONFIG_HID_BELKIN=y |
1248 | CONFIG_HID_CHERRY=y | 1182 | CONFIG_HID_CHERRY=y |
1249 | CONFIG_HID_CHICONY=y | 1183 | CONFIG_HID_CHICONY=y |
1250 | CONFIG_HID_CYPRESS=y | 1184 | CONFIG_HID_CYPRESS=y |
1185 | # CONFIG_DRAGONRISE_FF is not set | ||
1251 | CONFIG_HID_EZKEY=y | 1186 | CONFIG_HID_EZKEY=y |
1187 | # CONFIG_HID_KYE is not set | ||
1252 | CONFIG_HID_GYRATION=y | 1188 | CONFIG_HID_GYRATION=y |
1189 | # CONFIG_HID_KENSINGTON is not set | ||
1253 | CONFIG_HID_LOGITECH=y | 1190 | CONFIG_HID_LOGITECH=y |
1254 | # CONFIG_LOGITECH_FF is not set | 1191 | # CONFIG_LOGITECH_FF is not set |
1255 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1192 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1322,11 +1259,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1322 | # CONFIG_USB_TMC is not set | 1259 | # CONFIG_USB_TMC is not set |
1323 | 1260 | ||
1324 | # | 1261 | # |
1325 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1262 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1326 | # | 1263 | # |
1327 | 1264 | ||
1328 | # | 1265 | # |
1329 | # see USB_STORAGE Help for more information | 1266 | # also be needed; see USB_STORAGE Help for more info |
1330 | # | 1267 | # |
1331 | CONFIG_USB_STORAGE=y | 1268 | CONFIG_USB_STORAGE=y |
1332 | # CONFIG_USB_STORAGE_DEBUG is not set | 1269 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1368,7 +1305,6 @@ CONFIG_USB_STORAGE=y | |||
1368 | # CONFIG_USB_LED is not set | 1305 | # CONFIG_USB_LED is not set |
1369 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1306 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1370 | # CONFIG_USB_CYTHERM is not set | 1307 | # CONFIG_USB_CYTHERM is not set |
1371 | # CONFIG_USB_PHIDGET is not set | ||
1372 | # CONFIG_USB_IDMOUSE is not set | 1308 | # CONFIG_USB_IDMOUSE is not set |
1373 | # CONFIG_USB_FTDI_ELAN is not set | 1309 | # CONFIG_USB_FTDI_ELAN is not set |
1374 | # CONFIG_USB_APPLEDISPLAY is not set | 1310 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1385,6 +1321,7 @@ CONFIG_USB_STORAGE=y | |||
1385 | # OTG and related infrastructure | 1321 | # OTG and related infrastructure |
1386 | # | 1322 | # |
1387 | # CONFIG_USB_GPIO_VBUS is not set | 1323 | # CONFIG_USB_GPIO_VBUS is not set |
1324 | # CONFIG_NOP_USB_XCEIV is not set | ||
1388 | # CONFIG_UWB is not set | 1325 | # CONFIG_UWB is not set |
1389 | # CONFIG_MMC is not set | 1326 | # CONFIG_MMC is not set |
1390 | # CONFIG_MEMSTICK is not set | 1327 | # CONFIG_MEMSTICK is not set |
@@ -1446,8 +1383,9 @@ CONFIG_RTC_DRV_CMOS=y | |||
1446 | # | 1383 | # |
1447 | # on-CPU RTC drivers | 1384 | # on-CPU RTC drivers |
1448 | # | 1385 | # |
1449 | # CONFIG_RTC_DRV_PPC is not set | 1386 | # CONFIG_RTC_DRV_GENERIC is not set |
1450 | # CONFIG_DMADEVICES is not set | 1387 | # CONFIG_DMADEVICES is not set |
1388 | # CONFIG_AUXDISPLAY is not set | ||
1451 | # CONFIG_UIO is not set | 1389 | # CONFIG_UIO is not set |
1452 | # CONFIG_STAGING is not set | 1390 | # CONFIG_STAGING is not set |
1453 | 1391 | ||
@@ -1458,6 +1396,7 @@ CONFIG_EXT2_FS=y | |||
1458 | # CONFIG_EXT2_FS_XATTR is not set | 1396 | # CONFIG_EXT2_FS_XATTR is not set |
1459 | # CONFIG_EXT2_FS_XIP is not set | 1397 | # CONFIG_EXT2_FS_XIP is not set |
1460 | CONFIG_EXT3_FS=y | 1398 | CONFIG_EXT3_FS=y |
1399 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1461 | CONFIG_EXT3_FS_XATTR=y | 1400 | CONFIG_EXT3_FS_XATTR=y |
1462 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1401 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1463 | # CONFIG_EXT3_FS_SECURITY is not set | 1402 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1481,6 +1420,11 @@ CONFIG_INOTIFY_USER=y | |||
1481 | # CONFIG_FUSE_FS is not set | 1420 | # CONFIG_FUSE_FS is not set |
1482 | 1421 | ||
1483 | # | 1422 | # |
1423 | # Caches | ||
1424 | # | ||
1425 | # CONFIG_FSCACHE is not set | ||
1426 | |||
1427 | # | ||
1484 | # CD-ROM/DVD Filesystems | 1428 | # CD-ROM/DVD Filesystems |
1485 | # | 1429 | # |
1486 | CONFIG_ISO9660_FS=m | 1430 | CONFIG_ISO9660_FS=m |
@@ -1535,6 +1479,7 @@ CONFIG_SYSV_FS=m | |||
1535 | CONFIG_UFS_FS=m | 1479 | CONFIG_UFS_FS=m |
1536 | # CONFIG_UFS_FS_WRITE is not set | 1480 | # CONFIG_UFS_FS_WRITE is not set |
1537 | # CONFIG_UFS_DEBUG is not set | 1481 | # CONFIG_UFS_DEBUG is not set |
1482 | # CONFIG_NILFS2_FS is not set | ||
1538 | CONFIG_NETWORK_FILESYSTEMS=y | 1483 | CONFIG_NETWORK_FILESYSTEMS=y |
1539 | CONFIG_NFS_FS=y | 1484 | CONFIG_NFS_FS=y |
1540 | CONFIG_NFS_V3=y | 1485 | CONFIG_NFS_V3=y |
@@ -1550,7 +1495,6 @@ CONFIG_EXPORTFS=y | |||
1550 | CONFIG_NFS_COMMON=y | 1495 | CONFIG_NFS_COMMON=y |
1551 | CONFIG_SUNRPC=y | 1496 | CONFIG_SUNRPC=y |
1552 | CONFIG_SUNRPC_GSS=y | 1497 | CONFIG_SUNRPC_GSS=y |
1553 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1554 | CONFIG_RPCSEC_GSS_KRB5=y | 1498 | CONFIG_RPCSEC_GSS_KRB5=y |
1555 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1499 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1556 | # CONFIG_SMB_FS is not set | 1500 | # CONFIG_SMB_FS is not set |
@@ -1621,6 +1565,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1621 | # CONFIG_NLS_KOI8_U is not set | 1565 | # CONFIG_NLS_KOI8_U is not set |
1622 | CONFIG_NLS_UTF8=m | 1566 | CONFIG_NLS_UTF8=m |
1623 | # CONFIG_DLM is not set | 1567 | # CONFIG_DLM is not set |
1568 | # CONFIG_BINARY_PRINTF is not set | ||
1624 | 1569 | ||
1625 | # | 1570 | # |
1626 | # Library routines | 1571 | # Library routines |
@@ -1635,11 +1580,12 @@ CONFIG_CRC32=y | |||
1635 | # CONFIG_CRC7 is not set | 1580 | # CONFIG_CRC7 is not set |
1636 | CONFIG_LIBCRC32C=m | 1581 | CONFIG_LIBCRC32C=m |
1637 | CONFIG_ZLIB_INFLATE=y | 1582 | CONFIG_ZLIB_INFLATE=y |
1638 | CONFIG_PLIST=y | 1583 | CONFIG_DECOMPRESS_GZIP=y |
1639 | CONFIG_HAS_IOMEM=y | 1584 | CONFIG_HAS_IOMEM=y |
1640 | CONFIG_HAS_IOPORT=y | 1585 | CONFIG_HAS_IOPORT=y |
1641 | CONFIG_HAS_DMA=y | 1586 | CONFIG_HAS_DMA=y |
1642 | CONFIG_HAVE_LMB=y | 1587 | CONFIG_HAVE_LMB=y |
1588 | CONFIG_NLATTR=y | ||
1643 | 1589 | ||
1644 | # | 1590 | # |
1645 | # Kernel hacking | 1591 | # Kernel hacking |
@@ -1657,6 +1603,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1657 | CONFIG_DETECT_SOFTLOCKUP=y | 1603 | CONFIG_DETECT_SOFTLOCKUP=y |
1658 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1604 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1659 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1605 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1606 | CONFIG_DETECT_HUNG_TASK=y | ||
1607 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1608 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1660 | CONFIG_SCHED_DEBUG=y | 1609 | CONFIG_SCHED_DEBUG=y |
1661 | # CONFIG_SCHEDSTATS is not set | 1610 | # CONFIG_SCHEDSTATS is not set |
1662 | # CONFIG_TIMER_STATS is not set | 1611 | # CONFIG_TIMER_STATS is not set |
@@ -1687,9 +1636,12 @@ CONFIG_DEBUG_INFO=y | |||
1687 | # CONFIG_FAULT_INJECTION is not set | 1636 | # CONFIG_FAULT_INJECTION is not set |
1688 | # CONFIG_LATENCYTOP is not set | 1637 | # CONFIG_LATENCYTOP is not set |
1689 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1638 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1639 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1690 | CONFIG_HAVE_FUNCTION_TRACER=y | 1640 | CONFIG_HAVE_FUNCTION_TRACER=y |
1641 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1691 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1642 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1692 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1643 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1644 | CONFIG_TRACING_SUPPORT=y | ||
1693 | 1645 | ||
1694 | # | 1646 | # |
1695 | # Tracers | 1647 | # Tracers |
@@ -1697,17 +1649,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1697 | # CONFIG_FUNCTION_TRACER is not set | 1649 | # CONFIG_FUNCTION_TRACER is not set |
1698 | # CONFIG_SCHED_TRACER is not set | 1650 | # CONFIG_SCHED_TRACER is not set |
1699 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1651 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1652 | # CONFIG_EVENT_TRACER is not set | ||
1700 | # CONFIG_BOOT_TRACER is not set | 1653 | # CONFIG_BOOT_TRACER is not set |
1701 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1654 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1702 | # CONFIG_STACK_TRACER is not set | 1655 | # CONFIG_STACK_TRACER is not set |
1703 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1656 | # CONFIG_KMEMTRACE is not set |
1657 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1658 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1704 | # CONFIG_SAMPLES is not set | 1659 | # CONFIG_SAMPLES is not set |
1705 | CONFIG_HAVE_ARCH_KGDB=y | 1660 | CONFIG_HAVE_ARCH_KGDB=y |
1706 | # CONFIG_KGDB is not set | 1661 | # CONFIG_KGDB is not set |
1707 | CONFIG_PRINT_STACK_DEPTH=64 | 1662 | CONFIG_PRINT_STACK_DEPTH=64 |
1708 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1663 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1709 | # CONFIG_DEBUG_STACK_USAGE is not set | 1664 | # CONFIG_DEBUG_STACK_USAGE is not set |
1710 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1711 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1665 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1712 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1666 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1713 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1667 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1738,10 +1692,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1738 | CONFIG_CRYPTO_HASH=y | 1692 | CONFIG_CRYPTO_HASH=y |
1739 | CONFIG_CRYPTO_HASH2=y | 1693 | CONFIG_CRYPTO_HASH2=y |
1740 | CONFIG_CRYPTO_RNG2=y | 1694 | CONFIG_CRYPTO_RNG2=y |
1695 | CONFIG_CRYPTO_PCOMP=y | ||
1741 | CONFIG_CRYPTO_MANAGER=y | 1696 | CONFIG_CRYPTO_MANAGER=y |
1742 | CONFIG_CRYPTO_MANAGER2=y | 1697 | CONFIG_CRYPTO_MANAGER2=y |
1743 | # CONFIG_CRYPTO_GF128MUL is not set | 1698 | # CONFIG_CRYPTO_GF128MUL is not set |
1744 | # CONFIG_CRYPTO_NULL is not set | 1699 | # CONFIG_CRYPTO_NULL is not set |
1700 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1745 | # CONFIG_CRYPTO_CRYPTD is not set | 1701 | # CONFIG_CRYPTO_CRYPTD is not set |
1746 | # CONFIG_CRYPTO_AUTHENC is not set | 1702 | # CONFIG_CRYPTO_AUTHENC is not set |
1747 | # CONFIG_CRYPTO_TEST is not set | 1703 | # CONFIG_CRYPTO_TEST is not set |
@@ -1810,6 +1766,7 @@ CONFIG_CRYPTO_DES=y | |||
1810 | # Compression | 1766 | # Compression |
1811 | # | 1767 | # |
1812 | # CONFIG_CRYPTO_DEFLATE is not set | 1768 | # CONFIG_CRYPTO_DEFLATE is not set |
1769 | # CONFIG_CRYPTO_ZLIB is not set | ||
1813 | # CONFIG_CRYPTO_LZO is not set | 1770 | # CONFIG_CRYPTO_LZO is not set |
1814 | 1771 | ||
1815 | # | 1772 | # |
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig index 4b76321c0ec4..42e64ebc279d 100644 --- a/arch/powerpc/configs/mpc885_ads_defconfig +++ b/arch/powerpc/configs/mpc885_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:41 2009 | 4 | # Wed May 13 17:22:01 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -52,6 +52,7 @@ CONFIG_GENERIC_BUG=y | |||
52 | # CONFIG_DEFAULT_UIMAGE is not set | 52 | # CONFIG_DEFAULT_UIMAGE is not set |
53 | # CONFIG_PPC_DCR_NATIVE is not set | 53 | # CONFIG_PPC_DCR_NATIVE is not set |
54 | # CONFIG_PPC_DCR_MMIO is not set | 54 | # CONFIG_PPC_DCR_MMIO is not set |
55 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
55 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 56 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
56 | 57 | ||
57 | # | 58 | # |
@@ -69,6 +70,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
69 | # CONFIG_BSD_PROCESS_ACCT is not set | 70 | # CONFIG_BSD_PROCESS_ACCT is not set |
70 | # CONFIG_TASKSTATS is not set | 71 | # CONFIG_TASKSTATS is not set |
71 | # CONFIG_AUDIT is not set | 72 | # CONFIG_AUDIT is not set |
73 | |||
74 | # | ||
75 | # RCU Subsystem | ||
76 | # | ||
77 | CONFIG_CLASSIC_RCU=y | ||
78 | # CONFIG_TREE_RCU is not set | ||
79 | # CONFIG_PREEMPT_RCU is not set | ||
80 | # CONFIG_TREE_RCU_TRACE is not set | ||
81 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
72 | # CONFIG_IKCONFIG is not set | 82 | # CONFIG_IKCONFIG is not set |
73 | CONFIG_LOG_BUF_SHIFT=14 | 83 | CONFIG_LOG_BUF_SHIFT=14 |
74 | CONFIG_GROUP_SCHED=y | 84 | CONFIG_GROUP_SCHED=y |
@@ -84,19 +94,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
84 | # CONFIG_BLK_DEV_INITRD is not set | 94 | # CONFIG_BLK_DEV_INITRD is not set |
85 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 95 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
86 | CONFIG_SYSCTL=y | 96 | CONFIG_SYSCTL=y |
97 | CONFIG_ANON_INODES=y | ||
87 | CONFIG_EMBEDDED=y | 98 | CONFIG_EMBEDDED=y |
88 | # CONFIG_SYSCTL_SYSCALL is not set | 99 | # CONFIG_SYSCTL_SYSCALL is not set |
89 | CONFIG_KALLSYMS=y | 100 | CONFIG_KALLSYMS=y |
90 | # CONFIG_KALLSYMS_ALL is not set | 101 | # CONFIG_KALLSYMS_ALL is not set |
91 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 102 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
103 | # CONFIG_STRIP_ASM_SYMS is not set | ||
92 | CONFIG_HOTPLUG=y | 104 | CONFIG_HOTPLUG=y |
93 | CONFIG_PRINTK=y | 105 | CONFIG_PRINTK=y |
94 | CONFIG_BUG=y | 106 | CONFIG_BUG=y |
95 | # CONFIG_ELF_CORE is not set | 107 | # CONFIG_ELF_CORE is not set |
96 | CONFIG_COMPAT_BRK=y | ||
97 | # CONFIG_BASE_FULL is not set | 108 | # CONFIG_BASE_FULL is not set |
98 | # CONFIG_FUTEX is not set | 109 | # CONFIG_FUTEX is not set |
99 | CONFIG_ANON_INODES=y | ||
100 | CONFIG_EPOLL=y | 110 | CONFIG_EPOLL=y |
101 | CONFIG_SIGNALFD=y | 111 | CONFIG_SIGNALFD=y |
102 | CONFIG_TIMERFD=y | 112 | CONFIG_TIMERFD=y |
@@ -105,10 +115,12 @@ CONFIG_SHMEM=y | |||
105 | CONFIG_AIO=y | 115 | CONFIG_AIO=y |
106 | # CONFIG_VM_EVENT_COUNTERS is not set | 116 | # CONFIG_VM_EVENT_COUNTERS is not set |
107 | CONFIG_SLUB_DEBUG=y | 117 | CONFIG_SLUB_DEBUG=y |
118 | CONFIG_COMPAT_BRK=y | ||
108 | # CONFIG_SLAB is not set | 119 | # CONFIG_SLAB is not set |
109 | CONFIG_SLUB=y | 120 | CONFIG_SLUB=y |
110 | # CONFIG_SLOB is not set | 121 | # CONFIG_SLOB is not set |
111 | # CONFIG_PROFILING is not set | 122 | # CONFIG_PROFILING is not set |
123 | # CONFIG_MARKERS is not set | ||
112 | CONFIG_HAVE_OPROFILE=y | 124 | CONFIG_HAVE_OPROFILE=y |
113 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 125 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
114 | CONFIG_HAVE_IOREMAP_PROT=y | 126 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -116,13 +128,13 @@ CONFIG_HAVE_KPROBES=y | |||
116 | CONFIG_HAVE_KRETPROBES=y | 128 | CONFIG_HAVE_KRETPROBES=y |
117 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 129 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
118 | CONFIG_HAVE_CLK=y | 130 | CONFIG_HAVE_CLK=y |
131 | # CONFIG_SLOW_WORK is not set | ||
119 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 132 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
120 | CONFIG_SLABINFO=y | 133 | CONFIG_SLABINFO=y |
121 | CONFIG_BASE_SMALL=1 | 134 | CONFIG_BASE_SMALL=1 |
122 | # CONFIG_MODULES is not set | 135 | # CONFIG_MODULES is not set |
123 | CONFIG_BLOCK=y | 136 | CONFIG_BLOCK=y |
124 | # CONFIG_LBD is not set | 137 | # CONFIG_LBD is not set |
125 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
126 | # CONFIG_BLK_DEV_BSG is not set | 138 | # CONFIG_BLK_DEV_BSG is not set |
127 | # CONFIG_BLK_DEV_INTEGRITY is not set | 139 | # CONFIG_BLK_DEV_INTEGRITY is not set |
128 | 140 | ||
@@ -138,11 +150,6 @@ CONFIG_DEFAULT_DEADLINE=y | |||
138 | # CONFIG_DEFAULT_CFQ is not set | 150 | # CONFIG_DEFAULT_CFQ is not set |
139 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
140 | CONFIG_DEFAULT_IOSCHED="deadline" | 152 | CONFIG_DEFAULT_IOSCHED="deadline" |
141 | CONFIG_CLASSIC_RCU=y | ||
142 | # CONFIG_TREE_RCU is not set | ||
143 | # CONFIG_PREEMPT_RCU is not set | ||
144 | # CONFIG_TREE_RCU_TRACE is not set | ||
145 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
146 | # CONFIG_FREEZER is not set | 153 | # CONFIG_FREEZER is not set |
147 | 154 | ||
148 | # | 155 | # |
@@ -240,9 +247,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
240 | CONFIG_BOUNCE=y | 247 | CONFIG_BOUNCE=y |
241 | CONFIG_VIRT_TO_BUS=y | 248 | CONFIG_VIRT_TO_BUS=y |
242 | CONFIG_UNEVICTABLE_LRU=y | 249 | CONFIG_UNEVICTABLE_LRU=y |
250 | CONFIG_HAVE_MLOCK=y | ||
251 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
243 | CONFIG_PPC_4K_PAGES=y | 252 | CONFIG_PPC_4K_PAGES=y |
244 | # CONFIG_PPC_16K_PAGES is not set | 253 | # CONFIG_PPC_16K_PAGES is not set |
245 | # CONFIG_PPC_64K_PAGES is not set | 254 | # CONFIG_PPC_64K_PAGES is not set |
255 | # CONFIG_PPC_256K_PAGES is not set | ||
246 | CONFIG_FORCE_MAX_ZONEORDER=11 | 256 | CONFIG_FORCE_MAX_ZONEORDER=11 |
247 | CONFIG_PROC_DEVICETREE=y | 257 | CONFIG_PROC_DEVICETREE=y |
248 | # CONFIG_CMDLINE_BOOL is not set | 258 | # CONFIG_CMDLINE_BOOL is not set |
@@ -277,14 +287,11 @@ CONFIG_PAGE_OFFSET=0xc0000000 | |||
277 | CONFIG_KERNEL_START=0xc0000000 | 287 | CONFIG_KERNEL_START=0xc0000000 |
278 | CONFIG_PHYSICAL_START=0x00000000 | 288 | CONFIG_PHYSICAL_START=0x00000000 |
279 | CONFIG_TASK_SIZE=0x80000000 | 289 | CONFIG_TASK_SIZE=0x80000000 |
280 | CONFIG_CONSISTENT_START=0xfd000000 | ||
281 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
282 | CONFIG_NET=y | 290 | CONFIG_NET=y |
283 | 291 | ||
284 | # | 292 | # |
285 | # Networking options | 293 | # Networking options |
286 | # | 294 | # |
287 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
288 | CONFIG_PACKET=y | 295 | CONFIG_PACKET=y |
289 | # CONFIG_PACKET_MMAP is not set | 296 | # CONFIG_PACKET_MMAP is not set |
290 | CONFIG_UNIX=y | 297 | CONFIG_UNIX=y |
@@ -335,6 +342,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
335 | # CONFIG_LAPB is not set | 342 | # CONFIG_LAPB is not set |
336 | # CONFIG_ECONET is not set | 343 | # CONFIG_ECONET is not set |
337 | # CONFIG_WAN_ROUTER is not set | 344 | # CONFIG_WAN_ROUTER is not set |
345 | # CONFIG_PHONET is not set | ||
338 | # CONFIG_NET_SCHED is not set | 346 | # CONFIG_NET_SCHED is not set |
339 | # CONFIG_DCB is not set | 347 | # CONFIG_DCB is not set |
340 | 348 | ||
@@ -347,7 +355,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
347 | # CONFIG_IRDA is not set | 355 | # CONFIG_IRDA is not set |
348 | # CONFIG_BT is not set | 356 | # CONFIG_BT is not set |
349 | # CONFIG_AF_RXRPC is not set | 357 | # CONFIG_AF_RXRPC is not set |
350 | # CONFIG_PHONET is not set | ||
351 | CONFIG_WIRELESS=y | 358 | CONFIG_WIRELESS=y |
352 | # CONFIG_CFG80211 is not set | 359 | # CONFIG_CFG80211 is not set |
353 | CONFIG_WIRELESS_OLD_REGULATORY=y | 360 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -450,7 +457,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
450 | # LPDDR flash memory drivers | 457 | # LPDDR flash memory drivers |
451 | # | 458 | # |
452 | # CONFIG_MTD_LPDDR is not set | 459 | # CONFIG_MTD_LPDDR is not set |
453 | # CONFIG_MTD_QINFO_PROBE is not set | ||
454 | 460 | ||
455 | # | 461 | # |
456 | # UBI - Unsorted block images | 462 | # UBI - Unsorted block images |
@@ -474,6 +480,7 @@ CONFIG_HAVE_IDE=y | |||
474 | # CONFIG_MD is not set | 480 | # CONFIG_MD is not set |
475 | # CONFIG_MACINTOSH_DRIVERS is not set | 481 | # CONFIG_MACINTOSH_DRIVERS is not set |
476 | CONFIG_NETDEVICES=y | 482 | CONFIG_NETDEVICES=y |
483 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
477 | # CONFIG_DUMMY is not set | 484 | # CONFIG_DUMMY is not set |
478 | # CONFIG_BONDING is not set | 485 | # CONFIG_BONDING is not set |
479 | # CONFIG_MACVLAN is not set | 486 | # CONFIG_MACVLAN is not set |
@@ -502,6 +509,8 @@ CONFIG_DAVICOM_PHY=y | |||
502 | # CONFIG_MDIO_BITBANG is not set | 509 | # CONFIG_MDIO_BITBANG is not set |
503 | CONFIG_NET_ETHERNET=y | 510 | CONFIG_NET_ETHERNET=y |
504 | CONFIG_MII=y | 511 | CONFIG_MII=y |
512 | # CONFIG_ETHOC is not set | ||
513 | # CONFIG_DNET is not set | ||
505 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 514 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
506 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 515 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
507 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 516 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -522,7 +531,6 @@ CONFIG_FS_ENET_MDIO_FEC=y | |||
522 | # | 531 | # |
523 | # CONFIG_WLAN_PRE80211 is not set | 532 | # CONFIG_WLAN_PRE80211 is not set |
524 | # CONFIG_WLAN_80211 is not set | 533 | # CONFIG_WLAN_80211 is not set |
525 | # CONFIG_IWLWIFI_LEDS is not set | ||
526 | 534 | ||
527 | # | 535 | # |
528 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 536 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -573,6 +581,7 @@ CONFIG_UNIX98_PTYS=y | |||
573 | # CONFIG_HVC_UDBG is not set | 581 | # CONFIG_HVC_UDBG is not set |
574 | # CONFIG_IPMI_HANDLER is not set | 582 | # CONFIG_IPMI_HANDLER is not set |
575 | CONFIG_HW_RANDOM=y | 583 | CONFIG_HW_RANDOM=y |
584 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
576 | # CONFIG_NVRAM is not set | 585 | # CONFIG_NVRAM is not set |
577 | CONFIG_GEN_RTC=y | 586 | CONFIG_GEN_RTC=y |
578 | # CONFIG_GEN_RTC_X is not set | 587 | # CONFIG_GEN_RTC_X is not set |
@@ -642,6 +651,7 @@ CONFIG_DAB=y | |||
642 | # CONFIG_EDAC is not set | 651 | # CONFIG_EDAC is not set |
643 | # CONFIG_RTC_CLASS is not set | 652 | # CONFIG_RTC_CLASS is not set |
644 | # CONFIG_DMADEVICES is not set | 653 | # CONFIG_DMADEVICES is not set |
654 | # CONFIG_AUXDISPLAY is not set | ||
645 | # CONFIG_UIO is not set | 655 | # CONFIG_UIO is not set |
646 | # CONFIG_STAGING is not set | 656 | # CONFIG_STAGING is not set |
647 | 657 | ||
@@ -666,6 +676,11 @@ CONFIG_FILE_LOCKING=y | |||
666 | # CONFIG_FUSE_FS is not set | 676 | # CONFIG_FUSE_FS is not set |
667 | 677 | ||
668 | # | 678 | # |
679 | # Caches | ||
680 | # | ||
681 | # CONFIG_FSCACHE is not set | ||
682 | |||
683 | # | ||
669 | # CD-ROM/DVD Filesystems | 684 | # CD-ROM/DVD Filesystems |
670 | # | 685 | # |
671 | # CONFIG_ISO9660_FS is not set | 686 | # CONFIG_ISO9660_FS is not set |
@@ -709,6 +724,7 @@ CONFIG_CRAMFS=y | |||
709 | # CONFIG_ROMFS_FS is not set | 724 | # CONFIG_ROMFS_FS is not set |
710 | # CONFIG_SYSV_FS is not set | 725 | # CONFIG_SYSV_FS is not set |
711 | # CONFIG_UFS_FS is not set | 726 | # CONFIG_UFS_FS is not set |
727 | # CONFIG_NILFS2_FS is not set | ||
712 | CONFIG_NETWORK_FILESYSTEMS=y | 728 | CONFIG_NETWORK_FILESYSTEMS=y |
713 | CONFIG_NFS_FS=y | 729 | CONFIG_NFS_FS=y |
714 | CONFIG_NFS_V3=y | 730 | CONFIG_NFS_V3=y |
@@ -720,7 +736,6 @@ CONFIG_LOCKD=y | |||
720 | CONFIG_LOCKD_V4=y | 736 | CONFIG_LOCKD_V4=y |
721 | CONFIG_NFS_COMMON=y | 737 | CONFIG_NFS_COMMON=y |
722 | CONFIG_SUNRPC=y | 738 | CONFIG_SUNRPC=y |
723 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
724 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 739 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
725 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 740 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
726 | # CONFIG_SMB_FS is not set | 741 | # CONFIG_SMB_FS is not set |
@@ -752,6 +767,7 @@ CONFIG_MSDOS_PARTITION=y | |||
752 | # CONFIG_SYSV68_PARTITION is not set | 767 | # CONFIG_SYSV68_PARTITION is not set |
753 | # CONFIG_NLS is not set | 768 | # CONFIG_NLS is not set |
754 | # CONFIG_DLM is not set | 769 | # CONFIG_DLM is not set |
770 | # CONFIG_BINARY_PRINTF is not set | ||
755 | 771 | ||
756 | # | 772 | # |
757 | # Library routines | 773 | # Library routines |
@@ -769,6 +785,7 @@ CONFIG_HAS_IOMEM=y | |||
769 | CONFIG_HAS_IOPORT=y | 785 | CONFIG_HAS_IOPORT=y |
770 | CONFIG_HAS_DMA=y | 786 | CONFIG_HAS_DMA=y |
771 | CONFIG_HAVE_LMB=y | 787 | CONFIG_HAVE_LMB=y |
788 | CONFIG_NLATTR=y | ||
772 | 789 | ||
773 | # | 790 | # |
774 | # Kernel hacking | 791 | # Kernel hacking |
@@ -786,6 +803,9 @@ CONFIG_DEBUG_KERNEL=y | |||
786 | CONFIG_DETECT_SOFTLOCKUP=y | 803 | CONFIG_DETECT_SOFTLOCKUP=y |
787 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 804 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
788 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 805 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
806 | CONFIG_DETECT_HUNG_TASK=y | ||
807 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
808 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
789 | CONFIG_SCHED_DEBUG=y | 809 | CONFIG_SCHED_DEBUG=y |
790 | # CONFIG_SCHEDSTATS is not set | 810 | # CONFIG_SCHEDSTATS is not set |
791 | # CONFIG_TIMER_STATS is not set | 811 | # CONFIG_TIMER_STATS is not set |
@@ -812,9 +832,12 @@ CONFIG_DEBUG_INFO=y | |||
812 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 832 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
813 | # CONFIG_FAULT_INJECTION is not set | 833 | # CONFIG_FAULT_INJECTION is not set |
814 | # CONFIG_LATENCYTOP is not set | 834 | # CONFIG_LATENCYTOP is not set |
835 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
815 | CONFIG_HAVE_FUNCTION_TRACER=y | 836 | CONFIG_HAVE_FUNCTION_TRACER=y |
837 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
816 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 838 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
817 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 839 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
840 | CONFIG_TRACING_SUPPORT=y | ||
818 | 841 | ||
819 | # | 842 | # |
820 | # Tracers | 843 | # Tracers |
@@ -822,17 +845,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
822 | # CONFIG_FUNCTION_TRACER is not set | 845 | # CONFIG_FUNCTION_TRACER is not set |
823 | # CONFIG_SCHED_TRACER is not set | 846 | # CONFIG_SCHED_TRACER is not set |
824 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 847 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
848 | # CONFIG_EVENT_TRACER is not set | ||
825 | # CONFIG_BOOT_TRACER is not set | 849 | # CONFIG_BOOT_TRACER is not set |
826 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 850 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
827 | # CONFIG_STACK_TRACER is not set | 851 | # CONFIG_STACK_TRACER is not set |
828 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 852 | # CONFIG_KMEMTRACE is not set |
853 | # CONFIG_WORKQUEUE_TRACER is not set | ||
854 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
829 | # CONFIG_SAMPLES is not set | 855 | # CONFIG_SAMPLES is not set |
830 | CONFIG_HAVE_ARCH_KGDB=y | 856 | CONFIG_HAVE_ARCH_KGDB=y |
831 | # CONFIG_KGDB is not set | 857 | # CONFIG_KGDB is not set |
832 | CONFIG_PRINT_STACK_DEPTH=64 | 858 | CONFIG_PRINT_STACK_DEPTH=64 |
833 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 859 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
834 | # CONFIG_DEBUG_STACK_USAGE is not set | 860 | # CONFIG_DEBUG_STACK_USAGE is not set |
835 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
836 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 861 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
837 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 862 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
838 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 863 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig index 5339bb44cce9..ea8870a34482 100644 --- a/arch/powerpc/configs/pmac32_defconfig +++ b/arch/powerpc/configs/pmac32_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28-rc3 | 3 | # Linux kernel version: 2.6.30-rc7 |
4 | # Tue Nov 11 19:36:51 2008 | 4 | # Mon May 25 14:53:25 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | CONFIG_ALTIVEC=y | 19 | CONFIG_ALTIVEC=y |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -43,7 +44,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
43 | CONFIG_PPC=y | 44 | CONFIG_PPC=y |
44 | CONFIG_EARLY_PRINTK=y | 45 | CONFIG_EARLY_PRINTK=y |
45 | CONFIG_GENERIC_NVRAM=y | 46 | CONFIG_GENERIC_NVRAM=y |
46 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 47 | CONFIG_SCHED_OMIT_FRAME_POINTER=y |
47 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 48 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
48 | CONFIG_PPC_OF=y | 49 | CONFIG_PPC_OF=y |
49 | CONFIG_OF=y | 50 | CONFIG_OF=y |
@@ -52,12 +53,14 @@ CONFIG_OF=y | |||
52 | CONFIG_AUDIT_ARCH=y | 53 | CONFIG_AUDIT_ARCH=y |
53 | CONFIG_GENERIC_BUG=y | 54 | CONFIG_GENERIC_BUG=y |
54 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 55 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
56 | CONFIG_DTC=y | ||
55 | # CONFIG_DEFAULT_UIMAGE is not set | 57 | # CONFIG_DEFAULT_UIMAGE is not set |
56 | CONFIG_HIBERNATE_32=y | 58 | CONFIG_HIBERNATE_32=y |
57 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 59 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
58 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 60 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 65 | ||
63 | # | 66 | # |
@@ -72,14 +75,24 @@ CONFIG_SWAP=y | |||
72 | CONFIG_SYSVIPC=y | 75 | CONFIG_SYSVIPC=y |
73 | CONFIG_SYSVIPC_SYSCTL=y | 76 | CONFIG_SYSVIPC_SYSCTL=y |
74 | CONFIG_POSIX_MQUEUE=y | 77 | CONFIG_POSIX_MQUEUE=y |
78 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 79 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 80 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 81 | # CONFIG_AUDIT is not set |
82 | |||
83 | # | ||
84 | # RCU Subsystem | ||
85 | # | ||
86 | CONFIG_CLASSIC_RCU=y | ||
87 | # CONFIG_TREE_RCU is not set | ||
88 | # CONFIG_PREEMPT_RCU is not set | ||
89 | # CONFIG_TREE_RCU_TRACE is not set | ||
90 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
78 | CONFIG_IKCONFIG=y | 91 | CONFIG_IKCONFIG=y |
79 | CONFIG_IKCONFIG_PROC=y | 92 | CONFIG_IKCONFIG_PROC=y |
80 | CONFIG_LOG_BUF_SHIFT=14 | 93 | CONFIG_LOG_BUF_SHIFT=14 |
81 | # CONFIG_CGROUPS is not set | ||
82 | # CONFIG_GROUP_SCHED is not set | 94 | # CONFIG_GROUP_SCHED is not set |
95 | # CONFIG_CGROUPS is not set | ||
83 | CONFIG_SYSFS_DEPRECATED=y | 96 | CONFIG_SYSFS_DEPRECATED=y |
84 | CONFIG_SYSFS_DEPRECATED_V2=y | 97 | CONFIG_SYSFS_DEPRECATED_V2=y |
85 | # CONFIG_RELAY is not set | 98 | # CONFIG_RELAY is not set |
@@ -88,23 +101,27 @@ CONFIG_NAMESPACES=y | |||
88 | # CONFIG_IPC_NS is not set | 101 | # CONFIG_IPC_NS is not set |
89 | # CONFIG_USER_NS is not set | 102 | # CONFIG_USER_NS is not set |
90 | # CONFIG_PID_NS is not set | 103 | # CONFIG_PID_NS is not set |
104 | # CONFIG_NET_NS is not set | ||
91 | CONFIG_BLK_DEV_INITRD=y | 105 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 106 | CONFIG_INITRAMFS_SOURCE="" |
107 | CONFIG_RD_GZIP=y | ||
108 | CONFIG_RD_BZIP2=y | ||
109 | CONFIG_RD_LZMA=y | ||
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 110 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
94 | CONFIG_SYSCTL=y | 111 | CONFIG_SYSCTL=y |
112 | CONFIG_ANON_INODES=y | ||
95 | # CONFIG_EMBEDDED is not set | 113 | # CONFIG_EMBEDDED is not set |
96 | CONFIG_SYSCTL_SYSCALL=y | 114 | CONFIG_SYSCTL_SYSCALL=y |
97 | CONFIG_KALLSYMS=y | 115 | CONFIG_KALLSYMS=y |
98 | CONFIG_KALLSYMS_ALL=y | 116 | CONFIG_KALLSYMS_ALL=y |
99 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 117 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
118 | # CONFIG_STRIP_ASM_SYMS is not set | ||
100 | CONFIG_HOTPLUG=y | 119 | CONFIG_HOTPLUG=y |
101 | CONFIG_PRINTK=y | 120 | CONFIG_PRINTK=y |
102 | CONFIG_BUG=y | 121 | CONFIG_BUG=y |
103 | CONFIG_ELF_CORE=y | 122 | CONFIG_ELF_CORE=y |
104 | # CONFIG_COMPAT_BRK is not set | ||
105 | CONFIG_BASE_FULL=y | 123 | CONFIG_BASE_FULL=y |
106 | CONFIG_FUTEX=y | 124 | CONFIG_FUTEX=y |
107 | CONFIG_ANON_INODES=y | ||
108 | CONFIG_EPOLL=y | 125 | CONFIG_EPOLL=y |
109 | CONFIG_SIGNALFD=y | 126 | CONFIG_SIGNALFD=y |
110 | CONFIG_TIMERFD=y | 127 | CONFIG_TIMERFD=y |
@@ -114,10 +131,12 @@ CONFIG_AIO=y | |||
114 | CONFIG_VM_EVENT_COUNTERS=y | 131 | CONFIG_VM_EVENT_COUNTERS=y |
115 | CONFIG_PCI_QUIRKS=y | 132 | CONFIG_PCI_QUIRKS=y |
116 | CONFIG_SLUB_DEBUG=y | 133 | CONFIG_SLUB_DEBUG=y |
134 | # CONFIG_COMPAT_BRK is not set | ||
117 | # CONFIG_SLAB is not set | 135 | # CONFIG_SLAB is not set |
118 | CONFIG_SLUB=y | 136 | CONFIG_SLUB=y |
119 | # CONFIG_SLOB is not set | 137 | # CONFIG_SLOB is not set |
120 | CONFIG_PROFILING=y | 138 | CONFIG_PROFILING=y |
139 | CONFIG_TRACEPOINTS=y | ||
121 | # CONFIG_MARKERS is not set | 140 | # CONFIG_MARKERS is not set |
122 | CONFIG_OPROFILE=y | 141 | CONFIG_OPROFILE=y |
123 | CONFIG_HAVE_OPROFILE=y | 142 | CONFIG_HAVE_OPROFILE=y |
@@ -127,10 +146,10 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
127 | CONFIG_HAVE_KPROBES=y | 146 | CONFIG_HAVE_KPROBES=y |
128 | CONFIG_HAVE_KRETPROBES=y | 147 | CONFIG_HAVE_KRETPROBES=y |
129 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 148 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
149 | # CONFIG_SLOW_WORK is not set | ||
130 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 150 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
131 | CONFIG_SLABINFO=y | 151 | CONFIG_SLABINFO=y |
132 | CONFIG_RT_MUTEXES=y | 152 | CONFIG_RT_MUTEXES=y |
133 | # CONFIG_TINY_SHMEM is not set | ||
134 | CONFIG_BASE_SMALL=0 | 153 | CONFIG_BASE_SMALL=0 |
135 | CONFIG_MODULES=y | 154 | CONFIG_MODULES=y |
136 | # CONFIG_MODULE_FORCE_LOAD is not set | 155 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -138,11 +157,8 @@ CONFIG_MODULE_UNLOAD=y | |||
138 | CONFIG_MODULE_FORCE_UNLOAD=y | 157 | CONFIG_MODULE_FORCE_UNLOAD=y |
139 | # CONFIG_MODVERSIONS is not set | 158 | # CONFIG_MODVERSIONS is not set |
140 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 159 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
141 | CONFIG_KMOD=y | ||
142 | CONFIG_BLOCK=y | 160 | CONFIG_BLOCK=y |
143 | CONFIG_LBD=y | 161 | CONFIG_LBD=y |
144 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
145 | CONFIG_LSF=y | ||
146 | CONFIG_BLK_DEV_BSG=y | 162 | CONFIG_BLK_DEV_BSG=y |
147 | # CONFIG_BLK_DEV_INTEGRITY is not set | 163 | # CONFIG_BLK_DEV_INTEGRITY is not set |
148 | 164 | ||
@@ -158,14 +174,11 @@ CONFIG_DEFAULT_AS=y | |||
158 | # CONFIG_DEFAULT_CFQ is not set | 174 | # CONFIG_DEFAULT_CFQ is not set |
159 | # CONFIG_DEFAULT_NOOP is not set | 175 | # CONFIG_DEFAULT_NOOP is not set |
160 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 176 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
161 | CONFIG_CLASSIC_RCU=y | ||
162 | CONFIG_FREEZER=y | 177 | CONFIG_FREEZER=y |
163 | 178 | ||
164 | # | 179 | # |
165 | # Platform support | 180 | # Platform support |
166 | # | 181 | # |
167 | CONFIG_PPC_MULTIPLATFORM=y | ||
168 | CONFIG_CLASSIC32=y | ||
169 | # CONFIG_PPC_CHRP is not set | 182 | # CONFIG_PPC_CHRP is not set |
170 | # CONFIG_MPC5121_ADS is not set | 183 | # CONFIG_MPC5121_ADS is not set |
171 | # CONFIG_MPC5121_GENERIC is not set | 184 | # CONFIG_MPC5121_GENERIC is not set |
@@ -178,7 +191,9 @@ CONFIG_PPC_PMAC=y | |||
178 | # CONFIG_PPC_83xx is not set | 191 | # CONFIG_PPC_83xx is not set |
179 | # CONFIG_PPC_86xx is not set | 192 | # CONFIG_PPC_86xx is not set |
180 | # CONFIG_EMBEDDED6xx is not set | 193 | # CONFIG_EMBEDDED6xx is not set |
194 | # CONFIG_AMIGAONE is not set | ||
181 | CONFIG_PPC_NATIVE=y | 195 | CONFIG_PPC_NATIVE=y |
196 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
182 | # CONFIG_IPIC is not set | 197 | # CONFIG_IPIC is not set |
183 | CONFIG_MPIC=y | 198 | CONFIG_MPIC=y |
184 | # CONFIG_MPIC_WEIRD is not set | 199 | # CONFIG_MPIC_WEIRD is not set |
@@ -212,11 +227,12 @@ CONFIG_CPU_FREQ_PMAC=y | |||
212 | CONFIG_PPC601_SYNC_FIX=y | 227 | CONFIG_PPC601_SYNC_FIX=y |
213 | # CONFIG_TAU is not set | 228 | # CONFIG_TAU is not set |
214 | # CONFIG_FSL_ULI1575 is not set | 229 | # CONFIG_FSL_ULI1575 is not set |
230 | # CONFIG_SIMPLE_GPIO is not set | ||
215 | 231 | ||
216 | # | 232 | # |
217 | # Kernel options | 233 | # Kernel options |
218 | # | 234 | # |
219 | # CONFIG_HIGHMEM is not set | 235 | CONFIG_HIGHMEM=y |
220 | CONFIG_TICK_ONESHOT=y | 236 | CONFIG_TICK_ONESHOT=y |
221 | CONFIG_NO_HZ=y | 237 | CONFIG_NO_HZ=y |
222 | CONFIG_HIGH_RES_TIMERS=y | 238 | CONFIG_HIGH_RES_TIMERS=y |
@@ -239,6 +255,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | |||
239 | CONFIG_ARCH_HAS_WALK_MEMORY=y | 255 | CONFIG_ARCH_HAS_WALK_MEMORY=y |
240 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | 256 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y |
241 | # CONFIG_KEXEC is not set | 257 | # CONFIG_KEXEC is not set |
258 | # CONFIG_CRASH_DUMP is not set | ||
242 | CONFIG_ARCH_FLATMEM_ENABLE=y | 259 | CONFIG_ARCH_FLATMEM_ENABLE=y |
243 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 260 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
244 | CONFIG_SELECT_MEMORY_MODEL=y | 261 | CONFIG_SELECT_MEMORY_MODEL=y |
@@ -250,12 +267,17 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
250 | CONFIG_PAGEFLAGS_EXTENDED=y | 267 | CONFIG_PAGEFLAGS_EXTENDED=y |
251 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 268 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
252 | # CONFIG_MIGRATION is not set | 269 | # CONFIG_MIGRATION is not set |
253 | # CONFIG_RESOURCES_64BIT is not set | ||
254 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 270 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
255 | CONFIG_ZONE_DMA_FLAG=1 | 271 | CONFIG_ZONE_DMA_FLAG=1 |
256 | CONFIG_BOUNCE=y | 272 | CONFIG_BOUNCE=y |
257 | CONFIG_VIRT_TO_BUS=y | 273 | CONFIG_VIRT_TO_BUS=y |
258 | CONFIG_UNEVICTABLE_LRU=y | 274 | CONFIG_UNEVICTABLE_LRU=y |
275 | CONFIG_HAVE_MLOCK=y | ||
276 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
277 | CONFIG_PPC_4K_PAGES=y | ||
278 | # CONFIG_PPC_16K_PAGES is not set | ||
279 | # CONFIG_PPC_64K_PAGES is not set | ||
280 | # CONFIG_PPC_256K_PAGES is not set | ||
259 | CONFIG_FORCE_MAX_ZONEORDER=11 | 281 | CONFIG_FORCE_MAX_ZONEORDER=11 |
260 | CONFIG_PROC_DEVICETREE=y | 282 | CONFIG_PROC_DEVICETREE=y |
261 | # CONFIG_CMDLINE_BOOL is not set | 283 | # CONFIG_CMDLINE_BOOL is not set |
@@ -288,6 +310,8 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
288 | # CONFIG_PCI_MSI is not set | 310 | # CONFIG_PCI_MSI is not set |
289 | # CONFIG_PCI_LEGACY is not set | 311 | # CONFIG_PCI_LEGACY is not set |
290 | # CONFIG_PCI_DEBUG is not set | 312 | # CONFIG_PCI_DEBUG is not set |
313 | # CONFIG_PCI_STUB is not set | ||
314 | # CONFIG_PCI_IOV is not set | ||
291 | CONFIG_PCCARD=m | 315 | CONFIG_PCCARD=m |
292 | # CONFIG_PCMCIA_DEBUG is not set | 316 | # CONFIG_PCMCIA_DEBUG is not set |
293 | CONFIG_PCMCIA=m | 317 | CONFIG_PCMCIA=m |
@@ -397,6 +421,8 @@ CONFIG_NETFILTER_XTABLES=m | |||
397 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 421 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
398 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set | 422 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set |
399 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | 423 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set |
424 | CONFIG_NETFILTER_XT_TARGET_HL=m | ||
425 | # CONFIG_NETFILTER_XT_TARGET_LED is not set | ||
400 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 426 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
401 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | 427 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m |
402 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 428 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
@@ -405,6 +431,7 @@ CONFIG_NETFILTER_XT_TARGET_RATEEST=m | |||
405 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | 431 | CONFIG_NETFILTER_XT_TARGET_TRACE=m |
406 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | 432 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m |
407 | CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m | 433 | CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m |
434 | # CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set | ||
408 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 435 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
409 | # CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set | 436 | # CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set |
410 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | 437 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m |
@@ -415,6 +442,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m | |||
415 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 442 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
416 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | 443 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set |
417 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 444 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
445 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
418 | CONFIG_NETFILTER_XT_MATCH_IPRANGE=m | 446 | CONFIG_NETFILTER_XT_MATCH_IPRANGE=m |
419 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 447 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
420 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 448 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
@@ -478,17 +506,15 @@ CONFIG_IP_NF_ARPFILTER=m | |||
478 | CONFIG_IP_NF_ARP_MANGLE=m | 506 | CONFIG_IP_NF_ARP_MANGLE=m |
479 | CONFIG_IP_DCCP=m | 507 | CONFIG_IP_DCCP=m |
480 | CONFIG_INET_DCCP_DIAG=m | 508 | CONFIG_INET_DCCP_DIAG=m |
481 | CONFIG_IP_DCCP_ACKVEC=y | ||
482 | 509 | ||
483 | # | 510 | # |
484 | # DCCP CCIDs Configuration (EXPERIMENTAL) | 511 | # DCCP CCIDs Configuration (EXPERIMENTAL) |
485 | # | 512 | # |
486 | CONFIG_IP_DCCP_CCID2=m | ||
487 | # CONFIG_IP_DCCP_CCID2_DEBUG is not set | 513 | # CONFIG_IP_DCCP_CCID2_DEBUG is not set |
488 | CONFIG_IP_DCCP_CCID3=m | 514 | CONFIG_IP_DCCP_CCID3=y |
489 | # CONFIG_IP_DCCP_CCID3_DEBUG is not set | 515 | # CONFIG_IP_DCCP_CCID3_DEBUG is not set |
490 | CONFIG_IP_DCCP_CCID3_RTO=100 | 516 | CONFIG_IP_DCCP_CCID3_RTO=100 |
491 | CONFIG_IP_DCCP_TFRC_LIB=m | 517 | CONFIG_IP_DCCP_TFRC_LIB=y |
492 | 518 | ||
493 | # | 519 | # |
494 | # DCCP Kernel Hacking | 520 | # DCCP Kernel Hacking |
@@ -508,13 +534,16 @@ CONFIG_IP_DCCP_TFRC_LIB=m | |||
508 | # CONFIG_LAPB is not set | 534 | # CONFIG_LAPB is not set |
509 | # CONFIG_ECONET is not set | 535 | # CONFIG_ECONET is not set |
510 | # CONFIG_WAN_ROUTER is not set | 536 | # CONFIG_WAN_ROUTER is not set |
537 | # CONFIG_PHONET is not set | ||
511 | # CONFIG_NET_SCHED is not set | 538 | # CONFIG_NET_SCHED is not set |
512 | CONFIG_NET_CLS_ROUTE=y | 539 | CONFIG_NET_CLS_ROUTE=y |
540 | # CONFIG_DCB is not set | ||
513 | 541 | ||
514 | # | 542 | # |
515 | # Network testing | 543 | # Network testing |
516 | # | 544 | # |
517 | # CONFIG_NET_PKTGEN is not set | 545 | # CONFIG_NET_PKTGEN is not set |
546 | # CONFIG_NET_DROP_MONITOR is not set | ||
518 | # CONFIG_HAMRADIO is not set | 547 | # CONFIG_HAMRADIO is not set |
519 | # CONFIG_CAN is not set | 548 | # CONFIG_CAN is not set |
520 | CONFIG_IRDA=m | 549 | CONFIG_IRDA=m |
@@ -577,8 +606,6 @@ CONFIG_BT_HIDP=m | |||
577 | # | 606 | # |
578 | # Bluetooth device drivers | 607 | # Bluetooth device drivers |
579 | # | 608 | # |
580 | CONFIG_BT_HCIUSB=m | ||
581 | # CONFIG_BT_HCIUSB_SCO is not set | ||
582 | # CONFIG_BT_HCIBTUSB is not set | 609 | # CONFIG_BT_HCIBTUSB is not set |
583 | # CONFIG_BT_HCIUART is not set | 610 | # CONFIG_BT_HCIUART is not set |
584 | CONFIG_BT_HCIBCM203X=m | 611 | CONFIG_BT_HCIBCM203X=m |
@@ -590,31 +617,27 @@ CONFIG_BT_HCIBFUSB=m | |||
590 | # CONFIG_BT_HCIBTUART is not set | 617 | # CONFIG_BT_HCIBTUART is not set |
591 | # CONFIG_BT_HCIVHCI is not set | 618 | # CONFIG_BT_HCIVHCI is not set |
592 | # CONFIG_AF_RXRPC is not set | 619 | # CONFIG_AF_RXRPC is not set |
593 | # CONFIG_PHONET is not set | ||
594 | CONFIG_WIRELESS=y | 620 | CONFIG_WIRELESS=y |
595 | CONFIG_CFG80211=m | 621 | CONFIG_CFG80211=m |
596 | CONFIG_NL80211=y | 622 | # CONFIG_CFG80211_REG_DEBUG is not set |
597 | CONFIG_WIRELESS_OLD_REGULATORY=y | 623 | CONFIG_WIRELESS_OLD_REGULATORY=y |
598 | CONFIG_WIRELESS_EXT=y | 624 | CONFIG_WIRELESS_EXT=y |
599 | CONFIG_WIRELESS_EXT_SYSFS=y | 625 | CONFIG_WIRELESS_EXT_SYSFS=y |
626 | # CONFIG_LIB80211 is not set | ||
600 | CONFIG_MAC80211=m | 627 | CONFIG_MAC80211=m |
601 | 628 | ||
602 | # | 629 | # |
603 | # Rate control algorithm selection | 630 | # Rate control algorithm selection |
604 | # | 631 | # |
605 | CONFIG_MAC80211_RC_PID=y | 632 | CONFIG_MAC80211_RC_MINSTREL=y |
606 | # CONFIG_MAC80211_RC_MINSTREL is not set | 633 | # CONFIG_MAC80211_RC_DEFAULT_PID is not set |
607 | CONFIG_MAC80211_RC_DEFAULT_PID=y | 634 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y |
608 | # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set | 635 | CONFIG_MAC80211_RC_DEFAULT="minstrel" |
609 | CONFIG_MAC80211_RC_DEFAULT="pid" | ||
610 | # CONFIG_MAC80211_MESH is not set | 636 | # CONFIG_MAC80211_MESH is not set |
611 | CONFIG_MAC80211_LEDS=y | 637 | CONFIG_MAC80211_LEDS=y |
638 | # CONFIG_MAC80211_DEBUGFS is not set | ||
612 | # CONFIG_MAC80211_DEBUG_MENU is not set | 639 | # CONFIG_MAC80211_DEBUG_MENU is not set |
613 | CONFIG_IEEE80211=m | 640 | # CONFIG_WIMAX is not set |
614 | # CONFIG_IEEE80211_DEBUG is not set | ||
615 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
616 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
617 | CONFIG_IEEE80211_CRYPT_TKIP=m | ||
618 | # CONFIG_RFKILL is not set | 641 | # CONFIG_RFKILL is not set |
619 | # CONFIG_NET_9P is not set | 642 | # CONFIG_NET_9P is not set |
620 | 643 | ||
@@ -662,17 +685,27 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
662 | # CONFIG_BLK_DEV_HD is not set | 685 | # CONFIG_BLK_DEV_HD is not set |
663 | CONFIG_MISC_DEVICES=y | 686 | CONFIG_MISC_DEVICES=y |
664 | # CONFIG_PHANTOM is not set | 687 | # CONFIG_PHANTOM is not set |
665 | # CONFIG_EEPROM_93CX6 is not set | ||
666 | # CONFIG_SGI_IOC4 is not set | 688 | # CONFIG_SGI_IOC4 is not set |
667 | # CONFIG_TIFM_CORE is not set | 689 | # CONFIG_TIFM_CORE is not set |
690 | # CONFIG_ICS932S401 is not set | ||
668 | # CONFIG_ENCLOSURE_SERVICES is not set | 691 | # CONFIG_ENCLOSURE_SERVICES is not set |
669 | # CONFIG_HP_ILO is not set | 692 | # CONFIG_HP_ILO is not set |
693 | # CONFIG_ISL29003 is not set | ||
694 | # CONFIG_C2PORT is not set | ||
695 | |||
696 | # | ||
697 | # EEPROM support | ||
698 | # | ||
699 | # CONFIG_EEPROM_AT24 is not set | ||
700 | # CONFIG_EEPROM_LEGACY is not set | ||
701 | # CONFIG_EEPROM_93CX6 is not set | ||
670 | CONFIG_HAVE_IDE=y | 702 | CONFIG_HAVE_IDE=y |
671 | CONFIG_IDE=y | 703 | CONFIG_IDE=y |
672 | 704 | ||
673 | # | 705 | # |
674 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 706 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
675 | # | 707 | # |
708 | CONFIG_IDE_XFER_MODE=y | ||
676 | CONFIG_IDE_TIMINGS=y | 709 | CONFIG_IDE_TIMINGS=y |
677 | CONFIG_IDE_ATAPI=y | 710 | CONFIG_IDE_ATAPI=y |
678 | # CONFIG_BLK_DEV_IDE_SATA is not set | 711 | # CONFIG_BLK_DEV_IDE_SATA is not set |
@@ -684,7 +717,6 @@ CONFIG_BLK_DEV_IDECS=m | |||
684 | CONFIG_BLK_DEV_IDECD=y | 717 | CONFIG_BLK_DEV_IDECD=y |
685 | CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y | 718 | CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y |
686 | # CONFIG_BLK_DEV_IDETAPE is not set | 719 | # CONFIG_BLK_DEV_IDETAPE is not set |
687 | CONFIG_BLK_DEV_IDESCSI=y | ||
688 | # CONFIG_IDE_TASK_IOCTL is not set | 720 | # CONFIG_IDE_TASK_IOCTL is not set |
689 | CONFIG_IDE_PROC_FS=y | 721 | CONFIG_IDE_PROC_FS=y |
690 | 722 | ||
@@ -714,6 +746,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y | |||
714 | # CONFIG_BLK_DEV_JMICRON is not set | 746 | # CONFIG_BLK_DEV_JMICRON is not set |
715 | # CONFIG_BLK_DEV_SC1200 is not set | 747 | # CONFIG_BLK_DEV_SC1200 is not set |
716 | # CONFIG_BLK_DEV_PIIX is not set | 748 | # CONFIG_BLK_DEV_PIIX is not set |
749 | # CONFIG_BLK_DEV_IT8172 is not set | ||
717 | # CONFIG_BLK_DEV_IT8213 is not set | 750 | # CONFIG_BLK_DEV_IT8213 is not set |
718 | # CONFIG_BLK_DEV_IT821X is not set | 751 | # CONFIG_BLK_DEV_IT821X is not set |
719 | # CONFIG_BLK_DEV_NS87415 is not set | 752 | # CONFIG_BLK_DEV_NS87415 is not set |
@@ -728,7 +761,6 @@ CONFIG_BLK_DEV_SL82C105=y | |||
728 | # CONFIG_BLK_DEV_TC86C001 is not set | 761 | # CONFIG_BLK_DEV_TC86C001 is not set |
729 | CONFIG_BLK_DEV_IDE_PMAC=y | 762 | CONFIG_BLK_DEV_IDE_PMAC=y |
730 | CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y | 763 | CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y |
731 | CONFIG_BLK_DEV_IDEDMA_PMAC=y | ||
732 | CONFIG_BLK_DEV_IDEDMA=y | 764 | CONFIG_BLK_DEV_IDEDMA=y |
733 | 765 | ||
734 | # | 766 | # |
@@ -772,6 +804,7 @@ CONFIG_SCSI_FC_ATTRS=y | |||
772 | # CONFIG_SCSI_SRP_ATTRS is not set | 804 | # CONFIG_SCSI_SRP_ATTRS is not set |
773 | CONFIG_SCSI_LOWLEVEL=y | 805 | CONFIG_SCSI_LOWLEVEL=y |
774 | # CONFIG_ISCSI_TCP is not set | 806 | # CONFIG_ISCSI_TCP is not set |
807 | # CONFIG_SCSI_CXGB3_ISCSI is not set | ||
775 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 808 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
776 | # CONFIG_SCSI_3W_9XXX is not set | 809 | # CONFIG_SCSI_3W_9XXX is not set |
777 | # CONFIG_SCSI_ACARD is not set | 810 | # CONFIG_SCSI_ACARD is not set |
@@ -791,8 +824,12 @@ CONFIG_SCSI_AIC7XXX_OLD=m | |||
791 | # CONFIG_MEGARAID_NEWGEN is not set | 824 | # CONFIG_MEGARAID_NEWGEN is not set |
792 | # CONFIG_MEGARAID_LEGACY is not set | 825 | # CONFIG_MEGARAID_LEGACY is not set |
793 | # CONFIG_MEGARAID_SAS is not set | 826 | # CONFIG_MEGARAID_SAS is not set |
827 | # CONFIG_SCSI_MPT2SAS is not set | ||
794 | # CONFIG_SCSI_HPTIOP is not set | 828 | # CONFIG_SCSI_HPTIOP is not set |
795 | # CONFIG_SCSI_BUSLOGIC is not set | 829 | # CONFIG_SCSI_BUSLOGIC is not set |
830 | # CONFIG_LIBFC is not set | ||
831 | # CONFIG_LIBFCOE is not set | ||
832 | # CONFIG_FCOE is not set | ||
796 | # CONFIG_SCSI_DMX3191D is not set | 833 | # CONFIG_SCSI_DMX3191D is not set |
797 | # CONFIG_SCSI_EATA is not set | 834 | # CONFIG_SCSI_EATA is not set |
798 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 835 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -822,6 +859,7 @@ CONFIG_SCSI_MAC53C94=y | |||
822 | # CONFIG_SCSI_SRP is not set | 859 | # CONFIG_SCSI_SRP is not set |
823 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | 860 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |
824 | # CONFIG_SCSI_DH is not set | 861 | # CONFIG_SCSI_DH is not set |
862 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
825 | # CONFIG_ATA is not set | 863 | # CONFIG_ATA is not set |
826 | CONFIG_MD=y | 864 | CONFIG_MD=y |
827 | CONFIG_BLK_DEV_MD=m | 865 | CONFIG_BLK_DEV_MD=m |
@@ -881,6 +919,7 @@ CONFIG_THERM_ADT746X=m | |||
881 | # CONFIG_ANSLCD is not set | 919 | # CONFIG_ANSLCD is not set |
882 | CONFIG_PMAC_RACKMETER=m | 920 | CONFIG_PMAC_RACKMETER=m |
883 | CONFIG_NETDEVICES=y | 921 | CONFIG_NETDEVICES=y |
922 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
884 | CONFIG_DUMMY=m | 923 | CONFIG_DUMMY=m |
885 | # CONFIG_BONDING is not set | 924 | # CONFIG_BONDING is not set |
886 | # CONFIG_MACVLAN is not set | 925 | # CONFIG_MACVLAN is not set |
@@ -898,6 +937,8 @@ CONFIG_BMAC=y | |||
898 | CONFIG_SUNGEM=y | 937 | CONFIG_SUNGEM=y |
899 | # CONFIG_CASSINI is not set | 938 | # CONFIG_CASSINI is not set |
900 | # CONFIG_NET_VENDOR_3COM is not set | 939 | # CONFIG_NET_VENDOR_3COM is not set |
940 | # CONFIG_ETHOC is not set | ||
941 | # CONFIG_DNET is not set | ||
901 | # CONFIG_NET_TULIP is not set | 942 | # CONFIG_NET_TULIP is not set |
902 | # CONFIG_HP100 is not set | 943 | # CONFIG_HP100 is not set |
903 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 944 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -913,7 +954,6 @@ CONFIG_PCNET32=y | |||
913 | # CONFIG_ADAPTEC_STARFIRE is not set | 954 | # CONFIG_ADAPTEC_STARFIRE is not set |
914 | # CONFIG_B44 is not set | 955 | # CONFIG_B44 is not set |
915 | # CONFIG_FORCEDETH is not set | 956 | # CONFIG_FORCEDETH is not set |
916 | # CONFIG_EEPRO100 is not set | ||
917 | # CONFIG_E100 is not set | 957 | # CONFIG_E100 is not set |
918 | # CONFIG_FEALNX is not set | 958 | # CONFIG_FEALNX is not set |
919 | # CONFIG_NATSEMI is not set | 959 | # CONFIG_NATSEMI is not set |
@@ -923,6 +963,7 @@ CONFIG_PCNET32=y | |||
923 | # CONFIG_R6040 is not set | 963 | # CONFIG_R6040 is not set |
924 | # CONFIG_SIS900 is not set | 964 | # CONFIG_SIS900 is not set |
925 | # CONFIG_EPIC100 is not set | 965 | # CONFIG_EPIC100 is not set |
966 | # CONFIG_SMSC9420 is not set | ||
926 | # CONFIG_SUNDANCE is not set | 967 | # CONFIG_SUNDANCE is not set |
927 | # CONFIG_TLAN is not set | 968 | # CONFIG_TLAN is not set |
928 | # CONFIG_VIA_RHINE is not set | 969 | # CONFIG_VIA_RHINE is not set |
@@ -935,6 +976,7 @@ CONFIG_NETDEV_1000=y | |||
935 | # CONFIG_E1000E is not set | 976 | # CONFIG_E1000E is not set |
936 | # CONFIG_IP1000 is not set | 977 | # CONFIG_IP1000 is not set |
937 | # CONFIG_IGB is not set | 978 | # CONFIG_IGB is not set |
979 | # CONFIG_IGBVF is not set | ||
938 | # CONFIG_NS83820 is not set | 980 | # CONFIG_NS83820 is not set |
939 | # CONFIG_HAMACHI is not set | 981 | # CONFIG_HAMACHI is not set |
940 | # CONFIG_YELLOWFIN is not set | 982 | # CONFIG_YELLOWFIN is not set |
@@ -945,18 +987,20 @@ CONFIG_NETDEV_1000=y | |||
945 | # CONFIG_VIA_VELOCITY is not set | 987 | # CONFIG_VIA_VELOCITY is not set |
946 | # CONFIG_TIGON3 is not set | 988 | # CONFIG_TIGON3 is not set |
947 | # CONFIG_BNX2 is not set | 989 | # CONFIG_BNX2 is not set |
948 | # CONFIG_MV643XX_ETH is not set | ||
949 | # CONFIG_QLA3XXX is not set | 990 | # CONFIG_QLA3XXX is not set |
950 | # CONFIG_ATL1 is not set | 991 | # CONFIG_ATL1 is not set |
951 | # CONFIG_ATL1E is not set | 992 | # CONFIG_ATL1E is not set |
993 | # CONFIG_ATL1C is not set | ||
952 | # CONFIG_JME is not set | 994 | # CONFIG_JME is not set |
953 | CONFIG_NETDEV_10000=y | 995 | CONFIG_NETDEV_10000=y |
954 | # CONFIG_CHELSIO_T1 is not set | 996 | # CONFIG_CHELSIO_T1 is not set |
997 | CONFIG_CHELSIO_T3_DEPENDS=y | ||
955 | # CONFIG_CHELSIO_T3 is not set | 998 | # CONFIG_CHELSIO_T3 is not set |
956 | # CONFIG_ENIC is not set | 999 | # CONFIG_ENIC is not set |
957 | # CONFIG_IXGBE is not set | 1000 | # CONFIG_IXGBE is not set |
958 | # CONFIG_IXGB is not set | 1001 | # CONFIG_IXGB is not set |
959 | # CONFIG_S2IO is not set | 1002 | # CONFIG_S2IO is not set |
1003 | # CONFIG_VXGE is not set | ||
960 | # CONFIG_MYRI10GE is not set | 1004 | # CONFIG_MYRI10GE is not set |
961 | # CONFIG_NETXEN_NIC is not set | 1005 | # CONFIG_NETXEN_NIC is not set |
962 | # CONFIG_NIU is not set | 1006 | # CONFIG_NIU is not set |
@@ -966,6 +1010,7 @@ CONFIG_NETDEV_10000=y | |||
966 | # CONFIG_BNX2X is not set | 1010 | # CONFIG_BNX2X is not set |
967 | # CONFIG_QLGE is not set | 1011 | # CONFIG_QLGE is not set |
968 | # CONFIG_SFC is not set | 1012 | # CONFIG_SFC is not set |
1013 | # CONFIG_BE2NET is not set | ||
969 | # CONFIG_TR is not set | 1014 | # CONFIG_TR is not set |
970 | 1015 | ||
971 | # | 1016 | # |
@@ -974,20 +1019,11 @@ CONFIG_NETDEV_10000=y | |||
974 | # CONFIG_WLAN_PRE80211 is not set | 1019 | # CONFIG_WLAN_PRE80211 is not set |
975 | CONFIG_WLAN_80211=y | 1020 | CONFIG_WLAN_80211=y |
976 | # CONFIG_PCMCIA_RAYCS is not set | 1021 | # CONFIG_PCMCIA_RAYCS is not set |
977 | # CONFIG_IPW2100 is not set | ||
978 | # CONFIG_IPW2200 is not set | ||
979 | # CONFIG_LIBERTAS is not set | 1022 | # CONFIG_LIBERTAS is not set |
980 | # CONFIG_LIBERTAS_THINFIRM is not set | 1023 | # CONFIG_LIBERTAS_THINFIRM is not set |
981 | # CONFIG_AIRO is not set | 1024 | # CONFIG_AIRO is not set |
982 | CONFIG_HERMES=m | ||
983 | CONFIG_APPLE_AIRPORT=m | ||
984 | # CONFIG_PLX_HERMES is not set | ||
985 | # CONFIG_TMD_HERMES is not set | ||
986 | # CONFIG_NORTEL_HERMES is not set | ||
987 | CONFIG_PCI_HERMES=m | ||
988 | CONFIG_PCMCIA_HERMES=m | ||
989 | # CONFIG_PCMCIA_SPECTRUM is not set | ||
990 | # CONFIG_ATMEL is not set | 1025 | # CONFIG_ATMEL is not set |
1026 | # CONFIG_AT76C50X_USB is not set | ||
991 | # CONFIG_AIRO_CS is not set | 1027 | # CONFIG_AIRO_CS is not set |
992 | # CONFIG_PCMCIA_WL3501 is not set | 1028 | # CONFIG_PCMCIA_WL3501 is not set |
993 | CONFIG_PRISM54=m | 1029 | CONFIG_PRISM54=m |
@@ -997,15 +1033,17 @@ CONFIG_PRISM54=m | |||
997 | # CONFIG_RTL8187 is not set | 1033 | # CONFIG_RTL8187 is not set |
998 | # CONFIG_ADM8211 is not set | 1034 | # CONFIG_ADM8211 is not set |
999 | # CONFIG_MAC80211_HWSIM is not set | 1035 | # CONFIG_MAC80211_HWSIM is not set |
1036 | # CONFIG_MWL8K is not set | ||
1000 | CONFIG_P54_COMMON=m | 1037 | CONFIG_P54_COMMON=m |
1001 | # CONFIG_P54_USB is not set | 1038 | # CONFIG_P54_USB is not set |
1002 | # CONFIG_P54_PCI is not set | 1039 | # CONFIG_P54_PCI is not set |
1040 | CONFIG_P54_LEDS=y | ||
1003 | # CONFIG_ATH5K is not set | 1041 | # CONFIG_ATH5K is not set |
1004 | # CONFIG_ATH9K is not set | 1042 | # CONFIG_ATH9K is not set |
1005 | # CONFIG_IWLCORE is not set | 1043 | # CONFIG_AR9170_USB is not set |
1006 | # CONFIG_IWLWIFI_LEDS is not set | 1044 | # CONFIG_IPW2100 is not set |
1007 | # CONFIG_IWLAGN is not set | 1045 | # CONFIG_IPW2200 is not set |
1008 | # CONFIG_IWL3945 is not set | 1046 | # CONFIG_IWLWIFI is not set |
1009 | # CONFIG_HOSTAP is not set | 1047 | # CONFIG_HOSTAP is not set |
1010 | CONFIG_B43=m | 1048 | CONFIG_B43=m |
1011 | CONFIG_B43_PCI_AUTOSELECT=y | 1049 | CONFIG_B43_PCI_AUTOSELECT=y |
@@ -1025,6 +1063,19 @@ CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y | |||
1025 | # CONFIG_B43LEGACY_PIO_MODE is not set | 1063 | # CONFIG_B43LEGACY_PIO_MODE is not set |
1026 | # CONFIG_ZD1211RW is not set | 1064 | # CONFIG_ZD1211RW is not set |
1027 | # CONFIG_RT2X00 is not set | 1065 | # CONFIG_RT2X00 is not set |
1066 | CONFIG_HERMES=m | ||
1067 | CONFIG_HERMES_CACHE_FW_ON_INIT=y | ||
1068 | CONFIG_APPLE_AIRPORT=m | ||
1069 | # CONFIG_PLX_HERMES is not set | ||
1070 | # CONFIG_TMD_HERMES is not set | ||
1071 | # CONFIG_NORTEL_HERMES is not set | ||
1072 | CONFIG_PCI_HERMES=m | ||
1073 | CONFIG_PCMCIA_HERMES=m | ||
1074 | # CONFIG_PCMCIA_SPECTRUM is not set | ||
1075 | |||
1076 | # | ||
1077 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
1078 | # | ||
1028 | 1079 | ||
1029 | # | 1080 | # |
1030 | # USB Network Adapters | 1081 | # USB Network Adapters |
@@ -1036,6 +1087,7 @@ CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y | |||
1036 | CONFIG_USB_USBNET=m | 1087 | CONFIG_USB_USBNET=m |
1037 | CONFIG_USB_NET_AX8817X=m | 1088 | CONFIG_USB_NET_AX8817X=m |
1038 | CONFIG_USB_NET_CDCETHER=m | 1089 | CONFIG_USB_NET_CDCETHER=m |
1090 | # CONFIG_USB_NET_CDC_EEM is not set | ||
1039 | # CONFIG_USB_NET_DM9601 is not set | 1091 | # CONFIG_USB_NET_DM9601 is not set |
1040 | # CONFIG_USB_NET_SMSC95XX is not set | 1092 | # CONFIG_USB_NET_SMSC95XX is not set |
1041 | # CONFIG_USB_NET_GL620A is not set | 1093 | # CONFIG_USB_NET_GL620A is not set |
@@ -1099,7 +1151,7 @@ CONFIG_INPUT_KEYBOARD=y | |||
1099 | CONFIG_INPUT_MOUSE=y | 1151 | CONFIG_INPUT_MOUSE=y |
1100 | # CONFIG_MOUSE_PS2 is not set | 1152 | # CONFIG_MOUSE_PS2 is not set |
1101 | # CONFIG_MOUSE_SERIAL is not set | 1153 | # CONFIG_MOUSE_SERIAL is not set |
1102 | # CONFIG_MOUSE_APPLETOUCH is not set | 1154 | CONFIG_MOUSE_APPLETOUCH=y |
1103 | # CONFIG_MOUSE_BCM5974 is not set | 1155 | # CONFIG_MOUSE_BCM5974 is not set |
1104 | # CONFIG_MOUSE_VSXXXAA is not set | 1156 | # CONFIG_MOUSE_VSXXXAA is not set |
1105 | # CONFIG_INPUT_JOYSTICK is not set | 1157 | # CONFIG_INPUT_JOYSTICK is not set |
@@ -1150,10 +1202,13 @@ CONFIG_SERIAL_PMACZILOG_TTYS=y | |||
1150 | # CONFIG_SERIAL_JSM is not set | 1202 | # CONFIG_SERIAL_JSM is not set |
1151 | # CONFIG_SERIAL_OF_PLATFORM is not set | 1203 | # CONFIG_SERIAL_OF_PLATFORM is not set |
1152 | CONFIG_UNIX98_PTYS=y | 1204 | CONFIG_UNIX98_PTYS=y |
1205 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
1153 | CONFIG_LEGACY_PTYS=y | 1206 | CONFIG_LEGACY_PTYS=y |
1154 | CONFIG_LEGACY_PTY_COUNT=256 | 1207 | CONFIG_LEGACY_PTY_COUNT=256 |
1208 | # CONFIG_HVC_UDBG is not set | ||
1155 | # CONFIG_IPMI_HANDLER is not set | 1209 | # CONFIG_IPMI_HANDLER is not set |
1156 | CONFIG_HW_RANDOM=m | 1210 | CONFIG_HW_RANDOM=m |
1211 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
1157 | CONFIG_NVRAM=y | 1212 | CONFIG_NVRAM=y |
1158 | CONFIG_GEN_RTC=y | 1213 | CONFIG_GEN_RTC=y |
1159 | # CONFIG_GEN_RTC_X is not set | 1214 | # CONFIG_GEN_RTC_X is not set |
@@ -1232,12 +1287,9 @@ CONFIG_I2C_POWERMAC=y | |||
1232 | # Miscellaneous I2C Chip support | 1287 | # Miscellaneous I2C Chip support |
1233 | # | 1288 | # |
1234 | # CONFIG_DS1682 is not set | 1289 | # CONFIG_DS1682 is not set |
1235 | # CONFIG_EEPROM_AT24 is not set | ||
1236 | # CONFIG_EEPROM_LEGACY is not set | ||
1237 | # CONFIG_SENSORS_PCF8574 is not set | 1290 | # CONFIG_SENSORS_PCF8574 is not set |
1238 | # CONFIG_PCF8575 is not set | 1291 | # CONFIG_PCF8575 is not set |
1239 | # CONFIG_SENSORS_PCA9539 is not set | 1292 | # CONFIG_SENSORS_PCA9539 is not set |
1240 | # CONFIG_SENSORS_PCF8591 is not set | ||
1241 | # CONFIG_SENSORS_MAX6875 is not set | 1293 | # CONFIG_SENSORS_MAX6875 is not set |
1242 | # CONFIG_SENSORS_TSL2550 is not set | 1294 | # CONFIG_SENSORS_TSL2550 is not set |
1243 | # CONFIG_I2C_DEBUG_CORE is not set | 1295 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1259,11 +1311,11 @@ CONFIG_BATTERY_PMU=y | |||
1259 | # CONFIG_THERMAL is not set | 1311 | # CONFIG_THERMAL is not set |
1260 | # CONFIG_THERMAL_HWMON is not set | 1312 | # CONFIG_THERMAL_HWMON is not set |
1261 | # CONFIG_WATCHDOG is not set | 1313 | # CONFIG_WATCHDOG is not set |
1314 | CONFIG_SSB_POSSIBLE=y | ||
1262 | 1315 | ||
1263 | # | 1316 | # |
1264 | # Sonics Silicon Backplane | 1317 | # Sonics Silicon Backplane |
1265 | # | 1318 | # |
1266 | CONFIG_SSB_POSSIBLE=y | ||
1267 | CONFIG_SSB=m | 1319 | CONFIG_SSB=m |
1268 | CONFIG_SSB_SPROM=y | 1320 | CONFIG_SSB_SPROM=y |
1269 | CONFIG_SSB_PCIHOST_POSSIBLE=y | 1321 | CONFIG_SSB_PCIHOST_POSSIBLE=y |
@@ -1281,18 +1333,13 @@ CONFIG_SSB_DRIVER_PCICORE=y | |||
1281 | # CONFIG_MFD_CORE is not set | 1333 | # CONFIG_MFD_CORE is not set |
1282 | # CONFIG_MFD_SM501 is not set | 1334 | # CONFIG_MFD_SM501 is not set |
1283 | # CONFIG_HTC_PASIC3 is not set | 1335 | # CONFIG_HTC_PASIC3 is not set |
1336 | # CONFIG_TWL4030_CORE is not set | ||
1284 | # CONFIG_MFD_TMIO is not set | 1337 | # CONFIG_MFD_TMIO is not set |
1285 | # CONFIG_PMIC_DA903X is not set | 1338 | # CONFIG_PMIC_DA903X is not set |
1286 | # CONFIG_MFD_WM8400 is not set | 1339 | # CONFIG_MFD_WM8400 is not set |
1287 | # CONFIG_MFD_WM8350_I2C is not set | 1340 | # CONFIG_MFD_WM8350_I2C is not set |
1288 | 1341 | # CONFIG_MFD_PCF50633 is not set | |
1289 | # | ||
1290 | # Voltage and Current regulators | ||
1291 | # | ||
1292 | # CONFIG_REGULATOR is not set | 1342 | # CONFIG_REGULATOR is not set |
1293 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
1294 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
1295 | # CONFIG_REGULATOR_BQ24022 is not set | ||
1296 | 1343 | ||
1297 | # | 1344 | # |
1298 | # Multimedia devices | 1345 | # Multimedia devices |
@@ -1390,6 +1437,7 @@ CONFIG_FB_ATY_BACKLIGHT=y | |||
1390 | # CONFIG_FB_KYRO is not set | 1437 | # CONFIG_FB_KYRO is not set |
1391 | CONFIG_FB_3DFX=y | 1438 | CONFIG_FB_3DFX=y |
1392 | # CONFIG_FB_3DFX_ACCEL is not set | 1439 | # CONFIG_FB_3DFX_ACCEL is not set |
1440 | CONFIG_FB_3DFX_I2C=y | ||
1393 | # CONFIG_FB_VOODOO1 is not set | 1441 | # CONFIG_FB_VOODOO1 is not set |
1394 | # CONFIG_FB_VT8623 is not set | 1442 | # CONFIG_FB_VT8623 is not set |
1395 | # CONFIG_FB_TRIDENT is not set | 1443 | # CONFIG_FB_TRIDENT is not set |
@@ -1399,12 +1447,14 @@ CONFIG_FB_3DFX=y | |||
1399 | # CONFIG_FB_IBM_GXT4500 is not set | 1447 | # CONFIG_FB_IBM_GXT4500 is not set |
1400 | # CONFIG_FB_VIRTUAL is not set | 1448 | # CONFIG_FB_VIRTUAL is not set |
1401 | # CONFIG_FB_METRONOME is not set | 1449 | # CONFIG_FB_METRONOME is not set |
1450 | # CONFIG_FB_MB862XX is not set | ||
1451 | # CONFIG_FB_BROADSHEET is not set | ||
1402 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 1452 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
1403 | CONFIG_LCD_CLASS_DEVICE=m | 1453 | CONFIG_LCD_CLASS_DEVICE=m |
1404 | # CONFIG_LCD_ILI9320 is not set | 1454 | # CONFIG_LCD_ILI9320 is not set |
1405 | # CONFIG_LCD_PLATFORM is not set | 1455 | # CONFIG_LCD_PLATFORM is not set |
1406 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | 1456 | CONFIG_BACKLIGHT_CLASS_DEVICE=y |
1407 | # CONFIG_BACKLIGHT_CORGI is not set | 1457 | CONFIG_BACKLIGHT_GENERIC=y |
1408 | 1458 | ||
1409 | # | 1459 | # |
1410 | # Display device support | 1460 | # Display device support |
@@ -1444,11 +1494,13 @@ CONFIG_SND_MIXER_OSS=m | |||
1444 | CONFIG_SND_PCM_OSS=m | 1494 | CONFIG_SND_PCM_OSS=m |
1445 | CONFIG_SND_PCM_OSS_PLUGINS=y | 1495 | CONFIG_SND_PCM_OSS_PLUGINS=y |
1446 | CONFIG_SND_SEQUENCER_OSS=y | 1496 | CONFIG_SND_SEQUENCER_OSS=y |
1497 | # CONFIG_SND_HRTIMER is not set | ||
1447 | # CONFIG_SND_DYNAMIC_MINORS is not set | 1498 | # CONFIG_SND_DYNAMIC_MINORS is not set |
1448 | CONFIG_SND_SUPPORT_OLD_API=y | 1499 | CONFIG_SND_SUPPORT_OLD_API=y |
1449 | CONFIG_SND_VERBOSE_PROCFS=y | 1500 | CONFIG_SND_VERBOSE_PROCFS=y |
1450 | # CONFIG_SND_VERBOSE_PRINTK is not set | 1501 | # CONFIG_SND_VERBOSE_PRINTK is not set |
1451 | # CONFIG_SND_DEBUG is not set | 1502 | # CONFIG_SND_DEBUG is not set |
1503 | CONFIG_SND_VMASTER=y | ||
1452 | CONFIG_SND_DRIVERS=y | 1504 | CONFIG_SND_DRIVERS=y |
1453 | CONFIG_SND_DUMMY=m | 1505 | CONFIG_SND_DUMMY=m |
1454 | # CONFIG_SND_VIRMIDI is not set | 1506 | # CONFIG_SND_VIRMIDI is not set |
@@ -1486,6 +1538,8 @@ CONFIG_SND_PCI=y | |||
1486 | # CONFIG_SND_INDIGO is not set | 1538 | # CONFIG_SND_INDIGO is not set |
1487 | # CONFIG_SND_INDIGOIO is not set | 1539 | # CONFIG_SND_INDIGOIO is not set |
1488 | # CONFIG_SND_INDIGODJ is not set | 1540 | # CONFIG_SND_INDIGODJ is not set |
1541 | # CONFIG_SND_INDIGOIOX is not set | ||
1542 | # CONFIG_SND_INDIGODJX is not set | ||
1489 | # CONFIG_SND_EMU10K1 is not set | 1543 | # CONFIG_SND_EMU10K1 is not set |
1490 | # CONFIG_SND_EMU10K1X is not set | 1544 | # CONFIG_SND_EMU10K1X is not set |
1491 | # CONFIG_SND_ENS1370 is not set | 1545 | # CONFIG_SND_ENS1370 is not set |
@@ -1551,28 +1605,31 @@ CONFIG_USB_HID=y | |||
1551 | # | 1605 | # |
1552 | # Special HID drivers | 1606 | # Special HID drivers |
1553 | # | 1607 | # |
1554 | CONFIG_HID_COMPAT=y | ||
1555 | CONFIG_HID_A4TECH=y | 1608 | CONFIG_HID_A4TECH=y |
1556 | CONFIG_HID_APPLE=y | 1609 | CONFIG_HID_APPLE=y |
1557 | CONFIG_HID_BELKIN=y | 1610 | CONFIG_HID_BELKIN=y |
1558 | CONFIG_HID_BRIGHT=y | ||
1559 | CONFIG_HID_CHERRY=y | 1611 | CONFIG_HID_CHERRY=y |
1560 | CONFIG_HID_CHICONY=y | 1612 | CONFIG_HID_CHICONY=y |
1561 | CONFIG_HID_CYPRESS=y | 1613 | CONFIG_HID_CYPRESS=y |
1562 | CONFIG_HID_DELL=y | 1614 | # CONFIG_DRAGONRISE_FF is not set |
1563 | CONFIG_HID_EZKEY=y | 1615 | CONFIG_HID_EZKEY=y |
1616 | CONFIG_HID_KYE=y | ||
1564 | CONFIG_HID_GYRATION=y | 1617 | CONFIG_HID_GYRATION=y |
1618 | CONFIG_HID_KENSINGTON=y | ||
1565 | CONFIG_HID_LOGITECH=y | 1619 | CONFIG_HID_LOGITECH=y |
1566 | # CONFIG_LOGITECH_FF is not set | 1620 | # CONFIG_LOGITECH_FF is not set |
1567 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1621 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1568 | CONFIG_HID_MICROSOFT=y | 1622 | CONFIG_HID_MICROSOFT=y |
1569 | CONFIG_HID_MONTEREY=y | 1623 | CONFIG_HID_MONTEREY=y |
1624 | CONFIG_HID_NTRIG=y | ||
1570 | CONFIG_HID_PANTHERLORD=y | 1625 | CONFIG_HID_PANTHERLORD=y |
1571 | # CONFIG_PANTHERLORD_FF is not set | 1626 | # CONFIG_PANTHERLORD_FF is not set |
1572 | CONFIG_HID_PETALYNX=y | 1627 | CONFIG_HID_PETALYNX=y |
1573 | CONFIG_HID_SAMSUNG=y | 1628 | CONFIG_HID_SAMSUNG=y |
1574 | CONFIG_HID_SONY=y | 1629 | CONFIG_HID_SONY=y |
1575 | CONFIG_HID_SUNPLUS=y | 1630 | CONFIG_HID_SUNPLUS=y |
1631 | # CONFIG_GREENASIA_FF is not set | ||
1632 | CONFIG_HID_TOPSEED=y | ||
1576 | # CONFIG_THRUSTMASTER_FF is not set | 1633 | # CONFIG_THRUSTMASTER_FF is not set |
1577 | # CONFIG_ZEROPLUS_FF is not set | 1634 | # CONFIG_ZEROPLUS_FF is not set |
1578 | CONFIG_USB_SUPPORT=y | 1635 | CONFIG_USB_SUPPORT=y |
@@ -1603,6 +1660,7 @@ CONFIG_USB_EHCI_HCD=m | |||
1603 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | 1660 | CONFIG_USB_EHCI_ROOT_HUB_TT=y |
1604 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 1661 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set |
1605 | # CONFIG_USB_EHCI_HCD_PPC_OF is not set | 1662 | # CONFIG_USB_EHCI_HCD_PPC_OF is not set |
1663 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1606 | # CONFIG_USB_ISP116X_HCD is not set | 1664 | # CONFIG_USB_ISP116X_HCD is not set |
1607 | # CONFIG_USB_ISP1760_HCD is not set | 1665 | # CONFIG_USB_ISP1760_HCD is not set |
1608 | CONFIG_USB_OHCI_HCD=y | 1666 | CONFIG_USB_OHCI_HCD=y |
@@ -1625,24 +1683,23 @@ CONFIG_USB_PRINTER=m | |||
1625 | # CONFIG_USB_TMC is not set | 1683 | # CONFIG_USB_TMC is not set |
1626 | 1684 | ||
1627 | # | 1685 | # |
1628 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1686 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1629 | # | 1687 | # |
1630 | 1688 | ||
1631 | # | 1689 | # |
1632 | # may also be needed; see USB_STORAGE Help for more information | 1690 | # also be needed; see USB_STORAGE Help for more info |
1633 | # | 1691 | # |
1634 | CONFIG_USB_STORAGE=m | 1692 | CONFIG_USB_STORAGE=m |
1635 | # CONFIG_USB_STORAGE_DEBUG is not set | 1693 | # CONFIG_USB_STORAGE_DEBUG is not set |
1636 | # CONFIG_USB_STORAGE_DATAFAB is not set | 1694 | # CONFIG_USB_STORAGE_DATAFAB is not set |
1637 | # CONFIG_USB_STORAGE_FREECOM is not set | 1695 | # CONFIG_USB_STORAGE_FREECOM is not set |
1638 | # CONFIG_USB_STORAGE_ISD200 is not set | 1696 | # CONFIG_USB_STORAGE_ISD200 is not set |
1639 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1640 | # CONFIG_USB_STORAGE_USBAT is not set | 1697 | # CONFIG_USB_STORAGE_USBAT is not set |
1641 | # CONFIG_USB_STORAGE_SDDR09 is not set | 1698 | # CONFIG_USB_STORAGE_SDDR09 is not set |
1642 | # CONFIG_USB_STORAGE_SDDR55 is not set | 1699 | # CONFIG_USB_STORAGE_SDDR55 is not set |
1643 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | 1700 | # CONFIG_USB_STORAGE_JUMPSHOT is not set |
1644 | # CONFIG_USB_STORAGE_ALAUDA is not set | 1701 | # CONFIG_USB_STORAGE_ALAUDA is not set |
1645 | CONFIG_USB_STORAGE_ONETOUCH=y | 1702 | CONFIG_USB_STORAGE_ONETOUCH=m |
1646 | # CONFIG_USB_STORAGE_KARMA is not set | 1703 | # CONFIG_USB_STORAGE_KARMA is not set |
1647 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | 1704 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set |
1648 | # CONFIG_USB_LIBUSUAL is not set | 1705 | # CONFIG_USB_LIBUSUAL is not set |
@@ -1665,7 +1722,7 @@ CONFIG_USB_EZUSB=y | |||
1665 | # CONFIG_USB_SERIAL_CH341 is not set | 1722 | # CONFIG_USB_SERIAL_CH341 is not set |
1666 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | 1723 | # CONFIG_USB_SERIAL_WHITEHEAT is not set |
1667 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | 1724 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set |
1668 | # CONFIG_USB_SERIAL_CP2101 is not set | 1725 | # CONFIG_USB_SERIAL_CP210X is not set |
1669 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | 1726 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set |
1670 | # CONFIG_USB_SERIAL_EMPEG is not set | 1727 | # CONFIG_USB_SERIAL_EMPEG is not set |
1671 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | 1728 | # CONFIG_USB_SERIAL_FTDI_SIO is not set |
@@ -1701,15 +1758,19 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
1701 | # CONFIG_USB_SERIAL_NAVMAN is not set | 1758 | # CONFIG_USB_SERIAL_NAVMAN is not set |
1702 | # CONFIG_USB_SERIAL_PL2303 is not set | 1759 | # CONFIG_USB_SERIAL_PL2303 is not set |
1703 | # CONFIG_USB_SERIAL_OTI6858 is not set | 1760 | # CONFIG_USB_SERIAL_OTI6858 is not set |
1761 | # CONFIG_USB_SERIAL_QUALCOMM is not set | ||
1704 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | 1762 | # CONFIG_USB_SERIAL_SPCP8X5 is not set |
1705 | # CONFIG_USB_SERIAL_HP4X is not set | 1763 | # CONFIG_USB_SERIAL_HP4X is not set |
1706 | # CONFIG_USB_SERIAL_SAFE is not set | 1764 | # CONFIG_USB_SERIAL_SAFE is not set |
1765 | # CONFIG_USB_SERIAL_SIEMENS_MPI is not set | ||
1707 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | 1766 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set |
1767 | # CONFIG_USB_SERIAL_SYMBOL is not set | ||
1708 | # CONFIG_USB_SERIAL_TI is not set | 1768 | # CONFIG_USB_SERIAL_TI is not set |
1709 | # CONFIG_USB_SERIAL_CYBERJACK is not set | 1769 | # CONFIG_USB_SERIAL_CYBERJACK is not set |
1710 | # CONFIG_USB_SERIAL_XIRCOM is not set | 1770 | # CONFIG_USB_SERIAL_XIRCOM is not set |
1711 | # CONFIG_USB_SERIAL_OPTION is not set | 1771 | # CONFIG_USB_SERIAL_OPTION is not set |
1712 | # CONFIG_USB_SERIAL_OMNINET is not set | 1772 | # CONFIG_USB_SERIAL_OMNINET is not set |
1773 | # CONFIG_USB_SERIAL_OPTICON is not set | ||
1713 | # CONFIG_USB_SERIAL_DEBUG is not set | 1774 | # CONFIG_USB_SERIAL_DEBUG is not set |
1714 | 1775 | ||
1715 | # | 1776 | # |
@@ -1726,7 +1787,6 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
1726 | # CONFIG_USB_LED is not set | 1787 | # CONFIG_USB_LED is not set |
1727 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1788 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1728 | # CONFIG_USB_CYTHERM is not set | 1789 | # CONFIG_USB_CYTHERM is not set |
1729 | # CONFIG_USB_PHIDGET is not set | ||
1730 | # CONFIG_USB_IDMOUSE is not set | 1790 | # CONFIG_USB_IDMOUSE is not set |
1731 | # CONFIG_USB_FTDI_ELAN is not set | 1791 | # CONFIG_USB_FTDI_ELAN is not set |
1732 | CONFIG_USB_APPLEDISPLAY=m | 1792 | CONFIG_USB_APPLEDISPLAY=m |
@@ -1738,6 +1798,11 @@ CONFIG_USB_APPLEDISPLAY=m | |||
1738 | # CONFIG_USB_ISIGHTFW is not set | 1798 | # CONFIG_USB_ISIGHTFW is not set |
1739 | # CONFIG_USB_VST is not set | 1799 | # CONFIG_USB_VST is not set |
1740 | # CONFIG_USB_GADGET is not set | 1800 | # CONFIG_USB_GADGET is not set |
1801 | |||
1802 | # | ||
1803 | # OTG and related infrastructure | ||
1804 | # | ||
1805 | # CONFIG_NOP_USB_XCEIV is not set | ||
1741 | # CONFIG_UWB is not set | 1806 | # CONFIG_UWB is not set |
1742 | # CONFIG_MMC is not set | 1807 | # CONFIG_MMC is not set |
1743 | # CONFIG_MEMSTICK is not set | 1808 | # CONFIG_MEMSTICK is not set |
@@ -1748,7 +1813,9 @@ CONFIG_LEDS_CLASS=y | |||
1748 | # LED drivers | 1813 | # LED drivers |
1749 | # | 1814 | # |
1750 | # CONFIG_LEDS_PCA9532 is not set | 1815 | # CONFIG_LEDS_PCA9532 is not set |
1816 | # CONFIG_LEDS_LP5521 is not set | ||
1751 | # CONFIG_LEDS_PCA955X is not set | 1817 | # CONFIG_LEDS_PCA955X is not set |
1818 | # CONFIG_LEDS_BD2802 is not set | ||
1752 | 1819 | ||
1753 | # | 1820 | # |
1754 | # LED Triggers | 1821 | # LED Triggers |
@@ -1759,11 +1826,16 @@ CONFIG_LEDS_TRIGGER_IDE_DISK=y | |||
1759 | # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set | 1826 | # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set |
1760 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | 1827 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set |
1761 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | 1828 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y |
1829 | |||
1830 | # | ||
1831 | # iptables trigger is under Netfilter config (LED target) | ||
1832 | # | ||
1762 | # CONFIG_ACCESSIBILITY is not set | 1833 | # CONFIG_ACCESSIBILITY is not set |
1763 | # CONFIG_INFINIBAND is not set | 1834 | # CONFIG_INFINIBAND is not set |
1764 | # CONFIG_EDAC is not set | 1835 | # CONFIG_EDAC is not set |
1765 | # CONFIG_RTC_CLASS is not set | 1836 | # CONFIG_RTC_CLASS is not set |
1766 | # CONFIG_DMADEVICES is not set | 1837 | # CONFIG_DMADEVICES is not set |
1838 | # CONFIG_AUXDISPLAY is not set | ||
1767 | # CONFIG_UIO is not set | 1839 | # CONFIG_UIO is not set |
1768 | # CONFIG_STAGING is not set | 1840 | # CONFIG_STAGING is not set |
1769 | 1841 | ||
@@ -1774,6 +1846,7 @@ CONFIG_EXT2_FS=y | |||
1774 | # CONFIG_EXT2_FS_XATTR is not set | 1846 | # CONFIG_EXT2_FS_XATTR is not set |
1775 | # CONFIG_EXT2_FS_XIP is not set | 1847 | # CONFIG_EXT2_FS_XIP is not set |
1776 | CONFIG_EXT3_FS=y | 1848 | CONFIG_EXT3_FS=y |
1849 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1777 | CONFIG_EXT3_FS_XATTR=y | 1850 | CONFIG_EXT3_FS_XATTR=y |
1778 | CONFIG_EXT3_FS_POSIX_ACL=y | 1851 | CONFIG_EXT3_FS_POSIX_ACL=y |
1779 | # CONFIG_EXT3_FS_SECURITY is not set | 1852 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1783,7 +1856,9 @@ CONFIG_EXT4_FS_XATTR=y | |||
1783 | # CONFIG_EXT4_FS_POSIX_ACL is not set | 1856 | # CONFIG_EXT4_FS_POSIX_ACL is not set |
1784 | # CONFIG_EXT4_FS_SECURITY is not set | 1857 | # CONFIG_EXT4_FS_SECURITY is not set |
1785 | CONFIG_JBD=y | 1858 | CONFIG_JBD=y |
1859 | # CONFIG_JBD_DEBUG is not set | ||
1786 | CONFIG_JBD2=y | 1860 | CONFIG_JBD2=y |
1861 | # CONFIG_JBD2_DEBUG is not set | ||
1787 | CONFIG_FS_MBCACHE=y | 1862 | CONFIG_FS_MBCACHE=y |
1788 | # CONFIG_REISERFS_FS is not set | 1863 | # CONFIG_REISERFS_FS is not set |
1789 | # CONFIG_JFS_FS is not set | 1864 | # CONFIG_JFS_FS is not set |
@@ -1792,6 +1867,7 @@ CONFIG_FILE_LOCKING=y | |||
1792 | # CONFIG_XFS_FS is not set | 1867 | # CONFIG_XFS_FS is not set |
1793 | # CONFIG_GFS2_FS is not set | 1868 | # CONFIG_GFS2_FS is not set |
1794 | # CONFIG_OCFS2_FS is not set | 1869 | # CONFIG_OCFS2_FS is not set |
1870 | # CONFIG_BTRFS_FS is not set | ||
1795 | CONFIG_DNOTIFY=y | 1871 | CONFIG_DNOTIFY=y |
1796 | CONFIG_INOTIFY=y | 1872 | CONFIG_INOTIFY=y |
1797 | CONFIG_INOTIFY_USER=y | 1873 | CONFIG_INOTIFY_USER=y |
@@ -1801,6 +1877,11 @@ CONFIG_AUTOFS4_FS=m | |||
1801 | CONFIG_FUSE_FS=m | 1877 | CONFIG_FUSE_FS=m |
1802 | 1878 | ||
1803 | # | 1879 | # |
1880 | # Caches | ||
1881 | # | ||
1882 | # CONFIG_FSCACHE is not set | ||
1883 | |||
1884 | # | ||
1804 | # CD-ROM/DVD Filesystems | 1885 | # CD-ROM/DVD Filesystems |
1805 | # | 1886 | # |
1806 | CONFIG_ISO9660_FS=y | 1887 | CONFIG_ISO9660_FS=y |
@@ -1831,10 +1912,7 @@ CONFIG_TMPFS=y | |||
1831 | # CONFIG_TMPFS_POSIX_ACL is not set | 1912 | # CONFIG_TMPFS_POSIX_ACL is not set |
1832 | # CONFIG_HUGETLB_PAGE is not set | 1913 | # CONFIG_HUGETLB_PAGE is not set |
1833 | # CONFIG_CONFIGFS_FS is not set | 1914 | # CONFIG_CONFIGFS_FS is not set |
1834 | 1915 | CONFIG_MISC_FILESYSTEMS=y | |
1835 | # | ||
1836 | # Miscellaneous filesystems | ||
1837 | # | ||
1838 | # CONFIG_ADFS_FS is not set | 1916 | # CONFIG_ADFS_FS is not set |
1839 | # CONFIG_AFFS_FS is not set | 1917 | # CONFIG_AFFS_FS is not set |
1840 | CONFIG_HFS_FS=m | 1918 | CONFIG_HFS_FS=m |
@@ -1843,6 +1921,7 @@ CONFIG_HFSPLUS_FS=m | |||
1843 | # CONFIG_BFS_FS is not set | 1921 | # CONFIG_BFS_FS is not set |
1844 | # CONFIG_EFS_FS is not set | 1922 | # CONFIG_EFS_FS is not set |
1845 | # CONFIG_CRAMFS is not set | 1923 | # CONFIG_CRAMFS is not set |
1924 | # CONFIG_SQUASHFS is not set | ||
1846 | # CONFIG_VXFS_FS is not set | 1925 | # CONFIG_VXFS_FS is not set |
1847 | # CONFIG_MINIX_FS is not set | 1926 | # CONFIG_MINIX_FS is not set |
1848 | # CONFIG_OMFS_FS is not set | 1927 | # CONFIG_OMFS_FS is not set |
@@ -1851,6 +1930,7 @@ CONFIG_HFSPLUS_FS=m | |||
1851 | # CONFIG_ROMFS_FS is not set | 1930 | # CONFIG_ROMFS_FS is not set |
1852 | # CONFIG_SYSV_FS is not set | 1931 | # CONFIG_SYSV_FS is not set |
1853 | # CONFIG_UFS_FS is not set | 1932 | # CONFIG_UFS_FS is not set |
1933 | # CONFIG_NILFS2_FS is not set | ||
1854 | CONFIG_NETWORK_FILESYSTEMS=y | 1934 | CONFIG_NETWORK_FILESYSTEMS=y |
1855 | CONFIG_NFS_FS=y | 1935 | CONFIG_NFS_FS=y |
1856 | CONFIG_NFS_V3=y | 1936 | CONFIG_NFS_V3=y |
@@ -1868,7 +1948,6 @@ CONFIG_NFS_ACL_SUPPORT=y | |||
1868 | CONFIG_NFS_COMMON=y | 1948 | CONFIG_NFS_COMMON=y |
1869 | CONFIG_SUNRPC=y | 1949 | CONFIG_SUNRPC=y |
1870 | CONFIG_SUNRPC_GSS=y | 1950 | CONFIG_SUNRPC_GSS=y |
1871 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1872 | CONFIG_RPCSEC_GSS_KRB5=y | 1951 | CONFIG_RPCSEC_GSS_KRB5=y |
1873 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1952 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1874 | CONFIG_SMB_FS=m | 1953 | CONFIG_SMB_FS=m |
@@ -1940,11 +2019,13 @@ CONFIG_NLS_ISO8859_1=m | |||
1940 | # CONFIG_NLS_KOI8_U is not set | 2019 | # CONFIG_NLS_KOI8_U is not set |
1941 | CONFIG_NLS_UTF8=m | 2020 | CONFIG_NLS_UTF8=m |
1942 | # CONFIG_DLM is not set | 2021 | # CONFIG_DLM is not set |
2022 | CONFIG_BINARY_PRINTF=y | ||
1943 | 2023 | ||
1944 | # | 2024 | # |
1945 | # Library routines | 2025 | # Library routines |
1946 | # | 2026 | # |
1947 | CONFIG_BITREVERSE=y | 2027 | CONFIG_BITREVERSE=y |
2028 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1948 | CONFIG_CRC_CCITT=y | 2029 | CONFIG_CRC_CCITT=y |
1949 | CONFIG_CRC16=y | 2030 | CONFIG_CRC16=y |
1950 | CONFIG_CRC_T10DIF=y | 2031 | CONFIG_CRC_T10DIF=y |
@@ -1954,15 +2035,18 @@ CONFIG_CRC32=y | |||
1954 | CONFIG_LIBCRC32C=m | 2035 | CONFIG_LIBCRC32C=m |
1955 | CONFIG_ZLIB_INFLATE=y | 2036 | CONFIG_ZLIB_INFLATE=y |
1956 | CONFIG_ZLIB_DEFLATE=y | 2037 | CONFIG_ZLIB_DEFLATE=y |
2038 | CONFIG_DECOMPRESS_GZIP=y | ||
2039 | CONFIG_DECOMPRESS_BZIP2=y | ||
2040 | CONFIG_DECOMPRESS_LZMA=y | ||
1957 | CONFIG_TEXTSEARCH=y | 2041 | CONFIG_TEXTSEARCH=y |
1958 | CONFIG_TEXTSEARCH_KMP=m | 2042 | CONFIG_TEXTSEARCH_KMP=m |
1959 | CONFIG_TEXTSEARCH_BM=m | 2043 | CONFIG_TEXTSEARCH_BM=m |
1960 | CONFIG_TEXTSEARCH_FSM=m | 2044 | CONFIG_TEXTSEARCH_FSM=m |
1961 | CONFIG_PLIST=y | ||
1962 | CONFIG_HAS_IOMEM=y | 2045 | CONFIG_HAS_IOMEM=y |
1963 | CONFIG_HAS_IOPORT=y | 2046 | CONFIG_HAS_IOPORT=y |
1964 | CONFIG_HAS_DMA=y | 2047 | CONFIG_HAS_DMA=y |
1965 | CONFIG_HAVE_LMB=y | 2048 | CONFIG_HAVE_LMB=y |
2049 | CONFIG_NLATTR=y | ||
1966 | 2050 | ||
1967 | # | 2051 | # |
1968 | # Kernel hacking | 2052 | # Kernel hacking |
@@ -1973,13 +2057,16 @@ CONFIG_ENABLE_MUST_CHECK=y | |||
1973 | CONFIG_FRAME_WARN=1024 | 2057 | CONFIG_FRAME_WARN=1024 |
1974 | CONFIG_MAGIC_SYSRQ=y | 2058 | CONFIG_MAGIC_SYSRQ=y |
1975 | # CONFIG_UNUSED_SYMBOLS is not set | 2059 | # CONFIG_UNUSED_SYMBOLS is not set |
1976 | # CONFIG_DEBUG_FS is not set | 2060 | CONFIG_DEBUG_FS=y |
1977 | # CONFIG_HEADERS_CHECK is not set | 2061 | # CONFIG_HEADERS_CHECK is not set |
1978 | CONFIG_DEBUG_KERNEL=y | 2062 | CONFIG_DEBUG_KERNEL=y |
1979 | # CONFIG_DEBUG_SHIRQ is not set | 2063 | # CONFIG_DEBUG_SHIRQ is not set |
1980 | CONFIG_DETECT_SOFTLOCKUP=y | 2064 | CONFIG_DETECT_SOFTLOCKUP=y |
1981 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 2065 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1982 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 2066 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
2067 | CONFIG_DETECT_HUNG_TASK=y | ||
2068 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
2069 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1983 | CONFIG_SCHED_DEBUG=y | 2070 | CONFIG_SCHED_DEBUG=y |
1984 | CONFIG_SCHEDSTATS=y | 2071 | CONFIG_SCHEDSTATS=y |
1985 | # CONFIG_TIMER_STATS is not set | 2072 | # CONFIG_TIMER_STATS is not set |
@@ -1994,6 +2081,7 @@ CONFIG_SCHEDSTATS=y | |||
1994 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 2081 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1995 | CONFIG_STACKTRACE=y | 2082 | CONFIG_STACKTRACE=y |
1996 | # CONFIG_DEBUG_KOBJECT is not set | 2083 | # CONFIG_DEBUG_KOBJECT is not set |
2084 | # CONFIG_DEBUG_HIGHMEM is not set | ||
1997 | CONFIG_DEBUG_BUGVERBOSE=y | 2085 | CONFIG_DEBUG_BUGVERBOSE=y |
1998 | # CONFIG_DEBUG_INFO is not set | 2086 | # CONFIG_DEBUG_INFO is not set |
1999 | # CONFIG_DEBUG_VM is not set | 2087 | # CONFIG_DEBUG_VM is not set |
@@ -2001,6 +2089,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
2001 | CONFIG_DEBUG_MEMORY_INIT=y | 2089 | CONFIG_DEBUG_MEMORY_INIT=y |
2002 | # CONFIG_DEBUG_LIST is not set | 2090 | # CONFIG_DEBUG_LIST is not set |
2003 | # CONFIG_DEBUG_SG is not set | 2091 | # CONFIG_DEBUG_SG is not set |
2092 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
2004 | # CONFIG_BOOT_PRINTK_DELAY is not set | 2093 | # CONFIG_BOOT_PRINTK_DELAY is not set |
2005 | # CONFIG_RCU_TORTURE_TEST is not set | 2094 | # CONFIG_RCU_TORTURE_TEST is not set |
2006 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 2095 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
@@ -2009,7 +2098,14 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
2009 | # CONFIG_FAULT_INJECTION is not set | 2098 | # CONFIG_FAULT_INJECTION is not set |
2010 | CONFIG_LATENCYTOP=y | 2099 | CONFIG_LATENCYTOP=y |
2011 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 2100 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
2101 | CONFIG_NOP_TRACER=y | ||
2012 | CONFIG_HAVE_FUNCTION_TRACER=y | 2102 | CONFIG_HAVE_FUNCTION_TRACER=y |
2103 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
2104 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
2105 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
2106 | CONFIG_RING_BUFFER=y | ||
2107 | CONFIG_TRACING=y | ||
2108 | CONFIG_TRACING_SUPPORT=y | ||
2013 | 2109 | ||
2014 | # | 2110 | # |
2015 | # Tracers | 2111 | # Tracers |
@@ -2017,12 +2113,19 @@ CONFIG_HAVE_FUNCTION_TRACER=y | |||
2017 | # CONFIG_FUNCTION_TRACER is not set | 2113 | # CONFIG_FUNCTION_TRACER is not set |
2018 | # CONFIG_SCHED_TRACER is not set | 2114 | # CONFIG_SCHED_TRACER is not set |
2019 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 2115 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
2116 | # CONFIG_EVENT_TRACER is not set | ||
2020 | # CONFIG_BOOT_TRACER is not set | 2117 | # CONFIG_BOOT_TRACER is not set |
2118 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
2021 | # CONFIG_STACK_TRACER is not set | 2119 | # CONFIG_STACK_TRACER is not set |
2022 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 2120 | # CONFIG_KMEMTRACE is not set |
2121 | # CONFIG_WORKQUEUE_TRACER is not set | ||
2122 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
2123 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
2124 | # CONFIG_DYNAMIC_DEBUG is not set | ||
2023 | # CONFIG_SAMPLES is not set | 2125 | # CONFIG_SAMPLES is not set |
2024 | CONFIG_HAVE_ARCH_KGDB=y | 2126 | CONFIG_HAVE_ARCH_KGDB=y |
2025 | # CONFIG_KGDB is not set | 2127 | # CONFIG_KGDB is not set |
2128 | CONFIG_PRINT_STACK_DEPTH=64 | ||
2026 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 2129 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
2027 | # CONFIG_DEBUG_STACK_USAGE is not set | 2130 | # CONFIG_DEBUG_STACK_USAGE is not set |
2028 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 2131 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
@@ -2033,6 +2136,7 @@ CONFIG_XMON_DEFAULT=y | |||
2033 | CONFIG_XMON_DISASSEMBLY=y | 2136 | CONFIG_XMON_DISASSEMBLY=y |
2034 | CONFIG_DEBUGGER=y | 2137 | CONFIG_DEBUGGER=y |
2035 | CONFIG_IRQSTACKS=y | 2138 | CONFIG_IRQSTACKS=y |
2139 | # CONFIG_VIRQ_DEBUG is not set | ||
2036 | # CONFIG_BDI_SWITCH is not set | 2140 | # CONFIG_BDI_SWITCH is not set |
2037 | CONFIG_BOOTX_TEXT=y | 2141 | CONFIG_BOOTX_TEXT=y |
2038 | # CONFIG_PPC_EARLY_DEBUG is not set | 2142 | # CONFIG_PPC_EARLY_DEBUG is not set |
@@ -2051,13 +2155,20 @@ CONFIG_CRYPTO=y | |||
2051 | # | 2155 | # |
2052 | # CONFIG_CRYPTO_FIPS is not set | 2156 | # CONFIG_CRYPTO_FIPS is not set |
2053 | CONFIG_CRYPTO_ALGAPI=y | 2157 | CONFIG_CRYPTO_ALGAPI=y |
2158 | CONFIG_CRYPTO_ALGAPI2=y | ||
2054 | CONFIG_CRYPTO_AEAD=y | 2159 | CONFIG_CRYPTO_AEAD=y |
2160 | CONFIG_CRYPTO_AEAD2=y | ||
2055 | CONFIG_CRYPTO_BLKCIPHER=y | 2161 | CONFIG_CRYPTO_BLKCIPHER=y |
2162 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
2056 | CONFIG_CRYPTO_HASH=y | 2163 | CONFIG_CRYPTO_HASH=y |
2057 | CONFIG_CRYPTO_RNG=y | 2164 | CONFIG_CRYPTO_HASH2=y |
2165 | CONFIG_CRYPTO_RNG2=y | ||
2166 | CONFIG_CRYPTO_PCOMP=y | ||
2058 | CONFIG_CRYPTO_MANAGER=y | 2167 | CONFIG_CRYPTO_MANAGER=y |
2168 | CONFIG_CRYPTO_MANAGER2=y | ||
2059 | # CONFIG_CRYPTO_GF128MUL is not set | 2169 | # CONFIG_CRYPTO_GF128MUL is not set |
2060 | CONFIG_CRYPTO_NULL=m | 2170 | CONFIG_CRYPTO_NULL=m |
2171 | CONFIG_CRYPTO_WORKQUEUE=y | ||
2061 | # CONFIG_CRYPTO_CRYPTD is not set | 2172 | # CONFIG_CRYPTO_CRYPTD is not set |
2062 | CONFIG_CRYPTO_AUTHENC=y | 2173 | CONFIG_CRYPTO_AUTHENC=y |
2063 | # CONFIG_CRYPTO_TEST is not set | 2174 | # CONFIG_CRYPTO_TEST is not set |
@@ -2127,6 +2238,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m | |||
2127 | # Compression | 2238 | # Compression |
2128 | # | 2239 | # |
2129 | CONFIG_CRYPTO_DEFLATE=m | 2240 | CONFIG_CRYPTO_DEFLATE=m |
2241 | # CONFIG_CRYPTO_ZLIB is not set | ||
2130 | # CONFIG_CRYPTO_LZO is not set | 2242 | # CONFIG_CRYPTO_LZO is not set |
2131 | 2243 | ||
2132 | # | 2244 | # |
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig index fdded96633a1..129d80860f2a 100644 --- a/arch/powerpc/configs/pq2fads_defconfig +++ b/arch/powerpc/configs/pq2fads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:42 2009 | 4 | # Wed May 13 17:22:02 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_ALTIVEC is not set | 19 | # CONFIG_ALTIVEC is not set |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -55,6 +56,7 @@ CONFIG_GENERIC_BUG=y | |||
55 | CONFIG_DEFAULT_UIMAGE=y | 56 | CONFIG_DEFAULT_UIMAGE=y |
56 | # CONFIG_PPC_DCR_NATIVE is not set | 57 | # CONFIG_PPC_DCR_NATIVE is not set |
57 | # CONFIG_PPC_DCR_MMIO is not set | 58 | # CONFIG_PPC_DCR_MMIO is not set |
59 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
58 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 60 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
59 | 61 | ||
60 | # | 62 | # |
@@ -71,6 +73,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
71 | # CONFIG_BSD_PROCESS_ACCT is not set | 73 | # CONFIG_BSD_PROCESS_ACCT is not set |
72 | # CONFIG_TASKSTATS is not set | 74 | # CONFIG_TASKSTATS is not set |
73 | # CONFIG_AUDIT is not set | 75 | # CONFIG_AUDIT is not set |
76 | |||
77 | # | ||
78 | # RCU Subsystem | ||
79 | # | ||
80 | CONFIG_CLASSIC_RCU=y | ||
81 | # CONFIG_TREE_RCU is not set | ||
82 | # CONFIG_PREEMPT_RCU is not set | ||
83 | # CONFIG_TREE_RCU_TRACE is not set | ||
84 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
74 | CONFIG_IKCONFIG=y | 85 | CONFIG_IKCONFIG=y |
75 | CONFIG_IKCONFIG_PROC=y | 86 | CONFIG_IKCONFIG_PROC=y |
76 | CONFIG_LOG_BUF_SHIFT=14 | 87 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -81,22 +92,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
81 | # CONFIG_NAMESPACES is not set | 92 | # CONFIG_NAMESPACES is not set |
82 | CONFIG_BLK_DEV_INITRD=y | 93 | CONFIG_BLK_DEV_INITRD=y |
83 | CONFIG_INITRAMFS_SOURCE="" | 94 | CONFIG_INITRAMFS_SOURCE="" |
95 | CONFIG_RD_GZIP=y | ||
96 | # CONFIG_RD_BZIP2 is not set | ||
97 | # CONFIG_RD_LZMA is not set | ||
84 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 98 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
85 | CONFIG_SYSCTL=y | 99 | CONFIG_SYSCTL=y |
100 | CONFIG_ANON_INODES=y | ||
86 | CONFIG_EMBEDDED=y | 101 | CONFIG_EMBEDDED=y |
87 | CONFIG_SYSCTL_SYSCALL=y | 102 | CONFIG_SYSCTL_SYSCALL=y |
88 | CONFIG_KALLSYMS=y | 103 | CONFIG_KALLSYMS=y |
89 | CONFIG_KALLSYMS_ALL=y | 104 | CONFIG_KALLSYMS_ALL=y |
90 | CONFIG_KALLSYMS_STRIP_GENERATED=y | ||
91 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 105 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
106 | # CONFIG_STRIP_ASM_SYMS is not set | ||
92 | CONFIG_HOTPLUG=y | 107 | CONFIG_HOTPLUG=y |
93 | CONFIG_PRINTK=y | 108 | CONFIG_PRINTK=y |
94 | CONFIG_BUG=y | 109 | CONFIG_BUG=y |
95 | CONFIG_ELF_CORE=y | 110 | CONFIG_ELF_CORE=y |
96 | CONFIG_COMPAT_BRK=y | ||
97 | CONFIG_BASE_FULL=y | 111 | CONFIG_BASE_FULL=y |
98 | CONFIG_FUTEX=y | 112 | CONFIG_FUTEX=y |
99 | CONFIG_ANON_INODES=y | ||
100 | CONFIG_EPOLL=y | 113 | CONFIG_EPOLL=y |
101 | CONFIG_SIGNALFD=y | 114 | CONFIG_SIGNALFD=y |
102 | CONFIG_TIMERFD=y | 115 | CONFIG_TIMERFD=y |
@@ -106,10 +119,12 @@ CONFIG_AIO=y | |||
106 | CONFIG_VM_EVENT_COUNTERS=y | 119 | CONFIG_VM_EVENT_COUNTERS=y |
107 | CONFIG_PCI_QUIRKS=y | 120 | CONFIG_PCI_QUIRKS=y |
108 | CONFIG_SLUB_DEBUG=y | 121 | CONFIG_SLUB_DEBUG=y |
122 | CONFIG_COMPAT_BRK=y | ||
109 | # CONFIG_SLAB is not set | 123 | # CONFIG_SLAB is not set |
110 | CONFIG_SLUB=y | 124 | CONFIG_SLUB=y |
111 | # CONFIG_SLOB is not set | 125 | # CONFIG_SLOB is not set |
112 | # CONFIG_PROFILING is not set | 126 | # CONFIG_PROFILING is not set |
127 | # CONFIG_MARKERS is not set | ||
113 | CONFIG_HAVE_OPROFILE=y | 128 | CONFIG_HAVE_OPROFILE=y |
114 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 129 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
115 | CONFIG_HAVE_IOREMAP_PROT=y | 130 | CONFIG_HAVE_IOREMAP_PROT=y |
@@ -117,6 +132,7 @@ CONFIG_HAVE_KPROBES=y | |||
117 | CONFIG_HAVE_KRETPROBES=y | 132 | CONFIG_HAVE_KRETPROBES=y |
118 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 133 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
119 | CONFIG_HAVE_CLK=y | 134 | CONFIG_HAVE_CLK=y |
135 | # CONFIG_SLOW_WORK is not set | ||
120 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 136 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
121 | CONFIG_SLABINFO=y | 137 | CONFIG_SLABINFO=y |
122 | CONFIG_RT_MUTEXES=y | 138 | CONFIG_RT_MUTEXES=y |
@@ -124,7 +140,6 @@ CONFIG_BASE_SMALL=0 | |||
124 | # CONFIG_MODULES is not set | 140 | # CONFIG_MODULES is not set |
125 | CONFIG_BLOCK=y | 141 | CONFIG_BLOCK=y |
126 | # CONFIG_LBD is not set | 142 | # CONFIG_LBD is not set |
127 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
128 | # CONFIG_BLK_DEV_INTEGRITY is not set | 143 | # CONFIG_BLK_DEV_INTEGRITY is not set |
129 | 144 | ||
130 | # | 145 | # |
@@ -139,18 +154,11 @@ CONFIG_DEFAULT_AS=y | |||
139 | # CONFIG_DEFAULT_CFQ is not set | 154 | # CONFIG_DEFAULT_CFQ is not set |
140 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
141 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 156 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
142 | CONFIG_CLASSIC_RCU=y | ||
143 | # CONFIG_TREE_RCU is not set | ||
144 | # CONFIG_PREEMPT_RCU is not set | ||
145 | # CONFIG_TREE_RCU_TRACE is not set | ||
146 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
147 | # CONFIG_FREEZER is not set | 157 | # CONFIG_FREEZER is not set |
148 | 158 | ||
149 | # | 159 | # |
150 | # Platform support | 160 | # Platform support |
151 | # | 161 | # |
152 | CONFIG_PPC_MULTIPLATFORM=y | ||
153 | CONFIG_CLASSIC32=y | ||
154 | # CONFIG_PPC_CHRP is not set | 162 | # CONFIG_PPC_CHRP is not set |
155 | # CONFIG_MPC5121_ADS is not set | 163 | # CONFIG_MPC5121_ADS is not set |
156 | # CONFIG_MPC5121_GENERIC is not set | 164 | # CONFIG_MPC5121_GENERIC is not set |
@@ -169,6 +177,8 @@ CONFIG_PQ2_ADS_PCI_PIC=y | |||
169 | # CONFIG_PPC_83xx is not set | 177 | # CONFIG_PPC_83xx is not set |
170 | # CONFIG_PPC_86xx is not set | 178 | # CONFIG_PPC_86xx is not set |
171 | # CONFIG_EMBEDDED6xx is not set | 179 | # CONFIG_EMBEDDED6xx is not set |
180 | # CONFIG_AMIGAONE is not set | ||
181 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
172 | # CONFIG_IPIC is not set | 182 | # CONFIG_IPIC is not set |
173 | # CONFIG_MPIC is not set | 183 | # CONFIG_MPIC is not set |
174 | # CONFIG_MPIC_WEIRD is not set | 184 | # CONFIG_MPIC_WEIRD is not set |
@@ -225,9 +235,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
225 | CONFIG_BOUNCE=y | 235 | CONFIG_BOUNCE=y |
226 | CONFIG_VIRT_TO_BUS=y | 236 | CONFIG_VIRT_TO_BUS=y |
227 | CONFIG_UNEVICTABLE_LRU=y | 237 | CONFIG_UNEVICTABLE_LRU=y |
238 | CONFIG_HAVE_MLOCK=y | ||
239 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
228 | CONFIG_PPC_4K_PAGES=y | 240 | CONFIG_PPC_4K_PAGES=y |
229 | # CONFIG_PPC_16K_PAGES is not set | 241 | # CONFIG_PPC_16K_PAGES is not set |
230 | # CONFIG_PPC_64K_PAGES is not set | 242 | # CONFIG_PPC_64K_PAGES is not set |
243 | # CONFIG_PPC_256K_PAGES is not set | ||
231 | CONFIG_FORCE_MAX_ZONEORDER=11 | 244 | CONFIG_FORCE_MAX_ZONEORDER=11 |
232 | CONFIG_PROC_DEVICETREE=y | 245 | CONFIG_PROC_DEVICETREE=y |
233 | # CONFIG_CMDLINE_BOOL is not set | 246 | # CONFIG_CMDLINE_BOOL is not set |
@@ -254,6 +267,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
254 | # CONFIG_PCI_LEGACY is not set | 267 | # CONFIG_PCI_LEGACY is not set |
255 | # CONFIG_PCI_DEBUG is not set | 268 | # CONFIG_PCI_DEBUG is not set |
256 | # CONFIG_PCI_STUB is not set | 269 | # CONFIG_PCI_STUB is not set |
270 | # CONFIG_PCI_IOV is not set | ||
257 | # CONFIG_PCCARD is not set | 271 | # CONFIG_PCCARD is not set |
258 | # CONFIG_HOTPLUG_PCI is not set | 272 | # CONFIG_HOTPLUG_PCI is not set |
259 | # CONFIG_HAS_RAPIDIO is not set | 273 | # CONFIG_HAS_RAPIDIO is not set |
@@ -276,7 +290,6 @@ CONFIG_NET=y | |||
276 | # | 290 | # |
277 | # Networking options | 291 | # Networking options |
278 | # | 292 | # |
279 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
280 | CONFIG_PACKET=y | 293 | CONFIG_PACKET=y |
281 | # CONFIG_PACKET_MMAP is not set | 294 | # CONFIG_PACKET_MMAP is not set |
282 | CONFIG_UNIX=y | 295 | CONFIG_UNIX=y |
@@ -357,6 +370,7 @@ CONFIG_NETFILTER_ADVANCED=y | |||
357 | # CONFIG_LLC2 is not set | 370 | # CONFIG_LLC2 is not set |
358 | # CONFIG_IPX is not set | 371 | # CONFIG_IPX is not set |
359 | # CONFIG_ATALK is not set | 372 | # CONFIG_ATALK is not set |
373 | # CONFIG_PHONET is not set | ||
360 | # CONFIG_NET_SCHED is not set | 374 | # CONFIG_NET_SCHED is not set |
361 | # CONFIG_DCB is not set | 375 | # CONFIG_DCB is not set |
362 | 376 | ||
@@ -368,7 +382,6 @@ CONFIG_NETFILTER_ADVANCED=y | |||
368 | # CONFIG_CAN is not set | 382 | # CONFIG_CAN is not set |
369 | # CONFIG_IRDA is not set | 383 | # CONFIG_IRDA is not set |
370 | # CONFIG_BT is not set | 384 | # CONFIG_BT is not set |
371 | # CONFIG_PHONET is not set | ||
372 | CONFIG_WIRELESS=y | 385 | CONFIG_WIRELESS=y |
373 | # CONFIG_CFG80211 is not set | 386 | # CONFIG_CFG80211 is not set |
374 | CONFIG_WIRELESS_OLD_REGULATORY=y | 387 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -473,7 +486,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
473 | # LPDDR flash memory drivers | 486 | # LPDDR flash memory drivers |
474 | # | 487 | # |
475 | # CONFIG_MTD_LPDDR is not set | 488 | # CONFIG_MTD_LPDDR is not set |
476 | # CONFIG_MTD_QINFO_PROBE is not set | ||
477 | 489 | ||
478 | # | 490 | # |
479 | # UBI - Unsorted block images | 491 | # UBI - Unsorted block images |
@@ -498,10 +510,14 @@ CONFIG_BLK_DEV_LOOP=y | |||
498 | # CONFIG_BLK_DEV_HD is not set | 510 | # CONFIG_BLK_DEV_HD is not set |
499 | CONFIG_MISC_DEVICES=y | 511 | CONFIG_MISC_DEVICES=y |
500 | # CONFIG_PHANTOM is not set | 512 | # CONFIG_PHANTOM is not set |
501 | # CONFIG_EEPROM_93CX6 is not set | ||
502 | # CONFIG_SGI_IOC4 is not set | 513 | # CONFIG_SGI_IOC4 is not set |
503 | # CONFIG_ENCLOSURE_SERVICES is not set | 514 | # CONFIG_ENCLOSURE_SERVICES is not set |
504 | # CONFIG_HP_ILO is not set | 515 | # CONFIG_HP_ILO is not set |
516 | |||
517 | # | ||
518 | # EEPROM support | ||
519 | # | ||
520 | # CONFIG_EEPROM_93CX6 is not set | ||
505 | CONFIG_HAVE_IDE=y | 521 | CONFIG_HAVE_IDE=y |
506 | CONFIG_IDE=y | 522 | CONFIG_IDE=y |
507 | 523 | ||
@@ -573,6 +589,7 @@ CONFIG_IDE_PROC_FS=y | |||
573 | # CONFIG_I2O is not set | 589 | # CONFIG_I2O is not set |
574 | # CONFIG_MACINTOSH_DRIVERS is not set | 590 | # CONFIG_MACINTOSH_DRIVERS is not set |
575 | CONFIG_NETDEVICES=y | 591 | CONFIG_NETDEVICES=y |
592 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
576 | # CONFIG_DUMMY is not set | 593 | # CONFIG_DUMMY is not set |
577 | # CONFIG_BONDING is not set | 594 | # CONFIG_BONDING is not set |
578 | # CONFIG_EQUALIZER is not set | 595 | # CONFIG_EQUALIZER is not set |
@@ -606,6 +623,8 @@ CONFIG_MII=y | |||
606 | # CONFIG_SUNGEM is not set | 623 | # CONFIG_SUNGEM is not set |
607 | # CONFIG_CASSINI is not set | 624 | # CONFIG_CASSINI is not set |
608 | # CONFIG_NET_VENDOR_3COM is not set | 625 | # CONFIG_NET_VENDOR_3COM is not set |
626 | # CONFIG_ETHOC is not set | ||
627 | # CONFIG_DNET is not set | ||
609 | # CONFIG_NET_TULIP is not set | 628 | # CONFIG_NET_TULIP is not set |
610 | # CONFIG_HP100 is not set | 629 | # CONFIG_HP100 is not set |
611 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 630 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -628,6 +647,7 @@ CONFIG_NETDEV_1000=y | |||
628 | # CONFIG_E1000 is not set | 647 | # CONFIG_E1000 is not set |
629 | # CONFIG_E1000E is not set | 648 | # CONFIG_E1000E is not set |
630 | # CONFIG_IGB is not set | 649 | # CONFIG_IGB is not set |
650 | # CONFIG_IGBVF is not set | ||
631 | # CONFIG_NS83820 is not set | 651 | # CONFIG_NS83820 is not set |
632 | # CONFIG_HAMACHI is not set | 652 | # CONFIG_HAMACHI is not set |
633 | # CONFIG_R8169 is not set | 653 | # CONFIG_R8169 is not set |
@@ -637,8 +657,8 @@ CONFIG_NETDEV_1000=y | |||
637 | # CONFIG_VIA_VELOCITY is not set | 657 | # CONFIG_VIA_VELOCITY is not set |
638 | # CONFIG_TIGON3 is not set | 658 | # CONFIG_TIGON3 is not set |
639 | # CONFIG_BNX2 is not set | 659 | # CONFIG_BNX2 is not set |
660 | # CONFIG_FSL_PQ_MDIO is not set | ||
640 | # CONFIG_GIANFAR is not set | 661 | # CONFIG_GIANFAR is not set |
641 | # CONFIG_MV643XX_ETH is not set | ||
642 | # CONFIG_QLA3XXX is not set | 662 | # CONFIG_QLA3XXX is not set |
643 | # CONFIG_ATL1 is not set | 663 | # CONFIG_ATL1 is not set |
644 | # CONFIG_JME is not set | 664 | # CONFIG_JME is not set |
@@ -650,6 +670,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
650 | # CONFIG_IXGBE is not set | 670 | # CONFIG_IXGBE is not set |
651 | # CONFIG_IXGB is not set | 671 | # CONFIG_IXGB is not set |
652 | # CONFIG_S2IO is not set | 672 | # CONFIG_S2IO is not set |
673 | # CONFIG_VXGE is not set | ||
653 | # CONFIG_MYRI10GE is not set | 674 | # CONFIG_MYRI10GE is not set |
654 | # CONFIG_NETXEN_NIC is not set | 675 | # CONFIG_NETXEN_NIC is not set |
655 | # CONFIG_NIU is not set | 676 | # CONFIG_NIU is not set |
@@ -659,6 +680,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
659 | # CONFIG_BNX2X is not set | 680 | # CONFIG_BNX2X is not set |
660 | # CONFIG_QLGE is not set | 681 | # CONFIG_QLGE is not set |
661 | # CONFIG_SFC is not set | 682 | # CONFIG_SFC is not set |
683 | # CONFIG_BE2NET is not set | ||
662 | # CONFIG_TR is not set | 684 | # CONFIG_TR is not set |
663 | 685 | ||
664 | # | 686 | # |
@@ -666,7 +688,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
666 | # | 688 | # |
667 | # CONFIG_WLAN_PRE80211 is not set | 689 | # CONFIG_WLAN_PRE80211 is not set |
668 | # CONFIG_WLAN_80211 is not set | 690 | # CONFIG_WLAN_80211 is not set |
669 | # CONFIG_IWLWIFI_LEDS is not set | ||
670 | 691 | ||
671 | # | 692 | # |
672 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 693 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -720,7 +741,6 @@ CONFIG_MOUSE_PS2=y | |||
720 | CONFIG_MOUSE_PS2_ALPS=y | 741 | CONFIG_MOUSE_PS2_ALPS=y |
721 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | 742 | CONFIG_MOUSE_PS2_LOGIPS2PP=y |
722 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 743 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
723 | CONFIG_MOUSE_PS2_LIFEBOOK=y | ||
724 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 744 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
725 | # CONFIG_MOUSE_PS2_ELANTECH is not set | 745 | # CONFIG_MOUSE_PS2_ELANTECH is not set |
726 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | 746 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set |
@@ -773,6 +793,7 @@ CONFIG_LEGACY_PTYS=y | |||
773 | CONFIG_LEGACY_PTY_COUNT=256 | 793 | CONFIG_LEGACY_PTY_COUNT=256 |
774 | # CONFIG_IPMI_HANDLER is not set | 794 | # CONFIG_IPMI_HANDLER is not set |
775 | CONFIG_HW_RANDOM=y | 795 | CONFIG_HW_RANDOM=y |
796 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
776 | # CONFIG_NVRAM is not set | 797 | # CONFIG_NVRAM is not set |
777 | # CONFIG_GEN_RTC is not set | 798 | # CONFIG_GEN_RTC is not set |
778 | # CONFIG_R3964 is not set | 799 | # CONFIG_R3964 is not set |
@@ -868,7 +889,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
868 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | 889 | # CONFIG_USB_GADGET_MUSB_HDRC is not set |
869 | 890 | ||
870 | # | 891 | # |
871 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 892 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
872 | # | 893 | # |
873 | CONFIG_USB_GADGET=y | 894 | CONFIG_USB_GADGET=y |
874 | # CONFIG_USB_GADGET_DEBUG is not set | 895 | # CONFIG_USB_GADGET_DEBUG is not set |
@@ -907,13 +928,16 @@ CONFIG_USB_ETH_RNDIS=y | |||
907 | # OTG and related infrastructure | 928 | # OTG and related infrastructure |
908 | # | 929 | # |
909 | # CONFIG_USB_GPIO_VBUS is not set | 930 | # CONFIG_USB_GPIO_VBUS is not set |
931 | # CONFIG_NOP_USB_XCEIV is not set | ||
910 | # CONFIG_MMC is not set | 932 | # CONFIG_MMC is not set |
911 | # CONFIG_MEMSTICK is not set | 933 | # CONFIG_MEMSTICK is not set |
912 | # CONFIG_NEW_LEDS is not set | 934 | # CONFIG_NEW_LEDS is not set |
913 | # CONFIG_ACCESSIBILITY is not set | 935 | # CONFIG_ACCESSIBILITY is not set |
914 | # CONFIG_INFINIBAND is not set | 936 | # CONFIG_INFINIBAND is not set |
937 | # CONFIG_EDAC is not set | ||
915 | # CONFIG_RTC_CLASS is not set | 938 | # CONFIG_RTC_CLASS is not set |
916 | # CONFIG_DMADEVICES is not set | 939 | # CONFIG_DMADEVICES is not set |
940 | # CONFIG_AUXDISPLAY is not set | ||
917 | # CONFIG_UIO is not set | 941 | # CONFIG_UIO is not set |
918 | # CONFIG_STAGING is not set | 942 | # CONFIG_STAGING is not set |
919 | 943 | ||
@@ -924,6 +948,7 @@ CONFIG_EXT2_FS=y | |||
924 | # CONFIG_EXT2_FS_XATTR is not set | 948 | # CONFIG_EXT2_FS_XATTR is not set |
925 | # CONFIG_EXT2_FS_XIP is not set | 949 | # CONFIG_EXT2_FS_XIP is not set |
926 | CONFIG_EXT3_FS=y | 950 | CONFIG_EXT3_FS=y |
951 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
927 | CONFIG_EXT3_FS_XATTR=y | 952 | CONFIG_EXT3_FS_XATTR=y |
928 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 953 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
929 | # CONFIG_EXT3_FS_SECURITY is not set | 954 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -945,6 +970,10 @@ CONFIG_AUTOFS4_FS=y | |||
945 | # CONFIG_FUSE_FS is not set | 970 | # CONFIG_FUSE_FS is not set |
946 | 971 | ||
947 | # | 972 | # |
973 | # Caches | ||
974 | # | ||
975 | |||
976 | # | ||
948 | # CD-ROM/DVD Filesystems | 977 | # CD-ROM/DVD Filesystems |
949 | # | 978 | # |
950 | # CONFIG_ISO9660_FS is not set | 979 | # CONFIG_ISO9660_FS is not set |
@@ -1059,6 +1088,7 @@ CONFIG_NLS_ISO8859_1=y | |||
1059 | # CONFIG_NLS_KOI8_R is not set | 1088 | # CONFIG_NLS_KOI8_R is not set |
1060 | # CONFIG_NLS_KOI8_U is not set | 1089 | # CONFIG_NLS_KOI8_U is not set |
1061 | CONFIG_NLS_UTF8=y | 1090 | CONFIG_NLS_UTF8=y |
1091 | # CONFIG_BINARY_PRINTF is not set | ||
1062 | 1092 | ||
1063 | # | 1093 | # |
1064 | # Library routines | 1094 | # Library routines |
@@ -1074,11 +1104,12 @@ CONFIG_CRC32=y | |||
1074 | # CONFIG_LIBCRC32C is not set | 1104 | # CONFIG_LIBCRC32C is not set |
1075 | CONFIG_ZLIB_INFLATE=y | 1105 | CONFIG_ZLIB_INFLATE=y |
1076 | CONFIG_ZLIB_DEFLATE=y | 1106 | CONFIG_ZLIB_DEFLATE=y |
1077 | CONFIG_PLIST=y | 1107 | CONFIG_DECOMPRESS_GZIP=y |
1078 | CONFIG_HAS_IOMEM=y | 1108 | CONFIG_HAS_IOMEM=y |
1079 | CONFIG_HAS_IOPORT=y | 1109 | CONFIG_HAS_IOPORT=y |
1080 | CONFIG_HAS_DMA=y | 1110 | CONFIG_HAS_DMA=y |
1081 | CONFIG_HAVE_LMB=y | 1111 | CONFIG_HAVE_LMB=y |
1112 | CONFIG_NLATTR=y | ||
1082 | 1113 | ||
1083 | # | 1114 | # |
1084 | # Kernel hacking | 1115 | # Kernel hacking |
@@ -1096,6 +1127,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1096 | CONFIG_DETECT_SOFTLOCKUP=y | 1127 | CONFIG_DETECT_SOFTLOCKUP=y |
1097 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1128 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1098 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1129 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1130 | CONFIG_DETECT_HUNG_TASK=y | ||
1131 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1132 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1099 | # CONFIG_SCHED_DEBUG is not set | 1133 | # CONFIG_SCHED_DEBUG is not set |
1100 | # CONFIG_SCHEDSTATS is not set | 1134 | # CONFIG_SCHEDSTATS is not set |
1101 | # CONFIG_TIMER_STATS is not set | 1135 | # CONFIG_TIMER_STATS is not set |
@@ -1125,9 +1159,12 @@ CONFIG_DEBUG_INFO=y | |||
1125 | # CONFIG_FAULT_INJECTION is not set | 1159 | # CONFIG_FAULT_INJECTION is not set |
1126 | # CONFIG_LATENCYTOP is not set | 1160 | # CONFIG_LATENCYTOP is not set |
1127 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1161 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1162 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1128 | CONFIG_HAVE_FUNCTION_TRACER=y | 1163 | CONFIG_HAVE_FUNCTION_TRACER=y |
1164 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1129 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1165 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1130 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1166 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1167 | CONFIG_TRACING_SUPPORT=y | ||
1131 | 1168 | ||
1132 | # | 1169 | # |
1133 | # Tracers | 1170 | # Tracers |
@@ -1135,16 +1172,18 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1135 | # CONFIG_FUNCTION_TRACER is not set | 1172 | # CONFIG_FUNCTION_TRACER is not set |
1136 | # CONFIG_SCHED_TRACER is not set | 1173 | # CONFIG_SCHED_TRACER is not set |
1137 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1174 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1175 | # CONFIG_EVENT_TRACER is not set | ||
1138 | # CONFIG_BOOT_TRACER is not set | 1176 | # CONFIG_BOOT_TRACER is not set |
1139 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1177 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1140 | # CONFIG_STACK_TRACER is not set | 1178 | # CONFIG_STACK_TRACER is not set |
1141 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1179 | # CONFIG_KMEMTRACE is not set |
1180 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1181 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1142 | # CONFIG_SAMPLES is not set | 1182 | # CONFIG_SAMPLES is not set |
1143 | CONFIG_HAVE_ARCH_KGDB=y | 1183 | CONFIG_HAVE_ARCH_KGDB=y |
1144 | CONFIG_PRINT_STACK_DEPTH=64 | 1184 | CONFIG_PRINT_STACK_DEPTH=64 |
1145 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1185 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1146 | # CONFIG_DEBUG_STACK_USAGE is not set | 1186 | # CONFIG_DEBUG_STACK_USAGE is not set |
1147 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1148 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1187 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1149 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1188 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1150 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1189 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1175,9 +1214,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
1175 | CONFIG_CRYPTO_HASH=y | 1214 | CONFIG_CRYPTO_HASH=y |
1176 | CONFIG_CRYPTO_HASH2=y | 1215 | CONFIG_CRYPTO_HASH2=y |
1177 | CONFIG_CRYPTO_RNG2=y | 1216 | CONFIG_CRYPTO_RNG2=y |
1217 | CONFIG_CRYPTO_PCOMP=y | ||
1178 | CONFIG_CRYPTO_MANAGER=y | 1218 | CONFIG_CRYPTO_MANAGER=y |
1179 | CONFIG_CRYPTO_MANAGER2=y | 1219 | CONFIG_CRYPTO_MANAGER2=y |
1180 | # CONFIG_CRYPTO_NULL is not set | 1220 | # CONFIG_CRYPTO_NULL is not set |
1221 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1181 | # CONFIG_CRYPTO_CRYPTD is not set | 1222 | # CONFIG_CRYPTO_CRYPTD is not set |
1182 | # CONFIG_CRYPTO_AUTHENC is not set | 1223 | # CONFIG_CRYPTO_AUTHENC is not set |
1183 | 1224 | ||
@@ -1241,6 +1282,7 @@ CONFIG_CRYPTO_DES=y | |||
1241 | # Compression | 1282 | # Compression |
1242 | # | 1283 | # |
1243 | # CONFIG_CRYPTO_DEFLATE is not set | 1284 | # CONFIG_CRYPTO_DEFLATE is not set |
1285 | # CONFIG_CRYPTO_ZLIB is not set | ||
1244 | # CONFIG_CRYPTO_LZO is not set | 1286 | # CONFIG_CRYPTO_LZO is not set |
1245 | 1287 | ||
1246 | # | 1288 | # |
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig index e971db171138..e9f287f313fa 100644 --- a/arch/powerpc/configs/prpmc2800_defconfig +++ b/arch/powerpc/configs/prpmc2800_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc2 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Mon Jan 26 15:35:44 2009 | 4 | # Wed May 13 17:22:03 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | CONFIG_ALTIVEC=y | 19 | CONFIG_ALTIVEC=y |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -56,6 +57,7 @@ CONFIG_GENERIC_BUG=y | |||
56 | # CONFIG_DEFAULT_UIMAGE is not set | 57 | # CONFIG_DEFAULT_UIMAGE is not set |
57 | # CONFIG_PPC_DCR_NATIVE is not set | 58 | # CONFIG_PPC_DCR_NATIVE is not set |
58 | # CONFIG_PPC_DCR_MMIO is not set | 59 | # CONFIG_PPC_DCR_MMIO is not set |
60 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
60 | 62 | ||
61 | # | 63 | # |
@@ -70,9 +72,19 @@ CONFIG_SWAP=y | |||
70 | CONFIG_SYSVIPC=y | 72 | CONFIG_SYSVIPC=y |
71 | CONFIG_SYSVIPC_SYSCTL=y | 73 | CONFIG_SYSVIPC_SYSCTL=y |
72 | CONFIG_POSIX_MQUEUE=y | 74 | CONFIG_POSIX_MQUEUE=y |
75 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
73 | # CONFIG_BSD_PROCESS_ACCT is not set | 76 | # CONFIG_BSD_PROCESS_ACCT is not set |
74 | # CONFIG_TASKSTATS is not set | 77 | # CONFIG_TASKSTATS is not set |
75 | # CONFIG_AUDIT is not set | 78 | # CONFIG_AUDIT is not set |
79 | |||
80 | # | ||
81 | # RCU Subsystem | ||
82 | # | ||
83 | CONFIG_CLASSIC_RCU=y | ||
84 | # CONFIG_TREE_RCU is not set | ||
85 | # CONFIG_PREEMPT_RCU is not set | ||
86 | # CONFIG_TREE_RCU_TRACE is not set | ||
87 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | 88 | # CONFIG_IKCONFIG is not set |
77 | CONFIG_LOG_BUF_SHIFT=14 | 89 | CONFIG_LOG_BUF_SHIFT=14 |
78 | CONFIG_GROUP_SCHED=y | 90 | CONFIG_GROUP_SCHED=y |
@@ -89,22 +101,26 @@ CONFIG_NAMESPACES=y | |||
89 | # CONFIG_IPC_NS is not set | 101 | # CONFIG_IPC_NS is not set |
90 | # CONFIG_USER_NS is not set | 102 | # CONFIG_USER_NS is not set |
91 | # CONFIG_PID_NS is not set | 103 | # CONFIG_PID_NS is not set |
104 | # CONFIG_NET_NS is not set | ||
92 | CONFIG_BLK_DEV_INITRD=y | 105 | CONFIG_BLK_DEV_INITRD=y |
93 | CONFIG_INITRAMFS_SOURCE="" | 106 | CONFIG_INITRAMFS_SOURCE="" |
107 | CONFIG_RD_GZIP=y | ||
108 | CONFIG_RD_BZIP2=y | ||
109 | CONFIG_RD_LZMA=y | ||
94 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 110 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
95 | CONFIG_SYSCTL=y | 111 | CONFIG_SYSCTL=y |
112 | CONFIG_ANON_INODES=y | ||
96 | # CONFIG_EMBEDDED is not set | 113 | # CONFIG_EMBEDDED is not set |
97 | CONFIG_SYSCTL_SYSCALL=y | 114 | CONFIG_SYSCTL_SYSCALL=y |
98 | CONFIG_KALLSYMS=y | 115 | CONFIG_KALLSYMS=y |
99 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 116 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
117 | # CONFIG_STRIP_ASM_SYMS is not set | ||
100 | CONFIG_HOTPLUG=y | 118 | CONFIG_HOTPLUG=y |
101 | CONFIG_PRINTK=y | 119 | CONFIG_PRINTK=y |
102 | CONFIG_BUG=y | 120 | CONFIG_BUG=y |
103 | CONFIG_ELF_CORE=y | 121 | CONFIG_ELF_CORE=y |
104 | CONFIG_COMPAT_BRK=y | ||
105 | CONFIG_BASE_FULL=y | 122 | CONFIG_BASE_FULL=y |
106 | CONFIG_FUTEX=y | 123 | CONFIG_FUTEX=y |
107 | CONFIG_ANON_INODES=y | ||
108 | CONFIG_EPOLL=y | 124 | CONFIG_EPOLL=y |
109 | CONFIG_SIGNALFD=y | 125 | CONFIG_SIGNALFD=y |
110 | CONFIG_TIMERFD=y | 126 | CONFIG_TIMERFD=y |
@@ -114,16 +130,19 @@ CONFIG_AIO=y | |||
114 | CONFIG_VM_EVENT_COUNTERS=y | 130 | CONFIG_VM_EVENT_COUNTERS=y |
115 | CONFIG_PCI_QUIRKS=y | 131 | CONFIG_PCI_QUIRKS=y |
116 | CONFIG_SLUB_DEBUG=y | 132 | CONFIG_SLUB_DEBUG=y |
133 | CONFIG_COMPAT_BRK=y | ||
117 | # CONFIG_SLAB is not set | 134 | # CONFIG_SLAB is not set |
118 | CONFIG_SLUB=y | 135 | CONFIG_SLUB=y |
119 | # CONFIG_SLOB is not set | 136 | # CONFIG_SLOB is not set |
120 | # CONFIG_PROFILING is not set | 137 | # CONFIG_PROFILING is not set |
138 | # CONFIG_MARKERS is not set | ||
121 | CONFIG_HAVE_OPROFILE=y | 139 | CONFIG_HAVE_OPROFILE=y |
122 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 140 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
123 | CONFIG_HAVE_IOREMAP_PROT=y | 141 | CONFIG_HAVE_IOREMAP_PROT=y |
124 | CONFIG_HAVE_KPROBES=y | 142 | CONFIG_HAVE_KPROBES=y |
125 | CONFIG_HAVE_KRETPROBES=y | 143 | CONFIG_HAVE_KRETPROBES=y |
126 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 144 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
145 | # CONFIG_SLOW_WORK is not set | ||
127 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 146 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
128 | CONFIG_SLABINFO=y | 147 | CONFIG_SLABINFO=y |
129 | CONFIG_RT_MUTEXES=y | 148 | CONFIG_RT_MUTEXES=y |
@@ -131,7 +150,6 @@ CONFIG_BASE_SMALL=0 | |||
131 | # CONFIG_MODULES is not set | 150 | # CONFIG_MODULES is not set |
132 | CONFIG_BLOCK=y | 151 | CONFIG_BLOCK=y |
133 | CONFIG_LBD=y | 152 | CONFIG_LBD=y |
134 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
135 | # CONFIG_BLK_DEV_BSG is not set | 153 | # CONFIG_BLK_DEV_BSG is not set |
136 | # CONFIG_BLK_DEV_INTEGRITY is not set | 154 | # CONFIG_BLK_DEV_INTEGRITY is not set |
137 | 155 | ||
@@ -147,18 +165,11 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_CFQ is not set | 165 | # CONFIG_DEFAULT_CFQ is not set |
148 | # CONFIG_DEFAULT_NOOP is not set | 166 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 167 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
150 | CONFIG_CLASSIC_RCU=y | ||
151 | # CONFIG_TREE_RCU is not set | ||
152 | # CONFIG_PREEMPT_RCU is not set | ||
153 | # CONFIG_TREE_RCU_TRACE is not set | ||
154 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
155 | # CONFIG_FREEZER is not set | 168 | # CONFIG_FREEZER is not set |
156 | 169 | ||
157 | # | 170 | # |
158 | # Platform support | 171 | # Platform support |
159 | # | 172 | # |
160 | CONFIG_PPC_MULTIPLATFORM=y | ||
161 | CONFIG_CLASSIC32=y | ||
162 | # CONFIG_PPC_CHRP is not set | 173 | # CONFIG_PPC_CHRP is not set |
163 | # CONFIG_MPC5121_ADS is not set | 174 | # CONFIG_MPC5121_ADS is not set |
164 | # CONFIG_MPC5121_GENERIC is not set | 175 | # CONFIG_MPC5121_GENERIC is not set |
@@ -178,6 +189,8 @@ CONFIG_EMBEDDED6xx=y | |||
178 | CONFIG_PPC_PRPMC2800=y | 189 | CONFIG_PPC_PRPMC2800=y |
179 | # CONFIG_PPC_C2K is not set | 190 | # CONFIG_PPC_C2K is not set |
180 | CONFIG_MV64X60=y | 191 | CONFIG_MV64X60=y |
192 | # CONFIG_AMIGAONE is not set | ||
193 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
181 | # CONFIG_IPIC is not set | 194 | # CONFIG_IPIC is not set |
182 | # CONFIG_MPIC is not set | 195 | # CONFIG_MPIC is not set |
183 | # CONFIG_MPIC_WEIRD is not set | 196 | # CONFIG_MPIC_WEIRD is not set |
@@ -237,9 +250,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
237 | CONFIG_BOUNCE=y | 250 | CONFIG_BOUNCE=y |
238 | CONFIG_VIRT_TO_BUS=y | 251 | CONFIG_VIRT_TO_BUS=y |
239 | CONFIG_UNEVICTABLE_LRU=y | 252 | CONFIG_UNEVICTABLE_LRU=y |
253 | CONFIG_HAVE_MLOCK=y | ||
254 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
240 | CONFIG_PPC_4K_PAGES=y | 255 | CONFIG_PPC_4K_PAGES=y |
241 | # CONFIG_PPC_16K_PAGES is not set | 256 | # CONFIG_PPC_16K_PAGES is not set |
242 | # CONFIG_PPC_64K_PAGES is not set | 257 | # CONFIG_PPC_64K_PAGES is not set |
258 | # CONFIG_PPC_256K_PAGES is not set | ||
243 | CONFIG_FORCE_MAX_ZONEORDER=11 | 259 | CONFIG_FORCE_MAX_ZONEORDER=11 |
244 | CONFIG_PROC_DEVICETREE=y | 260 | CONFIG_PROC_DEVICETREE=y |
245 | # CONFIG_CMDLINE_BOOL is not set | 261 | # CONFIG_CMDLINE_BOOL is not set |
@@ -262,6 +278,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
262 | # CONFIG_PCI_MSI is not set | 278 | # CONFIG_PCI_MSI is not set |
263 | # CONFIG_PCI_LEGACY is not set | 279 | # CONFIG_PCI_LEGACY is not set |
264 | # CONFIG_PCI_STUB is not set | 280 | # CONFIG_PCI_STUB is not set |
281 | # CONFIG_PCI_IOV is not set | ||
265 | # CONFIG_PCCARD is not set | 282 | # CONFIG_PCCARD is not set |
266 | # CONFIG_HOTPLUG_PCI is not set | 283 | # CONFIG_HOTPLUG_PCI is not set |
267 | # CONFIG_HAS_RAPIDIO is not set | 284 | # CONFIG_HAS_RAPIDIO is not set |
@@ -279,15 +296,11 @@ CONFIG_PAGE_OFFSET=0xc0000000 | |||
279 | CONFIG_KERNEL_START=0xc0000000 | 296 | CONFIG_KERNEL_START=0xc0000000 |
280 | CONFIG_PHYSICAL_START=0x00000000 | 297 | CONFIG_PHYSICAL_START=0x00000000 |
281 | CONFIG_TASK_SIZE=0xc0000000 | 298 | CONFIG_TASK_SIZE=0xc0000000 |
282 | CONFIG_CONSISTENT_START=0xff100000 | ||
283 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
284 | CONFIG_NET=y | 299 | CONFIG_NET=y |
285 | 300 | ||
286 | # | 301 | # |
287 | # Networking options | 302 | # Networking options |
288 | # | 303 | # |
289 | # CONFIG_NET_NS is not set | ||
290 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
291 | CONFIG_PACKET=y | 304 | CONFIG_PACKET=y |
292 | # CONFIG_PACKET_MMAP is not set | 305 | # CONFIG_PACKET_MMAP is not set |
293 | CONFIG_UNIX=y | 306 | CONFIG_UNIX=y |
@@ -318,7 +331,7 @@ CONFIG_SYN_COOKIES=y | |||
318 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 331 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
319 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 332 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
320 | CONFIG_INET_XFRM_MODE_BEET=y | 333 | CONFIG_INET_XFRM_MODE_BEET=y |
321 | # CONFIG_INET_LRO is not set | 334 | CONFIG_INET_LRO=y |
322 | CONFIG_INET_DIAG=y | 335 | CONFIG_INET_DIAG=y |
323 | CONFIG_INET_TCP_DIAG=y | 336 | CONFIG_INET_TCP_DIAG=y |
324 | # CONFIG_TCP_CONG_ADVANCED is not set | 337 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -343,6 +356,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
343 | # CONFIG_LAPB is not set | 356 | # CONFIG_LAPB is not set |
344 | # CONFIG_ECONET is not set | 357 | # CONFIG_ECONET is not set |
345 | # CONFIG_WAN_ROUTER is not set | 358 | # CONFIG_WAN_ROUTER is not set |
359 | # CONFIG_PHONET is not set | ||
346 | # CONFIG_NET_SCHED is not set | 360 | # CONFIG_NET_SCHED is not set |
347 | # CONFIG_DCB is not set | 361 | # CONFIG_DCB is not set |
348 | 362 | ||
@@ -355,7 +369,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
355 | # CONFIG_IRDA is not set | 369 | # CONFIG_IRDA is not set |
356 | # CONFIG_BT is not set | 370 | # CONFIG_BT is not set |
357 | # CONFIG_AF_RXRPC is not set | 371 | # CONFIG_AF_RXRPC is not set |
358 | # CONFIG_PHONET is not set | ||
359 | CONFIG_WIRELESS=y | 372 | CONFIG_WIRELESS=y |
360 | # CONFIG_CFG80211 is not set | 373 | # CONFIG_CFG80211 is not set |
361 | CONFIG_WIRELESS_OLD_REGULATORY=y | 374 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -459,7 +472,6 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
459 | # LPDDR flash memory drivers | 472 | # LPDDR flash memory drivers |
460 | # | 473 | # |
461 | # CONFIG_MTD_LPDDR is not set | 474 | # CONFIG_MTD_LPDDR is not set |
462 | # CONFIG_MTD_QINFO_PROBE is not set | ||
463 | 475 | ||
464 | # | 476 | # |
465 | # UBI - Unsorted block images | 477 | # UBI - Unsorted block images |
@@ -489,19 +501,27 @@ CONFIG_BLK_DEV_RAM_SIZE=131072 | |||
489 | # CONFIG_BLK_DEV_HD is not set | 501 | # CONFIG_BLK_DEV_HD is not set |
490 | CONFIG_MISC_DEVICES=y | 502 | CONFIG_MISC_DEVICES=y |
491 | # CONFIG_PHANTOM is not set | 503 | # CONFIG_PHANTOM is not set |
492 | # CONFIG_EEPROM_93CX6 is not set | ||
493 | # CONFIG_SGI_IOC4 is not set | 504 | # CONFIG_SGI_IOC4 is not set |
494 | # CONFIG_TIFM_CORE is not set | 505 | # CONFIG_TIFM_CORE is not set |
495 | # CONFIG_ICS932S401 is not set | 506 | # CONFIG_ICS932S401 is not set |
496 | # CONFIG_ENCLOSURE_SERVICES is not set | 507 | # CONFIG_ENCLOSURE_SERVICES is not set |
497 | # CONFIG_HP_ILO is not set | 508 | # CONFIG_HP_ILO is not set |
509 | # CONFIG_ISL29003 is not set | ||
498 | # CONFIG_C2PORT is not set | 510 | # CONFIG_C2PORT is not set |
511 | |||
512 | # | ||
513 | # EEPROM support | ||
514 | # | ||
515 | # CONFIG_EEPROM_AT24 is not set | ||
516 | # CONFIG_EEPROM_LEGACY is not set | ||
517 | # CONFIG_EEPROM_93CX6 is not set | ||
499 | CONFIG_HAVE_IDE=y | 518 | CONFIG_HAVE_IDE=y |
500 | CONFIG_IDE=y | 519 | CONFIG_IDE=y |
501 | 520 | ||
502 | # | 521 | # |
503 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 522 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
504 | # | 523 | # |
524 | CONFIG_IDE_XFER_MODE=y | ||
505 | # CONFIG_BLK_DEV_IDE_SATA is not set | 525 | # CONFIG_BLK_DEV_IDE_SATA is not set |
506 | CONFIG_IDE_GD=y | 526 | CONFIG_IDE_GD=y |
507 | CONFIG_IDE_GD_ATA=y | 527 | CONFIG_IDE_GD_ATA=y |
@@ -605,9 +625,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
605 | # CONFIG_MEGARAID_NEWGEN is not set | 625 | # CONFIG_MEGARAID_NEWGEN is not set |
606 | # CONFIG_MEGARAID_LEGACY is not set | 626 | # CONFIG_MEGARAID_LEGACY is not set |
607 | # CONFIG_MEGARAID_SAS is not set | 627 | # CONFIG_MEGARAID_SAS is not set |
628 | # CONFIG_SCSI_MPT2SAS is not set | ||
608 | # CONFIG_SCSI_HPTIOP is not set | 629 | # CONFIG_SCSI_HPTIOP is not set |
609 | # CONFIG_SCSI_BUSLOGIC is not set | 630 | # CONFIG_SCSI_BUSLOGIC is not set |
610 | # CONFIG_LIBFC is not set | 631 | # CONFIG_LIBFC is not set |
632 | # CONFIG_LIBFCOE is not set | ||
611 | # CONFIG_FCOE is not set | 633 | # CONFIG_FCOE is not set |
612 | # CONFIG_SCSI_DMX3191D is not set | 634 | # CONFIG_SCSI_DMX3191D is not set |
613 | # CONFIG_SCSI_EATA is not set | 635 | # CONFIG_SCSI_EATA is not set |
@@ -630,6 +652,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
630 | # CONFIG_SCSI_DEBUG is not set | 652 | # CONFIG_SCSI_DEBUG is not set |
631 | # CONFIG_SCSI_SRP is not set | 653 | # CONFIG_SCSI_SRP is not set |
632 | # CONFIG_SCSI_DH is not set | 654 | # CONFIG_SCSI_DH is not set |
655 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
633 | CONFIG_ATA=y | 656 | CONFIG_ATA=y |
634 | # CONFIG_ATA_NONSTANDARD is not set | 657 | # CONFIG_ATA_NONSTANDARD is not set |
635 | CONFIG_SATA_PMP=y | 658 | CONFIG_SATA_PMP=y |
@@ -707,6 +730,7 @@ CONFIG_MACINTOSH_DRIVERS=y | |||
707 | # CONFIG_MAC_EMUMOUSEBTN is not set | 730 | # CONFIG_MAC_EMUMOUSEBTN is not set |
708 | # CONFIG_WINDFARM is not set | 731 | # CONFIG_WINDFARM is not set |
709 | CONFIG_NETDEVICES=y | 732 | CONFIG_NETDEVICES=y |
733 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
710 | # CONFIG_DUMMY is not set | 734 | # CONFIG_DUMMY is not set |
711 | # CONFIG_BONDING is not set | 735 | # CONFIG_BONDING is not set |
712 | # CONFIG_MACVLAN is not set | 736 | # CONFIG_MACVLAN is not set |
@@ -740,6 +764,8 @@ CONFIG_MII=y | |||
740 | # CONFIG_SUNGEM is not set | 764 | # CONFIG_SUNGEM is not set |
741 | # CONFIG_CASSINI is not set | 765 | # CONFIG_CASSINI is not set |
742 | # CONFIG_NET_VENDOR_3COM is not set | 766 | # CONFIG_NET_VENDOR_3COM is not set |
767 | # CONFIG_ETHOC is not set | ||
768 | # CONFIG_DNET is not set | ||
743 | # CONFIG_NET_TULIP is not set | 769 | # CONFIG_NET_TULIP is not set |
744 | # CONFIG_HP100 is not set | 770 | # CONFIG_HP100 is not set |
745 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 771 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -781,6 +807,7 @@ CONFIG_E1000=y | |||
781 | # CONFIG_E1000E is not set | 807 | # CONFIG_E1000E is not set |
782 | # CONFIG_IP1000 is not set | 808 | # CONFIG_IP1000 is not set |
783 | # CONFIG_IGB is not set | 809 | # CONFIG_IGB is not set |
810 | # CONFIG_IGBVF is not set | ||
784 | # CONFIG_NS83820 is not set | 811 | # CONFIG_NS83820 is not set |
785 | # CONFIG_HAMACHI is not set | 812 | # CONFIG_HAMACHI is not set |
786 | # CONFIG_YELLOWFIN is not set | 813 | # CONFIG_YELLOWFIN is not set |
@@ -795,6 +822,7 @@ CONFIG_MV643XX_ETH=y | |||
795 | # CONFIG_QLA3XXX is not set | 822 | # CONFIG_QLA3XXX is not set |
796 | # CONFIG_ATL1 is not set | 823 | # CONFIG_ATL1 is not set |
797 | # CONFIG_ATL1E is not set | 824 | # CONFIG_ATL1E is not set |
825 | # CONFIG_ATL1C is not set | ||
798 | # CONFIG_JME is not set | 826 | # CONFIG_JME is not set |
799 | CONFIG_NETDEV_10000=y | 827 | CONFIG_NETDEV_10000=y |
800 | # CONFIG_CHELSIO_T1 is not set | 828 | # CONFIG_CHELSIO_T1 is not set |
@@ -804,6 +832,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
804 | # CONFIG_IXGBE is not set | 832 | # CONFIG_IXGBE is not set |
805 | # CONFIG_IXGB is not set | 833 | # CONFIG_IXGB is not set |
806 | # CONFIG_S2IO is not set | 834 | # CONFIG_S2IO is not set |
835 | # CONFIG_VXGE is not set | ||
807 | # CONFIG_MYRI10GE is not set | 836 | # CONFIG_MYRI10GE is not set |
808 | # CONFIG_NETXEN_NIC is not set | 837 | # CONFIG_NETXEN_NIC is not set |
809 | # CONFIG_NIU is not set | 838 | # CONFIG_NIU is not set |
@@ -813,6 +842,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
813 | # CONFIG_BNX2X is not set | 842 | # CONFIG_BNX2X is not set |
814 | # CONFIG_QLGE is not set | 843 | # CONFIG_QLGE is not set |
815 | # CONFIG_SFC is not set | 844 | # CONFIG_SFC is not set |
845 | # CONFIG_BE2NET is not set | ||
816 | # CONFIG_TR is not set | 846 | # CONFIG_TR is not set |
817 | 847 | ||
818 | # | 848 | # |
@@ -820,7 +850,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
820 | # | 850 | # |
821 | # CONFIG_WLAN_PRE80211 is not set | 851 | # CONFIG_WLAN_PRE80211 is not set |
822 | # CONFIG_WLAN_80211 is not set | 852 | # CONFIG_WLAN_80211 is not set |
823 | # CONFIG_IWLWIFI_LEDS is not set | ||
824 | 853 | ||
825 | # | 854 | # |
826 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 855 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -975,12 +1004,9 @@ CONFIG_I2C_MV64XXX=y | |||
975 | # Miscellaneous I2C Chip support | 1004 | # Miscellaneous I2C Chip support |
976 | # | 1005 | # |
977 | # CONFIG_DS1682 is not set | 1006 | # CONFIG_DS1682 is not set |
978 | # CONFIG_EEPROM_AT24 is not set | ||
979 | # CONFIG_EEPROM_LEGACY is not set | ||
980 | # CONFIG_SENSORS_PCF8574 is not set | 1007 | # CONFIG_SENSORS_PCF8574 is not set |
981 | # CONFIG_PCF8575 is not set | 1008 | # CONFIG_PCF8575 is not set |
982 | # CONFIG_SENSORS_PCA9539 is not set | 1009 | # CONFIG_SENSORS_PCA9539 is not set |
983 | # CONFIG_SENSORS_PCF8591 is not set | ||
984 | # CONFIG_SENSORS_MAX6875 is not set | 1010 | # CONFIG_SENSORS_MAX6875 is not set |
985 | # CONFIG_SENSORS_TSL2550 is not set | 1011 | # CONFIG_SENSORS_TSL2550 is not set |
986 | # CONFIG_I2C_DEBUG_CORE is not set | 1012 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1012,6 +1038,7 @@ CONFIG_HWMON=y | |||
1012 | # CONFIG_SENSORS_F71805F is not set | 1038 | # CONFIG_SENSORS_F71805F is not set |
1013 | # CONFIG_SENSORS_F71882FG is not set | 1039 | # CONFIG_SENSORS_F71882FG is not set |
1014 | # CONFIG_SENSORS_F75375S is not set | 1040 | # CONFIG_SENSORS_F75375S is not set |
1041 | # CONFIG_SENSORS_G760A is not set | ||
1015 | # CONFIG_SENSORS_GL518SM is not set | 1042 | # CONFIG_SENSORS_GL518SM is not set |
1016 | # CONFIG_SENSORS_GL520SM is not set | 1043 | # CONFIG_SENSORS_GL520SM is not set |
1017 | # CONFIG_SENSORS_IT87 is not set | 1044 | # CONFIG_SENSORS_IT87 is not set |
@@ -1026,11 +1053,14 @@ CONFIG_HWMON=y | |||
1026 | # CONFIG_SENSORS_LM90 is not set | 1053 | # CONFIG_SENSORS_LM90 is not set |
1027 | # CONFIG_SENSORS_LM92 is not set | 1054 | # CONFIG_SENSORS_LM92 is not set |
1028 | # CONFIG_SENSORS_LM93 is not set | 1055 | # CONFIG_SENSORS_LM93 is not set |
1056 | # CONFIG_SENSORS_LTC4215 is not set | ||
1029 | # CONFIG_SENSORS_LTC4245 is not set | 1057 | # CONFIG_SENSORS_LTC4245 is not set |
1058 | # CONFIG_SENSORS_LM95241 is not set | ||
1030 | # CONFIG_SENSORS_MAX1619 is not set | 1059 | # CONFIG_SENSORS_MAX1619 is not set |
1031 | # CONFIG_SENSORS_MAX6650 is not set | 1060 | # CONFIG_SENSORS_MAX6650 is not set |
1032 | # CONFIG_SENSORS_PC87360 is not set | 1061 | # CONFIG_SENSORS_PC87360 is not set |
1033 | # CONFIG_SENSORS_PC87427 is not set | 1062 | # CONFIG_SENSORS_PC87427 is not set |
1063 | # CONFIG_SENSORS_PCF8591 is not set | ||
1034 | # CONFIG_SENSORS_SIS5595 is not set | 1064 | # CONFIG_SENSORS_SIS5595 is not set |
1035 | # CONFIG_SENSORS_DME1737 is not set | 1065 | # CONFIG_SENSORS_DME1737 is not set |
1036 | # CONFIG_SENSORS_SMSC47M1 is not set | 1066 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1127,15 +1157,17 @@ CONFIG_USB_HID=y | |||
1127 | # | 1157 | # |
1128 | # Special HID drivers | 1158 | # Special HID drivers |
1129 | # | 1159 | # |
1130 | CONFIG_HID_COMPAT=y | ||
1131 | CONFIG_HID_A4TECH=y | 1160 | CONFIG_HID_A4TECH=y |
1132 | CONFIG_HID_APPLE=y | 1161 | CONFIG_HID_APPLE=y |
1133 | CONFIG_HID_BELKIN=y | 1162 | CONFIG_HID_BELKIN=y |
1134 | CONFIG_HID_CHERRY=y | 1163 | CONFIG_HID_CHERRY=y |
1135 | CONFIG_HID_CHICONY=y | 1164 | CONFIG_HID_CHICONY=y |
1136 | CONFIG_HID_CYPRESS=y | 1165 | CONFIG_HID_CYPRESS=y |
1166 | # CONFIG_DRAGONRISE_FF is not set | ||
1137 | CONFIG_HID_EZKEY=y | 1167 | CONFIG_HID_EZKEY=y |
1168 | CONFIG_HID_KYE=y | ||
1138 | CONFIG_HID_GYRATION=y | 1169 | CONFIG_HID_GYRATION=y |
1170 | CONFIG_HID_KENSINGTON=y | ||
1139 | CONFIG_HID_LOGITECH=y | 1171 | CONFIG_HID_LOGITECH=y |
1140 | # CONFIG_LOGITECH_FF is not set | 1172 | # CONFIG_LOGITECH_FF is not set |
1141 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1173 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1202,11 +1234,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1202 | # CONFIG_USB_TMC is not set | 1234 | # CONFIG_USB_TMC is not set |
1203 | 1235 | ||
1204 | # | 1236 | # |
1205 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1237 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1206 | # | 1238 | # |
1207 | 1239 | ||
1208 | # | 1240 | # |
1209 | # see USB_STORAGE Help for more information | 1241 | # also be needed; see USB_STORAGE Help for more info |
1210 | # | 1242 | # |
1211 | # CONFIG_USB_STORAGE is not set | 1243 | # CONFIG_USB_STORAGE is not set |
1212 | # CONFIG_USB_LIBUSUAL is not set | 1244 | # CONFIG_USB_LIBUSUAL is not set |
@@ -1236,7 +1268,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1236 | # CONFIG_USB_LED is not set | 1268 | # CONFIG_USB_LED is not set |
1237 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1269 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1238 | # CONFIG_USB_CYTHERM is not set | 1270 | # CONFIG_USB_CYTHERM is not set |
1239 | # CONFIG_USB_PHIDGET is not set | ||
1240 | # CONFIG_USB_IDMOUSE is not set | 1271 | # CONFIG_USB_IDMOUSE is not set |
1241 | # CONFIG_USB_FTDI_ELAN is not set | 1272 | # CONFIG_USB_FTDI_ELAN is not set |
1242 | # CONFIG_USB_APPLEDISPLAY is not set | 1273 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1252,6 +1283,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1252 | # | 1283 | # |
1253 | # OTG and related infrastructure | 1284 | # OTG and related infrastructure |
1254 | # | 1285 | # |
1286 | # CONFIG_NOP_USB_XCEIV is not set | ||
1255 | # CONFIG_UWB is not set | 1287 | # CONFIG_UWB is not set |
1256 | # CONFIG_MMC is not set | 1288 | # CONFIG_MMC is not set |
1257 | # CONFIG_MEMSTICK is not set | 1289 | # CONFIG_MEMSTICK is not set |
@@ -1313,8 +1345,9 @@ CONFIG_RTC_DRV_MAX6900=y | |||
1313 | # | 1345 | # |
1314 | # on-CPU RTC drivers | 1346 | # on-CPU RTC drivers |
1315 | # | 1347 | # |
1316 | # CONFIG_RTC_DRV_PPC is not set | 1348 | # CONFIG_RTC_DRV_GENERIC is not set |
1317 | # CONFIG_DMADEVICES is not set | 1349 | # CONFIG_DMADEVICES is not set |
1350 | # CONFIG_AUXDISPLAY is not set | ||
1318 | # CONFIG_UIO is not set | 1351 | # CONFIG_UIO is not set |
1319 | # CONFIG_STAGING is not set | 1352 | # CONFIG_STAGING is not set |
1320 | 1353 | ||
@@ -1325,6 +1358,7 @@ CONFIG_EXT2_FS=y | |||
1325 | # CONFIG_EXT2_FS_XATTR is not set | 1358 | # CONFIG_EXT2_FS_XATTR is not set |
1326 | # CONFIG_EXT2_FS_XIP is not set | 1359 | # CONFIG_EXT2_FS_XIP is not set |
1327 | CONFIG_EXT3_FS=y | 1360 | CONFIG_EXT3_FS=y |
1361 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1328 | CONFIG_EXT3_FS_XATTR=y | 1362 | CONFIG_EXT3_FS_XATTR=y |
1329 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1363 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1330 | # CONFIG_EXT3_FS_SECURITY is not set | 1364 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1348,6 +1382,11 @@ CONFIG_INOTIFY_USER=y | |||
1348 | # CONFIG_FUSE_FS is not set | 1382 | # CONFIG_FUSE_FS is not set |
1349 | 1383 | ||
1350 | # | 1384 | # |
1385 | # Caches | ||
1386 | # | ||
1387 | # CONFIG_FSCACHE is not set | ||
1388 | |||
1389 | # | ||
1351 | # CD-ROM/DVD Filesystems | 1390 | # CD-ROM/DVD Filesystems |
1352 | # | 1391 | # |
1353 | # CONFIG_ISO9660_FS is not set | 1392 | # CONFIG_ISO9660_FS is not set |
@@ -1391,6 +1430,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1391 | # CONFIG_ROMFS_FS is not set | 1430 | # CONFIG_ROMFS_FS is not set |
1392 | # CONFIG_SYSV_FS is not set | 1431 | # CONFIG_SYSV_FS is not set |
1393 | # CONFIG_UFS_FS is not set | 1432 | # CONFIG_UFS_FS is not set |
1433 | # CONFIG_NILFS2_FS is not set | ||
1394 | CONFIG_NETWORK_FILESYSTEMS=y | 1434 | CONFIG_NETWORK_FILESYSTEMS=y |
1395 | CONFIG_NFS_FS=y | 1435 | CONFIG_NFS_FS=y |
1396 | # CONFIG_NFS_V3 is not set | 1436 | # CONFIG_NFS_V3 is not set |
@@ -1400,7 +1440,6 @@ CONFIG_ROOT_NFS=y | |||
1400 | CONFIG_LOCKD=y | 1440 | CONFIG_LOCKD=y |
1401 | CONFIG_NFS_COMMON=y | 1441 | CONFIG_NFS_COMMON=y |
1402 | CONFIG_SUNRPC=y | 1442 | CONFIG_SUNRPC=y |
1403 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1404 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1443 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1405 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1444 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1406 | # CONFIG_SMB_FS is not set | 1445 | # CONFIG_SMB_FS is not set |
@@ -1432,6 +1471,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1432 | # CONFIG_SYSV68_PARTITION is not set | 1471 | # CONFIG_SYSV68_PARTITION is not set |
1433 | # CONFIG_NLS is not set | 1472 | # CONFIG_NLS is not set |
1434 | # CONFIG_DLM is not set | 1473 | # CONFIG_DLM is not set |
1474 | # CONFIG_BINARY_PRINTF is not set | ||
1435 | 1475 | ||
1436 | # | 1476 | # |
1437 | # Library routines | 1477 | # Library routines |
@@ -1445,11 +1485,15 @@ CONFIG_CRC_T10DIF=y | |||
1445 | CONFIG_CRC32=y | 1485 | CONFIG_CRC32=y |
1446 | # CONFIG_CRC7 is not set | 1486 | # CONFIG_CRC7 is not set |
1447 | # CONFIG_LIBCRC32C is not set | 1487 | # CONFIG_LIBCRC32C is not set |
1448 | CONFIG_PLIST=y | 1488 | CONFIG_ZLIB_INFLATE=y |
1489 | CONFIG_DECOMPRESS_GZIP=y | ||
1490 | CONFIG_DECOMPRESS_BZIP2=y | ||
1491 | CONFIG_DECOMPRESS_LZMA=y | ||
1449 | CONFIG_HAS_IOMEM=y | 1492 | CONFIG_HAS_IOMEM=y |
1450 | CONFIG_HAS_IOPORT=y | 1493 | CONFIG_HAS_IOPORT=y |
1451 | CONFIG_HAS_DMA=y | 1494 | CONFIG_HAS_DMA=y |
1452 | CONFIG_HAVE_LMB=y | 1495 | CONFIG_HAVE_LMB=y |
1496 | CONFIG_NLATTR=y | ||
1453 | 1497 | ||
1454 | # | 1498 | # |
1455 | # Kernel hacking | 1499 | # Kernel hacking |
@@ -1471,13 +1515,24 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
1471 | # CONFIG_LATENCYTOP is not set | 1515 | # CONFIG_LATENCYTOP is not set |
1472 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1516 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1473 | CONFIG_HAVE_FUNCTION_TRACER=y | 1517 | CONFIG_HAVE_FUNCTION_TRACER=y |
1518 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1474 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1519 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1475 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1520 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1521 | CONFIG_TRACING_SUPPORT=y | ||
1476 | 1522 | ||
1477 | # | 1523 | # |
1478 | # Tracers | 1524 | # Tracers |
1479 | # | 1525 | # |
1480 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1526 | # CONFIG_FUNCTION_TRACER is not set |
1527 | # CONFIG_SCHED_TRACER is not set | ||
1528 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1529 | # CONFIG_EVENT_TRACER is not set | ||
1530 | # CONFIG_BOOT_TRACER is not set | ||
1531 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1532 | # CONFIG_STACK_TRACER is not set | ||
1533 | # CONFIG_KMEMTRACE is not set | ||
1534 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1535 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1481 | # CONFIG_SAMPLES is not set | 1536 | # CONFIG_SAMPLES is not set |
1482 | CONFIG_HAVE_ARCH_KGDB=y | 1537 | CONFIG_HAVE_ARCH_KGDB=y |
1483 | CONFIG_PRINT_STACK_DEPTH=64 | 1538 | CONFIG_PRINT_STACK_DEPTH=64 |
@@ -1569,6 +1624,7 @@ CONFIG_CRYPTO=y | |||
1569 | # Compression | 1624 | # Compression |
1570 | # | 1625 | # |
1571 | # CONFIG_CRYPTO_DEFLATE is not set | 1626 | # CONFIG_CRYPTO_DEFLATE is not set |
1627 | # CONFIG_CRYPTO_ZLIB is not set | ||
1572 | # CONFIG_CRYPTO_LZO is not set | 1628 | # CONFIG_CRYPTO_LZO is not set |
1573 | 1629 | ||
1574 | # | 1630 | # |
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig index ac14f5245d2a..e28e65e7a0e1 100644 --- a/arch/powerpc/configs/ps3_defconfig +++ b/arch/powerpc/configs/ps3_defconfig | |||
@@ -1,13 +1,14 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc8 | 3 | # Linux kernel version: 2.6.30-rc5 |
4 | # Fri Mar 13 09:28:45 2009 | 4 | # Fri May 15 10:37:00 2009 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | 7 | ||
8 | # | 8 | # |
9 | # Processor support | 9 | # Processor support |
10 | # | 10 | # |
11 | CONFIG_PPC_BOOK3S=y | ||
11 | # CONFIG_POWER4_ONLY is not set | 12 | # CONFIG_POWER4_ONLY is not set |
12 | CONFIG_POWER3=y | 13 | CONFIG_POWER3=y |
13 | CONFIG_POWER4=y | 14 | CONFIG_POWER4=y |
@@ -55,9 +56,11 @@ CONFIG_OF=y | |||
55 | # CONFIG_GENERIC_TBSYNC is not set | 56 | # CONFIG_GENERIC_TBSYNC is not set |
56 | CONFIG_AUDIT_ARCH=y | 57 | CONFIG_AUDIT_ARCH=y |
57 | CONFIG_GENERIC_BUG=y | 58 | CONFIG_GENERIC_BUG=y |
59 | CONFIG_DTC=y | ||
58 | # CONFIG_DEFAULT_UIMAGE is not set | 60 | # CONFIG_DEFAULT_UIMAGE is not set |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 65 | ||
63 | # | 66 | # |
@@ -72,6 +75,7 @@ CONFIG_SWAP=y | |||
72 | CONFIG_SYSVIPC=y | 75 | CONFIG_SYSVIPC=y |
73 | CONFIG_SYSVIPC_SYSCTL=y | 76 | CONFIG_SYSVIPC_SYSCTL=y |
74 | CONFIG_POSIX_MQUEUE=y | 77 | CONFIG_POSIX_MQUEUE=y |
78 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 79 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 80 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 81 | # CONFIG_AUDIT is not set |
@@ -88,8 +92,7 @@ CONFIG_CLASSIC_RCU=y | |||
88 | CONFIG_LOG_BUF_SHIFT=17 | 92 | CONFIG_LOG_BUF_SHIFT=17 |
89 | # CONFIG_GROUP_SCHED is not set | 93 | # CONFIG_GROUP_SCHED is not set |
90 | # CONFIG_CGROUPS is not set | 94 | # CONFIG_CGROUPS is not set |
91 | CONFIG_SYSFS_DEPRECATED=y | 95 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
92 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
93 | # CONFIG_RELAY is not set | 96 | # CONFIG_RELAY is not set |
94 | CONFIG_NAMESPACES=y | 97 | CONFIG_NAMESPACES=y |
95 | # CONFIG_UTS_NS is not set | 98 | # CONFIG_UTS_NS is not set |
@@ -99,6 +102,9 @@ CONFIG_NAMESPACES=y | |||
99 | # CONFIG_NET_NS is not set | 102 | # CONFIG_NET_NS is not set |
100 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
101 | CONFIG_INITRAMFS_SOURCE="" | 104 | CONFIG_INITRAMFS_SOURCE="" |
105 | CONFIG_RD_GZIP=y | ||
106 | # CONFIG_RD_BZIP2 is not set | ||
107 | # CONFIG_RD_LZMA is not set | ||
102 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 108 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
103 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
104 | CONFIG_ANON_INODES=y | 110 | CONFIG_ANON_INODES=y |
@@ -107,6 +113,7 @@ CONFIG_SYSCTL_SYSCALL=y | |||
107 | CONFIG_KALLSYMS=y | 113 | CONFIG_KALLSYMS=y |
108 | CONFIG_KALLSYMS_ALL=y | 114 | CONFIG_KALLSYMS_ALL=y |
109 | CONFIG_KALLSYMS_EXTRA_PASS=y | 115 | CONFIG_KALLSYMS_EXTRA_PASS=y |
116 | # CONFIG_STRIP_ASM_SYMS is not set | ||
110 | CONFIG_HOTPLUG=y | 117 | CONFIG_HOTPLUG=y |
111 | CONFIG_PRINTK=y | 118 | CONFIG_PRINTK=y |
112 | CONFIG_BUG=y | 119 | CONFIG_BUG=y |
@@ -138,6 +145,7 @@ CONFIG_HAVE_KRETPROBES=y | |||
138 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 145 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
139 | CONFIG_HAVE_DMA_ATTRS=y | 146 | CONFIG_HAVE_DMA_ATTRS=y |
140 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 147 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
148 | # CONFIG_SLOW_WORK is not set | ||
141 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 149 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
142 | CONFIG_SLABINFO=y | 150 | CONFIG_SLABINFO=y |
143 | CONFIG_RT_MUTEXES=y | 151 | CONFIG_RT_MUTEXES=y |
@@ -150,7 +158,6 @@ CONFIG_MODULE_UNLOAD=y | |||
150 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 158 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
151 | CONFIG_STOP_MACHINE=y | 159 | CONFIG_STOP_MACHINE=y |
152 | CONFIG_BLOCK=y | 160 | CONFIG_BLOCK=y |
153 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
154 | CONFIG_BLK_DEV_BSG=y | 161 | CONFIG_BLK_DEV_BSG=y |
155 | # CONFIG_BLK_DEV_INTEGRITY is not set | 162 | # CONFIG_BLK_DEV_INTEGRITY is not set |
156 | CONFIG_BLOCK_COMPAT=y | 163 | CONFIG_BLOCK_COMPAT=y |
@@ -172,7 +179,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
172 | # | 179 | # |
173 | # Platform support | 180 | # Platform support |
174 | # | 181 | # |
175 | CONFIG_PPC_MULTIPLATFORM=y | ||
176 | # CONFIG_PPC_PSERIES is not set | 182 | # CONFIG_PPC_PSERIES is not set |
177 | # CONFIG_PPC_ISERIES is not set | 183 | # CONFIG_PPC_ISERIES is not set |
178 | # CONFIG_PPC_PMAC is not set | 184 | # CONFIG_PPC_PMAC is not set |
@@ -209,6 +215,7 @@ CONFIG_SPU_FS_64K_LS=y | |||
209 | # CONFIG_SPU_TRACE is not set | 215 | # CONFIG_SPU_TRACE is not set |
210 | CONFIG_SPU_BASE=y | 216 | CONFIG_SPU_BASE=y |
211 | # CONFIG_PQ2ADS is not set | 217 | # CONFIG_PQ2ADS is not set |
218 | # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set | ||
212 | # CONFIG_IPIC is not set | 219 | # CONFIG_IPIC is not set |
213 | # CONFIG_MPIC is not set | 220 | # CONFIG_MPIC is not set |
214 | # CONFIG_MPIC_WEIRD is not set | 221 | # CONFIG_MPIC_WEIRD is not set |
@@ -279,11 +286,14 @@ CONFIG_PHYS_ADDR_T_64BIT=y | |||
279 | CONFIG_ZONE_DMA_FLAG=1 | 286 | CONFIG_ZONE_DMA_FLAG=1 |
280 | CONFIG_BOUNCE=y | 287 | CONFIG_BOUNCE=y |
281 | CONFIG_UNEVICTABLE_LRU=y | 288 | CONFIG_UNEVICTABLE_LRU=y |
289 | CONFIG_HAVE_MLOCK=y | ||
290 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
282 | CONFIG_ARCH_MEMORY_PROBE=y | 291 | CONFIG_ARCH_MEMORY_PROBE=y |
283 | CONFIG_PPC_HAS_HASH_64K=y | 292 | CONFIG_PPC_HAS_HASH_64K=y |
284 | CONFIG_PPC_4K_PAGES=y | 293 | CONFIG_PPC_4K_PAGES=y |
285 | # CONFIG_PPC_16K_PAGES is not set | 294 | # CONFIG_PPC_16K_PAGES is not set |
286 | # CONFIG_PPC_64K_PAGES is not set | 295 | # CONFIG_PPC_64K_PAGES is not set |
296 | # CONFIG_PPC_256K_PAGES is not set | ||
287 | CONFIG_FORCE_MAX_ZONEORDER=13 | 297 | CONFIG_FORCE_MAX_ZONEORDER=13 |
288 | CONFIG_SCHED_SMT=y | 298 | CONFIG_SCHED_SMT=y |
289 | CONFIG_PROC_DEVICETREE=y | 299 | CONFIG_PROC_DEVICETREE=y |
@@ -316,7 +326,6 @@ CONFIG_NET=y | |||
316 | # | 326 | # |
317 | # Networking options | 327 | # Networking options |
318 | # | 328 | # |
319 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
320 | CONFIG_PACKET=y | 329 | CONFIG_PACKET=y |
321 | CONFIG_PACKET_MMAP=y | 330 | CONFIG_PACKET_MMAP=y |
322 | CONFIG_UNIX=y | 331 | CONFIG_UNIX=y |
@@ -389,6 +398,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
389 | # CONFIG_LAPB is not set | 398 | # CONFIG_LAPB is not set |
390 | # CONFIG_ECONET is not set | 399 | # CONFIG_ECONET is not set |
391 | # CONFIG_WAN_ROUTER is not set | 400 | # CONFIG_WAN_ROUTER is not set |
401 | # CONFIG_PHONET is not set | ||
392 | # CONFIG_NET_SCHED is not set | 402 | # CONFIG_NET_SCHED is not set |
393 | # CONFIG_DCB is not set | 403 | # CONFIG_DCB is not set |
394 | 404 | ||
@@ -396,6 +406,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
396 | # Network testing | 406 | # Network testing |
397 | # | 407 | # |
398 | # CONFIG_NET_PKTGEN is not set | 408 | # CONFIG_NET_PKTGEN is not set |
409 | # CONFIG_NET_DROP_MONITOR is not set | ||
399 | # CONFIG_HAMRADIO is not set | 410 | # CONFIG_HAMRADIO is not set |
400 | # CONFIG_CAN is not set | 411 | # CONFIG_CAN is not set |
401 | # CONFIG_IRDA is not set | 412 | # CONFIG_IRDA is not set |
@@ -419,11 +430,9 @@ CONFIG_BT_HCIBTUSB=m | |||
419 | # CONFIG_BT_HCIBFUSB is not set | 430 | # CONFIG_BT_HCIBFUSB is not set |
420 | # CONFIG_BT_HCIVHCI is not set | 431 | # CONFIG_BT_HCIVHCI is not set |
421 | # CONFIG_AF_RXRPC is not set | 432 | # CONFIG_AF_RXRPC is not set |
422 | # CONFIG_PHONET is not set | ||
423 | CONFIG_WIRELESS=y | 433 | CONFIG_WIRELESS=y |
424 | CONFIG_CFG80211=m | 434 | CONFIG_CFG80211=m |
425 | # CONFIG_CFG80211_REG_DEBUG is not set | 435 | # CONFIG_CFG80211_REG_DEBUG is not set |
426 | CONFIG_NL80211=y | ||
427 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | 436 | # CONFIG_WIRELESS_OLD_REGULATORY is not set |
428 | CONFIG_WIRELESS_EXT=y | 437 | CONFIG_WIRELESS_EXT=y |
429 | # CONFIG_WIRELESS_EXT_SYSFS is not set | 438 | # CONFIG_WIRELESS_EXT_SYSFS is not set |
@@ -602,6 +611,7 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
602 | # CONFIG_SCSI_SRP_ATTRS is not set | 611 | # CONFIG_SCSI_SRP_ATTRS is not set |
603 | # CONFIG_SCSI_LOWLEVEL is not set | 612 | # CONFIG_SCSI_LOWLEVEL is not set |
604 | # CONFIG_SCSI_DH is not set | 613 | # CONFIG_SCSI_DH is not set |
614 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
605 | # CONFIG_ATA is not set | 615 | # CONFIG_ATA is not set |
606 | CONFIG_MD=y | 616 | CONFIG_MD=y |
607 | # CONFIG_BLK_DEV_MD is not set | 617 | # CONFIG_BLK_DEV_MD is not set |
@@ -616,6 +626,7 @@ CONFIG_BLK_DEV_DM=m | |||
616 | # CONFIG_DM_UEVENT is not set | 626 | # CONFIG_DM_UEVENT is not set |
617 | # CONFIG_MACINTOSH_DRIVERS is not set | 627 | # CONFIG_MACINTOSH_DRIVERS is not set |
618 | CONFIG_NETDEVICES=y | 628 | CONFIG_NETDEVICES=y |
629 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
619 | # CONFIG_DUMMY is not set | 630 | # CONFIG_DUMMY is not set |
620 | # CONFIG_BONDING is not set | 631 | # CONFIG_BONDING is not set |
621 | # CONFIG_MACVLAN is not set | 632 | # CONFIG_MACVLAN is not set |
@@ -625,6 +636,8 @@ CONFIG_NETDEVICES=y | |||
625 | # CONFIG_PHYLIB is not set | 636 | # CONFIG_PHYLIB is not set |
626 | CONFIG_NET_ETHERNET=y | 637 | CONFIG_NET_ETHERNET=y |
627 | CONFIG_MII=m | 638 | CONFIG_MII=m |
639 | # CONFIG_ETHOC is not set | ||
640 | # CONFIG_DNET is not set | ||
628 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 641 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
629 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 642 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
630 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 643 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -646,12 +659,13 @@ CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE=y | |||
646 | CONFIG_WLAN_80211=y | 659 | CONFIG_WLAN_80211=y |
647 | # CONFIG_LIBERTAS is not set | 660 | # CONFIG_LIBERTAS is not set |
648 | # CONFIG_LIBERTAS_THINFIRM is not set | 661 | # CONFIG_LIBERTAS_THINFIRM is not set |
662 | # CONFIG_AT76C50X_USB is not set | ||
649 | # CONFIG_USB_ZD1201 is not set | 663 | # CONFIG_USB_ZD1201 is not set |
650 | # CONFIG_USB_NET_RNDIS_WLAN is not set | 664 | # CONFIG_USB_NET_RNDIS_WLAN is not set |
651 | # CONFIG_RTL8187 is not set | 665 | # CONFIG_RTL8187 is not set |
652 | # CONFIG_MAC80211_HWSIM is not set | 666 | # CONFIG_MAC80211_HWSIM is not set |
653 | # CONFIG_P54_COMMON is not set | 667 | # CONFIG_P54_COMMON is not set |
654 | # CONFIG_IWLWIFI_LEDS is not set | 668 | # CONFIG_AR9170_USB is not set |
655 | # CONFIG_HOSTAP is not set | 669 | # CONFIG_HOSTAP is not set |
656 | # CONFIG_B43 is not set | 670 | # CONFIG_B43 is not set |
657 | # CONFIG_B43LEGACY is not set | 671 | # CONFIG_B43LEGACY is not set |
@@ -673,6 +687,7 @@ CONFIG_USB_PEGASUS=m | |||
673 | CONFIG_USB_USBNET=m | 687 | CONFIG_USB_USBNET=m |
674 | CONFIG_USB_NET_AX8817X=m | 688 | CONFIG_USB_NET_AX8817X=m |
675 | # CONFIG_USB_NET_CDCETHER is not set | 689 | # CONFIG_USB_NET_CDCETHER is not set |
690 | # CONFIG_USB_NET_CDC_EEM is not set | ||
676 | # CONFIG_USB_NET_DM9601 is not set | 691 | # CONFIG_USB_NET_DM9601 is not set |
677 | # CONFIG_USB_NET_SMSC95XX is not set | 692 | # CONFIG_USB_NET_SMSC95XX is not set |
678 | # CONFIG_USB_NET_GL620A is not set | 693 | # CONFIG_USB_NET_GL620A is not set |
@@ -724,28 +739,7 @@ CONFIG_INPUT_EVDEV=m | |||
724 | # | 739 | # |
725 | # CONFIG_INPUT_KEYBOARD is not set | 740 | # CONFIG_INPUT_KEYBOARD is not set |
726 | # CONFIG_INPUT_MOUSE is not set | 741 | # CONFIG_INPUT_MOUSE is not set |
727 | CONFIG_INPUT_JOYSTICK=y | 742 | # CONFIG_INPUT_JOYSTICK is not set |
728 | # CONFIG_JOYSTICK_ANALOG is not set | ||
729 | # CONFIG_JOYSTICK_A3D is not set | ||
730 | # CONFIG_JOYSTICK_ADI is not set | ||
731 | # CONFIG_JOYSTICK_COBRA is not set | ||
732 | # CONFIG_JOYSTICK_GF2K is not set | ||
733 | # CONFIG_JOYSTICK_GRIP is not set | ||
734 | # CONFIG_JOYSTICK_GRIP_MP is not set | ||
735 | # CONFIG_JOYSTICK_GUILLEMOT is not set | ||
736 | # CONFIG_JOYSTICK_INTERACT is not set | ||
737 | # CONFIG_JOYSTICK_SIDEWINDER is not set | ||
738 | # CONFIG_JOYSTICK_TMDC is not set | ||
739 | # CONFIG_JOYSTICK_IFORCE is not set | ||
740 | # CONFIG_JOYSTICK_WARRIOR is not set | ||
741 | # CONFIG_JOYSTICK_MAGELLAN is not set | ||
742 | # CONFIG_JOYSTICK_SPACEORB is not set | ||
743 | # CONFIG_JOYSTICK_SPACEBALL is not set | ||
744 | # CONFIG_JOYSTICK_STINGER is not set | ||
745 | # CONFIG_JOYSTICK_TWIDJOY is not set | ||
746 | # CONFIG_JOYSTICK_ZHENHUA is not set | ||
747 | # CONFIG_JOYSTICK_JOYDUMP is not set | ||
748 | # CONFIG_JOYSTICK_XPAD is not set | ||
749 | # CONFIG_INPUT_TABLET is not set | 743 | # CONFIG_INPUT_TABLET is not set |
750 | # CONFIG_INPUT_TOUCHSCREEN is not set | 744 | # CONFIG_INPUT_TOUCHSCREEN is not set |
751 | # CONFIG_INPUT_MISC is not set | 745 | # CONFIG_INPUT_MISC is not set |
@@ -864,6 +858,7 @@ CONFIG_FB_PS3_DEFAULT_SIZE_M=9 | |||
864 | # CONFIG_FB_VIRTUAL is not set | 858 | # CONFIG_FB_VIRTUAL is not set |
865 | # CONFIG_FB_METRONOME is not set | 859 | # CONFIG_FB_METRONOME is not set |
866 | # CONFIG_FB_MB862XX is not set | 860 | # CONFIG_FB_MB862XX is not set |
861 | # CONFIG_FB_BROADSHEET is not set | ||
867 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 862 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
868 | 863 | ||
869 | # | 864 | # |
@@ -934,15 +929,17 @@ CONFIG_USB_HIDDEV=y | |||
934 | # | 929 | # |
935 | # Special HID drivers | 930 | # Special HID drivers |
936 | # | 931 | # |
937 | # CONFIG_HID_COMPAT is not set | ||
938 | # CONFIG_HID_A4TECH is not set | 932 | # CONFIG_HID_A4TECH is not set |
939 | # CONFIG_HID_APPLE is not set | 933 | # CONFIG_HID_APPLE is not set |
940 | # CONFIG_HID_BELKIN is not set | 934 | # CONFIG_HID_BELKIN is not set |
941 | # CONFIG_HID_CHERRY is not set | 935 | # CONFIG_HID_CHERRY is not set |
942 | # CONFIG_HID_CHICONY is not set | 936 | # CONFIG_HID_CHICONY is not set |
943 | # CONFIG_HID_CYPRESS is not set | 937 | # CONFIG_HID_CYPRESS is not set |
938 | # CONFIG_DRAGONRISE_FF is not set | ||
944 | # CONFIG_HID_EZKEY is not set | 939 | # CONFIG_HID_EZKEY is not set |
940 | # CONFIG_HID_KYE is not set | ||
945 | # CONFIG_HID_GYRATION is not set | 941 | # CONFIG_HID_GYRATION is not set |
942 | # CONFIG_HID_KENSINGTON is not set | ||
946 | # CONFIG_HID_LOGITECH is not set | 943 | # CONFIG_HID_LOGITECH is not set |
947 | # CONFIG_HID_MICROSOFT is not set | 944 | # CONFIG_HID_MICROSOFT is not set |
948 | # CONFIG_HID_MONTEREY is not set | 945 | # CONFIG_HID_MONTEREY is not set |
@@ -950,7 +947,7 @@ CONFIG_USB_HIDDEV=y | |||
950 | # CONFIG_HID_PANTHERLORD is not set | 947 | # CONFIG_HID_PANTHERLORD is not set |
951 | # CONFIG_HID_PETALYNX is not set | 948 | # CONFIG_HID_PETALYNX is not set |
952 | # CONFIG_HID_SAMSUNG is not set | 949 | # CONFIG_HID_SAMSUNG is not set |
953 | # CONFIG_HID_SONY is not set | 950 | CONFIG_HID_SONY=m |
954 | # CONFIG_HID_SUNPLUS is not set | 951 | # CONFIG_HID_SUNPLUS is not set |
955 | # CONFIG_GREENASIA_FF is not set | 952 | # CONFIG_GREENASIA_FF is not set |
956 | # CONFIG_HID_TOPSEED is not set | 953 | # CONFIG_HID_TOPSEED is not set |
@@ -1012,11 +1009,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1012 | # CONFIG_USB_TMC is not set | 1009 | # CONFIG_USB_TMC is not set |
1013 | 1010 | ||
1014 | # | 1011 | # |
1015 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1012 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1016 | # | 1013 | # |
1017 | 1014 | ||
1018 | # | 1015 | # |
1019 | # see USB_STORAGE Help for more information | 1016 | # also be needed; see USB_STORAGE Help for more info |
1020 | # | 1017 | # |
1021 | CONFIG_USB_STORAGE=m | 1018 | CONFIG_USB_STORAGE=m |
1022 | # CONFIG_USB_STORAGE_DEBUG is not set | 1019 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1058,7 +1055,6 @@ CONFIG_USB_STORAGE=m | |||
1058 | # CONFIG_USB_LED is not set | 1055 | # CONFIG_USB_LED is not set |
1059 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1056 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1060 | # CONFIG_USB_CYTHERM is not set | 1057 | # CONFIG_USB_CYTHERM is not set |
1061 | # CONFIG_USB_PHIDGET is not set | ||
1062 | # CONFIG_USB_IDMOUSE is not set | 1058 | # CONFIG_USB_IDMOUSE is not set |
1063 | # CONFIG_USB_FTDI_ELAN is not set | 1059 | # CONFIG_USB_FTDI_ELAN is not set |
1064 | # CONFIG_USB_APPLEDISPLAY is not set | 1060 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1074,6 +1070,7 @@ CONFIG_USB_STORAGE=m | |||
1074 | # | 1070 | # |
1075 | # OTG and related infrastructure | 1071 | # OTG and related infrastructure |
1076 | # | 1072 | # |
1073 | # CONFIG_NOP_USB_XCEIV is not set | ||
1077 | # CONFIG_MMC is not set | 1074 | # CONFIG_MMC is not set |
1078 | # CONFIG_MEMSTICK is not set | 1075 | # CONFIG_MEMSTICK is not set |
1079 | # CONFIG_NEW_LEDS is not set | 1076 | # CONFIG_NEW_LEDS is not set |
@@ -1113,8 +1110,10 @@ CONFIG_RTC_INTF_DEV=y | |||
1113 | # | 1110 | # |
1114 | # on-CPU RTC drivers | 1111 | # on-CPU RTC drivers |
1115 | # | 1112 | # |
1116 | CONFIG_RTC_DRV_PPC=m | 1113 | # CONFIG_RTC_DRV_GENERIC is not set |
1114 | CONFIG_RTC_DRV_PS3=m | ||
1117 | # CONFIG_DMADEVICES is not set | 1115 | # CONFIG_DMADEVICES is not set |
1116 | # CONFIG_AUXDISPLAY is not set | ||
1118 | # CONFIG_UIO is not set | 1117 | # CONFIG_UIO is not set |
1119 | # CONFIG_STAGING is not set | 1118 | # CONFIG_STAGING is not set |
1120 | 1119 | ||
@@ -1125,6 +1124,7 @@ CONFIG_EXT2_FS=m | |||
1125 | # CONFIG_EXT2_FS_XATTR is not set | 1124 | # CONFIG_EXT2_FS_XATTR is not set |
1126 | # CONFIG_EXT2_FS_XIP is not set | 1125 | # CONFIG_EXT2_FS_XIP is not set |
1127 | CONFIG_EXT3_FS=m | 1126 | CONFIG_EXT3_FS=m |
1127 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1128 | CONFIG_EXT3_FS_XATTR=y | 1128 | CONFIG_EXT3_FS_XATTR=y |
1129 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1129 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1130 | # CONFIG_EXT3_FS_SECURITY is not set | 1130 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1161,6 +1161,11 @@ CONFIG_AUTOFS4_FS=m | |||
1161 | # CONFIG_FUSE_FS is not set | 1161 | # CONFIG_FUSE_FS is not set |
1162 | 1162 | ||
1163 | # | 1163 | # |
1164 | # Caches | ||
1165 | # | ||
1166 | # CONFIG_FSCACHE is not set | ||
1167 | |||
1168 | # | ||
1164 | # CD-ROM/DVD Filesystems | 1169 | # CD-ROM/DVD Filesystems |
1165 | # | 1170 | # |
1166 | CONFIG_ISO9660_FS=m | 1171 | CONFIG_ISO9660_FS=m |
@@ -1211,6 +1216,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1211 | # CONFIG_ROMFS_FS is not set | 1216 | # CONFIG_ROMFS_FS is not set |
1212 | # CONFIG_SYSV_FS is not set | 1217 | # CONFIG_SYSV_FS is not set |
1213 | # CONFIG_UFS_FS is not set | 1218 | # CONFIG_UFS_FS is not set |
1219 | # CONFIG_NILFS2_FS is not set | ||
1214 | CONFIG_NETWORK_FILESYSTEMS=y | 1220 | CONFIG_NETWORK_FILESYSTEMS=y |
1215 | CONFIG_NFS_FS=y | 1221 | CONFIG_NFS_FS=y |
1216 | CONFIG_NFS_V3=y | 1222 | CONFIG_NFS_V3=y |
@@ -1223,7 +1229,6 @@ CONFIG_LOCKD_V4=y | |||
1223 | CONFIG_NFS_COMMON=y | 1229 | CONFIG_NFS_COMMON=y |
1224 | CONFIG_SUNRPC=y | 1230 | CONFIG_SUNRPC=y |
1225 | CONFIG_SUNRPC_GSS=y | 1231 | CONFIG_SUNRPC_GSS=y |
1226 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1227 | CONFIG_RPCSEC_GSS_KRB5=y | 1232 | CONFIG_RPCSEC_GSS_KRB5=y |
1228 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1233 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1229 | # CONFIG_SMB_FS is not set | 1234 | # CONFIG_SMB_FS is not set |
@@ -1283,6 +1288,7 @@ CONFIG_NLS_ISO8859_1=y | |||
1283 | # CONFIG_NLS_KOI8_U is not set | 1288 | # CONFIG_NLS_KOI8_U is not set |
1284 | # CONFIG_NLS_UTF8 is not set | 1289 | # CONFIG_NLS_UTF8 is not set |
1285 | # CONFIG_DLM is not set | 1290 | # CONFIG_DLM is not set |
1291 | CONFIG_BINARY_PRINTF=y | ||
1286 | 1292 | ||
1287 | # | 1293 | # |
1288 | # Library routines | 1294 | # Library routines |
@@ -1296,15 +1302,16 @@ CONFIG_CRC_ITU_T=m | |||
1296 | CONFIG_CRC32=y | 1302 | CONFIG_CRC32=y |
1297 | # CONFIG_CRC7 is not set | 1303 | # CONFIG_CRC7 is not set |
1298 | # CONFIG_LIBCRC32C is not set | 1304 | # CONFIG_LIBCRC32C is not set |
1299 | CONFIG_ZLIB_INFLATE=m | 1305 | CONFIG_ZLIB_INFLATE=y |
1300 | CONFIG_ZLIB_DEFLATE=m | 1306 | CONFIG_ZLIB_DEFLATE=m |
1301 | CONFIG_LZO_COMPRESS=m | 1307 | CONFIG_LZO_COMPRESS=m |
1302 | CONFIG_LZO_DECOMPRESS=m | 1308 | CONFIG_LZO_DECOMPRESS=m |
1303 | CONFIG_PLIST=y | 1309 | CONFIG_DECOMPRESS_GZIP=y |
1304 | CONFIG_HAS_IOMEM=y | 1310 | CONFIG_HAS_IOMEM=y |
1305 | CONFIG_HAS_IOPORT=y | 1311 | CONFIG_HAS_IOPORT=y |
1306 | CONFIG_HAS_DMA=y | 1312 | CONFIG_HAS_DMA=y |
1307 | CONFIG_HAVE_LMB=y | 1313 | CONFIG_HAVE_LMB=y |
1314 | CONFIG_NLATTR=y | ||
1308 | 1315 | ||
1309 | # | 1316 | # |
1310 | # Kernel hacking | 1317 | # Kernel hacking |
@@ -1322,6 +1329,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1322 | CONFIG_DETECT_SOFTLOCKUP=y | 1329 | CONFIG_DETECT_SOFTLOCKUP=y |
1323 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1330 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1324 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1331 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1332 | CONFIG_DETECT_HUNG_TASK=y | ||
1333 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1334 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1325 | CONFIG_SCHED_DEBUG=y | 1335 | CONFIG_SCHED_DEBUG=y |
1326 | # CONFIG_SCHEDSTATS is not set | 1336 | # CONFIG_SCHEDSTATS is not set |
1327 | # CONFIG_TIMER_STATS is not set | 1337 | # CONFIG_TIMER_STATS is not set |
@@ -1357,12 +1367,15 @@ CONFIG_DEBUG_LIST=y | |||
1357 | # CONFIG_FAULT_INJECTION is not set | 1367 | # CONFIG_FAULT_INJECTION is not set |
1358 | # CONFIG_LATENCYTOP is not set | 1368 | # CONFIG_LATENCYTOP is not set |
1359 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1369 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1370 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1360 | CONFIG_NOP_TRACER=y | 1371 | CONFIG_NOP_TRACER=y |
1361 | CONFIG_HAVE_FUNCTION_TRACER=y | 1372 | CONFIG_HAVE_FUNCTION_TRACER=y |
1373 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1362 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1374 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1363 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1375 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1364 | CONFIG_RING_BUFFER=y | 1376 | CONFIG_RING_BUFFER=y |
1365 | CONFIG_TRACING=y | 1377 | CONFIG_TRACING=y |
1378 | CONFIG_TRACING_SUPPORT=y | ||
1366 | 1379 | ||
1367 | # | 1380 | # |
1368 | # Tracers | 1381 | # Tracers |
@@ -1371,18 +1384,21 @@ CONFIG_TRACING=y | |||
1371 | # CONFIG_IRQSOFF_TRACER is not set | 1384 | # CONFIG_IRQSOFF_TRACER is not set |
1372 | # CONFIG_SCHED_TRACER is not set | 1385 | # CONFIG_SCHED_TRACER is not set |
1373 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1386 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1387 | # CONFIG_EVENT_TRACER is not set | ||
1374 | # CONFIG_BOOT_TRACER is not set | 1388 | # CONFIG_BOOT_TRACER is not set |
1375 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1389 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1376 | # CONFIG_STACK_TRACER is not set | 1390 | # CONFIG_STACK_TRACER is not set |
1391 | # CONFIG_KMEMTRACE is not set | ||
1392 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1393 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1377 | # CONFIG_FTRACE_STARTUP_TEST is not set | 1394 | # CONFIG_FTRACE_STARTUP_TEST is not set |
1378 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1395 | # CONFIG_DYNAMIC_DEBUG is not set |
1379 | # CONFIG_SAMPLES is not set | 1396 | # CONFIG_SAMPLES is not set |
1380 | CONFIG_HAVE_ARCH_KGDB=y | 1397 | CONFIG_HAVE_ARCH_KGDB=y |
1381 | # CONFIG_KGDB is not set | 1398 | # CONFIG_KGDB is not set |
1382 | CONFIG_PRINT_STACK_DEPTH=64 | 1399 | CONFIG_PRINT_STACK_DEPTH=64 |
1383 | CONFIG_DEBUG_STACKOVERFLOW=y | 1400 | CONFIG_DEBUG_STACKOVERFLOW=y |
1384 | # CONFIG_DEBUG_STACK_USAGE is not set | 1401 | # CONFIG_DEBUG_STACK_USAGE is not set |
1385 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1386 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1402 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1387 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1403 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1388 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1404 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1415,10 +1431,12 @@ CONFIG_CRYPTO_HASH=y | |||
1415 | CONFIG_CRYPTO_HASH2=y | 1431 | CONFIG_CRYPTO_HASH2=y |
1416 | CONFIG_CRYPTO_RNG=m | 1432 | CONFIG_CRYPTO_RNG=m |
1417 | CONFIG_CRYPTO_RNG2=y | 1433 | CONFIG_CRYPTO_RNG2=y |
1434 | CONFIG_CRYPTO_PCOMP=y | ||
1418 | CONFIG_CRYPTO_MANAGER=y | 1435 | CONFIG_CRYPTO_MANAGER=y |
1419 | CONFIG_CRYPTO_MANAGER2=y | 1436 | CONFIG_CRYPTO_MANAGER2=y |
1420 | CONFIG_CRYPTO_GF128MUL=m | 1437 | CONFIG_CRYPTO_GF128MUL=m |
1421 | # CONFIG_CRYPTO_NULL is not set | 1438 | # CONFIG_CRYPTO_NULL is not set |
1439 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1422 | # CONFIG_CRYPTO_CRYPTD is not set | 1440 | # CONFIG_CRYPTO_CRYPTD is not set |
1423 | # CONFIG_CRYPTO_AUTHENC is not set | 1441 | # CONFIG_CRYPTO_AUTHENC is not set |
1424 | # CONFIG_CRYPTO_TEST is not set | 1442 | # CONFIG_CRYPTO_TEST is not set |
@@ -1487,6 +1505,7 @@ CONFIG_CRYPTO_SALSA20=m | |||
1487 | # Compression | 1505 | # Compression |
1488 | # | 1506 | # |
1489 | # CONFIG_CRYPTO_DEFLATE is not set | 1507 | # CONFIG_CRYPTO_DEFLATE is not set |
1508 | # CONFIG_CRYPTO_ZLIB is not set | ||
1490 | CONFIG_CRYPTO_LZO=m | 1509 | CONFIG_CRYPTO_LZO=m |
1491 | 1510 | ||
1492 | # | 1511 | # |
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig index 94903465ea12..bd4a8d435c50 100644 --- a/arch/powerpc/configs/storcenter_defconfig +++ b/arch/powerpc/configs/storcenter_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc6 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Fri Mar 6 00:09:08 2009 | 4 | # Wed May 13 17:22:04 2009 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -14,6 +14,7 @@ CONFIG_6xx=y | |||
14 | # CONFIG_40x is not set | 14 | # CONFIG_40x is not set |
15 | # CONFIG_44x is not set | 15 | # CONFIG_44x is not set |
16 | # CONFIG_E200 is not set | 16 | # CONFIG_E200 is not set |
17 | CONFIG_PPC_BOOK3S=y | ||
17 | CONFIG_PPC_FPU=y | 18 | CONFIG_PPC_FPU=y |
18 | # CONFIG_ALTIVEC is not set | 19 | # CONFIG_ALTIVEC is not set |
19 | CONFIG_PPC_STD_MMU=y | 20 | CONFIG_PPC_STD_MMU=y |
@@ -54,6 +55,7 @@ CONFIG_GENERIC_BUG=y | |||
54 | # CONFIG_DEFAULT_UIMAGE is not set | 55 | # CONFIG_DEFAULT_UIMAGE is not set |
55 | # CONFIG_PPC_DCR_NATIVE is not set | 56 | # CONFIG_PPC_DCR_NATIVE is not set |
56 | # CONFIG_PPC_DCR_MMIO is not set | 57 | # CONFIG_PPC_DCR_MMIO is not set |
58 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
57 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 59 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
58 | 60 | ||
59 | # | 61 | # |
@@ -95,17 +97,17 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
95 | # CONFIG_BLK_DEV_INITRD is not set | 97 | # CONFIG_BLK_DEV_INITRD is not set |
96 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 98 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
97 | CONFIG_SYSCTL=y | 99 | CONFIG_SYSCTL=y |
100 | CONFIG_ANON_INODES=y | ||
98 | CONFIG_EMBEDDED=y | 101 | CONFIG_EMBEDDED=y |
99 | CONFIG_SYSCTL_SYSCALL=y | 102 | CONFIG_SYSCTL_SYSCALL=y |
100 | # CONFIG_KALLSYMS is not set | 103 | # CONFIG_KALLSYMS is not set |
104 | # CONFIG_STRIP_ASM_SYMS is not set | ||
101 | CONFIG_HOTPLUG=y | 105 | CONFIG_HOTPLUG=y |
102 | CONFIG_PRINTK=y | 106 | CONFIG_PRINTK=y |
103 | CONFIG_BUG=y | 107 | CONFIG_BUG=y |
104 | CONFIG_ELF_CORE=y | 108 | CONFIG_ELF_CORE=y |
105 | CONFIG_COMPAT_BRK=y | ||
106 | CONFIG_BASE_FULL=y | 109 | CONFIG_BASE_FULL=y |
107 | CONFIG_FUTEX=y | 110 | CONFIG_FUTEX=y |
108 | CONFIG_ANON_INODES=y | ||
109 | CONFIG_EPOLL=y | 111 | CONFIG_EPOLL=y |
110 | CONFIG_SIGNALFD=y | 112 | CONFIG_SIGNALFD=y |
111 | CONFIG_TIMERFD=y | 113 | CONFIG_TIMERFD=y |
@@ -115,16 +117,19 @@ CONFIG_AIO=y | |||
115 | CONFIG_VM_EVENT_COUNTERS=y | 117 | CONFIG_VM_EVENT_COUNTERS=y |
116 | CONFIG_PCI_QUIRKS=y | 118 | CONFIG_PCI_QUIRKS=y |
117 | CONFIG_SLUB_DEBUG=y | 119 | CONFIG_SLUB_DEBUG=y |
120 | CONFIG_COMPAT_BRK=y | ||
118 | # CONFIG_SLAB is not set | 121 | # CONFIG_SLAB is not set |
119 | CONFIG_SLUB=y | 122 | CONFIG_SLUB=y |
120 | # CONFIG_SLOB is not set | 123 | # CONFIG_SLOB is not set |
121 | # CONFIG_PROFILING is not set | 124 | # CONFIG_PROFILING is not set |
125 | # CONFIG_MARKERS is not set | ||
122 | CONFIG_HAVE_OPROFILE=y | 126 | CONFIG_HAVE_OPROFILE=y |
123 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 127 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
124 | CONFIG_HAVE_IOREMAP_PROT=y | 128 | CONFIG_HAVE_IOREMAP_PROT=y |
125 | CONFIG_HAVE_KPROBES=y | 129 | CONFIG_HAVE_KPROBES=y |
126 | CONFIG_HAVE_KRETPROBES=y | 130 | CONFIG_HAVE_KRETPROBES=y |
127 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 131 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
132 | # CONFIG_SLOW_WORK is not set | ||
128 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 133 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
129 | CONFIG_SLABINFO=y | 134 | CONFIG_SLABINFO=y |
130 | CONFIG_RT_MUTEXES=y | 135 | CONFIG_RT_MUTEXES=y |
@@ -137,7 +142,6 @@ CONFIG_MODULE_UNLOAD=y | |||
137 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 142 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
138 | CONFIG_BLOCK=y | 143 | CONFIG_BLOCK=y |
139 | CONFIG_LBD=y | 144 | CONFIG_LBD=y |
140 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
141 | # CONFIG_BLK_DEV_BSG is not set | 145 | # CONFIG_BLK_DEV_BSG is not set |
142 | # CONFIG_BLK_DEV_INTEGRITY is not set | 146 | # CONFIG_BLK_DEV_INTEGRITY is not set |
143 | 147 | ||
@@ -158,8 +162,6 @@ CONFIG_DEFAULT_IOSCHED="cfq" | |||
158 | # | 162 | # |
159 | # Platform support | 163 | # Platform support |
160 | # | 164 | # |
161 | CONFIG_PPC_MULTIPLATFORM=y | ||
162 | CONFIG_CLASSIC32=y | ||
163 | # CONFIG_PPC_CHRP is not set | 165 | # CONFIG_PPC_CHRP is not set |
164 | # CONFIG_MPC5121_ADS is not set | 166 | # CONFIG_MPC5121_ADS is not set |
165 | # CONFIG_MPC5121_GENERIC is not set | 167 | # CONFIG_MPC5121_GENERIC is not set |
@@ -181,6 +183,8 @@ CONFIG_STORCENTER=y | |||
181 | CONFIG_MPC10X_BRIDGE=y | 183 | CONFIG_MPC10X_BRIDGE=y |
182 | CONFIG_MPC10X_OPENPIC=y | 184 | CONFIG_MPC10X_OPENPIC=y |
183 | # CONFIG_MPC10X_STORE_GATHERING is not set | 185 | # CONFIG_MPC10X_STORE_GATHERING is not set |
186 | # CONFIG_AMIGAONE is not set | ||
187 | CONFIG_PPC_OF_BOOT_TRAMPOLINE=y | ||
184 | # CONFIG_IPIC is not set | 188 | # CONFIG_IPIC is not set |
185 | CONFIG_MPIC=y | 189 | CONFIG_MPIC=y |
186 | # CONFIG_MPIC_WEIRD is not set | 190 | # CONFIG_MPIC_WEIRD is not set |
@@ -239,9 +243,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
239 | CONFIG_BOUNCE=y | 243 | CONFIG_BOUNCE=y |
240 | CONFIG_VIRT_TO_BUS=y | 244 | CONFIG_VIRT_TO_BUS=y |
241 | CONFIG_UNEVICTABLE_LRU=y | 245 | CONFIG_UNEVICTABLE_LRU=y |
246 | CONFIG_HAVE_MLOCK=y | ||
247 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
242 | CONFIG_PPC_4K_PAGES=y | 248 | CONFIG_PPC_4K_PAGES=y |
243 | # CONFIG_PPC_16K_PAGES is not set | 249 | # CONFIG_PPC_16K_PAGES is not set |
244 | # CONFIG_PPC_64K_PAGES is not set | 250 | # CONFIG_PPC_64K_PAGES is not set |
251 | # CONFIG_PPC_256K_PAGES is not set | ||
245 | CONFIG_FORCE_MAX_ZONEORDER=11 | 252 | CONFIG_FORCE_MAX_ZONEORDER=11 |
246 | CONFIG_PROC_DEVICETREE=y | 253 | CONFIG_PROC_DEVICETREE=y |
247 | CONFIG_CMDLINE_BOOL=y | 254 | CONFIG_CMDLINE_BOOL=y |
@@ -266,6 +273,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
266 | # CONFIG_PCI_MSI is not set | 273 | # CONFIG_PCI_MSI is not set |
267 | # CONFIG_PCI_LEGACY is not set | 274 | # CONFIG_PCI_LEGACY is not set |
268 | # CONFIG_PCI_STUB is not set | 275 | # CONFIG_PCI_STUB is not set |
276 | # CONFIG_PCI_IOV is not set | ||
269 | # CONFIG_PCCARD is not set | 277 | # CONFIG_PCCARD is not set |
270 | # CONFIG_HOTPLUG_PCI is not set | 278 | # CONFIG_HOTPLUG_PCI is not set |
271 | # CONFIG_HAS_RAPIDIO is not set | 279 | # CONFIG_HAS_RAPIDIO is not set |
@@ -288,7 +296,6 @@ CONFIG_NET=y | |||
288 | # | 296 | # |
289 | # Networking options | 297 | # Networking options |
290 | # | 298 | # |
291 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
292 | CONFIG_PACKET=m | 299 | CONFIG_PACKET=m |
293 | # CONFIG_PACKET_MMAP is not set | 300 | # CONFIG_PACKET_MMAP is not set |
294 | CONFIG_UNIX=y | 301 | CONFIG_UNIX=y |
@@ -339,6 +346,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
339 | # CONFIG_LAPB is not set | 346 | # CONFIG_LAPB is not set |
340 | # CONFIG_ECONET is not set | 347 | # CONFIG_ECONET is not set |
341 | # CONFIG_WAN_ROUTER is not set | 348 | # CONFIG_WAN_ROUTER is not set |
349 | # CONFIG_PHONET is not set | ||
342 | # CONFIG_NET_SCHED is not set | 350 | # CONFIG_NET_SCHED is not set |
343 | # CONFIG_DCB is not set | 351 | # CONFIG_DCB is not set |
344 | 352 | ||
@@ -351,7 +359,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
351 | # CONFIG_IRDA is not set | 359 | # CONFIG_IRDA is not set |
352 | # CONFIG_BT is not set | 360 | # CONFIG_BT is not set |
353 | # CONFIG_AF_RXRPC is not set | 361 | # CONFIG_AF_RXRPC is not set |
354 | # CONFIG_PHONET is not set | ||
355 | CONFIG_WIRELESS=y | 362 | CONFIG_WIRELESS=y |
356 | # CONFIG_CFG80211 is not set | 363 | # CONFIG_CFG80211 is not set |
357 | CONFIG_WIRELESS_OLD_REGULATORY=y | 364 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -486,6 +493,7 @@ CONFIG_MISC_DEVICES=y | |||
486 | # CONFIG_ICS932S401 is not set | 493 | # CONFIG_ICS932S401 is not set |
487 | # CONFIG_ENCLOSURE_SERVICES is not set | 494 | # CONFIG_ENCLOSURE_SERVICES is not set |
488 | # CONFIG_HP_ILO is not set | 495 | # CONFIG_HP_ILO is not set |
496 | # CONFIG_ISL29003 is not set | ||
489 | # CONFIG_C2PORT is not set | 497 | # CONFIG_C2PORT is not set |
490 | 498 | ||
491 | # | 499 | # |
@@ -500,6 +508,7 @@ CONFIG_IDE=y | |||
500 | # | 508 | # |
501 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 509 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
502 | # | 510 | # |
511 | CONFIG_IDE_XFER_MODE=y | ||
503 | CONFIG_IDE_TIMINGS=y | 512 | CONFIG_IDE_TIMINGS=y |
504 | # CONFIG_BLK_DEV_IDE_SATA is not set | 513 | # CONFIG_BLK_DEV_IDE_SATA is not set |
505 | CONFIG_IDE_GD=y | 514 | CONFIG_IDE_GD=y |
@@ -604,9 +613,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
604 | # CONFIG_MEGARAID_NEWGEN is not set | 613 | # CONFIG_MEGARAID_NEWGEN is not set |
605 | # CONFIG_MEGARAID_LEGACY is not set | 614 | # CONFIG_MEGARAID_LEGACY is not set |
606 | # CONFIG_MEGARAID_SAS is not set | 615 | # CONFIG_MEGARAID_SAS is not set |
616 | # CONFIG_SCSI_MPT2SAS is not set | ||
607 | # CONFIG_SCSI_HPTIOP is not set | 617 | # CONFIG_SCSI_HPTIOP is not set |
608 | # CONFIG_SCSI_BUSLOGIC is not set | 618 | # CONFIG_SCSI_BUSLOGIC is not set |
609 | # CONFIG_LIBFC is not set | 619 | # CONFIG_LIBFC is not set |
620 | # CONFIG_LIBFCOE is not set | ||
610 | # CONFIG_FCOE is not set | 621 | # CONFIG_FCOE is not set |
611 | # CONFIG_SCSI_DMX3191D is not set | 622 | # CONFIG_SCSI_DMX3191D is not set |
612 | # CONFIG_SCSI_EATA is not set | 623 | # CONFIG_SCSI_EATA is not set |
@@ -628,6 +639,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
628 | # CONFIG_SCSI_DEBUG is not set | 639 | # CONFIG_SCSI_DEBUG is not set |
629 | # CONFIG_SCSI_SRP is not set | 640 | # CONFIG_SCSI_SRP is not set |
630 | # CONFIG_SCSI_DH is not set | 641 | # CONFIG_SCSI_DH is not set |
642 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
631 | # CONFIG_ATA is not set | 643 | # CONFIG_ATA is not set |
632 | CONFIG_MD=y | 644 | CONFIG_MD=y |
633 | CONFIG_BLK_DEV_MD=y | 645 | CONFIG_BLK_DEV_MD=y |
@@ -637,7 +649,7 @@ CONFIG_MD_RAID0=y | |||
637 | CONFIG_MD_RAID1=y | 649 | CONFIG_MD_RAID1=y |
638 | # CONFIG_MD_RAID10 is not set | 650 | # CONFIG_MD_RAID10 is not set |
639 | CONFIG_MD_RAID456=y | 651 | CONFIG_MD_RAID456=y |
640 | CONFIG_MD_RAID5_RESHAPE=y | 652 | CONFIG_MD_RAID6_PQ=y |
641 | # CONFIG_MD_MULTIPATH is not set | 653 | # CONFIG_MD_MULTIPATH is not set |
642 | # CONFIG_MD_FAULTY is not set | 654 | # CONFIG_MD_FAULTY is not set |
643 | # CONFIG_BLK_DEV_DM is not set | 655 | # CONFIG_BLK_DEV_DM is not set |
@@ -655,6 +667,7 @@ CONFIG_MD_RAID5_RESHAPE=y | |||
655 | # CONFIG_I2O is not set | 667 | # CONFIG_I2O is not set |
656 | # CONFIG_MACINTOSH_DRIVERS is not set | 668 | # CONFIG_MACINTOSH_DRIVERS is not set |
657 | CONFIG_NETDEVICES=y | 669 | CONFIG_NETDEVICES=y |
670 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
658 | CONFIG_DUMMY=m | 671 | CONFIG_DUMMY=m |
659 | # CONFIG_BONDING is not set | 672 | # CONFIG_BONDING is not set |
660 | # CONFIG_MACVLAN is not set | 673 | # CONFIG_MACVLAN is not set |
@@ -671,6 +684,7 @@ CONFIG_NETDEV_1000=y | |||
671 | # CONFIG_E1000E is not set | 684 | # CONFIG_E1000E is not set |
672 | # CONFIG_IP1000 is not set | 685 | # CONFIG_IP1000 is not set |
673 | # CONFIG_IGB is not set | 686 | # CONFIG_IGB is not set |
687 | # CONFIG_IGBVF is not set | ||
674 | # CONFIG_NS83820 is not set | 688 | # CONFIG_NS83820 is not set |
675 | # CONFIG_HAMACHI is not set | 689 | # CONFIG_HAMACHI is not set |
676 | # CONFIG_YELLOWFIN is not set | 690 | # CONFIG_YELLOWFIN is not set |
@@ -681,8 +695,8 @@ CONFIG_R8169=y | |||
681 | # CONFIG_VIA_VELOCITY is not set | 695 | # CONFIG_VIA_VELOCITY is not set |
682 | # CONFIG_TIGON3 is not set | 696 | # CONFIG_TIGON3 is not set |
683 | # CONFIG_BNX2 is not set | 697 | # CONFIG_BNX2 is not set |
698 | # CONFIG_FSL_PQ_MDIO is not set | ||
684 | # CONFIG_GIANFAR is not set | 699 | # CONFIG_GIANFAR is not set |
685 | # CONFIG_MV643XX_ETH is not set | ||
686 | # CONFIG_QLA3XXX is not set | 700 | # CONFIG_QLA3XXX is not set |
687 | # CONFIG_ATL1 is not set | 701 | # CONFIG_ATL1 is not set |
688 | # CONFIG_ATL1E is not set | 702 | # CONFIG_ATL1E is not set |
@@ -696,7 +710,6 @@ CONFIG_R8169=y | |||
696 | # | 710 | # |
697 | # CONFIG_WLAN_PRE80211 is not set | 711 | # CONFIG_WLAN_PRE80211 is not set |
698 | # CONFIG_WLAN_80211 is not set | 712 | # CONFIG_WLAN_80211 is not set |
699 | # CONFIG_IWLWIFI_LEDS is not set | ||
700 | 713 | ||
701 | # | 714 | # |
702 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 715 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -766,6 +779,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
766 | # CONFIG_HVC_UDBG is not set | 779 | # CONFIG_HVC_UDBG is not set |
767 | # CONFIG_IPMI_HANDLER is not set | 780 | # CONFIG_IPMI_HANDLER is not set |
768 | CONFIG_HW_RANDOM=m | 781 | CONFIG_HW_RANDOM=m |
782 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
769 | CONFIG_NVRAM=y | 783 | CONFIG_NVRAM=y |
770 | # CONFIG_R3964 is not set | 784 | # CONFIG_R3964 is not set |
771 | # CONFIG_APPLICOM is not set | 785 | # CONFIG_APPLICOM is not set |
@@ -831,7 +845,6 @@ CONFIG_I2C_MPC=y | |||
831 | # CONFIG_SENSORS_PCF8574 is not set | 845 | # CONFIG_SENSORS_PCF8574 is not set |
832 | # CONFIG_PCF8575 is not set | 846 | # CONFIG_PCF8575 is not set |
833 | # CONFIG_SENSORS_PCA9539 is not set | 847 | # CONFIG_SENSORS_PCA9539 is not set |
834 | # CONFIG_SENSORS_PCF8591 is not set | ||
835 | # CONFIG_SENSORS_MAX6875 is not set | 848 | # CONFIG_SENSORS_MAX6875 is not set |
836 | # CONFIG_SENSORS_TSL2550 is not set | 849 | # CONFIG_SENSORS_TSL2550 is not set |
837 | # CONFIG_I2C_DEBUG_CORE is not set | 850 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -952,11 +965,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
952 | # CONFIG_USB_TMC is not set | 965 | # CONFIG_USB_TMC is not set |
953 | 966 | ||
954 | # | 967 | # |
955 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 968 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
956 | # | 969 | # |
957 | 970 | ||
958 | # | 971 | # |
959 | # see USB_STORAGE Help for more information | 972 | # also be needed; see USB_STORAGE Help for more info |
960 | # | 973 | # |
961 | CONFIG_USB_STORAGE=y | 974 | CONFIG_USB_STORAGE=y |
962 | # CONFIG_USB_STORAGE_DEBUG is not set | 975 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -997,7 +1010,6 @@ CONFIG_USB_STORAGE=y | |||
997 | # CONFIG_USB_LED is not set | 1010 | # CONFIG_USB_LED is not set |
998 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1011 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
999 | # CONFIG_USB_CYTHERM is not set | 1012 | # CONFIG_USB_CYTHERM is not set |
1000 | # CONFIG_USB_PHIDGET is not set | ||
1001 | # CONFIG_USB_IDMOUSE is not set | 1013 | # CONFIG_USB_IDMOUSE is not set |
1002 | # CONFIG_USB_FTDI_ELAN is not set | 1014 | # CONFIG_USB_FTDI_ELAN is not set |
1003 | # CONFIG_USB_APPLEDISPLAY is not set | 1015 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1013,6 +1025,7 @@ CONFIG_USB_STORAGE=y | |||
1013 | # | 1025 | # |
1014 | # OTG and related infrastructure | 1026 | # OTG and related infrastructure |
1015 | # | 1027 | # |
1028 | # CONFIG_NOP_USB_XCEIV is not set | ||
1016 | # CONFIG_UWB is not set | 1029 | # CONFIG_UWB is not set |
1017 | # CONFIG_MMC is not set | 1030 | # CONFIG_MMC is not set |
1018 | # CONFIG_MEMSTICK is not set | 1031 | # CONFIG_MEMSTICK is not set |
@@ -1074,8 +1087,9 @@ CONFIG_RTC_DRV_DS1307=y | |||
1074 | # | 1087 | # |
1075 | # on-CPU RTC drivers | 1088 | # on-CPU RTC drivers |
1076 | # | 1089 | # |
1077 | # CONFIG_RTC_DRV_PPC is not set | 1090 | # CONFIG_RTC_DRV_GENERIC is not set |
1078 | # CONFIG_DMADEVICES is not set | 1091 | # CONFIG_DMADEVICES is not set |
1092 | # CONFIG_AUXDISPLAY is not set | ||
1079 | # CONFIG_UIO is not set | 1093 | # CONFIG_UIO is not set |
1080 | # CONFIG_STAGING is not set | 1094 | # CONFIG_STAGING is not set |
1081 | 1095 | ||
@@ -1086,6 +1100,7 @@ CONFIG_EXT2_FS=y | |||
1086 | # CONFIG_EXT2_FS_XATTR is not set | 1100 | # CONFIG_EXT2_FS_XATTR is not set |
1087 | # CONFIG_EXT2_FS_XIP is not set | 1101 | # CONFIG_EXT2_FS_XIP is not set |
1088 | CONFIG_EXT3_FS=y | 1102 | CONFIG_EXT3_FS=y |
1103 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1089 | CONFIG_EXT3_FS_XATTR=y | 1104 | CONFIG_EXT3_FS_XATTR=y |
1090 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1105 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1091 | # CONFIG_EXT3_FS_SECURITY is not set | 1106 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1113,6 +1128,11 @@ CONFIG_INOTIFY_USER=y | |||
1113 | # CONFIG_FUSE_FS is not set | 1128 | # CONFIG_FUSE_FS is not set |
1114 | 1129 | ||
1115 | # | 1130 | # |
1131 | # Caches | ||
1132 | # | ||
1133 | # CONFIG_FSCACHE is not set | ||
1134 | |||
1135 | # | ||
1116 | # CD-ROM/DVD Filesystems | 1136 | # CD-ROM/DVD Filesystems |
1117 | # | 1137 | # |
1118 | # CONFIG_ISO9660_FS is not set | 1138 | # CONFIG_ISO9660_FS is not set |
@@ -1166,6 +1186,7 @@ CONFIG_JFFS2_RTIME=y | |||
1166 | # CONFIG_ROMFS_FS is not set | 1186 | # CONFIG_ROMFS_FS is not set |
1167 | # CONFIG_SYSV_FS is not set | 1187 | # CONFIG_SYSV_FS is not set |
1168 | # CONFIG_UFS_FS is not set | 1188 | # CONFIG_UFS_FS is not set |
1189 | # CONFIG_NILFS2_FS is not set | ||
1169 | # CONFIG_NETWORK_FILESYSTEMS is not set | 1190 | # CONFIG_NETWORK_FILESYSTEMS is not set |
1170 | CONFIG_EXPORTFS=m | 1191 | CONFIG_EXPORTFS=m |
1171 | 1192 | ||
@@ -1231,6 +1252,7 @@ CONFIG_NLS_ISO8859_1=y | |||
1231 | # CONFIG_NLS_KOI8_U is not set | 1252 | # CONFIG_NLS_KOI8_U is not set |
1232 | CONFIG_NLS_UTF8=y | 1253 | CONFIG_NLS_UTF8=y |
1233 | # CONFIG_DLM is not set | 1254 | # CONFIG_DLM is not set |
1255 | # CONFIG_BINARY_PRINTF is not set | ||
1234 | 1256 | ||
1235 | # | 1257 | # |
1236 | # Library routines | 1258 | # Library routines |
@@ -1246,11 +1268,11 @@ CONFIG_CRC32=y | |||
1246 | # CONFIG_LIBCRC32C is not set | 1268 | # CONFIG_LIBCRC32C is not set |
1247 | CONFIG_ZLIB_INFLATE=y | 1269 | CONFIG_ZLIB_INFLATE=y |
1248 | CONFIG_ZLIB_DEFLATE=y | 1270 | CONFIG_ZLIB_DEFLATE=y |
1249 | CONFIG_PLIST=y | ||
1250 | CONFIG_HAS_IOMEM=y | 1271 | CONFIG_HAS_IOMEM=y |
1251 | CONFIG_HAS_IOPORT=y | 1272 | CONFIG_HAS_IOPORT=y |
1252 | CONFIG_HAS_DMA=y | 1273 | CONFIG_HAS_DMA=y |
1253 | CONFIG_HAVE_LMB=y | 1274 | CONFIG_HAVE_LMB=y |
1275 | CONFIG_NLATTR=y | ||
1254 | 1276 | ||
1255 | # | 1277 | # |
1256 | # Kernel hacking | 1278 | # Kernel hacking |
@@ -1272,13 +1294,24 @@ CONFIG_FRAME_WARN=1024 | |||
1272 | # CONFIG_LATENCYTOP is not set | 1294 | # CONFIG_LATENCYTOP is not set |
1273 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1295 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1274 | CONFIG_HAVE_FUNCTION_TRACER=y | 1296 | CONFIG_HAVE_FUNCTION_TRACER=y |
1297 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1275 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1298 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1276 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1299 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1300 | CONFIG_TRACING_SUPPORT=y | ||
1277 | 1301 | ||
1278 | # | 1302 | # |
1279 | # Tracers | 1303 | # Tracers |
1280 | # | 1304 | # |
1281 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1305 | # CONFIG_FUNCTION_TRACER is not set |
1306 | # CONFIG_SCHED_TRACER is not set | ||
1307 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1308 | # CONFIG_EVENT_TRACER is not set | ||
1309 | # CONFIG_BOOT_TRACER is not set | ||
1310 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1311 | # CONFIG_STACK_TRACER is not set | ||
1312 | # CONFIG_KMEMTRACE is not set | ||
1313 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1314 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1282 | # CONFIG_SAMPLES is not set | 1315 | # CONFIG_SAMPLES is not set |
1283 | CONFIG_HAVE_ARCH_KGDB=y | 1316 | CONFIG_HAVE_ARCH_KGDB=y |
1284 | CONFIG_PRINT_STACK_DEPTH=64 | 1317 | CONFIG_PRINT_STACK_DEPTH=64 |
diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h index c69f2b5f0cc4..cb448d68452c 100644 --- a/arch/powerpc/include/asm/dma-mapping.h +++ b/arch/powerpc/include/asm/dma-mapping.h | |||
@@ -26,7 +26,9 @@ | |||
26 | * allocate the space "normally" and use the cache management functions | 26 | * allocate the space "normally" and use the cache management functions |
27 | * to ensure it is consistent. | 27 | * to ensure it is consistent. |
28 | */ | 28 | */ |
29 | extern void *__dma_alloc_coherent(size_t size, dma_addr_t *handle, gfp_t gfp); | 29 | struct device; |
30 | extern void *__dma_alloc_coherent(struct device *dev, size_t size, | ||
31 | dma_addr_t *handle, gfp_t gfp); | ||
30 | extern void __dma_free_coherent(size_t size, void *vaddr); | 32 | extern void __dma_free_coherent(size_t size, void *vaddr); |
31 | extern void __dma_sync(void *vaddr, size_t size, int direction); | 33 | extern void __dma_sync(void *vaddr, size_t size, int direction); |
32 | extern void __dma_sync_page(struct page *page, unsigned long offset, | 34 | extern void __dma_sync_page(struct page *page, unsigned long offset, |
@@ -37,7 +39,7 @@ extern void __dma_sync_page(struct page *page, unsigned long offset, | |||
37 | * Cache coherent cores. | 39 | * Cache coherent cores. |
38 | */ | 40 | */ |
39 | 41 | ||
40 | #define __dma_alloc_coherent(gfp, size, handle) NULL | 42 | #define __dma_alloc_coherent(dev, gfp, size, handle) NULL |
41 | #define __dma_free_coherent(size, addr) ((void)0) | 43 | #define __dma_free_coherent(size, addr) ((void)0) |
42 | #define __dma_sync(addr, size, rw) ((void)0) | 44 | #define __dma_sync(addr, size, rw) ((void)0) |
43 | #define __dma_sync_page(pg, off, sz, rw) ((void)0) | 45 | #define __dma_sync_page(pg, off, sz, rw) ((void)0) |
diff --git a/arch/powerpc/include/asm/fixmap.h b/arch/powerpc/include/asm/fixmap.h index d60fd18f428c..f1f4e23a84e9 100644 --- a/arch/powerpc/include/asm/fixmap.h +++ b/arch/powerpc/include/asm/fixmap.h | |||
@@ -14,8 +14,6 @@ | |||
14 | #ifndef _ASM_FIXMAP_H | 14 | #ifndef _ASM_FIXMAP_H |
15 | #define _ASM_FIXMAP_H | 15 | #define _ASM_FIXMAP_H |
16 | 16 | ||
17 | extern unsigned long FIXADDR_TOP; | ||
18 | |||
19 | #ifndef __ASSEMBLY__ | 17 | #ifndef __ASSEMBLY__ |
20 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
21 | #include <asm/page.h> | 19 | #include <asm/page.h> |
@@ -24,6 +22,8 @@ extern unsigned long FIXADDR_TOP; | |||
24 | #include <asm/kmap_types.h> | 22 | #include <asm/kmap_types.h> |
25 | #endif | 23 | #endif |
26 | 24 | ||
25 | #define FIXADDR_TOP ((unsigned long)(-PAGE_SIZE)) | ||
26 | |||
27 | /* | 27 | /* |
28 | * Here we define all the compile-time 'special' virtual | 28 | * Here we define all the compile-time 'special' virtual |
29 | * addresses. The point is to have a constant address at | 29 | * addresses. The point is to have a constant address at |
diff --git a/arch/powerpc/include/asm/iseries/iommu.h b/arch/powerpc/include/asm/iseries/iommu.h index c59ee7e4bed1..1b9692c60899 100644 --- a/arch/powerpc/include/asm/iseries/iommu.h +++ b/arch/powerpc/include/asm/iseries/iommu.h | |||
@@ -26,10 +26,6 @@ struct vio_dev; | |||
26 | struct device_node; | 26 | struct device_node; |
27 | struct iommu_table; | 27 | struct iommu_table; |
28 | 28 | ||
29 | /* Creates table for an individual device node */ | ||
30 | extern void iommu_devnode_init_iSeries(struct pci_dev *pdev, | ||
31 | struct device_node *dn); | ||
32 | |||
33 | /* Get table parameters from HV */ | 29 | /* Get table parameters from HV */ |
34 | extern void iommu_table_getparms_iSeries(unsigned long busno, | 30 | extern void iommu_table_getparms_iSeries(unsigned long busno, |
35 | unsigned char slotno, unsigned char virtbus, | 31 | unsigned char slotno, unsigned char virtbus, |
diff --git a/arch/powerpc/include/asm/pgtable-ppc32.h b/arch/powerpc/include/asm/pgtable-ppc32.h index ba45c997830f..c9ff9d75990e 100644 --- a/arch/powerpc/include/asm/pgtable-ppc32.h +++ b/arch/powerpc/include/asm/pgtable-ppc32.h | |||
@@ -10,7 +10,7 @@ | |||
10 | 10 | ||
11 | extern unsigned long va_to_phys(unsigned long address); | 11 | extern unsigned long va_to_phys(unsigned long address); |
12 | extern pte_t *va_to_pte(unsigned long address); | 12 | extern pte_t *va_to_pte(unsigned long address); |
13 | extern unsigned long ioremap_bot, ioremap_base; | 13 | extern unsigned long ioremap_bot; |
14 | 14 | ||
15 | #ifdef CONFIG_44x | 15 | #ifdef CONFIG_44x |
16 | extern int icache_44x_need_flush; | 16 | extern int icache_44x_need_flush; |
@@ -56,8 +56,30 @@ extern int icache_44x_need_flush; | |||
56 | printk("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, pgd_val(e)) | 56 | printk("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, pgd_val(e)) |
57 | 57 | ||
58 | /* | 58 | /* |
59 | * This is the bottom of the PKMAP area with HIGHMEM or an arbitrary | ||
60 | * value (for now) on others, from where we can start layout kernel | ||
61 | * virtual space that goes below PKMAP and FIXMAP | ||
62 | */ | ||
63 | #ifdef CONFIG_HIGHMEM | ||
64 | #define KVIRT_TOP PKMAP_BASE | ||
65 | #else | ||
66 | #define KVIRT_TOP (0xfe000000UL) /* for now, could be FIXMAP_BASE ? */ | ||
67 | #endif | ||
68 | |||
69 | /* | ||
70 | * ioremap_bot starts at that address. Early ioremaps move down from there, | ||
71 | * until mem_init() at which point this becomes the top of the vmalloc | ||
72 | * and ioremap space | ||
73 | */ | ||
74 | #ifdef CONFIG_NOT_COHERENT_CACHE | ||
75 | #define IOREMAP_TOP ((KVIRT_TOP - CONFIG_CONSISTENT_SIZE) & PAGE_MASK) | ||
76 | #else | ||
77 | #define IOREMAP_TOP KVIRT_TOP | ||
78 | #endif | ||
79 | |||
80 | /* | ||
59 | * Just any arbitrary offset to the start of the vmalloc VM area: the | 81 | * Just any arbitrary offset to the start of the vmalloc VM area: the |
60 | * current 64MB value just means that there will be a 64MB "hole" after the | 82 | * current 16MB value just means that there will be a 64MB "hole" after the |
61 | * physical memory until the kernel virtual memory starts. That means that | 83 | * physical memory until the kernel virtual memory starts. That means that |
62 | * any out-of-bounds memory accesses will hopefully be caught. | 84 | * any out-of-bounds memory accesses will hopefully be caught. |
63 | * The vmalloc() routines leaves a hole of 4kB between each vmalloced | 85 | * The vmalloc() routines leaves a hole of 4kB between each vmalloced |
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h index f612798e1c93..2b2420a49884 100644 --- a/arch/powerpc/include/asm/system.h +++ b/arch/powerpc/include/asm/system.h | |||
@@ -212,7 +212,7 @@ extern struct task_struct *_switch(struct thread_struct *prev, | |||
212 | extern unsigned int rtas_data; | 212 | extern unsigned int rtas_data; |
213 | extern int mem_init_done; /* set on boot once kmalloc can be called */ | 213 | extern int mem_init_done; /* set on boot once kmalloc can be called */ |
214 | extern int init_bootmem_done; /* set on !NUMA once bootmem is available */ | 214 | extern int init_bootmem_done; /* set on !NUMA once bootmem is available */ |
215 | extern unsigned long memory_limit; | 215 | extern phys_addr_t memory_limit; |
216 | extern unsigned long klimit; | 216 | extern unsigned long klimit; |
217 | 217 | ||
218 | extern void *alloc_maybe_bootmem(size_t size, gfp_t mask); | 218 | extern void *alloc_maybe_bootmem(size_t size, gfp_t mask); |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index f9c40f869c6e..3e33fb933d99 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -1836,7 +1836,7 @@ static void __init setup_cpu_spec(unsigned long offset, struct cpu_spec *s) | |||
1836 | * and, in that case, keep the current value for | 1836 | * and, in that case, keep the current value for |
1837 | * oprofile_cpu_type. | 1837 | * oprofile_cpu_type. |
1838 | */ | 1838 | */ |
1839 | if (old.oprofile_cpu_type == NULL) { | 1839 | if (old.oprofile_cpu_type != NULL) { |
1840 | t->oprofile_cpu_type = old.oprofile_cpu_type; | 1840 | t->oprofile_cpu_type = old.oprofile_cpu_type; |
1841 | t->oprofile_type = old.oprofile_type; | 1841 | t->oprofile_type = old.oprofile_type; |
1842 | } | 1842 | } |
diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c index 53c7788cba78..6b02793dc75b 100644 --- a/arch/powerpc/kernel/dma.c +++ b/arch/powerpc/kernel/dma.c | |||
@@ -32,7 +32,7 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size, | |||
32 | { | 32 | { |
33 | void *ret; | 33 | void *ret; |
34 | #ifdef CONFIG_NOT_COHERENT_CACHE | 34 | #ifdef CONFIG_NOT_COHERENT_CACHE |
35 | ret = __dma_alloc_coherent(size, dma_handle, flag); | 35 | ret = __dma_alloc_coherent(dev, size, dma_handle, flag); |
36 | if (ret == NULL) | 36 | if (ret == NULL) |
37 | return NULL; | 37 | return NULL; |
38 | *dma_handle += get_dma_direct_offset(dev); | 38 | *dma_handle += get_dma_direct_offset(dev); |
diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c index 70e2a736be1f..2d182f119d1d 100644 --- a/arch/powerpc/kernel/ftrace.c +++ b/arch/powerpc/kernel/ftrace.c | |||
@@ -157,7 +157,7 @@ __ftrace_make_nop(struct module *mod, | |||
157 | * 0xe8, 0x4c, 0x00, 0x28, ld r2,40(r12) | 157 | * 0xe8, 0x4c, 0x00, 0x28, ld r2,40(r12) |
158 | */ | 158 | */ |
159 | 159 | ||
160 | pr_debug("ip:%lx jumps to %lx r2: %lx", ip, tramp, mod->arch.toc); | 160 | pr_devel("ip:%lx jumps to %lx r2: %lx", ip, tramp, mod->arch.toc); |
161 | 161 | ||
162 | /* Find where the trampoline jumps to */ | 162 | /* Find where the trampoline jumps to */ |
163 | if (probe_kernel_read(jmp, (void *)tramp, sizeof(jmp))) { | 163 | if (probe_kernel_read(jmp, (void *)tramp, sizeof(jmp))) { |
@@ -165,7 +165,7 @@ __ftrace_make_nop(struct module *mod, | |||
165 | return -EFAULT; | 165 | return -EFAULT; |
166 | } | 166 | } |
167 | 167 | ||
168 | pr_debug(" %08x %08x", jmp[0], jmp[1]); | 168 | pr_devel(" %08x %08x", jmp[0], jmp[1]); |
169 | 169 | ||
170 | /* verify that this is what we expect it to be */ | 170 | /* verify that this is what we expect it to be */ |
171 | if (((jmp[0] & 0xffff0000) != 0x3d820000) || | 171 | if (((jmp[0] & 0xffff0000) != 0x3d820000) || |
@@ -181,18 +181,18 @@ __ftrace_make_nop(struct module *mod, | |||
181 | offset = ((unsigned)((unsigned short)jmp[0]) << 16) + | 181 | offset = ((unsigned)((unsigned short)jmp[0]) << 16) + |
182 | (int)((short)jmp[1]); | 182 | (int)((short)jmp[1]); |
183 | 183 | ||
184 | pr_debug(" %x ", offset); | 184 | pr_devel(" %x ", offset); |
185 | 185 | ||
186 | /* get the address this jumps too */ | 186 | /* get the address this jumps too */ |
187 | tramp = mod->arch.toc + offset + 32; | 187 | tramp = mod->arch.toc + offset + 32; |
188 | pr_debug("toc: %lx", tramp); | 188 | pr_devel("toc: %lx", tramp); |
189 | 189 | ||
190 | if (probe_kernel_read(jmp, (void *)tramp, 8)) { | 190 | if (probe_kernel_read(jmp, (void *)tramp, 8)) { |
191 | printk(KERN_ERR "Failed to read %lx\n", tramp); | 191 | printk(KERN_ERR "Failed to read %lx\n", tramp); |
192 | return -EFAULT; | 192 | return -EFAULT; |
193 | } | 193 | } |
194 | 194 | ||
195 | pr_debug(" %08x %08x\n", jmp[0], jmp[1]); | 195 | pr_devel(" %08x %08x\n", jmp[0], jmp[1]); |
196 | 196 | ||
197 | ptr = ((unsigned long)jmp[0] << 32) + jmp[1]; | 197 | ptr = ((unsigned long)jmp[0] << 32) + jmp[1]; |
198 | 198 | ||
@@ -269,7 +269,7 @@ __ftrace_make_nop(struct module *mod, | |||
269 | * 0x4e, 0x80, 0x04, 0x20 bctr | 269 | * 0x4e, 0x80, 0x04, 0x20 bctr |
270 | */ | 270 | */ |
271 | 271 | ||
272 | pr_debug("ip:%lx jumps to %lx", ip, tramp); | 272 | pr_devel("ip:%lx jumps to %lx", ip, tramp); |
273 | 273 | ||
274 | /* Find where the trampoline jumps to */ | 274 | /* Find where the trampoline jumps to */ |
275 | if (probe_kernel_read(jmp, (void *)tramp, sizeof(jmp))) { | 275 | if (probe_kernel_read(jmp, (void *)tramp, sizeof(jmp))) { |
@@ -277,7 +277,7 @@ __ftrace_make_nop(struct module *mod, | |||
277 | return -EFAULT; | 277 | return -EFAULT; |
278 | } | 278 | } |
279 | 279 | ||
280 | pr_debug(" %08x %08x ", jmp[0], jmp[1]); | 280 | pr_devel(" %08x %08x ", jmp[0], jmp[1]); |
281 | 281 | ||
282 | /* verify that this is what we expect it to be */ | 282 | /* verify that this is what we expect it to be */ |
283 | if (((jmp[0] & 0xffff0000) != 0x3d600000) || | 283 | if (((jmp[0] & 0xffff0000) != 0x3d600000) || |
@@ -293,7 +293,7 @@ __ftrace_make_nop(struct module *mod, | |||
293 | if (tramp & 0x8000) | 293 | if (tramp & 0x8000) |
294 | tramp -= 0x10000; | 294 | tramp -= 0x10000; |
295 | 295 | ||
296 | pr_debug(" %lx ", tramp); | 296 | pr_devel(" %lx ", tramp); |
297 | 297 | ||
298 | if (tramp != addr) { | 298 | if (tramp != addr) { |
299 | printk(KERN_ERR | 299 | printk(KERN_ERR |
@@ -402,7 +402,7 @@ __ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) | |||
402 | /* ld r2,40(r1) */ | 402 | /* ld r2,40(r1) */ |
403 | op[1] = 0xe8410028; | 403 | op[1] = 0xe8410028; |
404 | 404 | ||
405 | pr_debug("write to %lx\n", rec->ip); | 405 | pr_devel("write to %lx\n", rec->ip); |
406 | 406 | ||
407 | if (probe_kernel_write((void *)ip, op, MCOUNT_INSN_SIZE * 2)) | 407 | if (probe_kernel_write((void *)ip, op, MCOUNT_INSN_SIZE * 2)) |
408 | return -EPERM; | 408 | return -EPERM; |
@@ -442,7 +442,7 @@ __ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) | |||
442 | return -EINVAL; | 442 | return -EINVAL; |
443 | } | 443 | } |
444 | 444 | ||
445 | pr_debug("write to %lx\n", rec->ip); | 445 | pr_devel("write to %lx\n", rec->ip); |
446 | 446 | ||
447 | if (probe_kernel_write((void *)ip, &op, MCOUNT_INSN_SIZE)) | 447 | if (probe_kernel_write((void *)ip, &op, MCOUNT_INSN_SIZE)) |
448 | return -EPERM; | 448 | return -EPERM; |
@@ -594,7 +594,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) | |||
594 | PPC_LONG "2b,4b\n" | 594 | PPC_LONG "2b,4b\n" |
595 | ".previous" | 595 | ".previous" |
596 | 596 | ||
597 | : [old] "=r" (old), [faulted] "=r" (faulted) | 597 | : [old] "=&r" (old), [faulted] "=r" (faulted) |
598 | : [parent] "r" (parent), [return_hooker] "r" (return_hooker) | 598 | : [parent] "r" (parent), [return_hooker] "r" (return_hooker) |
599 | : "memory" | 599 | : "memory" |
600 | ); | 600 | ); |
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c index d59e2b1bdcba..bb3d893a8353 100644 --- a/arch/powerpc/kernel/machine_kexec.c +++ b/arch/powerpc/kernel/machine_kexec.c | |||
@@ -125,8 +125,8 @@ void __init reserve_crashkernel(void) | |||
125 | /* Crash kernel trumps memory limit */ | 125 | /* Crash kernel trumps memory limit */ |
126 | if (memory_limit && memory_limit <= crashk_res.end) { | 126 | if (memory_limit && memory_limit <= crashk_res.end) { |
127 | memory_limit = crashk_res.end + 1; | 127 | memory_limit = crashk_res.end + 1; |
128 | printk("Adjusted memory limit for crashkernel, now 0x%lx\n", | 128 | printk("Adjusted memory limit for crashkernel, now 0x%llx\n", |
129 | memory_limit); | 129 | (unsigned long long)memory_limit); |
130 | } | 130 | } |
131 | 131 | ||
132 | printk(KERN_INFO "Reserving %ldMB of memory at %ldMB " | 132 | printk(KERN_INFO "Reserving %ldMB of memory at %ldMB " |
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index 9c69e7e145c5..4fee63cb53ff 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c | |||
@@ -1366,12 +1366,17 @@ static void __init pcibios_allocate_resources(int pass) | |||
1366 | 1366 | ||
1367 | for_each_pci_dev(dev) { | 1367 | for_each_pci_dev(dev) { |
1368 | pci_read_config_word(dev, PCI_COMMAND, &command); | 1368 | pci_read_config_word(dev, PCI_COMMAND, &command); |
1369 | for (idx = 0; idx < 6; idx++) { | 1369 | for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) { |
1370 | r = &dev->resource[idx]; | 1370 | r = &dev->resource[idx]; |
1371 | if (r->parent) /* Already allocated */ | 1371 | if (r->parent) /* Already allocated */ |
1372 | continue; | 1372 | continue; |
1373 | if (!r->flags || (r->flags & IORESOURCE_UNSET)) | 1373 | if (!r->flags || (r->flags & IORESOURCE_UNSET)) |
1374 | continue; /* Not assigned at all */ | 1374 | continue; /* Not assigned at all */ |
1375 | /* We only allocate ROMs on pass 1 just in case they | ||
1376 | * have been screwed up by firmware | ||
1377 | */ | ||
1378 | if (idx == PCI_ROM_RESOURCE ) | ||
1379 | disabled = 1; | ||
1375 | if (r->flags & IORESOURCE_IO) | 1380 | if (r->flags & IORESOURCE_IO) |
1376 | disabled = !(command & PCI_COMMAND_IO); | 1381 | disabled = !(command & PCI_COMMAND_IO); |
1377 | else | 1382 | else |
@@ -1382,17 +1387,19 @@ static void __init pcibios_allocate_resources(int pass) | |||
1382 | if (pass) | 1387 | if (pass) |
1383 | continue; | 1388 | continue; |
1384 | r = &dev->resource[PCI_ROM_RESOURCE]; | 1389 | r = &dev->resource[PCI_ROM_RESOURCE]; |
1385 | if (r->flags & IORESOURCE_ROM_ENABLE) { | 1390 | if (r->flags) { |
1386 | /* Turn the ROM off, leave the resource region, | 1391 | /* Turn the ROM off, leave the resource region, |
1387 | * but keep it unregistered. | 1392 | * but keep it unregistered. |
1388 | */ | 1393 | */ |
1389 | u32 reg; | 1394 | u32 reg; |
1390 | pr_debug("PCI: Switching off ROM of %s\n", | ||
1391 | pci_name(dev)); | ||
1392 | r->flags &= ~IORESOURCE_ROM_ENABLE; | ||
1393 | pci_read_config_dword(dev, dev->rom_base_reg, ®); | 1395 | pci_read_config_dword(dev, dev->rom_base_reg, ®); |
1394 | pci_write_config_dword(dev, dev->rom_base_reg, | 1396 | if (reg & PCI_ROM_ADDRESS_ENABLE) { |
1395 | reg & ~PCI_ROM_ADDRESS_ENABLE); | 1397 | pr_debug("PCI: Switching off ROM of %s\n", |
1398 | pci_name(dev)); | ||
1399 | r->flags &= ~IORESOURCE_ROM_ENABLE; | ||
1400 | pci_write_config_dword(dev, dev->rom_base_reg, | ||
1401 | reg & ~PCI_ROM_ADDRESS_ENABLE); | ||
1402 | } | ||
1396 | } | 1403 | } |
1397 | } | 1404 | } |
1398 | } | 1405 | } |
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c index be574fc0d92f..96edb6f8babb 100644 --- a/arch/powerpc/kernel/pci_64.c +++ b/arch/powerpc/kernel/pci_64.c | |||
@@ -64,7 +64,7 @@ static u32 get_int_prop(struct device_node *np, const char *name, u32 def) | |||
64 | return def; | 64 | return def; |
65 | } | 65 | } |
66 | 66 | ||
67 | static unsigned int pci_parse_of_flags(u32 addr0) | 67 | static unsigned int pci_parse_of_flags(u32 addr0, int bridge) |
68 | { | 68 | { |
69 | unsigned int flags = 0; | 69 | unsigned int flags = 0; |
70 | 70 | ||
@@ -75,8 +75,17 @@ static unsigned int pci_parse_of_flags(u32 addr0) | |||
75 | if (addr0 & 0x40000000) | 75 | if (addr0 & 0x40000000) |
76 | flags |= IORESOURCE_PREFETCH | 76 | flags |= IORESOURCE_PREFETCH |
77 | | PCI_BASE_ADDRESS_MEM_PREFETCH; | 77 | | PCI_BASE_ADDRESS_MEM_PREFETCH; |
78 | /* Note: We don't know whether the ROM has been left enabled | ||
79 | * by the firmware or not. We mark it as disabled (ie, we do | ||
80 | * not set the IORESOURCE_ROM_ENABLE flag) for now rather than | ||
81 | * do a config space read, it will be force-enabled if needed | ||
82 | */ | ||
83 | if (!bridge && (addr0 & 0xff) == 0x30) | ||
84 | flags |= IORESOURCE_READONLY; | ||
78 | } else if (addr0 & 0x01000000) | 85 | } else if (addr0 & 0x01000000) |
79 | flags = IORESOURCE_IO | PCI_BASE_ADDRESS_SPACE_IO; | 86 | flags = IORESOURCE_IO | PCI_BASE_ADDRESS_SPACE_IO; |
87 | if (flags) | ||
88 | flags |= IORESOURCE_SIZEALIGN; | ||
80 | return flags; | 89 | return flags; |
81 | } | 90 | } |
82 | 91 | ||
@@ -95,7 +104,7 @@ static void pci_parse_of_addrs(struct device_node *node, struct pci_dev *dev) | |||
95 | return; | 104 | return; |
96 | pr_debug(" parse addresses (%d bytes) @ %p\n", proplen, addrs); | 105 | pr_debug(" parse addresses (%d bytes) @ %p\n", proplen, addrs); |
97 | for (; proplen >= 20; proplen -= 20, addrs += 5) { | 106 | for (; proplen >= 20; proplen -= 20, addrs += 5) { |
98 | flags = pci_parse_of_flags(addrs[0]); | 107 | flags = pci_parse_of_flags(addrs[0], 0); |
99 | if (!flags) | 108 | if (!flags) |
100 | continue; | 109 | continue; |
101 | base = of_read_number(&addrs[1], 2); | 110 | base = of_read_number(&addrs[1], 2); |
@@ -293,7 +302,7 @@ void __devinit of_scan_pci_bridge(struct device_node *node, | |||
293 | } | 302 | } |
294 | i = 1; | 303 | i = 1; |
295 | for (; len >= 32; len -= 32, ranges += 8) { | 304 | for (; len >= 32; len -= 32, ranges += 8) { |
296 | flags = pci_parse_of_flags(ranges[0]); | 305 | flags = pci_parse_of_flags(ranges[0], 1); |
297 | size = of_read_number(&ranges[6], 2); | 306 | size = of_read_number(&ranges[6], 2); |
298 | if (flags == 0 || size == 0) | 307 | if (flags == 0 || size == 0) |
299 | continue; | 308 | continue; |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 5ec6a9e23933..ce01ff2474da 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -426,7 +426,7 @@ static int __init early_parse_mem(char *p) | |||
426 | return 1; | 426 | return 1; |
427 | 427 | ||
428 | memory_limit = PAGE_ALIGN(memparse(p, &p)); | 428 | memory_limit = PAGE_ALIGN(memparse(p, &p)); |
429 | DBG("memory limit = 0x%lx\n", memory_limit); | 429 | DBG("memory limit = 0x%llx\n", (unsigned long long)memory_limit); |
430 | 430 | ||
431 | return 0; | 431 | return 0; |
432 | } | 432 | } |
@@ -1160,7 +1160,7 @@ static inline void __init phyp_dump_reserve_mem(void) {} | |||
1160 | 1160 | ||
1161 | void __init early_init_devtree(void *params) | 1161 | void __init early_init_devtree(void *params) |
1162 | { | 1162 | { |
1163 | unsigned long limit; | 1163 | phys_addr_t limit; |
1164 | 1164 | ||
1165 | DBG(" -> early_init_devtree(%p)\n", params); | 1165 | DBG(" -> early_init_devtree(%p)\n", params); |
1166 | 1166 | ||
@@ -1204,7 +1204,7 @@ void __init early_init_devtree(void *params) | |||
1204 | 1204 | ||
1205 | limit = memory_limit; | 1205 | limit = memory_limit; |
1206 | if (! limit) { | 1206 | if (! limit) { |
1207 | unsigned long memsize; | 1207 | phys_addr_t memsize; |
1208 | 1208 | ||
1209 | /* Ensure that total memory size is page-aligned, because | 1209 | /* Ensure that total memory size is page-aligned, because |
1210 | * otherwise mark_bootmem() gets upset. */ | 1210 | * otherwise mark_bootmem() gets upset. */ |
@@ -1218,7 +1218,7 @@ void __init early_init_devtree(void *params) | |||
1218 | lmb_analyze(); | 1218 | lmb_analyze(); |
1219 | lmb_dump_all(); | 1219 | lmb_dump_all(); |
1220 | 1220 | ||
1221 | DBG("Phys. mem: %lx\n", lmb_phys_mem_size()); | 1221 | DBG("Phys. mem: %llx\n", lmb_phys_mem_size()); |
1222 | 1222 | ||
1223 | /* We may need to relocate the flat tree, do it now. | 1223 | /* We may need to relocate the flat tree, do it now. |
1224 | * FIXME .. and the initrd too? */ | 1224 | * FIXME .. and the initrd too? */ |
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index a047a6cfca4d..8ef8a14abc95 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S | |||
@@ -264,6 +264,7 @@ SECTIONS | |||
264 | *(.data.page_aligned) | 264 | *(.data.page_aligned) |
265 | } | 265 | } |
266 | 266 | ||
267 | . = ALIGN(L1_CACHE_BYTES); | ||
267 | .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { | 268 | .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { |
268 | *(.data.cacheline_aligned) | 269 | *(.data.cacheline_aligned) |
269 | } | 270 | } |
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile index 8db35278a4b4..29b742b90f1f 100644 --- a/arch/powerpc/lib/Makefile +++ b/arch/powerpc/lib/Makefile | |||
@@ -18,7 +18,6 @@ obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \ | |||
18 | memcpy_64.o usercopy_64.o mem_64.o string.o | 18 | memcpy_64.o usercopy_64.o mem_64.o string.o |
19 | obj-$(CONFIG_XMON) += sstep.o | 19 | obj-$(CONFIG_XMON) += sstep.o |
20 | obj-$(CONFIG_KPROBES) += sstep.o | 20 | obj-$(CONFIG_KPROBES) += sstep.o |
21 | obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o | ||
22 | 21 | ||
23 | ifeq ($(CONFIG_PPC64),y) | 22 | ifeq ($(CONFIG_PPC64),y) |
24 | obj-$(CONFIG_SMP) += locks.o | 23 | obj-$(CONFIG_SMP) += locks.o |
diff --git a/arch/powerpc/lib/dma-noncoherent.c b/arch/powerpc/lib/dma-noncoherent.c deleted file mode 100644 index 005a28d380af..000000000000 --- a/arch/powerpc/lib/dma-noncoherent.c +++ /dev/null | |||
@@ -1,237 +0,0 @@ | |||
1 | /* | ||
2 | * PowerPC version derived from arch/arm/mm/consistent.c | ||
3 | * Copyright (C) 2001 Dan Malek (dmalek@jlc.net) | ||
4 | * | ||
5 | * Copyright (C) 2000 Russell King | ||
6 | * | ||
7 | * Consistent memory allocators. Used for DMA devices that want to | ||
8 | * share uncached memory with the processor core. The function return | ||
9 | * is the virtual address and 'dma_handle' is the physical address. | ||
10 | * Mostly stolen from the ARM port, with some changes for PowerPC. | ||
11 | * -- Dan | ||
12 | * | ||
13 | * Reorganized to get rid of the arch-specific consistent_* functions | ||
14 | * and provide non-coherent implementations for the DMA API. -Matt | ||
15 | * | ||
16 | * Added in_interrupt() safe dma_alloc_coherent()/dma_free_coherent() | ||
17 | * implementation. This is pulled straight from ARM and barely | ||
18 | * modified. -Matt | ||
19 | * | ||
20 | * This program is free software; you can redistribute it and/or modify | ||
21 | * it under the terms of the GNU General Public License version 2 as | ||
22 | * published by the Free Software Foundation. | ||
23 | */ | ||
24 | |||
25 | #include <linux/sched.h> | ||
26 | #include <linux/kernel.h> | ||
27 | #include <linux/errno.h> | ||
28 | #include <linux/string.h> | ||
29 | #include <linux/types.h> | ||
30 | #include <linux/highmem.h> | ||
31 | #include <linux/dma-mapping.h> | ||
32 | #include <linux/vmalloc.h> | ||
33 | |||
34 | #include <asm/tlbflush.h> | ||
35 | |||
36 | /* | ||
37 | * Allocate DMA-coherent memory space and return both the kernel remapped | ||
38 | * virtual and bus address for that space. | ||
39 | */ | ||
40 | void * | ||
41 | __dma_alloc_coherent(size_t size, dma_addr_t *handle, gfp_t gfp) | ||
42 | { | ||
43 | struct page *page; | ||
44 | unsigned long order; | ||
45 | int i; | ||
46 | unsigned int nr_pages = PAGE_ALIGN(size)>>PAGE_SHIFT; | ||
47 | unsigned int array_size = nr_pages * sizeof(struct page *); | ||
48 | struct page **pages; | ||
49 | struct page *end; | ||
50 | u64 mask = 0x00ffffff, limit; /* ISA default */ | ||
51 | struct vm_struct *area; | ||
52 | |||
53 | BUG_ON(!mem_init_done); | ||
54 | size = PAGE_ALIGN(size); | ||
55 | limit = (mask + 1) & ~mask; | ||
56 | if (limit && size >= limit) { | ||
57 | printk(KERN_WARNING "coherent allocation too big (requested " | ||
58 | "%#x mask %#Lx)\n", size, mask); | ||
59 | return NULL; | ||
60 | } | ||
61 | |||
62 | order = get_order(size); | ||
63 | |||
64 | if (mask != 0xffffffff) | ||
65 | gfp |= GFP_DMA; | ||
66 | |||
67 | page = alloc_pages(gfp, order); | ||
68 | if (!page) | ||
69 | goto no_page; | ||
70 | |||
71 | end = page + (1 << order); | ||
72 | |||
73 | /* | ||
74 | * Invalidate any data that might be lurking in the | ||
75 | * kernel direct-mapped region for device DMA. | ||
76 | */ | ||
77 | { | ||
78 | unsigned long kaddr = (unsigned long)page_address(page); | ||
79 | memset(page_address(page), 0, size); | ||
80 | flush_dcache_range(kaddr, kaddr + size); | ||
81 | } | ||
82 | |||
83 | split_page(page, order); | ||
84 | |||
85 | /* | ||
86 | * Set the "dma handle" | ||
87 | */ | ||
88 | *handle = page_to_phys(page); | ||
89 | |||
90 | area = get_vm_area_caller(size, VM_IOREMAP, | ||
91 | __builtin_return_address(1)); | ||
92 | if (!area) | ||
93 | goto out_free_pages; | ||
94 | |||
95 | if (array_size > PAGE_SIZE) { | ||
96 | pages = vmalloc(array_size); | ||
97 | area->flags |= VM_VPAGES; | ||
98 | } else { | ||
99 | pages = kmalloc(array_size, GFP_KERNEL); | ||
100 | } | ||
101 | if (!pages) | ||
102 | goto out_free_area; | ||
103 | |||
104 | area->pages = pages; | ||
105 | area->nr_pages = nr_pages; | ||
106 | |||
107 | for (i = 0; i < nr_pages; i++) | ||
108 | pages[i] = page + i; | ||
109 | |||
110 | if (map_vm_area(area, pgprot_noncached(PAGE_KERNEL), &pages)) | ||
111 | goto out_unmap; | ||
112 | |||
113 | /* | ||
114 | * Free the otherwise unused pages. | ||
115 | */ | ||
116 | page += nr_pages; | ||
117 | while (page < end) { | ||
118 | __free_page(page); | ||
119 | page++; | ||
120 | } | ||
121 | |||
122 | return area->addr; | ||
123 | out_unmap: | ||
124 | vunmap(area->addr); | ||
125 | if (array_size > PAGE_SIZE) | ||
126 | vfree(pages); | ||
127 | else | ||
128 | kfree(pages); | ||
129 | goto out_free_pages; | ||
130 | out_free_area: | ||
131 | free_vm_area(area); | ||
132 | out_free_pages: | ||
133 | if (page) | ||
134 | __free_pages(page, order); | ||
135 | no_page: | ||
136 | return NULL; | ||
137 | } | ||
138 | EXPORT_SYMBOL(__dma_alloc_coherent); | ||
139 | |||
140 | /* | ||
141 | * free a page as defined by the above mapping. | ||
142 | */ | ||
143 | void __dma_free_coherent(size_t size, void *vaddr) | ||
144 | { | ||
145 | vfree(vaddr); | ||
146 | |||
147 | } | ||
148 | EXPORT_SYMBOL(__dma_free_coherent); | ||
149 | |||
150 | /* | ||
151 | * make an area consistent. | ||
152 | */ | ||
153 | void __dma_sync(void *vaddr, size_t size, int direction) | ||
154 | { | ||
155 | unsigned long start = (unsigned long)vaddr; | ||
156 | unsigned long end = start + size; | ||
157 | |||
158 | switch (direction) { | ||
159 | case DMA_NONE: | ||
160 | BUG(); | ||
161 | case DMA_FROM_DEVICE: | ||
162 | /* | ||
163 | * invalidate only when cache-line aligned otherwise there is | ||
164 | * the potential for discarding uncommitted data from the cache | ||
165 | */ | ||
166 | if ((start & (L1_CACHE_BYTES - 1)) || (size & (L1_CACHE_BYTES - 1))) | ||
167 | flush_dcache_range(start, end); | ||
168 | else | ||
169 | invalidate_dcache_range(start, end); | ||
170 | break; | ||
171 | case DMA_TO_DEVICE: /* writeback only */ | ||
172 | clean_dcache_range(start, end); | ||
173 | break; | ||
174 | case DMA_BIDIRECTIONAL: /* writeback and invalidate */ | ||
175 | flush_dcache_range(start, end); | ||
176 | break; | ||
177 | } | ||
178 | } | ||
179 | EXPORT_SYMBOL(__dma_sync); | ||
180 | |||
181 | #ifdef CONFIG_HIGHMEM | ||
182 | /* | ||
183 | * __dma_sync_page() implementation for systems using highmem. | ||
184 | * In this case, each page of a buffer must be kmapped/kunmapped | ||
185 | * in order to have a virtual address for __dma_sync(). This must | ||
186 | * not sleep so kmap_atomic()/kunmap_atomic() are used. | ||
187 | * | ||
188 | * Note: yes, it is possible and correct to have a buffer extend | ||
189 | * beyond the first page. | ||
190 | */ | ||
191 | static inline void __dma_sync_page_highmem(struct page *page, | ||
192 | unsigned long offset, size_t size, int direction) | ||
193 | { | ||
194 | size_t seg_size = min((size_t)(PAGE_SIZE - offset), size); | ||
195 | size_t cur_size = seg_size; | ||
196 | unsigned long flags, start, seg_offset = offset; | ||
197 | int nr_segs = 1 + ((size - seg_size) + PAGE_SIZE - 1)/PAGE_SIZE; | ||
198 | int seg_nr = 0; | ||
199 | |||
200 | local_irq_save(flags); | ||
201 | |||
202 | do { | ||
203 | start = (unsigned long)kmap_atomic(page + seg_nr, | ||
204 | KM_PPC_SYNC_PAGE) + seg_offset; | ||
205 | |||
206 | /* Sync this buffer segment */ | ||
207 | __dma_sync((void *)start, seg_size, direction); | ||
208 | kunmap_atomic((void *)start, KM_PPC_SYNC_PAGE); | ||
209 | seg_nr++; | ||
210 | |||
211 | /* Calculate next buffer segment size */ | ||
212 | seg_size = min((size_t)PAGE_SIZE, size - cur_size); | ||
213 | |||
214 | /* Add the segment size to our running total */ | ||
215 | cur_size += seg_size; | ||
216 | seg_offset = 0; | ||
217 | } while (seg_nr < nr_segs); | ||
218 | |||
219 | local_irq_restore(flags); | ||
220 | } | ||
221 | #endif /* CONFIG_HIGHMEM */ | ||
222 | |||
223 | /* | ||
224 | * __dma_sync_page makes memory consistent. identical to __dma_sync, but | ||
225 | * takes a struct page instead of a virtual address | ||
226 | */ | ||
227 | void __dma_sync_page(struct page *page, unsigned long offset, | ||
228 | size_t size, int direction) | ||
229 | { | ||
230 | #ifdef CONFIG_HIGHMEM | ||
231 | __dma_sync_page_highmem(page, offset, size, direction); | ||
232 | #else | ||
233 | unsigned long start = (unsigned long)page_address(page) + offset; | ||
234 | __dma_sync((void *)start, size, direction); | ||
235 | #endif | ||
236 | } | ||
237 | EXPORT_SYMBOL(__dma_sync_page); | ||
diff --git a/arch/powerpc/mm/Makefile b/arch/powerpc/mm/Makefile index 17290bcedc5e..b746f4ca4209 100644 --- a/arch/powerpc/mm/Makefile +++ b/arch/powerpc/mm/Makefile | |||
@@ -26,3 +26,4 @@ obj-$(CONFIG_NEED_MULTIPLE_NODES) += numa.o | |||
26 | obj-$(CONFIG_PPC_MM_SLICES) += slice.o | 26 | obj-$(CONFIG_PPC_MM_SLICES) += slice.o |
27 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o | 27 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o |
28 | obj-$(CONFIG_PPC_SUBPAGE_PROT) += subpage-prot.o | 28 | obj-$(CONFIG_PPC_SUBPAGE_PROT) += subpage-prot.o |
29 | obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o | ||
diff --git a/arch/powerpc/mm/dma-noncoherent.c b/arch/powerpc/mm/dma-noncoherent.c new file mode 100644 index 000000000000..36692f5c9a76 --- /dev/null +++ b/arch/powerpc/mm/dma-noncoherent.c | |||
@@ -0,0 +1,400 @@ | |||
1 | /* | ||
2 | * PowerPC version derived from arch/arm/mm/consistent.c | ||
3 | * Copyright (C) 2001 Dan Malek (dmalek@jlc.net) | ||
4 | * | ||
5 | * Copyright (C) 2000 Russell King | ||
6 | * | ||
7 | * Consistent memory allocators. Used for DMA devices that want to | ||
8 | * share uncached memory with the processor core. The function return | ||
9 | * is the virtual address and 'dma_handle' is the physical address. | ||
10 | * Mostly stolen from the ARM port, with some changes for PowerPC. | ||
11 | * -- Dan | ||
12 | * | ||
13 | * Reorganized to get rid of the arch-specific consistent_* functions | ||
14 | * and provide non-coherent implementations for the DMA API. -Matt | ||
15 | * | ||
16 | * Added in_interrupt() safe dma_alloc_coherent()/dma_free_coherent() | ||
17 | * implementation. This is pulled straight from ARM and barely | ||
18 | * modified. -Matt | ||
19 | * | ||
20 | * This program is free software; you can redistribute it and/or modify | ||
21 | * it under the terms of the GNU General Public License version 2 as | ||
22 | * published by the Free Software Foundation. | ||
23 | */ | ||
24 | |||
25 | #include <linux/sched.h> | ||
26 | #include <linux/kernel.h> | ||
27 | #include <linux/errno.h> | ||
28 | #include <linux/string.h> | ||
29 | #include <linux/types.h> | ||
30 | #include <linux/highmem.h> | ||
31 | #include <linux/dma-mapping.h> | ||
32 | |||
33 | #include <asm/tlbflush.h> | ||
34 | |||
35 | #include "mmu_decl.h" | ||
36 | |||
37 | /* | ||
38 | * This address range defaults to a value that is safe for all | ||
39 | * platforms which currently set CONFIG_NOT_COHERENT_CACHE. It | ||
40 | * can be further configured for specific applications under | ||
41 | * the "Advanced Setup" menu. -Matt | ||
42 | */ | ||
43 | #define CONSISTENT_BASE (IOREMAP_TOP) | ||
44 | #define CONSISTENT_END (CONSISTENT_BASE + CONFIG_CONSISTENT_SIZE) | ||
45 | #define CONSISTENT_OFFSET(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PAGE_SHIFT) | ||
46 | |||
47 | /* | ||
48 | * This is the page table (2MB) covering uncached, DMA consistent allocations | ||
49 | */ | ||
50 | static DEFINE_SPINLOCK(consistent_lock); | ||
51 | |||
52 | /* | ||
53 | * VM region handling support. | ||
54 | * | ||
55 | * This should become something generic, handling VM region allocations for | ||
56 | * vmalloc and similar (ioremap, module space, etc). | ||
57 | * | ||
58 | * I envisage vmalloc()'s supporting vm_struct becoming: | ||
59 | * | ||
60 | * struct vm_struct { | ||
61 | * struct vm_region region; | ||
62 | * unsigned long flags; | ||
63 | * struct page **pages; | ||
64 | * unsigned int nr_pages; | ||
65 | * unsigned long phys_addr; | ||
66 | * }; | ||
67 | * | ||
68 | * get_vm_area() would then call vm_region_alloc with an appropriate | ||
69 | * struct vm_region head (eg): | ||
70 | * | ||
71 | * struct vm_region vmalloc_head = { | ||
72 | * .vm_list = LIST_HEAD_INIT(vmalloc_head.vm_list), | ||
73 | * .vm_start = VMALLOC_START, | ||
74 | * .vm_end = VMALLOC_END, | ||
75 | * }; | ||
76 | * | ||
77 | * However, vmalloc_head.vm_start is variable (typically, it is dependent on | ||
78 | * the amount of RAM found at boot time.) I would imagine that get_vm_area() | ||
79 | * would have to initialise this each time prior to calling vm_region_alloc(). | ||
80 | */ | ||
81 | struct ppc_vm_region { | ||
82 | struct list_head vm_list; | ||
83 | unsigned long vm_start; | ||
84 | unsigned long vm_end; | ||
85 | }; | ||
86 | |||
87 | static struct ppc_vm_region consistent_head = { | ||
88 | .vm_list = LIST_HEAD_INIT(consistent_head.vm_list), | ||
89 | .vm_start = CONSISTENT_BASE, | ||
90 | .vm_end = CONSISTENT_END, | ||
91 | }; | ||
92 | |||
93 | static struct ppc_vm_region * | ||
94 | ppc_vm_region_alloc(struct ppc_vm_region *head, size_t size, gfp_t gfp) | ||
95 | { | ||
96 | unsigned long addr = head->vm_start, end = head->vm_end - size; | ||
97 | unsigned long flags; | ||
98 | struct ppc_vm_region *c, *new; | ||
99 | |||
100 | new = kmalloc(sizeof(struct ppc_vm_region), gfp); | ||
101 | if (!new) | ||
102 | goto out; | ||
103 | |||
104 | spin_lock_irqsave(&consistent_lock, flags); | ||
105 | |||
106 | list_for_each_entry(c, &head->vm_list, vm_list) { | ||
107 | if ((addr + size) < addr) | ||
108 | goto nospc; | ||
109 | if ((addr + size) <= c->vm_start) | ||
110 | goto found; | ||
111 | addr = c->vm_end; | ||
112 | if (addr > end) | ||
113 | goto nospc; | ||
114 | } | ||
115 | |||
116 | found: | ||
117 | /* | ||
118 | * Insert this entry _before_ the one we found. | ||
119 | */ | ||
120 | list_add_tail(&new->vm_list, &c->vm_list); | ||
121 | new->vm_start = addr; | ||
122 | new->vm_end = addr + size; | ||
123 | |||
124 | spin_unlock_irqrestore(&consistent_lock, flags); | ||
125 | return new; | ||
126 | |||
127 | nospc: | ||
128 | spin_unlock_irqrestore(&consistent_lock, flags); | ||
129 | kfree(new); | ||
130 | out: | ||
131 | return NULL; | ||
132 | } | ||
133 | |||
134 | static struct ppc_vm_region *ppc_vm_region_find(struct ppc_vm_region *head, unsigned long addr) | ||
135 | { | ||
136 | struct ppc_vm_region *c; | ||
137 | |||
138 | list_for_each_entry(c, &head->vm_list, vm_list) { | ||
139 | if (c->vm_start == addr) | ||
140 | goto out; | ||
141 | } | ||
142 | c = NULL; | ||
143 | out: | ||
144 | return c; | ||
145 | } | ||
146 | |||
147 | /* | ||
148 | * Allocate DMA-coherent memory space and return both the kernel remapped | ||
149 | * virtual and bus address for that space. | ||
150 | */ | ||
151 | void * | ||
152 | __dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp) | ||
153 | { | ||
154 | struct page *page; | ||
155 | struct ppc_vm_region *c; | ||
156 | unsigned long order; | ||
157 | u64 mask = ISA_DMA_THRESHOLD, limit; | ||
158 | |||
159 | if (dev) { | ||
160 | mask = dev->coherent_dma_mask; | ||
161 | |||
162 | /* | ||
163 | * Sanity check the DMA mask - it must be non-zero, and | ||
164 | * must be able to be satisfied by a DMA allocation. | ||
165 | */ | ||
166 | if (mask == 0) { | ||
167 | dev_warn(dev, "coherent DMA mask is unset\n"); | ||
168 | goto no_page; | ||
169 | } | ||
170 | |||
171 | if ((~mask) & ISA_DMA_THRESHOLD) { | ||
172 | dev_warn(dev, "coherent DMA mask %#llx is smaller " | ||
173 | "than system GFP_DMA mask %#llx\n", | ||
174 | mask, (unsigned long long)ISA_DMA_THRESHOLD); | ||
175 | goto no_page; | ||
176 | } | ||
177 | } | ||
178 | |||
179 | |||
180 | size = PAGE_ALIGN(size); | ||
181 | limit = (mask + 1) & ~mask; | ||
182 | if ((limit && size >= limit) || | ||
183 | size >= (CONSISTENT_END - CONSISTENT_BASE)) { | ||
184 | printk(KERN_WARNING "coherent allocation too big (requested %#x mask %#Lx)\n", | ||
185 | size, mask); | ||
186 | return NULL; | ||
187 | } | ||
188 | |||
189 | order = get_order(size); | ||
190 | |||
191 | /* Might be useful if we ever have a real legacy DMA zone... */ | ||
192 | if (mask != 0xffffffff) | ||
193 | gfp |= GFP_DMA; | ||
194 | |||
195 | page = alloc_pages(gfp, order); | ||
196 | if (!page) | ||
197 | goto no_page; | ||
198 | |||
199 | /* | ||
200 | * Invalidate any data that might be lurking in the | ||
201 | * kernel direct-mapped region for device DMA. | ||
202 | */ | ||
203 | { | ||
204 | unsigned long kaddr = (unsigned long)page_address(page); | ||
205 | memset(page_address(page), 0, size); | ||
206 | flush_dcache_range(kaddr, kaddr + size); | ||
207 | } | ||
208 | |||
209 | /* | ||
210 | * Allocate a virtual address in the consistent mapping region. | ||
211 | */ | ||
212 | c = ppc_vm_region_alloc(&consistent_head, size, | ||
213 | gfp & ~(__GFP_DMA | __GFP_HIGHMEM)); | ||
214 | if (c) { | ||
215 | unsigned long vaddr = c->vm_start; | ||
216 | struct page *end = page + (1 << order); | ||
217 | |||
218 | split_page(page, order); | ||
219 | |||
220 | /* | ||
221 | * Set the "dma handle" | ||
222 | */ | ||
223 | *handle = page_to_phys(page); | ||
224 | |||
225 | do { | ||
226 | SetPageReserved(page); | ||
227 | map_page(vaddr, page_to_phys(page), | ||
228 | pgprot_noncached(PAGE_KERNEL)); | ||
229 | page++; | ||
230 | vaddr += PAGE_SIZE; | ||
231 | } while (size -= PAGE_SIZE); | ||
232 | |||
233 | /* | ||
234 | * Free the otherwise unused pages. | ||
235 | */ | ||
236 | while (page < end) { | ||
237 | __free_page(page); | ||
238 | page++; | ||
239 | } | ||
240 | |||
241 | return (void *)c->vm_start; | ||
242 | } | ||
243 | |||
244 | if (page) | ||
245 | __free_pages(page, order); | ||
246 | no_page: | ||
247 | return NULL; | ||
248 | } | ||
249 | EXPORT_SYMBOL(__dma_alloc_coherent); | ||
250 | |||
251 | /* | ||
252 | * free a page as defined by the above mapping. | ||
253 | */ | ||
254 | void __dma_free_coherent(size_t size, void *vaddr) | ||
255 | { | ||
256 | struct ppc_vm_region *c; | ||
257 | unsigned long flags, addr; | ||
258 | |||
259 | size = PAGE_ALIGN(size); | ||
260 | |||
261 | spin_lock_irqsave(&consistent_lock, flags); | ||
262 | |||
263 | c = ppc_vm_region_find(&consistent_head, (unsigned long)vaddr); | ||
264 | if (!c) | ||
265 | goto no_area; | ||
266 | |||
267 | if ((c->vm_end - c->vm_start) != size) { | ||
268 | printk(KERN_ERR "%s: freeing wrong coherent size (%ld != %d)\n", | ||
269 | __func__, c->vm_end - c->vm_start, size); | ||
270 | dump_stack(); | ||
271 | size = c->vm_end - c->vm_start; | ||
272 | } | ||
273 | |||
274 | addr = c->vm_start; | ||
275 | do { | ||
276 | pte_t *ptep; | ||
277 | unsigned long pfn; | ||
278 | |||
279 | ptep = pte_offset_kernel(pmd_offset(pud_offset(pgd_offset_k(addr), | ||
280 | addr), | ||
281 | addr), | ||
282 | addr); | ||
283 | if (!pte_none(*ptep) && pte_present(*ptep)) { | ||
284 | pfn = pte_pfn(*ptep); | ||
285 | pte_clear(&init_mm, addr, ptep); | ||
286 | if (pfn_valid(pfn)) { | ||
287 | struct page *page = pfn_to_page(pfn); | ||
288 | |||
289 | ClearPageReserved(page); | ||
290 | __free_page(page); | ||
291 | } | ||
292 | } | ||
293 | addr += PAGE_SIZE; | ||
294 | } while (size -= PAGE_SIZE); | ||
295 | |||
296 | flush_tlb_kernel_range(c->vm_start, c->vm_end); | ||
297 | |||
298 | list_del(&c->vm_list); | ||
299 | |||
300 | spin_unlock_irqrestore(&consistent_lock, flags); | ||
301 | |||
302 | kfree(c); | ||
303 | return; | ||
304 | |||
305 | no_area: | ||
306 | spin_unlock_irqrestore(&consistent_lock, flags); | ||
307 | printk(KERN_ERR "%s: trying to free invalid coherent area: %p\n", | ||
308 | __func__, vaddr); | ||
309 | dump_stack(); | ||
310 | } | ||
311 | EXPORT_SYMBOL(__dma_free_coherent); | ||
312 | |||
313 | /* | ||
314 | * make an area consistent. | ||
315 | */ | ||
316 | void __dma_sync(void *vaddr, size_t size, int direction) | ||
317 | { | ||
318 | unsigned long start = (unsigned long)vaddr; | ||
319 | unsigned long end = start + size; | ||
320 | |||
321 | switch (direction) { | ||
322 | case DMA_NONE: | ||
323 | BUG(); | ||
324 | case DMA_FROM_DEVICE: | ||
325 | /* | ||
326 | * invalidate only when cache-line aligned otherwise there is | ||
327 | * the potential for discarding uncommitted data from the cache | ||
328 | */ | ||
329 | if ((start & (L1_CACHE_BYTES - 1)) || (size & (L1_CACHE_BYTES - 1))) | ||
330 | flush_dcache_range(start, end); | ||
331 | else | ||
332 | invalidate_dcache_range(start, end); | ||
333 | break; | ||
334 | case DMA_TO_DEVICE: /* writeback only */ | ||
335 | clean_dcache_range(start, end); | ||
336 | break; | ||
337 | case DMA_BIDIRECTIONAL: /* writeback and invalidate */ | ||
338 | flush_dcache_range(start, end); | ||
339 | break; | ||
340 | } | ||
341 | } | ||
342 | EXPORT_SYMBOL(__dma_sync); | ||
343 | |||
344 | #ifdef CONFIG_HIGHMEM | ||
345 | /* | ||
346 | * __dma_sync_page() implementation for systems using highmem. | ||
347 | * In this case, each page of a buffer must be kmapped/kunmapped | ||
348 | * in order to have a virtual address for __dma_sync(). This must | ||
349 | * not sleep so kmap_atomic()/kunmap_atomic() are used. | ||
350 | * | ||
351 | * Note: yes, it is possible and correct to have a buffer extend | ||
352 | * beyond the first page. | ||
353 | */ | ||
354 | static inline void __dma_sync_page_highmem(struct page *page, | ||
355 | unsigned long offset, size_t size, int direction) | ||
356 | { | ||
357 | size_t seg_size = min((size_t)(PAGE_SIZE - offset), size); | ||
358 | size_t cur_size = seg_size; | ||
359 | unsigned long flags, start, seg_offset = offset; | ||
360 | int nr_segs = 1 + ((size - seg_size) + PAGE_SIZE - 1)/PAGE_SIZE; | ||
361 | int seg_nr = 0; | ||
362 | |||
363 | local_irq_save(flags); | ||
364 | |||
365 | do { | ||
366 | start = (unsigned long)kmap_atomic(page + seg_nr, | ||
367 | KM_PPC_SYNC_PAGE) + seg_offset; | ||
368 | |||
369 | /* Sync this buffer segment */ | ||
370 | __dma_sync((void *)start, seg_size, direction); | ||
371 | kunmap_atomic((void *)start, KM_PPC_SYNC_PAGE); | ||
372 | seg_nr++; | ||
373 | |||
374 | /* Calculate next buffer segment size */ | ||
375 | seg_size = min((size_t)PAGE_SIZE, size - cur_size); | ||
376 | |||
377 | /* Add the segment size to our running total */ | ||
378 | cur_size += seg_size; | ||
379 | seg_offset = 0; | ||
380 | } while (seg_nr < nr_segs); | ||
381 | |||
382 | local_irq_restore(flags); | ||
383 | } | ||
384 | #endif /* CONFIG_HIGHMEM */ | ||
385 | |||
386 | /* | ||
387 | * __dma_sync_page makes memory consistent. identical to __dma_sync, but | ||
388 | * takes a struct page instead of a virtual address | ||
389 | */ | ||
390 | void __dma_sync_page(struct page *page, unsigned long offset, | ||
391 | size_t size, int direction) | ||
392 | { | ||
393 | #ifdef CONFIG_HIGHMEM | ||
394 | __dma_sync_page_highmem(page, offset, size, direction); | ||
395 | #else | ||
396 | unsigned long start = (unsigned long)page_address(page) + offset; | ||
397 | __dma_sync((void *)start, size, direction); | ||
398 | #endif | ||
399 | } | ||
400 | EXPORT_SYMBOL(__dma_sync_page); | ||
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c index 666a5e8a5be1..3de6a0d93824 100644 --- a/arch/powerpc/mm/init_32.c +++ b/arch/powerpc/mm/init_32.c | |||
@@ -168,12 +168,8 @@ void __init MMU_init(void) | |||
168 | ppc_md.progress("MMU:mapin", 0x301); | 168 | ppc_md.progress("MMU:mapin", 0x301); |
169 | mapin_ram(); | 169 | mapin_ram(); |
170 | 170 | ||
171 | #ifdef CONFIG_HIGHMEM | 171 | /* Initialize early top-down ioremap allocator */ |
172 | ioremap_base = PKMAP_BASE; | 172 | ioremap_bot = IOREMAP_TOP; |
173 | #else | ||
174 | ioremap_base = 0xfe000000UL; /* for now, could be 0xfffff000 */ | ||
175 | #endif /* CONFIG_HIGHMEM */ | ||
176 | ioremap_bot = ioremap_base; | ||
177 | 173 | ||
178 | /* Map in I/O resources */ | 174 | /* Map in I/O resources */ |
179 | if (ppc_md.progress) | 175 | if (ppc_md.progress) |
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index f668fa9ba804..579382c163a9 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c | |||
@@ -57,7 +57,7 @@ | |||
57 | 57 | ||
58 | int init_bootmem_done; | 58 | int init_bootmem_done; |
59 | int mem_init_done; | 59 | int mem_init_done; |
60 | unsigned long memory_limit; | 60 | phys_addr_t memory_limit; |
61 | 61 | ||
62 | #ifdef CONFIG_HIGHMEM | 62 | #ifdef CONFIG_HIGHMEM |
63 | pte_t *kmap_pte; | 63 | pte_t *kmap_pte; |
@@ -380,6 +380,23 @@ void __init mem_init(void) | |||
380 | bsssize >> 10, | 380 | bsssize >> 10, |
381 | initsize >> 10); | 381 | initsize >> 10); |
382 | 382 | ||
383 | #ifdef CONFIG_PPC32 | ||
384 | pr_info("Kernel virtual memory layout:\n"); | ||
385 | pr_info(" * 0x%08lx..0x%08lx : fixmap\n", FIXADDR_START, FIXADDR_TOP); | ||
386 | #ifdef CONFIG_HIGHMEM | ||
387 | pr_info(" * 0x%08lx..0x%08lx : highmem PTEs\n", | ||
388 | PKMAP_BASE, PKMAP_ADDR(LAST_PKMAP)); | ||
389 | #endif /* CONFIG_HIGHMEM */ | ||
390 | #ifdef CONFIG_NOT_COHERENT_CACHE | ||
391 | pr_info(" * 0x%08lx..0x%08lx : consistent mem\n", | ||
392 | IOREMAP_TOP, IOREMAP_TOP + CONFIG_CONSISTENT_SIZE); | ||
393 | #endif /* CONFIG_NOT_COHERENT_CACHE */ | ||
394 | pr_info(" * 0x%08lx..0x%08lx : early ioremap\n", | ||
395 | ioremap_bot, IOREMAP_TOP); | ||
396 | pr_info(" * 0x%08lx..0x%08lx : vmalloc & ioremap\n", | ||
397 | VMALLOC_START, VMALLOC_END); | ||
398 | #endif /* CONFIG_PPC32 */ | ||
399 | |||
383 | mem_init_done = 1; | 400 | mem_init_done = 1; |
384 | } | 401 | } |
385 | 402 | ||
diff --git a/arch/powerpc/mm/mmu_context_nohash.c b/arch/powerpc/mm/mmu_context_nohash.c index a70e311bd457..030d0005b4d2 100644 --- a/arch/powerpc/mm/mmu_context_nohash.c +++ b/arch/powerpc/mm/mmu_context_nohash.c | |||
@@ -127,12 +127,12 @@ static unsigned int steal_context_up(unsigned int id) | |||
127 | 127 | ||
128 | pr_debug("[%d] steal context %d from mm @%p\n", cpu, id, mm); | 128 | pr_debug("[%d] steal context %d from mm @%p\n", cpu, id, mm); |
129 | 129 | ||
130 | /* Mark this mm has having no context anymore */ | ||
131 | mm->context.id = MMU_NO_CONTEXT; | ||
132 | |||
133 | /* Flush the TLB for that context */ | 130 | /* Flush the TLB for that context */ |
134 | local_flush_tlb_mm(mm); | 131 | local_flush_tlb_mm(mm); |
135 | 132 | ||
133 | /* Mark this mm has having no context anymore */ | ||
134 | mm->context.id = MMU_NO_CONTEXT; | ||
135 | |||
136 | /* XXX This clear should ultimately be part of local_flush_tlb_mm */ | 136 | /* XXX This clear should ultimately be part of local_flush_tlb_mm */ |
137 | __clear_bit(id, stale_map[cpu]); | 137 | __clear_bit(id, stale_map[cpu]); |
138 | 138 | ||
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c index f5c6fd42265c..ae1d67cc090c 100644 --- a/arch/powerpc/mm/pgtable.c +++ b/arch/powerpc/mm/pgtable.c | |||
@@ -219,7 +219,8 @@ int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address, | |||
219 | entry = do_dcache_icache_coherency(entry); | 219 | entry = do_dcache_icache_coherency(entry); |
220 | changed = !pte_same(*(ptep), entry); | 220 | changed = !pte_same(*(ptep), entry); |
221 | if (changed) { | 221 | if (changed) { |
222 | assert_pte_locked(vma->vm_mm, address); | 222 | if (!(vma->vm_flags & VM_HUGETLB)) |
223 | assert_pte_locked(vma->vm_mm, address); | ||
223 | __ptep_set_access_flags(ptep, entry); | 224 | __ptep_set_access_flags(ptep, entry); |
224 | flush_tlb_page_nohash(vma, address); | 225 | flush_tlb_page_nohash(vma, address); |
225 | } | 226 | } |
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index 430d0908fa50..5422169626ba 100644 --- a/arch/powerpc/mm/pgtable_32.c +++ b/arch/powerpc/mm/pgtable_32.c | |||
@@ -399,8 +399,6 @@ void kernel_map_pages(struct page *page, int numpages, int enable) | |||
399 | #endif /* CONFIG_DEBUG_PAGEALLOC */ | 399 | #endif /* CONFIG_DEBUG_PAGEALLOC */ |
400 | 400 | ||
401 | static int fixmaps; | 401 | static int fixmaps; |
402 | unsigned long FIXADDR_TOP = (-PAGE_SIZE); | ||
403 | EXPORT_SYMBOL(FIXADDR_TOP); | ||
404 | 402 | ||
405 | void __set_fixmap (enum fixed_addresses idx, phys_addr_t phys, pgprot_t flags) | 403 | void __set_fixmap (enum fixed_addresses idx, phys_addr_t phys, pgprot_t flags) |
406 | { | 404 | { |
diff --git a/arch/powerpc/oprofile/op_model_power4.c b/arch/powerpc/oprofile/op_model_power4.c index 3e3d91f536e0..80774092db77 100644 --- a/arch/powerpc/oprofile/op_model_power4.c +++ b/arch/powerpc/oprofile/op_model_power4.c | |||
@@ -26,6 +26,7 @@ | |||
26 | static unsigned long reset_value[OP_MAX_COUNTER]; | 26 | static unsigned long reset_value[OP_MAX_COUNTER]; |
27 | 27 | ||
28 | static int oprofile_running; | 28 | static int oprofile_running; |
29 | static int use_slot_nums; | ||
29 | 30 | ||
30 | /* mmcr values are set in power4_reg_setup, used in power4_cpu_setup */ | 31 | /* mmcr values are set in power4_reg_setup, used in power4_cpu_setup */ |
31 | static u32 mmcr0_val; | 32 | static u32 mmcr0_val; |
@@ -61,6 +62,12 @@ static int power4_reg_setup(struct op_counter_config *ctr, | |||
61 | else | 62 | else |
62 | mmcr0_val |= MMCR0_PROBLEM_DISABLE; | 63 | mmcr0_val |= MMCR0_PROBLEM_DISABLE; |
63 | 64 | ||
65 | if (__is_processor(PV_POWER4) || __is_processor(PV_POWER4p) || | ||
66 | __is_processor(PV_970) || __is_processor(PV_970FX) || | ||
67 | __is_processor(PV_970MP) || __is_processor(PV_970GX) || | ||
68 | __is_processor(PV_POWER5) || __is_processor(PV_POWER5p)) | ||
69 | use_slot_nums = 1; | ||
70 | |||
64 | return 0; | 71 | return 0; |
65 | } | 72 | } |
66 | 73 | ||
@@ -206,7 +213,7 @@ static unsigned long get_pc(struct pt_regs *regs) | |||
206 | 213 | ||
207 | mmcra = mfspr(SPRN_MMCRA); | 214 | mmcra = mfspr(SPRN_MMCRA); |
208 | 215 | ||
209 | if (mmcra & MMCRA_SAMPLE_ENABLE) { | 216 | if (use_slot_nums && (mmcra & MMCRA_SAMPLE_ENABLE)) { |
210 | slot = ((mmcra & MMCRA_SLOT) >> MMCRA_SLOT_SHIFT); | 217 | slot = ((mmcra & MMCRA_SLOT) >> MMCRA_SLOT_SHIFT); |
211 | if (slot > 1) | 218 | if (slot > 1) |
212 | pc += 4 * (slot - 1); | 219 | pc += 4 * (slot - 1); |
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig index 14e027f5be66..f39c953d5353 100644 --- a/arch/powerpc/platforms/40x/Kconfig +++ b/arch/powerpc/platforms/40x/Kconfig | |||
@@ -153,6 +153,7 @@ config 405GPR | |||
153 | 153 | ||
154 | config XILINX_VIRTEX | 154 | config XILINX_VIRTEX |
155 | bool | 155 | bool |
156 | select DEFAULT_UIMAGE | ||
156 | 157 | ||
157 | config XILINX_VIRTEX_II_PRO | 158 | config XILINX_VIRTEX_II_PRO |
158 | bool | 159 | bool |
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig index bf5c7ff2e6e5..0d83a6a0397d 100644 --- a/arch/powerpc/platforms/44x/Kconfig +++ b/arch/powerpc/platforms/44x/Kconfig | |||
@@ -246,6 +246,7 @@ config IBM440EP_ERR42 | |||
246 | # Xilinx specific config options. | 246 | # Xilinx specific config options. |
247 | config XILINX_VIRTEX | 247 | config XILINX_VIRTEX |
248 | bool | 248 | bool |
249 | select DEFAULT_UIMAGE | ||
249 | 250 | ||
250 | # Xilinx Virtex 5 FXT FPGA architecture, selected by a Xilinx board above | 251 | # Xilinx Virtex 5 FXT FPGA architecture, selected by a Xilinx board above |
251 | config XILINX_VIRTEX_5_FXT | 252 | config XILINX_VIRTEX_5_FXT |
diff --git a/arch/powerpc/platforms/cell/ras.c b/arch/powerpc/platforms/cell/ras.c index 5f961c464cc4..296b5268754e 100644 --- a/arch/powerpc/platforms/cell/ras.c +++ b/arch/powerpc/platforms/cell/ras.c | |||
@@ -122,12 +122,23 @@ static int __init cbe_ptcal_enable_on_node(int nid, int order) | |||
122 | 122 | ||
123 | area->nid = nid; | 123 | area->nid = nid; |
124 | area->order = order; | 124 | area->order = order; |
125 | area->pages = alloc_pages_node(area->nid, GFP_KERNEL, area->order); | 125 | area->pages = alloc_pages_node(area->nid, GFP_KERNEL | GFP_THISNODE, |
126 | area->order); | ||
126 | 127 | ||
127 | if (!area->pages) | 128 | if (!area->pages) { |
129 | printk(KERN_WARNING "%s: no page on node %d\n", | ||
130 | __func__, area->nid); | ||
128 | goto out_free_area; | 131 | goto out_free_area; |
132 | } | ||
129 | 133 | ||
130 | addr = __pa(page_address(area->pages)); | 134 | /* |
135 | * We move the ptcal area to the middle of the allocated | ||
136 | * page, in order to avoid prefetches in memcpy and similar | ||
137 | * functions stepping on it. | ||
138 | */ | ||
139 | addr = __pa(page_address(area->pages)) + (PAGE_SIZE >> 1); | ||
140 | printk(KERN_DEBUG "%s: enabling PTCAL on node %d address=0x%016lx\n", | ||
141 | __func__, area->nid, addr); | ||
131 | 142 | ||
132 | ret = -EIO; | 143 | ret = -EIO; |
133 | if (rtas_call(ptcal_start_tok, 3, 1, NULL, area->nid, | 144 | if (rtas_call(ptcal_start_tok, 3, 1, NULL, area->nid, |
diff --git a/arch/powerpc/platforms/iseries/Kconfig b/arch/powerpc/platforms/iseries/Kconfig index 647e87787437..47a20cfb4486 100644 --- a/arch/powerpc/platforms/iseries/Kconfig +++ b/arch/powerpc/platforms/iseries/Kconfig | |||
@@ -17,6 +17,7 @@ config VIODASD | |||
17 | 17 | ||
18 | config VIOCD | 18 | config VIOCD |
19 | tristate "iSeries Virtual I/O CD support" | 19 | tristate "iSeries Virtual I/O CD support" |
20 | depends on BLOCK | ||
20 | select VIOPATH | 21 | select VIOPATH |
21 | help | 22 | help |
22 | If you are running Linux on an IBM iSeries system and you want to | 23 | If you are running Linux on an IBM iSeries system and you want to |
diff --git a/arch/powerpc/platforms/iseries/iommu.c b/arch/powerpc/platforms/iseries/iommu.c index ff43f1fd8343..40219823d9b0 100644 --- a/arch/powerpc/platforms/iseries/iommu.c +++ b/arch/powerpc/platforms/iseries/iommu.c | |||
@@ -174,9 +174,10 @@ static struct iommu_table *iommu_table_find(struct iommu_table * tbl) | |||
174 | } | 174 | } |
175 | 175 | ||
176 | 176 | ||
177 | void iommu_devnode_init_iSeries(struct pci_dev *pdev, struct device_node *dn) | 177 | static void pci_dma_dev_setup_iseries(struct pci_dev *pdev) |
178 | { | 178 | { |
179 | struct iommu_table *tbl; | 179 | struct iommu_table *tbl; |
180 | struct device_node *dn = pdev->sysdata; | ||
180 | struct pci_dn *pdn = PCI_DN(dn); | 181 | struct pci_dn *pdn = PCI_DN(dn); |
181 | const u32 *lsn = of_get_property(dn, "linux,logical-slot-number", NULL); | 182 | const u32 *lsn = of_get_property(dn, "linux,logical-slot-number", NULL); |
182 | 183 | ||
@@ -194,6 +195,8 @@ void iommu_devnode_init_iSeries(struct pci_dev *pdev, struct device_node *dn) | |||
194 | kfree(tbl); | 195 | kfree(tbl); |
195 | pdev->dev.archdata.dma_data = pdn->iommu_table; | 196 | pdev->dev.archdata.dma_data = pdn->iommu_table; |
196 | } | 197 | } |
198 | #else | ||
199 | #define pci_dma_dev_setup_iseries NULL | ||
197 | #endif | 200 | #endif |
198 | 201 | ||
199 | static struct iommu_table veth_iommu_table; | 202 | static struct iommu_table veth_iommu_table; |
@@ -251,5 +254,6 @@ void iommu_init_early_iSeries(void) | |||
251 | ppc_md.tce_build = tce_build_iSeries; | 254 | ppc_md.tce_build = tce_build_iSeries; |
252 | ppc_md.tce_free = tce_free_iSeries; | 255 | ppc_md.tce_free = tce_free_iSeries; |
253 | 256 | ||
257 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_iseries; | ||
254 | set_pci_dma_ops(&dma_iommu_ops); | 258 | set_pci_dma_ops(&dma_iommu_ops); |
255 | } | 259 | } |
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c index 02a634faedbe..21cddc30220b 100644 --- a/arch/powerpc/platforms/iseries/pci.c +++ b/arch/powerpc/platforms/iseries/pci.c | |||
@@ -444,7 +444,6 @@ void __init iSeries_pcibios_fixup_resources(struct pci_dev *pdev) | |||
444 | pdev->sysdata = node; | 444 | pdev->sysdata = node; |
445 | allocate_device_bars(pdev); | 445 | allocate_device_bars(pdev); |
446 | iseries_device_information(pdev, bus, *sub_bus); | 446 | iseries_device_information(pdev, bus, *sub_bus); |
447 | iommu_devnode_init_iSeries(pdev, node); | ||
448 | } | 447 | } |
449 | 448 | ||
450 | /* | 449 | /* |
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 301855263b81..04296ffff8bf 100644 --- a/arch/powerpc/platforms/maple/pci.c +++ b/arch/powerpc/platforms/maple/pci.c | |||
@@ -592,3 +592,17 @@ int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel) | |||
592 | } | 592 | } |
593 | return irq; | 593 | return irq; |
594 | } | 594 | } |
595 | |||
596 | static void __devinit quirk_ipr_msi(struct pci_dev *dev) | ||
597 | { | ||
598 | /* Something prevents MSIs from the IPR from working on Bimini, | ||
599 | * and the driver has no smarts to recover. So disable MSI | ||
600 | * on it for now. */ | ||
601 | |||
602 | if (machine_is(maple)) { | ||
603 | dev->no_msi = 1; | ||
604 | dev_info(&dev->dev, "Quirk disabled MSI\n"); | ||
605 | } | ||
606 | } | ||
607 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_OBSIDIAN, | ||
608 | quirk_ipr_msi); | ||
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c index afe8dbc964aa..5c64ccd402e2 100644 --- a/arch/powerpc/sysdev/fsl_soc.c +++ b/arch/powerpc/sysdev/fsl_soc.c | |||
@@ -208,52 +208,6 @@ static int __init of_add_fixed_phys(void) | |||
208 | arch_initcall(of_add_fixed_phys); | 208 | arch_initcall(of_add_fixed_phys); |
209 | #endif /* CONFIG_FIXED_PHY */ | 209 | #endif /* CONFIG_FIXED_PHY */ |
210 | 210 | ||
211 | #ifdef CONFIG_PPC_83xx | ||
212 | static int __init mpc83xx_wdt_init(void) | ||
213 | { | ||
214 | struct resource r; | ||
215 | struct device_node *np; | ||
216 | struct platform_device *dev; | ||
217 | u32 freq = fsl_get_sys_freq(); | ||
218 | int ret; | ||
219 | |||
220 | np = of_find_compatible_node(NULL, "watchdog", "mpc83xx_wdt"); | ||
221 | |||
222 | if (!np) { | ||
223 | ret = -ENODEV; | ||
224 | goto nodev; | ||
225 | } | ||
226 | |||
227 | memset(&r, 0, sizeof(r)); | ||
228 | |||
229 | ret = of_address_to_resource(np, 0, &r); | ||
230 | if (ret) | ||
231 | goto err; | ||
232 | |||
233 | dev = platform_device_register_simple("mpc83xx_wdt", 0, &r, 1); | ||
234 | if (IS_ERR(dev)) { | ||
235 | ret = PTR_ERR(dev); | ||
236 | goto err; | ||
237 | } | ||
238 | |||
239 | ret = platform_device_add_data(dev, &freq, sizeof(freq)); | ||
240 | if (ret) | ||
241 | goto unreg; | ||
242 | |||
243 | of_node_put(np); | ||
244 | return 0; | ||
245 | |||
246 | unreg: | ||
247 | platform_device_unregister(dev); | ||
248 | err: | ||
249 | of_node_put(np); | ||
250 | nodev: | ||
251 | return ret; | ||
252 | } | ||
253 | |||
254 | arch_initcall(mpc83xx_wdt_init); | ||
255 | #endif | ||
256 | |||
257 | static enum fsl_usb2_phy_modes determine_usb_phy(const char *phy_type) | 211 | static enum fsl_usb2_phy_modes determine_usb_phy(const char *phy_type) |
258 | { | 212 | { |
259 | if (!phy_type) | 213 | if (!phy_type) |
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 21b956701596..0efc12d1a3d7 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -1057,13 +1057,6 @@ struct mpic * __init mpic_alloc(struct device_node *node, | |||
1057 | memset(mpic, 0, sizeof(struct mpic)); | 1057 | memset(mpic, 0, sizeof(struct mpic)); |
1058 | mpic->name = name; | 1058 | mpic->name = name; |
1059 | 1059 | ||
1060 | mpic->irqhost = irq_alloc_host(node, IRQ_HOST_MAP_LINEAR, | ||
1061 | isu_size, &mpic_host_ops, | ||
1062 | flags & MPIC_LARGE_VECTORS ? 2048 : 256); | ||
1063 | if (mpic->irqhost == NULL) | ||
1064 | return NULL; | ||
1065 | |||
1066 | mpic->irqhost->host_data = mpic; | ||
1067 | mpic->hc_irq = mpic_irq_chip; | 1060 | mpic->hc_irq = mpic_irq_chip; |
1068 | mpic->hc_irq.typename = name; | 1061 | mpic->hc_irq.typename = name; |
1069 | if (flags & MPIC_PRIMARY) | 1062 | if (flags & MPIC_PRIMARY) |
@@ -1213,6 +1206,15 @@ struct mpic * __init mpic_alloc(struct device_node *node, | |||
1213 | mpic->isu_shift = 1 + __ilog2(mpic->isu_size - 1); | 1206 | mpic->isu_shift = 1 + __ilog2(mpic->isu_size - 1); |
1214 | mpic->isu_mask = (1 << mpic->isu_shift) - 1; | 1207 | mpic->isu_mask = (1 << mpic->isu_shift) - 1; |
1215 | 1208 | ||
1209 | mpic->irqhost = irq_alloc_host(node, IRQ_HOST_MAP_LINEAR, | ||
1210 | isu_size ? isu_size : mpic->num_sources, | ||
1211 | &mpic_host_ops, | ||
1212 | flags & MPIC_LARGE_VECTORS ? 2048 : 256); | ||
1213 | if (mpic->irqhost == NULL) | ||
1214 | return NULL; | ||
1215 | |||
1216 | mpic->irqhost->host_data = mpic; | ||
1217 | |||
1216 | /* Display version */ | 1218 | /* Display version */ |
1217 | switch (greg_feature & MPIC_GREG_FEATURE_VERSION_MASK) { | 1219 | switch (greg_feature & MPIC_GREG_FEATURE_VERSION_MASK) { |
1218 | case 1: | 1220 | case 1: |
diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c index a22e1a2df1af..c658b413c9b4 100644 --- a/arch/powerpc/sysdev/xilinx_intc.c +++ b/arch/powerpc/sysdev/xilinx_intc.c | |||
@@ -41,8 +41,32 @@ | |||
41 | 41 | ||
42 | static struct irq_host *master_irqhost; | 42 | static struct irq_host *master_irqhost; |
43 | 43 | ||
44 | #define XILINX_INTC_MAXIRQS (32) | ||
45 | |||
46 | /* The following table allows the interrupt type, edge or level, | ||
47 | * to be cached after being read from the device tree until the interrupt | ||
48 | * is mapped | ||
49 | */ | ||
50 | static int xilinx_intc_typetable[XILINX_INTC_MAXIRQS]; | ||
51 | |||
52 | /* Map the interrupt type from the device tree to the interrupt types | ||
53 | * used by the interrupt subsystem | ||
54 | */ | ||
55 | static unsigned char xilinx_intc_map_senses[] = { | ||
56 | IRQ_TYPE_EDGE_RISING, | ||
57 | IRQ_TYPE_EDGE_FALLING, | ||
58 | IRQ_TYPE_LEVEL_HIGH, | ||
59 | IRQ_TYPE_LEVEL_LOW, | ||
60 | }; | ||
61 | |||
44 | /* | 62 | /* |
45 | * IRQ Chip operations | 63 | * The interrupt controller is setup such that it doesn't work well with |
64 | * the level interrupt handler in the kernel because the handler acks the | ||
65 | * interrupt before calling the application interrupt handler. To deal with | ||
66 | * that, we use 2 different irq chips so that different functions can be | ||
67 | * used for level and edge type interrupts. | ||
68 | * | ||
69 | * IRQ Chip common (across level and edge) operations | ||
46 | */ | 70 | */ |
47 | static void xilinx_intc_mask(unsigned int virq) | 71 | static void xilinx_intc_mask(unsigned int virq) |
48 | { | 72 | { |
@@ -52,15 +76,54 @@ static void xilinx_intc_mask(unsigned int virq) | |||
52 | out_be32(regs + XINTC_CIE, 1 << irq); | 76 | out_be32(regs + XINTC_CIE, 1 << irq); |
53 | } | 77 | } |
54 | 78 | ||
55 | static void xilinx_intc_unmask(unsigned int virq) | 79 | static int xilinx_intc_set_type(unsigned int virq, unsigned int flow_type) |
80 | { | ||
81 | struct irq_desc *desc = get_irq_desc(virq); | ||
82 | |||
83 | desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL); | ||
84 | desc->status |= flow_type & IRQ_TYPE_SENSE_MASK; | ||
85 | if (flow_type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) | ||
86 | desc->status |= IRQ_LEVEL; | ||
87 | return 0; | ||
88 | } | ||
89 | |||
90 | /* | ||
91 | * IRQ Chip level operations | ||
92 | */ | ||
93 | static void xilinx_intc_level_unmask(unsigned int virq) | ||
56 | { | 94 | { |
57 | int irq = virq_to_hw(virq); | 95 | int irq = virq_to_hw(virq); |
58 | void * regs = get_irq_chip_data(virq); | 96 | void * regs = get_irq_chip_data(virq); |
59 | pr_debug("unmask: %d\n", irq); | 97 | pr_debug("unmask: %d\n", irq); |
60 | out_be32(regs + XINTC_SIE, 1 << irq); | 98 | out_be32(regs + XINTC_SIE, 1 << irq); |
99 | |||
100 | /* ack level irqs because they can't be acked during | ||
101 | * ack function since the handle_level_irq function | ||
102 | * acks the irq before calling the inerrupt handler | ||
103 | */ | ||
104 | out_be32(regs + XINTC_IAR, 1 << irq); | ||
61 | } | 105 | } |
62 | 106 | ||
63 | static void xilinx_intc_ack(unsigned int virq) | 107 | static struct irq_chip xilinx_intc_level_irqchip = { |
108 | .typename = "Xilinx Level INTC", | ||
109 | .mask = xilinx_intc_mask, | ||
110 | .mask_ack = xilinx_intc_mask, | ||
111 | .unmask = xilinx_intc_level_unmask, | ||
112 | .set_type = xilinx_intc_set_type, | ||
113 | }; | ||
114 | |||
115 | /* | ||
116 | * IRQ Chip edge operations | ||
117 | */ | ||
118 | static void xilinx_intc_edge_unmask(unsigned int virq) | ||
119 | { | ||
120 | int irq = virq_to_hw(virq); | ||
121 | void *regs = get_irq_chip_data(virq); | ||
122 | pr_debug("unmask: %d\n", irq); | ||
123 | out_be32(regs + XINTC_SIE, 1 << irq); | ||
124 | } | ||
125 | |||
126 | static void xilinx_intc_edge_ack(unsigned int virq) | ||
64 | { | 127 | { |
65 | int irq = virq_to_hw(virq); | 128 | int irq = virq_to_hw(virq); |
66 | void * regs = get_irq_chip_data(virq); | 129 | void * regs = get_irq_chip_data(virq); |
@@ -68,27 +131,60 @@ static void xilinx_intc_ack(unsigned int virq) | |||
68 | out_be32(regs + XINTC_IAR, 1 << irq); | 131 | out_be32(regs + XINTC_IAR, 1 << irq); |
69 | } | 132 | } |
70 | 133 | ||
71 | static struct irq_chip xilinx_intc_irqchip = { | 134 | static struct irq_chip xilinx_intc_edge_irqchip = { |
72 | .typename = "Xilinx INTC", | 135 | .typename = "Xilinx Edge INTC", |
73 | .mask = xilinx_intc_mask, | 136 | .mask = xilinx_intc_mask, |
74 | .unmask = xilinx_intc_unmask, | 137 | .unmask = xilinx_intc_edge_unmask, |
75 | .ack = xilinx_intc_ack, | 138 | .ack = xilinx_intc_edge_ack, |
139 | .set_type = xilinx_intc_set_type, | ||
76 | }; | 140 | }; |
77 | 141 | ||
78 | /* | 142 | /* |
79 | * IRQ Host operations | 143 | * IRQ Host operations |
80 | */ | 144 | */ |
145 | |||
146 | /** | ||
147 | * xilinx_intc_xlate - translate virq# from device tree interrupts property | ||
148 | */ | ||
149 | static int xilinx_intc_xlate(struct irq_host *h, struct device_node *ct, | ||
150 | u32 *intspec, unsigned int intsize, | ||
151 | irq_hw_number_t *out_hwirq, | ||
152 | unsigned int *out_flags) | ||
153 | { | ||
154 | if ((intsize < 2) || (intspec[0] >= XILINX_INTC_MAXIRQS)) | ||
155 | return -EINVAL; | ||
156 | |||
157 | /* keep a copy of the interrupt type til the interrupt is mapped | ||
158 | */ | ||
159 | xilinx_intc_typetable[intspec[0]] = xilinx_intc_map_senses[intspec[1]]; | ||
160 | |||
161 | /* Xilinx uses 2 interrupt entries, the 1st being the h/w | ||
162 | * interrupt number, the 2nd being the interrupt type, edge or level | ||
163 | */ | ||
164 | *out_hwirq = intspec[0]; | ||
165 | *out_flags = xilinx_intc_map_senses[intspec[1]]; | ||
166 | |||
167 | return 0; | ||
168 | } | ||
81 | static int xilinx_intc_map(struct irq_host *h, unsigned int virq, | 169 | static int xilinx_intc_map(struct irq_host *h, unsigned int virq, |
82 | irq_hw_number_t irq) | 170 | irq_hw_number_t irq) |
83 | { | 171 | { |
84 | set_irq_chip_data(virq, h->host_data); | 172 | set_irq_chip_data(virq, h->host_data); |
85 | set_irq_chip_and_handler(virq, &xilinx_intc_irqchip, handle_level_irq); | 173 | |
86 | set_irq_type(virq, IRQ_TYPE_NONE); | 174 | if (xilinx_intc_typetable[irq] == IRQ_TYPE_LEVEL_HIGH || |
175 | xilinx_intc_typetable[irq] == IRQ_TYPE_LEVEL_LOW) { | ||
176 | set_irq_chip_and_handler(virq, &xilinx_intc_level_irqchip, | ||
177 | handle_level_irq); | ||
178 | } else { | ||
179 | set_irq_chip_and_handler(virq, &xilinx_intc_edge_irqchip, | ||
180 | handle_edge_irq); | ||
181 | } | ||
87 | return 0; | 182 | return 0; |
88 | } | 183 | } |
89 | 184 | ||
90 | static struct irq_host_ops xilinx_intc_ops = { | 185 | static struct irq_host_ops xilinx_intc_ops = { |
91 | .map = xilinx_intc_map, | 186 | .map = xilinx_intc_map, |
187 | .xlate = xilinx_intc_xlate, | ||
92 | }; | 188 | }; |
93 | 189 | ||
94 | struct irq_host * __init | 190 | struct irq_host * __init |
@@ -116,7 +212,8 @@ xilinx_intc_init(struct device_node *np) | |||
116 | out_be32(regs + XINTC_MER, 0x3UL); /* Turn on the Master Enable. */ | 212 | out_be32(regs + XINTC_MER, 0x3UL); /* Turn on the Master Enable. */ |
117 | 213 | ||
118 | /* Allocate and initialize an irq_host structure. */ | 214 | /* Allocate and initialize an irq_host structure. */ |
119 | irq = irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, 32, &xilinx_intc_ops, -1); | 215 | irq = irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, XILINX_INTC_MAXIRQS, |
216 | &xilinx_intc_ops, -1); | ||
120 | if (!irq) | 217 | if (!irq) |
121 | panic(__FILE__ ": Cannot allocate IRQ host\n"); | 218 | panic(__FILE__ ": Cannot allocate IRQ host\n"); |
122 | irq->host_data = regs; | 219 | irq->host_data = regs; |
diff --git a/arch/sh/boards/board-ap325rxa.c b/arch/sh/boards/board-ap325rxa.c index 39e46919df14..f2a29641b6a3 100644 --- a/arch/sh/boards/board-ap325rxa.c +++ b/arch/sh/boards/board-ap325rxa.c | |||
@@ -263,6 +263,9 @@ static int camera_probe(void) | |||
263 | struct i2c_msg msg; | 263 | struct i2c_msg msg; |
264 | int ret; | 264 | int ret; |
265 | 265 | ||
266 | if (!a) | ||
267 | return -ENODEV; | ||
268 | |||
266 | camera_power(1); | 269 | camera_power(1); |
267 | msg.addr = 0x6e; | 270 | msg.addr = 0x6e; |
268 | msg.buf = camera_ncm03j_magic; | 271 | msg.buf = camera_ncm03j_magic; |
diff --git a/arch/sh/include/asm/flat.h b/arch/sh/include/asm/flat.h index d3b2b4f109e3..5d84df5e27f6 100644 --- a/arch/sh/include/asm/flat.h +++ b/arch/sh/include/asm/flat.h | |||
@@ -12,7 +12,6 @@ | |||
12 | #ifndef __ASM_SH_FLAT_H | 12 | #ifndef __ASM_SH_FLAT_H |
13 | #define __ASM_SH_FLAT_H | 13 | #define __ASM_SH_FLAT_H |
14 | 14 | ||
15 | #define flat_stack_align(sp) /* nothing needed */ | ||
16 | #define flat_argvp_envp_on_stack() 0 | 15 | #define flat_argvp_envp_on_stack() 0 |
17 | #define flat_old_ram_flag(flags) (flags) | 16 | #define flat_old_ram_flag(flags) (flags) |
18 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) | 17 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) |
diff --git a/arch/sparc/include/asm/elf_64.h b/arch/sparc/include/asm/elf_64.h index 425c2f9be6d5..d42e393078c4 100644 --- a/arch/sparc/include/asm/elf_64.h +++ b/arch/sparc/include/asm/elf_64.h | |||
@@ -208,8 +208,9 @@ do { unsigned long new_flags = current_thread_info()->flags; \ | |||
208 | else \ | 208 | else \ |
209 | clear_thread_flag(TIF_ABI_PENDING); \ | 209 | clear_thread_flag(TIF_ABI_PENDING); \ |
210 | /* flush_thread will update pgd cache */ \ | 210 | /* flush_thread will update pgd cache */ \ |
211 | if (current->personality != PER_LINUX32) \ | 211 | if (personality(current->personality) != PER_LINUX32) \ |
212 | set_personality(PER_LINUX); \ | 212 | set_personality(PER_LINUX | \ |
213 | (current->personality & (~PER_MASK))); \ | ||
213 | } while (0) | 214 | } while (0) |
214 | 215 | ||
215 | #endif /* !(__ASM_SPARC64_ELF_H) */ | 216 | #endif /* !(__ASM_SPARC64_ELF_H) */ |
diff --git a/arch/sparc/lib/csum_copy_from_user.S b/arch/sparc/lib/csum_copy_from_user.S index a22eddbe5dba..e0304e6a2242 100644 --- a/arch/sparc/lib/csum_copy_from_user.S +++ b/arch/sparc/lib/csum_copy_from_user.S | |||
@@ -5,7 +5,7 @@ | |||
5 | 5 | ||
6 | #define EX_LD(x) \ | 6 | #define EX_LD(x) \ |
7 | 98: x; \ | 7 | 98: x; \ |
8 | .section .fixup; \ | 8 | .section .fixup, "ax"; \ |
9 | .align 4; \ | 9 | .align 4; \ |
10 | 99: retl; \ | 10 | 99: retl; \ |
11 | mov -1, %o0; \ | 11 | mov -1, %o0; \ |
diff --git a/arch/sparc/lib/csum_copy_to_user.S b/arch/sparc/lib/csum_copy_to_user.S index d5b12f441f02..afd01acc587c 100644 --- a/arch/sparc/lib/csum_copy_to_user.S +++ b/arch/sparc/lib/csum_copy_to_user.S | |||
@@ -5,7 +5,7 @@ | |||
5 | 5 | ||
6 | #define EX_ST(x) \ | 6 | #define EX_ST(x) \ |
7 | 98: x; \ | 7 | 98: x; \ |
8 | .section .fixup; \ | 8 | .section .fixup,"ax"; \ |
9 | .align 4; \ | 9 | .align 4; \ |
10 | 99: retl; \ | 10 | 99: retl; \ |
11 | mov -1, %o0; \ | 11 | mov -1, %o0; \ |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index df9e885eee14..a6efe0a2e9ae 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -498,6 +498,19 @@ config PARAVIRT | |||
498 | over full virtualization. However, when run without a hypervisor | 498 | over full virtualization. However, when run without a hypervisor |
499 | the kernel is theoretically slower and slightly larger. | 499 | the kernel is theoretically slower and slightly larger. |
500 | 500 | ||
501 | config PARAVIRT_SPINLOCKS | ||
502 | bool "Paravirtualization layer for spinlocks" | ||
503 | depends on PARAVIRT && SMP && EXPERIMENTAL | ||
504 | ---help--- | ||
505 | Paravirtualized spinlocks allow a pvops backend to replace the | ||
506 | spinlock implementation with something virtualization-friendly | ||
507 | (for example, block the virtual CPU rather than spinning). | ||
508 | |||
509 | Unfortunately the downside is an up to 5% performance hit on | ||
510 | native kernels, with various workloads. | ||
511 | |||
512 | If you are unsure how to answer this question, answer N. | ||
513 | |||
501 | config PARAVIRT_CLOCK | 514 | config PARAVIRT_CLOCK |
502 | bool | 515 | bool |
503 | default n | 516 | default n |
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug index 5865712d105d..33fac6bbe1c2 100644 --- a/arch/x86/Kconfig.debug +++ b/arch/x86/Kconfig.debug | |||
@@ -159,6 +159,14 @@ config IOMMU_DEBUG | |||
159 | options. See Documentation/x86_64/boot-options.txt for more | 159 | options. See Documentation/x86_64/boot-options.txt for more |
160 | details. | 160 | details. |
161 | 161 | ||
162 | config IOMMU_STRESS | ||
163 | bool "Enable IOMMU stress-test mode" | ||
164 | ---help--- | ||
165 | This option disables various optimizations in IOMMU related | ||
166 | code to do real stress testing of the IOMMU code. This option | ||
167 | will cause a performance drop and should only be enabled for | ||
168 | testing. | ||
169 | |||
162 | config IOMMU_LEAK | 170 | config IOMMU_LEAK |
163 | bool "IOMMU leak tracing" | 171 | bool "IOMMU leak tracing" |
164 | depends on IOMMU_DEBUG && DMA_API_DEBUG | 172 | depends on IOMMU_DEBUG && DMA_API_DEBUG |
diff --git a/arch/x86/boot/compressed/relocs.c b/arch/x86/boot/compressed/relocs.c index 857e492c571e..bbeb0c3fbd90 100644 --- a/arch/x86/boot/compressed/relocs.c +++ b/arch/x86/boot/compressed/relocs.c | |||
@@ -504,8 +504,11 @@ static void walk_relocs(void (*visit)(Elf32_Rel *rel, Elf32_Sym *sym)) | |||
504 | if (sym->st_shndx == SHN_ABS) { | 504 | if (sym->st_shndx == SHN_ABS) { |
505 | continue; | 505 | continue; |
506 | } | 506 | } |
507 | if (r_type == R_386_PC32) { | 507 | if (r_type == R_386_NONE || r_type == R_386_PC32) { |
508 | /* PC relative relocations don't need to be adjusted */ | 508 | /* |
509 | * NONE can be ignored and and PC relative | ||
510 | * relocations don't need to be adjusted. | ||
511 | */ | ||
509 | } | 512 | } |
510 | else if (r_type == R_386_32) { | 513 | else if (r_type == R_386_32) { |
511 | /* Visit relocations that need to be adjusted */ | 514 | /* Visit relocations that need to be adjusted */ |
diff --git a/arch/x86/boot/memory.c b/arch/x86/boot/memory.c index 5054c2ddd1a0..74b3d2ba84e9 100644 --- a/arch/x86/boot/memory.c +++ b/arch/x86/boot/memory.c | |||
@@ -17,11 +17,6 @@ | |||
17 | 17 | ||
18 | #define SMAP 0x534d4150 /* ASCII "SMAP" */ | 18 | #define SMAP 0x534d4150 /* ASCII "SMAP" */ |
19 | 19 | ||
20 | struct e820_ext_entry { | ||
21 | struct e820entry std; | ||
22 | u32 ext_flags; | ||
23 | } __attribute__((packed)); | ||
24 | |||
25 | static int detect_memory_e820(void) | 20 | static int detect_memory_e820(void) |
26 | { | 21 | { |
27 | int count = 0; | 22 | int count = 0; |
@@ -29,13 +24,21 @@ static int detect_memory_e820(void) | |||
29 | u32 size, id, edi; | 24 | u32 size, id, edi; |
30 | u8 err; | 25 | u8 err; |
31 | struct e820entry *desc = boot_params.e820_map; | 26 | struct e820entry *desc = boot_params.e820_map; |
32 | static struct e820_ext_entry buf; /* static so it is zeroed */ | 27 | static struct e820entry buf; /* static so it is zeroed */ |
33 | 28 | ||
34 | /* | 29 | /* |
35 | * Set this here so that if the BIOS doesn't change this field | 30 | * Note: at least one BIOS is known which assumes that the |
36 | * but still doesn't change %ecx, we're still okay... | 31 | * buffer pointed to by one e820 call is the same one as |
32 | * the previous call, and only changes modified fields. Therefore, | ||
33 | * we use a temporary buffer and copy the results entry by entry. | ||
34 | * | ||
35 | * This routine deliberately does not try to account for | ||
36 | * ACPI 3+ extended attributes. This is because there are | ||
37 | * BIOSes in the field which report zero for the valid bit for | ||
38 | * all ranges, and we don't currently make any use of the | ||
39 | * other attribute bits. Revisit this if we see the extended | ||
40 | * attribute bits deployed in a meaningful way in the future. | ||
37 | */ | 41 | */ |
38 | buf.ext_flags = 1; | ||
39 | 42 | ||
40 | do { | 43 | do { |
41 | size = sizeof buf; | 44 | size = sizeof buf; |
@@ -66,13 +69,7 @@ static int detect_memory_e820(void) | |||
66 | break; | 69 | break; |
67 | } | 70 | } |
68 | 71 | ||
69 | /* ACPI 3.0 added the extended flags support. If bit 0 | 72 | *desc++ = buf; |
70 | in the extended flags is zero, we're supposed to simply | ||
71 | ignore the entry -- a backwards incompatible change! */ | ||
72 | if (size > 20 && !(buf.ext_flags & 1)) | ||
73 | continue; | ||
74 | |||
75 | *desc++ = buf.std; | ||
76 | count++; | 73 | count++; |
77 | } while (next && count < ARRAY_SIZE(boot_params.e820_map)); | 74 | } while (next && count < ARRAY_SIZE(boot_params.e820_map)); |
78 | 75 | ||
diff --git a/arch/x86/include/asm/amd_iommu.h b/arch/x86/include/asm/amd_iommu.h index f712344329bc..262e02820049 100644 --- a/arch/x86/include/asm/amd_iommu.h +++ b/arch/x86/include/asm/amd_iommu.h | |||
@@ -27,6 +27,8 @@ extern int amd_iommu_init(void); | |||
27 | extern int amd_iommu_init_dma_ops(void); | 27 | extern int amd_iommu_init_dma_ops(void); |
28 | extern void amd_iommu_detect(void); | 28 | extern void amd_iommu_detect(void); |
29 | extern irqreturn_t amd_iommu_int_handler(int irq, void *data); | 29 | extern irqreturn_t amd_iommu_int_handler(int irq, void *data); |
30 | extern void amd_iommu_flush_all_domains(void); | ||
31 | extern void amd_iommu_flush_all_devices(void); | ||
30 | #else | 32 | #else |
31 | static inline int amd_iommu_init(void) { return -ENODEV; } | 33 | static inline int amd_iommu_init(void) { return -ENODEV; } |
32 | static inline void amd_iommu_detect(void) { } | 34 | static inline void amd_iommu_detect(void) { } |
diff --git a/arch/x86/include/asm/amd_iommu_types.h b/arch/x86/include/asm/amd_iommu_types.h index 95c8cd9d22b5..0c878caaa0a2 100644 --- a/arch/x86/include/asm/amd_iommu_types.h +++ b/arch/x86/include/asm/amd_iommu_types.h | |||
@@ -194,6 +194,27 @@ | |||
194 | #define PD_DMA_OPS_MASK (1UL << 0) /* domain used for dma_ops */ | 194 | #define PD_DMA_OPS_MASK (1UL << 0) /* domain used for dma_ops */ |
195 | #define PD_DEFAULT_MASK (1UL << 1) /* domain is a default dma_ops | 195 | #define PD_DEFAULT_MASK (1UL << 1) /* domain is a default dma_ops |
196 | domain for an IOMMU */ | 196 | domain for an IOMMU */ |
197 | extern bool amd_iommu_dump; | ||
198 | #define DUMP_printk(format, arg...) \ | ||
199 | do { \ | ||
200 | if (amd_iommu_dump) \ | ||
201 | printk(KERN_INFO "AMD IOMMU: " format, ## arg); \ | ||
202 | } while(0); | ||
203 | |||
204 | /* | ||
205 | * Make iterating over all IOMMUs easier | ||
206 | */ | ||
207 | #define for_each_iommu(iommu) \ | ||
208 | list_for_each_entry((iommu), &amd_iommu_list, list) | ||
209 | #define for_each_iommu_safe(iommu, next) \ | ||
210 | list_for_each_entry_safe((iommu), (next), &amd_iommu_list, list) | ||
211 | |||
212 | #define APERTURE_RANGE_SHIFT 27 /* 128 MB */ | ||
213 | #define APERTURE_RANGE_SIZE (1ULL << APERTURE_RANGE_SHIFT) | ||
214 | #define APERTURE_RANGE_PAGES (APERTURE_RANGE_SIZE >> PAGE_SHIFT) | ||
215 | #define APERTURE_MAX_RANGES 32 /* allows 4GB of DMA address space */ | ||
216 | #define APERTURE_RANGE_INDEX(a) ((a) >> APERTURE_RANGE_SHIFT) | ||
217 | #define APERTURE_PAGE_INDEX(a) (((a) >> 21) & 0x3fULL) | ||
197 | 218 | ||
198 | /* | 219 | /* |
199 | * This structure contains generic data for IOMMU protection domains | 220 | * This structure contains generic data for IOMMU protection domains |
@@ -210,6 +231,26 @@ struct protection_domain { | |||
210 | }; | 231 | }; |
211 | 232 | ||
212 | /* | 233 | /* |
234 | * For dynamic growth the aperture size is split into ranges of 128MB of | ||
235 | * DMA address space each. This struct represents one such range. | ||
236 | */ | ||
237 | struct aperture_range { | ||
238 | |||
239 | /* address allocation bitmap */ | ||
240 | unsigned long *bitmap; | ||
241 | |||
242 | /* | ||
243 | * Array of PTE pages for the aperture. In this array we save all the | ||
244 | * leaf pages of the domain page table used for the aperture. This way | ||
245 | * we don't need to walk the page table to find a specific PTE. We can | ||
246 | * just calculate its address in constant time. | ||
247 | */ | ||
248 | u64 *pte_pages[64]; | ||
249 | |||
250 | unsigned long offset; | ||
251 | }; | ||
252 | |||
253 | /* | ||
213 | * Data container for a dma_ops specific protection domain | 254 | * Data container for a dma_ops specific protection domain |
214 | */ | 255 | */ |
215 | struct dma_ops_domain { | 256 | struct dma_ops_domain { |
@@ -222,18 +263,10 @@ struct dma_ops_domain { | |||
222 | unsigned long aperture_size; | 263 | unsigned long aperture_size; |
223 | 264 | ||
224 | /* address we start to search for free addresses */ | 265 | /* address we start to search for free addresses */ |
225 | unsigned long next_bit; | 266 | unsigned long next_address; |
226 | |||
227 | /* address allocation bitmap */ | ||
228 | unsigned long *bitmap; | ||
229 | 267 | ||
230 | /* | 268 | /* address space relevant data */ |
231 | * Array of PTE pages for the aperture. In this array we save all the | 269 | struct aperture_range *aperture[APERTURE_MAX_RANGES]; |
232 | * leaf pages of the domain page table used for the aperture. This way | ||
233 | * we don't need to walk the page table to find a specific PTE. We can | ||
234 | * just calculate its address in constant time. | ||
235 | */ | ||
236 | u64 **pte_pages; | ||
237 | 270 | ||
238 | /* This will be set to true when TLB needs to be flushed */ | 271 | /* This will be set to true when TLB needs to be flushed */ |
239 | bool need_flush; | 272 | bool need_flush; |
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h index 378e3691c08c..a53da004e08e 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h | |||
@@ -1443,7 +1443,7 @@ u64 _paravirt_ident_64(u64); | |||
1443 | 1443 | ||
1444 | #define paravirt_nop ((void *)_paravirt_nop) | 1444 | #define paravirt_nop ((void *)_paravirt_nop) |
1445 | 1445 | ||
1446 | #ifdef CONFIG_SMP | 1446 | #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS) |
1447 | 1447 | ||
1448 | static inline int __raw_spin_is_locked(struct raw_spinlock *lock) | 1448 | static inline int __raw_spin_is_locked(struct raw_spinlock *lock) |
1449 | { | 1449 | { |
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index aee103b26d01..02ecb30982a3 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h | |||
@@ -82,22 +82,22 @@ do { \ | |||
82 | case 1: \ | 82 | case 1: \ |
83 | asm(op "b %1,"__percpu_arg(0) \ | 83 | asm(op "b %1,"__percpu_arg(0) \ |
84 | : "+m" (var) \ | 84 | : "+m" (var) \ |
85 | : "ri" ((T__)val)); \ | 85 | : "qi" ((T__)(val))); \ |
86 | break; \ | 86 | break; \ |
87 | case 2: \ | 87 | case 2: \ |
88 | asm(op "w %1,"__percpu_arg(0) \ | 88 | asm(op "w %1,"__percpu_arg(0) \ |
89 | : "+m" (var) \ | 89 | : "+m" (var) \ |
90 | : "ri" ((T__)val)); \ | 90 | : "ri" ((T__)(val))); \ |
91 | break; \ | 91 | break; \ |
92 | case 4: \ | 92 | case 4: \ |
93 | asm(op "l %1,"__percpu_arg(0) \ | 93 | asm(op "l %1,"__percpu_arg(0) \ |
94 | : "+m" (var) \ | 94 | : "+m" (var) \ |
95 | : "ri" ((T__)val)); \ | 95 | : "ri" ((T__)(val))); \ |
96 | break; \ | 96 | break; \ |
97 | case 8: \ | 97 | case 8: \ |
98 | asm(op "q %1,"__percpu_arg(0) \ | 98 | asm(op "q %1,"__percpu_arg(0) \ |
99 | : "+m" (var) \ | 99 | : "+m" (var) \ |
100 | : "re" ((T__)val)); \ | 100 | : "re" ((T__)(val))); \ |
101 | break; \ | 101 | break; \ |
102 | default: __bad_percpu_size(); \ | 102 | default: __bad_percpu_size(); \ |
103 | } \ | 103 | } \ |
@@ -109,7 +109,7 @@ do { \ | |||
109 | switch (sizeof(var)) { \ | 109 | switch (sizeof(var)) { \ |
110 | case 1: \ | 110 | case 1: \ |
111 | asm(op "b "__percpu_arg(1)",%0" \ | 111 | asm(op "b "__percpu_arg(1)",%0" \ |
112 | : "=r" (ret__) \ | 112 | : "=q" (ret__) \ |
113 | : "m" (var)); \ | 113 | : "m" (var)); \ |
114 | break; \ | 114 | break; \ |
115 | case 2: \ | 115 | case 2: \ |
diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h index e304b66abeea..624f133943ed 100644 --- a/arch/x86/include/asm/ptrace.h +++ b/arch/x86/include/asm/ptrace.h | |||
@@ -187,14 +187,15 @@ static inline int v8086_mode(struct pt_regs *regs) | |||
187 | 187 | ||
188 | /* | 188 | /* |
189 | * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode | 189 | * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode |
190 | * when it traps. So regs will be the current sp. | 190 | * when it traps. The previous stack will be directly underneath the saved |
191 | * registers, and 'sp/ss' won't even have been saved. Thus the '®s->sp'. | ||
191 | * | 192 | * |
192 | * This is valid only for kernel mode traps. | 193 | * This is valid only for kernel mode traps. |
193 | */ | 194 | */ |
194 | static inline unsigned long kernel_trap_sp(struct pt_regs *regs) | 195 | static inline unsigned long kernel_stack_pointer(struct pt_regs *regs) |
195 | { | 196 | { |
196 | #ifdef CONFIG_X86_32 | 197 | #ifdef CONFIG_X86_32 |
197 | return (unsigned long)regs; | 198 | return (unsigned long)(®s->sp); |
198 | #else | 199 | #else |
199 | return regs->sp; | 200 | return regs->sp; |
200 | #endif | 201 | #endif |
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h index e5e6caffec87..b7e5db876399 100644 --- a/arch/x86/include/asm/spinlock.h +++ b/arch/x86/include/asm/spinlock.h | |||
@@ -172,7 +172,7 @@ static inline int __ticket_spin_is_contended(raw_spinlock_t *lock) | |||
172 | return (((tmp >> TICKET_SHIFT) - tmp) & ((1 << TICKET_SHIFT) - 1)) > 1; | 172 | return (((tmp >> TICKET_SHIFT) - tmp) & ((1 << TICKET_SHIFT) - 1)) > 1; |
173 | } | 173 | } |
174 | 174 | ||
175 | #ifndef CONFIG_PARAVIRT | 175 | #ifndef CONFIG_PARAVIRT_SPINLOCKS |
176 | 176 | ||
177 | static inline int __raw_spin_is_locked(raw_spinlock_t *lock) | 177 | static inline int __raw_spin_is_locked(raw_spinlock_t *lock) |
178 | { | 178 | { |
@@ -206,7 +206,7 @@ static __always_inline void __raw_spin_lock_flags(raw_spinlock_t *lock, | |||
206 | __raw_spin_lock(lock); | 206 | __raw_spin_lock(lock); |
207 | } | 207 | } |
208 | 208 | ||
209 | #endif | 209 | #endif /* CONFIG_PARAVIRT_SPINLOCKS */ |
210 | 210 | ||
211 | static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) | 211 | static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) |
212 | { | 212 | { |
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 145cce75cda7..88d1bfc847d3 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
@@ -89,7 +89,8 @@ obj-$(CONFIG_DEBUG_NX_TEST) += test_nx.o | |||
89 | obj-$(CONFIG_VMI) += vmi_32.o vmiclock_32.o | 89 | obj-$(CONFIG_VMI) += vmi_32.o vmiclock_32.o |
90 | obj-$(CONFIG_KVM_GUEST) += kvm.o | 90 | obj-$(CONFIG_KVM_GUEST) += kvm.o |
91 | obj-$(CONFIG_KVM_CLOCK) += kvmclock.o | 91 | obj-$(CONFIG_KVM_CLOCK) += kvmclock.o |
92 | obj-$(CONFIG_PARAVIRT) += paravirt.o paravirt_patch_$(BITS).o paravirt-spinlocks.o | 92 | obj-$(CONFIG_PARAVIRT) += paravirt.o paravirt_patch_$(BITS).o |
93 | obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= paravirt-spinlocks.o | ||
93 | obj-$(CONFIG_PARAVIRT_CLOCK) += pvclock.o | 94 | obj-$(CONFIG_PARAVIRT_CLOCK) += pvclock.o |
94 | 95 | ||
95 | obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o | 96 | obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o |
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index 9f89bb645b31..8510e90ebfec 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -55,7 +55,12 @@ struct iommu_cmd { | |||
55 | static int dma_ops_unity_map(struct dma_ops_domain *dma_dom, | 55 | static int dma_ops_unity_map(struct dma_ops_domain *dma_dom, |
56 | struct unity_map_entry *e); | 56 | struct unity_map_entry *e); |
57 | static struct dma_ops_domain *find_protection_domain(u16 devid); | 57 | static struct dma_ops_domain *find_protection_domain(u16 devid); |
58 | 58 | static u64* alloc_pte(struct protection_domain *dom, | |
59 | unsigned long address, u64 | ||
60 | **pte_page, gfp_t gfp); | ||
61 | static void dma_ops_reserve_addresses(struct dma_ops_domain *dom, | ||
62 | unsigned long start_page, | ||
63 | unsigned int pages); | ||
59 | 64 | ||
60 | #ifndef BUS_NOTIFY_UNBOUND_DRIVER | 65 | #ifndef BUS_NOTIFY_UNBOUND_DRIVER |
61 | #define BUS_NOTIFY_UNBOUND_DRIVER 0x0005 | 66 | #define BUS_NOTIFY_UNBOUND_DRIVER 0x0005 |
@@ -217,7 +222,7 @@ irqreturn_t amd_iommu_int_handler(int irq, void *data) | |||
217 | { | 222 | { |
218 | struct amd_iommu *iommu; | 223 | struct amd_iommu *iommu; |
219 | 224 | ||
220 | list_for_each_entry(iommu, &amd_iommu_list, list) | 225 | for_each_iommu(iommu) |
221 | iommu_poll_events(iommu); | 226 | iommu_poll_events(iommu); |
222 | 227 | ||
223 | return IRQ_HANDLED; | 228 | return IRQ_HANDLED; |
@@ -444,7 +449,7 @@ static void iommu_flush_domain(u16 domid) | |||
444 | __iommu_build_inv_iommu_pages(&cmd, CMD_INV_IOMMU_ALL_PAGES_ADDRESS, | 449 | __iommu_build_inv_iommu_pages(&cmd, CMD_INV_IOMMU_ALL_PAGES_ADDRESS, |
445 | domid, 1, 1); | 450 | domid, 1, 1); |
446 | 451 | ||
447 | list_for_each_entry(iommu, &amd_iommu_list, list) { | 452 | for_each_iommu(iommu) { |
448 | spin_lock_irqsave(&iommu->lock, flags); | 453 | spin_lock_irqsave(&iommu->lock, flags); |
449 | __iommu_queue_command(iommu, &cmd); | 454 | __iommu_queue_command(iommu, &cmd); |
450 | __iommu_completion_wait(iommu); | 455 | __iommu_completion_wait(iommu); |
@@ -453,6 +458,35 @@ static void iommu_flush_domain(u16 domid) | |||
453 | } | 458 | } |
454 | } | 459 | } |
455 | 460 | ||
461 | void amd_iommu_flush_all_domains(void) | ||
462 | { | ||
463 | int i; | ||
464 | |||
465 | for (i = 1; i < MAX_DOMAIN_ID; ++i) { | ||
466 | if (!test_bit(i, amd_iommu_pd_alloc_bitmap)) | ||
467 | continue; | ||
468 | iommu_flush_domain(i); | ||
469 | } | ||
470 | } | ||
471 | |||
472 | void amd_iommu_flush_all_devices(void) | ||
473 | { | ||
474 | struct amd_iommu *iommu; | ||
475 | int i; | ||
476 | |||
477 | for (i = 0; i <= amd_iommu_last_bdf; ++i) { | ||
478 | if (amd_iommu_pd_table[i] == NULL) | ||
479 | continue; | ||
480 | |||
481 | iommu = amd_iommu_rlookup_table[i]; | ||
482 | if (!iommu) | ||
483 | continue; | ||
484 | |||
485 | iommu_queue_inv_dev_entry(iommu, i); | ||
486 | iommu_completion_wait(iommu); | ||
487 | } | ||
488 | } | ||
489 | |||
456 | /**************************************************************************** | 490 | /**************************************************************************** |
457 | * | 491 | * |
458 | * The functions below are used the create the page table mappings for | 492 | * The functions below are used the create the page table mappings for |
@@ -472,7 +506,7 @@ static int iommu_map_page(struct protection_domain *dom, | |||
472 | unsigned long phys_addr, | 506 | unsigned long phys_addr, |
473 | int prot) | 507 | int prot) |
474 | { | 508 | { |
475 | u64 __pte, *pte, *page; | 509 | u64 __pte, *pte; |
476 | 510 | ||
477 | bus_addr = PAGE_ALIGN(bus_addr); | 511 | bus_addr = PAGE_ALIGN(bus_addr); |
478 | phys_addr = PAGE_ALIGN(phys_addr); | 512 | phys_addr = PAGE_ALIGN(phys_addr); |
@@ -481,27 +515,7 @@ static int iommu_map_page(struct protection_domain *dom, | |||
481 | if (bus_addr > IOMMU_MAP_SIZE_L3 || !(prot & IOMMU_PROT_MASK)) | 515 | if (bus_addr > IOMMU_MAP_SIZE_L3 || !(prot & IOMMU_PROT_MASK)) |
482 | return -EINVAL; | 516 | return -EINVAL; |
483 | 517 | ||
484 | pte = &dom->pt_root[IOMMU_PTE_L2_INDEX(bus_addr)]; | 518 | pte = alloc_pte(dom, bus_addr, NULL, GFP_KERNEL); |
485 | |||
486 | if (!IOMMU_PTE_PRESENT(*pte)) { | ||
487 | page = (u64 *)get_zeroed_page(GFP_KERNEL); | ||
488 | if (!page) | ||
489 | return -ENOMEM; | ||
490 | *pte = IOMMU_L2_PDE(virt_to_phys(page)); | ||
491 | } | ||
492 | |||
493 | pte = IOMMU_PTE_PAGE(*pte); | ||
494 | pte = &pte[IOMMU_PTE_L1_INDEX(bus_addr)]; | ||
495 | |||
496 | if (!IOMMU_PTE_PRESENT(*pte)) { | ||
497 | page = (u64 *)get_zeroed_page(GFP_KERNEL); | ||
498 | if (!page) | ||
499 | return -ENOMEM; | ||
500 | *pte = IOMMU_L1_PDE(virt_to_phys(page)); | ||
501 | } | ||
502 | |||
503 | pte = IOMMU_PTE_PAGE(*pte); | ||
504 | pte = &pte[IOMMU_PTE_L0_INDEX(bus_addr)]; | ||
505 | 519 | ||
506 | if (IOMMU_PTE_PRESENT(*pte)) | 520 | if (IOMMU_PTE_PRESENT(*pte)) |
507 | return -EBUSY; | 521 | return -EBUSY; |
@@ -599,7 +613,8 @@ static int dma_ops_unity_map(struct dma_ops_domain *dma_dom, | |||
599 | * as allocated in the aperture | 613 | * as allocated in the aperture |
600 | */ | 614 | */ |
601 | if (addr < dma_dom->aperture_size) | 615 | if (addr < dma_dom->aperture_size) |
602 | __set_bit(addr >> PAGE_SHIFT, dma_dom->bitmap); | 616 | __set_bit(addr >> PAGE_SHIFT, |
617 | dma_dom->aperture[0]->bitmap); | ||
603 | } | 618 | } |
604 | 619 | ||
605 | return 0; | 620 | return 0; |
@@ -636,42 +651,191 @@ static int init_unity_mappings_for_device(struct dma_ops_domain *dma_dom, | |||
636 | ****************************************************************************/ | 651 | ****************************************************************************/ |
637 | 652 | ||
638 | /* | 653 | /* |
639 | * The address allocator core function. | 654 | * The address allocator core functions. |
640 | * | 655 | * |
641 | * called with domain->lock held | 656 | * called with domain->lock held |
642 | */ | 657 | */ |
658 | |||
659 | /* | ||
660 | * This function checks if there is a PTE for a given dma address. If | ||
661 | * there is one, it returns the pointer to it. | ||
662 | */ | ||
663 | static u64* fetch_pte(struct protection_domain *domain, | ||
664 | unsigned long address) | ||
665 | { | ||
666 | u64 *pte; | ||
667 | |||
668 | pte = &domain->pt_root[IOMMU_PTE_L2_INDEX(address)]; | ||
669 | |||
670 | if (!IOMMU_PTE_PRESENT(*pte)) | ||
671 | return NULL; | ||
672 | |||
673 | pte = IOMMU_PTE_PAGE(*pte); | ||
674 | pte = &pte[IOMMU_PTE_L1_INDEX(address)]; | ||
675 | |||
676 | if (!IOMMU_PTE_PRESENT(*pte)) | ||
677 | return NULL; | ||
678 | |||
679 | pte = IOMMU_PTE_PAGE(*pte); | ||
680 | pte = &pte[IOMMU_PTE_L0_INDEX(address)]; | ||
681 | |||
682 | return pte; | ||
683 | } | ||
684 | |||
685 | /* | ||
686 | * This function is used to add a new aperture range to an existing | ||
687 | * aperture in case of dma_ops domain allocation or address allocation | ||
688 | * failure. | ||
689 | */ | ||
690 | static int alloc_new_range(struct amd_iommu *iommu, | ||
691 | struct dma_ops_domain *dma_dom, | ||
692 | bool populate, gfp_t gfp) | ||
693 | { | ||
694 | int index = dma_dom->aperture_size >> APERTURE_RANGE_SHIFT; | ||
695 | int i; | ||
696 | |||
697 | #ifdef CONFIG_IOMMU_STRESS | ||
698 | populate = false; | ||
699 | #endif | ||
700 | |||
701 | if (index >= APERTURE_MAX_RANGES) | ||
702 | return -ENOMEM; | ||
703 | |||
704 | dma_dom->aperture[index] = kzalloc(sizeof(struct aperture_range), gfp); | ||
705 | if (!dma_dom->aperture[index]) | ||
706 | return -ENOMEM; | ||
707 | |||
708 | dma_dom->aperture[index]->bitmap = (void *)get_zeroed_page(gfp); | ||
709 | if (!dma_dom->aperture[index]->bitmap) | ||
710 | goto out_free; | ||
711 | |||
712 | dma_dom->aperture[index]->offset = dma_dom->aperture_size; | ||
713 | |||
714 | if (populate) { | ||
715 | unsigned long address = dma_dom->aperture_size; | ||
716 | int i, num_ptes = APERTURE_RANGE_PAGES / 512; | ||
717 | u64 *pte, *pte_page; | ||
718 | |||
719 | for (i = 0; i < num_ptes; ++i) { | ||
720 | pte = alloc_pte(&dma_dom->domain, address, | ||
721 | &pte_page, gfp); | ||
722 | if (!pte) | ||
723 | goto out_free; | ||
724 | |||
725 | dma_dom->aperture[index]->pte_pages[i] = pte_page; | ||
726 | |||
727 | address += APERTURE_RANGE_SIZE / 64; | ||
728 | } | ||
729 | } | ||
730 | |||
731 | dma_dom->aperture_size += APERTURE_RANGE_SIZE; | ||
732 | |||
733 | /* Intialize the exclusion range if necessary */ | ||
734 | if (iommu->exclusion_start && | ||
735 | iommu->exclusion_start >= dma_dom->aperture[index]->offset && | ||
736 | iommu->exclusion_start < dma_dom->aperture_size) { | ||
737 | unsigned long startpage = iommu->exclusion_start >> PAGE_SHIFT; | ||
738 | int pages = iommu_num_pages(iommu->exclusion_start, | ||
739 | iommu->exclusion_length, | ||
740 | PAGE_SIZE); | ||
741 | dma_ops_reserve_addresses(dma_dom, startpage, pages); | ||
742 | } | ||
743 | |||
744 | /* | ||
745 | * Check for areas already mapped as present in the new aperture | ||
746 | * range and mark those pages as reserved in the allocator. Such | ||
747 | * mappings may already exist as a result of requested unity | ||
748 | * mappings for devices. | ||
749 | */ | ||
750 | for (i = dma_dom->aperture[index]->offset; | ||
751 | i < dma_dom->aperture_size; | ||
752 | i += PAGE_SIZE) { | ||
753 | u64 *pte = fetch_pte(&dma_dom->domain, i); | ||
754 | if (!pte || !IOMMU_PTE_PRESENT(*pte)) | ||
755 | continue; | ||
756 | |||
757 | dma_ops_reserve_addresses(dma_dom, i << PAGE_SHIFT, 1); | ||
758 | } | ||
759 | |||
760 | return 0; | ||
761 | |||
762 | out_free: | ||
763 | free_page((unsigned long)dma_dom->aperture[index]->bitmap); | ||
764 | |||
765 | kfree(dma_dom->aperture[index]); | ||
766 | dma_dom->aperture[index] = NULL; | ||
767 | |||
768 | return -ENOMEM; | ||
769 | } | ||
770 | |||
771 | static unsigned long dma_ops_area_alloc(struct device *dev, | ||
772 | struct dma_ops_domain *dom, | ||
773 | unsigned int pages, | ||
774 | unsigned long align_mask, | ||
775 | u64 dma_mask, | ||
776 | unsigned long start) | ||
777 | { | ||
778 | unsigned long next_bit = dom->next_address % APERTURE_RANGE_SIZE; | ||
779 | int max_index = dom->aperture_size >> APERTURE_RANGE_SHIFT; | ||
780 | int i = start >> APERTURE_RANGE_SHIFT; | ||
781 | unsigned long boundary_size; | ||
782 | unsigned long address = -1; | ||
783 | unsigned long limit; | ||
784 | |||
785 | next_bit >>= PAGE_SHIFT; | ||
786 | |||
787 | boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1, | ||
788 | PAGE_SIZE) >> PAGE_SHIFT; | ||
789 | |||
790 | for (;i < max_index; ++i) { | ||
791 | unsigned long offset = dom->aperture[i]->offset >> PAGE_SHIFT; | ||
792 | |||
793 | if (dom->aperture[i]->offset >= dma_mask) | ||
794 | break; | ||
795 | |||
796 | limit = iommu_device_max_index(APERTURE_RANGE_PAGES, offset, | ||
797 | dma_mask >> PAGE_SHIFT); | ||
798 | |||
799 | address = iommu_area_alloc(dom->aperture[i]->bitmap, | ||
800 | limit, next_bit, pages, 0, | ||
801 | boundary_size, align_mask); | ||
802 | if (address != -1) { | ||
803 | address = dom->aperture[i]->offset + | ||
804 | (address << PAGE_SHIFT); | ||
805 | dom->next_address = address + (pages << PAGE_SHIFT); | ||
806 | break; | ||
807 | } | ||
808 | |||
809 | next_bit = 0; | ||
810 | } | ||
811 | |||
812 | return address; | ||
813 | } | ||
814 | |||
643 | static unsigned long dma_ops_alloc_addresses(struct device *dev, | 815 | static unsigned long dma_ops_alloc_addresses(struct device *dev, |
644 | struct dma_ops_domain *dom, | 816 | struct dma_ops_domain *dom, |
645 | unsigned int pages, | 817 | unsigned int pages, |
646 | unsigned long align_mask, | 818 | unsigned long align_mask, |
647 | u64 dma_mask) | 819 | u64 dma_mask) |
648 | { | 820 | { |
649 | unsigned long limit; | ||
650 | unsigned long address; | 821 | unsigned long address; |
651 | unsigned long boundary_size; | ||
652 | 822 | ||
653 | boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1, | 823 | #ifdef CONFIG_IOMMU_STRESS |
654 | PAGE_SIZE) >> PAGE_SHIFT; | 824 | dom->next_address = 0; |
655 | limit = iommu_device_max_index(dom->aperture_size >> PAGE_SHIFT, 0, | 825 | dom->need_flush = true; |
656 | dma_mask >> PAGE_SHIFT); | 826 | #endif |
657 | 827 | ||
658 | if (dom->next_bit >= limit) { | 828 | address = dma_ops_area_alloc(dev, dom, pages, align_mask, |
659 | dom->next_bit = 0; | 829 | dma_mask, dom->next_address); |
660 | dom->need_flush = true; | ||
661 | } | ||
662 | 830 | ||
663 | address = iommu_area_alloc(dom->bitmap, limit, dom->next_bit, pages, | ||
664 | 0 , boundary_size, align_mask); | ||
665 | if (address == -1) { | 831 | if (address == -1) { |
666 | address = iommu_area_alloc(dom->bitmap, limit, 0, pages, | 832 | dom->next_address = 0; |
667 | 0, boundary_size, align_mask); | 833 | address = dma_ops_area_alloc(dev, dom, pages, align_mask, |
834 | dma_mask, 0); | ||
668 | dom->need_flush = true; | 835 | dom->need_flush = true; |
669 | } | 836 | } |
670 | 837 | ||
671 | if (likely(address != -1)) { | 838 | if (unlikely(address == -1)) |
672 | dom->next_bit = address + pages; | ||
673 | address <<= PAGE_SHIFT; | ||
674 | } else | ||
675 | address = bad_dma_address; | 839 | address = bad_dma_address; |
676 | 840 | ||
677 | WARN_ON((address + (PAGE_SIZE*pages)) > dom->aperture_size); | 841 | WARN_ON((address + (PAGE_SIZE*pages)) > dom->aperture_size); |
@@ -688,11 +852,23 @@ static void dma_ops_free_addresses(struct dma_ops_domain *dom, | |||
688 | unsigned long address, | 852 | unsigned long address, |
689 | unsigned int pages) | 853 | unsigned int pages) |
690 | { | 854 | { |
691 | address >>= PAGE_SHIFT; | 855 | unsigned i = address >> APERTURE_RANGE_SHIFT; |
692 | iommu_area_free(dom->bitmap, address, pages); | 856 | struct aperture_range *range = dom->aperture[i]; |
857 | |||
858 | BUG_ON(i >= APERTURE_MAX_RANGES || range == NULL); | ||
859 | |||
860 | #ifdef CONFIG_IOMMU_STRESS | ||
861 | if (i < 4) | ||
862 | return; | ||
863 | #endif | ||
693 | 864 | ||
694 | if (address >= dom->next_bit) | 865 | if (address >= dom->next_address) |
695 | dom->need_flush = true; | 866 | dom->need_flush = true; |
867 | |||
868 | address = (address % APERTURE_RANGE_SIZE) >> PAGE_SHIFT; | ||
869 | |||
870 | iommu_area_free(range->bitmap, address, pages); | ||
871 | |||
696 | } | 872 | } |
697 | 873 | ||
698 | /**************************************************************************** | 874 | /**************************************************************************** |
@@ -740,12 +916,16 @@ static void dma_ops_reserve_addresses(struct dma_ops_domain *dom, | |||
740 | unsigned long start_page, | 916 | unsigned long start_page, |
741 | unsigned int pages) | 917 | unsigned int pages) |
742 | { | 918 | { |
743 | unsigned int last_page = dom->aperture_size >> PAGE_SHIFT; | 919 | unsigned int i, last_page = dom->aperture_size >> PAGE_SHIFT; |
744 | 920 | ||
745 | if (start_page + pages > last_page) | 921 | if (start_page + pages > last_page) |
746 | pages = last_page - start_page; | 922 | pages = last_page - start_page; |
747 | 923 | ||
748 | iommu_area_reserve(dom->bitmap, start_page, pages); | 924 | for (i = start_page; i < start_page + pages; ++i) { |
925 | int index = i / APERTURE_RANGE_PAGES; | ||
926 | int page = i % APERTURE_RANGE_PAGES; | ||
927 | __set_bit(page, dom->aperture[index]->bitmap); | ||
928 | } | ||
749 | } | 929 | } |
750 | 930 | ||
751 | static void free_pagetable(struct protection_domain *domain) | 931 | static void free_pagetable(struct protection_domain *domain) |
@@ -784,14 +964,19 @@ static void free_pagetable(struct protection_domain *domain) | |||
784 | */ | 964 | */ |
785 | static void dma_ops_domain_free(struct dma_ops_domain *dom) | 965 | static void dma_ops_domain_free(struct dma_ops_domain *dom) |
786 | { | 966 | { |
967 | int i; | ||
968 | |||
787 | if (!dom) | 969 | if (!dom) |
788 | return; | 970 | return; |
789 | 971 | ||
790 | free_pagetable(&dom->domain); | 972 | free_pagetable(&dom->domain); |
791 | 973 | ||
792 | kfree(dom->pte_pages); | 974 | for (i = 0; i < APERTURE_MAX_RANGES; ++i) { |
793 | 975 | if (!dom->aperture[i]) | |
794 | kfree(dom->bitmap); | 976 | continue; |
977 | free_page((unsigned long)dom->aperture[i]->bitmap); | ||
978 | kfree(dom->aperture[i]); | ||
979 | } | ||
795 | 980 | ||
796 | kfree(dom); | 981 | kfree(dom); |
797 | } | 982 | } |
@@ -801,19 +986,9 @@ static void dma_ops_domain_free(struct dma_ops_domain *dom) | |||
801 | * It also intializes the page table and the address allocator data | 986 | * It also intializes the page table and the address allocator data |
802 | * structures required for the dma_ops interface | 987 | * structures required for the dma_ops interface |
803 | */ | 988 | */ |
804 | static struct dma_ops_domain *dma_ops_domain_alloc(struct amd_iommu *iommu, | 989 | static struct dma_ops_domain *dma_ops_domain_alloc(struct amd_iommu *iommu) |
805 | unsigned order) | ||
806 | { | 990 | { |
807 | struct dma_ops_domain *dma_dom; | 991 | struct dma_ops_domain *dma_dom; |
808 | unsigned i, num_pte_pages; | ||
809 | u64 *l2_pde; | ||
810 | u64 address; | ||
811 | |||
812 | /* | ||
813 | * Currently the DMA aperture must be between 32 MB and 1GB in size | ||
814 | */ | ||
815 | if ((order < 25) || (order > 30)) | ||
816 | return NULL; | ||
817 | 992 | ||
818 | dma_dom = kzalloc(sizeof(struct dma_ops_domain), GFP_KERNEL); | 993 | dma_dom = kzalloc(sizeof(struct dma_ops_domain), GFP_KERNEL); |
819 | if (!dma_dom) | 994 | if (!dma_dom) |
@@ -830,55 +1005,20 @@ static struct dma_ops_domain *dma_ops_domain_alloc(struct amd_iommu *iommu, | |||
830 | dma_dom->domain.priv = dma_dom; | 1005 | dma_dom->domain.priv = dma_dom; |
831 | if (!dma_dom->domain.pt_root) | 1006 | if (!dma_dom->domain.pt_root) |
832 | goto free_dma_dom; | 1007 | goto free_dma_dom; |
833 | dma_dom->aperture_size = (1ULL << order); | ||
834 | dma_dom->bitmap = kzalloc(dma_dom->aperture_size / (PAGE_SIZE * 8), | ||
835 | GFP_KERNEL); | ||
836 | if (!dma_dom->bitmap) | ||
837 | goto free_dma_dom; | ||
838 | /* | ||
839 | * mark the first page as allocated so we never return 0 as | ||
840 | * a valid dma-address. So we can use 0 as error value | ||
841 | */ | ||
842 | dma_dom->bitmap[0] = 1; | ||
843 | dma_dom->next_bit = 0; | ||
844 | 1008 | ||
845 | dma_dom->need_flush = false; | 1009 | dma_dom->need_flush = false; |
846 | dma_dom->target_dev = 0xffff; | 1010 | dma_dom->target_dev = 0xffff; |
847 | 1011 | ||
848 | /* Intialize the exclusion range if necessary */ | 1012 | if (alloc_new_range(iommu, dma_dom, true, GFP_KERNEL)) |
849 | if (iommu->exclusion_start && | 1013 | goto free_dma_dom; |
850 | iommu->exclusion_start < dma_dom->aperture_size) { | ||
851 | unsigned long startpage = iommu->exclusion_start >> PAGE_SHIFT; | ||
852 | int pages = iommu_num_pages(iommu->exclusion_start, | ||
853 | iommu->exclusion_length, | ||
854 | PAGE_SIZE); | ||
855 | dma_ops_reserve_addresses(dma_dom, startpage, pages); | ||
856 | } | ||
857 | 1014 | ||
858 | /* | 1015 | /* |
859 | * At the last step, build the page tables so we don't need to | 1016 | * mark the first page as allocated so we never return 0 as |
860 | * allocate page table pages in the dma_ops mapping/unmapping | 1017 | * a valid dma-address. So we can use 0 as error value |
861 | * path. | ||
862 | */ | 1018 | */ |
863 | num_pte_pages = dma_dom->aperture_size / (PAGE_SIZE * 512); | 1019 | dma_dom->aperture[0]->bitmap[0] = 1; |
864 | dma_dom->pte_pages = kzalloc(num_pte_pages * sizeof(void *), | 1020 | dma_dom->next_address = 0; |
865 | GFP_KERNEL); | ||
866 | if (!dma_dom->pte_pages) | ||
867 | goto free_dma_dom; | ||
868 | |||
869 | l2_pde = (u64 *)get_zeroed_page(GFP_KERNEL); | ||
870 | if (l2_pde == NULL) | ||
871 | goto free_dma_dom; | ||
872 | 1021 | ||
873 | dma_dom->domain.pt_root[0] = IOMMU_L2_PDE(virt_to_phys(l2_pde)); | ||
874 | |||
875 | for (i = 0; i < num_pte_pages; ++i) { | ||
876 | dma_dom->pte_pages[i] = (u64 *)get_zeroed_page(GFP_KERNEL); | ||
877 | if (!dma_dom->pte_pages[i]) | ||
878 | goto free_dma_dom; | ||
879 | address = virt_to_phys(dma_dom->pte_pages[i]); | ||
880 | l2_pde[i] = IOMMU_L1_PDE(address); | ||
881 | } | ||
882 | 1022 | ||
883 | return dma_dom; | 1023 | return dma_dom; |
884 | 1024 | ||
@@ -987,7 +1127,6 @@ static int device_change_notifier(struct notifier_block *nb, | |||
987 | struct protection_domain *domain; | 1127 | struct protection_domain *domain; |
988 | struct dma_ops_domain *dma_domain; | 1128 | struct dma_ops_domain *dma_domain; |
989 | struct amd_iommu *iommu; | 1129 | struct amd_iommu *iommu; |
990 | int order = amd_iommu_aperture_order; | ||
991 | unsigned long flags; | 1130 | unsigned long flags; |
992 | 1131 | ||
993 | if (devid > amd_iommu_last_bdf) | 1132 | if (devid > amd_iommu_last_bdf) |
@@ -1013,8 +1152,9 @@ static int device_change_notifier(struct notifier_block *nb, | |||
1013 | if (!dma_domain) | 1152 | if (!dma_domain) |
1014 | dma_domain = iommu->default_dom; | 1153 | dma_domain = iommu->default_dom; |
1015 | attach_device(iommu, &dma_domain->domain, devid); | 1154 | attach_device(iommu, &dma_domain->domain, devid); |
1016 | printk(KERN_INFO "AMD IOMMU: Using protection domain %d for " | 1155 | DUMP_printk(KERN_INFO "AMD IOMMU: Using protection domain " |
1017 | "device %s\n", dma_domain->domain.id, dev_name(dev)); | 1156 | "%d for device %s\n", |
1157 | dma_domain->domain.id, dev_name(dev)); | ||
1018 | break; | 1158 | break; |
1019 | case BUS_NOTIFY_UNBOUND_DRIVER: | 1159 | case BUS_NOTIFY_UNBOUND_DRIVER: |
1020 | if (!domain) | 1160 | if (!domain) |
@@ -1026,7 +1166,7 @@ static int device_change_notifier(struct notifier_block *nb, | |||
1026 | dma_domain = find_protection_domain(devid); | 1166 | dma_domain = find_protection_domain(devid); |
1027 | if (dma_domain) | 1167 | if (dma_domain) |
1028 | goto out; | 1168 | goto out; |
1029 | dma_domain = dma_ops_domain_alloc(iommu, order); | 1169 | dma_domain = dma_ops_domain_alloc(iommu); |
1030 | if (!dma_domain) | 1170 | if (!dma_domain) |
1031 | goto out; | 1171 | goto out; |
1032 | dma_domain->target_dev = devid; | 1172 | dma_domain->target_dev = devid; |
@@ -1137,8 +1277,9 @@ static int get_device_resources(struct device *dev, | |||
1137 | dma_dom = (*iommu)->default_dom; | 1277 | dma_dom = (*iommu)->default_dom; |
1138 | *domain = &dma_dom->domain; | 1278 | *domain = &dma_dom->domain; |
1139 | attach_device(*iommu, *domain, *bdf); | 1279 | attach_device(*iommu, *domain, *bdf); |
1140 | printk(KERN_INFO "AMD IOMMU: Using protection domain %d for " | 1280 | DUMP_printk(KERN_INFO "AMD IOMMU: Using protection domain " |
1141 | "device %s\n", (*domain)->id, dev_name(dev)); | 1281 | "%d for device %s\n", |
1282 | (*domain)->id, dev_name(dev)); | ||
1142 | } | 1283 | } |
1143 | 1284 | ||
1144 | if (domain_for_device(_bdf) == NULL) | 1285 | if (domain_for_device(_bdf) == NULL) |
@@ -1148,6 +1289,66 @@ static int get_device_resources(struct device *dev, | |||
1148 | } | 1289 | } |
1149 | 1290 | ||
1150 | /* | 1291 | /* |
1292 | * If the pte_page is not yet allocated this function is called | ||
1293 | */ | ||
1294 | static u64* alloc_pte(struct protection_domain *dom, | ||
1295 | unsigned long address, u64 **pte_page, gfp_t gfp) | ||
1296 | { | ||
1297 | u64 *pte, *page; | ||
1298 | |||
1299 | pte = &dom->pt_root[IOMMU_PTE_L2_INDEX(address)]; | ||
1300 | |||
1301 | if (!IOMMU_PTE_PRESENT(*pte)) { | ||
1302 | page = (u64 *)get_zeroed_page(gfp); | ||
1303 | if (!page) | ||
1304 | return NULL; | ||
1305 | *pte = IOMMU_L2_PDE(virt_to_phys(page)); | ||
1306 | } | ||
1307 | |||
1308 | pte = IOMMU_PTE_PAGE(*pte); | ||
1309 | pte = &pte[IOMMU_PTE_L1_INDEX(address)]; | ||
1310 | |||
1311 | if (!IOMMU_PTE_PRESENT(*pte)) { | ||
1312 | page = (u64 *)get_zeroed_page(gfp); | ||
1313 | if (!page) | ||
1314 | return NULL; | ||
1315 | *pte = IOMMU_L1_PDE(virt_to_phys(page)); | ||
1316 | } | ||
1317 | |||
1318 | pte = IOMMU_PTE_PAGE(*pte); | ||
1319 | |||
1320 | if (pte_page) | ||
1321 | *pte_page = pte; | ||
1322 | |||
1323 | pte = &pte[IOMMU_PTE_L0_INDEX(address)]; | ||
1324 | |||
1325 | return pte; | ||
1326 | } | ||
1327 | |||
1328 | /* | ||
1329 | * This function fetches the PTE for a given address in the aperture | ||
1330 | */ | ||
1331 | static u64* dma_ops_get_pte(struct dma_ops_domain *dom, | ||
1332 | unsigned long address) | ||
1333 | { | ||
1334 | struct aperture_range *aperture; | ||
1335 | u64 *pte, *pte_page; | ||
1336 | |||
1337 | aperture = dom->aperture[APERTURE_RANGE_INDEX(address)]; | ||
1338 | if (!aperture) | ||
1339 | return NULL; | ||
1340 | |||
1341 | pte = aperture->pte_pages[APERTURE_PAGE_INDEX(address)]; | ||
1342 | if (!pte) { | ||
1343 | pte = alloc_pte(&dom->domain, address, &pte_page, GFP_ATOMIC); | ||
1344 | aperture->pte_pages[APERTURE_PAGE_INDEX(address)] = pte_page; | ||
1345 | } else | ||
1346 | pte += IOMMU_PTE_L0_INDEX(address); | ||
1347 | |||
1348 | return pte; | ||
1349 | } | ||
1350 | |||
1351 | /* | ||
1151 | * This is the generic map function. It maps one 4kb page at paddr to | 1352 | * This is the generic map function. It maps one 4kb page at paddr to |
1152 | * the given address in the DMA address space for the domain. | 1353 | * the given address in the DMA address space for the domain. |
1153 | */ | 1354 | */ |
@@ -1163,8 +1364,9 @@ static dma_addr_t dma_ops_domain_map(struct amd_iommu *iommu, | |||
1163 | 1364 | ||
1164 | paddr &= PAGE_MASK; | 1365 | paddr &= PAGE_MASK; |
1165 | 1366 | ||
1166 | pte = dom->pte_pages[IOMMU_PTE_L1_INDEX(address)]; | 1367 | pte = dma_ops_get_pte(dom, address); |
1167 | pte += IOMMU_PTE_L0_INDEX(address); | 1368 | if (!pte) |
1369 | return bad_dma_address; | ||
1168 | 1370 | ||
1169 | __pte = paddr | IOMMU_PTE_P | IOMMU_PTE_FC; | 1371 | __pte = paddr | IOMMU_PTE_P | IOMMU_PTE_FC; |
1170 | 1372 | ||
@@ -1189,14 +1391,20 @@ static void dma_ops_domain_unmap(struct amd_iommu *iommu, | |||
1189 | struct dma_ops_domain *dom, | 1391 | struct dma_ops_domain *dom, |
1190 | unsigned long address) | 1392 | unsigned long address) |
1191 | { | 1393 | { |
1394 | struct aperture_range *aperture; | ||
1192 | u64 *pte; | 1395 | u64 *pte; |
1193 | 1396 | ||
1194 | if (address >= dom->aperture_size) | 1397 | if (address >= dom->aperture_size) |
1195 | return; | 1398 | return; |
1196 | 1399 | ||
1197 | WARN_ON(address & ~PAGE_MASK || address >= dom->aperture_size); | 1400 | aperture = dom->aperture[APERTURE_RANGE_INDEX(address)]; |
1401 | if (!aperture) | ||
1402 | return; | ||
1403 | |||
1404 | pte = aperture->pte_pages[APERTURE_PAGE_INDEX(address)]; | ||
1405 | if (!pte) | ||
1406 | return; | ||
1198 | 1407 | ||
1199 | pte = dom->pte_pages[IOMMU_PTE_L1_INDEX(address)]; | ||
1200 | pte += IOMMU_PTE_L0_INDEX(address); | 1408 | pte += IOMMU_PTE_L0_INDEX(address); |
1201 | 1409 | ||
1202 | WARN_ON(!*pte); | 1410 | WARN_ON(!*pte); |
@@ -1220,7 +1428,7 @@ static dma_addr_t __map_single(struct device *dev, | |||
1220 | u64 dma_mask) | 1428 | u64 dma_mask) |
1221 | { | 1429 | { |
1222 | dma_addr_t offset = paddr & ~PAGE_MASK; | 1430 | dma_addr_t offset = paddr & ~PAGE_MASK; |
1223 | dma_addr_t address, start; | 1431 | dma_addr_t address, start, ret; |
1224 | unsigned int pages; | 1432 | unsigned int pages; |
1225 | unsigned long align_mask = 0; | 1433 | unsigned long align_mask = 0; |
1226 | int i; | 1434 | int i; |
@@ -1236,14 +1444,33 @@ static dma_addr_t __map_single(struct device *dev, | |||
1236 | if (align) | 1444 | if (align) |
1237 | align_mask = (1UL << get_order(size)) - 1; | 1445 | align_mask = (1UL << get_order(size)) - 1; |
1238 | 1446 | ||
1447 | retry: | ||
1239 | address = dma_ops_alloc_addresses(dev, dma_dom, pages, align_mask, | 1448 | address = dma_ops_alloc_addresses(dev, dma_dom, pages, align_mask, |
1240 | dma_mask); | 1449 | dma_mask); |
1241 | if (unlikely(address == bad_dma_address)) | 1450 | if (unlikely(address == bad_dma_address)) { |
1242 | goto out; | 1451 | /* |
1452 | * setting next_address here will let the address | ||
1453 | * allocator only scan the new allocated range in the | ||
1454 | * first run. This is a small optimization. | ||
1455 | */ | ||
1456 | dma_dom->next_address = dma_dom->aperture_size; | ||
1457 | |||
1458 | if (alloc_new_range(iommu, dma_dom, false, GFP_ATOMIC)) | ||
1459 | goto out; | ||
1460 | |||
1461 | /* | ||
1462 | * aperture was sucessfully enlarged by 128 MB, try | ||
1463 | * allocation again | ||
1464 | */ | ||
1465 | goto retry; | ||
1466 | } | ||
1243 | 1467 | ||
1244 | start = address; | 1468 | start = address; |
1245 | for (i = 0; i < pages; ++i) { | 1469 | for (i = 0; i < pages; ++i) { |
1246 | dma_ops_domain_map(iommu, dma_dom, start, paddr, dir); | 1470 | ret = dma_ops_domain_map(iommu, dma_dom, start, paddr, dir); |
1471 | if (ret == bad_dma_address) | ||
1472 | goto out_unmap; | ||
1473 | |||
1247 | paddr += PAGE_SIZE; | 1474 | paddr += PAGE_SIZE; |
1248 | start += PAGE_SIZE; | 1475 | start += PAGE_SIZE; |
1249 | } | 1476 | } |
@@ -1259,6 +1486,17 @@ static dma_addr_t __map_single(struct device *dev, | |||
1259 | 1486 | ||
1260 | out: | 1487 | out: |
1261 | return address; | 1488 | return address; |
1489 | |||
1490 | out_unmap: | ||
1491 | |||
1492 | for (--i; i >= 0; --i) { | ||
1493 | start -= PAGE_SIZE; | ||
1494 | dma_ops_domain_unmap(iommu, dma_dom, start); | ||
1495 | } | ||
1496 | |||
1497 | dma_ops_free_addresses(dma_dom, address, pages); | ||
1498 | |||
1499 | return bad_dma_address; | ||
1262 | } | 1500 | } |
1263 | 1501 | ||
1264 | /* | 1502 | /* |
@@ -1631,7 +1869,6 @@ static void prealloc_protection_domains(void) | |||
1631 | struct pci_dev *dev = NULL; | 1869 | struct pci_dev *dev = NULL; |
1632 | struct dma_ops_domain *dma_dom; | 1870 | struct dma_ops_domain *dma_dom; |
1633 | struct amd_iommu *iommu; | 1871 | struct amd_iommu *iommu; |
1634 | int order = amd_iommu_aperture_order; | ||
1635 | u16 devid; | 1872 | u16 devid; |
1636 | 1873 | ||
1637 | while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { | 1874 | while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { |
@@ -1644,7 +1881,7 @@ static void prealloc_protection_domains(void) | |||
1644 | iommu = amd_iommu_rlookup_table[devid]; | 1881 | iommu = amd_iommu_rlookup_table[devid]; |
1645 | if (!iommu) | 1882 | if (!iommu) |
1646 | continue; | 1883 | continue; |
1647 | dma_dom = dma_ops_domain_alloc(iommu, order); | 1884 | dma_dom = dma_ops_domain_alloc(iommu); |
1648 | if (!dma_dom) | 1885 | if (!dma_dom) |
1649 | continue; | 1886 | continue; |
1650 | init_unity_mappings_for_device(dma_dom, devid); | 1887 | init_unity_mappings_for_device(dma_dom, devid); |
@@ -1670,7 +1907,6 @@ static struct dma_map_ops amd_iommu_dma_ops = { | |||
1670 | int __init amd_iommu_init_dma_ops(void) | 1907 | int __init amd_iommu_init_dma_ops(void) |
1671 | { | 1908 | { |
1672 | struct amd_iommu *iommu; | 1909 | struct amd_iommu *iommu; |
1673 | int order = amd_iommu_aperture_order; | ||
1674 | int ret; | 1910 | int ret; |
1675 | 1911 | ||
1676 | /* | 1912 | /* |
@@ -1678,8 +1914,8 @@ int __init amd_iommu_init_dma_ops(void) | |||
1678 | * found in the system. Devices not assigned to any other | 1914 | * found in the system. Devices not assigned to any other |
1679 | * protection domain will be assigned to the default one. | 1915 | * protection domain will be assigned to the default one. |
1680 | */ | 1916 | */ |
1681 | list_for_each_entry(iommu, &amd_iommu_list, list) { | 1917 | for_each_iommu(iommu) { |
1682 | iommu->default_dom = dma_ops_domain_alloc(iommu, order); | 1918 | iommu->default_dom = dma_ops_domain_alloc(iommu); |
1683 | if (iommu->default_dom == NULL) | 1919 | if (iommu->default_dom == NULL) |
1684 | return -ENOMEM; | 1920 | return -ENOMEM; |
1685 | iommu->default_dom->domain.flags |= PD_DEFAULT_MASK; | 1921 | iommu->default_dom->domain.flags |= PD_DEFAULT_MASK; |
@@ -1716,7 +1952,7 @@ int __init amd_iommu_init_dma_ops(void) | |||
1716 | 1952 | ||
1717 | free_domains: | 1953 | free_domains: |
1718 | 1954 | ||
1719 | list_for_each_entry(iommu, &amd_iommu_list, list) { | 1955 | for_each_iommu(iommu) { |
1720 | if (iommu->default_dom) | 1956 | if (iommu->default_dom) |
1721 | dma_ops_domain_free(iommu->default_dom); | 1957 | dma_ops_domain_free(iommu->default_dom); |
1722 | } | 1958 | } |
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index a3a2b98bb39e..238989ec077d 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -115,15 +115,21 @@ struct ivmd_header { | |||
115 | u64 range_length; | 115 | u64 range_length; |
116 | } __attribute__((packed)); | 116 | } __attribute__((packed)); |
117 | 117 | ||
118 | bool amd_iommu_dump; | ||
119 | |||
118 | static int __initdata amd_iommu_detected; | 120 | static int __initdata amd_iommu_detected; |
119 | 121 | ||
120 | u16 amd_iommu_last_bdf; /* largest PCI device id we have | 122 | u16 amd_iommu_last_bdf; /* largest PCI device id we have |
121 | to handle */ | 123 | to handle */ |
122 | LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings | 124 | LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings |
123 | we find in ACPI */ | 125 | we find in ACPI */ |
124 | unsigned amd_iommu_aperture_order = 26; /* size of aperture in power of 2 */ | 126 | #ifdef CONFIG_IOMMU_STRESS |
127 | bool amd_iommu_isolate = false; | ||
128 | #else | ||
125 | bool amd_iommu_isolate = true; /* if true, device isolation is | 129 | bool amd_iommu_isolate = true; /* if true, device isolation is |
126 | enabled */ | 130 | enabled */ |
131 | #endif | ||
132 | |||
127 | bool amd_iommu_unmap_flush; /* if true, flush on every unmap */ | 133 | bool amd_iommu_unmap_flush; /* if true, flush on every unmap */ |
128 | 134 | ||
129 | LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the | 135 | LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the |
@@ -193,7 +199,7 @@ static inline unsigned long tbl_size(int entry_size) | |||
193 | * This function set the exclusion range in the IOMMU. DMA accesses to the | 199 | * This function set the exclusion range in the IOMMU. DMA accesses to the |
194 | * exclusion range are passed through untranslated | 200 | * exclusion range are passed through untranslated |
195 | */ | 201 | */ |
196 | static void __init iommu_set_exclusion_range(struct amd_iommu *iommu) | 202 | static void iommu_set_exclusion_range(struct amd_iommu *iommu) |
197 | { | 203 | { |
198 | u64 start = iommu->exclusion_start & PAGE_MASK; | 204 | u64 start = iommu->exclusion_start & PAGE_MASK; |
199 | u64 limit = (start + iommu->exclusion_length) & PAGE_MASK; | 205 | u64 limit = (start + iommu->exclusion_length) & PAGE_MASK; |
@@ -225,7 +231,7 @@ static void __init iommu_set_device_table(struct amd_iommu *iommu) | |||
225 | } | 231 | } |
226 | 232 | ||
227 | /* Generic functions to enable/disable certain features of the IOMMU. */ | 233 | /* Generic functions to enable/disable certain features of the IOMMU. */ |
228 | static void __init iommu_feature_enable(struct amd_iommu *iommu, u8 bit) | 234 | static void iommu_feature_enable(struct amd_iommu *iommu, u8 bit) |
229 | { | 235 | { |
230 | u32 ctrl; | 236 | u32 ctrl; |
231 | 237 | ||
@@ -244,7 +250,7 @@ static void __init iommu_feature_disable(struct amd_iommu *iommu, u8 bit) | |||
244 | } | 250 | } |
245 | 251 | ||
246 | /* Function to enable the hardware */ | 252 | /* Function to enable the hardware */ |
247 | static void __init iommu_enable(struct amd_iommu *iommu) | 253 | static void iommu_enable(struct amd_iommu *iommu) |
248 | { | 254 | { |
249 | printk(KERN_INFO "AMD IOMMU: Enabling IOMMU at %s cap 0x%hx\n", | 255 | printk(KERN_INFO "AMD IOMMU: Enabling IOMMU at %s cap 0x%hx\n", |
250 | dev_name(&iommu->dev->dev), iommu->cap_ptr); | 256 | dev_name(&iommu->dev->dev), iommu->cap_ptr); |
@@ -252,11 +258,9 @@ static void __init iommu_enable(struct amd_iommu *iommu) | |||
252 | iommu_feature_enable(iommu, CONTROL_IOMMU_EN); | 258 | iommu_feature_enable(iommu, CONTROL_IOMMU_EN); |
253 | } | 259 | } |
254 | 260 | ||
255 | /* Function to enable IOMMU event logging and event interrupts */ | 261 | static void iommu_disable(struct amd_iommu *iommu) |
256 | static void __init iommu_enable_event_logging(struct amd_iommu *iommu) | ||
257 | { | 262 | { |
258 | iommu_feature_enable(iommu, CONTROL_EVT_LOG_EN); | 263 | iommu_feature_disable(iommu, CONTROL_IOMMU_EN); |
259 | iommu_feature_enable(iommu, CONTROL_EVT_INT_EN); | ||
260 | } | 264 | } |
261 | 265 | ||
262 | /* | 266 | /* |
@@ -413,25 +417,36 @@ static u8 * __init alloc_command_buffer(struct amd_iommu *iommu) | |||
413 | { | 417 | { |
414 | u8 *cmd_buf = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, | 418 | u8 *cmd_buf = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, |
415 | get_order(CMD_BUFFER_SIZE)); | 419 | get_order(CMD_BUFFER_SIZE)); |
416 | u64 entry; | ||
417 | 420 | ||
418 | if (cmd_buf == NULL) | 421 | if (cmd_buf == NULL) |
419 | return NULL; | 422 | return NULL; |
420 | 423 | ||
421 | iommu->cmd_buf_size = CMD_BUFFER_SIZE; | 424 | iommu->cmd_buf_size = CMD_BUFFER_SIZE; |
422 | 425 | ||
423 | entry = (u64)virt_to_phys(cmd_buf); | 426 | return cmd_buf; |
427 | } | ||
428 | |||
429 | /* | ||
430 | * This function writes the command buffer address to the hardware and | ||
431 | * enables it. | ||
432 | */ | ||
433 | static void iommu_enable_command_buffer(struct amd_iommu *iommu) | ||
434 | { | ||
435 | u64 entry; | ||
436 | |||
437 | BUG_ON(iommu->cmd_buf == NULL); | ||
438 | |||
439 | entry = (u64)virt_to_phys(iommu->cmd_buf); | ||
424 | entry |= MMIO_CMD_SIZE_512; | 440 | entry |= MMIO_CMD_SIZE_512; |
441 | |||
425 | memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET, | 442 | memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET, |
426 | &entry, sizeof(entry)); | 443 | &entry, sizeof(entry)); |
427 | 444 | ||
428 | /* set head and tail to zero manually */ | 445 | /* set head and tail to zero manually */ |
429 | writel(0x00, iommu->mmio_base + MMIO_CMD_HEAD_OFFSET); | 446 | writel(0x00, iommu->mmio_base + MMIO_CMD_HEAD_OFFSET); |
430 | writel(0x00, iommu->mmio_base + MMIO_CMD_TAIL_OFFSET); | 447 | writel(0x00, iommu->mmio_base + MMIO_CMD_TAIL_OFFSET); |
431 | 448 | ||
432 | iommu_feature_enable(iommu, CONTROL_CMDBUF_EN); | 449 | iommu_feature_enable(iommu, CONTROL_CMDBUF_EN); |
433 | |||
434 | return cmd_buf; | ||
435 | } | 450 | } |
436 | 451 | ||
437 | static void __init free_command_buffer(struct amd_iommu *iommu) | 452 | static void __init free_command_buffer(struct amd_iommu *iommu) |
@@ -443,20 +458,27 @@ static void __init free_command_buffer(struct amd_iommu *iommu) | |||
443 | /* allocates the memory where the IOMMU will log its events to */ | 458 | /* allocates the memory where the IOMMU will log its events to */ |
444 | static u8 * __init alloc_event_buffer(struct amd_iommu *iommu) | 459 | static u8 * __init alloc_event_buffer(struct amd_iommu *iommu) |
445 | { | 460 | { |
446 | u64 entry; | ||
447 | iommu->evt_buf = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, | 461 | iommu->evt_buf = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, |
448 | get_order(EVT_BUFFER_SIZE)); | 462 | get_order(EVT_BUFFER_SIZE)); |
449 | 463 | ||
450 | if (iommu->evt_buf == NULL) | 464 | if (iommu->evt_buf == NULL) |
451 | return NULL; | 465 | return NULL; |
452 | 466 | ||
467 | return iommu->evt_buf; | ||
468 | } | ||
469 | |||
470 | static void iommu_enable_event_buffer(struct amd_iommu *iommu) | ||
471 | { | ||
472 | u64 entry; | ||
473 | |||
474 | BUG_ON(iommu->evt_buf == NULL); | ||
475 | |||
453 | entry = (u64)virt_to_phys(iommu->evt_buf) | EVT_LEN_MASK; | 476 | entry = (u64)virt_to_phys(iommu->evt_buf) | EVT_LEN_MASK; |
477 | |||
454 | memcpy_toio(iommu->mmio_base + MMIO_EVT_BUF_OFFSET, | 478 | memcpy_toio(iommu->mmio_base + MMIO_EVT_BUF_OFFSET, |
455 | &entry, sizeof(entry)); | 479 | &entry, sizeof(entry)); |
456 | 480 | ||
457 | iommu->evt_buf_size = EVT_BUFFER_SIZE; | 481 | iommu_feature_enable(iommu, CONTROL_EVT_LOG_EN); |
458 | |||
459 | return iommu->evt_buf; | ||
460 | } | 482 | } |
461 | 483 | ||
462 | static void __init free_event_buffer(struct amd_iommu *iommu) | 484 | static void __init free_event_buffer(struct amd_iommu *iommu) |
@@ -596,32 +618,83 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu, | |||
596 | p += sizeof(struct ivhd_header); | 618 | p += sizeof(struct ivhd_header); |
597 | end += h->length; | 619 | end += h->length; |
598 | 620 | ||
621 | |||
599 | while (p < end) { | 622 | while (p < end) { |
600 | e = (struct ivhd_entry *)p; | 623 | e = (struct ivhd_entry *)p; |
601 | switch (e->type) { | 624 | switch (e->type) { |
602 | case IVHD_DEV_ALL: | 625 | case IVHD_DEV_ALL: |
626 | |||
627 | DUMP_printk(" DEV_ALL\t\t\t first devid: %02x:%02x.%x" | ||
628 | " last device %02x:%02x.%x flags: %02x\n", | ||
629 | PCI_BUS(iommu->first_device), | ||
630 | PCI_SLOT(iommu->first_device), | ||
631 | PCI_FUNC(iommu->first_device), | ||
632 | PCI_BUS(iommu->last_device), | ||
633 | PCI_SLOT(iommu->last_device), | ||
634 | PCI_FUNC(iommu->last_device), | ||
635 | e->flags); | ||
636 | |||
603 | for (dev_i = iommu->first_device; | 637 | for (dev_i = iommu->first_device; |
604 | dev_i <= iommu->last_device; ++dev_i) | 638 | dev_i <= iommu->last_device; ++dev_i) |
605 | set_dev_entry_from_acpi(iommu, dev_i, | 639 | set_dev_entry_from_acpi(iommu, dev_i, |
606 | e->flags, 0); | 640 | e->flags, 0); |
607 | break; | 641 | break; |
608 | case IVHD_DEV_SELECT: | 642 | case IVHD_DEV_SELECT: |
643 | |||
644 | DUMP_printk(" DEV_SELECT\t\t\t devid: %02x:%02x.%x " | ||
645 | "flags: %02x\n", | ||
646 | PCI_BUS(e->devid), | ||
647 | PCI_SLOT(e->devid), | ||
648 | PCI_FUNC(e->devid), | ||
649 | e->flags); | ||
650 | |||
609 | devid = e->devid; | 651 | devid = e->devid; |
610 | set_dev_entry_from_acpi(iommu, devid, e->flags, 0); | 652 | set_dev_entry_from_acpi(iommu, devid, e->flags, 0); |
611 | break; | 653 | break; |
612 | case IVHD_DEV_SELECT_RANGE_START: | 654 | case IVHD_DEV_SELECT_RANGE_START: |
655 | |||
656 | DUMP_printk(" DEV_SELECT_RANGE_START\t " | ||
657 | "devid: %02x:%02x.%x flags: %02x\n", | ||
658 | PCI_BUS(e->devid), | ||
659 | PCI_SLOT(e->devid), | ||
660 | PCI_FUNC(e->devid), | ||
661 | e->flags); | ||
662 | |||
613 | devid_start = e->devid; | 663 | devid_start = e->devid; |
614 | flags = e->flags; | 664 | flags = e->flags; |
615 | ext_flags = 0; | 665 | ext_flags = 0; |
616 | alias = false; | 666 | alias = false; |
617 | break; | 667 | break; |
618 | case IVHD_DEV_ALIAS: | 668 | case IVHD_DEV_ALIAS: |
669 | |||
670 | DUMP_printk(" DEV_ALIAS\t\t\t devid: %02x:%02x.%x " | ||
671 | "flags: %02x devid_to: %02x:%02x.%x\n", | ||
672 | PCI_BUS(e->devid), | ||
673 | PCI_SLOT(e->devid), | ||
674 | PCI_FUNC(e->devid), | ||
675 | e->flags, | ||
676 | PCI_BUS(e->ext >> 8), | ||
677 | PCI_SLOT(e->ext >> 8), | ||
678 | PCI_FUNC(e->ext >> 8)); | ||
679 | |||
619 | devid = e->devid; | 680 | devid = e->devid; |
620 | devid_to = e->ext >> 8; | 681 | devid_to = e->ext >> 8; |
621 | set_dev_entry_from_acpi(iommu, devid_to, e->flags, 0); | 682 | set_dev_entry_from_acpi(iommu, devid_to, e->flags, 0); |
622 | amd_iommu_alias_table[devid] = devid_to; | 683 | amd_iommu_alias_table[devid] = devid_to; |
623 | break; | 684 | break; |
624 | case IVHD_DEV_ALIAS_RANGE: | 685 | case IVHD_DEV_ALIAS_RANGE: |
686 | |||
687 | DUMP_printk(" DEV_ALIAS_RANGE\t\t " | ||
688 | "devid: %02x:%02x.%x flags: %02x " | ||
689 | "devid_to: %02x:%02x.%x\n", | ||
690 | PCI_BUS(e->devid), | ||
691 | PCI_SLOT(e->devid), | ||
692 | PCI_FUNC(e->devid), | ||
693 | e->flags, | ||
694 | PCI_BUS(e->ext >> 8), | ||
695 | PCI_SLOT(e->ext >> 8), | ||
696 | PCI_FUNC(e->ext >> 8)); | ||
697 | |||
625 | devid_start = e->devid; | 698 | devid_start = e->devid; |
626 | flags = e->flags; | 699 | flags = e->flags; |
627 | devid_to = e->ext >> 8; | 700 | devid_to = e->ext >> 8; |
@@ -629,17 +702,39 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu, | |||
629 | alias = true; | 702 | alias = true; |
630 | break; | 703 | break; |
631 | case IVHD_DEV_EXT_SELECT: | 704 | case IVHD_DEV_EXT_SELECT: |
705 | |||
706 | DUMP_printk(" DEV_EXT_SELECT\t\t devid: %02x:%02x.%x " | ||
707 | "flags: %02x ext: %08x\n", | ||
708 | PCI_BUS(e->devid), | ||
709 | PCI_SLOT(e->devid), | ||
710 | PCI_FUNC(e->devid), | ||
711 | e->flags, e->ext); | ||
712 | |||
632 | devid = e->devid; | 713 | devid = e->devid; |
633 | set_dev_entry_from_acpi(iommu, devid, e->flags, | 714 | set_dev_entry_from_acpi(iommu, devid, e->flags, |
634 | e->ext); | 715 | e->ext); |
635 | break; | 716 | break; |
636 | case IVHD_DEV_EXT_SELECT_RANGE: | 717 | case IVHD_DEV_EXT_SELECT_RANGE: |
718 | |||
719 | DUMP_printk(" DEV_EXT_SELECT_RANGE\t devid: " | ||
720 | "%02x:%02x.%x flags: %02x ext: %08x\n", | ||
721 | PCI_BUS(e->devid), | ||
722 | PCI_SLOT(e->devid), | ||
723 | PCI_FUNC(e->devid), | ||
724 | e->flags, e->ext); | ||
725 | |||
637 | devid_start = e->devid; | 726 | devid_start = e->devid; |
638 | flags = e->flags; | 727 | flags = e->flags; |
639 | ext_flags = e->ext; | 728 | ext_flags = e->ext; |
640 | alias = false; | 729 | alias = false; |
641 | break; | 730 | break; |
642 | case IVHD_DEV_RANGE_END: | 731 | case IVHD_DEV_RANGE_END: |
732 | |||
733 | DUMP_printk(" DEV_RANGE_END\t\t devid: %02x:%02x.%x\n", | ||
734 | PCI_BUS(e->devid), | ||
735 | PCI_SLOT(e->devid), | ||
736 | PCI_FUNC(e->devid)); | ||
737 | |||
643 | devid = e->devid; | 738 | devid = e->devid; |
644 | for (dev_i = devid_start; dev_i <= devid; ++dev_i) { | 739 | for (dev_i = devid_start; dev_i <= devid; ++dev_i) { |
645 | if (alias) | 740 | if (alias) |
@@ -679,7 +774,7 @@ static void __init free_iommu_all(void) | |||
679 | { | 774 | { |
680 | struct amd_iommu *iommu, *next; | 775 | struct amd_iommu *iommu, *next; |
681 | 776 | ||
682 | list_for_each_entry_safe(iommu, next, &amd_iommu_list, list) { | 777 | for_each_iommu_safe(iommu, next) { |
683 | list_del(&iommu->list); | 778 | list_del(&iommu->list); |
684 | free_iommu_one(iommu); | 779 | free_iommu_one(iommu); |
685 | kfree(iommu); | 780 | kfree(iommu); |
@@ -710,7 +805,6 @@ static int __init init_iommu_one(struct amd_iommu *iommu, struct ivhd_header *h) | |||
710 | if (!iommu->mmio_base) | 805 | if (!iommu->mmio_base) |
711 | return -ENOMEM; | 806 | return -ENOMEM; |
712 | 807 | ||
713 | iommu_set_device_table(iommu); | ||
714 | iommu->cmd_buf = alloc_command_buffer(iommu); | 808 | iommu->cmd_buf = alloc_command_buffer(iommu); |
715 | if (!iommu->cmd_buf) | 809 | if (!iommu->cmd_buf) |
716 | return -ENOMEM; | 810 | return -ENOMEM; |
@@ -746,6 +840,15 @@ static int __init init_iommu_all(struct acpi_table_header *table) | |||
746 | h = (struct ivhd_header *)p; | 840 | h = (struct ivhd_header *)p; |
747 | switch (*p) { | 841 | switch (*p) { |
748 | case ACPI_IVHD_TYPE: | 842 | case ACPI_IVHD_TYPE: |
843 | |||
844 | DUMP_printk("IOMMU: device: %02x:%02x.%01x cap: %04x " | ||
845 | "seg: %d flags: %01x info %04x\n", | ||
846 | PCI_BUS(h->devid), PCI_SLOT(h->devid), | ||
847 | PCI_FUNC(h->devid), h->cap_ptr, | ||
848 | h->pci_seg, h->flags, h->info); | ||
849 | DUMP_printk(" mmio-addr: %016llx\n", | ||
850 | h->mmio_phys); | ||
851 | |||
749 | iommu = kzalloc(sizeof(struct amd_iommu), GFP_KERNEL); | 852 | iommu = kzalloc(sizeof(struct amd_iommu), GFP_KERNEL); |
750 | if (iommu == NULL) | 853 | if (iommu == NULL) |
751 | return -ENOMEM; | 854 | return -ENOMEM; |
@@ -773,56 +876,9 @@ static int __init init_iommu_all(struct acpi_table_header *table) | |||
773 | * | 876 | * |
774 | ****************************************************************************/ | 877 | ****************************************************************************/ |
775 | 878 | ||
776 | static int __init iommu_setup_msix(struct amd_iommu *iommu) | ||
777 | { | ||
778 | struct amd_iommu *curr; | ||
779 | struct msix_entry entries[32]; /* only 32 supported by AMD IOMMU */ | ||
780 | int nvec = 0, i; | ||
781 | |||
782 | list_for_each_entry(curr, &amd_iommu_list, list) { | ||
783 | if (curr->dev == iommu->dev) { | ||
784 | entries[nvec].entry = curr->evt_msi_num; | ||
785 | entries[nvec].vector = 0; | ||
786 | curr->int_enabled = true; | ||
787 | nvec++; | ||
788 | } | ||
789 | } | ||
790 | |||
791 | if (pci_enable_msix(iommu->dev, entries, nvec)) { | ||
792 | pci_disable_msix(iommu->dev); | ||
793 | return 1; | ||
794 | } | ||
795 | |||
796 | for (i = 0; i < nvec; ++i) { | ||
797 | int r = request_irq(entries->vector, amd_iommu_int_handler, | ||
798 | IRQF_SAMPLE_RANDOM, | ||
799 | "AMD IOMMU", | ||
800 | NULL); | ||
801 | if (r) | ||
802 | goto out_free; | ||
803 | } | ||
804 | |||
805 | return 0; | ||
806 | |||
807 | out_free: | ||
808 | for (i -= 1; i >= 0; --i) | ||
809 | free_irq(entries->vector, NULL); | ||
810 | |||
811 | pci_disable_msix(iommu->dev); | ||
812 | |||
813 | return 1; | ||
814 | } | ||
815 | |||
816 | static int __init iommu_setup_msi(struct amd_iommu *iommu) | 879 | static int __init iommu_setup_msi(struct amd_iommu *iommu) |
817 | { | 880 | { |
818 | int r; | 881 | int r; |
819 | struct amd_iommu *curr; | ||
820 | |||
821 | list_for_each_entry(curr, &amd_iommu_list, list) { | ||
822 | if (curr->dev == iommu->dev) | ||
823 | curr->int_enabled = true; | ||
824 | } | ||
825 | |||
826 | 882 | ||
827 | if (pci_enable_msi(iommu->dev)) | 883 | if (pci_enable_msi(iommu->dev)) |
828 | return 1; | 884 | return 1; |
@@ -837,17 +893,18 @@ static int __init iommu_setup_msi(struct amd_iommu *iommu) | |||
837 | return 1; | 893 | return 1; |
838 | } | 894 | } |
839 | 895 | ||
896 | iommu->int_enabled = true; | ||
897 | iommu_feature_enable(iommu, CONTROL_EVT_INT_EN); | ||
898 | |||
840 | return 0; | 899 | return 0; |
841 | } | 900 | } |
842 | 901 | ||
843 | static int __init iommu_init_msi(struct amd_iommu *iommu) | 902 | static int iommu_init_msi(struct amd_iommu *iommu) |
844 | { | 903 | { |
845 | if (iommu->int_enabled) | 904 | if (iommu->int_enabled) |
846 | return 0; | 905 | return 0; |
847 | 906 | ||
848 | if (pci_find_capability(iommu->dev, PCI_CAP_ID_MSIX)) | 907 | if (pci_find_capability(iommu->dev, PCI_CAP_ID_MSI)) |
849 | return iommu_setup_msix(iommu); | ||
850 | else if (pci_find_capability(iommu->dev, PCI_CAP_ID_MSI)) | ||
851 | return iommu_setup_msi(iommu); | 908 | return iommu_setup_msi(iommu); |
852 | 909 | ||
853 | return 1; | 910 | return 1; |
@@ -899,6 +956,7 @@ static int __init init_exclusion_range(struct ivmd_header *m) | |||
899 | static int __init init_unity_map_range(struct ivmd_header *m) | 956 | static int __init init_unity_map_range(struct ivmd_header *m) |
900 | { | 957 | { |
901 | struct unity_map_entry *e = 0; | 958 | struct unity_map_entry *e = 0; |
959 | char *s; | ||
902 | 960 | ||
903 | e = kzalloc(sizeof(*e), GFP_KERNEL); | 961 | e = kzalloc(sizeof(*e), GFP_KERNEL); |
904 | if (e == NULL) | 962 | if (e == NULL) |
@@ -909,13 +967,16 @@ static int __init init_unity_map_range(struct ivmd_header *m) | |||
909 | kfree(e); | 967 | kfree(e); |
910 | return 0; | 968 | return 0; |
911 | case ACPI_IVMD_TYPE: | 969 | case ACPI_IVMD_TYPE: |
970 | s = "IVMD_TYPEi\t\t\t"; | ||
912 | e->devid_start = e->devid_end = m->devid; | 971 | e->devid_start = e->devid_end = m->devid; |
913 | break; | 972 | break; |
914 | case ACPI_IVMD_TYPE_ALL: | 973 | case ACPI_IVMD_TYPE_ALL: |
974 | s = "IVMD_TYPE_ALL\t\t"; | ||
915 | e->devid_start = 0; | 975 | e->devid_start = 0; |
916 | e->devid_end = amd_iommu_last_bdf; | 976 | e->devid_end = amd_iommu_last_bdf; |
917 | break; | 977 | break; |
918 | case ACPI_IVMD_TYPE_RANGE: | 978 | case ACPI_IVMD_TYPE_RANGE: |
979 | s = "IVMD_TYPE_RANGE\t\t"; | ||
919 | e->devid_start = m->devid; | 980 | e->devid_start = m->devid; |
920 | e->devid_end = m->aux; | 981 | e->devid_end = m->aux; |
921 | break; | 982 | break; |
@@ -924,6 +985,13 @@ static int __init init_unity_map_range(struct ivmd_header *m) | |||
924 | e->address_end = e->address_start + PAGE_ALIGN(m->range_length); | 985 | e->address_end = e->address_start + PAGE_ALIGN(m->range_length); |
925 | e->prot = m->flags >> 1; | 986 | e->prot = m->flags >> 1; |
926 | 987 | ||
988 | DUMP_printk("%s devid_start: %02x:%02x.%x devid_end: %02x:%02x.%x" | ||
989 | " range_start: %016llx range_end: %016llx flags: %x\n", s, | ||
990 | PCI_BUS(e->devid_start), PCI_SLOT(e->devid_start), | ||
991 | PCI_FUNC(e->devid_start), PCI_BUS(e->devid_end), | ||
992 | PCI_SLOT(e->devid_end), PCI_FUNC(e->devid_end), | ||
993 | e->address_start, e->address_end, m->flags); | ||
994 | |||
927 | list_add_tail(&e->list, &amd_iommu_unity_map); | 995 | list_add_tail(&e->list, &amd_iommu_unity_map); |
928 | 996 | ||
929 | return 0; | 997 | return 0; |
@@ -969,18 +1037,28 @@ static void init_device_table(void) | |||
969 | * This function finally enables all IOMMUs found in the system after | 1037 | * This function finally enables all IOMMUs found in the system after |
970 | * they have been initialized | 1038 | * they have been initialized |
971 | */ | 1039 | */ |
972 | static void __init enable_iommus(void) | 1040 | static void enable_iommus(void) |
973 | { | 1041 | { |
974 | struct amd_iommu *iommu; | 1042 | struct amd_iommu *iommu; |
975 | 1043 | ||
976 | list_for_each_entry(iommu, &amd_iommu_list, list) { | 1044 | for_each_iommu(iommu) { |
1045 | iommu_set_device_table(iommu); | ||
1046 | iommu_enable_command_buffer(iommu); | ||
1047 | iommu_enable_event_buffer(iommu); | ||
977 | iommu_set_exclusion_range(iommu); | 1048 | iommu_set_exclusion_range(iommu); |
978 | iommu_init_msi(iommu); | 1049 | iommu_init_msi(iommu); |
979 | iommu_enable_event_logging(iommu); | ||
980 | iommu_enable(iommu); | 1050 | iommu_enable(iommu); |
981 | } | 1051 | } |
982 | } | 1052 | } |
983 | 1053 | ||
1054 | static void disable_iommus(void) | ||
1055 | { | ||
1056 | struct amd_iommu *iommu; | ||
1057 | |||
1058 | for_each_iommu(iommu) | ||
1059 | iommu_disable(iommu); | ||
1060 | } | ||
1061 | |||
984 | /* | 1062 | /* |
985 | * Suspend/Resume support | 1063 | * Suspend/Resume support |
986 | * disable suspend until real resume implemented | 1064 | * disable suspend until real resume implemented |
@@ -988,12 +1066,31 @@ static void __init enable_iommus(void) | |||
988 | 1066 | ||
989 | static int amd_iommu_resume(struct sys_device *dev) | 1067 | static int amd_iommu_resume(struct sys_device *dev) |
990 | { | 1068 | { |
1069 | /* | ||
1070 | * Disable IOMMUs before reprogramming the hardware registers. | ||
1071 | * IOMMU is still enabled from the resume kernel. | ||
1072 | */ | ||
1073 | disable_iommus(); | ||
1074 | |||
1075 | /* re-load the hardware */ | ||
1076 | enable_iommus(); | ||
1077 | |||
1078 | /* | ||
1079 | * we have to flush after the IOMMUs are enabled because a | ||
1080 | * disabled IOMMU will never execute the commands we send | ||
1081 | */ | ||
1082 | amd_iommu_flush_all_domains(); | ||
1083 | amd_iommu_flush_all_devices(); | ||
1084 | |||
991 | return 0; | 1085 | return 0; |
992 | } | 1086 | } |
993 | 1087 | ||
994 | static int amd_iommu_suspend(struct sys_device *dev, pm_message_t state) | 1088 | static int amd_iommu_suspend(struct sys_device *dev, pm_message_t state) |
995 | { | 1089 | { |
996 | return -EINVAL; | 1090 | /* disable IOMMUs to go out of the way for BIOS */ |
1091 | disable_iommus(); | ||
1092 | |||
1093 | return 0; | ||
997 | } | 1094 | } |
998 | 1095 | ||
999 | static struct sysdev_class amd_iommu_sysdev_class = { | 1096 | static struct sysdev_class amd_iommu_sysdev_class = { |
@@ -1139,9 +1236,6 @@ int __init amd_iommu_init(void) | |||
1139 | 1236 | ||
1140 | enable_iommus(); | 1237 | enable_iommus(); |
1141 | 1238 | ||
1142 | printk(KERN_INFO "AMD IOMMU: aperture size is %d MB\n", | ||
1143 | (1 << (amd_iommu_aperture_order-20))); | ||
1144 | |||
1145 | printk(KERN_INFO "AMD IOMMU: device isolation "); | 1239 | printk(KERN_INFO "AMD IOMMU: device isolation "); |
1146 | if (amd_iommu_isolate) | 1240 | if (amd_iommu_isolate) |
1147 | printk("enabled\n"); | 1241 | printk("enabled\n"); |
@@ -1213,6 +1307,13 @@ void __init amd_iommu_detect(void) | |||
1213 | * | 1307 | * |
1214 | ****************************************************************************/ | 1308 | ****************************************************************************/ |
1215 | 1309 | ||
1310 | static int __init parse_amd_iommu_dump(char *str) | ||
1311 | { | ||
1312 | amd_iommu_dump = true; | ||
1313 | |||
1314 | return 1; | ||
1315 | } | ||
1316 | |||
1216 | static int __init parse_amd_iommu_options(char *str) | 1317 | static int __init parse_amd_iommu_options(char *str) |
1217 | { | 1318 | { |
1218 | for (; *str; ++str) { | 1319 | for (; *str; ++str) { |
@@ -1227,15 +1328,5 @@ static int __init parse_amd_iommu_options(char *str) | |||
1227 | return 1; | 1328 | return 1; |
1228 | } | 1329 | } |
1229 | 1330 | ||
1230 | static int __init parse_amd_iommu_size_options(char *str) | 1331 | __setup("amd_iommu_dump", parse_amd_iommu_dump); |
1231 | { | ||
1232 | unsigned order = PAGE_SHIFT + get_order(memparse(str, &str)); | ||
1233 | |||
1234 | if ((order > 24) && (order < 31)) | ||
1235 | amd_iommu_aperture_order = order; | ||
1236 | |||
1237 | return 1; | ||
1238 | } | ||
1239 | |||
1240 | __setup("amd_iommu=", parse_amd_iommu_options); | 1332 | __setup("amd_iommu=", parse_amd_iommu_options); |
1241 | __setup("amd_iommu_size=", parse_amd_iommu_size_options); | ||
diff --git a/arch/x86/kernel/apic/es7000_32.c b/arch/x86/kernel/apic/es7000_32.c index 1c11b819f245..302947775575 100644 --- a/arch/x86/kernel/apic/es7000_32.c +++ b/arch/x86/kernel/apic/es7000_32.c | |||
@@ -254,7 +254,7 @@ static int parse_unisys_oem(char *oemptr) | |||
254 | } | 254 | } |
255 | 255 | ||
256 | #ifdef CONFIG_ACPI | 256 | #ifdef CONFIG_ACPI |
257 | static int find_unisys_acpi_oem_table(unsigned long *oem_addr) | 257 | static int __init find_unisys_acpi_oem_table(unsigned long *oem_addr) |
258 | { | 258 | { |
259 | struct acpi_table_header *header = NULL; | 259 | struct acpi_table_header *header = NULL; |
260 | struct es7000_oem_table *table; | 260 | struct es7000_oem_table *table; |
@@ -285,7 +285,7 @@ static int find_unisys_acpi_oem_table(unsigned long *oem_addr) | |||
285 | return 0; | 285 | return 0; |
286 | } | 286 | } |
287 | 287 | ||
288 | static void unmap_unisys_acpi_oem_table(unsigned long oem_addr) | 288 | static void __init unmap_unisys_acpi_oem_table(unsigned long oem_addr) |
289 | { | 289 | { |
290 | if (!oem_addr) | 290 | if (!oem_addr) |
291 | return; | 291 | return; |
@@ -306,7 +306,7 @@ static int es7000_check_dsdt(void) | |||
306 | static int es7000_acpi_ret; | 306 | static int es7000_acpi_ret; |
307 | 307 | ||
308 | /* Hook from generic ACPI tables.c */ | 308 | /* Hook from generic ACPI tables.c */ |
309 | static int es7000_acpi_madt_oem_check(char *oem_id, char *oem_table_id) | 309 | static int __init es7000_acpi_madt_oem_check(char *oem_id, char *oem_table_id) |
310 | { | 310 | { |
311 | unsigned long oem_addr = 0; | 311 | unsigned long oem_addr = 0; |
312 | int check_dsdt; | 312 | int check_dsdt; |
@@ -717,7 +717,7 @@ struct apic apic_es7000_cluster = { | |||
717 | .safe_wait_icr_idle = native_safe_apic_wait_icr_idle, | 717 | .safe_wait_icr_idle = native_safe_apic_wait_icr_idle, |
718 | }; | 718 | }; |
719 | 719 | ||
720 | struct apic apic_es7000 = { | 720 | struct apic __refdata apic_es7000 = { |
721 | 721 | ||
722 | .name = "es7000", | 722 | .name = "es7000", |
723 | .probe = probe_es7000, | 723 | .probe = probe_es7000, |
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index c1caefc82e62..77848d9fca68 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
@@ -114,6 +114,13 @@ DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page) = { .gdt = { | |||
114 | } }; | 114 | } }; |
115 | EXPORT_PER_CPU_SYMBOL_GPL(gdt_page); | 115 | EXPORT_PER_CPU_SYMBOL_GPL(gdt_page); |
116 | 116 | ||
117 | static int __init x86_xsave_setup(char *s) | ||
118 | { | ||
119 | setup_clear_cpu_cap(X86_FEATURE_XSAVE); | ||
120 | return 1; | ||
121 | } | ||
122 | __setup("noxsave", x86_xsave_setup); | ||
123 | |||
117 | #ifdef CONFIG_X86_32 | 124 | #ifdef CONFIG_X86_32 |
118 | static int cachesize_override __cpuinitdata = -1; | 125 | static int cachesize_override __cpuinitdata = -1; |
119 | static int disable_x86_serial_nr __cpuinitdata = 1; | 126 | static int disable_x86_serial_nr __cpuinitdata = 1; |
diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c index 208ecf6643df..54b6de2cd947 100644 --- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c +++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | |||
@@ -693,8 +693,8 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
693 | if (perf->control_register.space_id == ACPI_ADR_SPACE_FIXED_HARDWARE && | 693 | if (perf->control_register.space_id == ACPI_ADR_SPACE_FIXED_HARDWARE && |
694 | policy->cpuinfo.transition_latency > 20 * 1000) { | 694 | policy->cpuinfo.transition_latency > 20 * 1000) { |
695 | policy->cpuinfo.transition_latency = 20 * 1000; | 695 | policy->cpuinfo.transition_latency = 20 * 1000; |
696 | printk_once(KERN_INFO "Capping off P-state tranision" | 696 | printk_once(KERN_INFO |
697 | " latency at 20 uS\n"); | 697 | "P-state transition latency capped at 20 uS\n"); |
698 | } | 698 | } |
699 | 699 | ||
700 | /* table init */ | 700 | /* table init */ |
diff --git a/arch/x86/kernel/cpu/cpufreq/p4-clockmod.c b/arch/x86/kernel/cpu/cpufreq/p4-clockmod.c index 6ac55bd341ae..869615193720 100644 --- a/arch/x86/kernel/cpu/cpufreq/p4-clockmod.c +++ b/arch/x86/kernel/cpu/cpufreq/p4-clockmod.c | |||
@@ -168,6 +168,7 @@ static unsigned int cpufreq_p4_get_frequency(struct cpuinfo_x86 *c) | |||
168 | case 0x0E: /* Core */ | 168 | case 0x0E: /* Core */ |
169 | case 0x0F: /* Core Duo */ | 169 | case 0x0F: /* Core Duo */ |
170 | case 0x16: /* Celeron Core */ | 170 | case 0x16: /* Celeron Core */ |
171 | case 0x1C: /* Atom */ | ||
171 | p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS; | 172 | p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS; |
172 | return speedstep_get_frequency(SPEEDSTEP_CPU_PCORE); | 173 | return speedstep_get_frequency(SPEEDSTEP_CPU_PCORE); |
173 | case 0x0D: /* Pentium M (Dothan) */ | 174 | case 0x0D: /* Pentium M (Dothan) */ |
diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k7.c b/arch/x86/kernel/cpu/cpufreq/powernow-k7.c index 3c28ccd49742..a8363e5be4ef 100644 --- a/arch/x86/kernel/cpu/cpufreq/powernow-k7.c +++ b/arch/x86/kernel/cpu/cpufreq/powernow-k7.c | |||
@@ -168,10 +168,12 @@ static int check_powernow(void) | |||
168 | return 1; | 168 | return 1; |
169 | } | 169 | } |
170 | 170 | ||
171 | #ifdef CONFIG_X86_POWERNOW_K7_ACPI | ||
171 | static void invalidate_entry(unsigned int entry) | 172 | static void invalidate_entry(unsigned int entry) |
172 | { | 173 | { |
173 | powernow_table[entry].frequency = CPUFREQ_ENTRY_INVALID; | 174 | powernow_table[entry].frequency = CPUFREQ_ENTRY_INVALID; |
174 | } | 175 | } |
176 | #endif | ||
175 | 177 | ||
176 | static int get_ranges(unsigned char *pst) | 178 | static int get_ranges(unsigned char *pst) |
177 | { | 179 | { |
diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c index 4709ead2db52..f6b32d112357 100644 --- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c +++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c | |||
@@ -649,6 +649,20 @@ static void print_basics(struct powernow_k8_data *data) | |||
649 | data->batps); | 649 | data->batps); |
650 | } | 650 | } |
651 | 651 | ||
652 | static u32 freq_from_fid_did(u32 fid, u32 did) | ||
653 | { | ||
654 | u32 mhz = 0; | ||
655 | |||
656 | if (boot_cpu_data.x86 == 0x10) | ||
657 | mhz = (100 * (fid + 0x10)) >> did; | ||
658 | else if (boot_cpu_data.x86 == 0x11) | ||
659 | mhz = (100 * (fid + 8)) >> did; | ||
660 | else | ||
661 | BUG(); | ||
662 | |||
663 | return mhz * 1000; | ||
664 | } | ||
665 | |||
652 | static int fill_powernow_table(struct powernow_k8_data *data, | 666 | static int fill_powernow_table(struct powernow_k8_data *data, |
653 | struct pst_s *pst, u8 maxvid) | 667 | struct pst_s *pst, u8 maxvid) |
654 | { | 668 | { |
@@ -923,8 +937,13 @@ static int fill_powernow_table_pstate(struct powernow_k8_data *data, | |||
923 | 937 | ||
924 | powernow_table[i].index = index; | 938 | powernow_table[i].index = index; |
925 | 939 | ||
926 | powernow_table[i].frequency = | 940 | /* Frequency may be rounded for these */ |
927 | data->acpi_data.states[i].core_frequency * 1000; | 941 | if (boot_cpu_data.x86 == 0x10 || boot_cpu_data.x86 == 0x11) { |
942 | powernow_table[i].frequency = | ||
943 | freq_from_fid_did(lo & 0x3f, (lo >> 6) & 7); | ||
944 | } else | ||
945 | powernow_table[i].frequency = | ||
946 | data->acpi_data.states[i].core_frequency * 1000; | ||
928 | } | 947 | } |
929 | return 0; | 948 | return 0; |
930 | } | 949 | } |
@@ -1215,13 +1234,16 @@ static int powernowk8_verify(struct cpufreq_policy *pol) | |||
1215 | return cpufreq_frequency_table_verify(pol, data->powernow_table); | 1234 | return cpufreq_frequency_table_verify(pol, data->powernow_table); |
1216 | } | 1235 | } |
1217 | 1236 | ||
1237 | static const char ACPI_PSS_BIOS_BUG_MSG[] = | ||
1238 | KERN_ERR FW_BUG PFX "No compatible ACPI _PSS objects found.\n" | ||
1239 | KERN_ERR FW_BUG PFX "Try again with latest BIOS.\n"; | ||
1240 | |||
1218 | /* per CPU init entry point to the driver */ | 1241 | /* per CPU init entry point to the driver */ |
1219 | static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol) | 1242 | static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol) |
1220 | { | 1243 | { |
1221 | struct powernow_k8_data *data; | 1244 | struct powernow_k8_data *data; |
1222 | cpumask_t oldmask; | 1245 | cpumask_t oldmask; |
1223 | int rc; | 1246 | int rc; |
1224 | static int print_once; | ||
1225 | 1247 | ||
1226 | if (!cpu_online(pol->cpu)) | 1248 | if (!cpu_online(pol->cpu)) |
1227 | return -ENODEV; | 1249 | return -ENODEV; |
@@ -1244,19 +1266,7 @@ static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol) | |||
1244 | * an UP version, and is deprecated by AMD. | 1266 | * an UP version, and is deprecated by AMD. |
1245 | */ | 1267 | */ |
1246 | if (num_online_cpus() != 1) { | 1268 | if (num_online_cpus() != 1) { |
1247 | /* | 1269 | printk_once(ACPI_PSS_BIOS_BUG_MSG); |
1248 | * Replace this one with print_once as soon as such a | ||
1249 | * thing gets introduced | ||
1250 | */ | ||
1251 | if (!print_once) { | ||
1252 | WARN_ONCE(1, KERN_ERR FW_BUG PFX "Your BIOS " | ||
1253 | "does not provide ACPI _PSS objects " | ||
1254 | "in a way that Linux understands. " | ||
1255 | "Please report this to the Linux ACPI" | ||
1256 | " maintainers and complain to your " | ||
1257 | "BIOS vendor.\n"); | ||
1258 | print_once++; | ||
1259 | } | ||
1260 | goto err_out; | 1270 | goto err_out; |
1261 | } | 1271 | } |
1262 | if (pol->cpu != 0) { | 1272 | if (pol->cpu != 0) { |
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index 0b776c09aff3..d21d4fb161f7 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c | |||
@@ -275,7 +275,11 @@ static void __init print_mtrr_state(void) | |||
275 | } | 275 | } |
276 | printk(KERN_DEBUG "MTRR variable ranges %sabled:\n", | 276 | printk(KERN_DEBUG "MTRR variable ranges %sabled:\n", |
277 | mtrr_state.enabled & 2 ? "en" : "dis"); | 277 | mtrr_state.enabled & 2 ? "en" : "dis"); |
278 | high_width = ((size_or_mask ? ffs(size_or_mask) - 1 : 32) - (32 - PAGE_SHIFT) + 3) / 4; | 278 | if (size_or_mask & 0xffffffffUL) |
279 | high_width = ffs(size_or_mask & 0xffffffffUL) - 1; | ||
280 | else | ||
281 | high_width = ffs(size_or_mask>>32) + 32 - 1; | ||
282 | high_width = (high_width - (32 - PAGE_SHIFT) + 3) / 4; | ||
279 | for (i = 0; i < num_var_ranges; ++i) { | 283 | for (i = 0; i < num_var_ranges; ++i) { |
280 | if (mtrr_state.var_ranges[i].mask_lo & (1 << 11)) | 284 | if (mtrr_state.var_ranges[i].mask_lo & (1 << 11)) |
281 | printk(KERN_DEBUG " %u base %0*X%05X000 mask %0*X%05X000 %s\n", | 285 | printk(KERN_DEBUG " %u base %0*X%05X000 mask %0*X%05X000 %s\n", |
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c index 18dfa30795c9..b79c5533c421 100644 --- a/arch/x86/kernel/ftrace.c +++ b/arch/x86/kernel/ftrace.c | |||
@@ -442,7 +442,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) | |||
442 | _ASM_EXTABLE(1b, 4b) | 442 | _ASM_EXTABLE(1b, 4b) |
443 | _ASM_EXTABLE(2b, 4b) | 443 | _ASM_EXTABLE(2b, 4b) |
444 | 444 | ||
445 | : [old] "=r" (old), [faulted] "=r" (faulted) | 445 | : [old] "=&r" (old), [faulted] "=r" (faulted) |
446 | : [parent] "r" (parent), [return_hooker] "r" (return_hooker) | 446 | : [parent] "r" (parent), [return_hooker] "r" (return_hooker) |
447 | : "memory" | 447 | : "memory" |
448 | ); | 448 | ); |
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c index eedfaebe1063..b1f4dffb919e 100644 --- a/arch/x86/kernel/kgdb.c +++ b/arch/x86/kernel/kgdb.c | |||
@@ -88,6 +88,7 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs) | |||
88 | gdb_regs[GDB_SS] = __KERNEL_DS; | 88 | gdb_regs[GDB_SS] = __KERNEL_DS; |
89 | gdb_regs[GDB_FS] = 0xFFFF; | 89 | gdb_regs[GDB_FS] = 0xFFFF; |
90 | gdb_regs[GDB_GS] = 0xFFFF; | 90 | gdb_regs[GDB_GS] = 0xFFFF; |
91 | gdb_regs[GDB_SP] = (int)®s->sp; | ||
91 | #else | 92 | #else |
92 | gdb_regs[GDB_R8] = regs->r8; | 93 | gdb_regs[GDB_R8] = regs->r8; |
93 | gdb_regs[GDB_R9] = regs->r9; | 94 | gdb_regs[GDB_R9] = regs->r9; |
@@ -100,8 +101,8 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs) | |||
100 | gdb_regs32[GDB_PS] = regs->flags; | 101 | gdb_regs32[GDB_PS] = regs->flags; |
101 | gdb_regs32[GDB_CS] = regs->cs; | 102 | gdb_regs32[GDB_CS] = regs->cs; |
102 | gdb_regs32[GDB_SS] = regs->ss; | 103 | gdb_regs32[GDB_SS] = regs->ss; |
103 | #endif | ||
104 | gdb_regs[GDB_SP] = regs->sp; | 104 | gdb_regs[GDB_SP] = regs->sp; |
105 | #endif | ||
105 | } | 106 | } |
106 | 107 | ||
107 | /** | 108 | /** |
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index 8e45f4464880..9faf43bea336 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c | |||
@@ -134,7 +134,9 @@ static void *get_call_destination(u8 type) | |||
134 | .pv_irq_ops = pv_irq_ops, | 134 | .pv_irq_ops = pv_irq_ops, |
135 | .pv_apic_ops = pv_apic_ops, | 135 | .pv_apic_ops = pv_apic_ops, |
136 | .pv_mmu_ops = pv_mmu_ops, | 136 | .pv_mmu_ops = pv_mmu_ops, |
137 | #ifdef CONFIG_PARAVIRT_SPINLOCKS | ||
137 | .pv_lock_ops = pv_lock_ops, | 138 | .pv_lock_ops = pv_lock_ops, |
139 | #endif | ||
138 | }; | 140 | }; |
139 | return *((void **)&tmpl + type); | 141 | return *((void **)&tmpl + type); |
140 | } | 142 | } |
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index 1e8920d98f7c..cfd9f9063896 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c | |||
@@ -658,8 +658,6 @@ static __init int init_k8_gatt(struct agp_kern_info *info) | |||
658 | 658 | ||
659 | agp_gatt_table = gatt; | 659 | agp_gatt_table = gatt; |
660 | 660 | ||
661 | enable_gart_translations(); | ||
662 | |||
663 | error = sysdev_class_register(&gart_sysdev_class); | 661 | error = sysdev_class_register(&gart_sysdev_class); |
664 | if (!error) | 662 | if (!error) |
665 | error = sysdev_register(&device_gart); | 663 | error = sysdev_register(&device_gart); |
@@ -816,6 +814,14 @@ void __init gart_iommu_init(void) | |||
816 | * the pages as Not-Present: | 814 | * the pages as Not-Present: |
817 | */ | 815 | */ |
818 | wbinvd(); | 816 | wbinvd(); |
817 | |||
818 | /* | ||
819 | * Now all caches are flushed and we can safely enable | ||
820 | * GART hardware. Doing it early leaves the possibility | ||
821 | * of stale cache entries that can lead to GART PTE | ||
822 | * errors. | ||
823 | */ | ||
824 | enable_gart_translations(); | ||
819 | 825 | ||
820 | /* | 826 | /* |
821 | * Try to workaround a bug (thanks to BenH): | 827 | * Try to workaround a bug (thanks to BenH): |
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index 1340dad417f4..667188e0b5a0 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c | |||
@@ -232,6 +232,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = { | |||
232 | DMI_MATCH(DMI_PRODUCT_NAME, "Dell DXP061"), | 232 | DMI_MATCH(DMI_PRODUCT_NAME, "Dell DXP061"), |
233 | }, | 233 | }, |
234 | }, | 234 | }, |
235 | { /* Handle problems with rebooting on Sony VGN-Z540N */ | ||
236 | .callback = set_bios_reboot, | ||
237 | .ident = "Sony VGN-Z540N", | ||
238 | .matches = { | ||
239 | DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), | ||
240 | DMI_MATCH(DMI_PRODUCT_NAME, "VGN-Z540N"), | ||
241 | }, | ||
242 | }, | ||
235 | { } | 243 | { } |
236 | }; | 244 | }; |
237 | 245 | ||
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 3a97a4cf1872..8f0e13be36b3 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c | |||
@@ -160,8 +160,10 @@ static ssize_t __init setup_pcpu_remap(size_t static_size) | |||
160 | /* | 160 | /* |
161 | * If large page isn't supported, there's no benefit in doing | 161 | * If large page isn't supported, there's no benefit in doing |
162 | * this. Also, on non-NUMA, embedding is better. | 162 | * this. Also, on non-NUMA, embedding is better. |
163 | * | ||
164 | * NOTE: disabled for now. | ||
163 | */ | 165 | */ |
164 | if (!cpu_has_pse || !pcpu_need_numa()) | 166 | if (true || !cpu_has_pse || !pcpu_need_numa()) |
165 | return -EINVAL; | 167 | return -EINVAL; |
166 | 168 | ||
167 | /* | 169 | /* |
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index b6caf1329b1b..32cf11e5728a 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c | |||
@@ -2897,8 +2897,7 @@ static int kvm_pv_mmu_write(struct kvm_vcpu *vcpu, | |||
2897 | 2897 | ||
2898 | static int kvm_pv_mmu_flush_tlb(struct kvm_vcpu *vcpu) | 2898 | static int kvm_pv_mmu_flush_tlb(struct kvm_vcpu *vcpu) |
2899 | { | 2899 | { |
2900 | kvm_x86_ops->tlb_flush(vcpu); | 2900 | kvm_set_cr3(vcpu, vcpu->arch.cr3); |
2901 | set_bit(KVM_REQ_MMU_SYNC, &vcpu->requests); | ||
2902 | return 1; | 2901 | return 1; |
2903 | } | 2902 | } |
2904 | 2903 | ||
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 1821c2078199..1f8510c51d6e 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -411,7 +411,6 @@ static __init int svm_hardware_setup(void) | |||
411 | 411 | ||
412 | iopm_va = page_address(iopm_pages); | 412 | iopm_va = page_address(iopm_pages); |
413 | memset(iopm_va, 0xff, PAGE_SIZE * (1 << IOPM_ALLOC_ORDER)); | 413 | memset(iopm_va, 0xff, PAGE_SIZE * (1 << IOPM_ALLOC_ORDER)); |
414 | clear_bit(0x80, iopm_va); /* allow direct access to PC debug port */ | ||
415 | iopm_base = page_to_pfn(iopm_pages) << PAGE_SHIFT; | 414 | iopm_base = page_to_pfn(iopm_pages) << PAGE_SHIFT; |
416 | 415 | ||
417 | if (boot_cpu_has(X86_FEATURE_NX)) | 416 | if (boot_cpu_has(X86_FEATURE_NX)) |
@@ -796,6 +795,11 @@ static void svm_get_segment(struct kvm_vcpu *vcpu, | |||
796 | var->db = (s->attrib >> SVM_SELECTOR_DB_SHIFT) & 1; | 795 | var->db = (s->attrib >> SVM_SELECTOR_DB_SHIFT) & 1; |
797 | var->g = (s->attrib >> SVM_SELECTOR_G_SHIFT) & 1; | 796 | var->g = (s->attrib >> SVM_SELECTOR_G_SHIFT) & 1; |
798 | 797 | ||
798 | /* AMD's VMCB does not have an explicit unusable field, so emulate it | ||
799 | * for cross vendor migration purposes by "not present" | ||
800 | */ | ||
801 | var->unusable = !var->present || (var->type == 0); | ||
802 | |||
799 | switch (seg) { | 803 | switch (seg) { |
800 | case VCPU_SREG_CS: | 804 | case VCPU_SREG_CS: |
801 | /* | 805 | /* |
@@ -827,8 +831,6 @@ static void svm_get_segment(struct kvm_vcpu *vcpu, | |||
827 | var->type |= 0x1; | 831 | var->type |= 0x1; |
828 | break; | 832 | break; |
829 | } | 833 | } |
830 | |||
831 | var->unusable = !var->present; | ||
832 | } | 834 | } |
833 | 835 | ||
834 | static int svm_get_cpl(struct kvm_vcpu *vcpu) | 836 | static int svm_get_cpl(struct kvm_vcpu *vcpu) |
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 7c1ce5ac6131..3944e917e794 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -338,6 +338,9 @@ EXPORT_SYMBOL_GPL(kvm_lmsw); | |||
338 | 338 | ||
339 | void kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) | 339 | void kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) |
340 | { | 340 | { |
341 | unsigned long old_cr4 = vcpu->arch.cr4; | ||
342 | unsigned long pdptr_bits = X86_CR4_PGE | X86_CR4_PSE | X86_CR4_PAE; | ||
343 | |||
341 | if (cr4 & CR4_RESERVED_BITS) { | 344 | if (cr4 & CR4_RESERVED_BITS) { |
342 | printk(KERN_DEBUG "set_cr4: #GP, reserved bits\n"); | 345 | printk(KERN_DEBUG "set_cr4: #GP, reserved bits\n"); |
343 | kvm_inject_gp(vcpu, 0); | 346 | kvm_inject_gp(vcpu, 0); |
@@ -351,7 +354,8 @@ void kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) | |||
351 | kvm_inject_gp(vcpu, 0); | 354 | kvm_inject_gp(vcpu, 0); |
352 | return; | 355 | return; |
353 | } | 356 | } |
354 | } else if (is_paging(vcpu) && !is_pae(vcpu) && (cr4 & X86_CR4_PAE) | 357 | } else if (is_paging(vcpu) && (cr4 & X86_CR4_PAE) |
358 | && ((cr4 ^ old_cr4) & pdptr_bits) | ||
355 | && !load_pdptrs(vcpu, vcpu->arch.cr3)) { | 359 | && !load_pdptrs(vcpu, vcpu->arch.cr3)) { |
356 | printk(KERN_DEBUG "set_cr4: #GP, pdptrs reserved bits\n"); | 360 | printk(KERN_DEBUG "set_cr4: #GP, pdptrs reserved bits\n"); |
357 | kvm_inject_gp(vcpu, 0); | 361 | kvm_inject_gp(vcpu, 0); |
@@ -1121,9 +1125,9 @@ void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu) | |||
1121 | 1125 | ||
1122 | static int is_efer_nx(void) | 1126 | static int is_efer_nx(void) |
1123 | { | 1127 | { |
1124 | u64 efer; | 1128 | unsigned long long efer = 0; |
1125 | 1129 | ||
1126 | rdmsrl(MSR_EFER, efer); | 1130 | rdmsrl_safe(MSR_EFER, &efer); |
1127 | return efer & EFER_NX; | 1131 | return efer & EFER_NX; |
1128 | } | 1132 | } |
1129 | 1133 | ||
@@ -1259,7 +1263,7 @@ static void do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, | |||
1259 | bit(X86_FEATURE_CMOV) | bit(X86_FEATURE_PSE36) | | 1263 | bit(X86_FEATURE_CMOV) | bit(X86_FEATURE_PSE36) | |
1260 | bit(X86_FEATURE_MMX) | bit(X86_FEATURE_FXSR) | | 1264 | bit(X86_FEATURE_MMX) | bit(X86_FEATURE_FXSR) | |
1261 | bit(X86_FEATURE_SYSCALL) | | 1265 | bit(X86_FEATURE_SYSCALL) | |
1262 | (bit(X86_FEATURE_NX) && is_efer_nx()) | | 1266 | (is_efer_nx() ? bit(X86_FEATURE_NX) : 0) | |
1263 | #ifdef CONFIG_X86_64 | 1267 | #ifdef CONFIG_X86_64 |
1264 | bit(X86_FEATURE_LM) | | 1268 | bit(X86_FEATURE_LM) | |
1265 | #endif | 1269 | #endif |
diff --git a/arch/x86/lguest/Makefile b/arch/x86/lguest/Makefile index 27f0c9ed7f60..94e0e54056a9 100644 --- a/arch/x86/lguest/Makefile +++ b/arch/x86/lguest/Makefile | |||
@@ -1 +1,2 @@ | |||
1 | obj-y := i386_head.o boot.o | 1 | obj-y := i386_head.o boot.o |
2 | CFLAGS_boot.o := $(call cc-option, -fno-stack-protector) | ||
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index ca7ec44bafc3..33a93b417396 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c | |||
@@ -67,6 +67,7 @@ | |||
67 | #include <asm/mce.h> | 67 | #include <asm/mce.h> |
68 | #include <asm/io.h> | 68 | #include <asm/io.h> |
69 | #include <asm/i387.h> | 69 | #include <asm/i387.h> |
70 | #include <asm/stackprotector.h> | ||
70 | #include <asm/reboot.h> /* for struct machine_ops */ | 71 | #include <asm/reboot.h> /* for struct machine_ops */ |
71 | 72 | ||
72 | /*G:010 Welcome to the Guest! | 73 | /*G:010 Welcome to the Guest! |
@@ -1088,13 +1089,21 @@ __init void lguest_init(void) | |||
1088 | * lguest_init() where the rest of the fairly chaotic boot setup | 1089 | * lguest_init() where the rest of the fairly chaotic boot setup |
1089 | * occurs. */ | 1090 | * occurs. */ |
1090 | 1091 | ||
1092 | /* The stack protector is a weird thing where gcc places a canary | ||
1093 | * value on the stack and then checks it on return. This file is | ||
1094 | * compiled with -fno-stack-protector it, so we got this far without | ||
1095 | * problems. The value of the canary is kept at offset 20 from the | ||
1096 | * %gs register, so we need to set that up before calling C functions | ||
1097 | * in other files. */ | ||
1098 | setup_stack_canary_segment(0); | ||
1099 | /* We could just call load_stack_canary_segment(), but we might as | ||
1100 | * call switch_to_new_gdt() which loads the whole table and sets up | ||
1101 | * the per-cpu segment descriptor register %fs as well. */ | ||
1102 | switch_to_new_gdt(0); | ||
1103 | |||
1091 | /* As described in head_32.S, we map the first 128M of memory. */ | 1104 | /* As described in head_32.S, we map the first 128M of memory. */ |
1092 | max_pfn_mapped = (128*1024*1024) >> PAGE_SHIFT; | 1105 | max_pfn_mapped = (128*1024*1024) >> PAGE_SHIFT; |
1093 | 1106 | ||
1094 | /* Load the %fs segment register (the per-cpu segment register) with | ||
1095 | * the normal data segment to get through booting. */ | ||
1096 | asm volatile ("mov %0, %%fs" : : "r" (__KERNEL_DS) : "memory"); | ||
1097 | |||
1098 | /* The Host<->Guest Switcher lives at the top of our address space, and | 1107 | /* The Host<->Guest Switcher lives at the top of our address space, and |
1099 | * the Host told us how big it is when we made LGUEST_INIT hypercall: | 1108 | * the Host told us how big it is when we made LGUEST_INIT hypercall: |
1100 | * it put the answer in lguest_data.reserve_mem */ | 1109 | * it put the answer in lguest_data.reserve_mem */ |
diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c index 8f307d914c2e..f46c340727b8 100644 --- a/arch/x86/mm/hugetlbpage.c +++ b/arch/x86/mm/hugetlbpage.c | |||
@@ -26,12 +26,16 @@ static unsigned long page_table_shareable(struct vm_area_struct *svma, | |||
26 | unsigned long sbase = saddr & PUD_MASK; | 26 | unsigned long sbase = saddr & PUD_MASK; |
27 | unsigned long s_end = sbase + PUD_SIZE; | 27 | unsigned long s_end = sbase + PUD_SIZE; |
28 | 28 | ||
29 | /* Allow segments to share if only one is marked locked */ | ||
30 | unsigned long vm_flags = vma->vm_flags & ~VM_LOCKED; | ||
31 | unsigned long svm_flags = svma->vm_flags & ~VM_LOCKED; | ||
32 | |||
29 | /* | 33 | /* |
30 | * match the virtual addresses, permission and the alignment of the | 34 | * match the virtual addresses, permission and the alignment of the |
31 | * page table page. | 35 | * page table page. |
32 | */ | 36 | */ |
33 | if (pmd_index(addr) != pmd_index(saddr) || | 37 | if (pmd_index(addr) != pmd_index(saddr) || |
34 | vma->vm_flags != svma->vm_flags || | 38 | vm_flags != svm_flags || |
35 | sbase < svma->vm_start || svma->vm_end < s_end) | 39 | sbase < svma->vm_start || svma->vm_end < s_end) |
36 | return 0; | 40 | return 0; |
37 | 41 | ||
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 797f9f107cb6..e17efed088c5 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
@@ -153,7 +153,7 @@ static void __cpa_flush_all(void *arg) | |||
153 | */ | 153 | */ |
154 | __flush_tlb_all(); | 154 | __flush_tlb_all(); |
155 | 155 | ||
156 | if (cache && boot_cpu_data.x86_model >= 4) | 156 | if (cache && boot_cpu_data.x86 >= 4) |
157 | wbinvd(); | 157 | wbinvd(); |
158 | } | 158 | } |
159 | 159 | ||
@@ -208,20 +208,15 @@ static void cpa_flush_array(unsigned long *start, int numpages, int cache, | |||
208 | int in_flags, struct page **pages) | 208 | int in_flags, struct page **pages) |
209 | { | 209 | { |
210 | unsigned int i, level; | 210 | unsigned int i, level; |
211 | unsigned long do_wbinvd = cache && numpages >= 1024; /* 4M threshold */ | ||
211 | 212 | ||
212 | BUG_ON(irqs_disabled()); | 213 | BUG_ON(irqs_disabled()); |
213 | 214 | ||
214 | on_each_cpu(__cpa_flush_range, NULL, 1); | 215 | on_each_cpu(__cpa_flush_all, (void *) do_wbinvd, 1); |
215 | 216 | ||
216 | if (!cache) | 217 | if (!cache || do_wbinvd) |
217 | return; | 218 | return; |
218 | 219 | ||
219 | /* 4M threshold */ | ||
220 | if (numpages >= 1024) { | ||
221 | if (boot_cpu_data.x86_model >= 4) | ||
222 | wbinvd(); | ||
223 | return; | ||
224 | } | ||
225 | /* | 220 | /* |
226 | * We only need to flush on one CPU, | 221 | * We only need to flush on one CPU, |
227 | * clflush is a MESI-coherent instruction that | 222 | * clflush is a MESI-coherent instruction that |
diff --git a/arch/x86/oprofile/backtrace.c b/arch/x86/oprofile/backtrace.c index 04df67f8a7ba..044897be021f 100644 --- a/arch/x86/oprofile/backtrace.c +++ b/arch/x86/oprofile/backtrace.c | |||
@@ -76,9 +76,9 @@ void | |||
76 | x86_backtrace(struct pt_regs * const regs, unsigned int depth) | 76 | x86_backtrace(struct pt_regs * const regs, unsigned int depth) |
77 | { | 77 | { |
78 | struct frame_head *head = (struct frame_head *)frame_pointer(regs); | 78 | struct frame_head *head = (struct frame_head *)frame_pointer(regs); |
79 | unsigned long stack = kernel_trap_sp(regs); | ||
80 | 79 | ||
81 | if (!user_mode_vm(regs)) { | 80 | if (!user_mode_vm(regs)) { |
81 | unsigned long stack = kernel_stack_pointer(regs); | ||
82 | if (depth) | 82 | if (depth) |
83 | dump_trace(NULL, regs, (unsigned long *)stack, 0, | 83 | dump_trace(NULL, regs, (unsigned long *)stack, 0, |
84 | &backtrace_ops, &depth); | 84 | &backtrace_ops, &depth); |
diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile index 3b767d03fd6a..172438f86a02 100644 --- a/arch/x86/xen/Makefile +++ b/arch/x86/xen/Makefile | |||
@@ -9,5 +9,6 @@ obj-y := enlighten.o setup.o multicalls.o mmu.o irq.o \ | |||
9 | time.o xen-asm.o xen-asm_$(BITS).o \ | 9 | time.o xen-asm.o xen-asm_$(BITS).o \ |
10 | grant-table.o suspend.o | 10 | grant-table.o suspend.o |
11 | 11 | ||
12 | obj-$(CONFIG_SMP) += smp.o spinlock.o | 12 | obj-$(CONFIG_SMP) += smp.o |
13 | obj-$(CONFIG_XEN_DEBUG_FS) += debugfs.o \ No newline at end of file | 13 | obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o |
14 | obj-$(CONFIG_XEN_DEBUG_FS) += debugfs.o | ||
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index e25a78e1113a..fba55b1a4021 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/highmem.h> | 42 | #include <linux/highmem.h> |
43 | #include <linux/debugfs.h> | 43 | #include <linux/debugfs.h> |
44 | #include <linux/bug.h> | 44 | #include <linux/bug.h> |
45 | #include <linux/module.h> | ||
45 | 46 | ||
46 | #include <asm/pgtable.h> | 47 | #include <asm/pgtable.h> |
47 | #include <asm/tlbflush.h> | 48 | #include <asm/tlbflush.h> |
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h index 20139464943c..ca6596b05d53 100644 --- a/arch/x86/xen/xen-ops.h +++ b/arch/x86/xen/xen-ops.h | |||
@@ -62,15 +62,26 @@ void xen_setup_vcpu_info_placement(void); | |||
62 | #ifdef CONFIG_SMP | 62 | #ifdef CONFIG_SMP |
63 | void xen_smp_init(void); | 63 | void xen_smp_init(void); |
64 | 64 | ||
65 | void __init xen_init_spinlocks(void); | ||
66 | __cpuinit void xen_init_lock_cpu(int cpu); | ||
67 | void xen_uninit_lock_cpu(int cpu); | ||
68 | |||
69 | extern cpumask_var_t xen_cpu_initialized_map; | 65 | extern cpumask_var_t xen_cpu_initialized_map; |
70 | #else | 66 | #else |
71 | static inline void xen_smp_init(void) {} | 67 | static inline void xen_smp_init(void) {} |
72 | #endif | 68 | #endif |
73 | 69 | ||
70 | #ifdef CONFIG_PARAVIRT_SPINLOCKS | ||
71 | void __init xen_init_spinlocks(void); | ||
72 | __cpuinit void xen_init_lock_cpu(int cpu); | ||
73 | void xen_uninit_lock_cpu(int cpu); | ||
74 | #else | ||
75 | static inline void xen_init_spinlocks(void) | ||
76 | { | ||
77 | } | ||
78 | static inline void xen_init_lock_cpu(int cpu) | ||
79 | { | ||
80 | } | ||
81 | static inline void xen_uninit_lock_cpu(int cpu) | ||
82 | { | ||
83 | } | ||
84 | #endif | ||
74 | 85 | ||
75 | /* Declare an asm function, along with symbols needed to make it | 86 | /* Declare an asm function, along with symbols needed to make it |
76 | inlineable */ | 87 | inlineable */ |
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index fa6dc4dd3b19..ebe228d02b08 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
@@ -80,6 +80,7 @@ config XTENSA_VARIANT_S6000 | |||
80 | bool "s6000 - Stretch software configurable processor" | 80 | bool "s6000 - Stretch software configurable processor" |
81 | select VARIANT_IRQ_SWITCH | 81 | select VARIANT_IRQ_SWITCH |
82 | select ARCH_REQUIRE_GPIOLIB | 82 | select ARCH_REQUIRE_GPIOLIB |
83 | select XTENSA_CALIBRATE_CCOUNT | ||
83 | endchoice | 84 | endchoice |
84 | 85 | ||
85 | config XTENSA_UNALIGNED_USER | 86 | config XTENSA_UNALIGNED_USER |
@@ -137,6 +138,8 @@ config PCI | |||
137 | 138 | ||
138 | source "drivers/pci/Kconfig" | 139 | source "drivers/pci/Kconfig" |
139 | 140 | ||
141 | endmenu | ||
142 | |||
140 | menu "Platform options" | 143 | menu "Platform options" |
141 | 144 | ||
142 | choice | 145 | choice |
@@ -153,8 +156,6 @@ config XTENSA_PLATFORM_ISS | |||
153 | 156 | ||
154 | config XTENSA_PLATFORM_XT2000 | 157 | config XTENSA_PLATFORM_XT2000 |
155 | bool "XT2000" | 158 | bool "XT2000" |
156 | select XTENSA_CALIBRATE_CCOUNT | ||
157 | select PCI | ||
158 | help | 159 | help |
159 | XT2000 is the name of Tensilica's feature-rich emulation platform. | 160 | XT2000 is the name of Tensilica's feature-rich emulation platform. |
160 | This hardware is capable of running a full Linux distribution. | 161 | This hardware is capable of running a full Linux distribution. |
@@ -192,8 +193,6 @@ config CMDLINE | |||
192 | 193 | ||
193 | source "mm/Kconfig" | 194 | source "mm/Kconfig" |
194 | 195 | ||
195 | endmenu | ||
196 | |||
197 | config HOTPLUG | 196 | config HOTPLUG |
198 | bool "Support for hot-pluggable devices" | 197 | bool "Support for hot-pluggable devices" |
199 | help | 198 | help |
diff --git a/arch/xtensa/configs/s6105_defconfig b/arch/xtensa/configs/s6105_defconfig index 6e1deff41590..768bee006037 100644 --- a/arch/xtensa/configs/s6105_defconfig +++ b/arch/xtensa/configs/s6105_defconfig | |||
@@ -115,7 +115,7 @@ CONFIG_XTENSA_VARIANT_S6000=y | |||
115 | CONFIG_PREEMPT=y | 115 | CONFIG_PREEMPT=y |
116 | # CONFIG_MATH_EMULATION is not set | 116 | # CONFIG_MATH_EMULATION is not set |
117 | # CONFIG_HIGHMEM is not set | 117 | # CONFIG_HIGHMEM is not set |
118 | # CONFIG_XTENSA_CALIBRATE_CCOUNT is not set | 118 | CONFIG_XTENSA_CALIBRATE_CCOUNT=y |
119 | CONFIG_SERIAL_CONSOLE=y | 119 | CONFIG_SERIAL_CONSOLE=y |
120 | # CONFIG_XTENSA_ISS_NETWORK is not set | 120 | # CONFIG_XTENSA_ISS_NETWORK is not set |
121 | 121 | ||
@@ -131,7 +131,6 @@ CONFIG_SERIAL_CONSOLE=y | |||
131 | # CONFIG_XTENSA_PLATFORM_ISS is not set | 131 | # CONFIG_XTENSA_PLATFORM_ISS is not set |
132 | # CONFIG_XTENSA_PLATFORM_XT2000 is not set | 132 | # CONFIG_XTENSA_PLATFORM_XT2000 is not set |
133 | CONFIG_XTENSA_PLATFORM_S6105=y | 133 | CONFIG_XTENSA_PLATFORM_S6105=y |
134 | CONFIG_XTENSA_CPU_CLOCK=300 | ||
135 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 134 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
136 | CONFIG_CMDLINE_BOOL=y | 135 | CONFIG_CMDLINE_BOOL=y |
137 | CONFIG_CMDLINE="console=ttyS1,38400 debug bootmem_debug loglevel=7" | 136 | CONFIG_CMDLINE="console=ttyS1,38400 debug bootmem_debug loglevel=7" |
diff --git a/arch/xtensa/include/asm/checksum.h b/arch/xtensa/include/asm/checksum.h index f84d3f00774a..e4d831a30772 100644 --- a/arch/xtensa/include/asm/checksum.h +++ b/arch/xtensa/include/asm/checksum.h | |||
@@ -113,7 +113,8 @@ static __inline__ __sum16 ip_fast_csum(const void *iph, unsigned int ihl) | |||
113 | are modified, we must also specify them as outputs, or gcc | 113 | are modified, we must also specify them as outputs, or gcc |
114 | will assume they contain their original values. */ | 114 | will assume they contain their original values. */ |
115 | : "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmp), "=&r" (endaddr) | 115 | : "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmp), "=&r" (endaddr) |
116 | : "1" (iph), "2" (ihl)); | 116 | : "1" (iph), "2" (ihl) |
117 | : "memory"); | ||
117 | 118 | ||
118 | return csum_fold(sum); | 119 | return csum_fold(sum); |
119 | } | 120 | } |
@@ -227,7 +228,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr, | |||
227 | "1:\t" | 228 | "1:\t" |
228 | : "=r" (sum), "=&r" (__dummy) | 229 | : "=r" (sum), "=&r" (__dummy) |
229 | : "r" (saddr), "r" (daddr), | 230 | : "r" (saddr), "r" (daddr), |
230 | "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)); | 231 | "r" (htonl(len)), "r" (htonl(proto)), "0" (sum) |
232 | : "memory"); | ||
231 | 233 | ||
232 | return csum_fold(sum); | 234 | return csum_fold(sum); |
233 | } | 235 | } |
diff --git a/arch/xtensa/include/asm/timex.h b/arch/xtensa/include/asm/timex.h index b83a8181d448..053bc4272106 100644 --- a/arch/xtensa/include/asm/timex.h +++ b/arch/xtensa/include/asm/timex.h | |||
@@ -39,9 +39,9 @@ | |||
39 | 39 | ||
40 | #ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT | 40 | #ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT |
41 | extern unsigned long ccount_per_jiffy; | 41 | extern unsigned long ccount_per_jiffy; |
42 | extern unsigned long ccount_nsec; | 42 | extern unsigned long nsec_per_ccount; |
43 | #define CCOUNT_PER_JIFFY ccount_per_jiffy | 43 | #define CCOUNT_PER_JIFFY ccount_per_jiffy |
44 | #define NSEC_PER_CCOUNT ccount_nsec | 44 | #define NSEC_PER_CCOUNT nsec_per_ccount |
45 | #else | 45 | #else |
46 | #define CCOUNT_PER_JIFFY (CONFIG_XTENSA_CPU_CLOCK*(1000000UL/HZ)) | 46 | #define CCOUNT_PER_JIFFY (CONFIG_XTENSA_CPU_CLOCK*(1000000UL/HZ)) |
47 | #define NSEC_PER_CCOUNT (1000UL / CONFIG_XTENSA_CPU_CLOCK) | 47 | #define NSEC_PER_CCOUNT (1000UL / CONFIG_XTENSA_CPU_CLOCK) |
diff --git a/arch/xtensa/kernel/Makefile b/arch/xtensa/kernel/Makefile index 7419dbccf027..fe3186de6a33 100644 --- a/arch/xtensa/kernel/Makefile +++ b/arch/xtensa/kernel/Makefile | |||
@@ -4,15 +4,30 @@ | |||
4 | 4 | ||
5 | extra-y := head.o vmlinux.lds | 5 | extra-y := head.o vmlinux.lds |
6 | 6 | ||
7 | |||
8 | obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o \ | 7 | obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o \ |
9 | setup.o signal.o syscall.o time.o traps.o vectors.o platform.o \ | 8 | setup.o signal.o syscall.o time.o traps.o vectors.o platform.o \ |
10 | pci-dma.o init_task.o io.o | 9 | pci-dma.o init_task.o io.o |
11 | 10 | ||
12 | ## windowspill.o | ||
13 | |||
14 | obj-$(CONFIG_KGDB) += xtensa-stub.o | 11 | obj-$(CONFIG_KGDB) += xtensa-stub.o |
15 | obj-$(CONFIG_PCI) += pci.o | 12 | obj-$(CONFIG_PCI) += pci.o |
16 | obj-$(CONFIG_MODULES) += xtensa_ksyms.o module.o | 13 | obj-$(CONFIG_MODULES) += xtensa_ksyms.o module.o |
17 | 14 | ||
15 | # In the Xtensa architecture, assembly generates literals which must always | ||
16 | # precede the L32R instruction with a relative offset less than 256 kB. | ||
17 | # Therefore, the .text and .literal section must be combined in parenthesis | ||
18 | # in the linker script, such as: *(.literal .text). | ||
19 | # | ||
20 | # We need to post-process the generated vmlinux.lds scripts to convert | ||
21 | # *(xxx.text) to *(xxx.literal xxx.text) for the following text sections: | ||
22 | # .text .ref.text .*init.text .*exit.text .text.* | ||
23 | # | ||
24 | # Replicate rules in scripts/Makefile.build | ||
25 | |||
26 | sed-y = -e 's/(\(\.[a-z]*it\|\.ref\|\)\.text)/(\1.literal \1.text)/g' \ | ||
27 | -e 's/(\(\.text\.[a-z]*\))/(\1.literal \1)/g' | ||
28 | |||
29 | quiet_cmd__cpp_lds_S = LDS $@ | ||
30 | cmd__cpp_lds_S = $(CPP) $(cpp_flags) -D__ASSEMBLY__ $< | sed $(sed-y) >$@ | ||
18 | 31 | ||
32 | $(obj)/vmlinux.lds: $(src)/vmlinux.lds.S FORCE | ||
33 | $(call if_changed_dep,_cpp_lds_S) | ||
diff --git a/arch/xtensa/kernel/traps.c b/arch/xtensa/kernel/traps.c index 9f0b71189e94..ba9ab9349782 100644 --- a/arch/xtensa/kernel/traps.c +++ b/arch/xtensa/kernel/traps.c | |||
@@ -369,6 +369,18 @@ void show_regs(struct pt_regs * regs) | |||
369 | regs->syscall); | 369 | regs->syscall); |
370 | } | 370 | } |
371 | 371 | ||
372 | static __always_inline unsigned long *stack_pointer(struct task_struct *task) | ||
373 | { | ||
374 | unsigned long *sp; | ||
375 | |||
376 | if (!task || task == current) | ||
377 | __asm__ __volatile__ ("mov %0, a1\n" : "=a"(sp)); | ||
378 | else | ||
379 | sp = (unsigned long *)task->thread.sp; | ||
380 | |||
381 | return sp; | ||
382 | } | ||
383 | |||
372 | void show_trace(struct task_struct *task, unsigned long *sp) | 384 | void show_trace(struct task_struct *task, unsigned long *sp) |
373 | { | 385 | { |
374 | unsigned long a0, a1, pc; | 386 | unsigned long a0, a1, pc; |
@@ -377,7 +389,7 @@ void show_trace(struct task_struct *task, unsigned long *sp) | |||
377 | if (sp) | 389 | if (sp) |
378 | a1 = (unsigned long)sp; | 390 | a1 = (unsigned long)sp; |
379 | else | 391 | else |
380 | a1 = task->thread.sp; | 392 | a1 = (unsigned long)stack_pointer(task); |
381 | 393 | ||
382 | sp_start = a1 & ~(THREAD_SIZE-1); | 394 | sp_start = a1 & ~(THREAD_SIZE-1); |
383 | sp_end = sp_start + THREAD_SIZE; | 395 | sp_end = sp_start + THREAD_SIZE; |
@@ -420,7 +432,7 @@ void show_stack(struct task_struct *task, unsigned long *sp) | |||
420 | unsigned long *stack; | 432 | unsigned long *stack; |
421 | 433 | ||
422 | if (!sp) | 434 | if (!sp) |
423 | sp = (unsigned long *)task->thread.sp; | 435 | sp = stack_pointer(task); |
424 | stack = sp; | 436 | stack = sp; |
425 | 437 | ||
426 | printk("\nStack: "); | 438 | printk("\nStack: "); |
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S index 5accf51053da..41c159cd872f 100644 --- a/arch/xtensa/kernel/vmlinux.lds.S +++ b/arch/xtensa/kernel/vmlinux.lds.S | |||
@@ -87,7 +87,7 @@ SECTIONS | |||
87 | { | 87 | { |
88 | /* The HEAD_TEXT section must be the first section! */ | 88 | /* The HEAD_TEXT section must be the first section! */ |
89 | HEAD_TEXT | 89 | HEAD_TEXT |
90 | *(.literal .text) | 90 | TEXT_TEXT |
91 | VMLINUX_SYMBOL(__sched_text_start) = .; | 91 | VMLINUX_SYMBOL(__sched_text_start) = .; |
92 | *(.sched.literal .sched.text) | 92 | *(.sched.literal .sched.text) |
93 | VMLINUX_SYMBOL(__sched_text_end) = .; | 93 | VMLINUX_SYMBOL(__sched_text_end) = .; |
@@ -139,8 +139,6 @@ SECTIONS | |||
139 | __init_begin = .; | 139 | __init_begin = .; |
140 | .init.text : { | 140 | .init.text : { |
141 | _sinittext = .; | 141 | _sinittext = .; |
142 | *(.init.literal) *(.cpuinit.literal) | ||
143 | *(.devinit.literal) *(.meminit.literal) | ||
144 | INIT_TEXT | 142 | INIT_TEXT |
145 | _einittext = .; | 143 | _einittext = .; |
146 | } | 144 | } |
diff --git a/arch/xtensa/platforms/s6105/setup.c b/arch/xtensa/platforms/s6105/setup.c index ae041d5027a2..855ddeadc43d 100644 --- a/arch/xtensa/platforms/s6105/setup.c +++ b/arch/xtensa/platforms/s6105/setup.c | |||
@@ -10,6 +10,8 @@ | |||
10 | #include <asm/bootparam.h> | 10 | #include <asm/bootparam.h> |
11 | 11 | ||
12 | #include <variant/hardware.h> | 12 | #include <variant/hardware.h> |
13 | #include <variant/gpio.h> | ||
14 | |||
13 | #include <platform/gpio.h> | 15 | #include <platform/gpio.h> |
14 | 16 | ||
15 | void platform_halt(void) | 17 | void platform_halt(void) |
@@ -47,6 +49,7 @@ void __init platform_setup(char **cmdline) | |||
47 | 49 | ||
48 | void __init platform_init(bp_tag_t *first) | 50 | void __init platform_init(bp_tag_t *first) |
49 | { | 51 | { |
52 | s6_gpio_init(); | ||
50 | gpio_request(GPIO_LED1_NGREEN, "led1_green"); | 53 | gpio_request(GPIO_LED1_NGREEN, "led1_green"); |
51 | gpio_request(GPIO_LED1_RED, "led1_red"); | 54 | gpio_request(GPIO_LED1_RED, "led1_red"); |
52 | gpio_direction_output(GPIO_LED1_NGREEN, 1); | 55 | gpio_direction_output(GPIO_LED1_NGREEN, 1); |
diff --git a/arch/xtensa/variants/s6000/Makefile b/arch/xtensa/variants/s6000/Makefile index 03b3975468bd..d83f3805130c 100644 --- a/arch/xtensa/variants/s6000/Makefile +++ b/arch/xtensa/variants/s6000/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # s6000 Makefile | 1 | # s6000 Makefile |
2 | 2 | ||
3 | obj-y += irq.o gpio.o | 3 | obj-y += irq.o gpio.o |
4 | obj-$(CONFIG_XTENSA_CALIBRATE_CCOUNT) += delay.o | ||
diff --git a/arch/xtensa/variants/s6000/delay.c b/arch/xtensa/variants/s6000/delay.c new file mode 100644 index 000000000000..54b2b573f166 --- /dev/null +++ b/arch/xtensa/variants/s6000/delay.c | |||
@@ -0,0 +1,27 @@ | |||
1 | #include <asm/delay.h> | ||
2 | #include <asm/timex.h> | ||
3 | #include <asm/io.h> | ||
4 | #include <variant/hardware.h> | ||
5 | |||
6 | #define LOOPS 10 | ||
7 | void platform_calibrate_ccount(void) | ||
8 | { | ||
9 | u32 uninitialized_var(a); | ||
10 | u32 uninitialized_var(u); | ||
11 | u32 b; | ||
12 | u32 tstamp = S6_REG_GREG1 + S6_GREG1_GLOBAL_TIMER; | ||
13 | int i = LOOPS+1; | ||
14 | do { | ||
15 | u32 t = u; | ||
16 | asm volatile( | ||
17 | "1: l32i %0, %2, 0 ;" | ||
18 | " beq %0, %1, 1b ;" | ||
19 | : "=&a"(u) : "a"(t), "a"(tstamp)); | ||
20 | b = xtensa_get_ccount(); | ||
21 | if (i == LOOPS) | ||
22 | a = b; | ||
23 | } while (--i >= 0); | ||
24 | b -= a; | ||
25 | nsec_per_ccount = (LOOPS * 10000) / b; | ||
26 | ccount_per_jiffy = b * (100000UL / (LOOPS * HZ)); | ||
27 | } | ||
diff --git a/arch/xtensa/variants/s6000/gpio.c b/arch/xtensa/variants/s6000/gpio.c index 33a8d952934c..79317fdcf14c 100644 --- a/arch/xtensa/variants/s6000/gpio.c +++ b/arch/xtensa/variants/s6000/gpio.c | |||
@@ -64,8 +64,7 @@ static struct gpio_chip gpiochip = { | |||
64 | .exported = 0, /* no exporting to userspace */ | 64 | .exported = 0, /* no exporting to userspace */ |
65 | }; | 65 | }; |
66 | 66 | ||
67 | static int gpio_init(void) | 67 | int s6_gpio_init(void) |
68 | { | 68 | { |
69 | return gpiochip_add(&gpiochip); | 69 | return gpiochip_add(&gpiochip); |
70 | } | 70 | } |
71 | device_initcall(gpio_init); | ||
diff --git a/arch/xtensa/variants/s6000/include/variant/gpio.h b/arch/xtensa/variants/s6000/include/variant/gpio.h new file mode 100644 index 000000000000..8327f62167eb --- /dev/null +++ b/arch/xtensa/variants/s6000/include/variant/gpio.h | |||
@@ -0,0 +1,6 @@ | |||
1 | #ifndef _XTENSA_VARIANT_S6000_GPIO_H | ||
2 | #define _XTENSA_VARIANT_S6000_GPIO_H | ||
3 | |||
4 | extern int s6_gpio_init(void); | ||
5 | |||
6 | #endif /* _XTENSA_VARIANT_S6000_GPIO_H */ | ||
diff --git a/block/blk-core.c b/block/blk-core.c index 2998fe3a2377..c89883be8737 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -1768,10 +1768,10 @@ static int __end_that_request_first(struct request *req, int error, | |||
1768 | } else { | 1768 | } else { |
1769 | int idx = bio->bi_idx + next_idx; | 1769 | int idx = bio->bi_idx + next_idx; |
1770 | 1770 | ||
1771 | if (unlikely(bio->bi_idx >= bio->bi_vcnt)) { | 1771 | if (unlikely(idx >= bio->bi_vcnt)) { |
1772 | blk_dump_rq_flags(req, "__end_that"); | 1772 | blk_dump_rq_flags(req, "__end_that"); |
1773 | printk(KERN_ERR "%s: bio idx %d >= vcnt %d\n", | 1773 | printk(KERN_ERR "%s: bio idx %d >= vcnt %d\n", |
1774 | __func__, bio->bi_idx, bio->bi_vcnt); | 1774 | __func__, idx, bio->bi_vcnt); |
1775 | break; | 1775 | break; |
1776 | } | 1776 | } |
1777 | 1777 | ||
diff --git a/crypto/ahash.c b/crypto/ahash.c index b2d1ee32cfe8..f3476374f764 100644 --- a/crypto/ahash.c +++ b/crypto/ahash.c | |||
@@ -82,10 +82,11 @@ int crypto_hash_walk_done(struct crypto_hash_walk *walk, int err) | |||
82 | if (err) | 82 | if (err) |
83 | return err; | 83 | return err; |
84 | 84 | ||
85 | walk->offset = 0; | 85 | if (nbytes) { |
86 | 86 | walk->offset = 0; | |
87 | if (nbytes) | 87 | walk->pg++; |
88 | return hash_walk_next(walk); | 88 | return hash_walk_next(walk); |
89 | } | ||
89 | 90 | ||
90 | if (!walk->total) | 91 | if (!walk->total) |
91 | return 0; | 92 | return 0; |
diff --git a/crypto/api.c b/crypto/api.c index 314dab96840e..fd2545decb28 100644 --- a/crypto/api.c +++ b/crypto/api.c | |||
@@ -221,7 +221,8 @@ struct crypto_alg *crypto_larval_lookup(const char *name, u32 type, u32 mask) | |||
221 | 221 | ||
222 | request_module(name); | 222 | request_module(name); |
223 | 223 | ||
224 | if (!((type ^ CRYPTO_ALG_NEED_FALLBACK) & mask) && | 224 | if (!((type ^ CRYPTO_ALG_NEED_FALLBACK) & mask & |
225 | CRYPTO_ALG_NEED_FALLBACK) && | ||
225 | snprintf(tmp, sizeof(tmp), "%s-all", name) < sizeof(tmp)) | 226 | snprintf(tmp, sizeof(tmp), "%s-all", name) < sizeof(tmp)) |
226 | request_module(tmp); | 227 | request_module(tmp); |
227 | 228 | ||
diff --git a/crypto/eseqiv.c b/crypto/eseqiv.c index 2a342c8e52b3..3ca3b669d5d5 100644 --- a/crypto/eseqiv.c +++ b/crypto/eseqiv.c | |||
@@ -153,7 +153,8 @@ static int eseqiv_givencrypt(struct skcipher_givcrypt_request *req) | |||
153 | if (err) | 153 | if (err) |
154 | goto out; | 154 | goto out; |
155 | 155 | ||
156 | eseqiv_complete2(req); | 156 | if (giv != req->giv) |
157 | eseqiv_complete2(req); | ||
157 | 158 | ||
158 | out: | 159 | out: |
159 | return err; | 160 | return err; |
diff --git a/drivers/acpi/acpica/Makefile b/drivers/acpi/acpica/Makefile index 17e50824a6f1..72ac28da14e3 100644 --- a/drivers/acpi/acpica/Makefile +++ b/drivers/acpi/acpica/Makefile | |||
@@ -5,40 +5,43 @@ | |||
5 | ccflags-y := -Os | 5 | ccflags-y := -Os |
6 | ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT | 6 | ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT |
7 | 7 | ||
8 | obj-y := dsfield.o dsmthdat.o dsopcode.o dswexec.o dswscope.o \ | 8 | # use acpi.o to put all files here into acpi.o modparam namespace |
9 | obj-y += acpi.o | ||
10 | |||
11 | acpi-y := dsfield.o dsmthdat.o dsopcode.o dswexec.o dswscope.o \ | ||
9 | dsmethod.o dsobject.o dsutils.o dswload.o dswstate.o \ | 12 | dsmethod.o dsobject.o dsutils.o dswload.o dswstate.o \ |
10 | dsinit.o | 13 | dsinit.o |
11 | 14 | ||
12 | obj-y += evevent.o evregion.o evsci.o evxfevnt.o \ | 15 | acpi-y += evevent.o evregion.o evsci.o evxfevnt.o \ |
13 | evmisc.o evrgnini.o evxface.o evxfregn.o \ | 16 | evmisc.o evrgnini.o evxface.o evxfregn.o \ |
14 | evgpe.o evgpeblk.o | 17 | evgpe.o evgpeblk.o |
15 | 18 | ||
16 | obj-y += exconfig.o exfield.o exnames.o exoparg6.o exresolv.o exstorob.o\ | 19 | acpi-y += exconfig.o exfield.o exnames.o exoparg6.o exresolv.o exstorob.o\ |
17 | exconvrt.o exfldio.o exoparg1.o exprep.o exresop.o exsystem.o\ | 20 | exconvrt.o exfldio.o exoparg1.o exprep.o exresop.o exsystem.o\ |
18 | excreate.o exmisc.o exoparg2.o exregion.o exstore.o exutils.o \ | 21 | excreate.o exmisc.o exoparg2.o exregion.o exstore.o exutils.o \ |
19 | exdump.o exmutex.o exoparg3.o exresnte.o exstoren.o | 22 | exdump.o exmutex.o exoparg3.o exresnte.o exstoren.o |
20 | 23 | ||
21 | obj-y += hwacpi.o hwgpe.o hwregs.o hwsleep.o hwxface.o hwvalid.o | 24 | acpi-y += hwacpi.o hwgpe.o hwregs.o hwsleep.o hwxface.o hwvalid.o |
22 | 25 | ||
23 | obj-$(ACPI_FUTURE_USAGE) += hwtimer.o | 26 | acpi-$(ACPI_FUTURE_USAGE) += hwtimer.o |
24 | 27 | ||
25 | obj-y += nsaccess.o nsload.o nssearch.o nsxfeval.o \ | 28 | acpi-y += nsaccess.o nsload.o nssearch.o nsxfeval.o \ |
26 | nsalloc.o nseval.o nsnames.o nsutils.o nsxfname.o \ | 29 | nsalloc.o nseval.o nsnames.o nsutils.o nsxfname.o \ |
27 | nsdump.o nsinit.o nsobject.o nswalk.o nsxfobj.o \ | 30 | nsdump.o nsinit.o nsobject.o nswalk.o nsxfobj.o \ |
28 | nsparse.o nspredef.o | 31 | nsparse.o nspredef.o |
29 | 32 | ||
30 | obj-$(ACPI_FUTURE_USAGE) += nsdumpdv.o | 33 | acpi-$(ACPI_FUTURE_USAGE) += nsdumpdv.o |
31 | 34 | ||
32 | obj-y += psargs.o psparse.o psloop.o pstree.o pswalk.o \ | 35 | acpi-y += psargs.o psparse.o psloop.o pstree.o pswalk.o \ |
33 | psopcode.o psscope.o psutils.o psxface.o | 36 | psopcode.o psscope.o psutils.o psxface.o |
34 | 37 | ||
35 | obj-y += rsaddr.o rscreate.o rsinfo.o rsio.o rslist.o rsmisc.o rsxface.o \ | 38 | acpi-y += rsaddr.o rscreate.o rsinfo.o rsio.o rslist.o rsmisc.o rsxface.o \ |
36 | rscalc.o rsirq.o rsmemory.o rsutils.o | 39 | rscalc.o rsirq.o rsmemory.o rsutils.o |
37 | 40 | ||
38 | obj-$(ACPI_FUTURE_USAGE) += rsdump.o | 41 | acpi-$(ACPI_FUTURE_USAGE) += rsdump.o |
39 | 42 | ||
40 | obj-y += tbxface.o tbinstal.o tbutils.o tbfind.o tbfadt.o tbxfroot.o | 43 | acpi-y += tbxface.o tbinstal.o tbutils.o tbfind.o tbfadt.o tbxfroot.o |
41 | 44 | ||
42 | obj-y += utalloc.o utdebug.o uteval.o utinit.o utmisc.o utxface.o \ | 45 | acpi-y += utalloc.o utdebug.o uteval.o utinit.o utmisc.o utxface.o \ |
43 | utcopy.o utdelete.o utglobal.o utmath.o utobject.o \ | 46 | utcopy.o utdelete.o utglobal.o utmath.o utobject.o \ |
44 | utstate.o utmutex.o utobject.o utresrc.o utlock.o | 47 | utstate.o utmutex.o utobject.o utresrc.o utlock.o |
diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h index 772ee5c4ccca..2ec394a328e9 100644 --- a/drivers/acpi/acpica/aclocal.h +++ b/drivers/acpi/acpica/aclocal.h | |||
@@ -787,7 +787,12 @@ struct acpi_bit_register_info { | |||
787 | 787 | ||
788 | /* For control registers, both ignored and reserved bits must be preserved */ | 788 | /* For control registers, both ignored and reserved bits must be preserved */ |
789 | 789 | ||
790 | #define ACPI_PM1_CONTROL_IGNORED_BITS 0x0201 /* Bits 9, 0(SCI_EN) */ | 790 | /* |
791 | * The ACPI spec says to ignore PM1_CTL.SCI_EN (bit 0) | ||
792 | * but we need to be able to write ACPI_BITREG_SCI_ENABLE directly | ||
793 | * as a BIOS workaround on some machines. | ||
794 | */ | ||
795 | #define ACPI_PM1_CONTROL_IGNORED_BITS 0x0200 /* Bits 9 */ | ||
791 | #define ACPI_PM1_CONTROL_RESERVED_BITS 0xC1F8 /* Bits 14-15, 3-8 */ | 796 | #define ACPI_PM1_CONTROL_RESERVED_BITS 0xC1F8 /* Bits 14-15, 3-8 */ |
792 | #define ACPI_PM1_CONTROL_PRESERVED_BITS \ | 797 | #define ACPI_PM1_CONTROL_PRESERVED_BITS \ |
793 | (ACPI_PM1_CONTROL_IGNORED_BITS | ACPI_PM1_CONTROL_RESERVED_BITS) | 798 | (ACPI_PM1_CONTROL_IGNORED_BITS | ACPI_PM1_CONTROL_RESERVED_BITS) |
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index e8f7b64e92da..ae862f1798dc 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c | |||
@@ -312,7 +312,7 @@ int acpi_bus_set_power(acpi_handle handle, int state) | |||
312 | end: | 312 | end: |
313 | if (result) | 313 | if (result) |
314 | printk(KERN_WARNING PREFIX | 314 | printk(KERN_WARNING PREFIX |
315 | "Transitioning device [%s] to D%d\n", | 315 | "Device [%s] failed to transition to D%d\n", |
316 | device->pnp.bus_id, state); | 316 | device->pnp.bus_id, state); |
317 | else { | 317 | else { |
318 | device->power.state = state; | 318 | device->power.state = state; |
diff --git a/drivers/acpi/pci_bind.c b/drivers/acpi/pci_bind.c index 95650f83ce2e..bc46de3d967f 100644 --- a/drivers/acpi/pci_bind.c +++ b/drivers/acpi/pci_bind.c | |||
@@ -116,9 +116,6 @@ int acpi_pci_bind(struct acpi_device *device) | |||
116 | struct acpi_pci_data *pdata; | 116 | struct acpi_pci_data *pdata; |
117 | struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; | 117 | struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; |
118 | acpi_handle handle; | 118 | acpi_handle handle; |
119 | struct pci_dev *dev; | ||
120 | struct pci_bus *bus; | ||
121 | |||
122 | 119 | ||
123 | if (!device || !device->parent) | 120 | if (!device || !device->parent) |
124 | return -EINVAL; | 121 | return -EINVAL; |
@@ -176,20 +173,9 @@ int acpi_pci_bind(struct acpi_device *device) | |||
176 | * Locate matching device in PCI namespace. If it doesn't exist | 173 | * Locate matching device in PCI namespace. If it doesn't exist |
177 | * this typically means that the device isn't currently inserted | 174 | * this typically means that the device isn't currently inserted |
178 | * (e.g. docking station, port replicator, etc.). | 175 | * (e.g. docking station, port replicator, etc.). |
179 | * We cannot simply search the global pci device list, since | ||
180 | * PCI devices are added to the global pci list when the root | ||
181 | * bridge start ops are run, which may not have happened yet. | ||
182 | */ | 176 | */ |
183 | bus = pci_find_bus(data->id.segment, data->id.bus); | 177 | data->dev = pci_get_slot(pdata->bus, |
184 | if (bus) { | 178 | PCI_DEVFN(data->id.device, data->id.function)); |
185 | list_for_each_entry(dev, &bus->devices, bus_list) { | ||
186 | if (dev->devfn == PCI_DEVFN(data->id.device, | ||
187 | data->id.function)) { | ||
188 | data->dev = dev; | ||
189 | break; | ||
190 | } | ||
191 | } | ||
192 | } | ||
193 | if (!data->dev) { | 179 | if (!data->dev) { |
194 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, | 180 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, |
195 | "Device %04x:%02x:%02x.%d not present in PCI namespace\n", | 181 | "Device %04x:%02x:%02x.%d not present in PCI namespace\n", |
@@ -259,9 +245,10 @@ int acpi_pci_bind(struct acpi_device *device) | |||
259 | 245 | ||
260 | end: | 246 | end: |
261 | kfree(buffer.pointer); | 247 | kfree(buffer.pointer); |
262 | if (result) | 248 | if (result) { |
249 | pci_dev_put(data->dev); | ||
263 | kfree(data); | 250 | kfree(data); |
264 | 251 | } | |
265 | return result; | 252 | return result; |
266 | } | 253 | } |
267 | 254 | ||
@@ -303,6 +290,7 @@ static int acpi_pci_unbind(struct acpi_device *device) | |||
303 | if (data->dev->subordinate) { | 290 | if (data->dev->subordinate) { |
304 | acpi_pci_irq_del_prt(data->id.segment, data->bus->number); | 291 | acpi_pci_irq_del_prt(data->id.segment, data->bus->number); |
305 | } | 292 | } |
293 | pci_dev_put(data->dev); | ||
306 | kfree(data); | 294 | kfree(data); |
307 | 295 | ||
308 | end: | 296 | end: |
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index f7ca8c55956b..10a2d913635a 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c | |||
@@ -148,6 +148,9 @@ static void acpi_timer_check_state(int state, struct acpi_processor *pr, | |||
148 | if (cpu_has(&cpu_data(pr->id), X86_FEATURE_ARAT)) | 148 | if (cpu_has(&cpu_data(pr->id), X86_FEATURE_ARAT)) |
149 | return; | 149 | return; |
150 | 150 | ||
151 | if (boot_cpu_has(X86_FEATURE_AMDC1E)) | ||
152 | type = ACPI_STATE_C1; | ||
153 | |||
151 | /* | 154 | /* |
152 | * Check, if one of the previous states already marked the lapic | 155 | * Check, if one of the previous states already marked the lapic |
153 | * unstable | 156 | * unstable |
@@ -202,21 +205,44 @@ static void acpi_state_timer_broadcast(struct acpi_processor *pr, | |||
202 | * Suspend / resume control | 205 | * Suspend / resume control |
203 | */ | 206 | */ |
204 | static int acpi_idle_suspend; | 207 | static int acpi_idle_suspend; |
208 | static u32 saved_bm_rld; | ||
209 | |||
210 | static void acpi_idle_bm_rld_save(void) | ||
211 | { | ||
212 | acpi_read_bit_register(ACPI_BITREG_BUS_MASTER_RLD, &saved_bm_rld); | ||
213 | } | ||
214 | static void acpi_idle_bm_rld_restore(void) | ||
215 | { | ||
216 | u32 resumed_bm_rld; | ||
217 | |||
218 | acpi_read_bit_register(ACPI_BITREG_BUS_MASTER_RLD, &resumed_bm_rld); | ||
219 | |||
220 | if (resumed_bm_rld != saved_bm_rld) | ||
221 | acpi_write_bit_register(ACPI_BITREG_BUS_MASTER_RLD, saved_bm_rld); | ||
222 | } | ||
205 | 223 | ||
206 | int acpi_processor_suspend(struct acpi_device * device, pm_message_t state) | 224 | int acpi_processor_suspend(struct acpi_device * device, pm_message_t state) |
207 | { | 225 | { |
226 | if (acpi_idle_suspend == 1) | ||
227 | return 0; | ||
228 | |||
229 | acpi_idle_bm_rld_save(); | ||
208 | acpi_idle_suspend = 1; | 230 | acpi_idle_suspend = 1; |
209 | return 0; | 231 | return 0; |
210 | } | 232 | } |
211 | 233 | ||
212 | int acpi_processor_resume(struct acpi_device * device) | 234 | int acpi_processor_resume(struct acpi_device * device) |
213 | { | 235 | { |
236 | if (acpi_idle_suspend == 0) | ||
237 | return 0; | ||
238 | |||
239 | acpi_idle_bm_rld_restore(); | ||
214 | acpi_idle_suspend = 0; | 240 | acpi_idle_suspend = 0; |
215 | return 0; | 241 | return 0; |
216 | } | 242 | } |
217 | 243 | ||
218 | #if defined (CONFIG_GENERIC_TIME) && defined (CONFIG_X86) | 244 | #if defined (CONFIG_GENERIC_TIME) && defined (CONFIG_X86) |
219 | static int tsc_halts_in_c(int state) | 245 | static void tsc_check_state(int state) |
220 | { | 246 | { |
221 | switch (boot_cpu_data.x86_vendor) { | 247 | switch (boot_cpu_data.x86_vendor) { |
222 | case X86_VENDOR_AMD: | 248 | case X86_VENDOR_AMD: |
@@ -226,13 +252,17 @@ static int tsc_halts_in_c(int state) | |||
226 | * C/P/S0/S1 states when this bit is set. | 252 | * C/P/S0/S1 states when this bit is set. |
227 | */ | 253 | */ |
228 | if (boot_cpu_has(X86_FEATURE_NONSTOP_TSC)) | 254 | if (boot_cpu_has(X86_FEATURE_NONSTOP_TSC)) |
229 | return 0; | 255 | return; |
230 | 256 | ||
231 | /*FALL THROUGH*/ | 257 | /*FALL THROUGH*/ |
232 | default: | 258 | default: |
233 | return state > ACPI_STATE_C1; | 259 | /* TSC could halt in idle, so notify users */ |
260 | if (state > ACPI_STATE_C1) | ||
261 | mark_tsc_unstable("TSC halts in idle"); | ||
234 | } | 262 | } |
235 | } | 263 | } |
264 | #else | ||
265 | static void tsc_check_state(int state) { return; } | ||
236 | #endif | 266 | #endif |
237 | 267 | ||
238 | static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr) | 268 | static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr) |
@@ -578,17 +608,13 @@ static int acpi_processor_power_verify(struct acpi_processor *pr) | |||
578 | 608 | ||
579 | pr->power.timer_broadcast_on_state = INT_MAX; | 609 | pr->power.timer_broadcast_on_state = INT_MAX; |
580 | 610 | ||
581 | for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) { | 611 | for (i = 1; i < ACPI_PROCESSOR_MAX_POWER && i <= max_cstate; i++) { |
582 | struct acpi_processor_cx *cx = &pr->power.states[i]; | 612 | struct acpi_processor_cx *cx = &pr->power.states[i]; |
583 | 613 | ||
584 | #if defined (CONFIG_GENERIC_TIME) && defined (CONFIG_X86) | ||
585 | /* TSC could halt in idle, so notify users */ | ||
586 | if (tsc_halts_in_c(cx->type)) | ||
587 | mark_tsc_unstable("TSC halts in idle");; | ||
588 | #endif | ||
589 | switch (cx->type) { | 614 | switch (cx->type) { |
590 | case ACPI_STATE_C1: | 615 | case ACPI_STATE_C1: |
591 | cx->valid = 1; | 616 | cx->valid = 1; |
617 | acpi_timer_check_state(i, pr, cx); | ||
592 | break; | 618 | break; |
593 | 619 | ||
594 | case ACPI_STATE_C2: | 620 | case ACPI_STATE_C2: |
@@ -603,6 +629,8 @@ static int acpi_processor_power_verify(struct acpi_processor *pr) | |||
603 | acpi_timer_check_state(i, pr, cx); | 629 | acpi_timer_check_state(i, pr, cx); |
604 | break; | 630 | break; |
605 | } | 631 | } |
632 | if (cx->valid) | ||
633 | tsc_check_state(cx->type); | ||
606 | 634 | ||
607 | if (cx->valid) | 635 | if (cx->valid) |
608 | working++; | 636 | working++; |
@@ -806,11 +834,12 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev, | |||
806 | 834 | ||
807 | /* Do not access any ACPI IO ports in suspend path */ | 835 | /* Do not access any ACPI IO ports in suspend path */ |
808 | if (acpi_idle_suspend) { | 836 | if (acpi_idle_suspend) { |
809 | acpi_safe_halt(); | ||
810 | local_irq_enable(); | 837 | local_irq_enable(); |
838 | cpu_relax(); | ||
811 | return 0; | 839 | return 0; |
812 | } | 840 | } |
813 | 841 | ||
842 | acpi_state_timer_broadcast(pr, cx, 1); | ||
814 | kt1 = ktime_get_real(); | 843 | kt1 = ktime_get_real(); |
815 | acpi_idle_do_entry(cx); | 844 | acpi_idle_do_entry(cx); |
816 | kt2 = ktime_get_real(); | 845 | kt2 = ktime_get_real(); |
@@ -818,6 +847,7 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev, | |||
818 | 847 | ||
819 | local_irq_enable(); | 848 | local_irq_enable(); |
820 | cx->usage++; | 849 | cx->usage++; |
850 | acpi_state_timer_broadcast(pr, cx, 0); | ||
821 | 851 | ||
822 | return idle_time; | 852 | return idle_time; |
823 | } | 853 | } |
diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c index cafb41000f6b..60e543d3234e 100644 --- a/drivers/acpi/processor_perflib.c +++ b/drivers/acpi/processor_perflib.c | |||
@@ -309,9 +309,15 @@ static int acpi_processor_get_performance_states(struct acpi_processor *pr) | |||
309 | (u32) px->bus_master_latency, | 309 | (u32) px->bus_master_latency, |
310 | (u32) px->control, (u32) px->status)); | 310 | (u32) px->control, (u32) px->status)); |
311 | 311 | ||
312 | if (!px->core_frequency) { | 312 | /* |
313 | printk(KERN_ERR PREFIX | 313 | * Check that ACPI's u64 MHz will be valid as u32 KHz in cpufreq |
314 | "Invalid _PSS data: freq is zero\n"); | 314 | */ |
315 | if (!px->core_frequency || | ||
316 | ((u32)(px->core_frequency * 1000) != | ||
317 | (px->core_frequency * 1000))) { | ||
318 | printk(KERN_ERR FW_BUG PREFIX | ||
319 | "Invalid BIOS _PSS frequency: 0x%llx MHz\n", | ||
320 | px->core_frequency); | ||
315 | result = -EFAULT; | 321 | result = -EFAULT; |
316 | kfree(pr->performance->states); | 322 | kfree(pr->performance->states); |
317 | goto end; | 323 | goto end; |
diff --git a/drivers/acpi/processor_throttling.c b/drivers/acpi/processor_throttling.c index d0d1f4d50434..227543789ba9 100644 --- a/drivers/acpi/processor_throttling.c +++ b/drivers/acpi/processor_throttling.c | |||
@@ -45,6 +45,14 @@ | |||
45 | #define _COMPONENT ACPI_PROCESSOR_COMPONENT | 45 | #define _COMPONENT ACPI_PROCESSOR_COMPONENT |
46 | ACPI_MODULE_NAME("processor_throttling"); | 46 | ACPI_MODULE_NAME("processor_throttling"); |
47 | 47 | ||
48 | /* ignore_tpc: | ||
49 | * 0 -> acpi processor driver doesn't ignore _TPC values | ||
50 | * 1 -> acpi processor driver ignores _TPC values | ||
51 | */ | ||
52 | static int ignore_tpc; | ||
53 | module_param(ignore_tpc, int, 0644); | ||
54 | MODULE_PARM_DESC(ignore_tpc, "Disable broken BIOS _TPC throttling support"); | ||
55 | |||
48 | struct throttling_tstate { | 56 | struct throttling_tstate { |
49 | unsigned int cpu; /* cpu nr */ | 57 | unsigned int cpu; /* cpu nr */ |
50 | int target_state; /* target T-state */ | 58 | int target_state; /* target T-state */ |
@@ -283,6 +291,10 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr) | |||
283 | 291 | ||
284 | if (!pr) | 292 | if (!pr) |
285 | return -EINVAL; | 293 | return -EINVAL; |
294 | |||
295 | if (ignore_tpc) | ||
296 | goto end; | ||
297 | |||
286 | status = acpi_evaluate_integer(pr->handle, "_TPC", NULL, &tpc); | 298 | status = acpi_evaluate_integer(pr->handle, "_TPC", NULL, &tpc); |
287 | if (ACPI_FAILURE(status)) { | 299 | if (ACPI_FAILURE(status)) { |
288 | if (status != AE_NOT_FOUND) { | 300 | if (status != AE_NOT_FOUND) { |
@@ -290,6 +302,8 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr) | |||
290 | } | 302 | } |
291 | return -ENODEV; | 303 | return -ENODEV; |
292 | } | 304 | } |
305 | |||
306 | end: | ||
293 | pr->throttling_platform_limit = (int)tpc; | 307 | pr->throttling_platform_limit = (int)tpc; |
294 | return 0; | 308 | return 0; |
295 | } | 309 | } |
@@ -302,6 +316,9 @@ int acpi_processor_tstate_has_changed(struct acpi_processor *pr) | |||
302 | struct acpi_processor_limit *limit; | 316 | struct acpi_processor_limit *limit; |
303 | int target_state; | 317 | int target_state; |
304 | 318 | ||
319 | if (ignore_tpc) | ||
320 | return 0; | ||
321 | |||
305 | result = acpi_processor_get_platform_limit(pr); | 322 | result = acpi_processor_get_platform_limit(pr); |
306 | if (result) { | 323 | if (result) { |
307 | /* Throttling Limit is unsupported */ | 324 | /* Throttling Limit is unsupported */ |
@@ -821,6 +838,14 @@ static int acpi_processor_get_throttling_ptc(struct acpi_processor *pr) | |||
821 | ret = acpi_read_throttling_status(pr, &value); | 838 | ret = acpi_read_throttling_status(pr, &value); |
822 | if (ret >= 0) { | 839 | if (ret >= 0) { |
823 | state = acpi_get_throttling_state(pr, value); | 840 | state = acpi_get_throttling_state(pr, value); |
841 | if (state == -1) { | ||
842 | ACPI_WARNING((AE_INFO, | ||
843 | "Invalid throttling state, reset")); | ||
844 | state = 0; | ||
845 | ret = acpi_processor_set_throttling(pr, state); | ||
846 | if (ret) | ||
847 | return ret; | ||
848 | } | ||
824 | pr->throttling.state = state; | 849 | pr->throttling.state = state; |
825 | } | 850 | } |
826 | 851 | ||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index d7ff61c0d571..1bdfb37377e3 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
@@ -538,6 +538,57 @@ acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) | |||
538 | return -EINVAL; | 538 | return -EINVAL; |
539 | } | 539 | } |
540 | 540 | ||
541 | /* | ||
542 | * For some buggy _BQC methods, we need to add a constant value to | ||
543 | * the _BQC return value to get the actual current brightness level | ||
544 | */ | ||
545 | |||
546 | static int bqc_offset_aml_bug_workaround; | ||
547 | static int __init video_set_bqc_offset(const struct dmi_system_id *d) | ||
548 | { | ||
549 | bqc_offset_aml_bug_workaround = 9; | ||
550 | return 0; | ||
551 | } | ||
552 | |||
553 | static struct dmi_system_id video_dmi_table[] __initdata = { | ||
554 | /* | ||
555 | * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121 | ||
556 | */ | ||
557 | { | ||
558 | .callback = video_set_bqc_offset, | ||
559 | .ident = "Acer Aspire 5720", | ||
560 | .matches = { | ||
561 | DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), | ||
562 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5720"), | ||
563 | }, | ||
564 | }, | ||
565 | { | ||
566 | .callback = video_set_bqc_offset, | ||
567 | .ident = "Acer Aspire 5710Z", | ||
568 | .matches = { | ||
569 | DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), | ||
570 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5710Z"), | ||
571 | }, | ||
572 | }, | ||
573 | { | ||
574 | .callback = video_set_bqc_offset, | ||
575 | .ident = "eMachines E510", | ||
576 | .matches = { | ||
577 | DMI_MATCH(DMI_BOARD_VENDOR, "EMACHINES"), | ||
578 | DMI_MATCH(DMI_PRODUCT_NAME, "eMachines E510"), | ||
579 | }, | ||
580 | }, | ||
581 | { | ||
582 | .callback = video_set_bqc_offset, | ||
583 | .ident = "Acer Aspire 5315", | ||
584 | .matches = { | ||
585 | DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), | ||
586 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5315"), | ||
587 | }, | ||
588 | }, | ||
589 | {} | ||
590 | }; | ||
591 | |||
541 | static int | 592 | static int |
542 | acpi_video_device_lcd_get_level_current(struct acpi_video_device *device, | 593 | acpi_video_device_lcd_get_level_current(struct acpi_video_device *device, |
543 | unsigned long long *level) | 594 | unsigned long long *level) |
@@ -557,6 +608,7 @@ acpi_video_device_lcd_get_level_current(struct acpi_video_device *device, | |||
557 | *level = device->brightness->levels[*level + 2]; | 608 | *level = device->brightness->levels[*level + 2]; |
558 | 609 | ||
559 | } | 610 | } |
611 | *level += bqc_offset_aml_bug_workaround; | ||
560 | device->brightness->curr = *level; | 612 | device->brightness->curr = *level; |
561 | return 0; | 613 | return 0; |
562 | } else { | 614 | } else { |
@@ -2290,13 +2342,15 @@ EXPORT_SYMBOL(acpi_video_register); | |||
2290 | 2342 | ||
2291 | static int __init acpi_video_init(void) | 2343 | static int __init acpi_video_init(void) |
2292 | { | 2344 | { |
2345 | dmi_check_system(video_dmi_table); | ||
2346 | |||
2293 | if (intel_opregion_present()) | 2347 | if (intel_opregion_present()) |
2294 | return 0; | 2348 | return 0; |
2295 | 2349 | ||
2296 | return acpi_video_register(); | 2350 | return acpi_video_register(); |
2297 | } | 2351 | } |
2298 | 2352 | ||
2299 | void __exit acpi_video_exit(void) | 2353 | void acpi_video_exit(void) |
2300 | { | 2354 | { |
2301 | 2355 | ||
2302 | acpi_bus_unregister_driver(&acpi_video_bus); | 2356 | acpi_bus_unregister_driver(&acpi_video_bus); |
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index 942d14ac8792..d51a17c0f59b 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c | |||
@@ -72,6 +72,7 @@ | |||
72 | * ICH2 spec c #20 - IDE PRD must not cross a 64K boundary | 72 | * ICH2 spec c #20 - IDE PRD must not cross a 64K boundary |
73 | * and must be dword aligned | 73 | * and must be dword aligned |
74 | * ICH2 spec c #24 - UDMA mode 4,5 t85/86 should be 6ns not 3.3 | 74 | * ICH2 spec c #24 - UDMA mode 4,5 t85/86 should be 6ns not 3.3 |
75 | * ICH7 errata #16 - MWDMA1 timings are incorrect | ||
75 | * | 76 | * |
76 | * Should have been BIOS fixed: | 77 | * Should have been BIOS fixed: |
77 | * 450NX: errata #19 - DMA hangs on old 450NX | 78 | * 450NX: errata #19 - DMA hangs on old 450NX |
@@ -94,7 +95,7 @@ | |||
94 | #include <linux/dmi.h> | 95 | #include <linux/dmi.h> |
95 | 96 | ||
96 | #define DRV_NAME "ata_piix" | 97 | #define DRV_NAME "ata_piix" |
97 | #define DRV_VERSION "2.12" | 98 | #define DRV_VERSION "2.13" |
98 | 99 | ||
99 | enum { | 100 | enum { |
100 | PIIX_IOCFG = 0x54, /* IDE I/O configuration register */ | 101 | PIIX_IOCFG = 0x54, /* IDE I/O configuration register */ |
@@ -136,6 +137,7 @@ enum piix_controller_ids { | |||
136 | ich_pata_33, /* ICH up to UDMA 33 only */ | 137 | ich_pata_33, /* ICH up to UDMA 33 only */ |
137 | ich_pata_66, /* ICH up to 66 Mhz */ | 138 | ich_pata_66, /* ICH up to 66 Mhz */ |
138 | ich_pata_100, /* ICH up to UDMA 100 */ | 139 | ich_pata_100, /* ICH up to UDMA 100 */ |
140 | ich_pata_100_nomwdma1, /* ICH up to UDMA 100 but with no MWDMA1*/ | ||
139 | ich5_sata, | 141 | ich5_sata, |
140 | ich6_sata, | 142 | ich6_sata, |
141 | ich6m_sata, | 143 | ich6m_sata, |
@@ -216,8 +218,8 @@ static const struct pci_device_id piix_pci_tbl[] = { | |||
216 | /* ICH6 (and 6) (i915) UDMA 100 */ | 218 | /* ICH6 (and 6) (i915) UDMA 100 */ |
217 | { 0x8086, 0x266F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, | 219 | { 0x8086, 0x266F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, |
218 | /* ICH7/7-R (i945, i975) UDMA 100*/ | 220 | /* ICH7/7-R (i945, i975) UDMA 100*/ |
219 | { 0x8086, 0x27DF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, | 221 | { 0x8086, 0x27DF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100_nomwdma1 }, |
220 | { 0x8086, 0x269E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, | 222 | { 0x8086, 0x269E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100_nomwdma1 }, |
221 | /* ICH8 Mobile PATA Controller */ | 223 | /* ICH8 Mobile PATA Controller */ |
222 | { 0x8086, 0x2850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, | 224 | { 0x8086, 0x2850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, |
223 | 225 | ||
@@ -487,6 +489,15 @@ static struct ata_port_info piix_port_info[] = { | |||
487 | .port_ops = &ich_pata_ops, | 489 | .port_ops = &ich_pata_ops, |
488 | }, | 490 | }, |
489 | 491 | ||
492 | [ich_pata_100_nomwdma1] = | ||
493 | { | ||
494 | .flags = PIIX_PATA_FLAGS | PIIX_FLAG_CHECKINTR, | ||
495 | .pio_mask = ATA_PIO4, | ||
496 | .mwdma_mask = ATA_MWDMA2_ONLY, | ||
497 | .udma_mask = ATA_UDMA5, | ||
498 | .port_ops = &ich_pata_ops, | ||
499 | }, | ||
500 | |||
490 | [ich5_sata] = | 501 | [ich5_sata] = |
491 | { | 502 | { |
492 | .flags = PIIX_SATA_FLAGS, | 503 | .flags = PIIX_SATA_FLAGS, |
@@ -594,6 +605,7 @@ static const struct ich_laptop ich_laptop[] = { | |||
594 | { 0x24CA, 0x1025, 0x003d }, /* ICH4 on ACER TM290 */ | 605 | { 0x24CA, 0x1025, 0x003d }, /* ICH4 on ACER TM290 */ |
595 | { 0x266F, 0x1025, 0x0066 }, /* ICH6 on ACER Aspire 1694WLMi */ | 606 | { 0x266F, 0x1025, 0x0066 }, /* ICH6 on ACER Aspire 1694WLMi */ |
596 | { 0x2653, 0x1043, 0x82D8 }, /* ICH6M on Asus Eee 701 */ | 607 | { 0x2653, 0x1043, 0x82D8 }, /* ICH6M on Asus Eee 701 */ |
608 | { 0x27df, 0x104d, 0x900e }, /* ICH7 on Sony TZ-90 */ | ||
597 | /* end marker */ | 609 | /* end marker */ |
598 | { 0, } | 610 | { 0, } |
599 | }; | 611 | }; |
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 17c5d48a75d2..c9242301cfa1 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -4091,7 +4091,9 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class, | |||
4091 | 4091 | ||
4092 | /* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */ | 4092 | /* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */ |
4093 | if (ata_class_enabled(new_class) && | 4093 | if (ata_class_enabled(new_class) && |
4094 | new_class != ATA_DEV_ATA && new_class != ATA_DEV_ATAPI) { | 4094 | new_class != ATA_DEV_ATA && |
4095 | new_class != ATA_DEV_ATAPI && | ||
4096 | new_class != ATA_DEV_SEMB) { | ||
4095 | ata_dev_printk(dev, KERN_INFO, "class mismatch %u != %u\n", | 4097 | ata_dev_printk(dev, KERN_INFO, "class mismatch %u != %u\n", |
4096 | dev->class, new_class); | 4098 | dev->class, new_class); |
4097 | rc = -ENODEV; | 4099 | rc = -ENODEV; |
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 01831312c360..94919ad03df1 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c | |||
@@ -2783,6 +2783,12 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link, | |||
2783 | } else if (dev->class == ATA_DEV_UNKNOWN && | 2783 | } else if (dev->class == ATA_DEV_UNKNOWN && |
2784 | ehc->tries[dev->devno] && | 2784 | ehc->tries[dev->devno] && |
2785 | ata_class_enabled(ehc->classes[dev->devno])) { | 2785 | ata_class_enabled(ehc->classes[dev->devno])) { |
2786 | /* Temporarily set dev->class, it will be | ||
2787 | * permanently set once all configurations are | ||
2788 | * complete. This is necessary because new | ||
2789 | * device configuration is done in two | ||
2790 | * separate loops. | ||
2791 | */ | ||
2786 | dev->class = ehc->classes[dev->devno]; | 2792 | dev->class = ehc->classes[dev->devno]; |
2787 | 2793 | ||
2788 | if (dev->class == ATA_DEV_PMP) | 2794 | if (dev->class == ATA_DEV_PMP) |
@@ -2790,6 +2796,11 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link, | |||
2790 | else | 2796 | else |
2791 | rc = ata_dev_read_id(dev, &dev->class, | 2797 | rc = ata_dev_read_id(dev, &dev->class, |
2792 | readid_flags, dev->id); | 2798 | readid_flags, dev->id); |
2799 | |||
2800 | /* read_id might have changed class, store and reset */ | ||
2801 | ehc->classes[dev->devno] = dev->class; | ||
2802 | dev->class = ATA_DEV_UNKNOWN; | ||
2803 | |||
2793 | switch (rc) { | 2804 | switch (rc) { |
2794 | case 0: | 2805 | case 0: |
2795 | /* clear error info accumulated during probe */ | 2806 | /* clear error info accumulated during probe */ |
@@ -2799,13 +2810,11 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link, | |||
2799 | case -ENOENT: | 2810 | case -ENOENT: |
2800 | /* IDENTIFY was issued to non-existent | 2811 | /* IDENTIFY was issued to non-existent |
2801 | * device. No need to reset. Just | 2812 | * device. No need to reset. Just |
2802 | * thaw and kill the device. | 2813 | * thaw and ignore the device. |
2803 | */ | 2814 | */ |
2804 | ata_eh_thaw_port(ap); | 2815 | ata_eh_thaw_port(ap); |
2805 | dev->class = ATA_DEV_UNKNOWN; | ||
2806 | break; | 2816 | break; |
2807 | default: | 2817 | default: |
2808 | dev->class = ATA_DEV_UNKNOWN; | ||
2809 | goto err; | 2818 | goto err; |
2810 | } | 2819 | } |
2811 | } | 2820 | } |
@@ -2826,11 +2835,15 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link, | |||
2826 | dev->class == ATA_DEV_PMP) | 2835 | dev->class == ATA_DEV_PMP) |
2827 | continue; | 2836 | continue; |
2828 | 2837 | ||
2838 | dev->class = ehc->classes[dev->devno]; | ||
2839 | |||
2829 | ehc->i.flags |= ATA_EHI_PRINTINFO; | 2840 | ehc->i.flags |= ATA_EHI_PRINTINFO; |
2830 | rc = ata_dev_configure(dev); | 2841 | rc = ata_dev_configure(dev); |
2831 | ehc->i.flags &= ~ATA_EHI_PRINTINFO; | 2842 | ehc->i.flags &= ~ATA_EHI_PRINTINFO; |
2832 | if (rc) | 2843 | if (rc) { |
2844 | dev->class = ATA_DEV_UNKNOWN; | ||
2833 | goto err; | 2845 | goto err; |
2846 | } | ||
2834 | 2847 | ||
2835 | spin_lock_irqsave(ap->lock, flags); | 2848 | spin_lock_irqsave(ap->lock, flags); |
2836 | ap->pflags |= ATA_PFLAG_SCSI_HOTPLUG; | 2849 | ap->pflags |= ATA_PFLAG_SCSI_HOTPLUG; |
@@ -3494,6 +3507,8 @@ static void ata_eh_handle_port_suspend(struct ata_port *ap) | |||
3494 | */ | 3507 | */ |
3495 | static void ata_eh_handle_port_resume(struct ata_port *ap) | 3508 | static void ata_eh_handle_port_resume(struct ata_port *ap) |
3496 | { | 3509 | { |
3510 | struct ata_link *link; | ||
3511 | struct ata_device *dev; | ||
3497 | unsigned long flags; | 3512 | unsigned long flags; |
3498 | int rc = 0; | 3513 | int rc = 0; |
3499 | 3514 | ||
@@ -3508,6 +3523,17 @@ static void ata_eh_handle_port_resume(struct ata_port *ap) | |||
3508 | 3523 | ||
3509 | WARN_ON(!(ap->pflags & ATA_PFLAG_SUSPENDED)); | 3524 | WARN_ON(!(ap->pflags & ATA_PFLAG_SUSPENDED)); |
3510 | 3525 | ||
3526 | /* | ||
3527 | * Error timestamps are in jiffies which doesn't run while | ||
3528 | * suspended and PHY events during resume isn't too uncommon. | ||
3529 | * When the two are combined, it can lead to unnecessary speed | ||
3530 | * downs if the machine is suspended and resumed repeatedly. | ||
3531 | * Clear error history. | ||
3532 | */ | ||
3533 | ata_for_each_link(link, ap, HOST_FIRST) | ||
3534 | ata_for_each_dev(dev, link, ALL) | ||
3535 | ata_ering_clear(&dev->ering); | ||
3536 | |||
3511 | ata_acpi_set_state(ap, PMSG_ON); | 3537 | ata_acpi_set_state(ap, PMSG_ON); |
3512 | 3538 | ||
3513 | if (ap->ops->port_resume) | 3539 | if (ap->ops->port_resume) |
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 2733b0c90b75..342316064e9f 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c | |||
@@ -313,7 +313,7 @@ ata_scsi_em_message_show(struct device *dev, struct device_attribute *attr, | |||
313 | return ap->ops->em_show(ap, buf); | 313 | return ap->ops->em_show(ap, buf); |
314 | return -EINVAL; | 314 | return -EINVAL; |
315 | } | 315 | } |
316 | DEVICE_ATTR(em_message, S_IRUGO | S_IWUGO, | 316 | DEVICE_ATTR(em_message, S_IRUGO | S_IWUSR, |
317 | ata_scsi_em_message_show, ata_scsi_em_message_store); | 317 | ata_scsi_em_message_show, ata_scsi_em_message_store); |
318 | EXPORT_SYMBOL_GPL(dev_attr_em_message); | 318 | EXPORT_SYMBOL_GPL(dev_attr_em_message); |
319 | 319 | ||
@@ -366,7 +366,7 @@ ata_scsi_activity_store(struct device *dev, struct device_attribute *attr, | |||
366 | } | 366 | } |
367 | return -EINVAL; | 367 | return -EINVAL; |
368 | } | 368 | } |
369 | DEVICE_ATTR(sw_activity, S_IWUGO | S_IRUGO, ata_scsi_activity_show, | 369 | DEVICE_ATTR(sw_activity, S_IWUSR | S_IRUGO, ata_scsi_activity_show, |
370 | ata_scsi_activity_store); | 370 | ata_scsi_activity_store); |
371 | EXPORT_SYMBOL_GPL(dev_attr_sw_activity); | 371 | EXPORT_SYMBOL_GPL(dev_attr_sw_activity); |
372 | 372 | ||
@@ -2142,13 +2142,14 @@ static unsigned int ata_scsiop_inq_89(struct ata_scsi_args *args, u8 *rbuf) | |||
2142 | 2142 | ||
2143 | static unsigned int ata_scsiop_inq_b1(struct ata_scsi_args *args, u8 *rbuf) | 2143 | static unsigned int ata_scsiop_inq_b1(struct ata_scsi_args *args, u8 *rbuf) |
2144 | { | 2144 | { |
2145 | int form_factor = ata_id_form_factor(args->id); | ||
2146 | int media_rotation_rate = ata_id_rotation_rate(args->id); | ||
2147 | |||
2145 | rbuf[1] = 0xb1; | 2148 | rbuf[1] = 0xb1; |
2146 | rbuf[3] = 0x3c; | 2149 | rbuf[3] = 0x3c; |
2147 | if (ata_id_major_version(args->id) > 7) { | 2150 | rbuf[4] = media_rotation_rate >> 8; |
2148 | rbuf[4] = args->id[217] >> 8; | 2151 | rbuf[5] = media_rotation_rate; |
2149 | rbuf[5] = args->id[217]; | 2152 | rbuf[7] = form_factor; |
2150 | rbuf[7] = args->id[168] & 0xf; | ||
2151 | } | ||
2152 | 2153 | ||
2153 | return 0; | 2154 | return 0; |
2154 | } | 2155 | } |
@@ -2376,7 +2377,23 @@ saving_not_supp: | |||
2376 | */ | 2377 | */ |
2377 | static unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf) | 2378 | static unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf) |
2378 | { | 2379 | { |
2379 | u64 last_lba = args->dev->n_sectors - 1; /* LBA of the last block */ | 2380 | struct ata_device *dev = args->dev; |
2381 | u64 last_lba = dev->n_sectors - 1; /* LBA of the last block */ | ||
2382 | u8 log_per_phys = 0; | ||
2383 | u16 lowest_aligned = 0; | ||
2384 | u16 word_106 = dev->id[106]; | ||
2385 | u16 word_209 = dev->id[209]; | ||
2386 | |||
2387 | if ((word_106 & 0xc000) == 0x4000) { | ||
2388 | /* Number and offset of logical sectors per physical sector */ | ||
2389 | if (word_106 & (1 << 13)) | ||
2390 | log_per_phys = word_106 & 0xf; | ||
2391 | if ((word_209 & 0xc000) == 0x4000) { | ||
2392 | u16 first = dev->id[209] & 0x3fff; | ||
2393 | if (first > 0) | ||
2394 | lowest_aligned = (1 << log_per_phys) - first; | ||
2395 | } | ||
2396 | } | ||
2380 | 2397 | ||
2381 | VPRINTK("ENTER\n"); | 2398 | VPRINTK("ENTER\n"); |
2382 | 2399 | ||
@@ -2407,6 +2424,11 @@ static unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf) | |||
2407 | /* sector size */ | 2424 | /* sector size */ |
2408 | rbuf[10] = ATA_SECT_SIZE >> 8; | 2425 | rbuf[10] = ATA_SECT_SIZE >> 8; |
2409 | rbuf[11] = ATA_SECT_SIZE & 0xff; | 2426 | rbuf[11] = ATA_SECT_SIZE & 0xff; |
2427 | |||
2428 | rbuf[12] = 0; | ||
2429 | rbuf[13] = log_per_phys; | ||
2430 | rbuf[14] = (lowest_aligned >> 8) & 0x3f; | ||
2431 | rbuf[15] = lowest_aligned; | ||
2410 | } | 2432 | } |
2411 | 2433 | ||
2412 | return 0; | 2434 | return 0; |
diff --git a/drivers/ata/pata_netcell.c b/drivers/ata/pata_netcell.c index bdb236957cb9..9a698097134b 100644 --- a/drivers/ata/pata_netcell.c +++ b/drivers/ata/pata_netcell.c | |||
@@ -20,13 +20,24 @@ | |||
20 | 20 | ||
21 | /* No PIO or DMA methods needed for this device */ | 21 | /* No PIO or DMA methods needed for this device */ |
22 | 22 | ||
23 | static unsigned int netcell_read_id(struct ata_device *adev, | ||
24 | struct ata_taskfile *tf, u16 *id) | ||
25 | { | ||
26 | unsigned int err_mask = ata_do_dev_read_id(adev, tf, id); | ||
27 | /* Firmware forgets to mark words 85-87 valid */ | ||
28 | if (err_mask == 0) | ||
29 | id[ATA_ID_CSF_DEFAULT] |= 0x0400; | ||
30 | return err_mask; | ||
31 | } | ||
32 | |||
23 | static struct scsi_host_template netcell_sht = { | 33 | static struct scsi_host_template netcell_sht = { |
24 | ATA_BMDMA_SHT(DRV_NAME), | 34 | ATA_BMDMA_SHT(DRV_NAME), |
25 | }; | 35 | }; |
26 | 36 | ||
27 | static struct ata_port_operations netcell_ops = { | 37 | static struct ata_port_operations netcell_ops = { |
28 | .inherits = &ata_bmdma_port_ops, | 38 | .inherits = &ata_bmdma_port_ops, |
29 | .cable_detect = ata_cable_80wire, | 39 | .cable_detect = ata_cable_80wire, |
40 | .read_id = netcell_read_id, | ||
30 | }; | 41 | }; |
31 | 42 | ||
32 | 43 | ||
diff --git a/drivers/ata/pata_pdc202xx_old.c b/drivers/ata/pata_pdc202xx_old.c index 5fedb3d4032b..2f3c9bed63d9 100644 --- a/drivers/ata/pata_pdc202xx_old.c +++ b/drivers/ata/pata_pdc202xx_old.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * pata_pdc202xx_old.c - Promise PDC202xx PATA for new ATA layer | 2 | * pata_pdc202xx_old.c - Promise PDC202xx PATA for new ATA layer |
3 | * (C) 2005 Red Hat Inc | 3 | * (C) 2005 Red Hat Inc |
4 | * Alan Cox <alan@lxorguk.ukuu.org.uk> | 4 | * Alan Cox <alan@lxorguk.ukuu.org.uk> |
5 | * (C) 2007 Bartlomiej Zolnierkiewicz | 5 | * (C) 2007,2009 Bartlomiej Zolnierkiewicz |
6 | * | 6 | * |
7 | * Based in part on linux/drivers/ide/pci/pdc202xx_old.c | 7 | * Based in part on linux/drivers/ide/pci/pdc202xx_old.c |
8 | * | 8 | * |
@@ -158,7 +158,7 @@ static void pdc2026x_bmdma_start(struct ata_queued_cmd *qc) | |||
158 | u32 len; | 158 | u32 len; |
159 | 159 | ||
160 | /* Check we keep host level locking here */ | 160 | /* Check we keep host level locking here */ |
161 | if (adev->dma_mode >= XFER_UDMA_2) | 161 | if (adev->dma_mode > XFER_UDMA_2) |
162 | iowrite8(ioread8(clock) | sel66, clock); | 162 | iowrite8(ioread8(clock) | sel66, clock); |
163 | else | 163 | else |
164 | iowrite8(ioread8(clock) & ~sel66, clock); | 164 | iowrite8(ioread8(clock) & ~sel66, clock); |
@@ -212,7 +212,7 @@ static void pdc2026x_bmdma_stop(struct ata_queued_cmd *qc) | |||
212 | iowrite8(ioread8(clock) & ~sel66, clock); | 212 | iowrite8(ioread8(clock) & ~sel66, clock); |
213 | } | 213 | } |
214 | /* Flip back to 33Mhz for PIO */ | 214 | /* Flip back to 33Mhz for PIO */ |
215 | if (adev->dma_mode >= XFER_UDMA_2) | 215 | if (adev->dma_mode > XFER_UDMA_2) |
216 | iowrite8(ioread8(clock) & ~sel66, clock); | 216 | iowrite8(ioread8(clock) & ~sel66, clock); |
217 | ata_bmdma_stop(qc); | 217 | ata_bmdma_stop(qc); |
218 | pdc202xx_set_piomode(ap, adev); | 218 | pdc202xx_set_piomode(ap, adev); |
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index c2e90e1fece0..36b8629203be 100644 --- a/drivers/ata/sata_fsl.c +++ b/drivers/ata/sata_fsl.c | |||
@@ -205,6 +205,7 @@ struct cmdhdr_tbl_entry { | |||
205 | * Description information bitdefs | 205 | * Description information bitdefs |
206 | */ | 206 | */ |
207 | enum { | 207 | enum { |
208 | CMD_DESC_RES = (1 << 11), | ||
208 | VENDOR_SPECIFIC_BIST = (1 << 10), | 209 | VENDOR_SPECIFIC_BIST = (1 << 10), |
209 | CMD_DESC_SNOOP_ENABLE = (1 << 9), | 210 | CMD_DESC_SNOOP_ENABLE = (1 << 9), |
210 | FPDMA_QUEUED_CMD = (1 << 8), | 211 | FPDMA_QUEUED_CMD = (1 << 8), |
@@ -332,13 +333,14 @@ static unsigned int sata_fsl_fill_sg(struct ata_queued_cmd *qc, void *cmd_desc, | |||
332 | dma_addr_t sg_addr = sg_dma_address(sg); | 333 | dma_addr_t sg_addr = sg_dma_address(sg); |
333 | u32 sg_len = sg_dma_len(sg); | 334 | u32 sg_len = sg_dma_len(sg); |
334 | 335 | ||
335 | VPRINTK("SATA FSL : fill_sg, sg_addr = 0x%x, sg_len = %d\n", | 336 | VPRINTK("SATA FSL : fill_sg, sg_addr = 0x%llx, sg_len = %d\n", |
336 | sg_addr, sg_len); | 337 | (unsigned long long)sg_addr, sg_len); |
337 | 338 | ||
338 | /* warn if each s/g element is not dword aligned */ | 339 | /* warn if each s/g element is not dword aligned */ |
339 | if (sg_addr & 0x03) | 340 | if (sg_addr & 0x03) |
340 | ata_port_printk(qc->ap, KERN_ERR, | 341 | ata_port_printk(qc->ap, KERN_ERR, |
341 | "s/g addr unaligned : 0x%x\n", sg_addr); | 342 | "s/g addr unaligned : 0x%llx\n", |
343 | (unsigned long long)sg_addr); | ||
342 | if (sg_len & 0x03) | 344 | if (sg_len & 0x03) |
343 | ata_port_printk(qc->ap, KERN_ERR, | 345 | ata_port_printk(qc->ap, KERN_ERR, |
344 | "s/g len unaligned : 0x%x\n", sg_len); | 346 | "s/g len unaligned : 0x%x\n", sg_len); |
@@ -387,7 +389,7 @@ static void sata_fsl_qc_prep(struct ata_queued_cmd *qc) | |||
387 | void __iomem *hcr_base = host_priv->hcr_base; | 389 | void __iomem *hcr_base = host_priv->hcr_base; |
388 | unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); | 390 | unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); |
389 | struct command_desc *cd; | 391 | struct command_desc *cd; |
390 | u32 desc_info = CMD_DESC_SNOOP_ENABLE; | 392 | u32 desc_info = CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE; |
391 | u32 num_prde = 0; | 393 | u32 num_prde = 0; |
392 | u32 ttl_dwords = 0; | 394 | u32 ttl_dwords = 0; |
393 | dma_addr_t cd_paddr; | 395 | dma_addr_t cd_paddr; |
@@ -840,7 +842,7 @@ issue_srst: | |||
840 | 842 | ||
841 | /* device reset/SRST is a control register update FIS, uses tag0 */ | 843 | /* device reset/SRST is a control register update FIS, uses tag0 */ |
842 | sata_fsl_setup_cmd_hdr_entry(pp, 0, | 844 | sata_fsl_setup_cmd_hdr_entry(pp, 0, |
843 | SRST_CMD | CMD_DESC_SNOOP_ENABLE, 0, 0, 5); | 845 | SRST_CMD | CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE, 0, 0, 5); |
844 | 846 | ||
845 | tf.ctl |= ATA_SRST; /* setup SRST bit in taskfile control reg */ | 847 | tf.ctl |= ATA_SRST; /* setup SRST bit in taskfile control reg */ |
846 | ata_tf_to_fis(&tf, pmp, 0, cfis); | 848 | ata_tf_to_fis(&tf, pmp, 0, cfis); |
@@ -886,7 +888,8 @@ issue_srst: | |||
886 | * using ATA signature D2H register FIS to the host controller. | 888 | * using ATA signature D2H register FIS to the host controller. |
887 | */ | 889 | */ |
888 | 890 | ||
889 | sata_fsl_setup_cmd_hdr_entry(pp, 0, CMD_DESC_SNOOP_ENABLE, 0, 0, 5); | 891 | sata_fsl_setup_cmd_hdr_entry(pp, 0, CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE, |
892 | 0, 0, 5); | ||
890 | 893 | ||
891 | tf.ctl &= ~ATA_SRST; /* 2nd H2D Ctl. register FIS */ | 894 | tf.ctl &= ~ATA_SRST; /* 2nd H2D Ctl. register FIS */ |
892 | ata_tf_to_fis(&tf, pmp, 0, cfis); | 895 | ata_tf_to_fis(&tf, pmp, 0, cfis); |
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 870dcfd82357..23714aefb825 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c | |||
@@ -293,6 +293,10 @@ enum { | |||
293 | FISCFG_WAIT_DEV_ERR = (1 << 8), /* wait for host on DevErr */ | 293 | FISCFG_WAIT_DEV_ERR = (1 << 8), /* wait for host on DevErr */ |
294 | FISCFG_SINGLE_SYNC = (1 << 16), /* SYNC on DMA activation */ | 294 | FISCFG_SINGLE_SYNC = (1 << 16), /* SYNC on DMA activation */ |
295 | 295 | ||
296 | PHY_MODE9_GEN2 = 0x398, | ||
297 | PHY_MODE9_GEN1 = 0x39c, | ||
298 | PHYCFG_OFS = 0x3a0, /* only in 65n devices */ | ||
299 | |||
296 | MV5_PHY_MODE = 0x74, | 300 | MV5_PHY_MODE = 0x74, |
297 | MV5_LTMODE = 0x30, | 301 | MV5_LTMODE = 0x30, |
298 | MV5_PHY_CTL = 0x0C, | 302 | MV5_PHY_CTL = 0x0C, |
@@ -609,6 +613,8 @@ static int mv_soc_reset_hc(struct mv_host_priv *hpriv, | |||
609 | static void mv_soc_reset_flash(struct mv_host_priv *hpriv, | 613 | static void mv_soc_reset_flash(struct mv_host_priv *hpriv, |
610 | void __iomem *mmio); | 614 | void __iomem *mmio); |
611 | static void mv_soc_reset_bus(struct ata_host *host, void __iomem *mmio); | 615 | static void mv_soc_reset_bus(struct ata_host *host, void __iomem *mmio); |
616 | static void mv_soc_65n_phy_errata(struct mv_host_priv *hpriv, | ||
617 | void __iomem *mmio, unsigned int port); | ||
612 | static void mv_reset_pci_bus(struct ata_host *host, void __iomem *mmio); | 618 | static void mv_reset_pci_bus(struct ata_host *host, void __iomem *mmio); |
613 | static void mv_reset_channel(struct mv_host_priv *hpriv, void __iomem *mmio, | 619 | static void mv_reset_channel(struct mv_host_priv *hpriv, void __iomem *mmio, |
614 | unsigned int port_no); | 620 | unsigned int port_no); |
@@ -807,6 +813,14 @@ static const struct mv_hw_ops mv_soc_ops = { | |||
807 | .reset_bus = mv_soc_reset_bus, | 813 | .reset_bus = mv_soc_reset_bus, |
808 | }; | 814 | }; |
809 | 815 | ||
816 | static const struct mv_hw_ops mv_soc_65n_ops = { | ||
817 | .phy_errata = mv_soc_65n_phy_errata, | ||
818 | .enable_leds = mv_soc_enable_leds, | ||
819 | .reset_hc = mv_soc_reset_hc, | ||
820 | .reset_flash = mv_soc_reset_flash, | ||
821 | .reset_bus = mv_soc_reset_bus, | ||
822 | }; | ||
823 | |||
810 | /* | 824 | /* |
811 | * Functions | 825 | * Functions |
812 | */ | 826 | */ |
@@ -3397,6 +3411,53 @@ static void mv_soc_reset_bus(struct ata_host *host, void __iomem *mmio) | |||
3397 | return; | 3411 | return; |
3398 | } | 3412 | } |
3399 | 3413 | ||
3414 | static void mv_soc_65n_phy_errata(struct mv_host_priv *hpriv, | ||
3415 | void __iomem *mmio, unsigned int port) | ||
3416 | { | ||
3417 | void __iomem *port_mmio = mv_port_base(mmio, port); | ||
3418 | u32 reg; | ||
3419 | |||
3420 | reg = readl(port_mmio + PHY_MODE3); | ||
3421 | reg &= ~(0x3 << 27); /* SELMUPF (bits 28:27) to 1 */ | ||
3422 | reg |= (0x1 << 27); | ||
3423 | reg &= ~(0x3 << 29); /* SELMUPI (bits 30:29) to 1 */ | ||
3424 | reg |= (0x1 << 29); | ||
3425 | writel(reg, port_mmio + PHY_MODE3); | ||
3426 | |||
3427 | reg = readl(port_mmio + PHY_MODE4); | ||
3428 | reg &= ~0x1; /* SATU_OD8 (bit 0) to 0, reserved bit 16 must be set */ | ||
3429 | reg |= (0x1 << 16); | ||
3430 | writel(reg, port_mmio + PHY_MODE4); | ||
3431 | |||
3432 | reg = readl(port_mmio + PHY_MODE9_GEN2); | ||
3433 | reg &= ~0xf; /* TXAMP[3:0] (bits 3:0) to 8 */ | ||
3434 | reg |= 0x8; | ||
3435 | reg &= ~(0x1 << 14); /* TXAMP[4] (bit 14) to 0 */ | ||
3436 | writel(reg, port_mmio + PHY_MODE9_GEN2); | ||
3437 | |||
3438 | reg = readl(port_mmio + PHY_MODE9_GEN1); | ||
3439 | reg &= ~0xf; /* TXAMP[3:0] (bits 3:0) to 8 */ | ||
3440 | reg |= 0x8; | ||
3441 | reg &= ~(0x1 << 14); /* TXAMP[4] (bit 14) to 0 */ | ||
3442 | writel(reg, port_mmio + PHY_MODE9_GEN1); | ||
3443 | } | ||
3444 | |||
3445 | /** | ||
3446 | * soc_is_65 - check if the soc is 65 nano device | ||
3447 | * | ||
3448 | * Detect the type of the SoC, this is done by reading the PHYCFG_OFS | ||
3449 | * register, this register should contain non-zero value and it exists only | ||
3450 | * in the 65 nano devices, when reading it from older devices we get 0. | ||
3451 | */ | ||
3452 | static bool soc_is_65n(struct mv_host_priv *hpriv) | ||
3453 | { | ||
3454 | void __iomem *port0_mmio = mv_port_base(hpriv->base, 0); | ||
3455 | |||
3456 | if (readl(port0_mmio + PHYCFG_OFS)) | ||
3457 | return true; | ||
3458 | return false; | ||
3459 | } | ||
3460 | |||
3400 | static void mv_setup_ifcfg(void __iomem *port_mmio, int want_gen2i) | 3461 | static void mv_setup_ifcfg(void __iomem *port_mmio, int want_gen2i) |
3401 | { | 3462 | { |
3402 | u32 ifcfg = readl(port_mmio + SATA_IFCFG); | 3463 | u32 ifcfg = readl(port_mmio + SATA_IFCFG); |
@@ -3737,7 +3798,10 @@ static int mv_chip_id(struct ata_host *host, unsigned int board_idx) | |||
3737 | } | 3798 | } |
3738 | break; | 3799 | break; |
3739 | case chip_soc: | 3800 | case chip_soc: |
3740 | hpriv->ops = &mv_soc_ops; | 3801 | if (soc_is_65n(hpriv)) |
3802 | hpriv->ops = &mv_soc_65n_ops; | ||
3803 | else | ||
3804 | hpriv->ops = &mv_soc_ops; | ||
3741 | hp_flags |= MV_HP_FLAG_SOC | MV_HP_GEN_IIE | | 3805 | hp_flags |= MV_HP_FLAG_SOC | MV_HP_GEN_IIE | |
3742 | MV_HP_ERRATA_60X1C0; | 3806 | MV_HP_ERRATA_60X1C0; |
3743 | break; | 3807 | break; |
@@ -3800,7 +3864,8 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx) | |||
3800 | n_hc = mv_get_hc_count(host->ports[0]->flags); | 3864 | n_hc = mv_get_hc_count(host->ports[0]->flags); |
3801 | 3865 | ||
3802 | for (port = 0; port < host->n_ports; port++) | 3866 | for (port = 0; port < host->n_ports; port++) |
3803 | hpriv->ops->read_preamp(hpriv, port, mmio); | 3867 | if (hpriv->ops->read_preamp) |
3868 | hpriv->ops->read_preamp(hpriv, port, mmio); | ||
3804 | 3869 | ||
3805 | rc = hpriv->ops->reset_hc(hpriv, mmio, n_hc); | 3870 | rc = hpriv->ops->reset_hc(hpriv, mmio, n_hc); |
3806 | if (rc) | 3871 | if (rc) |
diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c index dce3dccced3f..eb05a3c82a9e 100644 --- a/drivers/ata/sata_sx4.c +++ b/drivers/ata/sata_sx4.c | |||
@@ -213,8 +213,9 @@ struct pdc_host_priv { | |||
213 | 213 | ||
214 | 214 | ||
215 | static int pdc_sata_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); | 215 | static int pdc_sata_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); |
216 | static void pdc_eng_timeout(struct ata_port *ap); | 216 | static void pdc_error_handler(struct ata_port *ap); |
217 | static void pdc_20621_phy_reset(struct ata_port *ap); | 217 | static void pdc_freeze(struct ata_port *ap); |
218 | static void pdc_thaw(struct ata_port *ap); | ||
218 | static int pdc_port_start(struct ata_port *ap); | 219 | static int pdc_port_start(struct ata_port *ap); |
219 | static void pdc20621_qc_prep(struct ata_queued_cmd *qc); | 220 | static void pdc20621_qc_prep(struct ata_queued_cmd *qc); |
220 | static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf); | 221 | static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf); |
@@ -233,6 +234,10 @@ static void pdc20621_put_to_dimm(struct ata_host *host, | |||
233 | void *psource, u32 offset, u32 size); | 234 | void *psource, u32 offset, u32 size); |
234 | static void pdc20621_irq_clear(struct ata_port *ap); | 235 | static void pdc20621_irq_clear(struct ata_port *ap); |
235 | static unsigned int pdc20621_qc_issue(struct ata_queued_cmd *qc); | 236 | static unsigned int pdc20621_qc_issue(struct ata_queued_cmd *qc); |
237 | static int pdc_softreset(struct ata_link *link, unsigned int *class, | ||
238 | unsigned long deadline); | ||
239 | static void pdc_post_internal_cmd(struct ata_queued_cmd *qc); | ||
240 | static int pdc_check_atapi_dma(struct ata_queued_cmd *qc); | ||
236 | 241 | ||
237 | 242 | ||
238 | static struct scsi_host_template pdc_sata_sht = { | 243 | static struct scsi_host_template pdc_sata_sht = { |
@@ -243,20 +248,24 @@ static struct scsi_host_template pdc_sata_sht = { | |||
243 | 248 | ||
244 | /* TODO: inherit from base port_ops after converting to new EH */ | 249 | /* TODO: inherit from base port_ops after converting to new EH */ |
245 | static struct ata_port_operations pdc_20621_ops = { | 250 | static struct ata_port_operations pdc_20621_ops = { |
246 | .sff_tf_load = pdc_tf_load_mmio, | 251 | .inherits = &ata_sff_port_ops, |
247 | .sff_tf_read = ata_sff_tf_read, | 252 | |
248 | .sff_check_status = ata_sff_check_status, | 253 | .check_atapi_dma = pdc_check_atapi_dma, |
249 | .sff_exec_command = pdc_exec_command_mmio, | ||
250 | .sff_dev_select = ata_sff_dev_select, | ||
251 | .phy_reset = pdc_20621_phy_reset, | ||
252 | .qc_prep = pdc20621_qc_prep, | 254 | .qc_prep = pdc20621_qc_prep, |
253 | .qc_issue = pdc20621_qc_issue, | 255 | .qc_issue = pdc20621_qc_issue, |
254 | .qc_fill_rtf = ata_sff_qc_fill_rtf, | 256 | |
255 | .sff_data_xfer = ata_sff_data_xfer, | 257 | .freeze = pdc_freeze, |
256 | .eng_timeout = pdc_eng_timeout, | 258 | .thaw = pdc_thaw, |
257 | .sff_irq_clear = pdc20621_irq_clear, | 259 | .softreset = pdc_softreset, |
258 | .sff_irq_on = ata_sff_irq_on, | 260 | .error_handler = pdc_error_handler, |
261 | .lost_interrupt = ATA_OP_NULL, | ||
262 | .post_internal_cmd = pdc_post_internal_cmd, | ||
263 | |||
259 | .port_start = pdc_port_start, | 264 | .port_start = pdc_port_start, |
265 | |||
266 | .sff_tf_load = pdc_tf_load_mmio, | ||
267 | .sff_exec_command = pdc_exec_command_mmio, | ||
268 | .sff_irq_clear = pdc20621_irq_clear, | ||
260 | }; | 269 | }; |
261 | 270 | ||
262 | static const struct ata_port_info pdc_port_info[] = { | 271 | static const struct ata_port_info pdc_port_info[] = { |
@@ -310,14 +319,6 @@ static int pdc_port_start(struct ata_port *ap) | |||
310 | return 0; | 319 | return 0; |
311 | } | 320 | } |
312 | 321 | ||
313 | static void pdc_20621_phy_reset(struct ata_port *ap) | ||
314 | { | ||
315 | VPRINTK("ENTER\n"); | ||
316 | ap->cbl = ATA_CBL_SATA; | ||
317 | ata_port_probe(ap); | ||
318 | ata_bus_reset(ap); | ||
319 | } | ||
320 | |||
321 | static inline void pdc20621_ata_sg(struct ata_taskfile *tf, u8 *buf, | 322 | static inline void pdc20621_ata_sg(struct ata_taskfile *tf, u8 *buf, |
322 | unsigned int portno, | 323 | unsigned int portno, |
323 | unsigned int total_len) | 324 | unsigned int total_len) |
@@ -686,8 +687,11 @@ static void pdc20621_packet_start(struct ata_queued_cmd *qc) | |||
686 | static unsigned int pdc20621_qc_issue(struct ata_queued_cmd *qc) | 687 | static unsigned int pdc20621_qc_issue(struct ata_queued_cmd *qc) |
687 | { | 688 | { |
688 | switch (qc->tf.protocol) { | 689 | switch (qc->tf.protocol) { |
689 | case ATA_PROT_DMA: | ||
690 | case ATA_PROT_NODATA: | 690 | case ATA_PROT_NODATA: |
691 | if (qc->tf.flags & ATA_TFLAG_POLLING) | ||
692 | break; | ||
693 | /*FALLTHROUGH*/ | ||
694 | case ATA_PROT_DMA: | ||
691 | pdc20621_packet_start(qc); | 695 | pdc20621_packet_start(qc); |
692 | return 0; | 696 | return 0; |
693 | 697 | ||
@@ -786,12 +790,7 @@ static inline unsigned int pdc20621_host_intr(struct ata_port *ap, | |||
786 | 790 | ||
787 | static void pdc20621_irq_clear(struct ata_port *ap) | 791 | static void pdc20621_irq_clear(struct ata_port *ap) |
788 | { | 792 | { |
789 | struct ata_host *host = ap->host; | 793 | ioread8(ap->ioaddr.status_addr); |
790 | void __iomem *mmio = host->iomap[PDC_MMIO_BAR]; | ||
791 | |||
792 | mmio += PDC_CHIP0_OFS; | ||
793 | |||
794 | readl(mmio + PDC_20621_SEQMASK); | ||
795 | } | 794 | } |
796 | 795 | ||
797 | static irqreturn_t pdc20621_interrupt(int irq, void *dev_instance) | 796 | static irqreturn_t pdc20621_interrupt(int irq, void *dev_instance) |
@@ -859,46 +858,119 @@ static irqreturn_t pdc20621_interrupt(int irq, void *dev_instance) | |||
859 | return IRQ_RETVAL(handled); | 858 | return IRQ_RETVAL(handled); |
860 | } | 859 | } |
861 | 860 | ||
862 | static void pdc_eng_timeout(struct ata_port *ap) | 861 | static void pdc_freeze(struct ata_port *ap) |
863 | { | 862 | { |
864 | u8 drv_stat; | 863 | void __iomem *mmio = ap->ioaddr.cmd_addr; |
865 | struct ata_host *host = ap->host; | 864 | u32 tmp; |
866 | struct ata_queued_cmd *qc; | ||
867 | unsigned long flags; | ||
868 | 865 | ||
869 | DPRINTK("ENTER\n"); | 866 | /* FIXME: if all 4 ATA engines are stopped, also stop HDMA engine */ |
870 | 867 | ||
871 | spin_lock_irqsave(&host->lock, flags); | 868 | tmp = readl(mmio + PDC_CTLSTAT); |
869 | tmp |= PDC_MASK_INT; | ||
870 | tmp &= ~PDC_DMA_ENABLE; | ||
871 | writel(tmp, mmio + PDC_CTLSTAT); | ||
872 | readl(mmio + PDC_CTLSTAT); /* flush */ | ||
873 | } | ||
872 | 874 | ||
873 | qc = ata_qc_from_tag(ap, ap->link.active_tag); | 875 | static void pdc_thaw(struct ata_port *ap) |
876 | { | ||
877 | void __iomem *mmio = ap->ioaddr.cmd_addr; | ||
878 | u32 tmp; | ||
874 | 879 | ||
875 | switch (qc->tf.protocol) { | 880 | /* FIXME: start HDMA engine, if zero ATA engines running */ |
876 | case ATA_PROT_DMA: | ||
877 | case ATA_PROT_NODATA: | ||
878 | ata_port_printk(ap, KERN_ERR, "command timeout\n"); | ||
879 | qc->err_mask |= __ac_err_mask(ata_wait_idle(ap)); | ||
880 | break; | ||
881 | 881 | ||
882 | default: | 882 | /* clear IRQ */ |
883 | drv_stat = ata_sff_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000); | 883 | ioread8(ap->ioaddr.status_addr); |
884 | 884 | ||
885 | ata_port_printk(ap, KERN_ERR, | 885 | /* turn IRQ back on */ |
886 | "unknown timeout, cmd 0x%x stat 0x%x\n", | 886 | tmp = readl(mmio + PDC_CTLSTAT); |
887 | qc->tf.command, drv_stat); | 887 | tmp &= ~PDC_MASK_INT; |
888 | writel(tmp, mmio + PDC_CTLSTAT); | ||
889 | readl(mmio + PDC_CTLSTAT); /* flush */ | ||
890 | } | ||
888 | 891 | ||
889 | qc->err_mask |= ac_err_mask(drv_stat); | 892 | static void pdc_reset_port(struct ata_port *ap) |
890 | break; | 893 | { |
894 | void __iomem *mmio = ap->ioaddr.cmd_addr + PDC_CTLSTAT; | ||
895 | unsigned int i; | ||
896 | u32 tmp; | ||
897 | |||
898 | /* FIXME: handle HDMA copy engine */ | ||
899 | |||
900 | for (i = 11; i > 0; i--) { | ||
901 | tmp = readl(mmio); | ||
902 | if (tmp & PDC_RESET) | ||
903 | break; | ||
904 | |||
905 | udelay(100); | ||
906 | |||
907 | tmp |= PDC_RESET; | ||
908 | writel(tmp, mmio); | ||
891 | } | 909 | } |
892 | 910 | ||
893 | spin_unlock_irqrestore(&host->lock, flags); | 911 | tmp &= ~PDC_RESET; |
894 | ata_eh_qc_complete(qc); | 912 | writel(tmp, mmio); |
895 | DPRINTK("EXIT\n"); | 913 | readl(mmio); /* flush */ |
914 | } | ||
915 | |||
916 | static int pdc_softreset(struct ata_link *link, unsigned int *class, | ||
917 | unsigned long deadline) | ||
918 | { | ||
919 | pdc_reset_port(link->ap); | ||
920 | return ata_sff_softreset(link, class, deadline); | ||
921 | } | ||
922 | |||
923 | static void pdc_error_handler(struct ata_port *ap) | ||
924 | { | ||
925 | if (!(ap->pflags & ATA_PFLAG_FROZEN)) | ||
926 | pdc_reset_port(ap); | ||
927 | |||
928 | ata_std_error_handler(ap); | ||
929 | } | ||
930 | |||
931 | static void pdc_post_internal_cmd(struct ata_queued_cmd *qc) | ||
932 | { | ||
933 | struct ata_port *ap = qc->ap; | ||
934 | |||
935 | /* make DMA engine forget about the failed command */ | ||
936 | if (qc->flags & ATA_QCFLAG_FAILED) | ||
937 | pdc_reset_port(ap); | ||
938 | } | ||
939 | |||
940 | static int pdc_check_atapi_dma(struct ata_queued_cmd *qc) | ||
941 | { | ||
942 | u8 *scsicmd = qc->scsicmd->cmnd; | ||
943 | int pio = 1; /* atapi dma off by default */ | ||
944 | |||
945 | /* Whitelist commands that may use DMA. */ | ||
946 | switch (scsicmd[0]) { | ||
947 | case WRITE_12: | ||
948 | case WRITE_10: | ||
949 | case WRITE_6: | ||
950 | case READ_12: | ||
951 | case READ_10: | ||
952 | case READ_6: | ||
953 | case 0xad: /* READ_DVD_STRUCTURE */ | ||
954 | case 0xbe: /* READ_CD */ | ||
955 | pio = 0; | ||
956 | } | ||
957 | /* -45150 (FFFF4FA2) to -1 (FFFFFFFF) shall use PIO mode */ | ||
958 | if (scsicmd[0] == WRITE_10) { | ||
959 | unsigned int lba = | ||
960 | (scsicmd[2] << 24) | | ||
961 | (scsicmd[3] << 16) | | ||
962 | (scsicmd[4] << 8) | | ||
963 | scsicmd[5]; | ||
964 | if (lba >= 0xFFFF4FA2) | ||
965 | pio = 1; | ||
966 | } | ||
967 | return pio; | ||
896 | } | 968 | } |
897 | 969 | ||
898 | static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf) | 970 | static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf) |
899 | { | 971 | { |
900 | WARN_ON(tf->protocol == ATA_PROT_DMA || | 972 | WARN_ON(tf->protocol == ATA_PROT_DMA || |
901 | tf->protocol == ATA_PROT_NODATA); | 973 | tf->protocol == ATAPI_PROT_DMA); |
902 | ata_sff_tf_load(ap, tf); | 974 | ata_sff_tf_load(ap, tf); |
903 | } | 975 | } |
904 | 976 | ||
@@ -906,7 +978,7 @@ static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf) | |||
906 | static void pdc_exec_command_mmio(struct ata_port *ap, const struct ata_taskfile *tf) | 978 | static void pdc_exec_command_mmio(struct ata_port *ap, const struct ata_taskfile *tf) |
907 | { | 979 | { |
908 | WARN_ON(tf->protocol == ATA_PROT_DMA || | 980 | WARN_ON(tf->protocol == ATA_PROT_DMA || |
909 | tf->protocol == ATA_PROT_NODATA); | 981 | tf->protocol == ATAPI_PROT_DMA); |
910 | ata_sff_exec_command(ap, tf); | 982 | ata_sff_exec_command(ap, tf); |
911 | } | 983 | } |
912 | 984 | ||
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index dc030f1f00f1..c6599618523e 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c | |||
@@ -700,8 +700,10 @@ int bus_add_driver(struct device_driver *drv) | |||
700 | } | 700 | } |
701 | 701 | ||
702 | kobject_uevent(&priv->kobj, KOBJ_ADD); | 702 | kobject_uevent(&priv->kobj, KOBJ_ADD); |
703 | return error; | 703 | return 0; |
704 | out_unregister: | 704 | out_unregister: |
705 | kfree(drv->p); | ||
706 | drv->p = NULL; | ||
705 | kobject_put(&priv->kobj); | 707 | kobject_put(&priv->kobj); |
706 | out_put_bus: | 708 | out_put_bus: |
707 | bus_put(bus); | 709 | bus_put(bus); |
diff --git a/drivers/base/core.c b/drivers/base/core.c index 4aa527b8a913..1977d4beb89e 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c | |||
@@ -879,7 +879,7 @@ int device_add(struct device *dev) | |||
879 | } | 879 | } |
880 | 880 | ||
881 | if (!dev_name(dev)) | 881 | if (!dev_name(dev)) |
882 | goto done; | 882 | goto name_error; |
883 | 883 | ||
884 | pr_debug("device: '%s': %s\n", dev_name(dev), __func__); | 884 | pr_debug("device: '%s': %s\n", dev_name(dev), __func__); |
885 | 885 | ||
@@ -978,6 +978,9 @@ done: | |||
978 | cleanup_device_parent(dev); | 978 | cleanup_device_parent(dev); |
979 | if (parent) | 979 | if (parent) |
980 | put_device(parent); | 980 | put_device(parent); |
981 | name_error: | ||
982 | kfree(dev->p); | ||
983 | dev->p = NULL; | ||
981 | goto done; | 984 | goto done; |
982 | } | 985 | } |
983 | 986 | ||
diff --git a/drivers/base/driver.c b/drivers/base/driver.c index c51f11bb29ae..8ae0f63602e0 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c | |||
@@ -257,6 +257,10 @@ EXPORT_SYMBOL_GPL(driver_register); | |||
257 | */ | 257 | */ |
258 | void driver_unregister(struct device_driver *drv) | 258 | void driver_unregister(struct device_driver *drv) |
259 | { | 259 | { |
260 | if (!drv || !drv->p) { | ||
261 | WARN(1, "Unexpected driver unregister!\n"); | ||
262 | return; | ||
263 | } | ||
260 | driver_remove_groups(drv, drv->groups); | 264 | driver_remove_groups(drv, drv->groups); |
261 | bus_remove_driver(drv); | 265 | bus_remove_driver(drv); |
262 | } | 266 | } |
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index b5b6c973a2e0..8b4708e06244 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c | |||
@@ -217,7 +217,6 @@ int platform_device_add_data(struct platform_device *pdev, const void *data, | |||
217 | if (d) { | 217 | if (d) { |
218 | memcpy(d, data, size); | 218 | memcpy(d, data, size); |
219 | pdev->dev.platform_data = d; | 219 | pdev->dev.platform_data = d; |
220 | pdev->platform_data = d; | ||
221 | } | 220 | } |
222 | return d ? 0 : -ENOMEM; | 221 | return d ? 0 : -ENOMEM; |
223 | } | 222 | } |
@@ -247,21 +246,6 @@ int platform_device_add(struct platform_device *pdev) | |||
247 | else | 246 | else |
248 | dev_set_name(&pdev->dev, pdev->name); | 247 | dev_set_name(&pdev->dev, pdev->name); |
249 | 248 | ||
250 | /* We will remove platform_data field from struct device | ||
251 | * if all platform devices pass its platform specific data | ||
252 | * from platform_device. The conversion is going to be a | ||
253 | * long time, so we allow the two cases coexist to make | ||
254 | * this kind of fix more easily*/ | ||
255 | if (pdev->platform_data && pdev->dev.platform_data) { | ||
256 | printk(KERN_ERR | ||
257 | "%s: use which platform_data?\n", | ||
258 | dev_name(&pdev->dev)); | ||
259 | } else if (pdev->platform_data) { | ||
260 | pdev->dev.platform_data = pdev->platform_data; | ||
261 | } else if (pdev->dev.platform_data) { | ||
262 | pdev->platform_data = pdev->dev.platform_data; | ||
263 | } | ||
264 | |||
265 | for (i = 0; i < pdev->num_resources; i++) { | 249 | for (i = 0; i < pdev->num_resources; i++) { |
266 | struct resource *p, *r = &pdev->resource[i]; | 250 | struct resource *p, *r = &pdev->resource[i]; |
267 | 251 | ||
@@ -1028,7 +1012,7 @@ static __initdata LIST_HEAD(early_platform_device_list); | |||
1028 | 1012 | ||
1029 | /** | 1013 | /** |
1030 | * early_platform_driver_register | 1014 | * early_platform_driver_register |
1031 | * @edrv: early_platform driver structure | 1015 | * @epdrv: early_platform driver structure |
1032 | * @buf: string passed from early_param() | 1016 | * @buf: string passed from early_param() |
1033 | */ | 1017 | */ |
1034 | int __init early_platform_driver_register(struct early_platform_driver *epdrv, | 1018 | int __init early_platform_driver_register(struct early_platform_driver *epdrv, |
@@ -1112,7 +1096,7 @@ void __init early_platform_driver_register_all(char *class_str) | |||
1112 | 1096 | ||
1113 | /** | 1097 | /** |
1114 | * early_platform_match | 1098 | * early_platform_match |
1115 | * @edrv: early platform driver structure | 1099 | * @epdrv: early platform driver structure |
1116 | * @id: id to match against | 1100 | * @id: id to match against |
1117 | */ | 1101 | */ |
1118 | static __init struct platform_device * | 1102 | static __init struct platform_device * |
@@ -1130,7 +1114,7 @@ early_platform_match(struct early_platform_driver *epdrv, int id) | |||
1130 | 1114 | ||
1131 | /** | 1115 | /** |
1132 | * early_platform_left | 1116 | * early_platform_left |
1133 | * @edrv: early platform driver structure | 1117 | * @epdrv: early platform driver structure |
1134 | * @id: return true if id or above exists | 1118 | * @id: return true if id or above exists |
1135 | */ | 1119 | */ |
1136 | static __init int early_platform_left(struct early_platform_driver *epdrv, | 1120 | static __init int early_platform_left(struct early_platform_driver *epdrv, |
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c index 69b4ddb7de3b..3e4bc699bc0f 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c | |||
@@ -357,6 +357,7 @@ static void dpm_power_up(pm_message_t state) | |||
357 | { | 357 | { |
358 | struct device *dev; | 358 | struct device *dev; |
359 | 359 | ||
360 | mutex_lock(&dpm_list_mtx); | ||
360 | list_for_each_entry(dev, &dpm_list, power.entry) | 361 | list_for_each_entry(dev, &dpm_list, power.entry) |
361 | if (dev->power.status > DPM_OFF) { | 362 | if (dev->power.status > DPM_OFF) { |
362 | int error; | 363 | int error; |
@@ -366,6 +367,7 @@ static void dpm_power_up(pm_message_t state) | |||
366 | if (error) | 367 | if (error) |
367 | pm_dev_err(dev, state, " early", error); | 368 | pm_dev_err(dev, state, " early", error); |
368 | } | 369 | } |
370 | mutex_unlock(&dpm_list_mtx); | ||
369 | } | 371 | } |
370 | 372 | ||
371 | /** | 373 | /** |
@@ -614,6 +616,7 @@ int device_power_down(pm_message_t state) | |||
614 | int error = 0; | 616 | int error = 0; |
615 | 617 | ||
616 | suspend_device_irqs(); | 618 | suspend_device_irqs(); |
619 | mutex_lock(&dpm_list_mtx); | ||
617 | list_for_each_entry_reverse(dev, &dpm_list, power.entry) { | 620 | list_for_each_entry_reverse(dev, &dpm_list, power.entry) { |
618 | error = suspend_device_noirq(dev, state); | 621 | error = suspend_device_noirq(dev, state); |
619 | if (error) { | 622 | if (error) { |
@@ -622,6 +625,7 @@ int device_power_down(pm_message_t state) | |||
622 | } | 625 | } |
623 | dev->power.status = DPM_OFF_IRQ; | 626 | dev->power.status = DPM_OFF_IRQ; |
624 | } | 627 | } |
628 | mutex_unlock(&dpm_list_mtx); | ||
625 | if (error) | 629 | if (error) |
626 | device_power_up(resume_event(state)); | 630 | device_power_up(resume_event(state)); |
627 | return error; | 631 | return error; |
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 8f905089b72b..a6cbf7b808e6 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c | |||
@@ -934,8 +934,6 @@ static void blkfront_closing(struct xenbus_device *dev) | |||
934 | 934 | ||
935 | spin_lock_irqsave(&blkif_io_lock, flags); | 935 | spin_lock_irqsave(&blkif_io_lock, flags); |
936 | 936 | ||
937 | del_gendisk(info->gd); | ||
938 | |||
939 | /* No more blkif_request(). */ | 937 | /* No more blkif_request(). */ |
940 | blk_stop_queue(info->rq); | 938 | blk_stop_queue(info->rq); |
941 | 939 | ||
@@ -949,6 +947,8 @@ static void blkfront_closing(struct xenbus_device *dev) | |||
949 | blk_cleanup_queue(info->rq); | 947 | blk_cleanup_queue(info->rq); |
950 | info->rq = NULL; | 948 | info->rq = NULL; |
951 | 949 | ||
950 | del_gendisk(info->gd); | ||
951 | |||
952 | out: | 952 | out: |
953 | xenbus_frontend_closed(dev); | 953 | xenbus_frontend_closed(dev); |
954 | } | 954 | } |
@@ -977,8 +977,10 @@ static void backend_changed(struct xenbus_device *dev, | |||
977 | break; | 977 | break; |
978 | 978 | ||
979 | case XenbusStateClosing: | 979 | case XenbusStateClosing: |
980 | if (info->gd == NULL) | 980 | if (info->gd == NULL) { |
981 | xenbus_dev_fatal(dev, -ENODEV, "gd is NULL"); | 981 | xenbus_frontend_closed(dev); |
982 | break; | ||
983 | } | ||
982 | bd = bdget_disk(info->gd, 0); | 984 | bd = bdget_disk(info->gd, 0); |
983 | if (bd == NULL) | 985 | if (bd == NULL) |
984 | xenbus_dev_fatal(dev, -ENODEV, "bdget failed"); | 986 | xenbus_dev_fatal(dev, -ENODEV, "bdget failed"); |
diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c index 13929356135c..9b1624e0ddeb 100644 --- a/drivers/cdrom/viocd.c +++ b/drivers/cdrom/viocd.c | |||
@@ -587,7 +587,7 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id) | |||
587 | struct device_node *node = vdev->dev.archdata.of_node; | 587 | struct device_node *node = vdev->dev.archdata.of_node; |
588 | 588 | ||
589 | deviceno = vdev->unit_address; | 589 | deviceno = vdev->unit_address; |
590 | if (deviceno > VIOCD_MAX_CD) | 590 | if (deviceno >= VIOCD_MAX_CD) |
591 | return -ENODEV; | 591 | return -ENODEV; |
592 | if (!node) | 592 | if (!node) |
593 | return -ENODEV; | 593 | return -ENODEV; |
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c index aa83a0865ec1..09050797c76a 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c | |||
@@ -2856,6 +2856,7 @@ int ipmi_register_smi(struct ipmi_smi_handlers *handlers, | |||
2856 | /* Assume a single IPMB channel at zero. */ | 2856 | /* Assume a single IPMB channel at zero. */ |
2857 | intf->channels[0].medium = IPMI_CHANNEL_MEDIUM_IPMB; | 2857 | intf->channels[0].medium = IPMI_CHANNEL_MEDIUM_IPMB; |
2858 | intf->channels[0].protocol = IPMI_CHANNEL_PROTOCOL_IPMB; | 2858 | intf->channels[0].protocol = IPMI_CHANNEL_PROTOCOL_IPMB; |
2859 | intf->curr_channel = IPMI_MAX_CHANNELS; | ||
2859 | } | 2860 | } |
2860 | 2861 | ||
2861 | if (rv == 0) | 2862 | if (rv == 0) |
@@ -3648,13 +3649,13 @@ static int handle_new_recv_msg(ipmi_smi_t intf, | |||
3648 | } | 3649 | } |
3649 | 3650 | ||
3650 | /* | 3651 | /* |
3651 | ** We need to make sure the channels have been initialized. | 3652 | * We need to make sure the channels have been initialized. |
3652 | ** The channel_handler routine will set the "curr_channel" | 3653 | * The channel_handler routine will set the "curr_channel" |
3653 | ** equal to or greater than IPMI_MAX_CHANNELS when all the | 3654 | * equal to or greater than IPMI_MAX_CHANNELS when all the |
3654 | ** channels for this interface have been initialized. | 3655 | * channels for this interface have been initialized. |
3655 | */ | 3656 | */ |
3656 | if (intf->curr_channel < IPMI_MAX_CHANNELS) { | 3657 | if (intf->curr_channel < IPMI_MAX_CHANNELS) { |
3657 | requeue = 1; /* Just put the message back for now */ | 3658 | requeue = 0; /* Throw the message away */ |
3658 | goto out; | 3659 | goto out; |
3659 | } | 3660 | } |
3660 | 3661 | ||
diff --git a/drivers/char/mem.c b/drivers/char/mem.c index 8f05c38c2f06..65e12bca657c 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c | |||
@@ -694,6 +694,9 @@ static ssize_t read_zero(struct file * file, char __user * buf, | |||
694 | written += chunk - unwritten; | 694 | written += chunk - unwritten; |
695 | if (unwritten) | 695 | if (unwritten) |
696 | break; | 696 | break; |
697 | /* Consider changing this to just 'signal_pending()' with lots of testing */ | ||
698 | if (fatal_signal_pending(current)) | ||
699 | return written ? written : -EINTR; | ||
697 | buf += chunk; | 700 | buf += chunk; |
698 | count -= chunk; | 701 | count -= chunk; |
699 | cond_resched(); | 702 | cond_resched(); |
diff --git a/drivers/char/random.c b/drivers/char/random.c index b2ced39d76b2..8c7444857a4b 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c | |||
@@ -1673,7 +1673,7 @@ unsigned int get_random_int(void) | |||
1673 | int ret; | 1673 | int ret; |
1674 | 1674 | ||
1675 | keyptr = get_keyptr(); | 1675 | keyptr = get_keyptr(); |
1676 | hash[0] += current->pid + jiffies + get_cycles() + (int)(long)&ret; | 1676 | hash[0] += current->pid + jiffies + get_cycles(); |
1677 | 1677 | ||
1678 | ret = half_md4_transform(hash, keyptr->secret); | 1678 | ret = half_md4_transform(hash, keyptr->secret); |
1679 | put_cpu_var(get_random_int_hash); | 1679 | put_cpu_var(get_random_int_hash); |
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c index b0a6a3e51924..d6a807f4077d 100644 --- a/drivers/char/sysrq.c +++ b/drivers/char/sysrq.c | |||
@@ -406,7 +406,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { | |||
406 | &sysrq_showlocks_op, /* d */ | 406 | &sysrq_showlocks_op, /* d */ |
407 | &sysrq_term_op, /* e */ | 407 | &sysrq_term_op, /* e */ |
408 | &sysrq_moom_op, /* f */ | 408 | &sysrq_moom_op, /* f */ |
409 | /* g: May be registered by ppc for kgdb */ | 409 | /* g: May be registered for the kernel debugger */ |
410 | NULL, /* g */ | 410 | NULL, /* g */ |
411 | NULL, /* h - reserved for help */ | 411 | NULL, /* h - reserved for help */ |
412 | &sysrq_kill_op, /* i */ | 412 | &sysrq_kill_op, /* i */ |
@@ -431,7 +431,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { | |||
431 | &sysrq_sync_op, /* s */ | 431 | &sysrq_sync_op, /* s */ |
432 | &sysrq_showstate_op, /* t */ | 432 | &sysrq_showstate_op, /* t */ |
433 | &sysrq_mountro_op, /* u */ | 433 | &sysrq_mountro_op, /* u */ |
434 | /* v: May be registered at init time by SMP VOYAGER */ | 434 | /* v: May be registered for frame buffer console restore */ |
435 | NULL, /* v */ | 435 | NULL, /* v */ |
436 | &sysrq_showstate_blocked_op, /* w */ | 436 | &sysrq_showstate_blocked_op, /* w */ |
437 | /* x: May be registered on ppc/powerpc for xmon */ | 437 | /* x: May be registered on ppc/powerpc for xmon */ |
diff --git a/drivers/char/tpm/tpm_bios.c b/drivers/char/tpm/tpm_bios.c index ed306eb1057f..0c2f55a38b95 100644 --- a/drivers/char/tpm/tpm_bios.c +++ b/drivers/char/tpm/tpm_bios.c | |||
@@ -212,7 +212,8 @@ static int get_event_name(char *dest, struct tcpa_event *event, | |||
212 | unsigned char * event_entry) | 212 | unsigned char * event_entry) |
213 | { | 213 | { |
214 | const char *name = ""; | 214 | const char *name = ""; |
215 | char data[40] = ""; | 215 | /* 41 so there is room for 40 data and 1 nul */ |
216 | char data[41] = ""; | ||
216 | int i, n_len = 0, d_len = 0; | 217 | int i, n_len = 0, d_len = 0; |
217 | struct tcpa_pc_event *pc_event; | 218 | struct tcpa_pc_event *pc_event; |
218 | 219 | ||
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index d270e8eb3e67..47d2ad0ae079 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c | |||
@@ -1070,11 +1070,11 @@ static int __cpufreq_remove_dev(struct sys_device *sys_dev) | |||
1070 | spin_unlock_irqrestore(&cpufreq_driver_lock, flags); | 1070 | spin_unlock_irqrestore(&cpufreq_driver_lock, flags); |
1071 | #endif | 1071 | #endif |
1072 | 1072 | ||
1073 | unlock_policy_rwsem_write(cpu); | ||
1074 | |||
1073 | if (cpufreq_driver->target) | 1075 | if (cpufreq_driver->target) |
1074 | __cpufreq_governor(data, CPUFREQ_GOV_STOP); | 1076 | __cpufreq_governor(data, CPUFREQ_GOV_STOP); |
1075 | 1077 | ||
1076 | unlock_policy_rwsem_write(cpu); | ||
1077 | |||
1078 | kobject_put(&data->kobj); | 1078 | kobject_put(&data->kobj); |
1079 | 1079 | ||
1080 | /* we need to make sure that the underlying kobj is actually | 1080 | /* we need to make sure that the underlying kobj is actually |
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c index 2ecd95e4ab1a..7a74d175287b 100644 --- a/drivers/cpufreq/cpufreq_conservative.c +++ b/drivers/cpufreq/cpufreq_conservative.c | |||
@@ -91,6 +91,9 @@ static unsigned int dbs_enable; /* number of CPUs using this policy */ | |||
91 | * (like __cpufreq_driver_target()) is being called with dbs_mutex taken, then | 91 | * (like __cpufreq_driver_target()) is being called with dbs_mutex taken, then |
92 | * cpu_hotplug lock should be taken before that. Note that cpu_hotplug lock | 92 | * cpu_hotplug lock should be taken before that. Note that cpu_hotplug lock |
93 | * is recursive for the same process. -Venki | 93 | * is recursive for the same process. -Venki |
94 | * DEADLOCK ALERT! (2) : do_dbs_timer() must not take the dbs_mutex, because it | ||
95 | * would deadlock with cancel_delayed_work_sync(), which is needed for proper | ||
96 | * raceless workqueue teardown. | ||
94 | */ | 97 | */ |
95 | static DEFINE_MUTEX(dbs_mutex); | 98 | static DEFINE_MUTEX(dbs_mutex); |
96 | 99 | ||
@@ -542,7 +545,7 @@ static inline void dbs_timer_init(struct cpu_dbs_info_s *dbs_info) | |||
542 | static inline void dbs_timer_exit(struct cpu_dbs_info_s *dbs_info) | 545 | static inline void dbs_timer_exit(struct cpu_dbs_info_s *dbs_info) |
543 | { | 546 | { |
544 | dbs_info->enable = 0; | 547 | dbs_info->enable = 0; |
545 | cancel_delayed_work(&dbs_info->work); | 548 | cancel_delayed_work_sync(&dbs_info->work); |
546 | } | 549 | } |
547 | 550 | ||
548 | static int cpufreq_governor_dbs(struct cpufreq_policy *policy, | 551 | static int cpufreq_governor_dbs(struct cpufreq_policy *policy, |
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c index 338f428a15b7..e741c339df76 100644 --- a/drivers/cpufreq/cpufreq_ondemand.c +++ b/drivers/cpufreq/cpufreq_ondemand.c | |||
@@ -98,6 +98,9 @@ static unsigned int dbs_enable; /* number of CPUs using this policy */ | |||
98 | * (like __cpufreq_driver_target()) is being called with dbs_mutex taken, then | 98 | * (like __cpufreq_driver_target()) is being called with dbs_mutex taken, then |
99 | * cpu_hotplug lock should be taken before that. Note that cpu_hotplug lock | 99 | * cpu_hotplug lock should be taken before that. Note that cpu_hotplug lock |
100 | * is recursive for the same process. -Venki | 100 | * is recursive for the same process. -Venki |
101 | * DEADLOCK ALERT! (2) : do_dbs_timer() must not take the dbs_mutex, because it | ||
102 | * would deadlock with cancel_delayed_work_sync(), which is needed for proper | ||
103 | * raceless workqueue teardown. | ||
101 | */ | 104 | */ |
102 | static DEFINE_MUTEX(dbs_mutex); | 105 | static DEFINE_MUTEX(dbs_mutex); |
103 | 106 | ||
@@ -562,7 +565,7 @@ static inline void dbs_timer_init(struct cpu_dbs_info_s *dbs_info) | |||
562 | static inline void dbs_timer_exit(struct cpu_dbs_info_s *dbs_info) | 565 | static inline void dbs_timer_exit(struct cpu_dbs_info_s *dbs_info) |
563 | { | 566 | { |
564 | dbs_info->enable = 0; | 567 | dbs_info->enable = 0; |
565 | cancel_delayed_work(&dbs_info->work); | 568 | cancel_delayed_work_sync(&dbs_info->work); |
566 | } | 569 | } |
567 | 570 | ||
568 | static int cpufreq_governor_dbs(struct cpufreq_policy *policy, | 571 | static int cpufreq_governor_dbs(struct cpufreq_policy *policy, |
diff --git a/drivers/crypto/ixp4xx_crypto.c b/drivers/crypto/ixp4xx_crypto.c index f9f05d7a707d..6c6656d3b1e2 100644 --- a/drivers/crypto/ixp4xx_crypto.c +++ b/drivers/crypto/ixp4xx_crypto.c | |||
@@ -415,6 +415,7 @@ static void crypto_done_action(unsigned long arg) | |||
415 | static int init_ixp_crypto(void) | 415 | static int init_ixp_crypto(void) |
416 | { | 416 | { |
417 | int ret = -ENODEV; | 417 | int ret = -ENODEV; |
418 | u32 msg[2] = { 0, 0 }; | ||
418 | 419 | ||
419 | if (! ( ~(*IXP4XX_EXP_CFG2) & (IXP4XX_FEATURE_HASH | | 420 | if (! ( ~(*IXP4XX_EXP_CFG2) & (IXP4XX_FEATURE_HASH | |
420 | IXP4XX_FEATURE_AES | IXP4XX_FEATURE_DES))) { | 421 | IXP4XX_FEATURE_AES | IXP4XX_FEATURE_DES))) { |
@@ -426,9 +427,35 @@ static int init_ixp_crypto(void) | |||
426 | return ret; | 427 | return ret; |
427 | 428 | ||
428 | if (!npe_running(npe_c)) { | 429 | if (!npe_running(npe_c)) { |
429 | npe_load_firmware(npe_c, npe_name(npe_c), dev); | 430 | ret = npe_load_firmware(npe_c, npe_name(npe_c), dev); |
431 | if (ret) { | ||
432 | return ret; | ||
433 | } | ||
434 | if (npe_recv_message(npe_c, msg, "STATUS_MSG")) | ||
435 | goto npe_error; | ||
436 | } else { | ||
437 | if (npe_send_message(npe_c, msg, "STATUS_MSG")) | ||
438 | goto npe_error; | ||
439 | |||
440 | if (npe_recv_message(npe_c, msg, "STATUS_MSG")) | ||
441 | goto npe_error; | ||
430 | } | 442 | } |
431 | 443 | ||
444 | switch ((msg[1]>>16) & 0xff) { | ||
445 | case 3: | ||
446 | printk(KERN_WARNING "Firmware of %s lacks AES support\n", | ||
447 | npe_name(npe_c)); | ||
448 | support_aes = 0; | ||
449 | break; | ||
450 | case 4: | ||
451 | case 5: | ||
452 | support_aes = 1; | ||
453 | break; | ||
454 | default: | ||
455 | printk(KERN_ERR "Firmware of %s lacks crypto support\n", | ||
456 | npe_name(npe_c)); | ||
457 | return -ENODEV; | ||
458 | } | ||
432 | /* buffer_pool will also be used to sometimes store the hmac, | 459 | /* buffer_pool will also be used to sometimes store the hmac, |
433 | * so assure it is large enough | 460 | * so assure it is large enough |
434 | */ | 461 | */ |
@@ -459,6 +486,10 @@ static int init_ixp_crypto(void) | |||
459 | 486 | ||
460 | qmgr_enable_irq(RECV_QID); | 487 | qmgr_enable_irq(RECV_QID); |
461 | return 0; | 488 | return 0; |
489 | |||
490 | npe_error: | ||
491 | printk(KERN_ERR "%s not responding\n", npe_name(npe_c)); | ||
492 | ret = -EIO; | ||
462 | err: | 493 | err: |
463 | if (ctx_pool) | 494 | if (ctx_pool) |
464 | dma_pool_destroy(ctx_pool); | 495 | dma_pool_destroy(ctx_pool); |
diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c index 3f0fdd18255d..856b3cc25583 100644 --- a/drivers/crypto/padlock-aes.c +++ b/drivers/crypto/padlock-aes.c | |||
@@ -489,4 +489,4 @@ MODULE_DESCRIPTION("VIA PadLock AES algorithm support"); | |||
489 | MODULE_LICENSE("GPL"); | 489 | MODULE_LICENSE("GPL"); |
490 | MODULE_AUTHOR("Michal Ludvig"); | 490 | MODULE_AUTHOR("Michal Ludvig"); |
491 | 491 | ||
492 | MODULE_ALIAS("aes-all"); | 492 | MODULE_ALIAS("aes"); |
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 92438e9dacc3..5a87384ea4ff 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c | |||
@@ -804,11 +804,14 @@ dma_async_memcpy_buf_to_buf(struct dma_chan *chan, void *dest, | |||
804 | dma_addr_t dma_dest, dma_src; | 804 | dma_addr_t dma_dest, dma_src; |
805 | dma_cookie_t cookie; | 805 | dma_cookie_t cookie; |
806 | int cpu; | 806 | int cpu; |
807 | unsigned long flags; | ||
807 | 808 | ||
808 | dma_src = dma_map_single(dev->dev, src, len, DMA_TO_DEVICE); | 809 | dma_src = dma_map_single(dev->dev, src, len, DMA_TO_DEVICE); |
809 | dma_dest = dma_map_single(dev->dev, dest, len, DMA_FROM_DEVICE); | 810 | dma_dest = dma_map_single(dev->dev, dest, len, DMA_FROM_DEVICE); |
810 | tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, | 811 | flags = DMA_CTRL_ACK | |
811 | DMA_CTRL_ACK); | 812 | DMA_COMPL_SRC_UNMAP_SINGLE | |
813 | DMA_COMPL_DEST_UNMAP_SINGLE; | ||
814 | tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, flags); | ||
812 | 815 | ||
813 | if (!tx) { | 816 | if (!tx) { |
814 | dma_unmap_single(dev->dev, dma_src, len, DMA_TO_DEVICE); | 817 | dma_unmap_single(dev->dev, dma_src, len, DMA_TO_DEVICE); |
@@ -850,11 +853,12 @@ dma_async_memcpy_buf_to_pg(struct dma_chan *chan, struct page *page, | |||
850 | dma_addr_t dma_dest, dma_src; | 853 | dma_addr_t dma_dest, dma_src; |
851 | dma_cookie_t cookie; | 854 | dma_cookie_t cookie; |
852 | int cpu; | 855 | int cpu; |
856 | unsigned long flags; | ||
853 | 857 | ||
854 | dma_src = dma_map_single(dev->dev, kdata, len, DMA_TO_DEVICE); | 858 | dma_src = dma_map_single(dev->dev, kdata, len, DMA_TO_DEVICE); |
855 | dma_dest = dma_map_page(dev->dev, page, offset, len, DMA_FROM_DEVICE); | 859 | dma_dest = dma_map_page(dev->dev, page, offset, len, DMA_FROM_DEVICE); |
856 | tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, | 860 | flags = DMA_CTRL_ACK | DMA_COMPL_SRC_UNMAP_SINGLE; |
857 | DMA_CTRL_ACK); | 861 | tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, flags); |
858 | 862 | ||
859 | if (!tx) { | 863 | if (!tx) { |
860 | dma_unmap_single(dev->dev, dma_src, len, DMA_TO_DEVICE); | 864 | dma_unmap_single(dev->dev, dma_src, len, DMA_TO_DEVICE); |
@@ -898,12 +902,13 @@ dma_async_memcpy_pg_to_pg(struct dma_chan *chan, struct page *dest_pg, | |||
898 | dma_addr_t dma_dest, dma_src; | 902 | dma_addr_t dma_dest, dma_src; |
899 | dma_cookie_t cookie; | 903 | dma_cookie_t cookie; |
900 | int cpu; | 904 | int cpu; |
905 | unsigned long flags; | ||
901 | 906 | ||
902 | dma_src = dma_map_page(dev->dev, src_pg, src_off, len, DMA_TO_DEVICE); | 907 | dma_src = dma_map_page(dev->dev, src_pg, src_off, len, DMA_TO_DEVICE); |
903 | dma_dest = dma_map_page(dev->dev, dest_pg, dest_off, len, | 908 | dma_dest = dma_map_page(dev->dev, dest_pg, dest_off, len, |
904 | DMA_FROM_DEVICE); | 909 | DMA_FROM_DEVICE); |
905 | tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, | 910 | flags = DMA_CTRL_ACK; |
906 | DMA_CTRL_ACK); | 911 | tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, flags); |
907 | 912 | ||
908 | if (!tx) { | 913 | if (!tx) { |
909 | dma_unmap_page(dev->dev, dma_src, len, DMA_TO_DEVICE); | 914 | dma_unmap_page(dev->dev, dma_src, len, DMA_TO_DEVICE); |
diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c index a27c0fb1bc11..fb7da5141e96 100644 --- a/drivers/dma/dmatest.c +++ b/drivers/dma/dmatest.c | |||
@@ -531,9 +531,7 @@ static int __init dmatest_init(void) | |||
531 | chan = dma_request_channel(mask, filter, NULL); | 531 | chan = dma_request_channel(mask, filter, NULL); |
532 | if (chan) { | 532 | if (chan) { |
533 | err = dmatest_add_channel(chan); | 533 | err = dmatest_add_channel(chan); |
534 | if (err == 0) | 534 | if (err) { |
535 | continue; | ||
536 | else { | ||
537 | dma_release_channel(chan); | 535 | dma_release_channel(chan); |
538 | break; /* add_channel failed, punt */ | 536 | break; /* add_channel failed, punt */ |
539 | } | 537 | } |
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index da8a8ed9e411..f18d1bde0439 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c | |||
@@ -179,9 +179,14 @@ static void dma_halt(struct fsl_dma_chan *fsl_chan) | |||
179 | static void set_ld_eol(struct fsl_dma_chan *fsl_chan, | 179 | static void set_ld_eol(struct fsl_dma_chan *fsl_chan, |
180 | struct fsl_desc_sw *desc) | 180 | struct fsl_desc_sw *desc) |
181 | { | 181 | { |
182 | u64 snoop_bits; | ||
183 | |||
184 | snoop_bits = ((fsl_chan->feature & FSL_DMA_IP_MASK) == FSL_DMA_IP_83XX) | ||
185 | ? FSL_DMA_SNEN : 0; | ||
186 | |||
182 | desc->hw.next_ln_addr = CPU_TO_DMA(fsl_chan, | 187 | desc->hw.next_ln_addr = CPU_TO_DMA(fsl_chan, |
183 | DMA_TO_CPU(fsl_chan, desc->hw.next_ln_addr, 64) | FSL_DMA_EOL, | 188 | DMA_TO_CPU(fsl_chan, desc->hw.next_ln_addr, 64) | FSL_DMA_EOL |
184 | 64); | 189 | | snoop_bits, 64); |
185 | } | 190 | } |
186 | 191 | ||
187 | static void append_ld_queue(struct fsl_dma_chan *fsl_chan, | 192 | static void append_ld_queue(struct fsl_dma_chan *fsl_chan, |
@@ -313,8 +318,8 @@ static void fsl_chan_toggle_ext_start(struct fsl_dma_chan *fsl_chan, int enable) | |||
313 | 318 | ||
314 | static dma_cookie_t fsl_dma_tx_submit(struct dma_async_tx_descriptor *tx) | 319 | static dma_cookie_t fsl_dma_tx_submit(struct dma_async_tx_descriptor *tx) |
315 | { | 320 | { |
316 | struct fsl_desc_sw *desc = tx_to_fsl_desc(tx); | ||
317 | struct fsl_dma_chan *fsl_chan = to_fsl_chan(tx->chan); | 321 | struct fsl_dma_chan *fsl_chan = to_fsl_chan(tx->chan); |
322 | struct fsl_desc_sw *desc; | ||
318 | unsigned long flags; | 323 | unsigned long flags; |
319 | dma_cookie_t cookie; | 324 | dma_cookie_t cookie; |
320 | 325 | ||
@@ -322,14 +327,17 @@ static dma_cookie_t fsl_dma_tx_submit(struct dma_async_tx_descriptor *tx) | |||
322 | spin_lock_irqsave(&fsl_chan->desc_lock, flags); | 327 | spin_lock_irqsave(&fsl_chan->desc_lock, flags); |
323 | 328 | ||
324 | cookie = fsl_chan->common.cookie; | 329 | cookie = fsl_chan->common.cookie; |
325 | cookie++; | 330 | list_for_each_entry(desc, &tx->tx_list, node) { |
326 | if (cookie < 0) | 331 | cookie++; |
327 | cookie = 1; | 332 | if (cookie < 0) |
328 | desc->async_tx.cookie = cookie; | 333 | cookie = 1; |
329 | fsl_chan->common.cookie = desc->async_tx.cookie; | ||
330 | 334 | ||
331 | append_ld_queue(fsl_chan, desc); | 335 | desc->async_tx.cookie = cookie; |
332 | list_splice_init(&desc->async_tx.tx_list, fsl_chan->ld_queue.prev); | 336 | } |
337 | |||
338 | fsl_chan->common.cookie = cookie; | ||
339 | append_ld_queue(fsl_chan, tx_to_fsl_desc(tx)); | ||
340 | list_splice_init(&tx->tx_list, fsl_chan->ld_queue.prev); | ||
333 | 341 | ||
334 | spin_unlock_irqrestore(&fsl_chan->desc_lock, flags); | 342 | spin_unlock_irqrestore(&fsl_chan->desc_lock, flags); |
335 | 343 | ||
@@ -454,8 +462,8 @@ static struct dma_async_tx_descriptor *fsl_dma_prep_memcpy( | |||
454 | { | 462 | { |
455 | struct fsl_dma_chan *fsl_chan; | 463 | struct fsl_dma_chan *fsl_chan; |
456 | struct fsl_desc_sw *first = NULL, *prev = NULL, *new; | 464 | struct fsl_desc_sw *first = NULL, *prev = NULL, *new; |
465 | struct list_head *list; | ||
457 | size_t copy; | 466 | size_t copy; |
458 | LIST_HEAD(link_chain); | ||
459 | 467 | ||
460 | if (!chan) | 468 | if (!chan) |
461 | return NULL; | 469 | return NULL; |
@@ -472,7 +480,7 @@ static struct dma_async_tx_descriptor *fsl_dma_prep_memcpy( | |||
472 | if (!new) { | 480 | if (!new) { |
473 | dev_err(fsl_chan->dev, | 481 | dev_err(fsl_chan->dev, |
474 | "No free memory for link descriptor\n"); | 482 | "No free memory for link descriptor\n"); |
475 | return NULL; | 483 | goto fail; |
476 | } | 484 | } |
477 | #ifdef FSL_DMA_LD_DEBUG | 485 | #ifdef FSL_DMA_LD_DEBUG |
478 | dev_dbg(fsl_chan->dev, "new link desc alloc %p\n", new); | 486 | dev_dbg(fsl_chan->dev, "new link desc alloc %p\n", new); |
@@ -507,7 +515,19 @@ static struct dma_async_tx_descriptor *fsl_dma_prep_memcpy( | |||
507 | /* Set End-of-link to the last link descriptor of new list*/ | 515 | /* Set End-of-link to the last link descriptor of new list*/ |
508 | set_ld_eol(fsl_chan, new); | 516 | set_ld_eol(fsl_chan, new); |
509 | 517 | ||
510 | return first ? &first->async_tx : NULL; | 518 | return &first->async_tx; |
519 | |||
520 | fail: | ||
521 | if (!first) | ||
522 | return NULL; | ||
523 | |||
524 | list = &first->async_tx.tx_list; | ||
525 | list_for_each_entry_safe_reverse(new, prev, list, node) { | ||
526 | list_del(&new->node); | ||
527 | dma_pool_free(fsl_chan->desc_pool, new, new->async_tx.phys); | ||
528 | } | ||
529 | |||
530 | return NULL; | ||
511 | } | 531 | } |
512 | 532 | ||
513 | /** | 533 | /** |
@@ -598,15 +618,16 @@ static void fsl_chan_xfer_ld_queue(struct fsl_dma_chan *fsl_chan) | |||
598 | dma_addr_t next_dest_addr; | 618 | dma_addr_t next_dest_addr; |
599 | unsigned long flags; | 619 | unsigned long flags; |
600 | 620 | ||
621 | spin_lock_irqsave(&fsl_chan->desc_lock, flags); | ||
622 | |||
601 | if (!dma_is_idle(fsl_chan)) | 623 | if (!dma_is_idle(fsl_chan)) |
602 | return; | 624 | goto out_unlock; |
603 | 625 | ||
604 | dma_halt(fsl_chan); | 626 | dma_halt(fsl_chan); |
605 | 627 | ||
606 | /* If there are some link descriptors | 628 | /* If there are some link descriptors |
607 | * not transfered in queue. We need to start it. | 629 | * not transfered in queue. We need to start it. |
608 | */ | 630 | */ |
609 | spin_lock_irqsave(&fsl_chan->desc_lock, flags); | ||
610 | 631 | ||
611 | /* Find the first un-transfer desciptor */ | 632 | /* Find the first un-transfer desciptor */ |
612 | for (ld_node = fsl_chan->ld_queue.next; | 633 | for (ld_node = fsl_chan->ld_queue.next; |
@@ -617,19 +638,20 @@ static void fsl_chan_xfer_ld_queue(struct fsl_dma_chan *fsl_chan) | |||
617 | fsl_chan->common.cookie) == DMA_SUCCESS); | 638 | fsl_chan->common.cookie) == DMA_SUCCESS); |
618 | ld_node = ld_node->next); | 639 | ld_node = ld_node->next); |
619 | 640 | ||
620 | spin_unlock_irqrestore(&fsl_chan->desc_lock, flags); | ||
621 | |||
622 | if (ld_node != &fsl_chan->ld_queue) { | 641 | if (ld_node != &fsl_chan->ld_queue) { |
623 | /* Get the ld start address from ld_queue */ | 642 | /* Get the ld start address from ld_queue */ |
624 | next_dest_addr = to_fsl_desc(ld_node)->async_tx.phys; | 643 | next_dest_addr = to_fsl_desc(ld_node)->async_tx.phys; |
625 | dev_dbg(fsl_chan->dev, "xfer LDs staring from %p\n", | 644 | dev_dbg(fsl_chan->dev, "xfer LDs staring from 0x%llx\n", |
626 | (void *)next_dest_addr); | 645 | (unsigned long long)next_dest_addr); |
627 | set_cdar(fsl_chan, next_dest_addr); | 646 | set_cdar(fsl_chan, next_dest_addr); |
628 | dma_start(fsl_chan); | 647 | dma_start(fsl_chan); |
629 | } else { | 648 | } else { |
630 | set_cdar(fsl_chan, 0); | 649 | set_cdar(fsl_chan, 0); |
631 | set_ndar(fsl_chan, 0); | 650 | set_ndar(fsl_chan, 0); |
632 | } | 651 | } |
652 | |||
653 | out_unlock: | ||
654 | spin_unlock_irqrestore(&fsl_chan->desc_lock, flags); | ||
633 | } | 655 | } |
634 | 656 | ||
635 | /** | 657 | /** |
@@ -734,8 +756,9 @@ static irqreturn_t fsl_dma_chan_do_interrupt(int irq, void *data) | |||
734 | */ | 756 | */ |
735 | if (stat & FSL_DMA_SR_EOSI) { | 757 | if (stat & FSL_DMA_SR_EOSI) { |
736 | dev_dbg(fsl_chan->dev, "event: End-of-segments INT\n"); | 758 | dev_dbg(fsl_chan->dev, "event: End-of-segments INT\n"); |
737 | dev_dbg(fsl_chan->dev, "event: clndar %p, nlndar %p\n", | 759 | dev_dbg(fsl_chan->dev, "event: clndar 0x%llx, nlndar 0x%llx\n", |
738 | (void *)get_cdar(fsl_chan), (void *)get_ndar(fsl_chan)); | 760 | (unsigned long long)get_cdar(fsl_chan), |
761 | (unsigned long long)get_ndar(fsl_chan)); | ||
739 | stat &= ~FSL_DMA_SR_EOSI; | 762 | stat &= ~FSL_DMA_SR_EOSI; |
740 | update_cookie = 1; | 763 | update_cookie = 1; |
741 | } | 764 | } |
@@ -830,7 +853,7 @@ static int __devinit fsl_dma_chan_probe(struct fsl_dma_device *fdev, | |||
830 | new_fsl_chan->reg.end - new_fsl_chan->reg.start + 1); | 853 | new_fsl_chan->reg.end - new_fsl_chan->reg.start + 1); |
831 | 854 | ||
832 | new_fsl_chan->id = ((new_fsl_chan->reg.start - 0x100) & 0xfff) >> 7; | 855 | new_fsl_chan->id = ((new_fsl_chan->reg.start - 0x100) & 0xfff) >> 7; |
833 | if (new_fsl_chan->id > FSL_DMA_MAX_CHANS_PER_DEVICE) { | 856 | if (new_fsl_chan->id >= FSL_DMA_MAX_CHANS_PER_DEVICE) { |
834 | dev_err(fdev->dev, "There is no %d channel!\n", | 857 | dev_err(fdev->dev, "There is no %d channel!\n", |
835 | new_fsl_chan->id); | 858 | new_fsl_chan->id); |
836 | err = -EINVAL; | 859 | err = -EINVAL; |
@@ -925,8 +948,8 @@ static int __devinit of_fsl_dma_probe(struct of_device *dev, | |||
925 | } | 948 | } |
926 | 949 | ||
927 | dev_info(&dev->dev, "Probe the Freescale DMA driver for %s " | 950 | dev_info(&dev->dev, "Probe the Freescale DMA driver for %s " |
928 | "controller at %p...\n", | 951 | "controller at 0x%llx...\n", |
929 | match->compatible, (void *)fdev->reg.start); | 952 | match->compatible, (unsigned long long)fdev->reg.start); |
930 | fdev->reg_base = ioremap(fdev->reg.start, fdev->reg.end | 953 | fdev->reg_base = ioremap(fdev->reg.start, fdev->reg.end |
931 | - fdev->reg.start + 1); | 954 | - fdev->reg.start + 1); |
932 | 955 | ||
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c index e4fc33c1c32f..a600fc0f7962 100644 --- a/drivers/dma/ioat_dma.c +++ b/drivers/dma/ioat_dma.c | |||
@@ -173,7 +173,7 @@ static int ioat_dma_enumerate_channels(struct ioatdma_device *device) | |||
173 | xfercap = (xfercap_scale == 0 ? -1 : (1UL << xfercap_scale)); | 173 | xfercap = (xfercap_scale == 0 ? -1 : (1UL << xfercap_scale)); |
174 | 174 | ||
175 | #ifdef CONFIG_I7300_IDLE_IOAT_CHANNEL | 175 | #ifdef CONFIG_I7300_IDLE_IOAT_CHANNEL |
176 | if (i7300_idle_platform_probe(NULL, NULL) == 0) { | 176 | if (i7300_idle_platform_probe(NULL, NULL, 1) == 0) { |
177 | device->common.chancnt--; | 177 | device->common.chancnt--; |
178 | } | 178 | } |
179 | #endif | 179 | #endif |
@@ -1063,22 +1063,31 @@ static void ioat_dma_cleanup_tasklet(unsigned long data) | |||
1063 | static void | 1063 | static void |
1064 | ioat_dma_unmap(struct ioat_dma_chan *ioat_chan, struct ioat_desc_sw *desc) | 1064 | ioat_dma_unmap(struct ioat_dma_chan *ioat_chan, struct ioat_desc_sw *desc) |
1065 | { | 1065 | { |
1066 | /* | 1066 | if (!(desc->async_tx.flags & DMA_COMPL_SKIP_DEST_UNMAP)) { |
1067 | * yes we are unmapping both _page and _single | 1067 | if (desc->async_tx.flags & DMA_COMPL_DEST_UNMAP_SINGLE) |
1068 | * alloc'd regions with unmap_page. Is this | 1068 | pci_unmap_single(ioat_chan->device->pdev, |
1069 | * *really* that bad? | 1069 | pci_unmap_addr(desc, dst), |
1070 | */ | 1070 | pci_unmap_len(desc, len), |
1071 | if (!(desc->async_tx.flags & DMA_COMPL_SKIP_DEST_UNMAP)) | 1071 | PCI_DMA_FROMDEVICE); |
1072 | pci_unmap_page(ioat_chan->device->pdev, | 1072 | else |
1073 | pci_unmap_addr(desc, dst), | 1073 | pci_unmap_page(ioat_chan->device->pdev, |
1074 | pci_unmap_len(desc, len), | 1074 | pci_unmap_addr(desc, dst), |
1075 | PCI_DMA_FROMDEVICE); | 1075 | pci_unmap_len(desc, len), |
1076 | 1076 | PCI_DMA_FROMDEVICE); | |
1077 | if (!(desc->async_tx.flags & DMA_COMPL_SKIP_SRC_UNMAP)) | 1077 | } |
1078 | pci_unmap_page(ioat_chan->device->pdev, | 1078 | |
1079 | pci_unmap_addr(desc, src), | 1079 | if (!(desc->async_tx.flags & DMA_COMPL_SKIP_SRC_UNMAP)) { |
1080 | pci_unmap_len(desc, len), | 1080 | if (desc->async_tx.flags & DMA_COMPL_SRC_UNMAP_SINGLE) |
1081 | PCI_DMA_TODEVICE); | 1081 | pci_unmap_single(ioat_chan->device->pdev, |
1082 | pci_unmap_addr(desc, src), | ||
1083 | pci_unmap_len(desc, len), | ||
1084 | PCI_DMA_TODEVICE); | ||
1085 | else | ||
1086 | pci_unmap_page(ioat_chan->device->pdev, | ||
1087 | pci_unmap_addr(desc, src), | ||
1088 | pci_unmap_len(desc, len), | ||
1089 | PCI_DMA_TODEVICE); | ||
1090 | } | ||
1082 | } | 1091 | } |
1083 | 1092 | ||
1084 | /** | 1093 | /** |
@@ -1363,6 +1372,7 @@ static int ioat_dma_self_test(struct ioatdma_device *device) | |||
1363 | int err = 0; | 1372 | int err = 0; |
1364 | struct completion cmp; | 1373 | struct completion cmp; |
1365 | unsigned long tmo; | 1374 | unsigned long tmo; |
1375 | unsigned long flags; | ||
1366 | 1376 | ||
1367 | src = kzalloc(sizeof(u8) * IOAT_TEST_SIZE, GFP_KERNEL); | 1377 | src = kzalloc(sizeof(u8) * IOAT_TEST_SIZE, GFP_KERNEL); |
1368 | if (!src) | 1378 | if (!src) |
@@ -1392,8 +1402,9 @@ static int ioat_dma_self_test(struct ioatdma_device *device) | |||
1392 | DMA_TO_DEVICE); | 1402 | DMA_TO_DEVICE); |
1393 | dma_dest = dma_map_single(dma_chan->device->dev, dest, IOAT_TEST_SIZE, | 1403 | dma_dest = dma_map_single(dma_chan->device->dev, dest, IOAT_TEST_SIZE, |
1394 | DMA_FROM_DEVICE); | 1404 | DMA_FROM_DEVICE); |
1405 | flags = DMA_COMPL_SRC_UNMAP_SINGLE | DMA_COMPL_DEST_UNMAP_SINGLE; | ||
1395 | tx = device->common.device_prep_dma_memcpy(dma_chan, dma_dest, dma_src, | 1406 | tx = device->common.device_prep_dma_memcpy(dma_chan, dma_dest, dma_src, |
1396 | IOAT_TEST_SIZE, 0); | 1407 | IOAT_TEST_SIZE, flags); |
1397 | if (!tx) { | 1408 | if (!tx) { |
1398 | dev_err(&device->pdev->dev, | 1409 | dev_err(&device->pdev->dev, |
1399 | "Self-test prep failed, disabling\n"); | 1410 | "Self-test prep failed, disabling\n"); |
diff --git a/drivers/dma/ipu/ipu_idmac.c b/drivers/dma/ipu/ipu_idmac.c index e202a6ce5573..9a5bc1a7389e 100644 --- a/drivers/dma/ipu/ipu_idmac.c +++ b/drivers/dma/ipu/ipu_idmac.c | |||
@@ -1272,7 +1272,8 @@ static irqreturn_t idmac_interrupt(int irq, void *dev_id) | |||
1272 | /* Other interrupts do not interfere with this channel */ | 1272 | /* Other interrupts do not interfere with this channel */ |
1273 | spin_lock(&ichan->lock); | 1273 | spin_lock(&ichan->lock); |
1274 | if (unlikely(chan_id != IDMAC_SDC_0 && chan_id != IDMAC_SDC_1 && | 1274 | if (unlikely(chan_id != IDMAC_SDC_0 && chan_id != IDMAC_SDC_1 && |
1275 | ((curbuf >> chan_id) & 1) == ichan->active_buffer)) { | 1275 | ((curbuf >> chan_id) & 1) == ichan->active_buffer && |
1276 | !list_is_last(ichan->queue.next, &ichan->queue))) { | ||
1276 | int i = 100; | 1277 | int i = 100; |
1277 | 1278 | ||
1278 | /* This doesn't help. See comment in ipu_disable_channel() */ | 1279 | /* This doesn't help. See comment in ipu_disable_channel() */ |
@@ -1547,7 +1548,7 @@ static irqreturn_t ic_sof_irq(int irq, void *dev_id) | |||
1547 | struct idmac_channel *ichan = dev_id; | 1548 | struct idmac_channel *ichan = dev_id; |
1548 | printk(KERN_DEBUG "Got SOF IRQ %d on Channel %d\n", | 1549 | printk(KERN_DEBUG "Got SOF IRQ %d on Channel %d\n", |
1549 | irq, ichan->dma_chan.chan_id); | 1550 | irq, ichan->dma_chan.chan_id); |
1550 | disable_irq(irq); | 1551 | disable_irq_nosync(irq); |
1551 | return IRQ_HANDLED; | 1552 | return IRQ_HANDLED; |
1552 | } | 1553 | } |
1553 | 1554 | ||
@@ -1556,7 +1557,7 @@ static irqreturn_t ic_eof_irq(int irq, void *dev_id) | |||
1556 | struct idmac_channel *ichan = dev_id; | 1557 | struct idmac_channel *ichan = dev_id; |
1557 | printk(KERN_DEBUG "Got EOF IRQ %d on Channel %d\n", | 1558 | printk(KERN_DEBUG "Got EOF IRQ %d on Channel %d\n", |
1558 | irq, ichan->dma_chan.chan_id); | 1559 | irq, ichan->dma_chan.chan_id); |
1559 | disable_irq(irq); | 1560 | disable_irq_nosync(irq); |
1560 | return IRQ_HANDLED; | 1561 | return IRQ_HANDLED; |
1561 | } | 1562 | } |
1562 | 1563 | ||
diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig index e5f5c5a8ba6c..956982f8739b 100644 --- a/drivers/edac/Kconfig +++ b/drivers/edac/Kconfig | |||
@@ -192,16 +192,20 @@ config EDAC_PPC4XX | |||
192 | 192 | ||
193 | config EDAC_AMD8131 | 193 | config EDAC_AMD8131 |
194 | tristate "AMD8131 HyperTransport PCI-X Tunnel" | 194 | tristate "AMD8131 HyperTransport PCI-X Tunnel" |
195 | depends on EDAC_MM_EDAC && PCI | 195 | depends on EDAC_MM_EDAC && PCI && PPC_MAPLE |
196 | help | 196 | help |
197 | Support for error detection and correction on the | 197 | Support for error detection and correction on the |
198 | AMD8131 HyperTransport PCI-X Tunnel chip. | 198 | AMD8131 HyperTransport PCI-X Tunnel chip. |
199 | Note, add more Kconfig dependency if it's adopted | ||
200 | on some machine other than Maple. | ||
199 | 201 | ||
200 | config EDAC_AMD8111 | 202 | config EDAC_AMD8111 |
201 | tristate "AMD8111 HyperTransport I/O Hub" | 203 | tristate "AMD8111 HyperTransport I/O Hub" |
202 | depends on EDAC_MM_EDAC && PCI | 204 | depends on EDAC_MM_EDAC && PCI && PPC_MAPLE |
203 | help | 205 | help |
204 | Support for error detection and correction on the | 206 | Support for error detection and correction on the |
205 | AMD8111 HyperTransport I/O Hub chip. | 207 | AMD8111 HyperTransport I/O Hub chip. |
208 | Note, add more Kconfig dependency if it's adopted | ||
209 | on some machine other than Maple. | ||
206 | 210 | ||
207 | endif # EDAC | 211 | endif # EDAC |
diff --git a/drivers/edac/Makefile b/drivers/edac/Makefile index a5fdcf02f591..59076819135d 100644 --- a/drivers/edac/Makefile +++ b/drivers/edac/Makefile | |||
@@ -35,3 +35,5 @@ obj-$(CONFIG_EDAC_MPC85XX) += mpc85xx_edac.o | |||
35 | obj-$(CONFIG_EDAC_MV64X60) += mv64x60_edac.o | 35 | obj-$(CONFIG_EDAC_MV64X60) += mv64x60_edac.o |
36 | obj-$(CONFIG_EDAC_CELL) += cell_edac.o | 36 | obj-$(CONFIG_EDAC_CELL) += cell_edac.o |
37 | obj-$(CONFIG_EDAC_PPC4XX) += ppc4xx_edac.o | 37 | obj-$(CONFIG_EDAC_PPC4XX) += ppc4xx_edac.o |
38 | obj-$(CONFIG_EDAC_AMD8111) += amd8111_edac.o | ||
39 | obj-$(CONFIG_EDAC_AMD8131) += amd8131_edac.o | ||
diff --git a/drivers/edac/amd8111_edac.c b/drivers/edac/amd8111_edac.c index 614692181120..2cb58ef743e0 100644 --- a/drivers/edac/amd8111_edac.c +++ b/drivers/edac/amd8111_edac.c | |||
@@ -389,7 +389,7 @@ static int amd8111_dev_probe(struct pci_dev *dev, | |||
389 | dev_info->edac_dev->dev = &dev_info->dev->dev; | 389 | dev_info->edac_dev->dev = &dev_info->dev->dev; |
390 | dev_info->edac_dev->mod_name = AMD8111_EDAC_MOD_STR; | 390 | dev_info->edac_dev->mod_name = AMD8111_EDAC_MOD_STR; |
391 | dev_info->edac_dev->ctl_name = dev_info->ctl_name; | 391 | dev_info->edac_dev->ctl_name = dev_info->ctl_name; |
392 | dev_info->edac_dev->dev_name = dev_info->dev->dev.bus_id; | 392 | dev_info->edac_dev->dev_name = dev_name(&dev_info->dev->dev); |
393 | 393 | ||
394 | if (edac_op_state == EDAC_OPSTATE_POLL) | 394 | if (edac_op_state == EDAC_OPSTATE_POLL) |
395 | dev_info->edac_dev->edac_check = dev_info->check; | 395 | dev_info->edac_dev->edac_check = dev_info->check; |
@@ -473,7 +473,7 @@ static int amd8111_pci_probe(struct pci_dev *dev, | |||
473 | pci_info->edac_dev->dev = &pci_info->dev->dev; | 473 | pci_info->edac_dev->dev = &pci_info->dev->dev; |
474 | pci_info->edac_dev->mod_name = AMD8111_EDAC_MOD_STR; | 474 | pci_info->edac_dev->mod_name = AMD8111_EDAC_MOD_STR; |
475 | pci_info->edac_dev->ctl_name = pci_info->ctl_name; | 475 | pci_info->edac_dev->ctl_name = pci_info->ctl_name; |
476 | pci_info->edac_dev->dev_name = pci_info->dev->dev.bus_id; | 476 | pci_info->edac_dev->dev_name = dev_name(&pci_info->dev->dev); |
477 | 477 | ||
478 | if (edac_op_state == EDAC_OPSTATE_POLL) | 478 | if (edac_op_state == EDAC_OPSTATE_POLL) |
479 | pci_info->edac_dev->edac_check = pci_info->check; | 479 | pci_info->edac_dev->edac_check = pci_info->check; |
diff --git a/drivers/edac/amd8131_edac.c b/drivers/edac/amd8131_edac.c index c083b31cac5a..b432d60c622a 100644 --- a/drivers/edac/amd8131_edac.c +++ b/drivers/edac/amd8131_edac.c | |||
@@ -287,7 +287,7 @@ static int amd8131_probe(struct pci_dev *dev, const struct pci_device_id *id) | |||
287 | dev_info->edac_dev->dev = &dev_info->dev->dev; | 287 | dev_info->edac_dev->dev = &dev_info->dev->dev; |
288 | dev_info->edac_dev->mod_name = AMD8131_EDAC_MOD_STR; | 288 | dev_info->edac_dev->mod_name = AMD8131_EDAC_MOD_STR; |
289 | dev_info->edac_dev->ctl_name = dev_info->ctl_name; | 289 | dev_info->edac_dev->ctl_name = dev_info->ctl_name; |
290 | dev_info->edac_dev->dev_name = dev_info->dev->dev.bus_id; | 290 | dev_info->edac_dev->dev_name = dev_name(&dev_info->dev->dev); |
291 | 291 | ||
292 | if (edac_op_state == EDAC_OPSTATE_POLL) | 292 | if (edac_op_state == EDAC_OPSTATE_POLL) |
293 | dev_info->edac_dev->edac_check = amd8131_chipset.check; | 293 | dev_info->edac_dev->edac_check = amd8131_chipset.check; |
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index 3a22eb9be378..f5d46e7199d4 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig | |||
@@ -67,11 +67,18 @@ config DRM_I830 | |||
67 | will load the correct one. | 67 | will load the correct one. |
68 | 68 | ||
69 | config DRM_I915 | 69 | config DRM_I915 |
70 | tristate "i915 driver" | ||
70 | select FB_CFB_FILLRECT | 71 | select FB_CFB_FILLRECT |
71 | select FB_CFB_COPYAREA | 72 | select FB_CFB_COPYAREA |
72 | select FB_CFB_IMAGEBLIT | 73 | select FB_CFB_IMAGEBLIT |
73 | select FB | 74 | select FB |
74 | tristate "i915 driver" | 75 | select FRAMEBUFFER_CONSOLE if !EMBEDDED |
76 | # i915 depends on ACPI_VIDEO when ACPI is enabled | ||
77 | # but for select to work, need to select ACPI_VIDEO's dependencies, ick | ||
78 | select VIDEO_OUTPUT_CONTROL if ACPI | ||
79 | select BACKLIGHT_CLASS_DEVICE if ACPI | ||
80 | select INPUT if ACPI | ||
81 | select ACPI_VIDEO if ACPI | ||
75 | help | 82 | help |
76 | Choose this option if you have a system that has Intel 830M, 845G, | 83 | Choose this option if you have a system that has Intel 830M, 845G, |
77 | 852GM, 855GM 865G or 915G integrated graphics. If M is selected, the | 84 | 852GM, 855GM 865G or 915G integrated graphics. If M is selected, the |
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c index 6d80d17f1e96..80a257554b30 100644 --- a/drivers/gpu/drm/drm_bufs.c +++ b/drivers/gpu/drm/drm_bufs.c | |||
@@ -170,6 +170,14 @@ static int drm_addmap_core(struct drm_device * dev, resource_size_t offset, | |||
170 | } | 170 | } |
171 | DRM_DEBUG("offset = 0x%08llx, size = 0x%08lx, type = %d\n", | 171 | DRM_DEBUG("offset = 0x%08llx, size = 0x%08lx, type = %d\n", |
172 | (unsigned long long)map->offset, map->size, map->type); | 172 | (unsigned long long)map->offset, map->size, map->type); |
173 | |||
174 | /* page-align _DRM_SHM maps. They are allocated here so there is no security | ||
175 | * hole created by that and it works around various broken drivers that use | ||
176 | * a non-aligned quantity to map the SAREA. --BenH | ||
177 | */ | ||
178 | if (map->type == _DRM_SHM) | ||
179 | map->size = PAGE_ALIGN(map->size); | ||
180 | |||
173 | if ((map->offset & (~(resource_size_t)PAGE_MASK)) || (map->size & (~PAGE_MASK))) { | 181 | if ((map->offset & (~(resource_size_t)PAGE_MASK)) || (map->size & (~PAGE_MASK))) { |
174 | drm_free(map, sizeof(*map), DRM_MEM_MAPS); | 182 | drm_free(map, sizeof(*map), DRM_MEM_MAPS); |
175 | return -EINVAL; | 183 | return -EINVAL; |
@@ -363,7 +371,8 @@ static int drm_addmap_core(struct drm_device * dev, resource_size_t offset, | |||
363 | list->user_token = list->hash.key << PAGE_SHIFT; | 371 | list->user_token = list->hash.key << PAGE_SHIFT; |
364 | mutex_unlock(&dev->struct_mutex); | 372 | mutex_unlock(&dev->struct_mutex); |
365 | 373 | ||
366 | list->master = dev->primary->master; | 374 | if (!(map->flags & _DRM_DRIVER)) |
375 | list->master = dev->primary->master; | ||
367 | *maplist = list; | 376 | *maplist = list; |
368 | return 0; | 377 | return 0; |
369 | } | 378 | } |
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 94a768871734..8fab7890a363 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c | |||
@@ -2294,7 +2294,12 @@ int drm_mode_connector_property_set_ioctl(struct drm_device *dev, | |||
2294 | } | 2294 | } |
2295 | } | 2295 | } |
2296 | 2296 | ||
2297 | if (connector->funcs->set_property) | 2297 | /* Do DPMS ourselves */ |
2298 | if (property == connector->dev->mode_config.dpms_property) { | ||
2299 | if (connector->funcs->dpms) | ||
2300 | (*connector->funcs->dpms)(connector, (int) out_resp->value); | ||
2301 | ret = 0; | ||
2302 | } else if (connector->funcs->set_property) | ||
2298 | ret = connector->funcs->set_property(connector, property, out_resp->value); | 2303 | ret = connector->funcs->set_property(connector, property, out_resp->value); |
2299 | 2304 | ||
2300 | /* store the property value if succesful */ | 2305 | /* store the property value if succesful */ |
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 45890447feec..a6f73f1e99d9 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c | |||
@@ -199,6 +199,29 @@ static void drm_helper_add_std_modes(struct drm_device *dev, | |||
199 | } | 199 | } |
200 | 200 | ||
201 | /** | 201 | /** |
202 | * drm_helper_encoder_in_use - check if a given encoder is in use | ||
203 | * @encoder: encoder to check | ||
204 | * | ||
205 | * LOCKING: | ||
206 | * Caller must hold mode config lock. | ||
207 | * | ||
208 | * Walk @encoders's DRM device's mode_config and see if it's in use. | ||
209 | * | ||
210 | * RETURNS: | ||
211 | * True if @encoder is part of the mode_config, false otherwise. | ||
212 | */ | ||
213 | bool drm_helper_encoder_in_use(struct drm_encoder *encoder) | ||
214 | { | ||
215 | struct drm_connector *connector; | ||
216 | struct drm_device *dev = encoder->dev; | ||
217 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) | ||
218 | if (connector->encoder == encoder) | ||
219 | return true; | ||
220 | return false; | ||
221 | } | ||
222 | EXPORT_SYMBOL(drm_helper_encoder_in_use); | ||
223 | |||
224 | /** | ||
202 | * drm_helper_crtc_in_use - check if a given CRTC is in a mode_config | 225 | * drm_helper_crtc_in_use - check if a given CRTC is in a mode_config |
203 | * @crtc: CRTC to check | 226 | * @crtc: CRTC to check |
204 | * | 227 | * |
@@ -216,7 +239,7 @@ bool drm_helper_crtc_in_use(struct drm_crtc *crtc) | |||
216 | struct drm_device *dev = crtc->dev; | 239 | struct drm_device *dev = crtc->dev; |
217 | /* FIXME: Locking around list access? */ | 240 | /* FIXME: Locking around list access? */ |
218 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) | 241 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) |
219 | if (encoder->crtc == crtc) | 242 | if (encoder->crtc == crtc && drm_helper_encoder_in_use(encoder)) |
220 | return true; | 243 | return true; |
221 | return false; | 244 | return false; |
222 | } | 245 | } |
@@ -240,7 +263,7 @@ void drm_helper_disable_unused_functions(struct drm_device *dev) | |||
240 | 263 | ||
241 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { | 264 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { |
242 | encoder_funcs = encoder->helper_private; | 265 | encoder_funcs = encoder->helper_private; |
243 | if (!encoder->crtc) | 266 | if (!drm_helper_encoder_in_use(encoder)) |
244 | (*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF); | 267 | (*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF); |
245 | } | 268 | } |
246 | 269 | ||
@@ -935,6 +958,88 @@ bool drm_helper_initial_config(struct drm_device *dev) | |||
935 | } | 958 | } |
936 | EXPORT_SYMBOL(drm_helper_initial_config); | 959 | EXPORT_SYMBOL(drm_helper_initial_config); |
937 | 960 | ||
961 | static int drm_helper_choose_encoder_dpms(struct drm_encoder *encoder) | ||
962 | { | ||
963 | int dpms = DRM_MODE_DPMS_OFF; | ||
964 | struct drm_connector *connector; | ||
965 | struct drm_device *dev = encoder->dev; | ||
966 | |||
967 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) | ||
968 | if (connector->encoder == encoder) | ||
969 | if (connector->dpms < dpms) | ||
970 | dpms = connector->dpms; | ||
971 | return dpms; | ||
972 | } | ||
973 | |||
974 | static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc) | ||
975 | { | ||
976 | int dpms = DRM_MODE_DPMS_OFF; | ||
977 | struct drm_connector *connector; | ||
978 | struct drm_device *dev = crtc->dev; | ||
979 | |||
980 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) | ||
981 | if (connector->encoder && connector->encoder->crtc == crtc) | ||
982 | if (connector->dpms < dpms) | ||
983 | dpms = connector->dpms; | ||
984 | return dpms; | ||
985 | } | ||
986 | |||
987 | /** | ||
988 | * drm_helper_connector_dpms | ||
989 | * @connector affected connector | ||
990 | * @mode DPMS mode | ||
991 | * | ||
992 | * Calls the low-level connector DPMS function, then | ||
993 | * calls appropriate encoder and crtc DPMS functions as well | ||
994 | */ | ||
995 | void drm_helper_connector_dpms(struct drm_connector *connector, int mode) | ||
996 | { | ||
997 | struct drm_encoder *encoder = connector->encoder; | ||
998 | struct drm_crtc *crtc = encoder ? encoder->crtc : NULL; | ||
999 | int old_dpms; | ||
1000 | |||
1001 | if (mode == connector->dpms) | ||
1002 | return; | ||
1003 | |||
1004 | old_dpms = connector->dpms; | ||
1005 | connector->dpms = mode; | ||
1006 | |||
1007 | /* from off to on, do crtc then encoder */ | ||
1008 | if (mode < old_dpms) { | ||
1009 | if (crtc) { | ||
1010 | struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; | ||
1011 | if (crtc_funcs->dpms) | ||
1012 | (*crtc_funcs->dpms) (crtc, | ||
1013 | drm_helper_choose_crtc_dpms(crtc)); | ||
1014 | } | ||
1015 | if (encoder) { | ||
1016 | struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; | ||
1017 | if (encoder_funcs->dpms) | ||
1018 | (*encoder_funcs->dpms) (encoder, | ||
1019 | drm_helper_choose_encoder_dpms(encoder)); | ||
1020 | } | ||
1021 | } | ||
1022 | |||
1023 | /* from on to off, do encoder then crtc */ | ||
1024 | if (mode > old_dpms) { | ||
1025 | if (encoder) { | ||
1026 | struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; | ||
1027 | if (encoder_funcs->dpms) | ||
1028 | (*encoder_funcs->dpms) (encoder, | ||
1029 | drm_helper_choose_encoder_dpms(encoder)); | ||
1030 | } | ||
1031 | if (crtc) { | ||
1032 | struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; | ||
1033 | if (crtc_funcs->dpms) | ||
1034 | (*crtc_funcs->dpms) (crtc, | ||
1035 | drm_helper_choose_crtc_dpms(crtc)); | ||
1036 | } | ||
1037 | } | ||
1038 | |||
1039 | return; | ||
1040 | } | ||
1041 | EXPORT_SYMBOL(drm_helper_connector_dpms); | ||
1042 | |||
938 | /** | 1043 | /** |
939 | * drm_hotplug_stage_two | 1044 | * drm_hotplug_stage_two |
940 | * @dev DRM device | 1045 | * @dev DRM device |
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index f01def16a669..019b7c578236 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c | |||
@@ -481,7 +481,7 @@ int drm_ioctl(struct inode *inode, struct file *filp, | |||
481 | } | 481 | } |
482 | retcode = func(dev, kdata, file_priv); | 482 | retcode = func(dev, kdata, file_priv); |
483 | 483 | ||
484 | if ((retcode == 0) && (cmd & IOC_OUT)) { | 484 | if (cmd & IOC_OUT) { |
485 | if (copy_to_user((void __user *)arg, kdata, | 485 | if (copy_to_user((void __user *)arg, kdata, |
486 | _IOC_SIZE(cmd)) != 0) | 486 | _IOC_SIZE(cmd)) != 0) |
487 | retcode = -EFAULT; | 487 | retcode = -EFAULT; |
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index ca9c61656714..6f6b26479d82 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c | |||
@@ -289,6 +289,11 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev, | |||
289 | struct drm_display_mode *mode; | 289 | struct drm_display_mode *mode; |
290 | struct detailed_pixel_timing *pt = &timing->data.pixel_data; | 290 | struct detailed_pixel_timing *pt = &timing->data.pixel_data; |
291 | 291 | ||
292 | /* ignore tiny modes */ | ||
293 | if (((pt->hactive_hi << 8) | pt->hactive_lo) < 64 || | ||
294 | ((pt->vactive_hi << 8) | pt->hactive_lo) < 64) | ||
295 | return NULL; | ||
296 | |||
292 | if (pt->stereo) { | 297 | if (pt->stereo) { |
293 | printk(KERN_WARNING "stereo mode not supported\n"); | 298 | printk(KERN_WARNING "stereo mode not supported\n"); |
294 | return NULL; | 299 | return NULL; |
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 93e677a481f5..fc8e5acd9d9a 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c | |||
@@ -196,6 +196,7 @@ int drm_irq_install(struct drm_device *dev) | |||
196 | { | 196 | { |
197 | int ret = 0; | 197 | int ret = 0; |
198 | unsigned long sh_flags = 0; | 198 | unsigned long sh_flags = 0; |
199 | char *irqname; | ||
199 | 200 | ||
200 | if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) | 201 | if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) |
201 | return -EINVAL; | 202 | return -EINVAL; |
@@ -227,8 +228,13 @@ int drm_irq_install(struct drm_device *dev) | |||
227 | if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) | 228 | if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) |
228 | sh_flags = IRQF_SHARED; | 229 | sh_flags = IRQF_SHARED; |
229 | 230 | ||
231 | if (dev->devname) | ||
232 | irqname = dev->devname; | ||
233 | else | ||
234 | irqname = dev->driver->name; | ||
235 | |||
230 | ret = request_irq(drm_dev_to_irq(dev), dev->driver->irq_handler, | 236 | ret = request_irq(drm_dev_to_irq(dev), dev->driver->irq_handler, |
231 | sh_flags, dev->devname, dev); | 237 | sh_flags, irqname, dev); |
232 | 238 | ||
233 | if (ret < 0) { | 239 | if (ret < 0) { |
234 | mutex_lock(&dev->struct_mutex); | 240 | mutex_lock(&dev->struct_mutex); |
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c index 8f9372921f82..9987ab880835 100644 --- a/drivers/gpu/drm/drm_sysfs.c +++ b/drivers/gpu/drm/drm_sysfs.c | |||
@@ -147,7 +147,7 @@ static ssize_t status_show(struct device *device, | |||
147 | enum drm_connector_status status; | 147 | enum drm_connector_status status; |
148 | 148 | ||
149 | status = connector->funcs->detect(connector); | 149 | status = connector->funcs->detect(connector); |
150 | return snprintf(buf, PAGE_SIZE, "%s", | 150 | return snprintf(buf, PAGE_SIZE, "%s\n", |
151 | drm_get_connector_status_name(status)); | 151 | drm_get_connector_status_name(status)); |
152 | } | 152 | } |
153 | 153 | ||
@@ -166,7 +166,7 @@ static ssize_t dpms_show(struct device *device, | |||
166 | if (ret) | 166 | if (ret) |
167 | return 0; | 167 | return 0; |
168 | 168 | ||
169 | return snprintf(buf, PAGE_SIZE, "%s", | 169 | return snprintf(buf, PAGE_SIZE, "%s\n", |
170 | drm_get_dpms_name((int)dpms_status)); | 170 | drm_get_dpms_name((int)dpms_status)); |
171 | } | 171 | } |
172 | 172 | ||
@@ -176,7 +176,7 @@ static ssize_t enabled_show(struct device *device, | |||
176 | { | 176 | { |
177 | struct drm_connector *connector = to_drm_connector(device); | 177 | struct drm_connector *connector = to_drm_connector(device); |
178 | 178 | ||
179 | return snprintf(buf, PAGE_SIZE, connector->encoder ? "enabled" : | 179 | return snprintf(buf, PAGE_SIZE, "%s\n", connector->encoder ? "enabled" : |
180 | "disabled"); | 180 | "disabled"); |
181 | } | 181 | } |
182 | 182 | ||
@@ -317,6 +317,7 @@ static struct device_attribute connector_attrs_opt1[] = { | |||
317 | 317 | ||
318 | static struct bin_attribute edid_attr = { | 318 | static struct bin_attribute edid_attr = { |
319 | .attr.name = "edid", | 319 | .attr.name = "edid", |
320 | .attr.mode = 0444, | ||
320 | .size = 128, | 321 | .size = 128, |
321 | .read = edid_show, | 322 | .read = edid_show, |
322 | }; | 323 | }; |
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 051134c56aef..0ccb63ee50ee 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
@@ -987,12 +987,6 @@ static int i915_load_modeset_init(struct drm_device *dev) | |||
987 | int fb_bar = IS_I9XX(dev) ? 2 : 0; | 987 | int fb_bar = IS_I9XX(dev) ? 2 : 0; |
988 | int ret = 0; | 988 | int ret = 0; |
989 | 989 | ||
990 | dev->devname = kstrdup(DRIVER_NAME, GFP_KERNEL); | ||
991 | if (!dev->devname) { | ||
992 | ret = -ENOMEM; | ||
993 | goto out; | ||
994 | } | ||
995 | |||
996 | dev->mode_config.fb_base = drm_get_resource_start(dev, fb_bar) & | 990 | dev->mode_config.fb_base = drm_get_resource_start(dev, fb_bar) & |
997 | 0xff000000; | 991 | 0xff000000; |
998 | 992 | ||
@@ -1006,17 +1000,25 @@ static int i915_load_modeset_init(struct drm_device *dev) | |||
1006 | 1000 | ||
1007 | ret = i915_probe_agp(dev, &agp_size, &prealloc_size); | 1001 | ret = i915_probe_agp(dev, &agp_size, &prealloc_size); |
1008 | if (ret) | 1002 | if (ret) |
1009 | goto kfree_devname; | 1003 | goto out; |
1010 | 1004 | ||
1011 | /* Basic memrange allocator for stolen space (aka vram) */ | 1005 | /* Basic memrange allocator for stolen space (aka vram) */ |
1012 | drm_mm_init(&dev_priv->vram, 0, prealloc_size); | 1006 | drm_mm_init(&dev_priv->vram, 0, prealloc_size); |
1013 | 1007 | ||
1014 | /* Let GEM Manage from end of prealloc space to end of aperture */ | 1008 | /* Let GEM Manage from end of prealloc space to end of aperture. |
1015 | i915_gem_do_init(dev, prealloc_size, agp_size); | 1009 | * |
1010 | * However, leave one page at the end still bound to the scratch page. | ||
1011 | * There are a number of places where the hardware apparently | ||
1012 | * prefetches past the end of the object, and we've seen multiple | ||
1013 | * hangs with the GPU head pointer stuck in a batchbuffer bound | ||
1014 | * at the last page of the aperture. One page should be enough to | ||
1015 | * keep any prefetching inside of the aperture. | ||
1016 | */ | ||
1017 | i915_gem_do_init(dev, prealloc_size, agp_size - 4096); | ||
1016 | 1018 | ||
1017 | ret = i915_gem_init_ringbuffer(dev); | 1019 | ret = i915_gem_init_ringbuffer(dev); |
1018 | if (ret) | 1020 | if (ret) |
1019 | goto kfree_devname; | 1021 | goto out; |
1020 | 1022 | ||
1021 | /* Allow hardware batchbuffers unless told otherwise. | 1023 | /* Allow hardware batchbuffers unless told otherwise. |
1022 | */ | 1024 | */ |
@@ -1048,8 +1050,6 @@ static int i915_load_modeset_init(struct drm_device *dev) | |||
1048 | 1050 | ||
1049 | destroy_ringbuffer: | 1051 | destroy_ringbuffer: |
1050 | i915_gem_cleanup_ringbuffer(dev); | 1052 | i915_gem_cleanup_ringbuffer(dev); |
1051 | kfree_devname: | ||
1052 | kfree(dev->devname); | ||
1053 | out: | 1053 | out: |
1054 | return ret; | 1054 | return ret; |
1055 | } | 1055 | } |
@@ -1350,6 +1350,7 @@ struct drm_ioctl_desc i915_ioctls[] = { | |||
1350 | DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, 0), | 1350 | DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, 0), |
1351 | DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, 0), | 1351 | DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, 0), |
1352 | DRM_IOCTL_DEF(DRM_I915_GEM_GET_APERTURE, i915_gem_get_aperture_ioctl, 0), | 1352 | DRM_IOCTL_DEF(DRM_I915_GEM_GET_APERTURE, i915_gem_get_aperture_ioctl, 0), |
1353 | DRM_IOCTL_DEF(DRM_I915_GET_PIPE_FROM_CRTC_ID, intel_get_pipe_from_crtc_id, 0), | ||
1353 | }; | 1354 | }; |
1354 | 1355 | ||
1355 | int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); | 1356 | int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); |
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 25065923b8a8..c431fa54bbb5 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -180,7 +180,8 @@ typedef struct drm_i915_private { | |||
180 | int backlight_duty_cycle; /* restore backlight to this value */ | 180 | int backlight_duty_cycle; /* restore backlight to this value */ |
181 | bool panel_wants_dither; | 181 | bool panel_wants_dither; |
182 | struct drm_display_mode *panel_fixed_mode; | 182 | struct drm_display_mode *panel_fixed_mode; |
183 | struct drm_display_mode *vbt_mode; /* if any */ | 183 | struct drm_display_mode *lfp_lvds_vbt_mode; /* if any */ |
184 | struct drm_display_mode *sdvo_lvds_vbt_mode; /* if any */ | ||
184 | 185 | ||
185 | /* Feature bits from the VBIOS */ | 186 | /* Feature bits from the VBIOS */ |
186 | unsigned int int_tv_support:1; | 187 | unsigned int int_tv_support:1; |
@@ -283,6 +284,7 @@ typedef struct drm_i915_private { | |||
283 | u8 saveAR[21]; | 284 | u8 saveAR[21]; |
284 | u8 saveDACMASK; | 285 | u8 saveDACMASK; |
285 | u8 saveCR[37]; | 286 | u8 saveCR[37]; |
287 | uint64_t saveFENCE[16]; | ||
286 | 288 | ||
287 | struct { | 289 | struct { |
288 | struct drm_mm gtt_space; | 290 | struct drm_mm gtt_space; |
@@ -705,13 +707,8 @@ extern void intel_modeset_cleanup(struct drm_device *dev); | |||
705 | #define I915_WRITE16(reg, val) writel(val, dev_priv->regs + (reg)) | 707 | #define I915_WRITE16(reg, val) writel(val, dev_priv->regs + (reg)) |
706 | #define I915_READ8(reg) readb(dev_priv->regs + (reg)) | 708 | #define I915_READ8(reg) readb(dev_priv->regs + (reg)) |
707 | #define I915_WRITE8(reg, val) writeb(val, dev_priv->regs + (reg)) | 709 | #define I915_WRITE8(reg, val) writeb(val, dev_priv->regs + (reg)) |
708 | #ifdef writeq | ||
709 | #define I915_WRITE64(reg, val) writeq(val, dev_priv->regs + (reg)) | 710 | #define I915_WRITE64(reg, val) writeq(val, dev_priv->regs + (reg)) |
710 | #else | 711 | #define I915_READ64(reg) readq(dev_priv->regs + (reg)) |
711 | #define I915_WRITE64(reg, val) (writel(val, dev_priv->regs + (reg)), \ | ||
712 | writel(upper_32_bits(val), dev_priv->regs + \ | ||
713 | (reg) + 4)) | ||
714 | #endif | ||
715 | #define POSTING_READ(reg) (void)I915_READ(reg) | 712 | #define POSTING_READ(reg) (void)I915_READ(reg) |
716 | 713 | ||
717 | #define I915_VERBOSE 0 | 714 | #define I915_VERBOSE 0 |
@@ -790,7 +787,8 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
790 | (dev)->pci_device == 0x2E22 || \ | 787 | (dev)->pci_device == 0x2E22 || \ |
791 | (dev)->pci_device == 0x2E32) | 788 | (dev)->pci_device == 0x2E32) |
792 | 789 | ||
793 | #define IS_I965GM(dev) ((dev)->pci_device == 0x2A02) | 790 | #define IS_I965GM(dev) ((dev)->pci_device == 0x2A02 || \ |
791 | (dev)->pci_device == 0x2A12) | ||
794 | 792 | ||
795 | #define IS_GM45(dev) ((dev)->pci_device == 0x2A42) | 793 | #define IS_GM45(dev) ((dev)->pci_device == 0x2A42) |
796 | 794 | ||
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index ee896d91c5bc..39f5c658ef5e 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -349,7 +349,7 @@ i915_gem_shmem_pread_slow(struct drm_device *dev, struct drm_gem_object *obj, | |||
349 | last_data_page = (data_ptr + args->size - 1) / PAGE_SIZE; | 349 | last_data_page = (data_ptr + args->size - 1) / PAGE_SIZE; |
350 | num_pages = last_data_page - first_data_page + 1; | 350 | num_pages = last_data_page - first_data_page + 1; |
351 | 351 | ||
352 | user_pages = kcalloc(num_pages, sizeof(struct page *), GFP_KERNEL); | 352 | user_pages = drm_calloc_large(num_pages, sizeof(struct page *)); |
353 | if (user_pages == NULL) | 353 | if (user_pages == NULL) |
354 | return -ENOMEM; | 354 | return -ENOMEM; |
355 | 355 | ||
@@ -429,7 +429,7 @@ fail_put_user_pages: | |||
429 | SetPageDirty(user_pages[i]); | 429 | SetPageDirty(user_pages[i]); |
430 | page_cache_release(user_pages[i]); | 430 | page_cache_release(user_pages[i]); |
431 | } | 431 | } |
432 | kfree(user_pages); | 432 | drm_free_large(user_pages); |
433 | 433 | ||
434 | return ret; | 434 | return ret; |
435 | } | 435 | } |
@@ -649,7 +649,7 @@ i915_gem_gtt_pwrite_slow(struct drm_device *dev, struct drm_gem_object *obj, | |||
649 | last_data_page = (data_ptr + args->size - 1) / PAGE_SIZE; | 649 | last_data_page = (data_ptr + args->size - 1) / PAGE_SIZE; |
650 | num_pages = last_data_page - first_data_page + 1; | 650 | num_pages = last_data_page - first_data_page + 1; |
651 | 651 | ||
652 | user_pages = kcalloc(num_pages, sizeof(struct page *), GFP_KERNEL); | 652 | user_pages = drm_calloc_large(num_pages, sizeof(struct page *)); |
653 | if (user_pages == NULL) | 653 | if (user_pages == NULL) |
654 | return -ENOMEM; | 654 | return -ENOMEM; |
655 | 655 | ||
@@ -719,7 +719,7 @@ out_unlock: | |||
719 | out_unpin_pages: | 719 | out_unpin_pages: |
720 | for (i = 0; i < pinned_pages; i++) | 720 | for (i = 0; i < pinned_pages; i++) |
721 | page_cache_release(user_pages[i]); | 721 | page_cache_release(user_pages[i]); |
722 | kfree(user_pages); | 722 | drm_free_large(user_pages); |
723 | 723 | ||
724 | return ret; | 724 | return ret; |
725 | } | 725 | } |
@@ -824,7 +824,7 @@ i915_gem_shmem_pwrite_slow(struct drm_device *dev, struct drm_gem_object *obj, | |||
824 | last_data_page = (data_ptr + args->size - 1) / PAGE_SIZE; | 824 | last_data_page = (data_ptr + args->size - 1) / PAGE_SIZE; |
825 | num_pages = last_data_page - first_data_page + 1; | 825 | num_pages = last_data_page - first_data_page + 1; |
826 | 826 | ||
827 | user_pages = kcalloc(num_pages, sizeof(struct page *), GFP_KERNEL); | 827 | user_pages = drm_calloc_large(num_pages, sizeof(struct page *)); |
828 | if (user_pages == NULL) | 828 | if (user_pages == NULL) |
829 | return -ENOMEM; | 829 | return -ENOMEM; |
830 | 830 | ||
@@ -902,7 +902,7 @@ fail_unlock: | |||
902 | fail_put_user_pages: | 902 | fail_put_user_pages: |
903 | for (i = 0; i < pinned_pages; i++) | 903 | for (i = 0; i < pinned_pages; i++) |
904 | page_cache_release(user_pages[i]); | 904 | page_cache_release(user_pages[i]); |
905 | kfree(user_pages); | 905 | drm_free_large(user_pages); |
906 | 906 | ||
907 | return ret; | 907 | return ret; |
908 | } | 908 | } |
@@ -1145,7 +1145,14 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
1145 | mutex_unlock(&dev->struct_mutex); | 1145 | mutex_unlock(&dev->struct_mutex); |
1146 | return VM_FAULT_SIGBUS; | 1146 | return VM_FAULT_SIGBUS; |
1147 | } | 1147 | } |
1148 | list_add(&obj_priv->list, &dev_priv->mm.inactive_list); | 1148 | |
1149 | ret = i915_gem_object_set_to_gtt_domain(obj, write); | ||
1150 | if (ret) { | ||
1151 | mutex_unlock(&dev->struct_mutex); | ||
1152 | return VM_FAULT_SIGBUS; | ||
1153 | } | ||
1154 | |||
1155 | list_add_tail(&obj_priv->list, &dev_priv->mm.inactive_list); | ||
1149 | } | 1156 | } |
1150 | 1157 | ||
1151 | /* Need a new fence register? */ | 1158 | /* Need a new fence register? */ |
@@ -1375,7 +1382,7 @@ i915_gem_mmap_gtt_ioctl(struct drm_device *dev, void *data, | |||
1375 | mutex_unlock(&dev->struct_mutex); | 1382 | mutex_unlock(&dev->struct_mutex); |
1376 | return ret; | 1383 | return ret; |
1377 | } | 1384 | } |
1378 | list_add(&obj_priv->list, &dev_priv->mm.inactive_list); | 1385 | list_add_tail(&obj_priv->list, &dev_priv->mm.inactive_list); |
1379 | } | 1386 | } |
1380 | 1387 | ||
1381 | drm_gem_object_unreference(obj); | 1388 | drm_gem_object_unreference(obj); |
@@ -1408,9 +1415,7 @@ i915_gem_object_put_pages(struct drm_gem_object *obj) | |||
1408 | } | 1415 | } |
1409 | obj_priv->dirty = 0; | 1416 | obj_priv->dirty = 0; |
1410 | 1417 | ||
1411 | drm_free(obj_priv->pages, | 1418 | drm_free_large(obj_priv->pages); |
1412 | page_count * sizeof(struct page *), | ||
1413 | DRM_MEM_DRIVER); | ||
1414 | obj_priv->pages = NULL; | 1419 | obj_priv->pages = NULL; |
1415 | } | 1420 | } |
1416 | 1421 | ||
@@ -1691,11 +1696,20 @@ static int | |||
1691 | i915_wait_request(struct drm_device *dev, uint32_t seqno) | 1696 | i915_wait_request(struct drm_device *dev, uint32_t seqno) |
1692 | { | 1697 | { |
1693 | drm_i915_private_t *dev_priv = dev->dev_private; | 1698 | drm_i915_private_t *dev_priv = dev->dev_private; |
1699 | u32 ier; | ||
1694 | int ret = 0; | 1700 | int ret = 0; |
1695 | 1701 | ||
1696 | BUG_ON(seqno == 0); | 1702 | BUG_ON(seqno == 0); |
1697 | 1703 | ||
1698 | if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) { | 1704 | if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) { |
1705 | ier = I915_READ(IER); | ||
1706 | if (!ier) { | ||
1707 | DRM_ERROR("something (likely vbetool) disabled " | ||
1708 | "interrupts, re-enabling\n"); | ||
1709 | i915_driver_irq_preinstall(dev); | ||
1710 | i915_driver_irq_postinstall(dev); | ||
1711 | } | ||
1712 | |||
1699 | dev_priv->mm.waiting_gem_seqno = seqno; | 1713 | dev_priv->mm.waiting_gem_seqno = seqno; |
1700 | i915_user_irq_get(dev); | 1714 | i915_user_irq_get(dev); |
1701 | ret = wait_event_interruptible(dev_priv->irq_queue, | 1715 | ret = wait_event_interruptible(dev_priv->irq_queue, |
@@ -2015,8 +2029,7 @@ i915_gem_object_get_pages(struct drm_gem_object *obj) | |||
2015 | */ | 2029 | */ |
2016 | page_count = obj->size / PAGE_SIZE; | 2030 | page_count = obj->size / PAGE_SIZE; |
2017 | BUG_ON(obj_priv->pages != NULL); | 2031 | BUG_ON(obj_priv->pages != NULL); |
2018 | obj_priv->pages = drm_calloc(page_count, sizeof(struct page *), | 2032 | obj_priv->pages = drm_calloc_large(page_count, sizeof(struct page *)); |
2019 | DRM_MEM_DRIVER); | ||
2020 | if (obj_priv->pages == NULL) { | 2033 | if (obj_priv->pages == NULL) { |
2021 | DRM_ERROR("Faled to allocate page list\n"); | 2034 | DRM_ERROR("Faled to allocate page list\n"); |
2022 | obj_priv->pages_refcount--; | 2035 | obj_priv->pages_refcount--; |
@@ -2122,8 +2135,10 @@ static void i830_write_fence_reg(struct drm_i915_fence_reg *reg) | |||
2122 | return; | 2135 | return; |
2123 | } | 2136 | } |
2124 | 2137 | ||
2125 | pitch_val = (obj_priv->stride / 128) - 1; | 2138 | pitch_val = obj_priv->stride / 128; |
2126 | WARN_ON(pitch_val & ~0x0000000f); | 2139 | pitch_val = ffs(pitch_val) - 1; |
2140 | WARN_ON(pitch_val > I830_FENCE_MAX_PITCH_VAL); | ||
2141 | |||
2127 | val = obj_priv->gtt_offset; | 2142 | val = obj_priv->gtt_offset; |
2128 | if (obj_priv->tiling_mode == I915_TILING_Y) | 2143 | if (obj_priv->tiling_mode == I915_TILING_Y) |
2129 | val |= 1 << I830_FENCE_TILING_Y_SHIFT; | 2144 | val |= 1 << I830_FENCE_TILING_Y_SHIFT; |
@@ -2245,9 +2260,6 @@ try_again: | |||
2245 | goto try_again; | 2260 | goto try_again; |
2246 | } | 2261 | } |
2247 | 2262 | ||
2248 | BUG_ON(old_obj_priv->active || | ||
2249 | (reg->obj->write_domain & I915_GEM_GPU_DOMAINS)); | ||
2250 | |||
2251 | /* | 2263 | /* |
2252 | * Zap this virtual mapping so we can set up a fence again | 2264 | * Zap this virtual mapping so we can set up a fence again |
2253 | * for this object next time we need it. | 2265 | * for this object next time we need it. |
@@ -2415,6 +2427,16 @@ i915_gem_clflush_object(struct drm_gem_object *obj) | |||
2415 | if (obj_priv->pages == NULL) | 2427 | if (obj_priv->pages == NULL) |
2416 | return; | 2428 | return; |
2417 | 2429 | ||
2430 | /* XXX: The 865 in particular appears to be weird in how it handles | ||
2431 | * cache flushing. We haven't figured it out, but the | ||
2432 | * clflush+agp_chipset_flush doesn't appear to successfully get the | ||
2433 | * data visible to the PGU, while wbinvd + agp_chipset_flush does. | ||
2434 | */ | ||
2435 | if (IS_I865G(obj->dev)) { | ||
2436 | wbinvd(); | ||
2437 | return; | ||
2438 | } | ||
2439 | |||
2418 | drm_clflush_pages(obj_priv->pages, obj->size / PAGE_SIZE); | 2440 | drm_clflush_pages(obj_priv->pages, obj->size / PAGE_SIZE); |
2419 | } | 2441 | } |
2420 | 2442 | ||
@@ -3102,7 +3124,7 @@ i915_gem_get_relocs_from_user(struct drm_i915_gem_exec_object *exec_list, | |||
3102 | reloc_count += exec_list[i].relocation_count; | 3124 | reloc_count += exec_list[i].relocation_count; |
3103 | } | 3125 | } |
3104 | 3126 | ||
3105 | *relocs = drm_calloc(reloc_count, sizeof(**relocs), DRM_MEM_DRIVER); | 3127 | *relocs = drm_calloc_large(reloc_count, sizeof(**relocs)); |
3106 | if (*relocs == NULL) | 3128 | if (*relocs == NULL) |
3107 | return -ENOMEM; | 3129 | return -ENOMEM; |
3108 | 3130 | ||
@@ -3116,8 +3138,7 @@ i915_gem_get_relocs_from_user(struct drm_i915_gem_exec_object *exec_list, | |||
3116 | exec_list[i].relocation_count * | 3138 | exec_list[i].relocation_count * |
3117 | sizeof(**relocs)); | 3139 | sizeof(**relocs)); |
3118 | if (ret != 0) { | 3140 | if (ret != 0) { |
3119 | drm_free(*relocs, reloc_count * sizeof(**relocs), | 3141 | drm_free_large(*relocs); |
3120 | DRM_MEM_DRIVER); | ||
3121 | *relocs = NULL; | 3142 | *relocs = NULL; |
3122 | return -EFAULT; | 3143 | return -EFAULT; |
3123 | } | 3144 | } |
@@ -3156,7 +3177,7 @@ i915_gem_put_relocs_to_user(struct drm_i915_gem_exec_object *exec_list, | |||
3156 | } | 3177 | } |
3157 | 3178 | ||
3158 | err: | 3179 | err: |
3159 | drm_free(relocs, reloc_count * sizeof(*relocs), DRM_MEM_DRIVER); | 3180 | drm_free_large(relocs); |
3160 | 3181 | ||
3161 | return ret; | 3182 | return ret; |
3162 | } | 3183 | } |
@@ -3189,10 +3210,8 @@ i915_gem_execbuffer(struct drm_device *dev, void *data, | |||
3189 | return -EINVAL; | 3210 | return -EINVAL; |
3190 | } | 3211 | } |
3191 | /* Copy in the exec list from userland */ | 3212 | /* Copy in the exec list from userland */ |
3192 | exec_list = drm_calloc(sizeof(*exec_list), args->buffer_count, | 3213 | exec_list = drm_calloc_large(sizeof(*exec_list), args->buffer_count); |
3193 | DRM_MEM_DRIVER); | 3214 | object_list = drm_calloc_large(sizeof(*object_list), args->buffer_count); |
3194 | object_list = drm_calloc(sizeof(*object_list), args->buffer_count, | ||
3195 | DRM_MEM_DRIVER); | ||
3196 | if (exec_list == NULL || object_list == NULL) { | 3215 | if (exec_list == NULL || object_list == NULL) { |
3197 | DRM_ERROR("Failed to allocate exec or object list " | 3216 | DRM_ERROR("Failed to allocate exec or object list " |
3198 | "for %d buffers\n", | 3217 | "for %d buffers\n", |
@@ -3453,10 +3472,8 @@ err: | |||
3453 | } | 3472 | } |
3454 | 3473 | ||
3455 | pre_mutex_err: | 3474 | pre_mutex_err: |
3456 | drm_free(object_list, sizeof(*object_list) * args->buffer_count, | 3475 | drm_free_large(object_list); |
3457 | DRM_MEM_DRIVER); | 3476 | drm_free_large(exec_list); |
3458 | drm_free(exec_list, sizeof(*exec_list) * args->buffer_count, | ||
3459 | DRM_MEM_DRIVER); | ||
3460 | drm_free(cliprects, sizeof(*cliprects) * args->num_cliprects, | 3477 | drm_free(cliprects, sizeof(*cliprects) * args->num_cliprects, |
3461 | DRM_MEM_DRIVER); | 3478 | DRM_MEM_DRIVER); |
3462 | 3479 | ||
diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c index 52a059354e83..540dd336e6ec 100644 --- a/drivers/gpu/drm/i915/i915_gem_tiling.c +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c | |||
@@ -213,7 +213,8 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) | |||
213 | if (tiling_mode == I915_TILING_NONE) | 213 | if (tiling_mode == I915_TILING_NONE) |
214 | return true; | 214 | return true; |
215 | 215 | ||
216 | if (tiling_mode == I915_TILING_Y && HAS_128_BYTE_Y_TILING(dev)) | 216 | if (!IS_I9XX(dev) || |
217 | (tiling_mode == I915_TILING_Y && HAS_128_BYTE_Y_TILING(dev))) | ||
217 | tile_width = 128; | 218 | tile_width = 128; |
218 | else | 219 | else |
219 | tile_width = 512; | 220 | tile_width = 512; |
@@ -225,11 +226,18 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) | |||
225 | if (stride / 128 > I965_FENCE_MAX_PITCH_VAL) | 226 | if (stride / 128 > I965_FENCE_MAX_PITCH_VAL) |
226 | return false; | 227 | return false; |
227 | } else if (IS_I9XX(dev)) { | 228 | } else if (IS_I9XX(dev)) { |
228 | if (stride / tile_width > I830_FENCE_MAX_PITCH_VAL || | 229 | uint32_t pitch_val = ffs(stride / tile_width) - 1; |
230 | |||
231 | /* XXX: For Y tiling, FENCE_MAX_PITCH_VAL is actually 6 (8KB) | ||
232 | * instead of 4 (2KB) on 945s. | ||
233 | */ | ||
234 | if (pitch_val > I915_FENCE_MAX_PITCH_VAL || | ||
229 | size > (I830_FENCE_MAX_SIZE_VAL << 20)) | 235 | size > (I830_FENCE_MAX_SIZE_VAL << 20)) |
230 | return false; | 236 | return false; |
231 | } else { | 237 | } else { |
232 | if (stride / 128 > I830_FENCE_MAX_PITCH_VAL || | 238 | uint32_t pitch_val = ffs(stride / tile_width) - 1; |
239 | |||
240 | if (pitch_val > I830_FENCE_MAX_PITCH_VAL || | ||
233 | size > (I830_FENCE_MAX_SIZE_VAL << 19)) | 241 | size > (I830_FENCE_MAX_SIZE_VAL << 19)) |
234 | return false; | 242 | return false; |
235 | } | 243 | } |
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 521194732266..375569d01d01 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -190,7 +190,8 @@ | |||
190 | #define I830_FENCE_SIZE_BITS(size) ((ffs((size) >> 19) - 1) << 8) | 190 | #define I830_FENCE_SIZE_BITS(size) ((ffs((size) >> 19) - 1) << 8) |
191 | #define I830_FENCE_PITCH_SHIFT 4 | 191 | #define I830_FENCE_PITCH_SHIFT 4 |
192 | #define I830_FENCE_REG_VALID (1<<0) | 192 | #define I830_FENCE_REG_VALID (1<<0) |
193 | #define I830_FENCE_MAX_PITCH_VAL 0x10 | 193 | #define I915_FENCE_MAX_PITCH_VAL 0x10 |
194 | #define I830_FENCE_MAX_PITCH_VAL 6 | ||
194 | #define I830_FENCE_MAX_SIZE_VAL (1<<8) | 195 | #define I830_FENCE_MAX_SIZE_VAL (1<<8) |
195 | 196 | ||
196 | #define I915_FENCE_START_MASK 0x0ff00000 | 197 | #define I915_FENCE_START_MASK 0x0ff00000 |
@@ -526,6 +527,7 @@ | |||
526 | #define DPLLA_INPUT_BUFFER_ENABLE (1 << 0) | 527 | #define DPLLA_INPUT_BUFFER_ENABLE (1 << 0) |
527 | #define D_STATE 0x6104 | 528 | #define D_STATE 0x6104 |
528 | #define CG_2D_DIS 0x6200 | 529 | #define CG_2D_DIS 0x6200 |
530 | #define DPCUNIT_CLOCK_GATE_DISABLE (1 << 24) | ||
529 | #define CG_3D_DIS 0x6204 | 531 | #define CG_3D_DIS 0x6204 |
530 | 532 | ||
531 | /* | 533 | /* |
@@ -1409,9 +1411,25 @@ | |||
1409 | 1411 | ||
1410 | /* Cursor A & B regs */ | 1412 | /* Cursor A & B regs */ |
1411 | #define CURACNTR 0x70080 | 1413 | #define CURACNTR 0x70080 |
1414 | /* Old style CUR*CNTR flags (desktop 8xx) */ | ||
1415 | #define CURSOR_ENABLE 0x80000000 | ||
1416 | #define CURSOR_GAMMA_ENABLE 0x40000000 | ||
1417 | #define CURSOR_STRIDE_MASK 0x30000000 | ||
1418 | #define CURSOR_FORMAT_SHIFT 24 | ||
1419 | #define CURSOR_FORMAT_MASK (0x07 << CURSOR_FORMAT_SHIFT) | ||
1420 | #define CURSOR_FORMAT_2C (0x00 << CURSOR_FORMAT_SHIFT) | ||
1421 | #define CURSOR_FORMAT_3C (0x01 << CURSOR_FORMAT_SHIFT) | ||
1422 | #define CURSOR_FORMAT_4C (0x02 << CURSOR_FORMAT_SHIFT) | ||
1423 | #define CURSOR_FORMAT_ARGB (0x04 << CURSOR_FORMAT_SHIFT) | ||
1424 | #define CURSOR_FORMAT_XRGB (0x05 << CURSOR_FORMAT_SHIFT) | ||
1425 | /* New style CUR*CNTR flags */ | ||
1426 | #define CURSOR_MODE 0x27 | ||
1412 | #define CURSOR_MODE_DISABLE 0x00 | 1427 | #define CURSOR_MODE_DISABLE 0x00 |
1413 | #define CURSOR_MODE_64_32B_AX 0x07 | 1428 | #define CURSOR_MODE_64_32B_AX 0x07 |
1414 | #define CURSOR_MODE_64_ARGB_AX ((1 << 5) | CURSOR_MODE_64_32B_AX) | 1429 | #define CURSOR_MODE_64_ARGB_AX ((1 << 5) | CURSOR_MODE_64_32B_AX) |
1430 | #define MCURSOR_PIPE_SELECT (1 << 28) | ||
1431 | #define MCURSOR_PIPE_A 0x00 | ||
1432 | #define MCURSOR_PIPE_B (1 << 28) | ||
1415 | #define MCURSOR_GAMMA_ENABLE (1 << 26) | 1433 | #define MCURSOR_GAMMA_ENABLE (1 << 26) |
1416 | #define CURABASE 0x70084 | 1434 | #define CURABASE 0x70084 |
1417 | #define CURAPOS 0x70088 | 1435 | #define CURAPOS 0x70088 |
@@ -1419,6 +1437,7 @@ | |||
1419 | #define CURSOR_POS_SIGN 0x8000 | 1437 | #define CURSOR_POS_SIGN 0x8000 |
1420 | #define CURSOR_X_SHIFT 0 | 1438 | #define CURSOR_X_SHIFT 0 |
1421 | #define CURSOR_Y_SHIFT 16 | 1439 | #define CURSOR_Y_SHIFT 16 |
1440 | #define CURSIZE 0x700a0 | ||
1422 | #define CURBCNTR 0x700c0 | 1441 | #define CURBCNTR 0x700c0 |
1423 | #define CURBBASE 0x700c4 | 1442 | #define CURBBASE 0x700c4 |
1424 | #define CURBPOS 0x700c8 | 1443 | #define CURBPOS 0x700c8 |
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c index d669cc2b42c0..ce8a21344a71 100644 --- a/drivers/gpu/drm/i915/i915_suspend.c +++ b/drivers/gpu/drm/i915/i915_suspend.c | |||
@@ -349,6 +349,18 @@ int i915_save_state(struct drm_device *dev) | |||
349 | for (i = 0; i < 3; i++) | 349 | for (i = 0; i < 3; i++) |
350 | dev_priv->saveSWF2[i] = I915_READ(SWF30 + (i << 2)); | 350 | dev_priv->saveSWF2[i] = I915_READ(SWF30 + (i << 2)); |
351 | 351 | ||
352 | /* Fences */ | ||
353 | if (IS_I965G(dev)) { | ||
354 | for (i = 0; i < 16; i++) | ||
355 | dev_priv->saveFENCE[i] = I915_READ64(FENCE_REG_965_0 + (i * 8)); | ||
356 | } else { | ||
357 | for (i = 0; i < 8; i++) | ||
358 | dev_priv->saveFENCE[i] = I915_READ(FENCE_REG_830_0 + (i * 4)); | ||
359 | |||
360 | if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) | ||
361 | for (i = 0; i < 8; i++) | ||
362 | dev_priv->saveFENCE[i+8] = I915_READ(FENCE_REG_945_8 + (i * 4)); | ||
363 | } | ||
352 | i915_save_vga(dev); | 364 | i915_save_vga(dev); |
353 | 365 | ||
354 | return 0; | 366 | return 0; |
@@ -371,6 +383,18 @@ int i915_restore_state(struct drm_device *dev) | |||
371 | /* Display arbitration */ | 383 | /* Display arbitration */ |
372 | I915_WRITE(DSPARB, dev_priv->saveDSPARB); | 384 | I915_WRITE(DSPARB, dev_priv->saveDSPARB); |
373 | 385 | ||
386 | /* Fences */ | ||
387 | if (IS_I965G(dev)) { | ||
388 | for (i = 0; i < 16; i++) | ||
389 | I915_WRITE64(FENCE_REG_965_0 + (i * 8), dev_priv->saveFENCE[i]); | ||
390 | } else { | ||
391 | for (i = 0; i < 8; i++) | ||
392 | I915_WRITE(FENCE_REG_830_0 + (i * 4), dev_priv->saveFENCE[i]); | ||
393 | if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) | ||
394 | for (i = 0; i < 8; i++) | ||
395 | I915_WRITE(FENCE_REG_945_8 + (i * 4), dev_priv->saveFENCE[i+8]); | ||
396 | } | ||
397 | |||
374 | /* Pipe & plane A info */ | 398 | /* Pipe & plane A info */ |
375 | /* Prime the clock */ | 399 | /* Prime the clock */ |
376 | if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) { | 400 | if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) { |
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c index fc28e2bbd542..9d78cff33b24 100644 --- a/drivers/gpu/drm/i915/intel_bios.c +++ b/drivers/gpu/drm/i915/intel_bios.c | |||
@@ -57,9 +57,43 @@ find_section(struct bdb_header *bdb, int section_id) | |||
57 | return NULL; | 57 | return NULL; |
58 | } | 58 | } |
59 | 59 | ||
60 | /* Try to find panel data */ | ||
61 | static void | 60 | static void |
62 | parse_panel_data(struct drm_i915_private *dev_priv, struct bdb_header *bdb) | 61 | fill_detail_timing_data(struct drm_display_mode *panel_fixed_mode, |
62 | struct lvds_dvo_timing *dvo_timing) | ||
63 | { | ||
64 | panel_fixed_mode->hdisplay = (dvo_timing->hactive_hi << 8) | | ||
65 | dvo_timing->hactive_lo; | ||
66 | panel_fixed_mode->hsync_start = panel_fixed_mode->hdisplay + | ||
67 | ((dvo_timing->hsync_off_hi << 8) | dvo_timing->hsync_off_lo); | ||
68 | panel_fixed_mode->hsync_end = panel_fixed_mode->hsync_start + | ||
69 | dvo_timing->hsync_pulse_width; | ||
70 | panel_fixed_mode->htotal = panel_fixed_mode->hdisplay + | ||
71 | ((dvo_timing->hblank_hi << 8) | dvo_timing->hblank_lo); | ||
72 | |||
73 | panel_fixed_mode->vdisplay = (dvo_timing->vactive_hi << 8) | | ||
74 | dvo_timing->vactive_lo; | ||
75 | panel_fixed_mode->vsync_start = panel_fixed_mode->vdisplay + | ||
76 | dvo_timing->vsync_off; | ||
77 | panel_fixed_mode->vsync_end = panel_fixed_mode->vsync_start + | ||
78 | dvo_timing->vsync_pulse_width; | ||
79 | panel_fixed_mode->vtotal = panel_fixed_mode->vdisplay + | ||
80 | ((dvo_timing->vblank_hi << 8) | dvo_timing->vblank_lo); | ||
81 | panel_fixed_mode->clock = dvo_timing->clock * 10; | ||
82 | panel_fixed_mode->type = DRM_MODE_TYPE_PREFERRED; | ||
83 | |||
84 | /* Some VBTs have bogus h/vtotal values */ | ||
85 | if (panel_fixed_mode->hsync_end > panel_fixed_mode->htotal) | ||
86 | panel_fixed_mode->htotal = panel_fixed_mode->hsync_end + 1; | ||
87 | if (panel_fixed_mode->vsync_end > panel_fixed_mode->vtotal) | ||
88 | panel_fixed_mode->vtotal = panel_fixed_mode->vsync_end + 1; | ||
89 | |||
90 | drm_mode_set_name(panel_fixed_mode); | ||
91 | } | ||
92 | |||
93 | /* Try to find integrated panel data */ | ||
94 | static void | ||
95 | parse_lfp_panel_data(struct drm_i915_private *dev_priv, | ||
96 | struct bdb_header *bdb) | ||
63 | { | 97 | { |
64 | struct bdb_lvds_options *lvds_options; | 98 | struct bdb_lvds_options *lvds_options; |
65 | struct bdb_lvds_lfp_data *lvds_lfp_data; | 99 | struct bdb_lvds_lfp_data *lvds_lfp_data; |
@@ -91,38 +125,45 @@ parse_panel_data(struct drm_i915_private *dev_priv, struct bdb_header *bdb) | |||
91 | panel_fixed_mode = drm_calloc(1, sizeof(*panel_fixed_mode), | 125 | panel_fixed_mode = drm_calloc(1, sizeof(*panel_fixed_mode), |
92 | DRM_MEM_DRIVER); | 126 | DRM_MEM_DRIVER); |
93 | 127 | ||
94 | panel_fixed_mode->hdisplay = (dvo_timing->hactive_hi << 8) | | 128 | fill_detail_timing_data(panel_fixed_mode, dvo_timing); |
95 | dvo_timing->hactive_lo; | ||
96 | panel_fixed_mode->hsync_start = panel_fixed_mode->hdisplay + | ||
97 | ((dvo_timing->hsync_off_hi << 8) | dvo_timing->hsync_off_lo); | ||
98 | panel_fixed_mode->hsync_end = panel_fixed_mode->hsync_start + | ||
99 | dvo_timing->hsync_pulse_width; | ||
100 | panel_fixed_mode->htotal = panel_fixed_mode->hdisplay + | ||
101 | ((dvo_timing->hblank_hi << 8) | dvo_timing->hblank_lo); | ||
102 | 129 | ||
103 | panel_fixed_mode->vdisplay = (dvo_timing->vactive_hi << 8) | | 130 | dev_priv->lfp_lvds_vbt_mode = panel_fixed_mode; |
104 | dvo_timing->vactive_lo; | ||
105 | panel_fixed_mode->vsync_start = panel_fixed_mode->vdisplay + | ||
106 | dvo_timing->vsync_off; | ||
107 | panel_fixed_mode->vsync_end = panel_fixed_mode->vsync_start + | ||
108 | dvo_timing->vsync_pulse_width; | ||
109 | panel_fixed_mode->vtotal = panel_fixed_mode->vdisplay + | ||
110 | ((dvo_timing->vblank_hi << 8) | dvo_timing->vblank_lo); | ||
111 | panel_fixed_mode->clock = dvo_timing->clock * 10; | ||
112 | panel_fixed_mode->type = DRM_MODE_TYPE_PREFERRED; | ||
113 | 131 | ||
114 | /* Some VBTs have bogus h/vtotal values */ | 132 | DRM_DEBUG("Found panel mode in BIOS VBT tables:\n"); |
115 | if (panel_fixed_mode->hsync_end > panel_fixed_mode->htotal) | 133 | drm_mode_debug_printmodeline(panel_fixed_mode); |
116 | panel_fixed_mode->htotal = panel_fixed_mode->hsync_end + 1; | ||
117 | if (panel_fixed_mode->vsync_end > panel_fixed_mode->vtotal) | ||
118 | panel_fixed_mode->vtotal = panel_fixed_mode->vsync_end + 1; | ||
119 | 134 | ||
120 | drm_mode_set_name(panel_fixed_mode); | 135 | return; |
136 | } | ||
137 | |||
138 | /* Try to find sdvo panel data */ | ||
139 | static void | ||
140 | parse_sdvo_panel_data(struct drm_i915_private *dev_priv, | ||
141 | struct bdb_header *bdb) | ||
142 | { | ||
143 | struct bdb_sdvo_lvds_options *sdvo_lvds_options; | ||
144 | struct lvds_dvo_timing *dvo_timing; | ||
145 | struct drm_display_mode *panel_fixed_mode; | ||
121 | 146 | ||
122 | dev_priv->vbt_mode = panel_fixed_mode; | 147 | dev_priv->sdvo_lvds_vbt_mode = NULL; |
123 | 148 | ||
124 | DRM_DEBUG("Found panel mode in BIOS VBT tables:\n"); | 149 | sdvo_lvds_options = find_section(bdb, BDB_SDVO_LVDS_OPTIONS); |
125 | drm_mode_debug_printmodeline(panel_fixed_mode); | 150 | if (!sdvo_lvds_options) |
151 | return; | ||
152 | |||
153 | dvo_timing = find_section(bdb, BDB_SDVO_PANEL_DTDS); | ||
154 | if (!dvo_timing) | ||
155 | return; | ||
156 | |||
157 | panel_fixed_mode = drm_calloc(1, sizeof(*panel_fixed_mode), | ||
158 | DRM_MEM_DRIVER); | ||
159 | |||
160 | if (!panel_fixed_mode) | ||
161 | return; | ||
162 | |||
163 | fill_detail_timing_data(panel_fixed_mode, | ||
164 | dvo_timing + sdvo_lvds_options->panel_type); | ||
165 | |||
166 | dev_priv->sdvo_lvds_vbt_mode = panel_fixed_mode; | ||
126 | 167 | ||
127 | return; | 168 | return; |
128 | } | 169 | } |
@@ -199,7 +240,8 @@ intel_init_bios(struct drm_device *dev) | |||
199 | 240 | ||
200 | /* Grab useful general definitions */ | 241 | /* Grab useful general definitions */ |
201 | parse_general_features(dev_priv, bdb); | 242 | parse_general_features(dev_priv, bdb); |
202 | parse_panel_data(dev_priv, bdb); | 243 | parse_lfp_panel_data(dev_priv, bdb); |
244 | parse_sdvo_panel_data(dev_priv, bdb); | ||
203 | 245 | ||
204 | pci_unmap_rom(pdev, bios); | 246 | pci_unmap_rom(pdev, bios); |
205 | 247 | ||
diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h index de621aad85b5..8ca2cde15804 100644 --- a/drivers/gpu/drm/i915/intel_bios.h +++ b/drivers/gpu/drm/i915/intel_bios.h | |||
@@ -279,6 +279,23 @@ struct vch_bdb_22 { | |||
279 | struct vch_panel_data panels[16]; | 279 | struct vch_panel_data panels[16]; |
280 | } __attribute__((packed)); | 280 | } __attribute__((packed)); |
281 | 281 | ||
282 | struct bdb_sdvo_lvds_options { | ||
283 | u8 panel_backlight; | ||
284 | u8 h40_set_panel_type; | ||
285 | u8 panel_type; | ||
286 | u8 ssc_clk_freq; | ||
287 | u16 als_low_trip; | ||
288 | u16 als_high_trip; | ||
289 | u8 sclalarcoeff_tab_row_num; | ||
290 | u8 sclalarcoeff_tab_row_size; | ||
291 | u8 coefficient[8]; | ||
292 | u8 panel_misc_bits_1; | ||
293 | u8 panel_misc_bits_2; | ||
294 | u8 panel_misc_bits_3; | ||
295 | u8 panel_misc_bits_4; | ||
296 | } __attribute__((packed)); | ||
297 | |||
298 | |||
282 | bool intel_init_bios(struct drm_device *dev); | 299 | bool intel_init_bios(struct drm_device *dev); |
283 | 300 | ||
284 | /* | 301 | /* |
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 9bdd959260a5..79acc4f4c1f8 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c | |||
@@ -161,7 +161,7 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector) | |||
161 | hotplug_en &= CRT_FORCE_HOTPLUG_MASK; | 161 | hotplug_en &= CRT_FORCE_HOTPLUG_MASK; |
162 | hotplug_en |= CRT_HOTPLUG_FORCE_DETECT; | 162 | hotplug_en |= CRT_HOTPLUG_FORCE_DETECT; |
163 | 163 | ||
164 | if (IS_GM45(dev)) | 164 | if (IS_G4X(dev)) |
165 | hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64; | 165 | hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64; |
166 | 166 | ||
167 | hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50; | 167 | hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50; |
@@ -198,9 +198,142 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector) | |||
198 | return intel_ddc_probe(intel_output); | 198 | return intel_ddc_probe(intel_output); |
199 | } | 199 | } |
200 | 200 | ||
201 | static enum drm_connector_status | ||
202 | intel_crt_load_detect(struct drm_crtc *crtc, struct intel_output *intel_output) | ||
203 | { | ||
204 | struct drm_encoder *encoder = &intel_output->enc; | ||
205 | struct drm_device *dev = encoder->dev; | ||
206 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
207 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); | ||
208 | uint32_t pipe = intel_crtc->pipe; | ||
209 | uint32_t save_bclrpat; | ||
210 | uint32_t save_vtotal; | ||
211 | uint32_t vtotal, vactive; | ||
212 | uint32_t vsample; | ||
213 | uint32_t vblank, vblank_start, vblank_end; | ||
214 | uint32_t dsl; | ||
215 | uint32_t bclrpat_reg; | ||
216 | uint32_t vtotal_reg; | ||
217 | uint32_t vblank_reg; | ||
218 | uint32_t vsync_reg; | ||
219 | uint32_t pipeconf_reg; | ||
220 | uint32_t pipe_dsl_reg; | ||
221 | uint8_t st00; | ||
222 | enum drm_connector_status status; | ||
223 | |||
224 | if (pipe == 0) { | ||
225 | bclrpat_reg = BCLRPAT_A; | ||
226 | vtotal_reg = VTOTAL_A; | ||
227 | vblank_reg = VBLANK_A; | ||
228 | vsync_reg = VSYNC_A; | ||
229 | pipeconf_reg = PIPEACONF; | ||
230 | pipe_dsl_reg = PIPEADSL; | ||
231 | } else { | ||
232 | bclrpat_reg = BCLRPAT_B; | ||
233 | vtotal_reg = VTOTAL_B; | ||
234 | vblank_reg = VBLANK_B; | ||
235 | vsync_reg = VSYNC_B; | ||
236 | pipeconf_reg = PIPEBCONF; | ||
237 | pipe_dsl_reg = PIPEBDSL; | ||
238 | } | ||
239 | |||
240 | save_bclrpat = I915_READ(bclrpat_reg); | ||
241 | save_vtotal = I915_READ(vtotal_reg); | ||
242 | vblank = I915_READ(vblank_reg); | ||
243 | |||
244 | vtotal = ((save_vtotal >> 16) & 0xfff) + 1; | ||
245 | vactive = (save_vtotal & 0x7ff) + 1; | ||
246 | |||
247 | vblank_start = (vblank & 0xfff) + 1; | ||
248 | vblank_end = ((vblank >> 16) & 0xfff) + 1; | ||
249 | |||
250 | /* Set the border color to purple. */ | ||
251 | I915_WRITE(bclrpat_reg, 0x500050); | ||
252 | |||
253 | if (IS_I9XX(dev)) { | ||
254 | uint32_t pipeconf = I915_READ(pipeconf_reg); | ||
255 | I915_WRITE(pipeconf_reg, pipeconf | PIPECONF_FORCE_BORDER); | ||
256 | /* Wait for next Vblank to substitue | ||
257 | * border color for Color info */ | ||
258 | intel_wait_for_vblank(dev); | ||
259 | st00 = I915_READ8(VGA_MSR_WRITE); | ||
260 | status = ((st00 & (1 << 4)) != 0) ? | ||
261 | connector_status_connected : | ||
262 | connector_status_disconnected; | ||
263 | |||
264 | I915_WRITE(pipeconf_reg, pipeconf); | ||
265 | } else { | ||
266 | bool restore_vblank = false; | ||
267 | int count, detect; | ||
268 | |||
269 | /* | ||
270 | * If there isn't any border, add some. | ||
271 | * Yes, this will flicker | ||
272 | */ | ||
273 | if (vblank_start <= vactive && vblank_end >= vtotal) { | ||
274 | uint32_t vsync = I915_READ(vsync_reg); | ||
275 | uint32_t vsync_start = (vsync & 0xffff) + 1; | ||
276 | |||
277 | vblank_start = vsync_start; | ||
278 | I915_WRITE(vblank_reg, | ||
279 | (vblank_start - 1) | | ||
280 | ((vblank_end - 1) << 16)); | ||
281 | restore_vblank = true; | ||
282 | } | ||
283 | /* sample in the vertical border, selecting the larger one */ | ||
284 | if (vblank_start - vactive >= vtotal - vblank_end) | ||
285 | vsample = (vblank_start + vactive) >> 1; | ||
286 | else | ||
287 | vsample = (vtotal + vblank_end) >> 1; | ||
288 | |||
289 | /* | ||
290 | * Wait for the border to be displayed | ||
291 | */ | ||
292 | while (I915_READ(pipe_dsl_reg) >= vactive) | ||
293 | ; | ||
294 | while ((dsl = I915_READ(pipe_dsl_reg)) <= vsample) | ||
295 | ; | ||
296 | /* | ||
297 | * Watch ST00 for an entire scanline | ||
298 | */ | ||
299 | detect = 0; | ||
300 | count = 0; | ||
301 | do { | ||
302 | count++; | ||
303 | /* Read the ST00 VGA status register */ | ||
304 | st00 = I915_READ8(VGA_MSR_WRITE); | ||
305 | if (st00 & (1 << 4)) | ||
306 | detect++; | ||
307 | } while ((I915_READ(pipe_dsl_reg) == dsl)); | ||
308 | |||
309 | /* restore vblank if necessary */ | ||
310 | if (restore_vblank) | ||
311 | I915_WRITE(vblank_reg, vblank); | ||
312 | /* | ||
313 | * If more than 3/4 of the scanline detected a monitor, | ||
314 | * then it is assumed to be present. This works even on i830, | ||
315 | * where there isn't any way to force the border color across | ||
316 | * the screen | ||
317 | */ | ||
318 | status = detect * 4 > count * 3 ? | ||
319 | connector_status_connected : | ||
320 | connector_status_disconnected; | ||
321 | } | ||
322 | |||
323 | /* Restore previous settings */ | ||
324 | I915_WRITE(bclrpat_reg, save_bclrpat); | ||
325 | |||
326 | return status; | ||
327 | } | ||
328 | |||
201 | static enum drm_connector_status intel_crt_detect(struct drm_connector *connector) | 329 | static enum drm_connector_status intel_crt_detect(struct drm_connector *connector) |
202 | { | 330 | { |
203 | struct drm_device *dev = connector->dev; | 331 | struct drm_device *dev = connector->dev; |
332 | struct intel_output *intel_output = to_intel_output(connector); | ||
333 | struct drm_encoder *encoder = &intel_output->enc; | ||
334 | struct drm_crtc *crtc; | ||
335 | int dpms_mode; | ||
336 | enum drm_connector_status status; | ||
204 | 337 | ||
205 | if (IS_I9XX(dev) && !IS_I915G(dev) && !IS_I915GM(dev)) { | 338 | if (IS_I9XX(dev) && !IS_I915G(dev) && !IS_I915GM(dev)) { |
206 | if (intel_crt_detect_hotplug(connector)) | 339 | if (intel_crt_detect_hotplug(connector)) |
@@ -212,8 +345,20 @@ static enum drm_connector_status intel_crt_detect(struct drm_connector *connecto | |||
212 | if (intel_crt_detect_ddc(connector)) | 345 | if (intel_crt_detect_ddc(connector)) |
213 | return connector_status_connected; | 346 | return connector_status_connected; |
214 | 347 | ||
215 | /* TODO use load detect */ | 348 | /* for pre-945g platforms use load detect */ |
216 | return connector_status_unknown; | 349 | if (encoder->crtc && encoder->crtc->enabled) { |
350 | status = intel_crt_load_detect(encoder->crtc, intel_output); | ||
351 | } else { | ||
352 | crtc = intel_get_load_detect_pipe(intel_output, | ||
353 | NULL, &dpms_mode); | ||
354 | if (crtc) { | ||
355 | status = intel_crt_load_detect(crtc, intel_output); | ||
356 | intel_release_load_detect_pipe(intel_output, dpms_mode); | ||
357 | } else | ||
358 | status = connector_status_unknown; | ||
359 | } | ||
360 | |||
361 | return status; | ||
217 | } | 362 | } |
218 | 363 | ||
219 | static void intel_crt_destroy(struct drm_connector *connector) | 364 | static void intel_crt_destroy(struct drm_connector *connector) |
@@ -236,11 +381,6 @@ static int intel_crt_set_property(struct drm_connector *connector, | |||
236 | struct drm_property *property, | 381 | struct drm_property *property, |
237 | uint64_t value) | 382 | uint64_t value) |
238 | { | 383 | { |
239 | struct drm_device *dev = connector->dev; | ||
240 | |||
241 | if (property == dev->mode_config.dpms_property && connector->encoder) | ||
242 | intel_crt_dpms(connector->encoder, (uint32_t)(value & 0xf)); | ||
243 | |||
244 | return 0; | 384 | return 0; |
245 | } | 385 | } |
246 | 386 | ||
@@ -257,6 +397,7 @@ static const struct drm_encoder_helper_funcs intel_crt_helper_funcs = { | |||
257 | }; | 397 | }; |
258 | 398 | ||
259 | static const struct drm_connector_funcs intel_crt_connector_funcs = { | 399 | static const struct drm_connector_funcs intel_crt_connector_funcs = { |
400 | .dpms = drm_helper_connector_dpms, | ||
260 | .detect = intel_crt_detect, | 401 | .detect = intel_crt_detect, |
261 | .fill_modes = drm_helper_probe_single_connector_modes, | 402 | .fill_modes = drm_helper_probe_single_connector_modes, |
262 | .destroy = intel_crt_destroy, | 403 | .destroy = intel_crt_destroy, |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index bdcda36953b0..c9d6f10ba92e 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -1357,7 +1357,7 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc, | |||
1357 | int pipe = intel_crtc->pipe; | 1357 | int pipe = intel_crtc->pipe; |
1358 | uint32_t control = (pipe == 0) ? CURACNTR : CURBCNTR; | 1358 | uint32_t control = (pipe == 0) ? CURACNTR : CURBCNTR; |
1359 | uint32_t base = (pipe == 0) ? CURABASE : CURBBASE; | 1359 | uint32_t base = (pipe == 0) ? CURABASE : CURBBASE; |
1360 | uint32_t temp; | 1360 | uint32_t temp = I915_READ(control); |
1361 | size_t addr; | 1361 | size_t addr; |
1362 | int ret; | 1362 | int ret; |
1363 | 1363 | ||
@@ -1366,7 +1366,12 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc, | |||
1366 | /* if we want to turn off the cursor ignore width and height */ | 1366 | /* if we want to turn off the cursor ignore width and height */ |
1367 | if (!handle) { | 1367 | if (!handle) { |
1368 | DRM_DEBUG("cursor off\n"); | 1368 | DRM_DEBUG("cursor off\n"); |
1369 | temp = CURSOR_MODE_DISABLE; | 1369 | if (IS_MOBILE(dev) || IS_I9XX(dev)) { |
1370 | temp &= ~(CURSOR_MODE | MCURSOR_GAMMA_ENABLE); | ||
1371 | temp |= CURSOR_MODE_DISABLE; | ||
1372 | } else { | ||
1373 | temp &= ~(CURSOR_ENABLE | CURSOR_GAMMA_ENABLE); | ||
1374 | } | ||
1370 | addr = 0; | 1375 | addr = 0; |
1371 | bo = NULL; | 1376 | bo = NULL; |
1372 | mutex_lock(&dev->struct_mutex); | 1377 | mutex_lock(&dev->struct_mutex); |
@@ -1409,10 +1414,19 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc, | |||
1409 | addr = obj_priv->phys_obj->handle->busaddr; | 1414 | addr = obj_priv->phys_obj->handle->busaddr; |
1410 | } | 1415 | } |
1411 | 1416 | ||
1412 | temp = 0; | 1417 | if (!IS_I9XX(dev)) |
1413 | /* set the pipe for the cursor */ | 1418 | I915_WRITE(CURSIZE, (height << 12) | width); |
1414 | temp |= (pipe << 28); | 1419 | |
1415 | temp |= CURSOR_MODE_64_ARGB_AX | MCURSOR_GAMMA_ENABLE; | 1420 | /* Hooray for CUR*CNTR differences */ |
1421 | if (IS_MOBILE(dev) || IS_I9XX(dev)) { | ||
1422 | temp &= ~(CURSOR_MODE | MCURSOR_PIPE_SELECT); | ||
1423 | temp |= CURSOR_MODE_64_ARGB_AX | MCURSOR_GAMMA_ENABLE; | ||
1424 | temp |= (pipe << 28); /* Connect to correct pipe */ | ||
1425 | } else { | ||
1426 | temp &= ~(CURSOR_FORMAT_MASK); | ||
1427 | temp |= CURSOR_ENABLE; | ||
1428 | temp |= CURSOR_FORMAT_ARGB | CURSOR_GAMMA_ENABLE; | ||
1429 | } | ||
1416 | 1430 | ||
1417 | finish: | 1431 | finish: |
1418 | I915_WRITE(control, temp); | 1432 | I915_WRITE(control, temp); |
@@ -1804,6 +1818,37 @@ static void intel_crtc_init(struct drm_device *dev, int pipe) | |||
1804 | } | 1818 | } |
1805 | } | 1819 | } |
1806 | 1820 | ||
1821 | int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, | ||
1822 | struct drm_file *file_priv) | ||
1823 | { | ||
1824 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
1825 | struct drm_i915_get_pipe_from_crtc_id *pipe_from_crtc_id = data; | ||
1826 | struct drm_crtc *crtc = NULL; | ||
1827 | int pipe = -1; | ||
1828 | |||
1829 | if (!dev_priv) { | ||
1830 | DRM_ERROR("called with no initialization\n"); | ||
1831 | return -EINVAL; | ||
1832 | } | ||
1833 | |||
1834 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { | ||
1835 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); | ||
1836 | if (crtc->base.id == pipe_from_crtc_id->crtc_id) { | ||
1837 | pipe = intel_crtc->pipe; | ||
1838 | break; | ||
1839 | } | ||
1840 | } | ||
1841 | |||
1842 | if (pipe == -1) { | ||
1843 | DRM_ERROR("no such CRTC id\n"); | ||
1844 | return -EINVAL; | ||
1845 | } | ||
1846 | |||
1847 | pipe_from_crtc_id->pipe = pipe; | ||
1848 | |||
1849 | return 0; | ||
1850 | } | ||
1851 | |||
1807 | struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe) | 1852 | struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe) |
1808 | { | 1853 | { |
1809 | struct drm_crtc *crtc = NULL; | 1854 | struct drm_crtc *crtc = NULL; |
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 957daef8edff..cd4b9c5f715e 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -109,7 +109,7 @@ struct intel_i2c_chan *intel_i2c_create(struct drm_device *dev, const u32 reg, | |||
109 | void intel_i2c_destroy(struct intel_i2c_chan *chan); | 109 | void intel_i2c_destroy(struct intel_i2c_chan *chan); |
110 | int intel_ddc_get_modes(struct intel_output *intel_output); | 110 | int intel_ddc_get_modes(struct intel_output *intel_output); |
111 | extern bool intel_ddc_probe(struct intel_output *intel_output); | 111 | extern bool intel_ddc_probe(struct intel_output *intel_output); |
112 | 112 | void intel_i2c_quirk_set(struct drm_device *dev, bool enable); | |
113 | extern void intel_crt_init(struct drm_device *dev); | 113 | extern void intel_crt_init(struct drm_device *dev); |
114 | extern void intel_hdmi_init(struct drm_device *dev, int sdvox_reg); | 114 | extern void intel_hdmi_init(struct drm_device *dev, int sdvox_reg); |
115 | extern bool intel_sdvo_init(struct drm_device *dev, int output_device); | 115 | extern bool intel_sdvo_init(struct drm_device *dev, int output_device); |
@@ -125,6 +125,8 @@ extern struct drm_encoder *intel_best_encoder(struct drm_connector *connector); | |||
125 | 125 | ||
126 | extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, | 126 | extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, |
127 | struct drm_crtc *crtc); | 127 | struct drm_crtc *crtc); |
128 | int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, | ||
129 | struct drm_file *file_priv); | ||
128 | extern void intel_wait_for_vblank(struct drm_device *dev); | 130 | extern void intel_wait_for_vblank(struct drm_device *dev); |
129 | extern struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe); | 131 | extern struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe); |
130 | extern struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output, | 132 | extern struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output, |
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c index 8b8d6e65cd3f..1ee3007d6ec0 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c | |||
@@ -316,6 +316,7 @@ static const struct drm_encoder_helper_funcs intel_dvo_helper_funcs = { | |||
316 | }; | 316 | }; |
317 | 317 | ||
318 | static const struct drm_connector_funcs intel_dvo_connector_funcs = { | 318 | static const struct drm_connector_funcs intel_dvo_connector_funcs = { |
319 | .dpms = drm_helper_connector_dpms, | ||
319 | .save = intel_dvo_save, | 320 | .save = intel_dvo_save, |
320 | .restore = intel_dvo_restore, | 321 | .restore = intel_dvo_restore, |
321 | .detect = intel_dvo_detect, | 322 | .detect = intel_dvo_detect, |
diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c index 3e094beecb99..e4652dcdd9bb 100644 --- a/drivers/gpu/drm/i915/intel_fb.c +++ b/drivers/gpu/drm/i915/intel_fb.c | |||
@@ -864,7 +864,7 @@ static void intelfb_sysrq(int dummy1, struct tty_struct *dummy3) | |||
864 | 864 | ||
865 | static struct sysrq_key_op sysrq_intelfb_restore_op = { | 865 | static struct sysrq_key_op sysrq_intelfb_restore_op = { |
866 | .handler = intelfb_sysrq, | 866 | .handler = intelfb_sysrq, |
867 | .help_msg = "force-fb(G)", | 867 | .help_msg = "force-fb(V)", |
868 | .action_msg = "Restore framebuffer console", | 868 | .action_msg = "Restore framebuffer console", |
869 | }; | 869 | }; |
870 | 870 | ||
@@ -898,7 +898,7 @@ int intelfb_probe(struct drm_device *dev) | |||
898 | ret = intelfb_single_fb_probe(dev); | 898 | ret = intelfb_single_fb_probe(dev); |
899 | } | 899 | } |
900 | 900 | ||
901 | register_sysrq_key('g', &sysrq_intelfb_restore_op); | 901 | register_sysrq_key('v', &sysrq_intelfb_restore_op); |
902 | 902 | ||
903 | return ret; | 903 | return ret; |
904 | } | 904 | } |
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 550374225388..7d6bdd705326 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -155,11 +155,18 @@ intel_hdmi_detect(struct drm_connector *connector) | |||
155 | 155 | ||
156 | temp = I915_READ(PORT_HOTPLUG_EN); | 156 | temp = I915_READ(PORT_HOTPLUG_EN); |
157 | 157 | ||
158 | I915_WRITE(PORT_HOTPLUG_EN, | 158 | switch (hdmi_priv->sdvox_reg) { |
159 | temp | | 159 | case SDVOB: |
160 | HDMIB_HOTPLUG_INT_EN | | 160 | temp |= HDMIB_HOTPLUG_INT_EN; |
161 | HDMIC_HOTPLUG_INT_EN | | 161 | break; |
162 | HDMID_HOTPLUG_INT_EN); | 162 | case SDVOC: |
163 | temp |= HDMIC_HOTPLUG_INT_EN; | ||
164 | break; | ||
165 | default: | ||
166 | return connector_status_unknown; | ||
167 | } | ||
168 | |||
169 | I915_WRITE(PORT_HOTPLUG_EN, temp); | ||
163 | 170 | ||
164 | POSTING_READ(PORT_HOTPLUG_EN); | 171 | POSTING_READ(PORT_HOTPLUG_EN); |
165 | 172 | ||
@@ -212,6 +219,7 @@ static const struct drm_encoder_helper_funcs intel_hdmi_helper_funcs = { | |||
212 | }; | 219 | }; |
213 | 220 | ||
214 | static const struct drm_connector_funcs intel_hdmi_connector_funcs = { | 221 | static const struct drm_connector_funcs intel_hdmi_connector_funcs = { |
222 | .dpms = drm_helper_connector_dpms, | ||
215 | .save = intel_hdmi_save, | 223 | .save = intel_hdmi_save, |
216 | .restore = intel_hdmi_restore, | 224 | .restore = intel_hdmi_restore, |
217 | .detect = intel_hdmi_detect, | 225 | .detect = intel_hdmi_detect, |
diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c index 5ee9d4c25753..f7061f68d050 100644 --- a/drivers/gpu/drm/i915/intel_i2c.c +++ b/drivers/gpu/drm/i915/intel_i2c.c | |||
@@ -34,6 +34,21 @@ | |||
34 | #include "i915_drm.h" | 34 | #include "i915_drm.h" |
35 | #include "i915_drv.h" | 35 | #include "i915_drv.h" |
36 | 36 | ||
37 | void intel_i2c_quirk_set(struct drm_device *dev, bool enable) | ||
38 | { | ||
39 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
40 | |||
41 | /* When using bit bashing for I2C, this bit needs to be set to 1 */ | ||
42 | if (!IS_IGD(dev)) | ||
43 | return; | ||
44 | if (enable) | ||
45 | I915_WRITE(CG_2D_DIS, | ||
46 | I915_READ(CG_2D_DIS) | DPCUNIT_CLOCK_GATE_DISABLE); | ||
47 | else | ||
48 | I915_WRITE(CG_2D_DIS, | ||
49 | I915_READ(CG_2D_DIS) & (~DPCUNIT_CLOCK_GATE_DISABLE)); | ||
50 | } | ||
51 | |||
37 | /* | 52 | /* |
38 | * Intel GPIO access functions | 53 | * Intel GPIO access functions |
39 | */ | 54 | */ |
@@ -153,8 +168,10 @@ struct intel_i2c_chan *intel_i2c_create(struct drm_device *dev, const u32 reg, | |||
153 | goto out_free; | 168 | goto out_free; |
154 | 169 | ||
155 | /* JJJ: raise SCL and SDA? */ | 170 | /* JJJ: raise SCL and SDA? */ |
171 | intel_i2c_quirk_set(dev, true); | ||
156 | set_data(chan, 1); | 172 | set_data(chan, 1); |
157 | set_clock(chan, 1); | 173 | set_clock(chan, 1); |
174 | intel_i2c_quirk_set(dev, false); | ||
158 | udelay(20); | 175 | udelay(20); |
159 | 176 | ||
160 | return chan; | 177 | return chan; |
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 6619f26e46a5..53cccfa58b95 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
@@ -343,11 +343,6 @@ static int intel_lvds_set_property(struct drm_connector *connector, | |||
343 | struct drm_property *property, | 343 | struct drm_property *property, |
344 | uint64_t value) | 344 | uint64_t value) |
345 | { | 345 | { |
346 | struct drm_device *dev = connector->dev; | ||
347 | |||
348 | if (property == dev->mode_config.dpms_property && connector->encoder) | ||
349 | intel_lvds_dpms(connector->encoder, (uint32_t)(value & 0xf)); | ||
350 | |||
351 | return 0; | 346 | return 0; |
352 | } | 347 | } |
353 | 348 | ||
@@ -366,6 +361,7 @@ static const struct drm_connector_helper_funcs intel_lvds_connector_helper_funcs | |||
366 | }; | 361 | }; |
367 | 362 | ||
368 | static const struct drm_connector_funcs intel_lvds_connector_funcs = { | 363 | static const struct drm_connector_funcs intel_lvds_connector_funcs = { |
364 | .dpms = drm_helper_connector_dpms, | ||
369 | .save = intel_lvds_save, | 365 | .save = intel_lvds_save, |
370 | .restore = intel_lvds_restore, | 366 | .restore = intel_lvds_restore, |
371 | .detect = intel_lvds_detect, | 367 | .detect = intel_lvds_detect, |
@@ -384,7 +380,51 @@ static const struct drm_encoder_funcs intel_lvds_enc_funcs = { | |||
384 | .destroy = intel_lvds_enc_destroy, | 380 | .destroy = intel_lvds_enc_destroy, |
385 | }; | 381 | }; |
386 | 382 | ||
383 | static int __init intel_no_lvds_dmi_callback(const struct dmi_system_id *id) | ||
384 | { | ||
385 | DRM_DEBUG("Skipping LVDS initialization for %s\n", id->ident); | ||
386 | return 1; | ||
387 | } | ||
388 | |||
389 | /* These systems claim to have LVDS, but really don't */ | ||
390 | static const struct dmi_system_id intel_no_lvds[] = { | ||
391 | { | ||
392 | .callback = intel_no_lvds_dmi_callback, | ||
393 | .ident = "Apple Mac Mini (Core series)", | ||
394 | .matches = { | ||
395 | DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), | ||
396 | DMI_MATCH(DMI_PRODUCT_NAME, "Macmini1,1"), | ||
397 | }, | ||
398 | }, | ||
399 | { | ||
400 | .callback = intel_no_lvds_dmi_callback, | ||
401 | .ident = "Apple Mac Mini (Core 2 series)", | ||
402 | .matches = { | ||
403 | DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), | ||
404 | DMI_MATCH(DMI_PRODUCT_NAME, "Macmini2,1"), | ||
405 | }, | ||
406 | }, | ||
407 | { | ||
408 | .callback = intel_no_lvds_dmi_callback, | ||
409 | .ident = "MSI IM-945GSE-A", | ||
410 | .matches = { | ||
411 | DMI_MATCH(DMI_SYS_VENDOR, "MSI"), | ||
412 | DMI_MATCH(DMI_PRODUCT_NAME, "A9830IMS"), | ||
413 | }, | ||
414 | }, | ||
415 | { | ||
416 | .callback = intel_no_lvds_dmi_callback, | ||
417 | .ident = "Dell Studio Hybrid", | ||
418 | .matches = { | ||
419 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | ||
420 | DMI_MATCH(DMI_PRODUCT_NAME, "Studio Hybrid 140g"), | ||
421 | }, | ||
422 | }, | ||
387 | 423 | ||
424 | /* FIXME: add a check for the Aopen Mini PC */ | ||
425 | |||
426 | { } /* terminating entry */ | ||
427 | }; | ||
388 | 428 | ||
389 | /** | 429 | /** |
390 | * intel_lvds_init - setup LVDS connectors on this device | 430 | * intel_lvds_init - setup LVDS connectors on this device |
@@ -404,15 +444,9 @@ void intel_lvds_init(struct drm_device *dev) | |||
404 | u32 lvds; | 444 | u32 lvds; |
405 | int pipe; | 445 | int pipe; |
406 | 446 | ||
407 | /* Blacklist machines that we know falsely report LVDS. */ | 447 | /* Skip init on machines we know falsely report LVDS */ |
408 | /* FIXME: add a check for the Aopen Mini PC */ | 448 | if (dmi_check_system(intel_no_lvds)) |
409 | |||
410 | /* Apple Mac Mini Core Duo and Mac Mini Core 2 Duo */ | ||
411 | if(dmi_match(DMI_PRODUCT_NAME, "Macmini1,1") || | ||
412 | dmi_match(DMI_PRODUCT_NAME, "Macmini2,1")) { | ||
413 | DRM_DEBUG("Skipping LVDS initialization for Apple Mac Mini\n"); | ||
414 | return; | 449 | return; |
415 | } | ||
416 | 450 | ||
417 | intel_output = kzalloc(sizeof(struct intel_output), GFP_KERNEL); | 451 | intel_output = kzalloc(sizeof(struct intel_output), GFP_KERNEL); |
418 | if (!intel_output) { | 452 | if (!intel_output) { |
@@ -473,10 +507,10 @@ void intel_lvds_init(struct drm_device *dev) | |||
473 | } | 507 | } |
474 | 508 | ||
475 | /* Failed to get EDID, what about VBT? */ | 509 | /* Failed to get EDID, what about VBT? */ |
476 | if (dev_priv->vbt_mode) { | 510 | if (dev_priv->lfp_lvds_vbt_mode) { |
477 | mutex_lock(&dev->mode_config.mutex); | 511 | mutex_lock(&dev->mode_config.mutex); |
478 | dev_priv->panel_fixed_mode = | 512 | dev_priv->panel_fixed_mode = |
479 | drm_mode_duplicate(dev, dev_priv->vbt_mode); | 513 | drm_mode_duplicate(dev, dev_priv->lfp_lvds_vbt_mode); |
480 | mutex_unlock(&dev->mode_config.mutex); | 514 | mutex_unlock(&dev->mode_config.mutex); |
481 | if (dev_priv->panel_fixed_mode) { | 515 | if (dev_priv->panel_fixed_mode) { |
482 | dev_priv->panel_fixed_mode->type |= | 516 | dev_priv->panel_fixed_mode->type |= |
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c index 07d7ec976168..e0910fefce87 100644 --- a/drivers/gpu/drm/i915/intel_modes.c +++ b/drivers/gpu/drm/i915/intel_modes.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/fb.h> | 27 | #include <linux/fb.h> |
28 | #include "drmP.h" | 28 | #include "drmP.h" |
29 | #include "intel_drv.h" | 29 | #include "intel_drv.h" |
30 | #include "i915_drv.h" | ||
30 | 31 | ||
31 | /** | 32 | /** |
32 | * intel_ddc_probe | 33 | * intel_ddc_probe |
@@ -52,7 +53,10 @@ bool intel_ddc_probe(struct intel_output *intel_output) | |||
52 | } | 53 | } |
53 | }; | 54 | }; |
54 | 55 | ||
56 | intel_i2c_quirk_set(intel_output->ddc_bus->drm_dev, true); | ||
55 | ret = i2c_transfer(&intel_output->ddc_bus->adapter, msgs, 2); | 57 | ret = i2c_transfer(&intel_output->ddc_bus->adapter, msgs, 2); |
58 | intel_i2c_quirk_set(intel_output->ddc_bus->drm_dev, false); | ||
59 | |||
56 | if (ret == 2) | 60 | if (ret == 2) |
57 | return true; | 61 | return true; |
58 | 62 | ||
@@ -70,8 +74,10 @@ int intel_ddc_get_modes(struct intel_output *intel_output) | |||
70 | struct edid *edid; | 74 | struct edid *edid; |
71 | int ret = 0; | 75 | int ret = 0; |
72 | 76 | ||
77 | intel_i2c_quirk_set(intel_output->ddc_bus->drm_dev, true); | ||
73 | edid = drm_get_edid(&intel_output->base, | 78 | edid = drm_get_edid(&intel_output->base, |
74 | &intel_output->ddc_bus->adapter); | 79 | &intel_output->ddc_bus->adapter); |
80 | intel_i2c_quirk_set(intel_output->ddc_bus->drm_dev, false); | ||
75 | if (edid) { | 81 | if (edid) { |
76 | drm_mode_connector_update_edid_property(&intel_output->base, | 82 | drm_mode_connector_update_edid_property(&intel_output->base, |
77 | edid); | 83 | edid); |
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index 9913651c1e17..3093b4d4a4dd 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c | |||
@@ -69,6 +69,10 @@ struct intel_sdvo_priv { | |||
69 | * This is set if we treat the device as HDMI, instead of DVI. | 69 | * This is set if we treat the device as HDMI, instead of DVI. |
70 | */ | 70 | */ |
71 | bool is_hdmi; | 71 | bool is_hdmi; |
72 | /** | ||
73 | * This is set if we detect output of sdvo device as LVDS. | ||
74 | */ | ||
75 | bool is_lvds; | ||
72 | 76 | ||
73 | /** | 77 | /** |
74 | * Returned SDTV resolutions allowed for the current format, if the | 78 | * Returned SDTV resolutions allowed for the current format, if the |
@@ -1398,10 +1402,8 @@ static enum drm_connector_status intel_sdvo_detect(struct drm_connector *connect | |||
1398 | static void intel_sdvo_get_ddc_modes(struct drm_connector *connector) | 1402 | static void intel_sdvo_get_ddc_modes(struct drm_connector *connector) |
1399 | { | 1403 | { |
1400 | struct intel_output *intel_output = to_intel_output(connector); | 1404 | struct intel_output *intel_output = to_intel_output(connector); |
1401 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | ||
1402 | 1405 | ||
1403 | /* set the bus switch and get the modes */ | 1406 | /* set the bus switch and get the modes */ |
1404 | intel_sdvo_set_control_bus_switch(intel_output, sdvo_priv->ddc_bus); | ||
1405 | intel_ddc_get_modes(intel_output); | 1407 | intel_ddc_get_modes(intel_output); |
1406 | 1408 | ||
1407 | #if 0 | 1409 | #if 0 |
@@ -1543,6 +1545,37 @@ static void intel_sdvo_get_tv_modes(struct drm_connector *connector) | |||
1543 | } | 1545 | } |
1544 | } | 1546 | } |
1545 | 1547 | ||
1548 | static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) | ||
1549 | { | ||
1550 | struct intel_output *intel_output = to_intel_output(connector); | ||
1551 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | ||
1552 | struct drm_i915_private *dev_priv = connector->dev->dev_private; | ||
1553 | |||
1554 | /* | ||
1555 | * Attempt to get the mode list from DDC. | ||
1556 | * Assume that the preferred modes are | ||
1557 | * arranged in priority order. | ||
1558 | */ | ||
1559 | /* set the bus switch and get the modes */ | ||
1560 | intel_sdvo_set_control_bus_switch(intel_output, sdvo_priv->ddc_bus); | ||
1561 | intel_ddc_get_modes(intel_output); | ||
1562 | if (list_empty(&connector->probed_modes) == false) | ||
1563 | return; | ||
1564 | |||
1565 | /* Fetch modes from VBT */ | ||
1566 | if (dev_priv->sdvo_lvds_vbt_mode != NULL) { | ||
1567 | struct drm_display_mode *newmode; | ||
1568 | newmode = drm_mode_duplicate(connector->dev, | ||
1569 | dev_priv->sdvo_lvds_vbt_mode); | ||
1570 | if (newmode != NULL) { | ||
1571 | /* Guarantee the mode is preferred */ | ||
1572 | newmode->type = (DRM_MODE_TYPE_PREFERRED | | ||
1573 | DRM_MODE_TYPE_DRIVER); | ||
1574 | drm_mode_probed_add(connector, newmode); | ||
1575 | } | ||
1576 | } | ||
1577 | } | ||
1578 | |||
1546 | static int intel_sdvo_get_modes(struct drm_connector *connector) | 1579 | static int intel_sdvo_get_modes(struct drm_connector *connector) |
1547 | { | 1580 | { |
1548 | struct intel_output *output = to_intel_output(connector); | 1581 | struct intel_output *output = to_intel_output(connector); |
@@ -1550,6 +1583,8 @@ static int intel_sdvo_get_modes(struct drm_connector *connector) | |||
1550 | 1583 | ||
1551 | if (sdvo_priv->is_tv) | 1584 | if (sdvo_priv->is_tv) |
1552 | intel_sdvo_get_tv_modes(connector); | 1585 | intel_sdvo_get_tv_modes(connector); |
1586 | else if (sdvo_priv->is_lvds == true) | ||
1587 | intel_sdvo_get_lvds_modes(connector); | ||
1553 | else | 1588 | else |
1554 | intel_sdvo_get_ddc_modes(connector); | 1589 | intel_sdvo_get_ddc_modes(connector); |
1555 | 1590 | ||
@@ -1564,6 +1599,9 @@ static void intel_sdvo_destroy(struct drm_connector *connector) | |||
1564 | 1599 | ||
1565 | if (intel_output->i2c_bus) | 1600 | if (intel_output->i2c_bus) |
1566 | intel_i2c_destroy(intel_output->i2c_bus); | 1601 | intel_i2c_destroy(intel_output->i2c_bus); |
1602 | if (intel_output->ddc_bus) | ||
1603 | intel_i2c_destroy(intel_output->ddc_bus); | ||
1604 | |||
1567 | drm_sysfs_connector_remove(connector); | 1605 | drm_sysfs_connector_remove(connector); |
1568 | drm_connector_cleanup(connector); | 1606 | drm_connector_cleanup(connector); |
1569 | kfree(intel_output); | 1607 | kfree(intel_output); |
@@ -1578,6 +1616,7 @@ static const struct drm_encoder_helper_funcs intel_sdvo_helper_funcs = { | |||
1578 | }; | 1616 | }; |
1579 | 1617 | ||
1580 | static const struct drm_connector_funcs intel_sdvo_connector_funcs = { | 1618 | static const struct drm_connector_funcs intel_sdvo_connector_funcs = { |
1619 | .dpms = drm_helper_connector_dpms, | ||
1581 | .save = intel_sdvo_save, | 1620 | .save = intel_sdvo_save, |
1582 | .restore = intel_sdvo_restore, | 1621 | .restore = intel_sdvo_restore, |
1583 | .detect = intel_sdvo_detect, | 1622 | .detect = intel_sdvo_detect, |
@@ -1660,12 +1699,56 @@ intel_sdvo_get_digital_encoding_mode(struct intel_output *output) | |||
1660 | return true; | 1699 | return true; |
1661 | } | 1700 | } |
1662 | 1701 | ||
1702 | static struct intel_output * | ||
1703 | intel_sdvo_chan_to_intel_output(struct intel_i2c_chan *chan) | ||
1704 | { | ||
1705 | struct drm_device *dev = chan->drm_dev; | ||
1706 | struct drm_connector *connector; | ||
1707 | struct intel_output *intel_output = NULL; | ||
1708 | |||
1709 | list_for_each_entry(connector, | ||
1710 | &dev->mode_config.connector_list, head) { | ||
1711 | if (to_intel_output(connector)->ddc_bus == chan) { | ||
1712 | intel_output = to_intel_output(connector); | ||
1713 | break; | ||
1714 | } | ||
1715 | } | ||
1716 | return intel_output; | ||
1717 | } | ||
1718 | |||
1719 | static int intel_sdvo_master_xfer(struct i2c_adapter *i2c_adap, | ||
1720 | struct i2c_msg msgs[], int num) | ||
1721 | { | ||
1722 | struct intel_output *intel_output; | ||
1723 | struct intel_sdvo_priv *sdvo_priv; | ||
1724 | struct i2c_algo_bit_data *algo_data; | ||
1725 | struct i2c_algorithm *algo; | ||
1726 | |||
1727 | algo_data = (struct i2c_algo_bit_data *)i2c_adap->algo_data; | ||
1728 | intel_output = | ||
1729 | intel_sdvo_chan_to_intel_output( | ||
1730 | (struct intel_i2c_chan *)(algo_data->data)); | ||
1731 | if (intel_output == NULL) | ||
1732 | return -EINVAL; | ||
1733 | |||
1734 | sdvo_priv = intel_output->dev_priv; | ||
1735 | algo = (struct i2c_algorithm *)intel_output->i2c_bus->adapter.algo; | ||
1736 | |||
1737 | intel_sdvo_set_control_bus_switch(intel_output, sdvo_priv->ddc_bus); | ||
1738 | return algo->master_xfer(i2c_adap, msgs, num); | ||
1739 | } | ||
1740 | |||
1741 | static struct i2c_algorithm intel_sdvo_i2c_bit_algo = { | ||
1742 | .master_xfer = intel_sdvo_master_xfer, | ||
1743 | }; | ||
1744 | |||
1663 | bool intel_sdvo_init(struct drm_device *dev, int output_device) | 1745 | bool intel_sdvo_init(struct drm_device *dev, int output_device) |
1664 | { | 1746 | { |
1665 | struct drm_connector *connector; | 1747 | struct drm_connector *connector; |
1666 | struct intel_output *intel_output; | 1748 | struct intel_output *intel_output; |
1667 | struct intel_sdvo_priv *sdvo_priv; | 1749 | struct intel_sdvo_priv *sdvo_priv; |
1668 | struct intel_i2c_chan *i2cbus = NULL; | 1750 | struct intel_i2c_chan *i2cbus = NULL; |
1751 | struct intel_i2c_chan *ddcbus = NULL; | ||
1669 | int connector_type; | 1752 | int connector_type; |
1670 | u8 ch[0x40]; | 1753 | u8 ch[0x40]; |
1671 | int i; | 1754 | int i; |
@@ -1676,17 +1759,9 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1676 | return false; | 1759 | return false; |
1677 | } | 1760 | } |
1678 | 1761 | ||
1679 | connector = &intel_output->base; | ||
1680 | |||
1681 | drm_connector_init(dev, connector, &intel_sdvo_connector_funcs, | ||
1682 | DRM_MODE_CONNECTOR_Unknown); | ||
1683 | drm_connector_helper_add(connector, &intel_sdvo_connector_helper_funcs); | ||
1684 | sdvo_priv = (struct intel_sdvo_priv *)(intel_output + 1); | 1762 | sdvo_priv = (struct intel_sdvo_priv *)(intel_output + 1); |
1685 | intel_output->type = INTEL_OUTPUT_SDVO; | 1763 | intel_output->type = INTEL_OUTPUT_SDVO; |
1686 | 1764 | ||
1687 | connector->interlace_allowed = 0; | ||
1688 | connector->doublescan_allowed = 0; | ||
1689 | |||
1690 | /* setup the DDC bus. */ | 1765 | /* setup the DDC bus. */ |
1691 | if (output_device == SDVOB) | 1766 | if (output_device == SDVOB) |
1692 | i2cbus = intel_i2c_create(dev, GPIOE, "SDVOCTRL_E for SDVOB"); | 1767 | i2cbus = intel_i2c_create(dev, GPIOE, "SDVOCTRL_E for SDVOB"); |
@@ -1694,7 +1769,7 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1694 | i2cbus = intel_i2c_create(dev, GPIOE, "SDVOCTRL_E for SDVOC"); | 1769 | i2cbus = intel_i2c_create(dev, GPIOE, "SDVOCTRL_E for SDVOC"); |
1695 | 1770 | ||
1696 | if (!i2cbus) | 1771 | if (!i2cbus) |
1697 | goto err_connector; | 1772 | goto err_inteloutput; |
1698 | 1773 | ||
1699 | sdvo_priv->i2c_bus = i2cbus; | 1774 | sdvo_priv->i2c_bus = i2cbus; |
1700 | 1775 | ||
@@ -1710,7 +1785,6 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1710 | intel_output->i2c_bus = i2cbus; | 1785 | intel_output->i2c_bus = i2cbus; |
1711 | intel_output->dev_priv = sdvo_priv; | 1786 | intel_output->dev_priv = sdvo_priv; |
1712 | 1787 | ||
1713 | |||
1714 | /* Read the regs to test if we can talk to the device */ | 1788 | /* Read the regs to test if we can talk to the device */ |
1715 | for (i = 0; i < 0x40; i++) { | 1789 | for (i = 0; i < 0x40; i++) { |
1716 | if (!intel_sdvo_read_byte(intel_output, i, &ch[i])) { | 1790 | if (!intel_sdvo_read_byte(intel_output, i, &ch[i])) { |
@@ -1720,6 +1794,22 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1720 | } | 1794 | } |
1721 | } | 1795 | } |
1722 | 1796 | ||
1797 | /* setup the DDC bus. */ | ||
1798 | if (output_device == SDVOB) | ||
1799 | ddcbus = intel_i2c_create(dev, GPIOE, "SDVOB DDC BUS"); | ||
1800 | else | ||
1801 | ddcbus = intel_i2c_create(dev, GPIOE, "SDVOC DDC BUS"); | ||
1802 | |||
1803 | if (ddcbus == NULL) | ||
1804 | goto err_i2c; | ||
1805 | |||
1806 | intel_sdvo_i2c_bit_algo.functionality = | ||
1807 | intel_output->i2c_bus->adapter.algo->functionality; | ||
1808 | ddcbus->adapter.algo = &intel_sdvo_i2c_bit_algo; | ||
1809 | intel_output->ddc_bus = ddcbus; | ||
1810 | |||
1811 | /* In defaut case sdvo lvds is false */ | ||
1812 | sdvo_priv->is_lvds = false; | ||
1723 | intel_sdvo_get_capabilities(intel_output, &sdvo_priv->caps); | 1813 | intel_sdvo_get_capabilities(intel_output, &sdvo_priv->caps); |
1724 | 1814 | ||
1725 | if (sdvo_priv->caps.output_flags & | 1815 | if (sdvo_priv->caps.output_flags & |
@@ -1729,7 +1819,6 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1729 | else | 1819 | else |
1730 | sdvo_priv->controlled_output = SDVO_OUTPUT_TMDS1; | 1820 | sdvo_priv->controlled_output = SDVO_OUTPUT_TMDS1; |
1731 | 1821 | ||
1732 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | ||
1733 | encoder_type = DRM_MODE_ENCODER_TMDS; | 1822 | encoder_type = DRM_MODE_ENCODER_TMDS; |
1734 | connector_type = DRM_MODE_CONNECTOR_DVID; | 1823 | connector_type = DRM_MODE_CONNECTOR_DVID; |
1735 | 1824 | ||
@@ -1747,7 +1836,6 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1747 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_SVID0) | 1836 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_SVID0) |
1748 | { | 1837 | { |
1749 | sdvo_priv->controlled_output = SDVO_OUTPUT_SVID0; | 1838 | sdvo_priv->controlled_output = SDVO_OUTPUT_SVID0; |
1750 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | ||
1751 | encoder_type = DRM_MODE_ENCODER_TVDAC; | 1839 | encoder_type = DRM_MODE_ENCODER_TVDAC; |
1752 | connector_type = DRM_MODE_CONNECTOR_SVIDEO; | 1840 | connector_type = DRM_MODE_CONNECTOR_SVIDEO; |
1753 | sdvo_priv->is_tv = true; | 1841 | sdvo_priv->is_tv = true; |
@@ -1756,30 +1844,28 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1756 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_RGB0) | 1844 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_RGB0) |
1757 | { | 1845 | { |
1758 | sdvo_priv->controlled_output = SDVO_OUTPUT_RGB0; | 1846 | sdvo_priv->controlled_output = SDVO_OUTPUT_RGB0; |
1759 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | ||
1760 | encoder_type = DRM_MODE_ENCODER_DAC; | 1847 | encoder_type = DRM_MODE_ENCODER_DAC; |
1761 | connector_type = DRM_MODE_CONNECTOR_VGA; | 1848 | connector_type = DRM_MODE_CONNECTOR_VGA; |
1762 | } | 1849 | } |
1763 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_RGB1) | 1850 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_RGB1) |
1764 | { | 1851 | { |
1765 | sdvo_priv->controlled_output = SDVO_OUTPUT_RGB1; | 1852 | sdvo_priv->controlled_output = SDVO_OUTPUT_RGB1; |
1766 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | ||
1767 | encoder_type = DRM_MODE_ENCODER_DAC; | 1853 | encoder_type = DRM_MODE_ENCODER_DAC; |
1768 | connector_type = DRM_MODE_CONNECTOR_VGA; | 1854 | connector_type = DRM_MODE_CONNECTOR_VGA; |
1769 | } | 1855 | } |
1770 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_LVDS0) | 1856 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_LVDS0) |
1771 | { | 1857 | { |
1772 | sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS0; | 1858 | sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS0; |
1773 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | ||
1774 | encoder_type = DRM_MODE_ENCODER_LVDS; | 1859 | encoder_type = DRM_MODE_ENCODER_LVDS; |
1775 | connector_type = DRM_MODE_CONNECTOR_LVDS; | 1860 | connector_type = DRM_MODE_CONNECTOR_LVDS; |
1861 | sdvo_priv->is_lvds = true; | ||
1776 | } | 1862 | } |
1777 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_LVDS1) | 1863 | else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_LVDS1) |
1778 | { | 1864 | { |
1779 | sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS1; | 1865 | sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS1; |
1780 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | ||
1781 | encoder_type = DRM_MODE_ENCODER_LVDS; | 1866 | encoder_type = DRM_MODE_ENCODER_LVDS; |
1782 | connector_type = DRM_MODE_CONNECTOR_LVDS; | 1867 | connector_type = DRM_MODE_CONNECTOR_LVDS; |
1868 | sdvo_priv->is_lvds = true; | ||
1783 | } | 1869 | } |
1784 | else | 1870 | else |
1785 | { | 1871 | { |
@@ -1795,9 +1881,16 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1795 | goto err_i2c; | 1881 | goto err_i2c; |
1796 | } | 1882 | } |
1797 | 1883 | ||
1884 | connector = &intel_output->base; | ||
1885 | drm_connector_init(dev, connector, &intel_sdvo_connector_funcs, | ||
1886 | connector_type); | ||
1887 | drm_connector_helper_add(connector, &intel_sdvo_connector_helper_funcs); | ||
1888 | connector->interlace_allowed = 0; | ||
1889 | connector->doublescan_allowed = 0; | ||
1890 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | ||
1891 | |||
1798 | drm_encoder_init(dev, &intel_output->enc, &intel_sdvo_enc_funcs, encoder_type); | 1892 | drm_encoder_init(dev, &intel_output->enc, &intel_sdvo_enc_funcs, encoder_type); |
1799 | drm_encoder_helper_add(&intel_output->enc, &intel_sdvo_helper_funcs); | 1893 | drm_encoder_helper_add(&intel_output->enc, &intel_sdvo_helper_funcs); |
1800 | connector->connector_type = connector_type; | ||
1801 | 1894 | ||
1802 | drm_mode_connector_attach_encoder(&intel_output->base, &intel_output->enc); | 1895 | drm_mode_connector_attach_encoder(&intel_output->base, &intel_output->enc); |
1803 | drm_sysfs_connector_add(connector); | 1896 | drm_sysfs_connector_add(connector); |
@@ -1829,14 +1922,13 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
1829 | sdvo_priv->caps.output_flags & | 1922 | sdvo_priv->caps.output_flags & |
1830 | (SDVO_OUTPUT_TMDS1 | SDVO_OUTPUT_RGB1) ? 'Y' : 'N'); | 1923 | (SDVO_OUTPUT_TMDS1 | SDVO_OUTPUT_RGB1) ? 'Y' : 'N'); |
1831 | 1924 | ||
1832 | intel_output->ddc_bus = i2cbus; | ||
1833 | |||
1834 | return true; | 1925 | return true; |
1835 | 1926 | ||
1836 | err_i2c: | 1927 | err_i2c: |
1928 | if (ddcbus != NULL) | ||
1929 | intel_i2c_destroy(intel_output->ddc_bus); | ||
1837 | intel_i2c_destroy(intel_output->i2c_bus); | 1930 | intel_i2c_destroy(intel_output->i2c_bus); |
1838 | err_connector: | 1931 | err_inteloutput: |
1839 | drm_connector_cleanup(connector); | ||
1840 | kfree(intel_output); | 1932 | kfree(intel_output); |
1841 | 1933 | ||
1842 | return false; | 1934 | return false; |
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index d2c32983242d..98ac0546b7bd 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c | |||
@@ -1626,6 +1626,7 @@ static const struct drm_encoder_helper_funcs intel_tv_helper_funcs = { | |||
1626 | }; | 1626 | }; |
1627 | 1627 | ||
1628 | static const struct drm_connector_funcs intel_tv_connector_funcs = { | 1628 | static const struct drm_connector_funcs intel_tv_connector_funcs = { |
1629 | .dpms = drm_helper_connector_dpms, | ||
1629 | .save = intel_tv_save, | 1630 | .save = intel_tv_save, |
1630 | .restore = intel_tv_restore, | 1631 | .restore = intel_tv_restore, |
1631 | .detect = intel_tv_detect, | 1632 | .detect = intel_tv_detect, |
diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c index 77a7a4d84650..aff90bb96488 100644 --- a/drivers/gpu/drm/radeon/radeon_cp.c +++ b/drivers/gpu/drm/radeon/radeon_cp.c | |||
@@ -2185,9 +2185,9 @@ void radeon_commit_ring(drm_radeon_private_t *dev_priv) | |||
2185 | 2185 | ||
2186 | /* check if the ring is padded out to 16-dword alignment */ | 2186 | /* check if the ring is padded out to 16-dword alignment */ |
2187 | 2187 | ||
2188 | tail_aligned = dev_priv->ring.tail & 0xf; | 2188 | tail_aligned = dev_priv->ring.tail & (RADEON_RING_ALIGN-1); |
2189 | if (tail_aligned) { | 2189 | if (tail_aligned) { |
2190 | int num_p2 = 16 - tail_aligned; | 2190 | int num_p2 = RADEON_RING_ALIGN - tail_aligned; |
2191 | 2191 | ||
2192 | ring = dev_priv->ring.start; | 2192 | ring = dev_priv->ring.start; |
2193 | /* pad with some CP_PACKET2 */ | 2193 | /* pad with some CP_PACKET2 */ |
diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h index 8071d965f142..0c6bfc1de153 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.h +++ b/drivers/gpu/drm/radeon/radeon_drv.h | |||
@@ -1964,11 +1964,14 @@ do { \ | |||
1964 | 1964 | ||
1965 | #define RING_LOCALS int write, _nr, _align_nr; unsigned int mask; u32 *ring; | 1965 | #define RING_LOCALS int write, _nr, _align_nr; unsigned int mask; u32 *ring; |
1966 | 1966 | ||
1967 | #define RADEON_RING_ALIGN 16 | ||
1968 | |||
1967 | #define BEGIN_RING( n ) do { \ | 1969 | #define BEGIN_RING( n ) do { \ |
1968 | if ( RADEON_VERBOSE ) { \ | 1970 | if ( RADEON_VERBOSE ) { \ |
1969 | DRM_INFO( "BEGIN_RING( %d )\n", (n)); \ | 1971 | DRM_INFO( "BEGIN_RING( %d )\n", (n)); \ |
1970 | } \ | 1972 | } \ |
1971 | _align_nr = (n + 0xf) & ~0xf; \ | 1973 | _align_nr = RADEON_RING_ALIGN - ((dev_priv->ring.tail + n) & (RADEON_RING_ALIGN-1)); \ |
1974 | _align_nr += n; \ | ||
1972 | if (dev_priv->ring.space <= (_align_nr * sizeof(u32))) { \ | 1975 | if (dev_priv->ring.space <= (_align_nr * sizeof(u32))) { \ |
1973 | COMMIT_RING(); \ | 1976 | COMMIT_RING(); \ |
1974 | radeon_wait_ring( dev_priv, _align_nr * sizeof(u32)); \ | 1977 | radeon_wait_ring( dev_priv, _align_nr * sizeof(u32)); \ |
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index aa1b995dd033..4d5ee2bbc62b 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h | |||
@@ -113,6 +113,11 @@ | |||
113 | #define USB_VENDOR_ID_BERKSHIRE 0x0c98 | 113 | #define USB_VENDOR_ID_BERKSHIRE 0x0c98 |
114 | #define USB_DEVICE_ID_BERKSHIRE_PCWD 0x1140 | 114 | #define USB_DEVICE_ID_BERKSHIRE_PCWD 0x1140 |
115 | 115 | ||
116 | #define USB_VENDOR_ID_CH 0x068e | ||
117 | #define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2 | ||
118 | #define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4 | ||
119 | #define USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE 0x00ff | ||
120 | |||
116 | #define USB_VENDOR_ID_CHERRY 0x046a | 121 | #define USB_VENDOR_ID_CHERRY 0x046a |
117 | #define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023 | 122 | #define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023 |
118 | 123 | ||
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 900ce18dd549..ac8049b5f1e9 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c | |||
@@ -898,7 +898,7 @@ static int usbhid_parse(struct hid_device *hid) | |||
898 | goto err; | 898 | goto err; |
899 | } | 899 | } |
900 | 900 | ||
901 | hid->quirks = quirks; | 901 | hid->quirks |= quirks; |
902 | 902 | ||
903 | return 0; | 903 | return 0; |
904 | err: | 904 | err: |
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 4391717d2519..d8f7423f363e 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c | |||
@@ -50,6 +50,9 @@ static const struct hid_blacklist { | |||
50 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, HID_QUIRK_NOGET }, | 50 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, HID_QUIRK_NOGET }, |
51 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET }, | 51 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET }, |
52 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, | 52 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, |
53 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_COMBATSTICK, HID_QUIRK_NOGET }, | ||
54 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE, HID_QUIRK_NOGET }, | ||
55 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET }, | ||
53 | { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, | 56 | { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, |
54 | { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, | 57 | { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, |
55 | { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET }, | 58 | { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET }, |
diff --git a/drivers/hwmon/lm78.c b/drivers/hwmon/lm78.c index b5e3b2851698..a1787fdf5b9f 100644 --- a/drivers/hwmon/lm78.c +++ b/drivers/hwmon/lm78.c | |||
@@ -182,7 +182,7 @@ static struct platform_driver lm78_isa_driver = { | |||
182 | .name = "lm78", | 182 | .name = "lm78", |
183 | }, | 183 | }, |
184 | .probe = lm78_isa_probe, | 184 | .probe = lm78_isa_probe, |
185 | .remove = lm78_isa_remove, | 185 | .remove = __devexit_p(lm78_isa_remove), |
186 | }; | 186 | }; |
187 | 187 | ||
188 | 188 | ||
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index a48c8aee0218..f1c6ca7e2852 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig | |||
@@ -467,7 +467,7 @@ config I2C_PXA_SLAVE | |||
467 | 467 | ||
468 | config I2C_S3C2410 | 468 | config I2C_S3C2410 |
469 | tristate "S3C2410 I2C Driver" | 469 | tristate "S3C2410 I2C Driver" |
470 | depends on ARCH_S3C2410 | 470 | depends on ARCH_S3C2410 || ARCH_S3C64XX |
471 | help | 471 | help |
472 | Say Y here to include support for I2C controller in the | 472 | Say Y here to include support for I2C controller in the |
473 | Samsung S3C2410 based System-on-Chip devices. | 473 | Samsung S3C2410 based System-on-Chip devices. |
diff --git a/drivers/i2c/busses/i2c-cpm.c b/drivers/i2c/busses/i2c-cpm.c index 3fcf78e906db..b5db8b883615 100644 --- a/drivers/i2c/busses/i2c-cpm.c +++ b/drivers/i2c/busses/i2c-cpm.c | |||
@@ -531,16 +531,16 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm) | |||
531 | rbdf = cpm->rbase; | 531 | rbdf = cpm->rbase; |
532 | 532 | ||
533 | for (i = 0; i < CPM_MAXBD; i++) { | 533 | for (i = 0; i < CPM_MAXBD; i++) { |
534 | cpm->rxbuf[i] = dma_alloc_coherent( | 534 | cpm->rxbuf[i] = dma_alloc_coherent(&cpm->ofdev->dev, |
535 | NULL, CPM_MAX_READ + 1, &cpm->rxdma[i], GFP_KERNEL); | 535 | CPM_MAX_READ + 1, |
536 | &cpm->rxdma[i], GFP_KERNEL); | ||
536 | if (!cpm->rxbuf[i]) { | 537 | if (!cpm->rxbuf[i]) { |
537 | ret = -ENOMEM; | 538 | ret = -ENOMEM; |
538 | goto out_muram; | 539 | goto out_muram; |
539 | } | 540 | } |
540 | out_be32(&rbdf[i].cbd_bufaddr, ((cpm->rxdma[i] + 1) & ~1)); | 541 | out_be32(&rbdf[i].cbd_bufaddr, ((cpm->rxdma[i] + 1) & ~1)); |
541 | 542 | ||
542 | cpm->txbuf[i] = (unsigned char *)dma_alloc_coherent( | 543 | cpm->txbuf[i] = (unsigned char *)dma_alloc_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, &cpm->txdma[i], GFP_KERNEL); |
543 | NULL, CPM_MAX_READ + 1, &cpm->txdma[i], GFP_KERNEL); | ||
544 | if (!cpm->txbuf[i]) { | 544 | if (!cpm->txbuf[i]) { |
545 | ret = -ENOMEM; | 545 | ret = -ENOMEM; |
546 | goto out_muram; | 546 | goto out_muram; |
@@ -585,10 +585,10 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm) | |||
585 | out_muram: | 585 | out_muram: |
586 | for (i = 0; i < CPM_MAXBD; i++) { | 586 | for (i = 0; i < CPM_MAXBD; i++) { |
587 | if (cpm->rxbuf[i]) | 587 | if (cpm->rxbuf[i]) |
588 | dma_free_coherent(NULL, CPM_MAX_READ + 1, | 588 | dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, |
589 | cpm->rxbuf[i], cpm->rxdma[i]); | 589 | cpm->rxbuf[i], cpm->rxdma[i]); |
590 | if (cpm->txbuf[i]) | 590 | if (cpm->txbuf[i]) |
591 | dma_free_coherent(NULL, CPM_MAX_READ + 1, | 591 | dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, |
592 | cpm->txbuf[i], cpm->txdma[i]); | 592 | cpm->txbuf[i], cpm->txdma[i]); |
593 | } | 593 | } |
594 | cpm_muram_free(cpm->dp_addr); | 594 | cpm_muram_free(cpm->dp_addr); |
@@ -619,9 +619,9 @@ static void cpm_i2c_shutdown(struct cpm_i2c *cpm) | |||
619 | 619 | ||
620 | /* Free all memory */ | 620 | /* Free all memory */ |
621 | for (i = 0; i < CPM_MAXBD; i++) { | 621 | for (i = 0; i < CPM_MAXBD; i++) { |
622 | dma_free_coherent(NULL, CPM_MAX_READ + 1, | 622 | dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, |
623 | cpm->rxbuf[i], cpm->rxdma[i]); | 623 | cpm->rxbuf[i], cpm->rxdma[i]); |
624 | dma_free_coherent(NULL, CPM_MAX_READ + 1, | 624 | dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, |
625 | cpm->txbuf[i], cpm->txdma[i]); | 625 | cpm->txbuf[i], cpm->txdma[i]); |
626 | } | 626 | } |
627 | 627 | ||
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c index 4af5c09f0e8f..dd778d7ae047 100644 --- a/drivers/i2c/busses/i2c-mpc.c +++ b/drivers/i2c/busses/i2c-mpc.c | |||
@@ -164,7 +164,7 @@ static int i2c_wait(struct mpc_i2c *i2c, unsigned timeout, int writing) | |||
164 | return 0; | 164 | return 0; |
165 | } | 165 | } |
166 | 166 | ||
167 | #ifdef CONFIG_PPC_52xx | 167 | #ifdef CONFIG_PPC_MPC52xx |
168 | static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = { | 168 | static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = { |
169 | {20, 0x20}, {22, 0x21}, {24, 0x22}, {26, 0x23}, | 169 | {20, 0x20}, {22, 0x21}, {24, 0x22}, {26, 0x23}, |
170 | {28, 0x24}, {30, 0x01}, {32, 0x25}, {34, 0x02}, | 170 | {28, 0x24}, {30, 0x01}, {32, 0x25}, {34, 0x02}, |
@@ -188,7 +188,7 @@ static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = { | |||
188 | 188 | ||
189 | int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler) | 189 | int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler) |
190 | { | 190 | { |
191 | const struct mpc52xx_i2c_divider *div = NULL; | 191 | const struct mpc_i2c_divider *div = NULL; |
192 | unsigned int pvr = mfspr(SPRN_PVR); | 192 | unsigned int pvr = mfspr(SPRN_PVR); |
193 | u32 divider; | 193 | u32 divider; |
194 | int i; | 194 | int i; |
@@ -203,7 +203,7 @@ int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler) | |||
203 | * We want to choose an FDR/DFSR that generates an I2C bus speed that | 203 | * We want to choose an FDR/DFSR that generates an I2C bus speed that |
204 | * is equal to or lower than the requested speed. | 204 | * is equal to or lower than the requested speed. |
205 | */ | 205 | */ |
206 | for (i = 0; i < ARRAY_SIZE(mpc52xx_i2c_dividers); i++) { | 206 | for (i = 0; i < ARRAY_SIZE(mpc_i2c_dividers_52xx); i++) { |
207 | div = &mpc_i2c_dividers_52xx[i]; | 207 | div = &mpc_i2c_dividers_52xx[i]; |
208 | /* Old MPC5200 rev A CPUs do not support the high bits */ | 208 | /* Old MPC5200 rev A CPUs do not support the high bits */ |
209 | if (div->fdr & 0xc0 && pvr == 0x80822011) | 209 | if (div->fdr & 0xc0 && pvr == 0x80822011) |
@@ -219,20 +219,23 @@ static void mpc_i2c_setclock_52xx(struct device_node *node, | |||
219 | struct mpc_i2c *i2c, | 219 | struct mpc_i2c *i2c, |
220 | u32 clock, u32 prescaler) | 220 | u32 clock, u32 prescaler) |
221 | { | 221 | { |
222 | int fdr = mpc52xx_i2c_get_fdr(node, clock, prescaler); | 222 | int ret, fdr; |
223 | |||
224 | ret = mpc_i2c_get_fdr_52xx(node, clock, prescaler); | ||
225 | fdr = (ret >= 0) ? ret : 0x3f; /* backward compatibility */ | ||
223 | 226 | ||
224 | if (fdr < 0) | ||
225 | fdr = 0x3f; /* backward compatibility */ | ||
226 | writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR); | 227 | writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR); |
227 | dev_info(i2c->dev, "clock %d Hz (fdr=%d)\n", clock, fdr); | 228 | |
229 | if (ret >= 0) | ||
230 | dev_info(i2c->dev, "clock %d Hz (fdr=%d)\n", clock, fdr); | ||
228 | } | 231 | } |
229 | #else /* !CONFIG_PPC_52xx */ | 232 | #else /* !CONFIG_PPC_MPC52xx */ |
230 | static void mpc_i2c_setclock_52xx(struct device_node *node, | 233 | static void mpc_i2c_setclock_52xx(struct device_node *node, |
231 | struct mpc_i2c *i2c, | 234 | struct mpc_i2c *i2c, |
232 | u32 clock, u32 prescaler) | 235 | u32 clock, u32 prescaler) |
233 | { | 236 | { |
234 | } | 237 | } |
235 | #endif /* CONFIG_PPC_52xx*/ | 238 | #endif /* CONFIG_PPC_MPC52xx*/ |
236 | 239 | ||
237 | #ifdef CONFIG_FSL_SOC | 240 | #ifdef CONFIG_FSL_SOC |
238 | static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] = { | 241 | static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] = { |
@@ -321,14 +324,17 @@ static void mpc_i2c_setclock_8xxx(struct device_node *node, | |||
321 | struct mpc_i2c *i2c, | 324 | struct mpc_i2c *i2c, |
322 | u32 clock, u32 prescaler) | 325 | u32 clock, u32 prescaler) |
323 | { | 326 | { |
324 | int fdr = mpc_i2c_get_fdr_8xxx(node, clock, prescaler); | 327 | int ret, fdr; |
328 | |||
329 | ret = mpc_i2c_get_fdr_8xxx(node, clock, prescaler); | ||
330 | fdr = (ret >= 0) ? ret : 0x1031; /* backward compatibility */ | ||
325 | 331 | ||
326 | if (fdr < 0) | ||
327 | fdr = 0x1031; /* backward compatibility */ | ||
328 | writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR); | 332 | writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR); |
329 | writeb((fdr >> 8) & 0xff, i2c->base + MPC_I2C_DFSRR); | 333 | writeb((fdr >> 8) & 0xff, i2c->base + MPC_I2C_DFSRR); |
330 | dev_info(i2c->dev, "clock %d Hz (dfsrr=%d fdr=%d)\n", | 334 | |
331 | clock, fdr >> 8, fdr & 0xff); | 335 | if (ret >= 0) |
336 | dev_info(i2c->dev, "clock %d Hz (dfsrr=%d fdr=%d)\n", | ||
337 | clock, fdr >> 8, fdr & 0xff); | ||
332 | } | 338 | } |
333 | 339 | ||
334 | #else /* !CONFIG_FSL_SOC */ | 340 | #else /* !CONFIG_FSL_SOC */ |
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index c1405c8f6ba5..acc7143d9655 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c | |||
@@ -265,10 +265,10 @@ static int i2c_pxa_wait_bus_not_busy(struct pxa_i2c *i2c) | |||
265 | show_state(i2c); | 265 | show_state(i2c); |
266 | } | 266 | } |
267 | 267 | ||
268 | if (timeout <= 0) | 268 | if (timeout < 0) |
269 | show_state(i2c); | 269 | show_state(i2c); |
270 | 270 | ||
271 | return timeout <= 0 ? I2C_RETRY : 0; | 271 | return timeout < 0 ? I2C_RETRY : 0; |
272 | } | 272 | } |
273 | 273 | ||
274 | static int i2c_pxa_wait_master(struct pxa_i2c *i2c) | 274 | static int i2c_pxa_wait_master(struct pxa_i2c *i2c) |
@@ -612,7 +612,7 @@ static int i2c_pxa_pio_set_master(struct pxa_i2c *i2c) | |||
612 | show_state(i2c); | 612 | show_state(i2c); |
613 | } | 613 | } |
614 | 614 | ||
615 | if (timeout <= 0) { | 615 | if (timeout < 0) { |
616 | show_state(i2c); | 616 | show_state(i2c); |
617 | dev_err(&i2c->adap.dev, | 617 | dev_err(&i2c->adap.dev, |
618 | "i2c_pxa: timeout waiting for bus free\n"); | 618 | "i2c_pxa: timeout waiting for bus free\n"); |
diff --git a/drivers/ide/icside.c b/drivers/ide/icside.c index 4e16ce68b063..36da913cc553 100644 --- a/drivers/ide/icside.c +++ b/drivers/ide/icside.c | |||
@@ -466,7 +466,7 @@ icside_register_v6(struct icside_state *state, struct expansion_card *ec) | |||
466 | struct ide_host *host; | 466 | struct ide_host *host; |
467 | unsigned int sel = 0; | 467 | unsigned int sel = 0; |
468 | int ret; | 468 | int ret; |
469 | hw_regs_t hw[2], *hws[] = { &hw[0], NULL, NULL, NULL }; | 469 | hw_regs_t hw[2], *hws[] = { &hw[0], &hw[1], NULL, NULL }; |
470 | struct ide_port_info d = icside_v6_port_info; | 470 | struct ide_port_info d = icside_v6_port_info; |
471 | 471 | ||
472 | ioc_base = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0); | 472 | ioc_base = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0); |
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 35dc38d3b2c5..6415a2e2ba87 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -696,7 +696,7 @@ void ide_timer_expiry (unsigned long data) | |||
696 | } | 696 | } |
697 | spin_lock_irq(&hwif->lock); | 697 | spin_lock_irq(&hwif->lock); |
698 | enable_irq(hwif->irq); | 698 | enable_irq(hwif->irq); |
699 | if (startstop == ide_stopped) { | 699 | if (startstop == ide_stopped && hwif->polling == 0) { |
700 | ide_unlock_port(hwif); | 700 | ide_unlock_port(hwif); |
701 | plug_device = 1; | 701 | plug_device = 1; |
702 | } | 702 | } |
@@ -868,7 +868,7 @@ irqreturn_t ide_intr (int irq, void *dev_id) | |||
868 | * same irq as is currently being serviced here, and Linux | 868 | * same irq as is currently being serviced here, and Linux |
869 | * won't allow another of the same (on any CPU) until we return. | 869 | * won't allow another of the same (on any CPU) until we return. |
870 | */ | 870 | */ |
871 | if (startstop == ide_stopped) { | 871 | if (startstop == ide_stopped && hwif->polling == 0) { |
872 | BUG_ON(hwif->handler); | 872 | BUG_ON(hwif->handler); |
873 | ide_unlock_port(hwif); | 873 | ide_unlock_port(hwif); |
874 | plug_device = 1; | 874 | plug_device = 1; |
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index c19a221b1e18..06fe002116ec 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
@@ -206,8 +206,6 @@ EXPORT_SYMBOL_GPL(ide_in_drive_list); | |||
206 | 206 | ||
207 | /* | 207 | /* |
208 | * Early UDMA66 devices don't set bit14 to 1, only bit13 is valid. | 208 | * Early UDMA66 devices don't set bit14 to 1, only bit13 is valid. |
209 | * We list them here and depend on the device side cable detection for them. | ||
210 | * | ||
211 | * Some optical devices with the buggy firmwares have the same problem. | 209 | * Some optical devices with the buggy firmwares have the same problem. |
212 | */ | 210 | */ |
213 | static const struct drive_list_entry ivb_list[] = { | 211 | static const struct drive_list_entry ivb_list[] = { |
@@ -251,10 +249,25 @@ u8 eighty_ninty_three(ide_drive_t *drive) | |||
251 | * - force bit13 (80c cable present) check also for !ivb devices | 249 | * - force bit13 (80c cable present) check also for !ivb devices |
252 | * (unless the slave device is pre-ATA3) | 250 | * (unless the slave device is pre-ATA3) |
253 | */ | 251 | */ |
254 | if ((id[ATA_ID_HW_CONFIG] & 0x4000) || | 252 | if (id[ATA_ID_HW_CONFIG] & 0x4000) |
255 | (ivb && (id[ATA_ID_HW_CONFIG] & 0x2000))) | ||
256 | return 1; | 253 | return 1; |
257 | 254 | ||
255 | if (ivb) { | ||
256 | const char *model = (char *)&id[ATA_ID_PROD]; | ||
257 | |||
258 | if (strstr(model, "TSSTcorp CDDVDW SH-S202")) { | ||
259 | /* | ||
260 | * These ATAPI devices always report 80c cable | ||
261 | * so we have to depend on the host in this case. | ||
262 | */ | ||
263 | if (hwif->cbl == ATA_CBL_PATA80) | ||
264 | return 1; | ||
265 | } else { | ||
266 | /* Depend on the device side cable detection. */ | ||
267 | if (id[ATA_ID_HW_CONFIG] & 0x2000) | ||
268 | return 1; | ||
269 | } | ||
270 | } | ||
258 | no_80w: | 271 | no_80w: |
259 | if (drive->dev_flags & IDE_DFLAG_UDMA33_WARNED) | 272 | if (drive->dev_flags & IDE_DFLAG_UDMA33_WARNED) |
260 | return 0; | 273 | return 0; |
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c index 56ff8c46c7d1..2148df836ce7 100644 --- a/drivers/ide/ide-lib.c +++ b/drivers/ide/ide-lib.c | |||
@@ -31,24 +31,6 @@ void ide_toggle_bounce(ide_drive_t *drive, int on) | |||
31 | blk_queue_bounce_limit(drive->queue, addr); | 31 | blk_queue_bounce_limit(drive->queue, addr); |
32 | } | 32 | } |
33 | 33 | ||
34 | static void ide_dump_opcode(ide_drive_t *drive) | ||
35 | { | ||
36 | struct request *rq = drive->hwif->rq; | ||
37 | struct ide_cmd *cmd = NULL; | ||
38 | |||
39 | if (!rq) | ||
40 | return; | ||
41 | |||
42 | if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE) | ||
43 | cmd = rq->special; | ||
44 | |||
45 | printk(KERN_ERR "ide: failed opcode was: "); | ||
46 | if (cmd == NULL) | ||
47 | printk(KERN_CONT "unknown\n"); | ||
48 | else | ||
49 | printk(KERN_CONT "0x%02x\n", cmd->tf.command); | ||
50 | } | ||
51 | |||
52 | u64 ide_get_lba_addr(struct ide_cmd *cmd, int lba48) | 34 | u64 ide_get_lba_addr(struct ide_cmd *cmd, int lba48) |
53 | { | 35 | { |
54 | struct ide_taskfile *tf = &cmd->tf; | 36 | struct ide_taskfile *tf = &cmd->tf; |
@@ -91,7 +73,7 @@ static void ide_dump_sector(ide_drive_t *drive) | |||
91 | 73 | ||
92 | static void ide_dump_ata_error(ide_drive_t *drive, u8 err) | 74 | static void ide_dump_ata_error(ide_drive_t *drive, u8 err) |
93 | { | 75 | { |
94 | printk(KERN_ERR "{ "); | 76 | printk(KERN_CONT "{ "); |
95 | if (err & ATA_ABORTED) | 77 | if (err & ATA_ABORTED) |
96 | printk(KERN_CONT "DriveStatusError "); | 78 | printk(KERN_CONT "DriveStatusError "); |
97 | if (err & ATA_ICRC) | 79 | if (err & ATA_ICRC) |
@@ -121,7 +103,7 @@ static void ide_dump_ata_error(ide_drive_t *drive, u8 err) | |||
121 | 103 | ||
122 | static void ide_dump_atapi_error(ide_drive_t *drive, u8 err) | 104 | static void ide_dump_atapi_error(ide_drive_t *drive, u8 err) |
123 | { | 105 | { |
124 | printk(KERN_ERR "{ "); | 106 | printk(KERN_CONT "{ "); |
125 | if (err & ATAPI_ILI) | 107 | if (err & ATAPI_ILI) |
126 | printk(KERN_CONT "IllegalLengthIndication "); | 108 | printk(KERN_CONT "IllegalLengthIndication "); |
127 | if (err & ATAPI_EOM) | 109 | if (err & ATAPI_EOM) |
@@ -179,7 +161,10 @@ u8 ide_dump_status(ide_drive_t *drive, const char *msg, u8 stat) | |||
179 | else | 161 | else |
180 | ide_dump_atapi_error(drive, err); | 162 | ide_dump_atapi_error(drive, err); |
181 | } | 163 | } |
182 | ide_dump_opcode(drive); | 164 | |
165 | printk(KERN_ERR "%s: possibly failed opcode: 0x%02x\n", | ||
166 | drive->name, drive->hwif->cmd.tf.command); | ||
167 | |||
183 | return err; | 168 | return err; |
184 | } | 169 | } |
185 | EXPORT_SYMBOL(ide_dump_status); | 170 | EXPORT_SYMBOL(ide_dump_status); |
diff --git a/drivers/ide/ide-pci-generic.c b/drivers/ide/ide-pci-generic.c index 61111fd27130..39d4e01f5c9c 100644 --- a/drivers/ide/ide-pci-generic.c +++ b/drivers/ide/ide-pci-generic.c | |||
@@ -33,6 +33,16 @@ static int ide_generic_all; /* Set to claim all devices */ | |||
33 | module_param_named(all_generic_ide, ide_generic_all, bool, 0444); | 33 | module_param_named(all_generic_ide, ide_generic_all, bool, 0444); |
34 | MODULE_PARM_DESC(all_generic_ide, "IDE generic will claim all unknown PCI IDE storage controllers."); | 34 | MODULE_PARM_DESC(all_generic_ide, "IDE generic will claim all unknown PCI IDE storage controllers."); |
35 | 35 | ||
36 | static void netcell_quirkproc(ide_drive_t *drive) | ||
37 | { | ||
38 | /* mark words 85-87 as valid */ | ||
39 | drive->id[ATA_ID_CSF_DEFAULT] |= 0x4000; | ||
40 | } | ||
41 | |||
42 | static const struct ide_port_ops netcell_port_ops = { | ||
43 | .quirkproc = netcell_quirkproc, | ||
44 | }; | ||
45 | |||
36 | #define DECLARE_GENERIC_PCI_DEV(extra_flags) \ | 46 | #define DECLARE_GENERIC_PCI_DEV(extra_flags) \ |
37 | { \ | 47 | { \ |
38 | .name = DRV_NAME, \ | 48 | .name = DRV_NAME, \ |
@@ -74,6 +84,7 @@ static const struct ide_port_info generic_chipsets[] __devinitdata = { | |||
74 | 84 | ||
75 | { /* 6: Revolution */ | 85 | { /* 6: Revolution */ |
76 | .name = DRV_NAME, | 86 | .name = DRV_NAME, |
87 | .port_ops = &netcell_port_ops, | ||
77 | .host_flags = IDE_HFLAG_CLEAR_SIMPLEX | | 88 | .host_flags = IDE_HFLAG_CLEAR_SIMPLEX | |
78 | IDE_HFLAG_TRUST_BIOS_FOR_DMA | | 89 | IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
79 | IDE_HFLAG_OFF_BOARD, | 90 | IDE_HFLAG_OFF_BOARD, |
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index 7f264ed1141b..c895ed52b2e8 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c | |||
@@ -295,7 +295,7 @@ int ide_dev_read_id(ide_drive_t *drive, u8 cmd, u16 *id) | |||
295 | 295 | ||
296 | timeout = ((cmd == ATA_CMD_ID_ATA) ? WAIT_WORSTCASE : WAIT_PIDENTIFY) / 2; | 296 | timeout = ((cmd == ATA_CMD_ID_ATA) ? WAIT_WORSTCASE : WAIT_PIDENTIFY) / 2; |
297 | 297 | ||
298 | if (ide_busy_sleep(hwif, timeout, use_altstatus)) | 298 | if (ide_busy_sleep(drive, timeout, use_altstatus)) |
299 | return 1; | 299 | return 1; |
300 | 300 | ||
301 | /* wait for IRQ and ATA_DRQ */ | 301 | /* wait for IRQ and ATA_DRQ */ |
@@ -316,8 +316,9 @@ int ide_dev_read_id(ide_drive_t *drive, u8 cmd, u16 *id) | |||
316 | return rc; | 316 | return rc; |
317 | } | 317 | } |
318 | 318 | ||
319 | int ide_busy_sleep(ide_hwif_t *hwif, unsigned long timeout, int altstatus) | 319 | int ide_busy_sleep(ide_drive_t *drive, unsigned long timeout, int altstatus) |
320 | { | 320 | { |
321 | ide_hwif_t *hwif = drive->hwif; | ||
321 | u8 stat; | 322 | u8 stat; |
322 | 323 | ||
323 | timeout += jiffies; | 324 | timeout += jiffies; |
@@ -330,6 +331,8 @@ int ide_busy_sleep(ide_hwif_t *hwif, unsigned long timeout, int altstatus) | |||
330 | return 0; | 331 | return 0; |
331 | } while (time_before(jiffies, timeout)); | 332 | } while (time_before(jiffies, timeout)); |
332 | 333 | ||
334 | printk(KERN_ERR "%s: timeout in %s\n", drive->name, __func__); | ||
335 | |||
333 | return 1; /* drive timed-out */ | 336 | return 1; /* drive timed-out */ |
334 | } | 337 | } |
335 | 338 | ||
@@ -420,7 +423,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd) | |||
420 | tp_ops->dev_select(drive); | 423 | tp_ops->dev_select(drive); |
421 | msleep(50); | 424 | msleep(50); |
422 | tp_ops->exec_command(hwif, ATA_CMD_DEV_RESET); | 425 | tp_ops->exec_command(hwif, ATA_CMD_DEV_RESET); |
423 | (void)ide_busy_sleep(hwif, WAIT_WORSTCASE, 0); | 426 | (void)ide_busy_sleep(drive, WAIT_WORSTCASE, 0); |
424 | rc = ide_dev_read_id(drive, cmd, id); | 427 | rc = ide_dev_read_id(drive, cmd, id); |
425 | } | 428 | } |
426 | 429 | ||
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index cb942a9b580f..3a53e0834cf7 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c | |||
@@ -614,12 +614,6 @@ static ide_startstop_t ide_tape_issue_pc(ide_drive_t *drive, | |||
614 | { | 614 | { |
615 | idetape_tape_t *tape = drive->driver_data; | 615 | idetape_tape_t *tape = drive->driver_data; |
616 | 616 | ||
617 | if (drive->pc->c[0] == REQUEST_SENSE && | ||
618 | pc->c[0] == REQUEST_SENSE) { | ||
619 | printk(KERN_ERR "ide-tape: possible ide-tape.c bug - " | ||
620 | "Two request sense in serial were issued\n"); | ||
621 | } | ||
622 | |||
623 | if (drive->failed_pc == NULL && pc->c[0] != REQUEST_SENSE) | 617 | if (drive->failed_pc == NULL && pc->c[0] != REQUEST_SENSE) |
624 | drive->failed_pc = pc; | 618 | drive->failed_pc = pc; |
625 | 619 | ||
diff --git a/drivers/ide/piix.c b/drivers/ide/piix.c index 2aa699933064..69860dea3820 100644 --- a/drivers/ide/piix.c +++ b/drivers/ide/piix.c | |||
@@ -263,6 +263,7 @@ static const struct ich_laptop ich_laptop[] = { | |||
263 | { 0x24CA, 0x1025, 0x003d }, /* ICH4 on ACER TM290 */ | 263 | { 0x24CA, 0x1025, 0x003d }, /* ICH4 on ACER TM290 */ |
264 | { 0x266F, 0x1025, 0x0066 }, /* ICH6 on ACER Aspire 1694WLMi */ | 264 | { 0x266F, 0x1025, 0x0066 }, /* ICH6 on ACER Aspire 1694WLMi */ |
265 | { 0x2653, 0x1043, 0x82D8 }, /* ICH6M on Asus Eee 701 */ | 265 | { 0x2653, 0x1043, 0x82D8 }, /* ICH6M on Asus Eee 701 */ |
266 | { 0x27df, 0x104d, 0x900e }, /* ICH7 on Sony TZ-90 */ | ||
266 | /* end marker */ | 267 | /* end marker */ |
267 | { 0, } | 268 | { 0, } |
268 | }; | 269 | }; |
diff --git a/drivers/ide/via82cxxx.c b/drivers/ide/via82cxxx.c index 3ff7231e4858..028de26a25fe 100644 --- a/drivers/ide/via82cxxx.c +++ b/drivers/ide/via82cxxx.c | |||
@@ -67,6 +67,7 @@ static struct via_isa_bridge { | |||
67 | u8 udma_mask; | 67 | u8 udma_mask; |
68 | u8 flags; | 68 | u8 flags; |
69 | } via_isa_bridges[] = { | 69 | } via_isa_bridges[] = { |
70 | { "vx855", PCI_DEVICE_ID_VIA_VX855, 0x00, 0x2f, ATA_UDMA6, VIA_BAD_AST }, | ||
70 | { "vx800", PCI_DEVICE_ID_VIA_VX800, 0x00, 0x2f, ATA_UDMA6, VIA_BAD_AST }, | 71 | { "vx800", PCI_DEVICE_ID_VIA_VX800, 0x00, 0x2f, ATA_UDMA6, VIA_BAD_AST }, |
71 | { "cx700", PCI_DEVICE_ID_VIA_CX700, 0x00, 0x2f, ATA_UDMA6, VIA_BAD_AST }, | 72 | { "cx700", PCI_DEVICE_ID_VIA_CX700, 0x00, 0x2f, ATA_UDMA6, VIA_BAD_AST }, |
72 | { "vt8237s", PCI_DEVICE_ID_VIA_8237S, 0x00, 0x2f, ATA_UDMA6, VIA_BAD_AST }, | 73 | { "vt8237s", PCI_DEVICE_ID_VIA_8237S, 0x00, 0x2f, ATA_UDMA6, VIA_BAD_AST }, |
@@ -474,6 +475,7 @@ static const struct pci_device_id via_pci_tbl[] = { | |||
474 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_82C576_1), 0 }, | 475 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_82C576_1), 0 }, |
475 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_82C586_1), 0 }, | 476 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_82C586_1), 0 }, |
476 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_CX700_IDE), 0 }, | 477 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_CX700_IDE), 0 }, |
478 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_VX855_IDE), 0 }, | ||
477 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_6410), 1 }, | 479 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_6410), 1 }, |
478 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_SATA_EIDE), 1 }, | 480 | { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_SATA_EIDE), 1 }, |
479 | { 0, }, | 481 | { 0, }, |
diff --git a/drivers/idle/i7300_idle.c b/drivers/idle/i7300_idle.c index bf740394d704..949c97ff57e3 100644 --- a/drivers/idle/i7300_idle.c +++ b/drivers/idle/i7300_idle.c | |||
@@ -41,6 +41,10 @@ static int debug; | |||
41 | module_param_named(debug, debug, uint, 0644); | 41 | module_param_named(debug, debug, uint, 0644); |
42 | MODULE_PARM_DESC(debug, "Enable debug printks in this driver"); | 42 | MODULE_PARM_DESC(debug, "Enable debug printks in this driver"); |
43 | 43 | ||
44 | static int forceload; | ||
45 | module_param_named(forceload, forceload, uint, 0644); | ||
46 | MODULE_PARM_DESC(debug, "Enable driver testing on unvalidated i5000"); | ||
47 | |||
44 | #define dprintk(fmt, arg...) \ | 48 | #define dprintk(fmt, arg...) \ |
45 | do { if (debug) printk(KERN_INFO I7300_PRINT fmt, ##arg); } while (0) | 49 | do { if (debug) printk(KERN_INFO I7300_PRINT fmt, ##arg); } while (0) |
46 | 50 | ||
@@ -552,7 +556,7 @@ static int __init i7300_idle_init(void) | |||
552 | cpus_clear(idle_cpumask); | 556 | cpus_clear(idle_cpumask); |
553 | total_us = 0; | 557 | total_us = 0; |
554 | 558 | ||
555 | if (i7300_idle_platform_probe(&fbd_dev, &ioat_dev)) | 559 | if (i7300_idle_platform_probe(&fbd_dev, &ioat_dev, forceload)) |
556 | return -ENODEV; | 560 | return -ENODEV; |
557 | 561 | ||
558 | if (i7300_idle_thrt_save()) | 562 | if (i7300_idle_thrt_save()) |
diff --git a/drivers/infiniband/hw/cxgb3/cxio_hal.c b/drivers/infiniband/hw/cxgb3/cxio_hal.c index 8d71086f5a1c..62f9cf2f94ec 100644 --- a/drivers/infiniband/hw/cxgb3/cxio_hal.c +++ b/drivers/infiniband/hw/cxgb3/cxio_hal.c | |||
@@ -410,6 +410,7 @@ int cxio_flush_sq(struct t3_wq *wq, struct t3_cq *cq, int count) | |||
410 | ptr = wq->sq_rptr + count; | 410 | ptr = wq->sq_rptr + count; |
411 | sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2); | 411 | sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2); |
412 | while (ptr != wq->sq_wptr) { | 412 | while (ptr != wq->sq_wptr) { |
413 | sqp->signaled = 0; | ||
413 | insert_sq_cqe(wq, cq, sqp); | 414 | insert_sq_cqe(wq, cq, sqp); |
414 | ptr++; | 415 | ptr++; |
415 | sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2); | 416 | sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2); |
diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c index 8dc2bb781605..b3684060465e 100644 --- a/drivers/infiniband/hw/ipath/ipath_fs.c +++ b/drivers/infiniband/hw/ipath/ipath_fs.c | |||
@@ -347,7 +347,7 @@ static int ipathfs_fill_super(struct super_block *sb, void *data, | |||
347 | spin_unlock_irqrestore(&ipath_devs_lock, flags); | 347 | spin_unlock_irqrestore(&ipath_devs_lock, flags); |
348 | ret = create_device_files(sb, dd); | 348 | ret = create_device_files(sb, dd); |
349 | if (ret) { | 349 | if (ret) { |
350 | deactivate_super(sb); | 350 | deactivate_locked_super(sb); |
351 | goto bail; | 351 | goto bail; |
352 | } | 352 | } |
353 | spin_lock_irqsave(&ipath_devs_lock, flags); | 353 | spin_lock_irqsave(&ipath_devs_lock, flags); |
diff --git a/drivers/infiniband/hw/mlx4/mlx4_ib.h b/drivers/infiniband/hw/mlx4/mlx4_ib.h index 9974e886b8de..8a7dd6795fa0 100644 --- a/drivers/infiniband/hw/mlx4/mlx4_ib.h +++ b/drivers/infiniband/hw/mlx4/mlx4_ib.h | |||
@@ -86,6 +86,7 @@ struct mlx4_ib_mr { | |||
86 | 86 | ||
87 | struct mlx4_ib_fast_reg_page_list { | 87 | struct mlx4_ib_fast_reg_page_list { |
88 | struct ib_fast_reg_page_list ibfrpl; | 88 | struct ib_fast_reg_page_list ibfrpl; |
89 | __be64 *mapped_page_list; | ||
89 | dma_addr_t map; | 90 | dma_addr_t map; |
90 | }; | 91 | }; |
91 | 92 | ||
diff --git a/drivers/infiniband/hw/mlx4/mr.c b/drivers/infiniband/hw/mlx4/mr.c index 8e4d26d56a95..8f3666b20ea4 100644 --- a/drivers/infiniband/hw/mlx4/mr.c +++ b/drivers/infiniband/hw/mlx4/mr.c | |||
@@ -231,7 +231,11 @@ struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device | |||
231 | if (!mfrpl) | 231 | if (!mfrpl) |
232 | return ERR_PTR(-ENOMEM); | 232 | return ERR_PTR(-ENOMEM); |
233 | 233 | ||
234 | mfrpl->ibfrpl.page_list = dma_alloc_coherent(&dev->dev->pdev->dev, | 234 | mfrpl->ibfrpl.page_list = kmalloc(size, GFP_KERNEL); |
235 | if (!mfrpl->ibfrpl.page_list) | ||
236 | goto err_free; | ||
237 | |||
238 | mfrpl->mapped_page_list = dma_alloc_coherent(&dev->dev->pdev->dev, | ||
235 | size, &mfrpl->map, | 239 | size, &mfrpl->map, |
236 | GFP_KERNEL); | 240 | GFP_KERNEL); |
237 | if (!mfrpl->ibfrpl.page_list) | 241 | if (!mfrpl->ibfrpl.page_list) |
@@ -242,6 +246,7 @@ struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device | |||
242 | return &mfrpl->ibfrpl; | 246 | return &mfrpl->ibfrpl; |
243 | 247 | ||
244 | err_free: | 248 | err_free: |
249 | kfree(mfrpl->ibfrpl.page_list); | ||
245 | kfree(mfrpl); | 250 | kfree(mfrpl); |
246 | return ERR_PTR(-ENOMEM); | 251 | return ERR_PTR(-ENOMEM); |
247 | } | 252 | } |
@@ -252,8 +257,9 @@ void mlx4_ib_free_fast_reg_page_list(struct ib_fast_reg_page_list *page_list) | |||
252 | struct mlx4_ib_fast_reg_page_list *mfrpl = to_mfrpl(page_list); | 257 | struct mlx4_ib_fast_reg_page_list *mfrpl = to_mfrpl(page_list); |
253 | int size = page_list->max_page_list_len * sizeof (u64); | 258 | int size = page_list->max_page_list_len * sizeof (u64); |
254 | 259 | ||
255 | dma_free_coherent(&dev->dev->pdev->dev, size, page_list->page_list, | 260 | dma_free_coherent(&dev->dev->pdev->dev, size, mfrpl->mapped_page_list, |
256 | mfrpl->map); | 261 | mfrpl->map); |
262 | kfree(mfrpl->ibfrpl.page_list); | ||
257 | kfree(mfrpl); | 263 | kfree(mfrpl); |
258 | } | 264 | } |
259 | 265 | ||
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c index f385a24d31d2..20724aee76f4 100644 --- a/drivers/infiniband/hw/mlx4/qp.c +++ b/drivers/infiniband/hw/mlx4/qp.c | |||
@@ -1365,7 +1365,7 @@ static void set_fmr_seg(struct mlx4_wqe_fmr_seg *fseg, struct ib_send_wr *wr) | |||
1365 | int i; | 1365 | int i; |
1366 | 1366 | ||
1367 | for (i = 0; i < wr->wr.fast_reg.page_list_len; ++i) | 1367 | for (i = 0; i < wr->wr.fast_reg.page_list_len; ++i) |
1368 | wr->wr.fast_reg.page_list->page_list[i] = | 1368 | mfrpl->mapped_page_list[i] = |
1369 | cpu_to_be64(wr->wr.fast_reg.page_list->page_list[i] | | 1369 | cpu_to_be64(wr->wr.fast_reg.page_list->page_list[i] | |
1370 | MLX4_MTT_FLAG_PRESENT); | 1370 | MLX4_MTT_FLAG_PRESENT); |
1371 | 1371 | ||
diff --git a/drivers/input/ff-memless.c b/drivers/input/ff-memless.c index bc4e40f3ede7..2d1415e16834 100644 --- a/drivers/input/ff-memless.c +++ b/drivers/input/ff-memless.c | |||
@@ -226,7 +226,7 @@ static int get_compatible_type(struct ff_device *ff, int effect_type) | |||
226 | */ | 226 | */ |
227 | static void ml_combine_effects(struct ff_effect *effect, | 227 | static void ml_combine_effects(struct ff_effect *effect, |
228 | struct ml_effect_state *state, | 228 | struct ml_effect_state *state, |
229 | int gain) | 229 | unsigned int gain) |
230 | { | 230 | { |
231 | struct ff_effect *new = state->effect; | 231 | struct ff_effect *new = state->effect; |
232 | unsigned int strong, weak, i; | 232 | unsigned int strong, weak, i; |
diff --git a/drivers/input/input.c b/drivers/input/input.c index e54e002665b0..5d445f48789b 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c | |||
@@ -42,6 +42,7 @@ static unsigned int input_abs_bypass_init_data[] __initdata = { | |||
42 | ABS_MT_POSITION_Y, | 42 | ABS_MT_POSITION_Y, |
43 | ABS_MT_TOOL_TYPE, | 43 | ABS_MT_TOOL_TYPE, |
44 | ABS_MT_BLOB_ID, | 44 | ABS_MT_BLOB_ID, |
45 | ABS_MT_TRACKING_ID, | ||
45 | 0 | 46 | 0 |
46 | }; | 47 | }; |
47 | static unsigned long input_abs_bypass[BITS_TO_LONGS(ABS_CNT)]; | 48 | static unsigned long input_abs_bypass[BITS_TO_LONGS(ABS_CNT)]; |
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c index 4224f0112849..012a5e753991 100644 --- a/drivers/input/joydev.c +++ b/drivers/input/joydev.c | |||
@@ -843,7 +843,13 @@ static const struct input_device_id joydev_blacklist[] = { | |||
843 | INPUT_DEVICE_ID_MATCH_KEYBIT, | 843 | INPUT_DEVICE_ID_MATCH_KEYBIT, |
844 | .evbit = { BIT_MASK(EV_KEY) }, | 844 | .evbit = { BIT_MASK(EV_KEY) }, |
845 | .keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) }, | 845 | .keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) }, |
846 | }, /* Avoid itouchpads, touchscreens and tablets */ | 846 | }, /* Avoid itouchpads and touchscreens */ |
847 | { | ||
848 | .flags = INPUT_DEVICE_ID_MATCH_EVBIT | | ||
849 | INPUT_DEVICE_ID_MATCH_KEYBIT, | ||
850 | .evbit = { BIT_MASK(EV_KEY) }, | ||
851 | .keybit = { [BIT_WORD(BTN_DIGI)] = BIT_MASK(BTN_DIGI) }, | ||
852 | }, /* Avoid tablets, digitisers and similar devices */ | ||
847 | { } /* Terminating entry */ | 853 | { } /* Terminating entry */ |
848 | }; | 854 | }; |
849 | 855 | ||
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 444dec07e5d8..df3f8aa68115 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c | |||
@@ -895,6 +895,13 @@ static unsigned int atkbd_amilo_pa1510_forced_release_keys[] = { | |||
895 | }; | 895 | }; |
896 | 896 | ||
897 | /* | 897 | /* |
898 | * Amilo Xi 3650 key release for light touch bar not working | ||
899 | */ | ||
900 | static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = { | ||
901 | 0x67, 0xed, 0x90, 0xa2, 0x99, 0xa4, 0xae, 0xb0, -1U | ||
902 | }; | ||
903 | |||
904 | /* | ||
898 | * atkbd_set_keycode_table() initializes keyboard's keycode table | 905 | * atkbd_set_keycode_table() initializes keyboard's keycode table |
899 | * according to the selected scancode set | 906 | * according to the selected scancode set |
900 | */ | 907 | */ |
@@ -1560,6 +1567,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { | |||
1560 | .callback = atkbd_setup_forced_release, | 1567 | .callback = atkbd_setup_forced_release, |
1561 | .driver_data = atkbd_amilo_pa1510_forced_release_keys, | 1568 | .driver_data = atkbd_amilo_pa1510_forced_release_keys, |
1562 | }, | 1569 | }, |
1570 | { | ||
1571 | .ident = "Fujitsu Amilo Xi 3650", | ||
1572 | .matches = { | ||
1573 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), | ||
1574 | DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Xi 3650"), | ||
1575 | }, | ||
1576 | .callback = atkbd_setup_forced_release, | ||
1577 | .driver_data = atkbd_amilo_xi3650_forced_release_keys, | ||
1578 | }, | ||
1563 | { } | 1579 | { } |
1564 | }; | 1580 | }; |
1565 | 1581 | ||
diff --git a/drivers/input/serio/ambakmi.c b/drivers/input/serio/ambakmi.c index e29cdc13a199..a28c06d686e1 100644 --- a/drivers/input/serio/ambakmi.c +++ b/drivers/input/serio/ambakmi.c | |||
@@ -107,7 +107,7 @@ static void amba_kmi_close(struct serio *io) | |||
107 | clk_disable(kmi->clk); | 107 | clk_disable(kmi->clk); |
108 | } | 108 | } |
109 | 109 | ||
110 | static int amba_kmi_probe(struct amba_device *dev, void *id) | 110 | static int amba_kmi_probe(struct amba_device *dev, struct amba_id *id) |
111 | { | 111 | { |
112 | struct amba_kmi_port *kmi; | 112 | struct amba_kmi_port *kmi; |
113 | struct serio *io; | 113 | struct serio *io; |
diff --git a/drivers/input/serio/libps2.c b/drivers/input/serio/libps2.c index 67248c31e19a..be5bbbb8ae4e 100644 --- a/drivers/input/serio/libps2.c +++ b/drivers/input/serio/libps2.c | |||
@@ -210,7 +210,7 @@ int ps2_command(struct ps2dev *ps2dev, unsigned char *param, int command) | |||
210 | timeout = wait_event_timeout(ps2dev->wait, | 210 | timeout = wait_event_timeout(ps2dev->wait, |
211 | !(ps2dev->flags & PS2_FLAG_CMD1), timeout); | 211 | !(ps2dev->flags & PS2_FLAG_CMD1), timeout); |
212 | 212 | ||
213 | if (ps2dev->cmdcnt && timeout > 0) { | 213 | if (ps2dev->cmdcnt && !(ps2dev->flags & PS2_FLAG_CMD1)) { |
214 | 214 | ||
215 | timeout = ps2_adjust_timeout(ps2dev, command, timeout); | 215 | timeout = ps2_adjust_timeout(ps2dev, command, timeout); |
216 | wait_event_timeout(ps2dev->wait, | 216 | wait_event_timeout(ps2dev->wait, |
diff --git a/drivers/input/touchscreen/tsc2007.c b/drivers/input/touchscreen/tsc2007.c index 536668fbda22..948e167557f1 100644 --- a/drivers/input/touchscreen/tsc2007.c +++ b/drivers/input/touchscreen/tsc2007.c | |||
@@ -200,8 +200,9 @@ static int tsc2007_read_values(struct tsc2007 *tsc) | |||
200 | static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle) | 200 | static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle) |
201 | { | 201 | { |
202 | struct tsc2007 *ts = container_of(handle, struct tsc2007, timer); | 202 | struct tsc2007 *ts = container_of(handle, struct tsc2007, timer); |
203 | unsigned long flags; | ||
203 | 204 | ||
204 | spin_lock_irq(&ts->lock); | 205 | spin_lock_irqsave(&ts->lock, flags); |
205 | 206 | ||
206 | if (unlikely(!ts->get_pendown_state() && ts->pendown)) { | 207 | if (unlikely(!ts->get_pendown_state() && ts->pendown)) { |
207 | struct input_dev *input = ts->input; | 208 | struct input_dev *input = ts->input; |
@@ -222,7 +223,7 @@ static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle) | |||
222 | tsc2007_send_event(ts); | 223 | tsc2007_send_event(ts); |
223 | } | 224 | } |
224 | 225 | ||
225 | spin_unlock_irq(&ts->lock); | 226 | spin_unlock_irqrestore(&ts->lock, flags); |
226 | 227 | ||
227 | return HRTIMER_NORESTART; | 228 | return HRTIMER_NORESTART; |
228 | } | 229 | } |
diff --git a/drivers/input/touchscreen/ucb1400_ts.c b/drivers/input/touchscreen/ucb1400_ts.c index f100c7f4c1db..6954f5500108 100644 --- a/drivers/input/touchscreen/ucb1400_ts.c +++ b/drivers/input/touchscreen/ucb1400_ts.c | |||
@@ -419,7 +419,7 @@ static int ucb1400_ts_remove(struct platform_device *dev) | |||
419 | #ifdef CONFIG_PM | 419 | #ifdef CONFIG_PM |
420 | static int ucb1400_ts_resume(struct platform_device *dev) | 420 | static int ucb1400_ts_resume(struct platform_device *dev) |
421 | { | 421 | { |
422 | struct ucb1400_ts *ucb = platform_get_drvdata(dev); | 422 | struct ucb1400_ts *ucb = dev->dev.platform_data; |
423 | 423 | ||
424 | if (ucb->ts_task) { | 424 | if (ucb->ts_task) { |
425 | /* | 425 | /* |
diff --git a/drivers/isdn/capi/capifs.c b/drivers/isdn/capi/capifs.c index b129409925af..bff72d81f263 100644 --- a/drivers/isdn/capi/capifs.c +++ b/drivers/isdn/capi/capifs.c | |||
@@ -75,15 +75,17 @@ static int capifs_remount(struct super_block *s, int *flags, char *data) | |||
75 | } | 75 | } |
76 | } | 76 | } |
77 | 77 | ||
78 | kfree(s->s_options); | 78 | mutex_lock(&s->s_root->d_inode->i_mutex); |
79 | s->s_options = new_opt; | ||
80 | 79 | ||
80 | replace_mount_options(s, new_opt); | ||
81 | config.setuid = setuid; | 81 | config.setuid = setuid; |
82 | config.setgid = setgid; | 82 | config.setgid = setgid; |
83 | config.uid = uid; | 83 | config.uid = uid; |
84 | config.gid = gid; | 84 | config.gid = gid; |
85 | config.mode = mode; | 85 | config.mode = mode; |
86 | 86 | ||
87 | mutex_unlock(&s->s_root->d_inode->i_mutex); | ||
88 | |||
87 | return 0; | 89 | return 0; |
88 | } | 90 | } |
89 | 91 | ||
@@ -154,13 +156,16 @@ void capifs_new_ncci(unsigned int number, dev_t device) | |||
154 | if (!inode) | 156 | if (!inode) |
155 | return; | 157 | return; |
156 | inode->i_ino = number+2; | 158 | inode->i_ino = number+2; |
159 | |||
160 | dentry = get_node(number); | ||
161 | |||
162 | /* config contents is protected by root's i_mutex */ | ||
157 | inode->i_uid = config.setuid ? config.uid : current_fsuid(); | 163 | inode->i_uid = config.setuid ? config.uid : current_fsuid(); |
158 | inode->i_gid = config.setgid ? config.gid : current_fsgid(); | 164 | inode->i_gid = config.setgid ? config.gid : current_fsgid(); |
159 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; | 165 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
160 | init_special_inode(inode, S_IFCHR|config.mode, device); | 166 | init_special_inode(inode, S_IFCHR|config.mode, device); |
161 | //inode->i_op = &capifs_file_inode_operations; | 167 | //inode->i_op = &capifs_file_inode_operations; |
162 | 168 | ||
163 | dentry = get_node(number); | ||
164 | if (!IS_ERR(dentry) && !dentry->d_inode) | 169 | if (!IS_ERR(dentry) && !dentry->d_inode) |
165 | d_instantiate(dentry, inode); | 170 | d_instantiate(dentry, inode); |
166 | mutex_unlock(&capifs_root->d_inode->i_mutex); | 171 | mutex_unlock(&capifs_root->d_inode->i_mutex); |
diff --git a/drivers/isdn/gigaset/isocdata.c b/drivers/isdn/gigaset/isocdata.c index b171e75cb52e..29808c4fb1cb 100644 --- a/drivers/isdn/gigaset/isocdata.c +++ b/drivers/isdn/gigaset/isocdata.c | |||
@@ -175,7 +175,7 @@ int gigaset_isowbuf_getbytes(struct isowbuf_t *iwb, int size) | |||
175 | return -EINVAL; | 175 | return -EINVAL; |
176 | } | 176 | } |
177 | src = iwb->read; | 177 | src = iwb->read; |
178 | if (unlikely(limit > BAS_OUTBUFSIZE + BAS_OUTBUFPAD || | 178 | if (unlikely(limit >= BAS_OUTBUFSIZE + BAS_OUTBUFPAD || |
179 | (read < src && limit >= src))) { | 179 | (read < src && limit >= src))) { |
180 | pr_err("isoc write buffer frame reservation violated\n"); | 180 | pr_err("isoc write buffer frame reservation violated\n"); |
181 | return -EFAULT; | 181 | return -EFAULT; |
diff --git a/drivers/lguest/x86/core.c b/drivers/lguest/x86/core.c index 1a83910f674f..eaf722fe309a 100644 --- a/drivers/lguest/x86/core.c +++ b/drivers/lguest/x86/core.c | |||
@@ -358,6 +358,16 @@ void lguest_arch_handle_trap(struct lg_cpu *cpu) | |||
358 | if (emulate_insn(cpu)) | 358 | if (emulate_insn(cpu)) |
359 | return; | 359 | return; |
360 | } | 360 | } |
361 | /* If KVM is active, the vmcall instruction triggers a | ||
362 | * General Protection Fault. Normally it triggers an | ||
363 | * invalid opcode fault (6): */ | ||
364 | case 6: | ||
365 | /* We need to check if ring == GUEST_PL and | ||
366 | * faulting instruction == vmcall. */ | ||
367 | if (is_hypercall(cpu)) { | ||
368 | rewrite_hypercall(cpu); | ||
369 | return; | ||
370 | } | ||
361 | break; | 371 | break; |
362 | case 14: /* We've intercepted a Page Fault. */ | 372 | case 14: /* We've intercepted a Page Fault. */ |
363 | /* The Guest accessed a virtual address that wasn't mapped. | 373 | /* The Guest accessed a virtual address that wasn't mapped. |
@@ -403,15 +413,6 @@ void lguest_arch_handle_trap(struct lg_cpu *cpu) | |||
403 | * up the pointer now to indicate a hypercall is pending. */ | 413 | * up the pointer now to indicate a hypercall is pending. */ |
404 | cpu->hcall = (struct hcall_args *)cpu->regs; | 414 | cpu->hcall = (struct hcall_args *)cpu->regs; |
405 | return; | 415 | return; |
406 | case 6: | ||
407 | /* kvm hypercalls trigger an invalid opcode fault (6). | ||
408 | * We need to check if ring == GUEST_PL and | ||
409 | * faulting instruction == vmcall. */ | ||
410 | if (is_hypercall(cpu)) { | ||
411 | rewrite_hypercall(cpu); | ||
412 | return; | ||
413 | } | ||
414 | break; | ||
415 | } | 416 | } |
416 | 417 | ||
417 | /* We didn't handle the trap, so it needs to go to the Guest. */ | 418 | /* We didn't handle the trap, so it needs to go to the Guest. */ |
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c index 47c68bc75a17..56df1cee8fb3 100644 --- a/drivers/md/bitmap.c +++ b/drivers/md/bitmap.c | |||
@@ -1097,14 +1097,12 @@ void bitmap_daemon_work(struct bitmap *bitmap) | |||
1097 | } | 1097 | } |
1098 | bitmap->allclean = 1; | 1098 | bitmap->allclean = 1; |
1099 | 1099 | ||
1100 | spin_lock_irqsave(&bitmap->lock, flags); | ||
1100 | for (j = 0; j < bitmap->chunks; j++) { | 1101 | for (j = 0; j < bitmap->chunks; j++) { |
1101 | bitmap_counter_t *bmc; | 1102 | bitmap_counter_t *bmc; |
1102 | spin_lock_irqsave(&bitmap->lock, flags); | 1103 | if (!bitmap->filemap) |
1103 | if (!bitmap->filemap) { | ||
1104 | /* error or shutdown */ | 1104 | /* error or shutdown */ |
1105 | spin_unlock_irqrestore(&bitmap->lock, flags); | ||
1106 | break; | 1105 | break; |
1107 | } | ||
1108 | 1106 | ||
1109 | page = filemap_get_page(bitmap, j); | 1107 | page = filemap_get_page(bitmap, j); |
1110 | 1108 | ||
@@ -1121,6 +1119,8 @@ void bitmap_daemon_work(struct bitmap *bitmap) | |||
1121 | write_page(bitmap, page, 0); | 1119 | write_page(bitmap, page, 0); |
1122 | bitmap->allclean = 0; | 1120 | bitmap->allclean = 0; |
1123 | } | 1121 | } |
1122 | spin_lock_irqsave(&bitmap->lock, flags); | ||
1123 | j |= (PAGE_BITS - 1); | ||
1124 | continue; | 1124 | continue; |
1125 | } | 1125 | } |
1126 | 1126 | ||
@@ -1181,9 +1181,10 @@ void bitmap_daemon_work(struct bitmap *bitmap) | |||
1181 | ext2_clear_bit(file_page_offset(j), paddr); | 1181 | ext2_clear_bit(file_page_offset(j), paddr); |
1182 | kunmap_atomic(paddr, KM_USER0); | 1182 | kunmap_atomic(paddr, KM_USER0); |
1183 | } | 1183 | } |
1184 | } | 1184 | } else |
1185 | spin_unlock_irqrestore(&bitmap->lock, flags); | 1185 | j |= PAGE_COUNTER_MASK; |
1186 | } | 1186 | } |
1187 | spin_unlock_irqrestore(&bitmap->lock, flags); | ||
1187 | 1188 | ||
1188 | /* now sync the final page */ | 1189 | /* now sync the final page */ |
1189 | if (lastpage != NULL) { | 1190 | if (lastpage != NULL) { |
diff --git a/drivers/md/md.c b/drivers/md/md.c index fccc8343a250..641b211fe3fe 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -1375,6 +1375,9 @@ static void super_1_sync(mddev_t *mddev, mdk_rdev_t *rdev) | |||
1375 | 1375 | ||
1376 | sb->raid_disks = cpu_to_le32(mddev->raid_disks); | 1376 | sb->raid_disks = cpu_to_le32(mddev->raid_disks); |
1377 | sb->size = cpu_to_le64(mddev->dev_sectors); | 1377 | sb->size = cpu_to_le64(mddev->dev_sectors); |
1378 | sb->chunksize = cpu_to_le32(mddev->chunk_size >> 9); | ||
1379 | sb->level = cpu_to_le32(mddev->level); | ||
1380 | sb->layout = cpu_to_le32(mddev->layout); | ||
1378 | 1381 | ||
1379 | if (mddev->bitmap && mddev->bitmap_file == NULL) { | 1382 | if (mddev->bitmap && mddev->bitmap_file == NULL) { |
1380 | sb->bitmap_offset = cpu_to_le32((__u32)mddev->bitmap_offset); | 1383 | sb->bitmap_offset = cpu_to_le32((__u32)mddev->bitmap_offset); |
@@ -3303,7 +3306,9 @@ static ssize_t | |||
3303 | action_show(mddev_t *mddev, char *page) | 3306 | action_show(mddev_t *mddev, char *page) |
3304 | { | 3307 | { |
3305 | char *type = "idle"; | 3308 | char *type = "idle"; |
3306 | if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) || | 3309 | if (test_bit(MD_RECOVERY_FROZEN, &mddev->recovery)) |
3310 | type = "frozen"; | ||
3311 | else if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) || | ||
3307 | (!mddev->ro && test_bit(MD_RECOVERY_NEEDED, &mddev->recovery))) { | 3312 | (!mddev->ro && test_bit(MD_RECOVERY_NEEDED, &mddev->recovery))) { |
3308 | if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) | 3313 | if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) |
3309 | type = "reshape"; | 3314 | type = "reshape"; |
@@ -3326,7 +3331,12 @@ action_store(mddev_t *mddev, const char *page, size_t len) | |||
3326 | if (!mddev->pers || !mddev->pers->sync_request) | 3331 | if (!mddev->pers || !mddev->pers->sync_request) |
3327 | return -EINVAL; | 3332 | return -EINVAL; |
3328 | 3333 | ||
3329 | if (cmd_match(page, "idle")) { | 3334 | if (cmd_match(page, "frozen")) |
3335 | set_bit(MD_RECOVERY_FROZEN, &mddev->recovery); | ||
3336 | else | ||
3337 | clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery); | ||
3338 | |||
3339 | if (cmd_match(page, "idle") || cmd_match(page, "frozen")) { | ||
3330 | if (mddev->sync_thread) { | 3340 | if (mddev->sync_thread) { |
3331 | set_bit(MD_RECOVERY_INTR, &mddev->recovery); | 3341 | set_bit(MD_RECOVERY_INTR, &mddev->recovery); |
3332 | md_unregister_thread(mddev->sync_thread); | 3342 | md_unregister_thread(mddev->sync_thread); |
@@ -3680,7 +3690,7 @@ array_size_store(mddev_t *mddev, const char *buf, size_t len) | |||
3680 | if (strict_blocks_to_sectors(buf, §ors) < 0) | 3690 | if (strict_blocks_to_sectors(buf, §ors) < 0) |
3681 | return -EINVAL; | 3691 | return -EINVAL; |
3682 | if (mddev->pers && mddev->pers->size(mddev, 0, 0) < sectors) | 3692 | if (mddev->pers && mddev->pers->size(mddev, 0, 0) < sectors) |
3683 | return -EINVAL; | 3693 | return -E2BIG; |
3684 | 3694 | ||
3685 | mddev->external_size = 1; | 3695 | mddev->external_size = 1; |
3686 | } | 3696 | } |
@@ -5557,7 +5567,7 @@ static struct block_device_operations md_fops = | |||
5557 | .owner = THIS_MODULE, | 5567 | .owner = THIS_MODULE, |
5558 | .open = md_open, | 5568 | .open = md_open, |
5559 | .release = md_release, | 5569 | .release = md_release, |
5560 | .locked_ioctl = md_ioctl, | 5570 | .ioctl = md_ioctl, |
5561 | .getgeo = md_getgeo, | 5571 | .getgeo = md_getgeo, |
5562 | .media_changed = md_media_changed, | 5572 | .media_changed = md_media_changed, |
5563 | .revalidate_disk= md_revalidate, | 5573 | .revalidate_disk= md_revalidate, |
@@ -6352,12 +6362,13 @@ void md_do_sync(mddev_t *mddev) | |||
6352 | 6362 | ||
6353 | skipped = 0; | 6363 | skipped = 0; |
6354 | 6364 | ||
6355 | if ((mddev->curr_resync > mddev->curr_resync_completed && | 6365 | if (!test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && |
6356 | (mddev->curr_resync - mddev->curr_resync_completed) | 6366 | ((mddev->curr_resync > mddev->curr_resync_completed && |
6357 | > (max_sectors >> 4)) || | 6367 | (mddev->curr_resync - mddev->curr_resync_completed) |
6358 | (j - mddev->curr_resync_completed)*2 | 6368 | > (max_sectors >> 4)) || |
6359 | >= mddev->resync_max - mddev->curr_resync_completed | 6369 | (j - mddev->curr_resync_completed)*2 |
6360 | ) { | 6370 | >= mddev->resync_max - mddev->curr_resync_completed |
6371 | )) { | ||
6361 | /* time to update curr_resync_completed */ | 6372 | /* time to update curr_resync_completed */ |
6362 | blk_unplug(mddev->queue); | 6373 | blk_unplug(mddev->queue); |
6363 | wait_event(mddev->recovery_wait, | 6374 | wait_event(mddev->recovery_wait, |
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 4616bc3a6e71..5d400aef8d9b 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -3811,13 +3811,13 @@ static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped | |||
3811 | safepos = conf->reshape_safe; | 3811 | safepos = conf->reshape_safe; |
3812 | sector_div(safepos, data_disks); | 3812 | sector_div(safepos, data_disks); |
3813 | if (mddev->delta_disks < 0) { | 3813 | if (mddev->delta_disks < 0) { |
3814 | writepos -= reshape_sectors; | 3814 | writepos -= min_t(sector_t, reshape_sectors, writepos); |
3815 | readpos += reshape_sectors; | 3815 | readpos += reshape_sectors; |
3816 | safepos += reshape_sectors; | 3816 | safepos += reshape_sectors; |
3817 | } else { | 3817 | } else { |
3818 | writepos += reshape_sectors; | 3818 | writepos += reshape_sectors; |
3819 | readpos -= reshape_sectors; | 3819 | readpos -= min_t(sector_t, reshape_sectors, readpos); |
3820 | safepos -= reshape_sectors; | 3820 | safepos -= min_t(sector_t, reshape_sectors, safepos); |
3821 | } | 3821 | } |
3822 | 3822 | ||
3823 | /* 'writepos' is the most advanced device address we might write. | 3823 | /* 'writepos' is the most advanced device address we might write. |
diff --git a/drivers/media/radio/radio-sf16fmi.c b/drivers/media/radio/radio-sf16fmi.c index 1dba8f0832a0..5cf6c45b91fe 100644 --- a/drivers/media/radio/radio-sf16fmi.c +++ b/drivers/media/radio/radio-sf16fmi.c | |||
@@ -153,7 +153,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
153 | mult = (fmi->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000; | 153 | mult = (fmi->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000; |
154 | v->rangelow = RSF16_MINFREQ / mult; | 154 | v->rangelow = RSF16_MINFREQ / mult; |
155 | v->rangehigh = RSF16_MAXFREQ / mult; | 155 | v->rangehigh = RSF16_MAXFREQ / mult; |
156 | v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_MODE_STEREO; | 156 | v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO; |
157 | v->capability = fmi->flags & V4L2_TUNER_CAP_LOW; | 157 | v->capability = fmi->flags & V4L2_TUNER_CAP_LOW; |
158 | v->audmode = V4L2_TUNER_MODE_STEREO; | 158 | v->audmode = V4L2_TUNER_MODE_STEREO; |
159 | v->signal = fmi_getsigstr(fmi); | 159 | v->signal = fmi_getsigstr(fmi); |
diff --git a/drivers/media/radio/radio-sf16fmr2.c b/drivers/media/radio/radio-sf16fmr2.c index c09ca8600ea1..935ff9bcdfcc 100644 --- a/drivers/media/radio/radio-sf16fmr2.c +++ b/drivers/media/radio/radio-sf16fmr2.c | |||
@@ -233,7 +233,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
233 | mult = (fmr2->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000; | 233 | mult = (fmr2->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000; |
234 | v->rangelow = RSF16_MINFREQ / mult; | 234 | v->rangelow = RSF16_MINFREQ / mult; |
235 | v->rangehigh = RSF16_MAXFREQ / mult; | 235 | v->rangehigh = RSF16_MAXFREQ / mult; |
236 | v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_MODE_STEREO; | 236 | v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO; |
237 | v->capability = fmr2->flags&V4L2_TUNER_CAP_LOW; | 237 | v->capability = fmr2->flags&V4L2_TUNER_CAP_LOW; |
238 | v->audmode = fmr2->stereo ? V4L2_TUNER_MODE_STEREO: | 238 | v->audmode = fmr2->stereo ? V4L2_TUNER_MODE_STEREO: |
239 | V4L2_TUNER_MODE_MONO; | 239 | V4L2_TUNER_MODE_MONO; |
diff --git a/drivers/media/video/cafe_ccic.c b/drivers/media/video/cafe_ccic.c index 5f582726985d..c4d181dde1ca 100644 --- a/drivers/media/video/cafe_ccic.c +++ b/drivers/media/video/cafe_ccic.c | |||
@@ -774,6 +774,7 @@ static int cafe_cam_init(struct cafe_camera *cam) | |||
774 | ret = __cafe_cam_reset(cam); | 774 | ret = __cafe_cam_reset(cam); |
775 | if (ret) | 775 | if (ret) |
776 | goto out; | 776 | goto out; |
777 | chip.ident = V4L2_IDENT_NONE; | ||
777 | chip.match.type = V4L2_CHIP_MATCH_I2C_ADDR; | 778 | chip.match.type = V4L2_CHIP_MATCH_I2C_ADDR; |
778 | chip.match.addr = cam->sensor_addr; | 779 | chip.match.addr = cam->sensor_addr; |
779 | ret = sensor_call(cam, core, g_chip_ident, &chip); | 780 | ret = sensor_call(cam, core, g_chip_ident, &chip); |
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index 0c49a98213c4..1dc070da8652 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c | |||
@@ -472,7 +472,7 @@ static int dvb_register(struct cx23885_tsport *port) | |||
472 | static struct xc2028_ctrl ctl = { | 472 | static struct xc2028_ctrl ctl = { |
473 | .fname = XC2028_DEFAULT_FIRMWARE, | 473 | .fname = XC2028_DEFAULT_FIRMWARE, |
474 | .max_len = 64, | 474 | .max_len = 64, |
475 | .scode_table = XC3028_FE_OREN538, | 475 | .demod = XC3028_FE_OREN538, |
476 | }; | 476 | }; |
477 | 477 | ||
478 | fe = dvb_attach(xc2028_attach, | 478 | fe = dvb_attach(xc2028_attach, |
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c index b0195e8ee4d1..db2ac9a99acd 100644 --- a/drivers/media/video/ivtv/ivtv-driver.c +++ b/drivers/media/video/ivtv/ivtv-driver.c | |||
@@ -305,14 +305,17 @@ int ivtv_waitq(wait_queue_head_t *waitq) | |||
305 | /* Generic utility functions */ | 305 | /* Generic utility functions */ |
306 | int ivtv_msleep_timeout(unsigned int msecs, int intr) | 306 | int ivtv_msleep_timeout(unsigned int msecs, int intr) |
307 | { | 307 | { |
308 | int ret; | ||
309 | int timeout = msecs_to_jiffies(msecs); | 308 | int timeout = msecs_to_jiffies(msecs); |
310 | 309 | ||
311 | do { | 310 | do { |
312 | set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); | 311 | set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); |
313 | timeout = schedule_timeout(timeout); | 312 | timeout = schedule_timeout(timeout); |
314 | if (intr && (ret = signal_pending(current))) | 313 | if (intr) { |
315 | return ret; | 314 | int ret = signal_pending(current); |
315 | |||
316 | if (ret) | ||
317 | return ret; | ||
318 | } | ||
316 | } while (timeout); | 319 | } while (timeout); |
317 | return 0; | 320 | return 0; |
318 | } | 321 | } |
diff --git a/drivers/media/video/ivtv/ivtv-gpio.c b/drivers/media/video/ivtv/ivtv-gpio.c index ceb05bdcaf62..85ac707228e7 100644 --- a/drivers/media/video/ivtv/ivtv-gpio.c +++ b/drivers/media/video/ivtv/ivtv-gpio.c | |||
@@ -190,8 +190,8 @@ static int subdev_g_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *vt) | |||
190 | 190 | ||
191 | mask = itv->card->gpio_audio_detect.mask; | 191 | mask = itv->card->gpio_audio_detect.mask; |
192 | if (mask == 0 || (read_reg(IVTV_REG_GPIO_IN) & mask)) | 192 | if (mask == 0 || (read_reg(IVTV_REG_GPIO_IN) & mask)) |
193 | vt->rxsubchans = V4L2_TUNER_MODE_STEREO | | 193 | vt->rxsubchans = V4L2_TUNER_SUB_STEREO | |
194 | V4L2_TUNER_MODE_LANG1 | V4L2_TUNER_MODE_LANG2; | 194 | V4L2_TUNER_SUB_LANG1 | V4L2_TUNER_SUB_LANG2; |
195 | else | 195 | else |
196 | vt->rxsubchans = V4L2_TUNER_SUB_MONO; | 196 | vt->rxsubchans = V4L2_TUNER_SUB_MONO; |
197 | return 0; | 197 | return 0; |
diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c b/drivers/media/video/ivtv/ivtv-ioctl.c index 4a2d464f055e..c342a9fe983e 100644 --- a/drivers/media/video/ivtv/ivtv-ioctl.c +++ b/drivers/media/video/ivtv/ivtv-ioctl.c | |||
@@ -180,7 +180,7 @@ int ivtv_set_speed(struct ivtv *itv, int speed) | |||
180 | 180 | ||
181 | /* Wait for any DMA to finish */ | 181 | /* Wait for any DMA to finish */ |
182 | prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); | 182 | prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); |
183 | while (itv->i_flags & IVTV_F_I_DMA) { | 183 | while (test_bit(IVTV_F_I_DMA, &itv->i_flags)) { |
184 | got_sig = signal_pending(current); | 184 | got_sig = signal_pending(current); |
185 | if (got_sig) | 185 | if (got_sig) |
186 | break; | 186 | break; |
@@ -1710,7 +1710,8 @@ static int ivtv_decoder_ioctls(struct file *filp, unsigned int cmd, void *arg) | |||
1710 | we are waiting unlock first and later lock again. */ | 1710 | we are waiting unlock first and later lock again. */ |
1711 | mutex_unlock(&itv->serialize_lock); | 1711 | mutex_unlock(&itv->serialize_lock); |
1712 | prepare_to_wait(&itv->event_waitq, &wait, TASK_INTERRUPTIBLE); | 1712 | prepare_to_wait(&itv->event_waitq, &wait, TASK_INTERRUPTIBLE); |
1713 | if ((itv->i_flags & (IVTV_F_I_EV_DEC_STOPPED|IVTV_F_I_EV_VSYNC)) == 0) | 1713 | if (!test_bit(IVTV_F_I_EV_DEC_STOPPED, &itv->i_flags) && |
1714 | !test_bit(IVTV_F_I_EV_VSYNC, &itv->i_flags)) | ||
1714 | schedule(); | 1715 | schedule(); |
1715 | finish_wait(&itv->event_waitq, &wait); | 1716 | finish_wait(&itv->event_waitq, &wait); |
1716 | mutex_lock(&itv->serialize_lock); | 1717 | mutex_lock(&itv->serialize_lock); |
diff --git a/drivers/media/video/ivtv/ivtv-irq.c b/drivers/media/video/ivtv/ivtv-irq.c index 01c14d2b381a..cd9db0bf33bf 100644 --- a/drivers/media/video/ivtv/ivtv-irq.c +++ b/drivers/media/video/ivtv/ivtv-irq.c | |||
@@ -196,7 +196,7 @@ static int stream_enc_dma_append(struct ivtv_stream *s, u32 data[CX2341X_MBOX_MA | |||
196 | bytes_needed, s->name); | 196 | bytes_needed, s->name); |
197 | return -1; | 197 | return -1; |
198 | } | 198 | } |
199 | if (rc && !s->buffers_stolen && (s->s_flags & IVTV_F_S_APPL_IO)) { | 199 | if (rc && !s->buffers_stolen && test_bit(IVTV_F_S_APPL_IO, &s->s_flags)) { |
200 | IVTV_WARN("All %s stream buffers are full. Dropping data.\n", s->name); | 200 | IVTV_WARN("All %s stream buffers are full. Dropping data.\n", s->name); |
201 | IVTV_WARN("Cause: the application is not reading fast enough.\n"); | 201 | IVTV_WARN("Cause: the application is not reading fast enough.\n"); |
202 | } | 202 | } |
diff --git a/drivers/media/video/ivtv/ivtv-yuv.c b/drivers/media/video/ivtv/ivtv-yuv.c index 7912ed6b72ee..c0875378acc2 100644 --- a/drivers/media/video/ivtv/ivtv-yuv.c +++ b/drivers/media/video/ivtv/ivtv-yuv.c | |||
@@ -1063,7 +1063,8 @@ static int ivtv_yuv_udma_frame(struct ivtv *itv, struct ivtv_dma_frame *args) | |||
1063 | prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); | 1063 | prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); |
1064 | /* if no UDMA is pending and no UDMA is in progress, then the DMA | 1064 | /* if no UDMA is pending and no UDMA is in progress, then the DMA |
1065 | is finished */ | 1065 | is finished */ |
1066 | while (itv->i_flags & (IVTV_F_I_UDMA_PENDING | IVTV_F_I_UDMA)) { | 1066 | while (test_bit(IVTV_F_I_UDMA_PENDING, &itv->i_flags) || |
1067 | test_bit(IVTV_F_I_UDMA, &itv->i_flags)) { | ||
1067 | /* don't interrupt if the DMA is in progress but break off | 1068 | /* don't interrupt if the DMA is in progress but break off |
1068 | a still pending DMA. */ | 1069 | a still pending DMA. */ |
1069 | got_sig = signal_pending(current); | 1070 | got_sig = signal_pending(current); |
diff --git a/drivers/media/video/ivtv/ivtvfb.c b/drivers/media/video/ivtv/ivtvfb.c index 66e6eb513076..fa6bb85cb4b0 100644 --- a/drivers/media/video/ivtv/ivtvfb.c +++ b/drivers/media/video/ivtv/ivtvfb.c | |||
@@ -298,7 +298,8 @@ static int ivtvfb_prep_dec_dma_to_device(struct ivtv *itv, | |||
298 | prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); | 298 | prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); |
299 | /* if no UDMA is pending and no UDMA is in progress, then the DMA | 299 | /* if no UDMA is pending and no UDMA is in progress, then the DMA |
300 | is finished */ | 300 | is finished */ |
301 | while (itv->i_flags & (IVTV_F_I_UDMA_PENDING | IVTV_F_I_UDMA)) { | 301 | while (test_bit(IVTV_F_I_UDMA_PENDING, &itv->i_flags) || |
302 | test_bit(IVTV_F_I_UDMA, &itv->i_flags)) { | ||
302 | /* don't interrupt if the DMA is in progress but break off | 303 | /* don't interrupt if the DMA is in progress but break off |
303 | a still pending DMA. */ | 304 | a still pending DMA. */ |
304 | got_sig = signal_pending(current); | 305 | got_sig = signal_pending(current); |
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c index 399412d7f020..507dc85646b2 100644 --- a/drivers/media/video/uvc/uvc_driver.c +++ b/drivers/media/video/uvc/uvc_driver.c | |||
@@ -1726,14 +1726,17 @@ static int uvc_suspend(struct usb_interface *intf, pm_message_t message) | |||
1726 | static int __uvc_resume(struct usb_interface *intf, int reset) | 1726 | static int __uvc_resume(struct usb_interface *intf, int reset) |
1727 | { | 1727 | { |
1728 | struct uvc_device *dev = usb_get_intfdata(intf); | 1728 | struct uvc_device *dev = usb_get_intfdata(intf); |
1729 | int ret; | ||
1730 | 1729 | ||
1731 | uvc_trace(UVC_TRACE_SUSPEND, "Resuming interface %u\n", | 1730 | uvc_trace(UVC_TRACE_SUSPEND, "Resuming interface %u\n", |
1732 | intf->cur_altsetting->desc.bInterfaceNumber); | 1731 | intf->cur_altsetting->desc.bInterfaceNumber); |
1733 | 1732 | ||
1734 | if (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOCONTROL) { | 1733 | if (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOCONTROL) { |
1735 | if (reset && (ret = uvc_ctrl_resume_device(dev)) < 0) | 1734 | if (reset) { |
1736 | return ret; | 1735 | int ret = uvc_ctrl_resume_device(dev); |
1736 | |||
1737 | if (ret < 0) | ||
1738 | return ret; | ||
1739 | } | ||
1737 | 1740 | ||
1738 | return uvc_status_resume(dev); | 1741 | return uvc_status_resume(dev); |
1739 | } | 1742 | } |
diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c index a95e17329c5b..6ce974d7362f 100644 --- a/drivers/media/video/uvc/uvc_video.c +++ b/drivers/media/video/uvc/uvc_video.c | |||
@@ -742,7 +742,7 @@ static int uvc_alloc_urb_buffers(struct uvc_video_device *video, | |||
742 | 742 | ||
743 | /* Buffers are already allocated, bail out. */ | 743 | /* Buffers are already allocated, bail out. */ |
744 | if (video->urb_size) | 744 | if (video->urb_size) |
745 | return 0; | 745 | return video->urb_size / psize; |
746 | 746 | ||
747 | /* Compute the number of packets. Bulk endpoints might transfer UVC | 747 | /* Compute the number of packets. Bulk endpoints might transfer UVC |
748 | * payloads accross multiple URBs. | 748 | * payloads accross multiple URBs. |
diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c index 88f10d6cbc92..be64a502ea27 100644 --- a/drivers/media/video/v4l2-ioctl.c +++ b/drivers/media/video/v4l2-ioctl.c | |||
@@ -42,6 +42,12 @@ | |||
42 | printk(KERN_DEBUG "%s: " fmt, vfd->name, ## arg);\ | 42 | printk(KERN_DEBUG "%s: " fmt, vfd->name, ## arg);\ |
43 | } while (0) | 43 | } while (0) |
44 | 44 | ||
45 | /* Zero out the end of the struct pointed to by p. Everthing after, but | ||
46 | * not including, the specified field is cleared. */ | ||
47 | #define CLEAR_AFTER_FIELD(p, field) \ | ||
48 | memset((u8 *)(p) + offsetof(typeof(*(p)), field) + sizeof((p)->field), \ | ||
49 | 0, sizeof(*(p)) - offsetof(typeof(*(p)), field) - sizeof((p)->field)) | ||
50 | |||
45 | struct std_descr { | 51 | struct std_descr { |
46 | v4l2_std_id std; | 52 | v4l2_std_id std; |
47 | const char *descr; | 53 | const char *descr; |
@@ -544,39 +550,39 @@ static int check_fmt(const struct v4l2_ioctl_ops *ops, enum v4l2_buf_type type) | |||
544 | 550 | ||
545 | switch (type) { | 551 | switch (type) { |
546 | case V4L2_BUF_TYPE_VIDEO_CAPTURE: | 552 | case V4L2_BUF_TYPE_VIDEO_CAPTURE: |
547 | if (ops->vidioc_try_fmt_vid_cap) | 553 | if (ops->vidioc_g_fmt_vid_cap) |
548 | return 0; | 554 | return 0; |
549 | break; | 555 | break; |
550 | case V4L2_BUF_TYPE_VIDEO_OVERLAY: | 556 | case V4L2_BUF_TYPE_VIDEO_OVERLAY: |
551 | if (ops->vidioc_try_fmt_vid_overlay) | 557 | if (ops->vidioc_g_fmt_vid_overlay) |
552 | return 0; | 558 | return 0; |
553 | break; | 559 | break; |
554 | case V4L2_BUF_TYPE_VIDEO_OUTPUT: | 560 | case V4L2_BUF_TYPE_VIDEO_OUTPUT: |
555 | if (ops->vidioc_try_fmt_vid_out) | 561 | if (ops->vidioc_g_fmt_vid_out) |
556 | return 0; | 562 | return 0; |
557 | break; | 563 | break; |
558 | case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: | 564 | case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: |
559 | if (ops->vidioc_try_fmt_vid_out_overlay) | 565 | if (ops->vidioc_g_fmt_vid_out_overlay) |
560 | return 0; | 566 | return 0; |
561 | break; | 567 | break; |
562 | case V4L2_BUF_TYPE_VBI_CAPTURE: | 568 | case V4L2_BUF_TYPE_VBI_CAPTURE: |
563 | if (ops->vidioc_try_fmt_vbi_cap) | 569 | if (ops->vidioc_g_fmt_vbi_cap) |
564 | return 0; | 570 | return 0; |
565 | break; | 571 | break; |
566 | case V4L2_BUF_TYPE_VBI_OUTPUT: | 572 | case V4L2_BUF_TYPE_VBI_OUTPUT: |
567 | if (ops->vidioc_try_fmt_vbi_out) | 573 | if (ops->vidioc_g_fmt_vbi_out) |
568 | return 0; | 574 | return 0; |
569 | break; | 575 | break; |
570 | case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: | 576 | case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: |
571 | if (ops->vidioc_try_fmt_sliced_vbi_cap) | 577 | if (ops->vidioc_g_fmt_sliced_vbi_cap) |
572 | return 0; | 578 | return 0; |
573 | break; | 579 | break; |
574 | case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: | 580 | case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: |
575 | if (ops->vidioc_try_fmt_sliced_vbi_out) | 581 | if (ops->vidioc_g_fmt_sliced_vbi_out) |
576 | return 0; | 582 | return 0; |
577 | break; | 583 | break; |
578 | case V4L2_BUF_TYPE_PRIVATE: | 584 | case V4L2_BUF_TYPE_PRIVATE: |
579 | if (ops->vidioc_try_fmt_type_private) | 585 | if (ops->vidioc_g_fmt_type_private) |
580 | return 0; | 586 | return 0; |
581 | break; | 587 | break; |
582 | } | 588 | } |
@@ -782,44 +788,53 @@ static long __video_do_ioctl(struct file *file, | |||
782 | 788 | ||
783 | switch (f->type) { | 789 | switch (f->type) { |
784 | case V4L2_BUF_TYPE_VIDEO_CAPTURE: | 790 | case V4L2_BUF_TYPE_VIDEO_CAPTURE: |
791 | CLEAR_AFTER_FIELD(f, fmt.pix); | ||
785 | v4l_print_pix_fmt(vfd, &f->fmt.pix); | 792 | v4l_print_pix_fmt(vfd, &f->fmt.pix); |
786 | if (ops->vidioc_s_fmt_vid_cap) | 793 | if (ops->vidioc_s_fmt_vid_cap) |
787 | ret = ops->vidioc_s_fmt_vid_cap(file, fh, f); | 794 | ret = ops->vidioc_s_fmt_vid_cap(file, fh, f); |
788 | break; | 795 | break; |
789 | case V4L2_BUF_TYPE_VIDEO_OVERLAY: | 796 | case V4L2_BUF_TYPE_VIDEO_OVERLAY: |
797 | CLEAR_AFTER_FIELD(f, fmt.win); | ||
790 | if (ops->vidioc_s_fmt_vid_overlay) | 798 | if (ops->vidioc_s_fmt_vid_overlay) |
791 | ret = ops->vidioc_s_fmt_vid_overlay(file, | 799 | ret = ops->vidioc_s_fmt_vid_overlay(file, |
792 | fh, f); | 800 | fh, f); |
793 | break; | 801 | break; |
794 | case V4L2_BUF_TYPE_VIDEO_OUTPUT: | 802 | case V4L2_BUF_TYPE_VIDEO_OUTPUT: |
803 | CLEAR_AFTER_FIELD(f, fmt.pix); | ||
795 | v4l_print_pix_fmt(vfd, &f->fmt.pix); | 804 | v4l_print_pix_fmt(vfd, &f->fmt.pix); |
796 | if (ops->vidioc_s_fmt_vid_out) | 805 | if (ops->vidioc_s_fmt_vid_out) |
797 | ret = ops->vidioc_s_fmt_vid_out(file, fh, f); | 806 | ret = ops->vidioc_s_fmt_vid_out(file, fh, f); |
798 | break; | 807 | break; |
799 | case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: | 808 | case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: |
809 | CLEAR_AFTER_FIELD(f, fmt.win); | ||
800 | if (ops->vidioc_s_fmt_vid_out_overlay) | 810 | if (ops->vidioc_s_fmt_vid_out_overlay) |
801 | ret = ops->vidioc_s_fmt_vid_out_overlay(file, | 811 | ret = ops->vidioc_s_fmt_vid_out_overlay(file, |
802 | fh, f); | 812 | fh, f); |
803 | break; | 813 | break; |
804 | case V4L2_BUF_TYPE_VBI_CAPTURE: | 814 | case V4L2_BUF_TYPE_VBI_CAPTURE: |
815 | CLEAR_AFTER_FIELD(f, fmt.vbi); | ||
805 | if (ops->vidioc_s_fmt_vbi_cap) | 816 | if (ops->vidioc_s_fmt_vbi_cap) |
806 | ret = ops->vidioc_s_fmt_vbi_cap(file, fh, f); | 817 | ret = ops->vidioc_s_fmt_vbi_cap(file, fh, f); |
807 | break; | 818 | break; |
808 | case V4L2_BUF_TYPE_VBI_OUTPUT: | 819 | case V4L2_BUF_TYPE_VBI_OUTPUT: |
820 | CLEAR_AFTER_FIELD(f, fmt.vbi); | ||
809 | if (ops->vidioc_s_fmt_vbi_out) | 821 | if (ops->vidioc_s_fmt_vbi_out) |
810 | ret = ops->vidioc_s_fmt_vbi_out(file, fh, f); | 822 | ret = ops->vidioc_s_fmt_vbi_out(file, fh, f); |
811 | break; | 823 | break; |
812 | case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: | 824 | case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: |
825 | CLEAR_AFTER_FIELD(f, fmt.sliced); | ||
813 | if (ops->vidioc_s_fmt_sliced_vbi_cap) | 826 | if (ops->vidioc_s_fmt_sliced_vbi_cap) |
814 | ret = ops->vidioc_s_fmt_sliced_vbi_cap(file, | 827 | ret = ops->vidioc_s_fmt_sliced_vbi_cap(file, |
815 | fh, f); | 828 | fh, f); |
816 | break; | 829 | break; |
817 | case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: | 830 | case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: |
831 | CLEAR_AFTER_FIELD(f, fmt.sliced); | ||
818 | if (ops->vidioc_s_fmt_sliced_vbi_out) | 832 | if (ops->vidioc_s_fmt_sliced_vbi_out) |
819 | ret = ops->vidioc_s_fmt_sliced_vbi_out(file, | 833 | ret = ops->vidioc_s_fmt_sliced_vbi_out(file, |
820 | fh, f); | 834 | fh, f); |
821 | break; | 835 | break; |
822 | case V4L2_BUF_TYPE_PRIVATE: | 836 | case V4L2_BUF_TYPE_PRIVATE: |
837 | /* CLEAR_AFTER_FIELD(f, fmt.raw_data); <- does nothing */ | ||
823 | if (ops->vidioc_s_fmt_type_private) | 838 | if (ops->vidioc_s_fmt_type_private) |
824 | ret = ops->vidioc_s_fmt_type_private(file, | 839 | ret = ops->vidioc_s_fmt_type_private(file, |
825 | fh, f); | 840 | fh, f); |
@@ -836,46 +851,55 @@ static long __video_do_ioctl(struct file *file, | |||
836 | v4l2_type_names)); | 851 | v4l2_type_names)); |
837 | switch (f->type) { | 852 | switch (f->type) { |
838 | case V4L2_BUF_TYPE_VIDEO_CAPTURE: | 853 | case V4L2_BUF_TYPE_VIDEO_CAPTURE: |
854 | CLEAR_AFTER_FIELD(f, fmt.pix); | ||
839 | if (ops->vidioc_try_fmt_vid_cap) | 855 | if (ops->vidioc_try_fmt_vid_cap) |
840 | ret = ops->vidioc_try_fmt_vid_cap(file, fh, f); | 856 | ret = ops->vidioc_try_fmt_vid_cap(file, fh, f); |
841 | if (!ret) | 857 | if (!ret) |
842 | v4l_print_pix_fmt(vfd, &f->fmt.pix); | 858 | v4l_print_pix_fmt(vfd, &f->fmt.pix); |
843 | break; | 859 | break; |
844 | case V4L2_BUF_TYPE_VIDEO_OVERLAY: | 860 | case V4L2_BUF_TYPE_VIDEO_OVERLAY: |
861 | CLEAR_AFTER_FIELD(f, fmt.win); | ||
845 | if (ops->vidioc_try_fmt_vid_overlay) | 862 | if (ops->vidioc_try_fmt_vid_overlay) |
846 | ret = ops->vidioc_try_fmt_vid_overlay(file, | 863 | ret = ops->vidioc_try_fmt_vid_overlay(file, |
847 | fh, f); | 864 | fh, f); |
848 | break; | 865 | break; |
849 | case V4L2_BUF_TYPE_VIDEO_OUTPUT: | 866 | case V4L2_BUF_TYPE_VIDEO_OUTPUT: |
867 | CLEAR_AFTER_FIELD(f, fmt.pix); | ||
850 | if (ops->vidioc_try_fmt_vid_out) | 868 | if (ops->vidioc_try_fmt_vid_out) |
851 | ret = ops->vidioc_try_fmt_vid_out(file, fh, f); | 869 | ret = ops->vidioc_try_fmt_vid_out(file, fh, f); |
852 | if (!ret) | 870 | if (!ret) |
853 | v4l_print_pix_fmt(vfd, &f->fmt.pix); | 871 | v4l_print_pix_fmt(vfd, &f->fmt.pix); |
854 | break; | 872 | break; |
855 | case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: | 873 | case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: |
874 | CLEAR_AFTER_FIELD(f, fmt.win); | ||
856 | if (ops->vidioc_try_fmt_vid_out_overlay) | 875 | if (ops->vidioc_try_fmt_vid_out_overlay) |
857 | ret = ops->vidioc_try_fmt_vid_out_overlay(file, | 876 | ret = ops->vidioc_try_fmt_vid_out_overlay(file, |
858 | fh, f); | 877 | fh, f); |
859 | break; | 878 | break; |
860 | case V4L2_BUF_TYPE_VBI_CAPTURE: | 879 | case V4L2_BUF_TYPE_VBI_CAPTURE: |
880 | CLEAR_AFTER_FIELD(f, fmt.vbi); | ||
861 | if (ops->vidioc_try_fmt_vbi_cap) | 881 | if (ops->vidioc_try_fmt_vbi_cap) |
862 | ret = ops->vidioc_try_fmt_vbi_cap(file, fh, f); | 882 | ret = ops->vidioc_try_fmt_vbi_cap(file, fh, f); |
863 | break; | 883 | break; |
864 | case V4L2_BUF_TYPE_VBI_OUTPUT: | 884 | case V4L2_BUF_TYPE_VBI_OUTPUT: |
885 | CLEAR_AFTER_FIELD(f, fmt.vbi); | ||
865 | if (ops->vidioc_try_fmt_vbi_out) | 886 | if (ops->vidioc_try_fmt_vbi_out) |
866 | ret = ops->vidioc_try_fmt_vbi_out(file, fh, f); | 887 | ret = ops->vidioc_try_fmt_vbi_out(file, fh, f); |
867 | break; | 888 | break; |
868 | case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: | 889 | case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: |
890 | CLEAR_AFTER_FIELD(f, fmt.sliced); | ||
869 | if (ops->vidioc_try_fmt_sliced_vbi_cap) | 891 | if (ops->vidioc_try_fmt_sliced_vbi_cap) |
870 | ret = ops->vidioc_try_fmt_sliced_vbi_cap(file, | 892 | ret = ops->vidioc_try_fmt_sliced_vbi_cap(file, |
871 | fh, f); | 893 | fh, f); |
872 | break; | 894 | break; |
873 | case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: | 895 | case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: |
896 | CLEAR_AFTER_FIELD(f, fmt.sliced); | ||
874 | if (ops->vidioc_try_fmt_sliced_vbi_out) | 897 | if (ops->vidioc_try_fmt_sliced_vbi_out) |
875 | ret = ops->vidioc_try_fmt_sliced_vbi_out(file, | 898 | ret = ops->vidioc_try_fmt_sliced_vbi_out(file, |
876 | fh, f); | 899 | fh, f); |
877 | break; | 900 | break; |
878 | case V4L2_BUF_TYPE_PRIVATE: | 901 | case V4L2_BUF_TYPE_PRIVATE: |
902 | /* CLEAR_AFTER_FIELD(f, fmt.raw_data); <- does nothing */ | ||
879 | if (ops->vidioc_try_fmt_type_private) | 903 | if (ops->vidioc_try_fmt_type_private) |
880 | ret = ops->vidioc_try_fmt_type_private(file, | 904 | ret = ops->vidioc_try_fmt_type_private(file, |
881 | fh, f); | 905 | fh, f); |
@@ -898,6 +922,9 @@ static long __video_do_ioctl(struct file *file, | |||
898 | if (ret) | 922 | if (ret) |
899 | break; | 923 | break; |
900 | 924 | ||
925 | if (p->type < V4L2_BUF_TYPE_PRIVATE) | ||
926 | CLEAR_AFTER_FIELD(p, memory); | ||
927 | |||
901 | ret = ops->vidioc_reqbufs(file, fh, p); | 928 | ret = ops->vidioc_reqbufs(file, fh, p); |
902 | dbgarg(cmd, "count=%d, type=%s, memory=%s\n", | 929 | dbgarg(cmd, "count=%d, type=%s, memory=%s\n", |
903 | p->count, | 930 | p->count, |
diff --git a/drivers/media/video/zoran/zoran_driver.c b/drivers/media/video/zoran/zoran_driver.c index 092333b1c34f..643cccaa1aab 100644 --- a/drivers/media/video/zoran/zoran_driver.c +++ b/drivers/media/video/zoran/zoran_driver.c | |||
@@ -1863,22 +1863,20 @@ static int zoran_querycap(struct file *file, void *__fh, struct v4l2_capability | |||
1863 | 1863 | ||
1864 | static int zoran_enum_fmt(struct zoran *zr, struct v4l2_fmtdesc *fmt, int flag) | 1864 | static int zoran_enum_fmt(struct zoran *zr, struct v4l2_fmtdesc *fmt, int flag) |
1865 | { | 1865 | { |
1866 | int num = -1, i; | 1866 | unsigned int num, i; |
1867 | 1867 | ||
1868 | for (i = 0; i < NUM_FORMATS; i++) { | 1868 | for (num = i = 0; i < NUM_FORMATS; i++) { |
1869 | if (zoran_formats[i].flags & flag) | 1869 | if (zoran_formats[i].flags & flag && num++ == fmt->index) { |
1870 | num++; | 1870 | strncpy(fmt->description, zoran_formats[i].name, |
1871 | if (num == fmt->index) | 1871 | sizeof(fmt->description) - 1); |
1872 | break; | 1872 | /* fmt struct pre-zeroed, so adding '\0' not neeed */ |
1873 | fmt->pixelformat = zoran_formats[i].fourcc; | ||
1874 | if (zoran_formats[i].flags & ZORAN_FORMAT_COMPRESSED) | ||
1875 | fmt->flags |= V4L2_FMT_FLAG_COMPRESSED; | ||
1876 | return 0; | ||
1877 | } | ||
1873 | } | 1878 | } |
1874 | if (fmt->index < 0 /* late, but not too late */ || i == NUM_FORMATS) | 1879 | return -EINVAL; |
1875 | return -EINVAL; | ||
1876 | |||
1877 | strncpy(fmt->description, zoran_formats[i].name, sizeof(fmt->description)-1); | ||
1878 | fmt->pixelformat = zoran_formats[i].fourcc; | ||
1879 | if (zoran_formats[i].flags & ZORAN_FORMAT_COMPRESSED) | ||
1880 | fmt->flags |= V4L2_FMT_FLAG_COMPRESSED; | ||
1881 | return 0; | ||
1882 | } | 1880 | } |
1883 | 1881 | ||
1884 | static int zoran_enum_fmt_vid_cap(struct file *file, void *__fh, | 1882 | static int zoran_enum_fmt_vid_cap(struct file *file, void *__fh, |
diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c index 7793932a513b..11a6248cc1c1 100644 --- a/drivers/mfd/pcf50633-core.c +++ b/drivers/mfd/pcf50633-core.c | |||
@@ -443,7 +443,7 @@ static irqreturn_t pcf50633_irq(int irq, void *data) | |||
443 | dev_dbg(pcf->dev, "pcf50633_irq\n"); | 443 | dev_dbg(pcf->dev, "pcf50633_irq\n"); |
444 | 444 | ||
445 | get_device(pcf->dev); | 445 | get_device(pcf->dev); |
446 | disable_irq(pcf->irq); | 446 | disable_irq_nosync(pcf->irq); |
447 | schedule_work(&pcf->irq_work); | 447 | schedule_work(&pcf->irq_work); |
448 | 448 | ||
449 | return IRQ_HANDLED; | 449 | return IRQ_HANDLED; |
diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c index c2be3088e2e1..fe24079387c5 100644 --- a/drivers/mfd/wm8350-core.c +++ b/drivers/mfd/wm8350-core.c | |||
@@ -79,10 +79,6 @@ static int wm8350_phys_read(struct wm8350 *wm8350, u8 reg, int num_regs, | |||
79 | /* Cache is CPU endian */ | 79 | /* Cache is CPU endian */ |
80 | dest[i - reg] = be16_to_cpu(dest[i - reg]); | 80 | dest[i - reg] = be16_to_cpu(dest[i - reg]); |
81 | 81 | ||
82 | /* Satisfy non-volatile bits from cache */ | ||
83 | dest[i - reg] &= wm8350_reg_io_map[i].vol; | ||
84 | dest[i - reg] |= wm8350->reg_cache[i]; | ||
85 | |||
86 | /* Mask out non-readable bits */ | 82 | /* Mask out non-readable bits */ |
87 | dest[i - reg] &= wm8350_reg_io_map[i].readable; | 83 | dest[i - reg] &= wm8350_reg_io_map[i].readable; |
88 | } | 84 | } |
@@ -182,9 +178,6 @@ static int wm8350_write(struct wm8350 *wm8350, u8 reg, int num_regs, u16 *src) | |||
182 | (wm8350->reg_cache[i] & ~wm8350_reg_io_map[i].writable) | 178 | (wm8350->reg_cache[i] & ~wm8350_reg_io_map[i].writable) |
183 | | src[i - reg]; | 179 | | src[i - reg]; |
184 | 180 | ||
185 | /* Don't store volatile bits */ | ||
186 | wm8350->reg_cache[i] &= ~wm8350_reg_io_map[i].vol; | ||
187 | |||
188 | src[i - reg] = cpu_to_be16(src[i - reg]); | 181 | src[i - reg] = cpu_to_be16(src[i - reg]); |
189 | } | 182 | } |
190 | 183 | ||
@@ -1261,7 +1254,6 @@ static int wm8350_create_cache(struct wm8350 *wm8350, int type, int mode) | |||
1261 | (i < WM8350_CLOCK_CONTROL_1 || i > WM8350_AIF_TEST)) { | 1254 | (i < WM8350_CLOCK_CONTROL_1 || i > WM8350_AIF_TEST)) { |
1262 | value = be16_to_cpu(wm8350->reg_cache[i]); | 1255 | value = be16_to_cpu(wm8350->reg_cache[i]); |
1263 | value &= wm8350_reg_io_map[i].readable; | 1256 | value &= wm8350_reg_io_map[i].readable; |
1264 | value &= ~wm8350_reg_io_map[i].vol; | ||
1265 | wm8350->reg_cache[i] = value; | 1257 | wm8350->reg_cache[i] = value; |
1266 | } else | 1258 | } else |
1267 | wm8350->reg_cache[i] = reg_map[i]; | 1259 | wm8350->reg_cache[i] = reg_map[i]; |
diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c index 3cf61ece71d7..348443bdb23b 100644 --- a/drivers/misc/enclosure.c +++ b/drivers/misc/enclosure.c | |||
@@ -119,7 +119,7 @@ enclosure_register(struct device *dev, const char *name, int components, | |||
119 | edev->edev.class = &enclosure_class; | 119 | edev->edev.class = &enclosure_class; |
120 | edev->edev.parent = get_device(dev); | 120 | edev->edev.parent = get_device(dev); |
121 | edev->cb = cb; | 121 | edev->cb = cb; |
122 | dev_set_name(&edev->edev, name); | 122 | dev_set_name(&edev->edev, "%s", name); |
123 | err = device_register(&edev->edev); | 123 | err = device_register(&edev->edev); |
124 | if (err) | 124 | if (err) |
125 | goto err; | 125 | goto err; |
@@ -255,8 +255,8 @@ enclosure_component_register(struct enclosure_device *edev, | |||
255 | ecomp->number = number; | 255 | ecomp->number = number; |
256 | cdev = &ecomp->cdev; | 256 | cdev = &ecomp->cdev; |
257 | cdev->parent = get_device(&edev->edev); | 257 | cdev->parent = get_device(&edev->edev); |
258 | if (name) | 258 | if (name && name[0]) |
259 | dev_set_name(cdev, name); | 259 | dev_set_name(cdev, "%s", name); |
260 | else | 260 | else |
261 | dev_set_name(cdev, "%u", number); | 261 | dev_set_name(cdev, "%u", number); |
262 | 262 | ||
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 36875dcfa492..7d4febdab286 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c | |||
@@ -490,7 +490,7 @@ static void mmci_check_status(unsigned long data) | |||
490 | mod_timer(&host->timer, jiffies + HZ); | 490 | mod_timer(&host->timer, jiffies + HZ); |
491 | } | 491 | } |
492 | 492 | ||
493 | static int __devinit mmci_probe(struct amba_device *dev, void *id) | 493 | static int __devinit mmci_probe(struct amba_device *dev, struct amba_id *id) |
494 | { | 494 | { |
495 | struct mmc_platform_data *plat = dev->dev.platform_data; | 495 | struct mmc_platform_data *plat = dev->dev.platform_data; |
496 | struct mmci_host *host; | 496 | struct mmci_host *host; |
diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c index 62dee54af0a5..43976aa4dbb1 100644 --- a/drivers/mtd/devices/mtd_dataflash.c +++ b/drivers/mtd/devices/mtd_dataflash.c | |||
@@ -178,7 +178,7 @@ static int dataflash_erase(struct mtd_info *mtd, struct erase_info *instr) | |||
178 | /* Calculate flash page address; use block erase (for speed) if | 178 | /* Calculate flash page address; use block erase (for speed) if |
179 | * we're at a block boundary and need to erase the whole block. | 179 | * we're at a block boundary and need to erase the whole block. |
180 | */ | 180 | */ |
181 | pageaddr = div_u64(instr->len, priv->page_size); | 181 | pageaddr = div_u64(instr->addr, priv->page_size); |
182 | do_block = (pageaddr & 0x7) == 0 && instr->len >= blocksize; | 182 | do_block = (pageaddr & 0x7) == 0 && instr->len >= blocksize; |
183 | pageaddr = pageaddr << priv->page_offset; | 183 | pageaddr = pageaddr << priv->page_offset; |
184 | 184 | ||
diff --git a/drivers/mtd/mtdsuper.c b/drivers/mtd/mtdsuper.c index 92285d0089c2..af8b42e0a55b 100644 --- a/drivers/mtd/mtdsuper.c +++ b/drivers/mtd/mtdsuper.c | |||
@@ -74,8 +74,7 @@ static int get_sb_mtd_aux(struct file_system_type *fs_type, int flags, | |||
74 | 74 | ||
75 | ret = fill_super(sb, data, flags & MS_SILENT ? 1 : 0); | 75 | ret = fill_super(sb, data, flags & MS_SILENT ? 1 : 0); |
76 | if (ret < 0) { | 76 | if (ret < 0) { |
77 | up_write(&sb->s_umount); | 77 | deactivate_locked_super(sb); |
78 | deactivate_super(sb); | ||
79 | return ret; | 78 | return ret; |
80 | } | 79 | } |
81 | 80 | ||
diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index f3548d048014..40c26080ecda 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c | |||
@@ -831,6 +831,7 @@ static void mxc_nand_command(struct mtd_info *mtd, unsigned command, | |||
831 | break; | 831 | break; |
832 | 832 | ||
833 | case NAND_CMD_READID: | 833 | case NAND_CMD_READID: |
834 | host->col_addr = 0; | ||
834 | send_read_id(host); | 835 | send_read_id(host); |
835 | break; | 836 | break; |
836 | 837 | ||
@@ -867,6 +868,7 @@ static int __init mxcnd_probe(struct platform_device *pdev) | |||
867 | mtd->priv = this; | 868 | mtd->priv = this; |
868 | mtd->owner = THIS_MODULE; | 869 | mtd->owner = THIS_MODULE; |
869 | mtd->dev.parent = &pdev->dev; | 870 | mtd->dev.parent = &pdev->dev; |
871 | mtd->name = "mxc_nand"; | ||
870 | 872 | ||
871 | /* 50 us command delay time */ | 873 | /* 50 us command delay time */ |
872 | this->chip_delay = 5; | 874 | this->chip_delay = 5; |
@@ -882,8 +884,10 @@ static int __init mxcnd_probe(struct platform_device *pdev) | |||
882 | this->verify_buf = mxc_nand_verify_buf; | 884 | this->verify_buf = mxc_nand_verify_buf; |
883 | 885 | ||
884 | host->clk = clk_get(&pdev->dev, "nfc"); | 886 | host->clk = clk_get(&pdev->dev, "nfc"); |
885 | if (IS_ERR(host->clk)) | 887 | if (IS_ERR(host->clk)) { |
888 | err = PTR_ERR(host->clk); | ||
886 | goto eclk; | 889 | goto eclk; |
890 | } | ||
887 | 891 | ||
888 | clk_enable(host->clk); | 892 | clk_enable(host->clk); |
889 | host->clk_act = 1; | 893 | host->clk_act = 1; |
@@ -896,7 +900,7 @@ static int __init mxcnd_probe(struct platform_device *pdev) | |||
896 | 900 | ||
897 | host->regs = ioremap(res->start, res->end - res->start + 1); | 901 | host->regs = ioremap(res->start, res->end - res->start + 1); |
898 | if (!host->regs) { | 902 | if (!host->regs) { |
899 | err = -EIO; | 903 | err = -ENOMEM; |
900 | goto eres; | 904 | goto eres; |
901 | } | 905 | } |
902 | 906 | ||
@@ -1011,30 +1015,35 @@ static int __devexit mxcnd_remove(struct platform_device *pdev) | |||
1011 | #ifdef CONFIG_PM | 1015 | #ifdef CONFIG_PM |
1012 | static int mxcnd_suspend(struct platform_device *pdev, pm_message_t state) | 1016 | static int mxcnd_suspend(struct platform_device *pdev, pm_message_t state) |
1013 | { | 1017 | { |
1014 | struct mtd_info *info = platform_get_drvdata(pdev); | 1018 | struct mtd_info *mtd = platform_get_drvdata(pdev); |
1019 | struct nand_chip *nand_chip = mtd->priv; | ||
1020 | struct mxc_nand_host *host = nand_chip->priv; | ||
1015 | int ret = 0; | 1021 | int ret = 0; |
1016 | 1022 | ||
1017 | DEBUG(MTD_DEBUG_LEVEL0, "MXC_ND : NAND suspend\n"); | 1023 | DEBUG(MTD_DEBUG_LEVEL0, "MXC_ND : NAND suspend\n"); |
1018 | if (info) | 1024 | if (mtd) { |
1019 | ret = info->suspend(info); | 1025 | ret = mtd->suspend(mtd); |
1020 | 1026 | /* Disable the NFC clock */ | |
1021 | /* Disable the NFC clock */ | 1027 | clk_disable(host->clk); |
1022 | clk_disable(nfc_clk); /* FIXME */ | 1028 | } |
1023 | 1029 | ||
1024 | return ret; | 1030 | return ret; |
1025 | } | 1031 | } |
1026 | 1032 | ||
1027 | static int mxcnd_resume(struct platform_device *pdev) | 1033 | static int mxcnd_resume(struct platform_device *pdev) |
1028 | { | 1034 | { |
1029 | struct mtd_info *info = platform_get_drvdata(pdev); | 1035 | struct mtd_info *mtd = platform_get_drvdata(pdev); |
1036 | struct nand_chip *nand_chip = mtd->priv; | ||
1037 | struct mxc_nand_host *host = nand_chip->priv; | ||
1030 | int ret = 0; | 1038 | int ret = 0; |
1031 | 1039 | ||
1032 | DEBUG(MTD_DEBUG_LEVEL0, "MXC_ND : NAND resume\n"); | 1040 | DEBUG(MTD_DEBUG_LEVEL0, "MXC_ND : NAND resume\n"); |
1033 | /* Enable the NFC clock */ | ||
1034 | clk_enable(nfc_clk); /* FIXME */ | ||
1035 | 1041 | ||
1036 | if (info) | 1042 | if (mtd) { |
1037 | info->resume(info); | 1043 | /* Enable the NFC clock */ |
1044 | clk_enable(host->clk); | ||
1045 | mtd->resume(mtd); | ||
1046 | } | ||
1038 | 1047 | ||
1039 | return ret; | 1048 | return ret; |
1040 | } | 1049 | } |
@@ -1055,13 +1064,7 @@ static struct platform_driver mxcnd_driver = { | |||
1055 | 1064 | ||
1056 | static int __init mxc_nd_init(void) | 1065 | static int __init mxc_nd_init(void) |
1057 | { | 1066 | { |
1058 | /* Register the device driver structure. */ | 1067 | return platform_driver_probe(&mxcnd_driver, mxcnd_probe); |
1059 | pr_info("MXC MTD nand Driver\n"); | ||
1060 | if (platform_driver_probe(&mxcnd_driver, mxcnd_probe) != 0) { | ||
1061 | printk(KERN_ERR "Driver register failed for mxcnd_driver\n"); | ||
1062 | return -ENODEV; | ||
1063 | } | ||
1064 | return 0; | ||
1065 | } | 1068 | } |
1066 | 1069 | ||
1067 | static void __exit mxc_nd_cleanup(void) | 1070 | static void __exit mxc_nd_cleanup(void) |
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c index fbb371921991..682aad897081 100644 --- a/drivers/net/3c509.c +++ b/drivers/net/3c509.c | |||
@@ -480,9 +480,13 @@ static int pnp_registered; | |||
480 | 480 | ||
481 | #ifdef CONFIG_EISA | 481 | #ifdef CONFIG_EISA |
482 | static struct eisa_device_id el3_eisa_ids[] = { | 482 | static struct eisa_device_id el3_eisa_ids[] = { |
483 | { "TCM5090" }, | ||
484 | { "TCM5091" }, | ||
483 | { "TCM5092" }, | 485 | { "TCM5092" }, |
484 | { "TCM5093" }, | 486 | { "TCM5093" }, |
487 | { "TCM5094" }, | ||
485 | { "TCM5095" }, | 488 | { "TCM5095" }, |
489 | { "TCM5098" }, | ||
486 | { "" } | 490 | { "" } |
487 | }; | 491 | }; |
488 | MODULE_DEVICE_TABLE(eisa, el3_eisa_ids); | 492 | MODULE_DEVICE_TABLE(eisa, el3_eisa_ids); |
diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 1fc4602a6ff2..a1c25cb4669f 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile | |||
@@ -102,7 +102,7 @@ obj-$(CONFIG_HAMACHI) += hamachi.o | |||
102 | obj-$(CONFIG_NET) += Space.o loopback.o | 102 | obj-$(CONFIG_NET) += Space.o loopback.o |
103 | obj-$(CONFIG_SEEQ8005) += seeq8005.o | 103 | obj-$(CONFIG_SEEQ8005) += seeq8005.o |
104 | obj-$(CONFIG_NET_SB1000) += sb1000.o | 104 | obj-$(CONFIG_NET_SB1000) += sb1000.o |
105 | obj-$(CONFIG_MAC8390) += mac8390.o 8390.o | 105 | obj-$(CONFIG_MAC8390) += mac8390.o |
106 | obj-$(CONFIG_APNE) += apne.o 8390.o | 106 | obj-$(CONFIG_APNE) += apne.o 8390.o |
107 | obj-$(CONFIG_PCMCIA_PCNET) += 8390.o | 107 | obj-$(CONFIG_PCMCIA_PCNET) += 8390.o |
108 | obj-$(CONFIG_HP100) += hp100.o | 108 | obj-$(CONFIG_HP100) += hp100.o |
diff --git a/drivers/net/arm/ixp4xx_eth.c b/drivers/net/arm/ixp4xx_eth.c index 448487e22fa3..a740053d3af3 100644 --- a/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c | |||
@@ -338,12 +338,12 @@ static int ixp4xx_mdio_register(void) | |||
338 | if (cpu_is_ixp43x()) { | 338 | if (cpu_is_ixp43x()) { |
339 | /* IXP43x lacks NPE-B and uses NPE-C for MII PHY access */ | 339 | /* IXP43x lacks NPE-B and uses NPE-C for MII PHY access */ |
340 | if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEC_ETH)) | 340 | if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEC_ETH)) |
341 | return -ENOSYS; | 341 | return -ENODEV; |
342 | mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthC_BASE_VIRT; | 342 | mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthC_BASE_VIRT; |
343 | } else { | 343 | } else { |
344 | /* All MII PHY accesses use NPE-B Ethernet registers */ | 344 | /* All MII PHY accesses use NPE-B Ethernet registers */ |
345 | if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEB_ETH0)) | 345 | if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEB_ETH0)) |
346 | return -ENOSYS; | 346 | return -ENODEV; |
347 | mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthB_BASE_VIRT; | 347 | mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthB_BASE_VIRT; |
348 | } | 348 | } |
349 | 349 | ||
@@ -1174,7 +1174,7 @@ static int __devinit eth_init_one(struct platform_device *pdev) | |||
1174 | regs_phys = IXP4XX_EthC_BASE_PHYS; | 1174 | regs_phys = IXP4XX_EthC_BASE_PHYS; |
1175 | break; | 1175 | break; |
1176 | default: | 1176 | default: |
1177 | err = -ENOSYS; | 1177 | err = -ENODEV; |
1178 | goto err_free; | 1178 | goto err_free; |
1179 | } | 1179 | } |
1180 | 1180 | ||
@@ -1189,15 +1189,10 @@ static int __devinit eth_init_one(struct platform_device *pdev) | |||
1189 | goto err_free; | 1189 | goto err_free; |
1190 | } | 1190 | } |
1191 | 1191 | ||
1192 | if (register_netdev(dev)) { | ||
1193 | err = -EIO; | ||
1194 | goto err_npe_rel; | ||
1195 | } | ||
1196 | |||
1197 | port->mem_res = request_mem_region(regs_phys, REGS_SIZE, dev->name); | 1192 | port->mem_res = request_mem_region(regs_phys, REGS_SIZE, dev->name); |
1198 | if (!port->mem_res) { | 1193 | if (!port->mem_res) { |
1199 | err = -EBUSY; | 1194 | err = -EBUSY; |
1200 | goto err_unreg; | 1195 | goto err_npe_rel; |
1201 | } | 1196 | } |
1202 | 1197 | ||
1203 | port->plat = plat; | 1198 | port->plat = plat; |
@@ -1215,20 +1210,25 @@ static int __devinit eth_init_one(struct platform_device *pdev) | |||
1215 | snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, "0", plat->phy); | 1210 | snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, "0", plat->phy); |
1216 | port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0, | 1211 | port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0, |
1217 | PHY_INTERFACE_MODE_MII); | 1212 | PHY_INTERFACE_MODE_MII); |
1218 | if (IS_ERR(port->phydev)) { | 1213 | if ((err = IS_ERR(port->phydev))) |
1219 | printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name); | 1214 | goto err_free_mem; |
1220 | return PTR_ERR(port->phydev); | ||
1221 | } | ||
1222 | 1215 | ||
1223 | port->phydev->irq = PHY_POLL; | 1216 | port->phydev->irq = PHY_POLL; |
1224 | 1217 | ||
1218 | if ((err = register_netdev(dev))) | ||
1219 | goto err_phy_dis; | ||
1220 | |||
1225 | printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy, | 1221 | printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy, |
1226 | npe_name(port->npe)); | 1222 | npe_name(port->npe)); |
1227 | 1223 | ||
1228 | return 0; | 1224 | return 0; |
1229 | 1225 | ||
1230 | err_unreg: | 1226 | err_phy_dis: |
1231 | unregister_netdev(dev); | 1227 | phy_disconnect(port->phydev); |
1228 | err_free_mem: | ||
1229 | npe_port_tab[NPE_ID(port->id)] = NULL; | ||
1230 | platform_set_drvdata(pdev, NULL); | ||
1231 | release_resource(port->mem_res); | ||
1232 | err_npe_rel: | 1232 | err_npe_rel: |
1233 | npe_release(port->npe); | 1233 | npe_release(port->npe); |
1234 | err_free: | 1234 | err_free: |
@@ -1242,6 +1242,7 @@ static int __devexit eth_remove_one(struct platform_device *pdev) | |||
1242 | struct port *port = netdev_priv(dev); | 1242 | struct port *port = netdev_priv(dev); |
1243 | 1243 | ||
1244 | unregister_netdev(dev); | 1244 | unregister_netdev(dev); |
1245 | phy_disconnect(port->phydev); | ||
1245 | npe_port_tab[NPE_ID(port->id)] = NULL; | 1246 | npe_port_tab[NPE_ID(port->id)] = NULL; |
1246 | platform_set_drvdata(pdev, NULL); | 1247 | platform_set_drvdata(pdev, NULL); |
1247 | npe_release(port->npe); | 1248 | npe_release(port->npe); |
diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c index fb57b750866b..1342418fb209 100644 --- a/drivers/net/atl1e/atl1e_main.c +++ b/drivers/net/atl1e/atl1e_main.c | |||
@@ -37,6 +37,7 @@ char atl1e_driver_version[] = DRV_VERSION; | |||
37 | */ | 37 | */ |
38 | static struct pci_device_id atl1e_pci_tbl[] = { | 38 | static struct pci_device_id atl1e_pci_tbl[] = { |
39 | {PCI_DEVICE(PCI_VENDOR_ID_ATTANSIC, PCI_DEVICE_ID_ATTANSIC_L1E)}, | 39 | {PCI_DEVICE(PCI_VENDOR_ID_ATTANSIC, PCI_DEVICE_ID_ATTANSIC_L1E)}, |
40 | {PCI_DEVICE(PCI_VENDOR_ID_ATTANSIC, 0x1066)}, | ||
40 | /* required last entry */ | 41 | /* required last entry */ |
41 | { 0 } | 42 | { 0 } |
42 | }; | 43 | }; |
diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c index 0ab22540bf59..4e817126e280 100644 --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c | |||
@@ -82,6 +82,12 @@ | |||
82 | 82 | ||
83 | #include "atl1.h" | 83 | #include "atl1.h" |
84 | 84 | ||
85 | #define ATLX_DRIVER_VERSION "2.1.3" | ||
86 | MODULE_AUTHOR("Xiong Huang <xiong.huang@atheros.com>, \ | ||
87 | Chris Snook <csnook@redhat.com>, Jay Cliburn <jcliburn@gmail.com>"); | ||
88 | MODULE_LICENSE("GPL"); | ||
89 | MODULE_VERSION(ATLX_DRIVER_VERSION); | ||
90 | |||
85 | /* Temporary hack for merging atl1 and atl2 */ | 91 | /* Temporary hack for merging atl1 and atl2 */ |
86 | #include "atlx.c" | 92 | #include "atlx.c" |
87 | 93 | ||
diff --git a/drivers/net/atlx/atlx.h b/drivers/net/atlx/atlx.h index 297a03da6b7f..14054b75aa62 100644 --- a/drivers/net/atlx/atlx.h +++ b/drivers/net/atlx/atlx.h | |||
@@ -29,12 +29,6 @@ | |||
29 | #include <linux/module.h> | 29 | #include <linux/module.h> |
30 | #include <linux/types.h> | 30 | #include <linux/types.h> |
31 | 31 | ||
32 | #define ATLX_DRIVER_VERSION "2.1.3" | ||
33 | MODULE_AUTHOR("Xiong Huang <xiong.huang@atheros.com>, \ | ||
34 | Chris Snook <csnook@redhat.com>, Jay Cliburn <jcliburn@gmail.com>"); | ||
35 | MODULE_LICENSE("GPL"); | ||
36 | MODULE_VERSION(ATLX_DRIVER_VERSION); | ||
37 | |||
38 | #define ATLX_ERR_PHY 2 | 32 | #define ATLX_ERR_PHY 2 |
39 | #define ATLX_ERR_PHY_SPEED 7 | 33 | #define ATLX_ERR_PHY_SPEED 7 |
40 | #define ATLX_ERR_PHY_RES 8 | 34 | #define ATLX_ERR_PHY_RES 8 |
diff --git a/drivers/net/benet/be.h b/drivers/net/benet/be.h index c49ddd08b2aa..b4bb06fdf307 100644 --- a/drivers/net/benet/be.h +++ b/drivers/net/benet/be.h | |||
@@ -35,8 +35,22 @@ | |||
35 | #define DRV_VER "2.0.348" | 35 | #define DRV_VER "2.0.348" |
36 | #define DRV_NAME "be2net" | 36 | #define DRV_NAME "be2net" |
37 | #define BE_NAME "ServerEngines BladeEngine2 10Gbps NIC" | 37 | #define BE_NAME "ServerEngines BladeEngine2 10Gbps NIC" |
38 | #define OC_NAME "Emulex OneConnect 10Gbps NIC" | ||
38 | #define DRV_DESC BE_NAME "Driver" | 39 | #define DRV_DESC BE_NAME "Driver" |
39 | 40 | ||
41 | #define BE_VENDOR_ID 0x19a2 | ||
42 | #define BE_DEVICE_ID1 0x211 | ||
43 | #define OC_DEVICE_ID1 0x700 | ||
44 | #define OC_DEVICE_ID2 0x701 | ||
45 | |||
46 | static inline char *nic_name(struct pci_dev *pdev) | ||
47 | { | ||
48 | if (pdev->device == OC_DEVICE_ID1 || pdev->device == OC_DEVICE_ID2) | ||
49 | return OC_NAME; | ||
50 | else | ||
51 | return BE_NAME; | ||
52 | } | ||
53 | |||
40 | /* Number of bytes of an RX frame that are copied to skb->data */ | 54 | /* Number of bytes of an RX frame that are copied to skb->data */ |
41 | #define BE_HDR_LEN 64 | 55 | #define BE_HDR_LEN 64 |
42 | #define BE_MAX_JUMBO_FRAME_SIZE 9018 | 56 | #define BE_MAX_JUMBO_FRAME_SIZE 9018 |
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 30d0c81c989e..5c378b5e8e41 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c | |||
@@ -28,10 +28,10 @@ static unsigned int rx_frag_size = 2048; | |||
28 | module_param(rx_frag_size, uint, S_IRUGO); | 28 | module_param(rx_frag_size, uint, S_IRUGO); |
29 | MODULE_PARM_DESC(rx_frag_size, "Size of a fragment that holds rcvd data."); | 29 | MODULE_PARM_DESC(rx_frag_size, "Size of a fragment that holds rcvd data."); |
30 | 30 | ||
31 | #define BE_VENDOR_ID 0x19a2 | ||
32 | #define BE2_DEVICE_ID_1 0x0211 | ||
33 | static DEFINE_PCI_DEVICE_TABLE(be_dev_ids) = { | 31 | static DEFINE_PCI_DEVICE_TABLE(be_dev_ids) = { |
34 | { PCI_DEVICE(BE_VENDOR_ID, BE2_DEVICE_ID_1) }, | 32 | { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) }, |
33 | { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) }, | ||
34 | { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) }, | ||
35 | { 0 } | 35 | { 0 } |
36 | }; | 36 | }; |
37 | MODULE_DEVICE_TABLE(pci, be_dev_ids); | 37 | MODULE_DEVICE_TABLE(pci, be_dev_ids); |
@@ -1859,7 +1859,7 @@ static int __devinit be_probe(struct pci_dev *pdev, | |||
1859 | if (status != 0) | 1859 | if (status != 0) |
1860 | goto stats_clean; | 1860 | goto stats_clean; |
1861 | 1861 | ||
1862 | dev_info(&pdev->dev, BE_NAME " port %d\n", adapter->port_num); | 1862 | dev_info(&pdev->dev, "%s port %d\n", nic_name(pdev), adapter->port_num); |
1863 | return 0; | 1863 | return 0; |
1864 | 1864 | ||
1865 | stats_clean: | 1865 | stats_clean: |
@@ -1873,7 +1873,7 @@ rel_reg: | |||
1873 | disable_dev: | 1873 | disable_dev: |
1874 | pci_disable_device(pdev); | 1874 | pci_disable_device(pdev); |
1875 | do_none: | 1875 | do_none: |
1876 | dev_warn(&pdev->dev, BE_NAME " initialization failed\n"); | 1876 | dev_err(&pdev->dev, "%s initialization failed\n", nic_name(pdev)); |
1877 | return status; | 1877 | return status; |
1878 | } | 1878 | } |
1879 | 1879 | ||
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index 9f971ed6b58d..b4da18213324 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c | |||
@@ -979,22 +979,7 @@ static int bfin_mac_open(struct net_device *dev) | |||
979 | return 0; | 979 | return 0; |
980 | } | 980 | } |
981 | 981 | ||
982 | static const struct net_device_ops bfin_mac_netdev_ops = { | ||
983 | .ndo_open = bfin_mac_open, | ||
984 | .ndo_stop = bfin_mac_close, | ||
985 | .ndo_start_xmit = bfin_mac_hard_start_xmit, | ||
986 | .ndo_set_mac_address = bfin_mac_set_mac_address, | ||
987 | .ndo_tx_timeout = bfin_mac_timeout, | ||
988 | .ndo_set_multicast_list = bfin_mac_set_multicast_list, | ||
989 | .ndo_validate_addr = eth_validate_addr, | ||
990 | .ndo_change_mtu = eth_change_mtu, | ||
991 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
992 | .ndo_poll_controller = bfin_mac_poll, | ||
993 | #endif | ||
994 | }; | ||
995 | |||
996 | /* | 982 | /* |
997 | * | ||
998 | * this makes the board clean up everything that it can | 983 | * this makes the board clean up everything that it can |
999 | * and not talk to the outside world. Caused by | 984 | * and not talk to the outside world. Caused by |
1000 | * an 'ifconfig ethX down' | 985 | * an 'ifconfig ethX down' |
@@ -1019,6 +1004,20 @@ static int bfin_mac_close(struct net_device *dev) | |||
1019 | return 0; | 1004 | return 0; |
1020 | } | 1005 | } |
1021 | 1006 | ||
1007 | static const struct net_device_ops bfin_mac_netdev_ops = { | ||
1008 | .ndo_open = bfin_mac_open, | ||
1009 | .ndo_stop = bfin_mac_close, | ||
1010 | .ndo_start_xmit = bfin_mac_hard_start_xmit, | ||
1011 | .ndo_set_mac_address = bfin_mac_set_mac_address, | ||
1012 | .ndo_tx_timeout = bfin_mac_timeout, | ||
1013 | .ndo_set_multicast_list = bfin_mac_set_multicast_list, | ||
1014 | .ndo_validate_addr = eth_validate_addr, | ||
1015 | .ndo_change_mtu = eth_change_mtu, | ||
1016 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
1017 | .ndo_poll_controller = bfin_mac_poll, | ||
1018 | #endif | ||
1019 | }; | ||
1020 | |||
1022 | static int __devinit bfin_mac_probe(struct platform_device *pdev) | 1021 | static int __devinit bfin_mac_probe(struct platform_device *pdev) |
1023 | { | 1022 | { |
1024 | struct net_device *ndev; | 1023 | struct net_device *ndev; |
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index d47839184a06..b0cb29d4cc01 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -54,8 +54,8 @@ | |||
54 | 54 | ||
55 | #define DRV_MODULE_NAME "bnx2" | 55 | #define DRV_MODULE_NAME "bnx2" |
56 | #define PFX DRV_MODULE_NAME ": " | 56 | #define PFX DRV_MODULE_NAME ": " |
57 | #define DRV_MODULE_VERSION "2.0.0" | 57 | #define DRV_MODULE_VERSION "2.0.1" |
58 | #define DRV_MODULE_RELDATE "April 2, 2009" | 58 | #define DRV_MODULE_RELDATE "May 6, 2009" |
59 | #define FW_MIPS_FILE_06 "bnx2/bnx2-mips-06-4.6.16.fw" | 59 | #define FW_MIPS_FILE_06 "bnx2/bnx2-mips-06-4.6.16.fw" |
60 | #define FW_RV2P_FILE_06 "bnx2/bnx2-rv2p-06-4.6.16.fw" | 60 | #define FW_RV2P_FILE_06 "bnx2/bnx2-rv2p-06-4.6.16.fw" |
61 | #define FW_MIPS_FILE_09 "bnx2/bnx2-mips-09-4.6.17.fw" | 61 | #define FW_MIPS_FILE_09 "bnx2/bnx2-mips-09-4.6.17.fw" |
@@ -2600,6 +2600,7 @@ bnx2_get_hw_tx_cons(struct bnx2_napi *bnapi) | |||
2600 | /* Tell compiler that status block fields can change. */ | 2600 | /* Tell compiler that status block fields can change. */ |
2601 | barrier(); | 2601 | barrier(); |
2602 | cons = *bnapi->hw_tx_cons_ptr; | 2602 | cons = *bnapi->hw_tx_cons_ptr; |
2603 | barrier(); | ||
2603 | if (unlikely((cons & MAX_TX_DESC_CNT) == MAX_TX_DESC_CNT)) | 2604 | if (unlikely((cons & MAX_TX_DESC_CNT) == MAX_TX_DESC_CNT)) |
2604 | cons++; | 2605 | cons++; |
2605 | return cons; | 2606 | return cons; |
@@ -2879,6 +2880,7 @@ bnx2_get_hw_rx_cons(struct bnx2_napi *bnapi) | |||
2879 | /* Tell compiler that status block fields can change. */ | 2880 | /* Tell compiler that status block fields can change. */ |
2880 | barrier(); | 2881 | barrier(); |
2881 | cons = *bnapi->hw_rx_cons_ptr; | 2882 | cons = *bnapi->hw_rx_cons_ptr; |
2883 | barrier(); | ||
2882 | if (unlikely((cons & MAX_RX_DESC_CNT) == MAX_RX_DESC_CNT)) | 2884 | if (unlikely((cons & MAX_RX_DESC_CNT) == MAX_RX_DESC_CNT)) |
2883 | cons++; | 2885 | cons++; |
2884 | return cons; | 2886 | return cons; |
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index 8c2e5ab51f08..faf094abef7f 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c | |||
@@ -1465,6 +1465,12 @@ static struct aggregator *ad_agg_selection_test(struct aggregator *best, | |||
1465 | return best; | 1465 | return best; |
1466 | } | 1466 | } |
1467 | 1467 | ||
1468 | static int agg_device_up(const struct aggregator *agg) | ||
1469 | { | ||
1470 | return (netif_running(agg->slave->dev) && | ||
1471 | netif_carrier_ok(agg->slave->dev)); | ||
1472 | } | ||
1473 | |||
1468 | /** | 1474 | /** |
1469 | * ad_agg_selection_logic - select an aggregation group for a team | 1475 | * ad_agg_selection_logic - select an aggregation group for a team |
1470 | * @aggregator: the aggregator we're looking at | 1476 | * @aggregator: the aggregator we're looking at |
@@ -1496,14 +1502,13 @@ static void ad_agg_selection_logic(struct aggregator *agg) | |||
1496 | struct port *port; | 1502 | struct port *port; |
1497 | 1503 | ||
1498 | origin = agg; | 1504 | origin = agg; |
1499 | |||
1500 | active = __get_active_agg(agg); | 1505 | active = __get_active_agg(agg); |
1501 | best = active; | 1506 | best = (active && agg_device_up(active)) ? active : NULL; |
1502 | 1507 | ||
1503 | do { | 1508 | do { |
1504 | agg->is_active = 0; | 1509 | agg->is_active = 0; |
1505 | 1510 | ||
1506 | if (agg->num_of_ports) | 1511 | if (agg->num_of_ports && agg_device_up(agg)) |
1507 | best = ad_agg_selection_test(best, agg); | 1512 | best = ad_agg_selection_test(best, agg); |
1508 | 1513 | ||
1509 | } while ((agg = __get_next_agg(agg))); | 1514 | } while ((agg = __get_next_agg(agg))); |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 2188a96fc090..74824028f85c 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -5181,7 +5181,6 @@ static int __init bonding_init(void) | |||
5181 | { | 5181 | { |
5182 | int i; | 5182 | int i; |
5183 | int res; | 5183 | int res; |
5184 | struct bonding *bond; | ||
5185 | 5184 | ||
5186 | printk(KERN_INFO "%s", version); | 5185 | printk(KERN_INFO "%s", version); |
5187 | 5186 | ||
@@ -5212,13 +5211,6 @@ static int __init bonding_init(void) | |||
5212 | 5211 | ||
5213 | goto out; | 5212 | goto out; |
5214 | err: | 5213 | err: |
5215 | list_for_each_entry(bond, &bond_dev_list, bond_list) { | ||
5216 | bond_work_cancel_all(bond); | ||
5217 | destroy_workqueue(bond->wq); | ||
5218 | } | ||
5219 | |||
5220 | bond_destroy_sysfs(); | ||
5221 | |||
5222 | rtnl_lock(); | 5214 | rtnl_lock(); |
5223 | bond_free_all(); | 5215 | bond_free_all(); |
5224 | rtnl_unlock(); | 5216 | rtnl_unlock(); |
diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h index 714df2b675e6..c888e97c9671 100644 --- a/drivers/net/cxgb3/adapter.h +++ b/drivers/net/cxgb3/adapter.h | |||
@@ -85,8 +85,8 @@ struct fl_pg_chunk { | |||
85 | struct page *page; | 85 | struct page *page; |
86 | void *va; | 86 | void *va; |
87 | unsigned int offset; | 87 | unsigned int offset; |
88 | u64 *p_cnt; | 88 | unsigned long *p_cnt; |
89 | DECLARE_PCI_UNMAP_ADDR(mapping); | 89 | dma_addr_t mapping; |
90 | }; | 90 | }; |
91 | 91 | ||
92 | struct rx_desc; | 92 | struct rx_desc; |
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c index 7ea48414c6cb..17858b9a5830 100644 --- a/drivers/net/cxgb3/cxgb3_main.c +++ b/drivers/net/cxgb3/cxgb3_main.c | |||
@@ -2496,14 +2496,16 @@ static void check_link_status(struct adapter *adapter) | |||
2496 | for_each_port(adapter, i) { | 2496 | for_each_port(adapter, i) { |
2497 | struct net_device *dev = adapter->port[i]; | 2497 | struct net_device *dev = adapter->port[i]; |
2498 | struct port_info *p = netdev_priv(dev); | 2498 | struct port_info *p = netdev_priv(dev); |
2499 | int link_fault; | ||
2499 | 2500 | ||
2500 | spin_lock_irq(&adapter->work_lock); | 2501 | spin_lock_irq(&adapter->work_lock); |
2501 | if (p->link_fault) { | 2502 | link_fault = p->link_fault; |
2503 | spin_unlock_irq(&adapter->work_lock); | ||
2504 | |||
2505 | if (link_fault) { | ||
2502 | t3_link_fault(adapter, i); | 2506 | t3_link_fault(adapter, i); |
2503 | spin_unlock_irq(&adapter->work_lock); | ||
2504 | continue; | 2507 | continue; |
2505 | } | 2508 | } |
2506 | spin_unlock_irq(&adapter->work_lock); | ||
2507 | 2509 | ||
2508 | if (!(p->phy.caps & SUPPORTED_IRQ) && netif_running(dev)) { | 2510 | if (!(p->phy.caps & SUPPORTED_IRQ) && netif_running(dev)) { |
2509 | t3_xgm_intr_disable(adapter, i); | 2511 | t3_xgm_intr_disable(adapter, i); |
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 26d3587f3399..b3ee2bc1a005 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c | |||
@@ -355,7 +355,7 @@ static void clear_rx_desc(struct pci_dev *pdev, const struct sge_fl *q, | |||
355 | (*d->pg_chunk.p_cnt)--; | 355 | (*d->pg_chunk.p_cnt)--; |
356 | if (!*d->pg_chunk.p_cnt) | 356 | if (!*d->pg_chunk.p_cnt) |
357 | pci_unmap_page(pdev, | 357 | pci_unmap_page(pdev, |
358 | pci_unmap_addr(&d->pg_chunk, mapping), | 358 | d->pg_chunk.mapping, |
359 | q->alloc_size, PCI_DMA_FROMDEVICE); | 359 | q->alloc_size, PCI_DMA_FROMDEVICE); |
360 | 360 | ||
361 | put_page(d->pg_chunk.page); | 361 | put_page(d->pg_chunk.page); |
@@ -454,7 +454,7 @@ static int alloc_pg_chunk(struct adapter *adapter, struct sge_fl *q, | |||
454 | q->pg_chunk.offset = 0; | 454 | q->pg_chunk.offset = 0; |
455 | mapping = pci_map_page(adapter->pdev, q->pg_chunk.page, | 455 | mapping = pci_map_page(adapter->pdev, q->pg_chunk.page, |
456 | 0, q->alloc_size, PCI_DMA_FROMDEVICE); | 456 | 0, q->alloc_size, PCI_DMA_FROMDEVICE); |
457 | pci_unmap_addr_set(&q->pg_chunk, mapping, mapping); | 457 | q->pg_chunk.mapping = mapping; |
458 | } | 458 | } |
459 | sd->pg_chunk = q->pg_chunk; | 459 | sd->pg_chunk = q->pg_chunk; |
460 | 460 | ||
@@ -511,8 +511,7 @@ static int refill_fl(struct adapter *adap, struct sge_fl *q, int n, gfp_t gfp) | |||
511 | nomem: q->alloc_failed++; | 511 | nomem: q->alloc_failed++; |
512 | break; | 512 | break; |
513 | } | 513 | } |
514 | mapping = pci_unmap_addr(&sd->pg_chunk, mapping) + | 514 | mapping = sd->pg_chunk.mapping + sd->pg_chunk.offset; |
515 | sd->pg_chunk.offset; | ||
516 | pci_unmap_addr_set(sd, dma_addr, mapping); | 515 | pci_unmap_addr_set(sd, dma_addr, mapping); |
517 | 516 | ||
518 | add_one_rx_chunk(mapping, d, q->gen); | 517 | add_one_rx_chunk(mapping, d, q->gen); |
@@ -881,7 +880,7 @@ recycle: | |||
881 | (*sd->pg_chunk.p_cnt)--; | 880 | (*sd->pg_chunk.p_cnt)--; |
882 | if (!*sd->pg_chunk.p_cnt) | 881 | if (!*sd->pg_chunk.p_cnt) |
883 | pci_unmap_page(adap->pdev, | 882 | pci_unmap_page(adap->pdev, |
884 | pci_unmap_addr(&sd->pg_chunk, mapping), | 883 | sd->pg_chunk.mapping, |
885 | fl->alloc_size, | 884 | fl->alloc_size, |
886 | PCI_DMA_FROMDEVICE); | 885 | PCI_DMA_FROMDEVICE); |
887 | if (!skb) { | 886 | if (!skb) { |
@@ -2096,7 +2095,7 @@ static void lro_add_page(struct adapter *adap, struct sge_qset *qs, | |||
2096 | (*sd->pg_chunk.p_cnt)--; | 2095 | (*sd->pg_chunk.p_cnt)--; |
2097 | if (!*sd->pg_chunk.p_cnt) | 2096 | if (!*sd->pg_chunk.p_cnt) |
2098 | pci_unmap_page(adap->pdev, | 2097 | pci_unmap_page(adap->pdev, |
2099 | pci_unmap_addr(&sd->pg_chunk, mapping), | 2098 | sd->pg_chunk.mapping, |
2100 | fl->alloc_size, | 2099 | fl->alloc_size, |
2101 | PCI_DMA_FROMDEVICE); | 2100 | PCI_DMA_FROMDEVICE); |
2102 | 2101 | ||
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c index 4f68aeb2679a..4950d5d789ae 100644 --- a/drivers/net/cxgb3/t3_hw.c +++ b/drivers/net/cxgb3/t3_hw.c | |||
@@ -1274,6 +1274,11 @@ void t3_link_fault(struct adapter *adapter, int port_id) | |||
1274 | A_XGM_INT_STATUS + mac->offset); | 1274 | A_XGM_INT_STATUS + mac->offset); |
1275 | link_fault &= F_LINKFAULTCHANGE; | 1275 | link_fault &= F_LINKFAULTCHANGE; |
1276 | 1276 | ||
1277 | link_ok = lc->link_ok; | ||
1278 | speed = lc->speed; | ||
1279 | duplex = lc->duplex; | ||
1280 | fc = lc->fc; | ||
1281 | |||
1277 | phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc); | 1282 | phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc); |
1278 | 1283 | ||
1279 | if (link_fault) { | 1284 | if (link_fault) { |
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index b1419e21b46b..fffb006b7d95 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -4027,8 +4027,9 @@ static bool e1000_clean_rx_irq(struct e1000_adapter *adapter, | |||
4027 | PCI_DMA_FROMDEVICE); | 4027 | PCI_DMA_FROMDEVICE); |
4028 | 4028 | ||
4029 | length = le16_to_cpu(rx_desc->length); | 4029 | length = le16_to_cpu(rx_desc->length); |
4030 | 4030 | /* !EOP means multiple descriptors were used to store a single | |
4031 | if (unlikely(!(status & E1000_RXD_STAT_EOP))) { | 4031 | * packet, also make sure the frame isn't just CRC only */ |
4032 | if (unlikely(!(status & E1000_RXD_STAT_EOP) || (length <= 4))) { | ||
4032 | /* All receives must fit into a single buffer */ | 4033 | /* All receives must fit into a single buffer */ |
4033 | E1000_DBG("%s: Receive packet consumed multiple" | 4034 | E1000_DBG("%s: Receive packet consumed multiple" |
4034 | " buffers\n", netdev->name); | 4035 | " buffers\n", netdev->name); |
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index f9a846b1b92f..9f6a68fb7b45 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c | |||
@@ -897,6 +897,12 @@ enum { | |||
897 | }; | 897 | }; |
898 | static int phy_cross = NV_CROSSOVER_DETECTION_DISABLED; | 898 | static int phy_cross = NV_CROSSOVER_DETECTION_DISABLED; |
899 | 899 | ||
900 | /* | ||
901 | * Power down phy when interface is down (persists through reboot; | ||
902 | * older Linux and other OSes may not power it up again) | ||
903 | */ | ||
904 | static int phy_power_down = 0; | ||
905 | |||
900 | static inline struct fe_priv *get_nvpriv(struct net_device *dev) | 906 | static inline struct fe_priv *get_nvpriv(struct net_device *dev) |
901 | { | 907 | { |
902 | return netdev_priv(dev); | 908 | return netdev_priv(dev); |
@@ -1485,7 +1491,10 @@ static int phy_init(struct net_device *dev) | |||
1485 | 1491 | ||
1486 | /* restart auto negotiation, power down phy */ | 1492 | /* restart auto negotiation, power down phy */ |
1487 | mii_control = mii_rw(dev, np->phyaddr, MII_BMCR, MII_READ); | 1493 | mii_control = mii_rw(dev, np->phyaddr, MII_BMCR, MII_READ); |
1488 | mii_control |= (BMCR_ANRESTART | BMCR_ANENABLE | BMCR_PDOWN); | 1494 | mii_control |= (BMCR_ANRESTART | BMCR_ANENABLE); |
1495 | if (phy_power_down) { | ||
1496 | mii_control |= BMCR_PDOWN; | ||
1497 | } | ||
1489 | if (mii_rw(dev, np->phyaddr, MII_BMCR, mii_control)) { | 1498 | if (mii_rw(dev, np->phyaddr, MII_BMCR, mii_control)) { |
1490 | return PHY_ERROR; | 1499 | return PHY_ERROR; |
1491 | } | 1500 | } |
@@ -5513,7 +5522,7 @@ static int nv_close(struct net_device *dev) | |||
5513 | 5522 | ||
5514 | nv_drain_rxtx(dev); | 5523 | nv_drain_rxtx(dev); |
5515 | 5524 | ||
5516 | if (np->wolenabled) { | 5525 | if (np->wolenabled || !phy_power_down) { |
5517 | writel(NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR, base + NvRegPacketFilterFlags); | 5526 | writel(NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR, base + NvRegPacketFilterFlags); |
5518 | nv_start_rx(dev); | 5527 | nv_start_rx(dev); |
5519 | } else { | 5528 | } else { |
@@ -6367,6 +6376,8 @@ module_param(dma_64bit, int, 0); | |||
6367 | MODULE_PARM_DESC(dma_64bit, "High DMA is enabled by setting to 1 and disabled by setting to 0."); | 6376 | MODULE_PARM_DESC(dma_64bit, "High DMA is enabled by setting to 1 and disabled by setting to 0."); |
6368 | module_param(phy_cross, int, 0); | 6377 | module_param(phy_cross, int, 0); |
6369 | MODULE_PARM_DESC(phy_cross, "Phy crossover detection for Realtek 8201 phy is enabled by setting to 1 and disabled by setting to 0."); | 6378 | MODULE_PARM_DESC(phy_cross, "Phy crossover detection for Realtek 8201 phy is enabled by setting to 1 and disabled by setting to 0."); |
6379 | module_param(phy_power_down, int, 0); | ||
6380 | MODULE_PARM_DESC(phy_power_down, "Power down phy and disable link when interface is down (1), or leave phy powered up (0)."); | ||
6370 | 6381 | ||
6371 | MODULE_AUTHOR("Manfred Spraul <manfred@colorfullife.com>"); | 6382 | MODULE_AUTHOR("Manfred Spraul <manfred@colorfullife.com>"); |
6372 | MODULE_DESCRIPTION("Reverse Engineered nForce ethernet driver"); | 6383 | MODULE_DESCRIPTION("Reverse Engineered nForce ethernet driver"); |
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index b2c49679bba7..a0519184e54e 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c | |||
@@ -1885,8 +1885,17 @@ int gfar_clean_rx_ring(struct net_device *dev, int rx_work_limit) | |||
1885 | 1885 | ||
1886 | if (unlikely(!newskb)) | 1886 | if (unlikely(!newskb)) |
1887 | newskb = skb; | 1887 | newskb = skb; |
1888 | else if (skb) | 1888 | else if (skb) { |
1889 | /* | ||
1890 | * We need to reset ->data to what it | ||
1891 | * was before gfar_new_skb() re-aligned | ||
1892 | * it to an RXBUF_ALIGNMENT boundary | ||
1893 | * before we put the skb back on the | ||
1894 | * recycle list. | ||
1895 | */ | ||
1896 | skb->data = skb->head + NET_SKB_PAD; | ||
1889 | __skb_queue_head(&priv->rx_recycle, skb); | 1897 | __skb_queue_head(&priv->rx_recycle, skb); |
1898 | } | ||
1890 | } else { | 1899 | } else { |
1891 | /* Increment the number of packets */ | 1900 | /* Increment the number of packets */ |
1892 | dev->stats.rx_packets++; | 1901 | dev->stats.rx_packets++; |
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h index 0642d52aef5c..cf352961ae9b 100644 --- a/drivers/net/gianfar.h +++ b/drivers/net/gianfar.h | |||
@@ -259,7 +259,7 @@ extern const char gfar_driver_version[]; | |||
259 | (IEVENT_RXC | IEVENT_BSY | IEVENT_EBERR | IEVENT_MSRO | \ | 259 | (IEVENT_RXC | IEVENT_BSY | IEVENT_EBERR | IEVENT_MSRO | \ |
260 | IEVENT_BABT | IEVENT_TXC | IEVENT_TXE | IEVENT_LC \ | 260 | IEVENT_BABT | IEVENT_TXC | IEVENT_TXE | IEVENT_LC \ |
261 | | IEVENT_CRL | IEVENT_XFUN | IEVENT_DPE | IEVENT_PERR \ | 261 | | IEVENT_CRL | IEVENT_XFUN | IEVENT_DPE | IEVENT_PERR \ |
262 | | IEVENT_MAG) | 262 | | IEVENT_MAG | IEVENT_BABR) |
263 | 263 | ||
264 | #define IMASK_INIT_CLEAR 0x00000000 | 264 | #define IMASK_INIT_CLEAR 0x00000000 |
265 | #define IMASK_BABR 0x80000000 | 265 | #define IMASK_BABR 0x80000000 |
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index 08c801490c72..e25343588fc7 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -2006,7 +2006,7 @@ static void igb_setup_rctl(struct igb_adapter *adapter) | |||
2006 | struct e1000_hw *hw = &adapter->hw; | 2006 | struct e1000_hw *hw = &adapter->hw; |
2007 | u32 rctl; | 2007 | u32 rctl; |
2008 | u32 srrctl = 0; | 2008 | u32 srrctl = 0; |
2009 | int i, j; | 2009 | int i; |
2010 | 2010 | ||
2011 | rctl = rd32(E1000_RCTL); | 2011 | rctl = rd32(E1000_RCTL); |
2012 | 2012 | ||
@@ -2071,8 +2071,6 @@ static void igb_setup_rctl(struct igb_adapter *adapter) | |||
2071 | if (adapter->vfs_allocated_count) { | 2071 | if (adapter->vfs_allocated_count) { |
2072 | u32 vmolr; | 2072 | u32 vmolr; |
2073 | 2073 | ||
2074 | j = adapter->rx_ring[0].reg_idx; | ||
2075 | |||
2076 | /* set all queue drop enable bits */ | 2074 | /* set all queue drop enable bits */ |
2077 | wr32(E1000_QDE, ALL_QUEUES); | 2075 | wr32(E1000_QDE, ALL_QUEUES); |
2078 | srrctl |= E1000_SRRCTL_DROP_EN; | 2076 | srrctl |= E1000_SRRCTL_DROP_EN; |
@@ -2080,16 +2078,16 @@ static void igb_setup_rctl(struct igb_adapter *adapter) | |||
2080 | /* disable queue 0 to prevent tail write w/o re-config */ | 2078 | /* disable queue 0 to prevent tail write w/o re-config */ |
2081 | wr32(E1000_RXDCTL(0), 0); | 2079 | wr32(E1000_RXDCTL(0), 0); |
2082 | 2080 | ||
2083 | vmolr = rd32(E1000_VMOLR(j)); | 2081 | vmolr = rd32(E1000_VMOLR(adapter->vfs_allocated_count)); |
2084 | if (rctl & E1000_RCTL_LPE) | 2082 | if (rctl & E1000_RCTL_LPE) |
2085 | vmolr |= E1000_VMOLR_LPE; | 2083 | vmolr |= E1000_VMOLR_LPE; |
2086 | if (adapter->num_rx_queues > 0) | 2084 | if (adapter->num_rx_queues > 1) |
2087 | vmolr |= E1000_VMOLR_RSSE; | 2085 | vmolr |= E1000_VMOLR_RSSE; |
2088 | wr32(E1000_VMOLR(j), vmolr); | 2086 | wr32(E1000_VMOLR(adapter->vfs_allocated_count), vmolr); |
2089 | } | 2087 | } |
2090 | 2088 | ||
2091 | for (i = 0; i < adapter->num_rx_queues; i++) { | 2089 | for (i = 0; i < adapter->num_rx_queues; i++) { |
2092 | j = adapter->rx_ring[i].reg_idx; | 2090 | int j = adapter->rx_ring[i].reg_idx; |
2093 | wr32(E1000_SRRCTL(j), srrctl); | 2091 | wr32(E1000_SRRCTL(j), srrctl); |
2094 | } | 2092 | } |
2095 | 2093 | ||
diff --git a/drivers/net/mac8390.c b/drivers/net/mac8390.c index 8e884869a05b..22e74a0e0361 100644 --- a/drivers/net/mac8390.c +++ b/drivers/net/mac8390.c | |||
@@ -304,7 +304,7 @@ struct net_device * __init mac8390_probe(int unit) | |||
304 | if (!MACH_IS_MAC) | 304 | if (!MACH_IS_MAC) |
305 | return ERR_PTR(-ENODEV); | 305 | return ERR_PTR(-ENODEV); |
306 | 306 | ||
307 | dev = alloc_ei_netdev(); | 307 | dev = ____alloc_ei_netdev(0); |
308 | if (!dev) | 308 | if (!dev) |
309 | return ERR_PTR(-ENOMEM); | 309 | return ERR_PTR(-ENOMEM); |
310 | 310 | ||
@@ -481,15 +481,15 @@ void cleanup_module(void) | |||
481 | static const struct net_device_ops mac8390_netdev_ops = { | 481 | static const struct net_device_ops mac8390_netdev_ops = { |
482 | .ndo_open = mac8390_open, | 482 | .ndo_open = mac8390_open, |
483 | .ndo_stop = mac8390_close, | 483 | .ndo_stop = mac8390_close, |
484 | .ndo_start_xmit = ei_start_xmit, | 484 | .ndo_start_xmit = __ei_start_xmit, |
485 | .ndo_tx_timeout = ei_tx_timeout, | 485 | .ndo_tx_timeout = __ei_tx_timeout, |
486 | .ndo_get_stats = ei_get_stats, | 486 | .ndo_get_stats = __ei_get_stats, |
487 | .ndo_set_multicast_list = ei_set_multicast_list, | 487 | .ndo_set_multicast_list = __ei_set_multicast_list, |
488 | .ndo_validate_addr = eth_validate_addr, | 488 | .ndo_validate_addr = eth_validate_addr, |
489 | .ndo_set_mac_address = eth_mac_addr, | 489 | .ndo_set_mac_address = eth_mac_addr, |
490 | .ndo_change_mtu = eth_change_mtu, | 490 | .ndo_change_mtu = eth_change_mtu, |
491 | #ifdef CONFIG_NET_POLL_CONTROLLER | 491 | #ifdef CONFIG_NET_POLL_CONTROLLER |
492 | .ndo_poll_controller = ei_poll, | 492 | .ndo_poll_controller = __ei_poll, |
493 | #endif | 493 | #endif |
494 | }; | 494 | }; |
495 | 495 | ||
diff --git a/drivers/net/meth.c b/drivers/net/meth.c index aa08987f6e81..dbd3436912b8 100644 --- a/drivers/net/meth.c +++ b/drivers/net/meth.c | |||
@@ -127,11 +127,11 @@ static unsigned long mdio_read(struct meth_private *priv, unsigned long phyreg) | |||
127 | static int mdio_probe(struct meth_private *priv) | 127 | static int mdio_probe(struct meth_private *priv) |
128 | { | 128 | { |
129 | int i; | 129 | int i; |
130 | unsigned long p2, p3; | 130 | unsigned long p2, p3, flags; |
131 | /* check if phy is detected already */ | 131 | /* check if phy is detected already */ |
132 | if(priv->phy_addr>=0&&priv->phy_addr<32) | 132 | if(priv->phy_addr>=0&&priv->phy_addr<32) |
133 | return 0; | 133 | return 0; |
134 | spin_lock(&priv->meth_lock); | 134 | spin_lock_irqsave(&priv->meth_lock, flags); |
135 | for (i=0;i<32;++i){ | 135 | for (i=0;i<32;++i){ |
136 | priv->phy_addr=i; | 136 | priv->phy_addr=i; |
137 | p2=mdio_read(priv,2); | 137 | p2=mdio_read(priv,2); |
@@ -157,7 +157,7 @@ static int mdio_probe(struct meth_private *priv) | |||
157 | break; | 157 | break; |
158 | } | 158 | } |
159 | } | 159 | } |
160 | spin_unlock(&priv->meth_lock); | 160 | spin_unlock_irqrestore(&priv->meth_lock, flags); |
161 | if(priv->phy_addr<32) { | 161 | if(priv->phy_addr<32) { |
162 | return 0; | 162 | return 0; |
163 | } | 163 | } |
@@ -373,14 +373,14 @@ static int meth_release(struct net_device *dev) | |||
373 | static void meth_rx(struct net_device* dev, unsigned long int_status) | 373 | static void meth_rx(struct net_device* dev, unsigned long int_status) |
374 | { | 374 | { |
375 | struct sk_buff *skb; | 375 | struct sk_buff *skb; |
376 | unsigned long status; | 376 | unsigned long status, flags; |
377 | struct meth_private *priv = netdev_priv(dev); | 377 | struct meth_private *priv = netdev_priv(dev); |
378 | unsigned long fifo_rptr = (int_status & METH_INT_RX_RPTR_MASK) >> 8; | 378 | unsigned long fifo_rptr = (int_status & METH_INT_RX_RPTR_MASK) >> 8; |
379 | 379 | ||
380 | spin_lock(&priv->meth_lock); | 380 | spin_lock_irqsave(&priv->meth_lock, flags); |
381 | priv->dma_ctrl &= ~METH_DMA_RX_INT_EN; | 381 | priv->dma_ctrl &= ~METH_DMA_RX_INT_EN; |
382 | mace->eth.dma_ctrl = priv->dma_ctrl; | 382 | mace->eth.dma_ctrl = priv->dma_ctrl; |
383 | spin_unlock(&priv->meth_lock); | 383 | spin_unlock_irqrestore(&priv->meth_lock, flags); |
384 | 384 | ||
385 | if (int_status & METH_INT_RX_UNDERFLOW) { | 385 | if (int_status & METH_INT_RX_UNDERFLOW) { |
386 | fifo_rptr = (fifo_rptr - 1) & 0x0f; | 386 | fifo_rptr = (fifo_rptr - 1) & 0x0f; |
@@ -452,12 +452,12 @@ static void meth_rx(struct net_device* dev, unsigned long int_status) | |||
452 | mace->eth.rx_fifo = priv->rx_ring_dmas[priv->rx_write]; | 452 | mace->eth.rx_fifo = priv->rx_ring_dmas[priv->rx_write]; |
453 | ADVANCE_RX_PTR(priv->rx_write); | 453 | ADVANCE_RX_PTR(priv->rx_write); |
454 | } | 454 | } |
455 | spin_lock(&priv->meth_lock); | 455 | spin_lock_irqsave(&priv->meth_lock, flags); |
456 | /* In case there was underflow, and Rx DMA was disabled */ | 456 | /* In case there was underflow, and Rx DMA was disabled */ |
457 | priv->dma_ctrl |= METH_DMA_RX_INT_EN | METH_DMA_RX_EN; | 457 | priv->dma_ctrl |= METH_DMA_RX_INT_EN | METH_DMA_RX_EN; |
458 | mace->eth.dma_ctrl = priv->dma_ctrl; | 458 | mace->eth.dma_ctrl = priv->dma_ctrl; |
459 | mace->eth.int_stat = METH_INT_RX_THRESHOLD; | 459 | mace->eth.int_stat = METH_INT_RX_THRESHOLD; |
460 | spin_unlock(&priv->meth_lock); | 460 | spin_unlock_irqrestore(&priv->meth_lock, flags); |
461 | } | 461 | } |
462 | 462 | ||
463 | static int meth_tx_full(struct net_device *dev) | 463 | static int meth_tx_full(struct net_device *dev) |
@@ -470,11 +470,11 @@ static int meth_tx_full(struct net_device *dev) | |||
470 | static void meth_tx_cleanup(struct net_device* dev, unsigned long int_status) | 470 | static void meth_tx_cleanup(struct net_device* dev, unsigned long int_status) |
471 | { | 471 | { |
472 | struct meth_private *priv = netdev_priv(dev); | 472 | struct meth_private *priv = netdev_priv(dev); |
473 | unsigned long status; | 473 | unsigned long status, flags; |
474 | struct sk_buff *skb; | 474 | struct sk_buff *skb; |
475 | unsigned long rptr = (int_status&TX_INFO_RPTR) >> 16; | 475 | unsigned long rptr = (int_status&TX_INFO_RPTR) >> 16; |
476 | 476 | ||
477 | spin_lock(&priv->meth_lock); | 477 | spin_lock_irqsave(&priv->meth_lock, flags); |
478 | 478 | ||
479 | /* Stop DMA notification */ | 479 | /* Stop DMA notification */ |
480 | priv->dma_ctrl &= ~(METH_DMA_TX_INT_EN); | 480 | priv->dma_ctrl &= ~(METH_DMA_TX_INT_EN); |
@@ -527,12 +527,13 @@ static void meth_tx_cleanup(struct net_device* dev, unsigned long int_status) | |||
527 | } | 527 | } |
528 | 528 | ||
529 | mace->eth.int_stat = METH_INT_TX_EMPTY | METH_INT_TX_PKT; | 529 | mace->eth.int_stat = METH_INT_TX_EMPTY | METH_INT_TX_PKT; |
530 | spin_unlock(&priv->meth_lock); | 530 | spin_unlock_irqrestore(&priv->meth_lock, flags); |
531 | } | 531 | } |
532 | 532 | ||
533 | static void meth_error(struct net_device* dev, unsigned status) | 533 | static void meth_error(struct net_device* dev, unsigned status) |
534 | { | 534 | { |
535 | struct meth_private *priv = netdev_priv(dev); | 535 | struct meth_private *priv = netdev_priv(dev); |
536 | unsigned long flags; | ||
536 | 537 | ||
537 | printk(KERN_WARNING "meth: error status: 0x%08x\n",status); | 538 | printk(KERN_WARNING "meth: error status: 0x%08x\n",status); |
538 | /* check for errors too... */ | 539 | /* check for errors too... */ |
@@ -547,7 +548,7 @@ static void meth_error(struct net_device* dev, unsigned status) | |||
547 | printk(KERN_WARNING "meth: Rx overflow\n"); | 548 | printk(KERN_WARNING "meth: Rx overflow\n"); |
548 | if (status & (METH_INT_RX_UNDERFLOW)) { | 549 | if (status & (METH_INT_RX_UNDERFLOW)) { |
549 | printk(KERN_WARNING "meth: Rx underflow\n"); | 550 | printk(KERN_WARNING "meth: Rx underflow\n"); |
550 | spin_lock(&priv->meth_lock); | 551 | spin_lock_irqsave(&priv->meth_lock, flags); |
551 | mace->eth.int_stat = METH_INT_RX_UNDERFLOW; | 552 | mace->eth.int_stat = METH_INT_RX_UNDERFLOW; |
552 | /* more underflow interrupts will be delivered, | 553 | /* more underflow interrupts will be delivered, |
553 | * effectively throwing us into an infinite loop. | 554 | * effectively throwing us into an infinite loop. |
@@ -555,7 +556,7 @@ static void meth_error(struct net_device* dev, unsigned status) | |||
555 | priv->dma_ctrl &= ~METH_DMA_RX_EN; | 556 | priv->dma_ctrl &= ~METH_DMA_RX_EN; |
556 | mace->eth.dma_ctrl = priv->dma_ctrl; | 557 | mace->eth.dma_ctrl = priv->dma_ctrl; |
557 | DPRINTK("Disabled meth Rx DMA temporarily\n"); | 558 | DPRINTK("Disabled meth Rx DMA temporarily\n"); |
558 | spin_unlock(&priv->meth_lock); | 559 | spin_unlock_irqrestore(&priv->meth_lock, flags); |
559 | } | 560 | } |
560 | mace->eth.int_stat = METH_INT_ERROR; | 561 | mace->eth.int_stat = METH_INT_ERROR; |
561 | } | 562 | } |
diff --git a/drivers/net/mlx4/en_cq.c b/drivers/net/mlx4/en_cq.c index 91f50de84be9..a276125b709b 100644 --- a/drivers/net/mlx4/en_cq.c +++ b/drivers/net/mlx4/en_cq.c | |||
@@ -125,8 +125,10 @@ void mlx4_en_deactivate_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq) | |||
125 | 125 | ||
126 | if (cq->is_tx) | 126 | if (cq->is_tx) |
127 | del_timer(&cq->timer); | 127 | del_timer(&cq->timer); |
128 | else | 128 | else { |
129 | napi_disable(&cq->napi); | 129 | napi_disable(&cq->napi); |
130 | netif_napi_del(&cq->napi); | ||
131 | } | ||
130 | 132 | ||
131 | mlx4_cq_free(mdev->dev, &cq->mcq); | 133 | mlx4_cq_free(mdev->dev, &cq->mcq); |
132 | } | 134 | } |
diff --git a/drivers/net/mlx4/en_rx.c b/drivers/net/mlx4/en_rx.c index 7942c4d3cd88..9ee873e872b3 100644 --- a/drivers/net/mlx4/en_rx.c +++ b/drivers/net/mlx4/en_rx.c | |||
@@ -951,7 +951,6 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, | |||
951 | if (err) { | 951 | if (err) { |
952 | mlx4_err(mdev, "Failed to allocate qp #%d\n", qpn); | 952 | mlx4_err(mdev, "Failed to allocate qp #%d\n", qpn); |
953 | goto out; | 953 | goto out; |
954 | return err; | ||
955 | } | 954 | } |
956 | qp->event = mlx4_en_sqp_event; | 955 | qp->event = mlx4_en_sqp_event; |
957 | 956 | ||
diff --git a/drivers/net/mlx4/en_tx.c b/drivers/net/mlx4/en_tx.c index ac6fc499b280..e5c98a98ad37 100644 --- a/drivers/net/mlx4/en_tx.c +++ b/drivers/net/mlx4/en_tx.c | |||
@@ -426,7 +426,7 @@ void mlx4_en_poll_tx_cq(unsigned long data) | |||
426 | 426 | ||
427 | INC_PERF_COUNTER(priv->pstats.tx_poll); | 427 | INC_PERF_COUNTER(priv->pstats.tx_poll); |
428 | 428 | ||
429 | if (!spin_trylock(&ring->comp_lock)) { | 429 | if (!spin_trylock_irq(&ring->comp_lock)) { |
430 | mod_timer(&cq->timer, jiffies + MLX4_EN_TX_POLL_TIMEOUT); | 430 | mod_timer(&cq->timer, jiffies + MLX4_EN_TX_POLL_TIMEOUT); |
431 | return; | 431 | return; |
432 | } | 432 | } |
@@ -439,7 +439,7 @@ void mlx4_en_poll_tx_cq(unsigned long data) | |||
439 | if (inflight && priv->port_up) | 439 | if (inflight && priv->port_up) |
440 | mod_timer(&cq->timer, jiffies + MLX4_EN_TX_POLL_TIMEOUT); | 440 | mod_timer(&cq->timer, jiffies + MLX4_EN_TX_POLL_TIMEOUT); |
441 | 441 | ||
442 | spin_unlock(&ring->comp_lock); | 442 | spin_unlock_irq(&ring->comp_lock); |
443 | } | 443 | } |
444 | 444 | ||
445 | static struct mlx4_en_tx_desc *mlx4_en_bounce_to_desc(struct mlx4_en_priv *priv, | 445 | static struct mlx4_en_tx_desc *mlx4_en_bounce_to_desc(struct mlx4_en_priv *priv, |
@@ -482,9 +482,9 @@ static inline void mlx4_en_xmit_poll(struct mlx4_en_priv *priv, int tx_ind) | |||
482 | 482 | ||
483 | /* Poll the CQ every mlx4_en_TX_MODER_POLL packets */ | 483 | /* Poll the CQ every mlx4_en_TX_MODER_POLL packets */ |
484 | if ((++ring->poll_cnt & (MLX4_EN_TX_POLL_MODER - 1)) == 0) | 484 | if ((++ring->poll_cnt & (MLX4_EN_TX_POLL_MODER - 1)) == 0) |
485 | if (spin_trylock(&ring->comp_lock)) { | 485 | if (spin_trylock_irq(&ring->comp_lock)) { |
486 | mlx4_en_process_tx_cq(priv->dev, cq); | 486 | mlx4_en_process_tx_cq(priv->dev, cq); |
487 | spin_unlock(&ring->comp_lock); | 487 | spin_unlock_irq(&ring->comp_lock); |
488 | } | 488 | } |
489 | } | 489 | } |
490 | 490 | ||
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index a400d7115f78..6bb5af35eda6 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
@@ -569,7 +569,7 @@ static int rxq_process(struct rx_queue *rxq, int budget) | |||
569 | if (rxq->rx_curr_desc == rxq->rx_ring_size) | 569 | if (rxq->rx_curr_desc == rxq->rx_ring_size) |
570 | rxq->rx_curr_desc = 0; | 570 | rxq->rx_curr_desc = 0; |
571 | 571 | ||
572 | dma_unmap_single(NULL, rx_desc->buf_ptr, | 572 | dma_unmap_single(mp->dev->dev.parent, rx_desc->buf_ptr, |
573 | rx_desc->buf_size, DMA_FROM_DEVICE); | 573 | rx_desc->buf_size, DMA_FROM_DEVICE); |
574 | rxq->rx_desc_count--; | 574 | rxq->rx_desc_count--; |
575 | rx++; | 575 | rx++; |
@@ -678,8 +678,9 @@ static int rxq_refill(struct rx_queue *rxq, int budget) | |||
678 | 678 | ||
679 | rx_desc = rxq->rx_desc_area + rx; | 679 | rx_desc = rxq->rx_desc_area + rx; |
680 | 680 | ||
681 | rx_desc->buf_ptr = dma_map_single(NULL, skb->data, | 681 | rx_desc->buf_ptr = dma_map_single(mp->dev->dev.parent, |
682 | mp->skb_size, DMA_FROM_DEVICE); | 682 | skb->data, mp->skb_size, |
683 | DMA_FROM_DEVICE); | ||
683 | rx_desc->buf_size = mp->skb_size; | 684 | rx_desc->buf_size = mp->skb_size; |
684 | rxq->rx_skb[rx] = skb; | 685 | rxq->rx_skb[rx] = skb; |
685 | wmb(); | 686 | wmb(); |
@@ -718,6 +719,7 @@ static inline unsigned int has_tiny_unaligned_frags(struct sk_buff *skb) | |||
718 | 719 | ||
719 | static void txq_submit_frag_skb(struct tx_queue *txq, struct sk_buff *skb) | 720 | static void txq_submit_frag_skb(struct tx_queue *txq, struct sk_buff *skb) |
720 | { | 721 | { |
722 | struct mv643xx_eth_private *mp = txq_to_mp(txq); | ||
721 | int nr_frags = skb_shinfo(skb)->nr_frags; | 723 | int nr_frags = skb_shinfo(skb)->nr_frags; |
722 | int frag; | 724 | int frag; |
723 | 725 | ||
@@ -746,10 +748,10 @@ static void txq_submit_frag_skb(struct tx_queue *txq, struct sk_buff *skb) | |||
746 | 748 | ||
747 | desc->l4i_chk = 0; | 749 | desc->l4i_chk = 0; |
748 | desc->byte_cnt = this_frag->size; | 750 | desc->byte_cnt = this_frag->size; |
749 | desc->buf_ptr = dma_map_page(NULL, this_frag->page, | 751 | desc->buf_ptr = dma_map_page(mp->dev->dev.parent, |
750 | this_frag->page_offset, | 752 | this_frag->page, |
751 | this_frag->size, | 753 | this_frag->page_offset, |
752 | DMA_TO_DEVICE); | 754 | this_frag->size, DMA_TO_DEVICE); |
753 | } | 755 | } |
754 | } | 756 | } |
755 | 757 | ||
@@ -826,7 +828,8 @@ no_csum: | |||
826 | 828 | ||
827 | desc->l4i_chk = l4i_chk; | 829 | desc->l4i_chk = l4i_chk; |
828 | desc->byte_cnt = length; | 830 | desc->byte_cnt = length; |
829 | desc->buf_ptr = dma_map_single(NULL, skb->data, length, DMA_TO_DEVICE); | 831 | desc->buf_ptr = dma_map_single(mp->dev->dev.parent, skb->data, |
832 | length, DMA_TO_DEVICE); | ||
830 | 833 | ||
831 | __skb_queue_tail(&txq->tx_skb, skb); | 834 | __skb_queue_tail(&txq->tx_skb, skb); |
832 | 835 | ||
@@ -956,10 +959,10 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force) | |||
956 | } | 959 | } |
957 | 960 | ||
958 | if (cmd_sts & TX_FIRST_DESC) { | 961 | if (cmd_sts & TX_FIRST_DESC) { |
959 | dma_unmap_single(NULL, desc->buf_ptr, | 962 | dma_unmap_single(mp->dev->dev.parent, desc->buf_ptr, |
960 | desc->byte_cnt, DMA_TO_DEVICE); | 963 | desc->byte_cnt, DMA_TO_DEVICE); |
961 | } else { | 964 | } else { |
962 | dma_unmap_page(NULL, desc->buf_ptr, | 965 | dma_unmap_page(mp->dev->dev.parent, desc->buf_ptr, |
963 | desc->byte_cnt, DMA_TO_DEVICE); | 966 | desc->byte_cnt, DMA_TO_DEVICE); |
964 | } | 967 | } |
965 | 968 | ||
@@ -1894,9 +1897,9 @@ static int rxq_init(struct mv643xx_eth_private *mp, int index) | |||
1894 | mp->rx_desc_sram_size); | 1897 | mp->rx_desc_sram_size); |
1895 | rxq->rx_desc_dma = mp->rx_desc_sram_addr; | 1898 | rxq->rx_desc_dma = mp->rx_desc_sram_addr; |
1896 | } else { | 1899 | } else { |
1897 | rxq->rx_desc_area = dma_alloc_coherent(NULL, size, | 1900 | rxq->rx_desc_area = dma_alloc_coherent(mp->dev->dev.parent, |
1898 | &rxq->rx_desc_dma, | 1901 | size, &rxq->rx_desc_dma, |
1899 | GFP_KERNEL); | 1902 | GFP_KERNEL); |
1900 | } | 1903 | } |
1901 | 1904 | ||
1902 | if (rxq->rx_desc_area == NULL) { | 1905 | if (rxq->rx_desc_area == NULL) { |
@@ -1947,7 +1950,7 @@ out_free: | |||
1947 | if (index == 0 && size <= mp->rx_desc_sram_size) | 1950 | if (index == 0 && size <= mp->rx_desc_sram_size) |
1948 | iounmap(rxq->rx_desc_area); | 1951 | iounmap(rxq->rx_desc_area); |
1949 | else | 1952 | else |
1950 | dma_free_coherent(NULL, size, | 1953 | dma_free_coherent(mp->dev->dev.parent, size, |
1951 | rxq->rx_desc_area, | 1954 | rxq->rx_desc_area, |
1952 | rxq->rx_desc_dma); | 1955 | rxq->rx_desc_dma); |
1953 | 1956 | ||
@@ -1979,7 +1982,7 @@ static void rxq_deinit(struct rx_queue *rxq) | |||
1979 | rxq->rx_desc_area_size <= mp->rx_desc_sram_size) | 1982 | rxq->rx_desc_area_size <= mp->rx_desc_sram_size) |
1980 | iounmap(rxq->rx_desc_area); | 1983 | iounmap(rxq->rx_desc_area); |
1981 | else | 1984 | else |
1982 | dma_free_coherent(NULL, rxq->rx_desc_area_size, | 1985 | dma_free_coherent(mp->dev->dev.parent, rxq->rx_desc_area_size, |
1983 | rxq->rx_desc_area, rxq->rx_desc_dma); | 1986 | rxq->rx_desc_area, rxq->rx_desc_dma); |
1984 | 1987 | ||
1985 | kfree(rxq->rx_skb); | 1988 | kfree(rxq->rx_skb); |
@@ -2007,9 +2010,9 @@ static int txq_init(struct mv643xx_eth_private *mp, int index) | |||
2007 | mp->tx_desc_sram_size); | 2010 | mp->tx_desc_sram_size); |
2008 | txq->tx_desc_dma = mp->tx_desc_sram_addr; | 2011 | txq->tx_desc_dma = mp->tx_desc_sram_addr; |
2009 | } else { | 2012 | } else { |
2010 | txq->tx_desc_area = dma_alloc_coherent(NULL, size, | 2013 | txq->tx_desc_area = dma_alloc_coherent(mp->dev->dev.parent, |
2011 | &txq->tx_desc_dma, | 2014 | size, &txq->tx_desc_dma, |
2012 | GFP_KERNEL); | 2015 | GFP_KERNEL); |
2013 | } | 2016 | } |
2014 | 2017 | ||
2015 | if (txq->tx_desc_area == NULL) { | 2018 | if (txq->tx_desc_area == NULL) { |
@@ -2053,7 +2056,7 @@ static void txq_deinit(struct tx_queue *txq) | |||
2053 | txq->tx_desc_area_size <= mp->tx_desc_sram_size) | 2056 | txq->tx_desc_area_size <= mp->tx_desc_sram_size) |
2054 | iounmap(txq->tx_desc_area); | 2057 | iounmap(txq->tx_desc_area); |
2055 | else | 2058 | else |
2056 | dma_free_coherent(NULL, txq->tx_desc_area_size, | 2059 | dma_free_coherent(mp->dev->dev.parent, txq->tx_desc_area_size, |
2057 | txq->tx_desc_area, txq->tx_desc_dma); | 2060 | txq->tx_desc_area, txq->tx_desc_dma); |
2058 | } | 2061 | } |
2059 | 2062 | ||
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 0b6e8c896835..8247a945a1d9 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
@@ -3554,54 +3554,64 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance) | |||
3554 | int handled = 0; | 3554 | int handled = 0; |
3555 | int status; | 3555 | int status; |
3556 | 3556 | ||
3557 | /* loop handling interrupts until we have no new ones or | ||
3558 | * we hit a invalid/hotplug case. | ||
3559 | */ | ||
3557 | status = RTL_R16(IntrStatus); | 3560 | status = RTL_R16(IntrStatus); |
3561 | while (status && status != 0xffff) { | ||
3562 | handled = 1; | ||
3558 | 3563 | ||
3559 | /* hotplug/major error/no more work/shared irq */ | 3564 | /* Handle all of the error cases first. These will reset |
3560 | if ((status == 0xffff) || !status) | 3565 | * the chip, so just exit the loop. |
3561 | goto out; | 3566 | */ |
3562 | 3567 | if (unlikely(!netif_running(dev))) { | |
3563 | handled = 1; | 3568 | rtl8169_asic_down(ioaddr); |
3569 | break; | ||
3570 | } | ||
3564 | 3571 | ||
3565 | if (unlikely(!netif_running(dev))) { | 3572 | /* Work around for rx fifo overflow */ |
3566 | rtl8169_asic_down(ioaddr); | 3573 | if (unlikely(status & RxFIFOOver) && |
3567 | goto out; | 3574 | (tp->mac_version == RTL_GIGA_MAC_VER_11)) { |
3568 | } | 3575 | netif_stop_queue(dev); |
3576 | rtl8169_tx_timeout(dev); | ||
3577 | break; | ||
3578 | } | ||
3569 | 3579 | ||
3570 | status &= tp->intr_mask; | 3580 | if (unlikely(status & SYSErr)) { |
3571 | RTL_W16(IntrStatus, | 3581 | rtl8169_pcierr_interrupt(dev); |
3572 | (status & RxFIFOOver) ? (status | RxOverflow) : status); | 3582 | break; |
3583 | } | ||
3573 | 3584 | ||
3574 | if (!(status & tp->intr_event)) | 3585 | if (status & LinkChg) |
3575 | goto out; | 3586 | rtl8169_check_link_status(dev, tp, ioaddr); |
3576 | 3587 | ||
3577 | /* Work around for rx fifo overflow */ | 3588 | /* We need to see the lastest version of tp->intr_mask to |
3578 | if (unlikely(status & RxFIFOOver) && | 3589 | * avoid ignoring an MSI interrupt and having to wait for |
3579 | (tp->mac_version == RTL_GIGA_MAC_VER_11)) { | 3590 | * another event which may never come. |
3580 | netif_stop_queue(dev); | 3591 | */ |
3581 | rtl8169_tx_timeout(dev); | 3592 | smp_rmb(); |
3582 | goto out; | 3593 | if (status & tp->intr_mask & tp->napi_event) { |
3583 | } | 3594 | RTL_W16(IntrMask, tp->intr_event & ~tp->napi_event); |
3595 | tp->intr_mask = ~tp->napi_event; | ||
3596 | |||
3597 | if (likely(napi_schedule_prep(&tp->napi))) | ||
3598 | __napi_schedule(&tp->napi); | ||
3599 | else if (netif_msg_intr(tp)) { | ||
3600 | printk(KERN_INFO "%s: interrupt %04x in poll\n", | ||
3601 | dev->name, status); | ||
3602 | } | ||
3603 | } | ||
3584 | 3604 | ||
3585 | if (unlikely(status & SYSErr)) { | 3605 | /* We only get a new MSI interrupt when all active irq |
3586 | rtl8169_pcierr_interrupt(dev); | 3606 | * sources on the chip have been acknowledged. So, ack |
3587 | goto out; | 3607 | * everything we've seen and check if new sources have become |
3608 | * active to avoid blocking all interrupts from the chip. | ||
3609 | */ | ||
3610 | RTL_W16(IntrStatus, | ||
3611 | (status & RxFIFOOver) ? (status | RxOverflow) : status); | ||
3612 | status = RTL_R16(IntrStatus); | ||
3588 | } | 3613 | } |
3589 | 3614 | ||
3590 | if (status & LinkChg) | ||
3591 | rtl8169_check_link_status(dev, tp, ioaddr); | ||
3592 | |||
3593 | if (status & tp->napi_event) { | ||
3594 | RTL_W16(IntrMask, tp->intr_event & ~tp->napi_event); | ||
3595 | tp->intr_mask = ~tp->napi_event; | ||
3596 | |||
3597 | if (likely(napi_schedule_prep(&tp->napi))) | ||
3598 | __napi_schedule(&tp->napi); | ||
3599 | else if (netif_msg_intr(tp)) { | ||
3600 | printk(KERN_INFO "%s: interrupt %04x in poll\n", | ||
3601 | dev->name, status); | ||
3602 | } | ||
3603 | } | ||
3604 | out: | ||
3605 | return IRQ_RETVAL(handled); | 3615 | return IRQ_RETVAL(handled); |
3606 | } | 3616 | } |
3607 | 3617 | ||
@@ -3617,13 +3627,15 @@ static int rtl8169_poll(struct napi_struct *napi, int budget) | |||
3617 | 3627 | ||
3618 | if (work_done < budget) { | 3628 | if (work_done < budget) { |
3619 | napi_complete(napi); | 3629 | napi_complete(napi); |
3620 | tp->intr_mask = 0xffff; | 3630 | |
3621 | /* | 3631 | /* We need for force the visibility of tp->intr_mask |
3622 | * 20040426: the barrier is not strictly required but the | 3632 | * for other CPUs, as we can loose an MSI interrupt |
3623 | * behavior of the irq handler could be less predictable | 3633 | * and potentially wait for a retransmit timeout if we don't. |
3624 | * without it. Btw, the lack of flush for the posted pci | 3634 | * The posted write to IntrMask is safe, as it will |
3625 | * write is safe - FR | 3635 | * eventually make it to the chip and we won't loose anything |
3636 | * until it does. | ||
3626 | */ | 3637 | */ |
3638 | tp->intr_mask = 0xffff; | ||
3627 | smp_wmb(); | 3639 | smp_wmb(); |
3628 | RTL_W16(IntrMask, tp->intr_event); | 3640 | RTL_W16(IntrMask, tp->intr_event); |
3629 | } | 3641 | } |
diff --git a/drivers/net/vxge/vxge-traffic.c b/drivers/net/vxge/vxge-traffic.c index 7be0ae10d69b..c2eeac4125f3 100644 --- a/drivers/net/vxge/vxge-traffic.c +++ b/drivers/net/vxge/vxge-traffic.c | |||
@@ -115,7 +115,7 @@ enum vxge_hw_status vxge_hw_vpath_intr_enable(struct __vxge_hw_vpath_handle *vp) | |||
115 | VXGE_HW_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO1_POISON| | 115 | VXGE_HW_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO1_POISON| |
116 | VXGE_HW_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO2_POISON| | 116 | VXGE_HW_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO2_POISON| |
117 | VXGE_HW_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO1_DMA_ERR| | 117 | VXGE_HW_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO1_DMA_ERR| |
118 | VXGE_HW_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO1_DMA_ERR), 0, 32), | 118 | VXGE_HW_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO2_DMA_ERR), 0, 32), |
119 | &vp_reg->kdfcctl_errors_mask); | 119 | &vp_reg->kdfcctl_errors_mask); |
120 | 120 | ||
121 | __vxge_hw_pio_mem_write32_upper(0, &vp_reg->vpath_ppif_int_mask); | 121 | __vxge_hw_pio_mem_write32_upper(0, &vp_reg->vpath_ppif_int_mask); |
diff --git a/drivers/net/wan/ixp4xx_hss.c b/drivers/net/wan/ixp4xx_hss.c index 3bf7d3f447db..765a7f5d6aa4 100644 --- a/drivers/net/wan/ixp4xx_hss.c +++ b/drivers/net/wan/ixp4xx_hss.c | |||
@@ -1249,7 +1249,7 @@ static int __devinit hss_init_one(struct platform_device *pdev) | |||
1249 | return -ENOMEM; | 1249 | return -ENOMEM; |
1250 | 1250 | ||
1251 | if ((port->npe = npe_request(0)) == NULL) { | 1251 | if ((port->npe = npe_request(0)) == NULL) { |
1252 | err = -ENOSYS; | 1252 | err = -ENODEV; |
1253 | goto err_free; | 1253 | goto err_free; |
1254 | } | 1254 | } |
1255 | 1255 | ||
@@ -1311,7 +1311,7 @@ static int __init hss_init_module(void) | |||
1311 | if ((ixp4xx_read_feature_bits() & | 1311 | if ((ixp4xx_read_feature_bits() & |
1312 | (IXP4XX_FEATURE_HDLC | IXP4XX_FEATURE_HSS)) != | 1312 | (IXP4XX_FEATURE_HDLC | IXP4XX_FEATURE_HSS)) != |
1313 | (IXP4XX_FEATURE_HDLC | IXP4XX_FEATURE_HSS)) | 1313 | (IXP4XX_FEATURE_HDLC | IXP4XX_FEATURE_HSS)) |
1314 | return -ENOSYS; | 1314 | return -ENODEV; |
1315 | 1315 | ||
1316 | spin_lock_init(&npe_lock); | 1316 | spin_lock_init(&npe_lock); |
1317 | 1317 | ||
diff --git a/drivers/net/wimax/i2400m/rx.c b/drivers/net/wimax/i2400m/rx.c index 02419bfd64b5..f9fc38902322 100644 --- a/drivers/net/wimax/i2400m/rx.c +++ b/drivers/net/wimax/i2400m/rx.c | |||
@@ -819,10 +819,9 @@ void i2400m_roq_queue_update_ws(struct i2400m *i2400m, struct i2400m_roq *roq, | |||
819 | roq_data = (struct i2400m_roq_data *) &skb->cb; | 819 | roq_data = (struct i2400m_roq_data *) &skb->cb; |
820 | i2400m_net_erx(i2400m, skb, roq_data->cs); | 820 | i2400m_net_erx(i2400m, skb, roq_data->cs); |
821 | } | 821 | } |
822 | else { | 822 | else |
823 | __i2400m_roq_queue(i2400m, roq, skb, sn, nsn); | 823 | __i2400m_roq_queue(i2400m, roq, skb, sn, nsn); |
824 | __i2400m_roq_update_ws(i2400m, roq, sn + 1); | 824 | __i2400m_roq_update_ws(i2400m, roq, sn + 1); |
825 | } | ||
826 | i2400m_roq_log_add(i2400m, roq, I2400M_RO_TYPE_PACKET_WS, | 825 | i2400m_roq_log_add(i2400m, roq, I2400M_RO_TYPE_PACKET_WS, |
827 | old_ws, len, sn, nsn, roq->ws); | 826 | old_ws, len, sn, nsn, roq->ws); |
828 | } | 827 | } |
diff --git a/drivers/net/wimax/i2400m/usb.c b/drivers/net/wimax/i2400m/usb.c index ca4151a9e222..17851321b7fd 100644 --- a/drivers/net/wimax/i2400m/usb.c +++ b/drivers/net/wimax/i2400m/usb.c | |||
@@ -505,27 +505,52 @@ int i2400mu_suspend(struct usb_interface *iface, pm_message_t pm_msg) | |||
505 | #ifdef CONFIG_PM | 505 | #ifdef CONFIG_PM |
506 | struct usb_device *usb_dev = i2400mu->usb_dev; | 506 | struct usb_device *usb_dev = i2400mu->usb_dev; |
507 | #endif | 507 | #endif |
508 | unsigned is_autosuspend = 0; | ||
508 | struct i2400m *i2400m = &i2400mu->i2400m; | 509 | struct i2400m *i2400m = &i2400mu->i2400m; |
509 | 510 | ||
511 | #ifdef CONFIG_PM | ||
512 | if (usb_dev->auto_pm > 0) | ||
513 | is_autosuspend = 1; | ||
514 | #endif | ||
515 | |||
510 | d_fnstart(3, dev, "(iface %p pm_msg %u)\n", iface, pm_msg.event); | 516 | d_fnstart(3, dev, "(iface %p pm_msg %u)\n", iface, pm_msg.event); |
511 | if (i2400m->updown == 0) | 517 | if (i2400m->updown == 0) |
512 | goto no_firmware; | 518 | goto no_firmware; |
513 | d_printf(1, dev, "fw up, requesting standby\n"); | 519 | if (i2400m->state == I2400M_SS_DATA_PATH_CONNECTED && is_autosuspend) { |
520 | /* ugh -- the device is connected and this suspend | ||
521 | * request is an autosuspend one (not a system standby | ||
522 | * / hibernate). | ||
523 | * | ||
524 | * The only way the device can go to standby is if the | ||
525 | * link with the base station is in IDLE mode; that | ||
526 | * were the case, we'd be in status | ||
527 | * I2400M_SS_CONNECTED_IDLE. But we are not. | ||
528 | * | ||
529 | * If we *tell* him to go power save now, it'll reset | ||
530 | * as a precautionary measure, so if this is an | ||
531 | * autosuspend thing, say no and it'll come back | ||
532 | * later, when the link is IDLE | ||
533 | */ | ||
534 | result = -EBADF; | ||
535 | d_printf(1, dev, "fw up, link up, not-idle, autosuspend: " | ||
536 | "not entering powersave\n"); | ||
537 | goto error_not_now; | ||
538 | } | ||
539 | d_printf(1, dev, "fw up: entering powersave\n"); | ||
514 | atomic_dec(&i2400mu->do_autopm); | 540 | atomic_dec(&i2400mu->do_autopm); |
515 | result = i2400m_cmd_enter_powersave(i2400m); | 541 | result = i2400m_cmd_enter_powersave(i2400m); |
516 | atomic_inc(&i2400mu->do_autopm); | 542 | atomic_inc(&i2400mu->do_autopm); |
517 | #ifdef CONFIG_PM | 543 | if (result < 0 && !is_autosuspend) { |
518 | if (result < 0 && usb_dev->auto_pm == 0) { | ||
519 | /* System suspend, can't fail */ | 544 | /* System suspend, can't fail */ |
520 | dev_err(dev, "failed to suspend, will reset on resume\n"); | 545 | dev_err(dev, "failed to suspend, will reset on resume\n"); |
521 | result = 0; | 546 | result = 0; |
522 | } | 547 | } |
523 | #endif | ||
524 | if (result < 0) | 548 | if (result < 0) |
525 | goto error_enter_powersave; | 549 | goto error_enter_powersave; |
526 | i2400mu_notification_release(i2400mu); | 550 | i2400mu_notification_release(i2400mu); |
527 | d_printf(1, dev, "fw up, got standby\n"); | 551 | d_printf(1, dev, "powersave requested\n"); |
528 | error_enter_powersave: | 552 | error_enter_powersave: |
553 | error_not_now: | ||
529 | no_firmware: | 554 | no_firmware: |
530 | d_fnend(3, dev, "(iface %p pm_msg %u) = %d\n", | 555 | d_fnend(3, dev, "(iface %p pm_msg %u) = %d\n", |
531 | iface, pm_msg.event, result); | 556 | iface, pm_msg.event, result); |
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index 8a0823588c51..3d94e7dfea69 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig | |||
@@ -430,6 +430,7 @@ config RTL8187 | |||
430 | ASUS P5B Deluxe | 430 | ASUS P5B Deluxe |
431 | Toshiba Satellite Pro series of laptops | 431 | Toshiba Satellite Pro series of laptops |
432 | Asus Wireless Link | 432 | Asus Wireless Link |
433 | Linksys WUSB54GC-EU | ||
433 | 434 | ||
434 | Thanks to Realtek for their support! | 435 | Thanks to Realtek for their support! |
435 | 436 | ||
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c index c36d3a3d655f..9eabf4d1f2e7 100644 --- a/drivers/net/wireless/airo.c +++ b/drivers/net/wireless/airo.c | |||
@@ -6467,6 +6467,7 @@ static int airo_get_encode(struct net_device *dev, | |||
6467 | { | 6467 | { |
6468 | struct airo_info *local = dev->ml_priv; | 6468 | struct airo_info *local = dev->ml_priv; |
6469 | int index = (dwrq->flags & IW_ENCODE_INDEX) - 1; | 6469 | int index = (dwrq->flags & IW_ENCODE_INDEX) - 1; |
6470 | int wep_key_len; | ||
6470 | u8 buf[16]; | 6471 | u8 buf[16]; |
6471 | 6472 | ||
6472 | if (!local->wep_capable) | 6473 | if (!local->wep_capable) |
@@ -6500,8 +6501,13 @@ static int airo_get_encode(struct net_device *dev, | |||
6500 | dwrq->flags |= index + 1; | 6501 | dwrq->flags |= index + 1; |
6501 | 6502 | ||
6502 | /* Copy the key to the user buffer */ | 6503 | /* Copy the key to the user buffer */ |
6503 | dwrq->length = get_wep_key(local, index, &buf[0], sizeof(buf)); | 6504 | wep_key_len = get_wep_key(local, index, &buf[0], sizeof(buf)); |
6504 | memcpy(extra, buf, dwrq->length); | 6505 | if (wep_key_len < 0) { |
6506 | dwrq->length = 0; | ||
6507 | } else { | ||
6508 | dwrq->length = wep_key_len; | ||
6509 | memcpy(extra, buf, dwrq->length); | ||
6510 | } | ||
6505 | 6511 | ||
6506 | return 0; | 6512 | return 0; |
6507 | } | 6513 | } |
@@ -6614,7 +6620,7 @@ static int airo_get_encodeext(struct net_device *dev, | |||
6614 | struct airo_info *local = dev->ml_priv; | 6620 | struct airo_info *local = dev->ml_priv; |
6615 | struct iw_point *encoding = &wrqu->encoding; | 6621 | struct iw_point *encoding = &wrqu->encoding; |
6616 | struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; | 6622 | struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; |
6617 | int idx, max_key_len; | 6623 | int idx, max_key_len, wep_key_len; |
6618 | u8 buf[16]; | 6624 | u8 buf[16]; |
6619 | 6625 | ||
6620 | if (!local->wep_capable) | 6626 | if (!local->wep_capable) |
@@ -6658,8 +6664,13 @@ static int airo_get_encodeext(struct net_device *dev, | |||
6658 | memset(extra, 0, 16); | 6664 | memset(extra, 0, 16); |
6659 | 6665 | ||
6660 | /* Copy the key to the user buffer */ | 6666 | /* Copy the key to the user buffer */ |
6661 | ext->key_len = get_wep_key(local, idx, &buf[0], sizeof(buf)); | 6667 | wep_key_len = get_wep_key(local, idx, &buf[0], sizeof(buf)); |
6662 | memcpy(extra, buf, ext->key_len); | 6668 | if (wep_key_len < 0) { |
6669 | ext->key_len = 0; | ||
6670 | } else { | ||
6671 | ext->key_len = wep_key_len; | ||
6672 | memcpy(extra, buf, ext->key_len); | ||
6673 | } | ||
6663 | 6674 | ||
6664 | return 0; | 6675 | return 0; |
6665 | } | 6676 | } |
diff --git a/drivers/net/wireless/at76c50x-usb.c b/drivers/net/wireless/at76c50x-usb.c index 744f4f4dd3d1..8d93ca4651b9 100644 --- a/drivers/net/wireless/at76c50x-usb.c +++ b/drivers/net/wireless/at76c50x-usb.c | |||
@@ -1873,18 +1873,18 @@ static void at76_dwork_hw_scan(struct work_struct *work) | |||
1873 | if (ret != CMD_STATUS_COMPLETE) { | 1873 | if (ret != CMD_STATUS_COMPLETE) { |
1874 | queue_delayed_work(priv->hw->workqueue, &priv->dwork_hw_scan, | 1874 | queue_delayed_work(priv->hw->workqueue, &priv->dwork_hw_scan, |
1875 | SCAN_POLL_INTERVAL); | 1875 | SCAN_POLL_INTERVAL); |
1876 | goto exit; | 1876 | mutex_unlock(&priv->mtx); |
1877 | return; | ||
1877 | } | 1878 | } |
1878 | 1879 | ||
1879 | ieee80211_scan_completed(priv->hw, false); | ||
1880 | |||
1881 | if (is_valid_ether_addr(priv->bssid)) | 1880 | if (is_valid_ether_addr(priv->bssid)) |
1882 | at76_join(priv); | 1881 | at76_join(priv); |
1883 | 1882 | ||
1884 | ieee80211_wake_queues(priv->hw); | ||
1885 | |||
1886 | exit: | ||
1887 | mutex_unlock(&priv->mtx); | 1883 | mutex_unlock(&priv->mtx); |
1884 | |||
1885 | ieee80211_scan_completed(priv->hw, false); | ||
1886 | |||
1887 | ieee80211_wake_queues(priv->hw); | ||
1888 | } | 1888 | } |
1889 | 1889 | ||
1890 | static int at76_hw_scan(struct ieee80211_hw *hw, | 1890 | static int at76_hw_scan(struct ieee80211_hw *hw, |
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index a08bc8a4fb69..32df27a9c7a2 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c | |||
@@ -214,7 +214,7 @@ static struct pci_driver ath5k_pci_driver = { | |||
214 | * Prototypes - MAC 802.11 stack related functions | 214 | * Prototypes - MAC 802.11 stack related functions |
215 | */ | 215 | */ |
216 | static int ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb); | 216 | static int ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb); |
217 | static int ath5k_reset(struct ath5k_softc *sc, bool stop, bool change_channel); | 217 | static int ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan); |
218 | static int ath5k_reset_wake(struct ath5k_softc *sc); | 218 | static int ath5k_reset_wake(struct ath5k_softc *sc); |
219 | static int ath5k_start(struct ieee80211_hw *hw); | 219 | static int ath5k_start(struct ieee80211_hw *hw); |
220 | static void ath5k_stop(struct ieee80211_hw *hw); | 220 | static void ath5k_stop(struct ieee80211_hw *hw); |
@@ -1038,16 +1038,13 @@ ath5k_chan_set(struct ath5k_softc *sc, struct ieee80211_channel *chan) | |||
1038 | if (chan->center_freq != sc->curchan->center_freq || | 1038 | if (chan->center_freq != sc->curchan->center_freq || |
1039 | chan->hw_value != sc->curchan->hw_value) { | 1039 | chan->hw_value != sc->curchan->hw_value) { |
1040 | 1040 | ||
1041 | sc->curchan = chan; | ||
1042 | sc->curband = &sc->sbands[chan->band]; | ||
1043 | |||
1044 | /* | 1041 | /* |
1045 | * To switch channels clear any pending DMA operations; | 1042 | * To switch channels clear any pending DMA operations; |
1046 | * wait long enough for the RX fifo to drain, reset the | 1043 | * wait long enough for the RX fifo to drain, reset the |
1047 | * hardware at the new frequency, and then re-enable | 1044 | * hardware at the new frequency, and then re-enable |
1048 | * the relevant bits of the h/w. | 1045 | * the relevant bits of the h/w. |
1049 | */ | 1046 | */ |
1050 | return ath5k_reset(sc, true, true); | 1047 | return ath5k_reset(sc, chan); |
1051 | } | 1048 | } |
1052 | 1049 | ||
1053 | return 0; | 1050 | return 0; |
@@ -2314,7 +2311,7 @@ ath5k_init(struct ath5k_softc *sc) | |||
2314 | sc->imask = AR5K_INT_RXOK | AR5K_INT_RXERR | AR5K_INT_RXEOL | | 2311 | sc->imask = AR5K_INT_RXOK | AR5K_INT_RXERR | AR5K_INT_RXEOL | |
2315 | AR5K_INT_RXORN | AR5K_INT_TXDESC | AR5K_INT_TXEOL | | 2312 | AR5K_INT_RXORN | AR5K_INT_TXDESC | AR5K_INT_TXEOL | |
2316 | AR5K_INT_FATAL | AR5K_INT_GLOBAL; | 2313 | AR5K_INT_FATAL | AR5K_INT_GLOBAL; |
2317 | ret = ath5k_reset(sc, false, false); | 2314 | ret = ath5k_reset(sc, NULL); |
2318 | if (ret) | 2315 | if (ret) |
2319 | goto done; | 2316 | goto done; |
2320 | 2317 | ||
@@ -2599,18 +2596,25 @@ drop_packet: | |||
2599 | return NETDEV_TX_OK; | 2596 | return NETDEV_TX_OK; |
2600 | } | 2597 | } |
2601 | 2598 | ||
2599 | /* | ||
2600 | * Reset the hardware. If chan is not NULL, then also pause rx/tx | ||
2601 | * and change to the given channel. | ||
2602 | */ | ||
2602 | static int | 2603 | static int |
2603 | ath5k_reset(struct ath5k_softc *sc, bool stop, bool change_channel) | 2604 | ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan) |
2604 | { | 2605 | { |
2605 | struct ath5k_hw *ah = sc->ah; | 2606 | struct ath5k_hw *ah = sc->ah; |
2606 | int ret; | 2607 | int ret; |
2607 | 2608 | ||
2608 | ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "resetting\n"); | 2609 | ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "resetting\n"); |
2609 | 2610 | ||
2610 | if (stop) { | 2611 | if (chan) { |
2611 | ath5k_hw_set_imr(ah, 0); | 2612 | ath5k_hw_set_imr(ah, 0); |
2612 | ath5k_txq_cleanup(sc); | 2613 | ath5k_txq_cleanup(sc); |
2613 | ath5k_rx_stop(sc); | 2614 | ath5k_rx_stop(sc); |
2615 | |||
2616 | sc->curchan = chan; | ||
2617 | sc->curband = &sc->sbands[chan->band]; | ||
2614 | } | 2618 | } |
2615 | ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, true); | 2619 | ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, true); |
2616 | if (ret) { | 2620 | if (ret) { |
@@ -2648,7 +2652,7 @@ ath5k_reset_wake(struct ath5k_softc *sc) | |||
2648 | { | 2652 | { |
2649 | int ret; | 2653 | int ret; |
2650 | 2654 | ||
2651 | ret = ath5k_reset(sc, true, true); | 2655 | ret = ath5k_reset(sc, sc->curchan); |
2652 | if (!ret) | 2656 | if (!ret) |
2653 | ieee80211_wake_queues(sc->hw); | 2657 | ieee80211_wake_queues(sc->hw); |
2654 | 2658 | ||
diff --git a/drivers/net/wireless/ath5k/phy.c b/drivers/net/wireless/ath5k/phy.c index 9e2faae5ae94..b48b29dca3d2 100644 --- a/drivers/net/wireless/ath5k/phy.c +++ b/drivers/net/wireless/ath5k/phy.c | |||
@@ -1487,28 +1487,35 @@ ath5k_get_linear_pcdac_min(const u8 *stepL, const u8 *stepR, | |||
1487 | { | 1487 | { |
1488 | s8 tmp; | 1488 | s8 tmp; |
1489 | s16 min_pwrL, min_pwrR; | 1489 | s16 min_pwrL, min_pwrR; |
1490 | s16 pwr_i = pwrL[0]; | 1490 | s16 pwr_i; |
1491 | 1491 | ||
1492 | do { | 1492 | if (pwrL[0] == pwrL[1]) |
1493 | pwr_i--; | 1493 | min_pwrL = pwrL[0]; |
1494 | tmp = (s8) ath5k_get_interpolated_value(pwr_i, | 1494 | else { |
1495 | pwrL[0], pwrL[1], | 1495 | pwr_i = pwrL[0]; |
1496 | stepL[0], stepL[1]); | 1496 | do { |
1497 | 1497 | pwr_i--; | |
1498 | } while (tmp > 1); | 1498 | tmp = (s8) ath5k_get_interpolated_value(pwr_i, |
1499 | 1499 | pwrL[0], pwrL[1], | |
1500 | min_pwrL = pwr_i; | 1500 | stepL[0], stepL[1]); |
1501 | 1501 | } while (tmp > 1); | |
1502 | pwr_i = pwrR[0]; | 1502 | |
1503 | do { | 1503 | min_pwrL = pwr_i; |
1504 | pwr_i--; | 1504 | } |
1505 | tmp = (s8) ath5k_get_interpolated_value(pwr_i, | ||
1506 | pwrR[0], pwrR[1], | ||
1507 | stepR[0], stepR[1]); | ||
1508 | |||
1509 | } while (tmp > 1); | ||
1510 | 1505 | ||
1511 | min_pwrR = pwr_i; | 1506 | if (pwrR[0] == pwrR[1]) |
1507 | min_pwrR = pwrR[0]; | ||
1508 | else { | ||
1509 | pwr_i = pwrR[0]; | ||
1510 | do { | ||
1511 | pwr_i--; | ||
1512 | tmp = (s8) ath5k_get_interpolated_value(pwr_i, | ||
1513 | pwrR[0], pwrR[1], | ||
1514 | stepR[0], stepR[1]); | ||
1515 | } while (tmp > 1); | ||
1516 | |||
1517 | min_pwrR = pwr_i; | ||
1518 | } | ||
1512 | 1519 | ||
1513 | /* Keep the right boundary so that it works for both curves */ | 1520 | /* Keep the right boundary so that it works for both curves */ |
1514 | return max(min_pwrL, min_pwrR); | 1521 | return max(min_pwrL, min_pwrR); |
diff --git a/drivers/net/wireless/ath5k/reset.c b/drivers/net/wireless/ath5k/reset.c index 7a17d31b2fd9..5f72c111c2e8 100644 --- a/drivers/net/wireless/ath5k/reset.c +++ b/drivers/net/wireless/ath5k/reset.c | |||
@@ -26,7 +26,7 @@ | |||
26 | \*****************************/ | 26 | \*****************************/ |
27 | 27 | ||
28 | #include <linux/pci.h> /* To determine if a card is pci-e */ | 28 | #include <linux/pci.h> /* To determine if a card is pci-e */ |
29 | #include <linux/bitops.h> /* For get_bitmask_order */ | 29 | #include <linux/log2.h> |
30 | #include "ath5k.h" | 30 | #include "ath5k.h" |
31 | #include "reg.h" | 31 | #include "reg.h" |
32 | #include "base.h" | 32 | #include "base.h" |
@@ -69,10 +69,10 @@ static inline int ath5k_hw_write_ofdm_timings(struct ath5k_hw *ah, | |||
69 | 69 | ||
70 | /* Get exponent | 70 | /* Get exponent |
71 | * ALGO: coef_exp = 14 - highest set bit position */ | 71 | * ALGO: coef_exp = 14 - highest set bit position */ |
72 | coef_exp = get_bitmask_order(coef_scaled); | 72 | coef_exp = ilog2(coef_scaled); |
73 | 73 | ||
74 | /* Doesn't make sense if it's zero*/ | 74 | /* Doesn't make sense if it's zero*/ |
75 | if (!coef_exp) | 75 | if (!coef_scaled || !coef_exp) |
76 | return -EINVAL; | 76 | return -EINVAL; |
77 | 77 | ||
78 | /* Note: we've shifted coef_scaled by 24 */ | 78 | /* Note: we've shifted coef_scaled by 24 */ |
@@ -359,7 +359,7 @@ int ath5k_hw_nic_wakeup(struct ath5k_hw *ah, int flags, bool initial) | |||
359 | mode |= AR5K_PHY_MODE_FREQ_5GHZ; | 359 | mode |= AR5K_PHY_MODE_FREQ_5GHZ; |
360 | 360 | ||
361 | if (ah->ah_radio == AR5K_RF5413) | 361 | if (ah->ah_radio == AR5K_RF5413) |
362 | clock |= AR5K_PHY_PLL_40MHZ_5413; | 362 | clock = AR5K_PHY_PLL_40MHZ_5413; |
363 | else | 363 | else |
364 | clock |= AR5K_PHY_PLL_40MHZ; | 364 | clock |= AR5K_PHY_PLL_40MHZ; |
365 | 365 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index e5ca2511a81a..9452461ce864 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -46,7 +46,7 @@ | |||
46 | #include "iwl-6000-hw.h" | 46 | #include "iwl-6000-hw.h" |
47 | 47 | ||
48 | /* Highest firmware API version supported */ | 48 | /* Highest firmware API version supported */ |
49 | #define IWL5000_UCODE_API_MAX 1 | 49 | #define IWL5000_UCODE_API_MAX 2 |
50 | #define IWL5150_UCODE_API_MAX 2 | 50 | #define IWL5150_UCODE_API_MAX 2 |
51 | 51 | ||
52 | /* Lowest firmware API version supported */ | 52 | /* Lowest firmware API version supported */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c index edfa5e149f71..bd438d8acf55 100644 --- a/drivers/net/wireless/iwlwifi/iwl-6000.c +++ b/drivers/net/wireless/iwlwifi/iwl-6000.c | |||
@@ -101,8 +101,8 @@ struct iwl_cfg iwl6000_2agn_cfg = { | |||
101 | .eeprom_ver = EEPROM_5000_EEPROM_VERSION, | 101 | .eeprom_ver = EEPROM_5000_EEPROM_VERSION, |
102 | .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, | 102 | .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, |
103 | .mod_params = &iwl50_mod_params, | 103 | .mod_params = &iwl50_mod_params, |
104 | .valid_tx_ant = ANT_BC, | 104 | .valid_tx_ant = ANT_AB, |
105 | .valid_rx_ant = ANT_BC, | 105 | .valid_rx_ant = ANT_AB, |
106 | .need_pll_cfg = false, | 106 | .need_pll_cfg = false, |
107 | }; | 107 | }; |
108 | 108 | ||
@@ -117,8 +117,8 @@ struct iwl_cfg iwl6050_2agn_cfg = { | |||
117 | .eeprom_ver = EEPROM_5000_EEPROM_VERSION, | 117 | .eeprom_ver = EEPROM_5000_EEPROM_VERSION, |
118 | .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, | 118 | .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, |
119 | .mod_params = &iwl50_mod_params, | 119 | .mod_params = &iwl50_mod_params, |
120 | .valid_tx_ant = ANT_BC, | 120 | .valid_tx_ant = ANT_AB, |
121 | .valid_rx_ant = ANT_BC, | 121 | .valid_rx_ant = ANT_AB, |
122 | .need_pll_cfg = false, | 122 | .need_pll_cfg = false, |
123 | }; | 123 | }; |
124 | 124 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 1ef4192207a5..f46ba2475776 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -669,13 +669,6 @@ static int iwl_set_mode(struct iwl_priv *priv, int mode) | |||
669 | if (!iwl_is_ready_rf(priv)) | 669 | if (!iwl_is_ready_rf(priv)) |
670 | return -EAGAIN; | 670 | return -EAGAIN; |
671 | 671 | ||
672 | cancel_delayed_work(&priv->scan_check); | ||
673 | if (iwl_scan_cancel_timeout(priv, 100)) { | ||
674 | IWL_WARN(priv, "Aborted scan still in progress after 100ms\n"); | ||
675 | IWL_DEBUG_MAC80211(priv, "leaving - scan abort failed.\n"); | ||
676 | return -EAGAIN; | ||
677 | } | ||
678 | |||
679 | iwl_commit_rxon(priv); | 672 | iwl_commit_rxon(priv); |
680 | 673 | ||
681 | return 0; | 674 | return 0; |
@@ -3636,7 +3629,9 @@ static struct pci_device_id iwl_hw_card_ids[] = { | |||
3636 | {IWL_PCI_DEVICE(0x0085, 0x1112, iwl6000_2ag_cfg)}, | 3629 | {IWL_PCI_DEVICE(0x0085, 0x1112, iwl6000_2ag_cfg)}, |
3637 | {IWL_PCI_DEVICE(0x0082, 0x1122, iwl6000_2ag_cfg)}, | 3630 | {IWL_PCI_DEVICE(0x0082, 0x1122, iwl6000_2ag_cfg)}, |
3638 | {IWL_PCI_DEVICE(0x422B, PCI_ANY_ID, iwl6000_3agn_cfg)}, | 3631 | {IWL_PCI_DEVICE(0x422B, PCI_ANY_ID, iwl6000_3agn_cfg)}, |
3632 | {IWL_PCI_DEVICE(0x422C, PCI_ANY_ID, iwl6000_2agn_cfg)}, | ||
3639 | {IWL_PCI_DEVICE(0x4238, PCI_ANY_ID, iwl6000_3agn_cfg)}, | 3633 | {IWL_PCI_DEVICE(0x4238, PCI_ANY_ID, iwl6000_3agn_cfg)}, |
3634 | {IWL_PCI_DEVICE(0x4239, PCI_ANY_ID, iwl6000_2agn_cfg)}, | ||
3640 | {IWL_PCI_DEVICE(0x0082, PCI_ANY_ID, iwl6000_2agn_cfg)}, | 3635 | {IWL_PCI_DEVICE(0x0082, PCI_ANY_ID, iwl6000_2agn_cfg)}, |
3641 | {IWL_PCI_DEVICE(0x0085, PCI_ANY_ID, iwl6000_3agn_cfg)}, | 3636 | {IWL_PCI_DEVICE(0x0085, PCI_ANY_ID, iwl6000_3agn_cfg)}, |
3642 | {IWL_PCI_DEVICE(0x0086, PCI_ANY_ID, iwl6050_3agn_cfg)}, | 3637 | {IWL_PCI_DEVICE(0x0086, PCI_ANY_ID, iwl6050_3agn_cfg)}, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c index e7c65c4f741b..6330b91e37ce 100644 --- a/drivers/net/wireless/iwlwifi/iwl-scan.c +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c | |||
@@ -227,9 +227,6 @@ static void iwl_rx_scan_complete_notif(struct iwl_priv *priv, | |||
227 | /* The HW is no longer scanning */ | 227 | /* The HW is no longer scanning */ |
228 | clear_bit(STATUS_SCAN_HW, &priv->status); | 228 | clear_bit(STATUS_SCAN_HW, &priv->status); |
229 | 229 | ||
230 | /* The scan completion notification came in, so kill that timer... */ | ||
231 | cancel_delayed_work(&priv->scan_check); | ||
232 | |||
233 | IWL_DEBUG_INFO(priv, "Scan pass on %sGHz took %dms\n", | 230 | IWL_DEBUG_INFO(priv, "Scan pass on %sGHz took %dms\n", |
234 | (priv->scan_bands & BIT(IEEE80211_BAND_2GHZ)) ? | 231 | (priv->scan_bands & BIT(IEEE80211_BAND_2GHZ)) ? |
235 | "2.4" : "5.2", | 232 | "2.4" : "5.2", |
@@ -712,6 +709,8 @@ static void iwl_bg_request_scan(struct work_struct *data) | |||
712 | 709 | ||
713 | mutex_lock(&priv->mutex); | 710 | mutex_lock(&priv->mutex); |
714 | 711 | ||
712 | cancel_delayed_work(&priv->scan_check); | ||
713 | |||
715 | if (!iwl_is_ready(priv)) { | 714 | if (!iwl_is_ready(priv)) { |
716 | IWL_WARN(priv, "request scan called when driver not ready.\n"); | 715 | IWL_WARN(priv, "request scan called when driver not ready.\n"); |
717 | goto done; | 716 | goto done; |
@@ -925,6 +924,8 @@ void iwl_bg_scan_completed(struct work_struct *work) | |||
925 | 924 | ||
926 | IWL_DEBUG_SCAN(priv, "SCAN complete scan\n"); | 925 | IWL_DEBUG_SCAN(priv, "SCAN complete scan\n"); |
927 | 926 | ||
927 | cancel_delayed_work(&priv->scan_check); | ||
928 | |||
928 | ieee80211_scan_completed(priv->hw, false); | 929 | ieee80211_scan_completed(priv->hw, false); |
929 | 930 | ||
930 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) | 931 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index 5798fe49c771..44ab03a12e40 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c | |||
@@ -719,6 +719,14 @@ static int iwl_set_tkip_dynamic_key_info(struct iwl_priv *priv, | |||
719 | { | 719 | { |
720 | unsigned long flags; | 720 | unsigned long flags; |
721 | int ret = 0; | 721 | int ret = 0; |
722 | __le16 key_flags = 0; | ||
723 | |||
724 | key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK); | ||
725 | key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS); | ||
726 | key_flags &= ~STA_KEY_FLG_INVALID; | ||
727 | |||
728 | if (sta_id == priv->hw_params.bcast_sta_id) | ||
729 | key_flags |= STA_KEY_MULTICAST_MSK; | ||
722 | 730 | ||
723 | keyconf->flags |= IEEE80211_KEY_FLAG_GENERATE_IV; | 731 | keyconf->flags |= IEEE80211_KEY_FLAG_GENERATE_IV; |
724 | keyconf->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIC; | 732 | keyconf->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIC; |
@@ -738,6 +746,9 @@ static int iwl_set_tkip_dynamic_key_info(struct iwl_priv *priv, | |||
738 | WARN(priv->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET, | 746 | WARN(priv->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET, |
739 | "no space for a new key"); | 747 | "no space for a new key"); |
740 | 748 | ||
749 | priv->stations[sta_id].sta.key.key_flags = key_flags; | ||
750 | |||
751 | |||
741 | /* This copy is acutally not needed: we get the key with each TX */ | 752 | /* This copy is acutally not needed: we get the key with each TX */ |
742 | memcpy(priv->stations[sta_id].keyinfo.key, keyconf->key, 16); | 753 | memcpy(priv->stations[sta_id].keyinfo.key, keyconf->key, 16); |
743 | 754 | ||
@@ -754,9 +765,7 @@ void iwl_update_tkip_key(struct iwl_priv *priv, | |||
754 | { | 765 | { |
755 | u8 sta_id = IWL_INVALID_STATION; | 766 | u8 sta_id = IWL_INVALID_STATION; |
756 | unsigned long flags; | 767 | unsigned long flags; |
757 | __le16 key_flags = 0; | ||
758 | int i; | 768 | int i; |
759 | DECLARE_MAC_BUF(mac); | ||
760 | 769 | ||
761 | sta_id = iwl_find_station(priv, addr); | 770 | sta_id = iwl_find_station(priv, addr); |
762 | if (sta_id == IWL_INVALID_STATION) { | 771 | if (sta_id == IWL_INVALID_STATION) { |
@@ -771,16 +780,8 @@ void iwl_update_tkip_key(struct iwl_priv *priv, | |||
771 | return; | 780 | return; |
772 | } | 781 | } |
773 | 782 | ||
774 | key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK); | ||
775 | key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS); | ||
776 | key_flags &= ~STA_KEY_FLG_INVALID; | ||
777 | |||
778 | if (sta_id == priv->hw_params.bcast_sta_id) | ||
779 | key_flags |= STA_KEY_MULTICAST_MSK; | ||
780 | |||
781 | spin_lock_irqsave(&priv->sta_lock, flags); | 783 | spin_lock_irqsave(&priv->sta_lock, flags); |
782 | 784 | ||
783 | priv->stations[sta_id].sta.key.key_flags = key_flags; | ||
784 | priv->stations[sta_id].sta.key.tkip_rx_tsc_byte2 = (u8) iv32; | 785 | priv->stations[sta_id].sta.key.tkip_rx_tsc_byte2 = (u8) iv32; |
785 | 786 | ||
786 | for (i = 0; i < 5; i++) | 787 | for (i = 0; i < 5; i++) |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 70a00c8ee42e..ff4d0e41d7c4 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -782,13 +782,6 @@ static int iwl3945_set_mode(struct iwl_priv *priv, int mode) | |||
782 | if (!iwl_is_ready_rf(priv)) | 782 | if (!iwl_is_ready_rf(priv)) |
783 | return -EAGAIN; | 783 | return -EAGAIN; |
784 | 784 | ||
785 | cancel_delayed_work(&priv->scan_check); | ||
786 | if (iwl_scan_cancel_timeout(priv, 100)) { | ||
787 | IWL_WARN(priv, "Aborted scan still in progress after 100ms\n"); | ||
788 | IWL_DEBUG_MAC80211(priv, "leaving - scan abort failed.\n"); | ||
789 | return -EAGAIN; | ||
790 | } | ||
791 | |||
792 | iwl3945_commit_rxon(priv); | 785 | iwl3945_commit_rxon(priv); |
793 | 786 | ||
794 | return 0; | 787 | return 0; |
@@ -1744,7 +1737,6 @@ static void iwl3945_rx_queue_free(struct iwl_priv *priv, struct iwl_rx_queue *rx | |||
1744 | rxq->bd = NULL; | 1737 | rxq->bd = NULL; |
1745 | rxq->rb_stts = NULL; | 1738 | rxq->rb_stts = NULL; |
1746 | } | 1739 | } |
1747 | EXPORT_SYMBOL(iwl3945_rx_queue_free); | ||
1748 | 1740 | ||
1749 | 1741 | ||
1750 | /* Convert linear signal-to-noise ratio into dB */ | 1742 | /* Convert linear signal-to-noise ratio into dB */ |
@@ -3299,6 +3291,8 @@ static void iwl3945_bg_request_scan(struct work_struct *data) | |||
3299 | 3291 | ||
3300 | mutex_lock(&priv->mutex); | 3292 | mutex_lock(&priv->mutex); |
3301 | 3293 | ||
3294 | cancel_delayed_work(&priv->scan_check); | ||
3295 | |||
3302 | if (!iwl_is_ready(priv)) { | 3296 | if (!iwl_is_ready(priv)) { |
3303 | IWL_WARN(priv, "request scan called when driver not ready.\n"); | 3297 | IWL_WARN(priv, "request scan called when driver not ready.\n"); |
3304 | goto done; | 3298 | goto done; |
diff --git a/drivers/net/wireless/rt2x00/rt2x00debug.c b/drivers/net/wireless/rt2x00/rt2x00debug.c index 07d378ef0b46..7b3ee8c2eaef 100644 --- a/drivers/net/wireless/rt2x00/rt2x00debug.c +++ b/drivers/net/wireless/rt2x00/rt2x00debug.c | |||
@@ -138,7 +138,7 @@ void rt2x00debug_update_crypto(struct rt2x00_dev *rt2x00dev, | |||
138 | 138 | ||
139 | if (cipher == CIPHER_TKIP_NO_MIC) | 139 | if (cipher == CIPHER_TKIP_NO_MIC) |
140 | cipher = CIPHER_TKIP; | 140 | cipher = CIPHER_TKIP; |
141 | if (cipher == CIPHER_NONE || cipher > CIPHER_MAX) | 141 | if (cipher == CIPHER_NONE || cipher >= CIPHER_MAX) |
142 | return; | 142 | return; |
143 | 143 | ||
144 | /* Remove CIPHER_NONE index */ | 144 | /* Remove CIPHER_NONE index */ |
diff --git a/drivers/net/wireless/rtl818x/rtl8187.h b/drivers/net/wireless/rtl818x/rtl8187.h index 9718f61809cf..edeff82a4d06 100644 --- a/drivers/net/wireless/rtl818x/rtl8187.h +++ b/drivers/net/wireless/rtl818x/rtl8187.h | |||
@@ -120,6 +120,12 @@ struct rtl8187_priv { | |||
120 | __le64 buf; | 120 | __le64 buf; |
121 | struct sk_buff_head queue; | 121 | struct sk_buff_head queue; |
122 | } b_tx_status; /* This queue is used by both -b and non-b devices */ | 122 | } b_tx_status; /* This queue is used by both -b and non-b devices */ |
123 | struct mutex io_mutex; | ||
124 | union { | ||
125 | u8 bits8; | ||
126 | __le16 bits16; | ||
127 | __le32 bits32; | ||
128 | } *io_dmabuf; | ||
123 | }; | 129 | }; |
124 | 130 | ||
125 | void rtl8187_write_phy(struct ieee80211_hw *dev, u8 addr, u32 data); | 131 | void rtl8187_write_phy(struct ieee80211_hw *dev, u8 addr, u32 data); |
@@ -129,10 +135,14 @@ static inline u8 rtl818x_ioread8_idx(struct rtl8187_priv *priv, | |||
129 | { | 135 | { |
130 | u8 val; | 136 | u8 val; |
131 | 137 | ||
138 | mutex_lock(&priv->io_mutex); | ||
132 | usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), | 139 | usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), |
133 | RTL8187_REQ_GET_REG, RTL8187_REQT_READ, | 140 | RTL8187_REQ_GET_REG, RTL8187_REQT_READ, |
134 | (unsigned long)addr, idx & 0x03, &val, | 141 | (unsigned long)addr, idx & 0x03, |
135 | sizeof(val), HZ / 2); | 142 | &priv->io_dmabuf->bits8, sizeof(val), HZ / 2); |
143 | |||
144 | val = priv->io_dmabuf->bits8; | ||
145 | mutex_unlock(&priv->io_mutex); | ||
136 | 146 | ||
137 | return val; | 147 | return val; |
138 | } | 148 | } |
@@ -147,10 +157,14 @@ static inline u16 rtl818x_ioread16_idx(struct rtl8187_priv *priv, | |||
147 | { | 157 | { |
148 | __le16 val; | 158 | __le16 val; |
149 | 159 | ||
160 | mutex_lock(&priv->io_mutex); | ||
150 | usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), | 161 | usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), |
151 | RTL8187_REQ_GET_REG, RTL8187_REQT_READ, | 162 | RTL8187_REQ_GET_REG, RTL8187_REQT_READ, |
152 | (unsigned long)addr, idx & 0x03, &val, | 163 | (unsigned long)addr, idx & 0x03, |
153 | sizeof(val), HZ / 2); | 164 | &priv->io_dmabuf->bits16, sizeof(val), HZ / 2); |
165 | |||
166 | val = priv->io_dmabuf->bits16; | ||
167 | mutex_unlock(&priv->io_mutex); | ||
154 | 168 | ||
155 | return le16_to_cpu(val); | 169 | return le16_to_cpu(val); |
156 | } | 170 | } |
@@ -165,10 +179,14 @@ static inline u32 rtl818x_ioread32_idx(struct rtl8187_priv *priv, | |||
165 | { | 179 | { |
166 | __le32 val; | 180 | __le32 val; |
167 | 181 | ||
182 | mutex_lock(&priv->io_mutex); | ||
168 | usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), | 183 | usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), |
169 | RTL8187_REQ_GET_REG, RTL8187_REQT_READ, | 184 | RTL8187_REQ_GET_REG, RTL8187_REQT_READ, |
170 | (unsigned long)addr, idx & 0x03, &val, | 185 | (unsigned long)addr, idx & 0x03, |
171 | sizeof(val), HZ / 2); | 186 | &priv->io_dmabuf->bits32, sizeof(val), HZ / 2); |
187 | |||
188 | val = priv->io_dmabuf->bits32; | ||
189 | mutex_unlock(&priv->io_mutex); | ||
172 | 190 | ||
173 | return le32_to_cpu(val); | 191 | return le32_to_cpu(val); |
174 | } | 192 | } |
@@ -181,10 +199,15 @@ static inline u32 rtl818x_ioread32(struct rtl8187_priv *priv, __le32 *addr) | |||
181 | static inline void rtl818x_iowrite8_idx(struct rtl8187_priv *priv, | 199 | static inline void rtl818x_iowrite8_idx(struct rtl8187_priv *priv, |
182 | u8 *addr, u8 val, u8 idx) | 200 | u8 *addr, u8 val, u8 idx) |
183 | { | 201 | { |
202 | mutex_lock(&priv->io_mutex); | ||
203 | |||
204 | priv->io_dmabuf->bits8 = val; | ||
184 | usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), | 205 | usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), |
185 | RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, | 206 | RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, |
186 | (unsigned long)addr, idx & 0x03, &val, | 207 | (unsigned long)addr, idx & 0x03, |
187 | sizeof(val), HZ / 2); | 208 | &priv->io_dmabuf->bits8, sizeof(val), HZ / 2); |
209 | |||
210 | mutex_unlock(&priv->io_mutex); | ||
188 | } | 211 | } |
189 | 212 | ||
190 | static inline void rtl818x_iowrite8(struct rtl8187_priv *priv, u8 *addr, u8 val) | 213 | static inline void rtl818x_iowrite8(struct rtl8187_priv *priv, u8 *addr, u8 val) |
@@ -195,12 +218,15 @@ static inline void rtl818x_iowrite8(struct rtl8187_priv *priv, u8 *addr, u8 val) | |||
195 | static inline void rtl818x_iowrite16_idx(struct rtl8187_priv *priv, | 218 | static inline void rtl818x_iowrite16_idx(struct rtl8187_priv *priv, |
196 | __le16 *addr, u16 val, u8 idx) | 219 | __le16 *addr, u16 val, u8 idx) |
197 | { | 220 | { |
198 | __le16 buf = cpu_to_le16(val); | 221 | mutex_lock(&priv->io_mutex); |
199 | 222 | ||
223 | priv->io_dmabuf->bits16 = cpu_to_le16(val); | ||
200 | usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), | 224 | usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), |
201 | RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, | 225 | RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, |
202 | (unsigned long)addr, idx & 0x03, &buf, sizeof(buf), | 226 | (unsigned long)addr, idx & 0x03, |
203 | HZ / 2); | 227 | &priv->io_dmabuf->bits16, sizeof(val), HZ / 2); |
228 | |||
229 | mutex_unlock(&priv->io_mutex); | ||
204 | } | 230 | } |
205 | 231 | ||
206 | static inline void rtl818x_iowrite16(struct rtl8187_priv *priv, __le16 *addr, | 232 | static inline void rtl818x_iowrite16(struct rtl8187_priv *priv, __le16 *addr, |
@@ -212,12 +238,15 @@ static inline void rtl818x_iowrite16(struct rtl8187_priv *priv, __le16 *addr, | |||
212 | static inline void rtl818x_iowrite32_idx(struct rtl8187_priv *priv, | 238 | static inline void rtl818x_iowrite32_idx(struct rtl8187_priv *priv, |
213 | __le32 *addr, u32 val, u8 idx) | 239 | __le32 *addr, u32 val, u8 idx) |
214 | { | 240 | { |
215 | __le32 buf = cpu_to_le32(val); | 241 | mutex_lock(&priv->io_mutex); |
216 | 242 | ||
243 | priv->io_dmabuf->bits32 = cpu_to_le32(val); | ||
217 | usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), | 244 | usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), |
218 | RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, | 245 | RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, |
219 | (unsigned long)addr, idx & 0x03, &buf, sizeof(buf), | 246 | (unsigned long)addr, idx & 0x03, |
220 | HZ / 2); | 247 | &priv->io_dmabuf->bits32, sizeof(val), HZ / 2); |
248 | |||
249 | mutex_unlock(&priv->io_mutex); | ||
221 | } | 250 | } |
222 | 251 | ||
223 | static inline void rtl818x_iowrite32(struct rtl8187_priv *priv, __le32 *addr, | 252 | static inline void rtl818x_iowrite32(struct rtl8187_priv *priv, __le32 *addr, |
diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c index fd81884b9c7d..d51ba0a88c23 100644 --- a/drivers/net/wireless/rtl818x/rtl8187_dev.c +++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c | |||
@@ -71,6 +71,8 @@ static struct usb_device_id rtl8187_table[] __devinitdata = { | |||
71 | {USB_DEVICE(0x18E8, 0x6232), .driver_info = DEVICE_RTL8187}, | 71 | {USB_DEVICE(0x18E8, 0x6232), .driver_info = DEVICE_RTL8187}, |
72 | /* AirLive */ | 72 | /* AirLive */ |
73 | {USB_DEVICE(0x1b75, 0x8187), .driver_info = DEVICE_RTL8187}, | 73 | {USB_DEVICE(0x1b75, 0x8187), .driver_info = DEVICE_RTL8187}, |
74 | /* Linksys */ | ||
75 | {USB_DEVICE(0x1737, 0x0073), .driver_info = DEVICE_RTL8187B}, | ||
74 | {} | 76 | {} |
75 | }; | 77 | }; |
76 | 78 | ||
@@ -1329,6 +1331,14 @@ static int __devinit rtl8187_probe(struct usb_interface *intf, | |||
1329 | priv = dev->priv; | 1331 | priv = dev->priv; |
1330 | priv->is_rtl8187b = (id->driver_info == DEVICE_RTL8187B); | 1332 | priv->is_rtl8187b = (id->driver_info == DEVICE_RTL8187B); |
1331 | 1333 | ||
1334 | /* allocate "DMA aware" buffer for register accesses */ | ||
1335 | priv->io_dmabuf = kmalloc(sizeof(*priv->io_dmabuf), GFP_KERNEL); | ||
1336 | if (!priv->io_dmabuf) { | ||
1337 | err = -ENOMEM; | ||
1338 | goto err_free_dev; | ||
1339 | } | ||
1340 | mutex_init(&priv->io_mutex); | ||
1341 | |||
1332 | SET_IEEE80211_DEV(dev, &intf->dev); | 1342 | SET_IEEE80211_DEV(dev, &intf->dev); |
1333 | usb_set_intfdata(intf, dev); | 1343 | usb_set_intfdata(intf, dev); |
1334 | priv->udev = udev; | 1344 | priv->udev = udev; |
@@ -1495,7 +1505,7 @@ static int __devinit rtl8187_probe(struct usb_interface *intf, | |||
1495 | err = ieee80211_register_hw(dev); | 1505 | err = ieee80211_register_hw(dev); |
1496 | if (err) { | 1506 | if (err) { |
1497 | printk(KERN_ERR "rtl8187: Cannot register device\n"); | 1507 | printk(KERN_ERR "rtl8187: Cannot register device\n"); |
1498 | goto err_free_dev; | 1508 | goto err_free_dmabuf; |
1499 | } | 1509 | } |
1500 | mutex_init(&priv->conf_mutex); | 1510 | mutex_init(&priv->conf_mutex); |
1501 | skb_queue_head_init(&priv->b_tx_status.queue); | 1511 | skb_queue_head_init(&priv->b_tx_status.queue); |
@@ -1506,6 +1516,8 @@ static int __devinit rtl8187_probe(struct usb_interface *intf, | |||
1506 | 1516 | ||
1507 | return 0; | 1517 | return 0; |
1508 | 1518 | ||
1519 | err_free_dmabuf: | ||
1520 | kfree(priv->io_dmabuf); | ||
1509 | err_free_dev: | 1521 | err_free_dev: |
1510 | ieee80211_free_hw(dev); | 1522 | ieee80211_free_hw(dev); |
1511 | usb_set_intfdata(intf, NULL); | 1523 | usb_set_intfdata(intf, NULL); |
@@ -1526,6 +1538,7 @@ static void __devexit rtl8187_disconnect(struct usb_interface *intf) | |||
1526 | priv = dev->priv; | 1538 | priv = dev->priv; |
1527 | usb_reset_device(priv->udev); | 1539 | usb_reset_device(priv->udev); |
1528 | usb_put_dev(interface_to_usbdev(intf)); | 1540 | usb_put_dev(interface_to_usbdev(intf)); |
1541 | kfree(priv->io_dmabuf); | ||
1529 | ieee80211_free_hw(dev); | 1542 | ieee80211_free_hw(dev); |
1530 | } | 1543 | } |
1531 | 1544 | ||
diff --git a/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c b/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c index 78df281b297a..a09819386a1e 100644 --- a/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c +++ b/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c | |||
@@ -88,9 +88,15 @@ static void rtl8225_write_8051(struct ieee80211_hw *dev, u8 addr, __le16 data) | |||
88 | rtl818x_iowrite16(priv, &priv->map->RFPinsOutput, reg80); | 88 | rtl818x_iowrite16(priv, &priv->map->RFPinsOutput, reg80); |
89 | udelay(10); | 89 | udelay(10); |
90 | 90 | ||
91 | mutex_lock(&priv->io_mutex); | ||
92 | |||
93 | priv->io_dmabuf->bits16 = data; | ||
91 | usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), | 94 | usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), |
92 | RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, | 95 | RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, |
93 | addr, 0x8225, &data, sizeof(data), HZ / 2); | 96 | addr, 0x8225, &priv->io_dmabuf->bits16, sizeof(data), |
97 | HZ / 2); | ||
98 | |||
99 | mutex_unlock(&priv->io_mutex); | ||
94 | 100 | ||
95 | rtl818x_iowrite16(priv, &priv->map->RFPinsOutput, reg80 | (1 << 2)); | 101 | rtl818x_iowrite16(priv, &priv->map->RFPinsOutput, reg80 | (1 << 2)); |
96 | udelay(10); | 102 | udelay(10); |
diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c index f0e99d4c066b..242257b19441 100644 --- a/drivers/oprofile/cpu_buffer.c +++ b/drivers/oprofile/cpu_buffer.c | |||
@@ -78,16 +78,20 @@ void free_cpu_buffers(void) | |||
78 | op_ring_buffer_write = NULL; | 78 | op_ring_buffer_write = NULL; |
79 | } | 79 | } |
80 | 80 | ||
81 | #define RB_EVENT_HDR_SIZE 4 | ||
82 | |||
81 | int alloc_cpu_buffers(void) | 83 | int alloc_cpu_buffers(void) |
82 | { | 84 | { |
83 | int i; | 85 | int i; |
84 | 86 | ||
85 | unsigned long buffer_size = oprofile_cpu_buffer_size; | 87 | unsigned long buffer_size = oprofile_cpu_buffer_size; |
88 | unsigned long byte_size = buffer_size * (sizeof(struct op_sample) + | ||
89 | RB_EVENT_HDR_SIZE); | ||
86 | 90 | ||
87 | op_ring_buffer_read = ring_buffer_alloc(buffer_size, OP_BUFFER_FLAGS); | 91 | op_ring_buffer_read = ring_buffer_alloc(byte_size, OP_BUFFER_FLAGS); |
88 | if (!op_ring_buffer_read) | 92 | if (!op_ring_buffer_read) |
89 | goto fail; | 93 | goto fail; |
90 | op_ring_buffer_write = ring_buffer_alloc(buffer_size, OP_BUFFER_FLAGS); | 94 | op_ring_buffer_write = ring_buffer_alloc(byte_size, OP_BUFFER_FLAGS); |
91 | if (!op_ring_buffer_write) | 95 | if (!op_ring_buffer_write) |
92 | goto fail; | 96 | goto fail; |
93 | 97 | ||
diff --git a/drivers/parport/parport_gsc.c b/drivers/parport/parport_gsc.c index e6a7e847ee80..ea31a452b153 100644 --- a/drivers/parport/parport_gsc.c +++ b/drivers/parport/parport_gsc.c | |||
@@ -352,8 +352,8 @@ static int __devinit parport_init_chip(struct parisc_device *dev) | |||
352 | unsigned long port; | 352 | unsigned long port; |
353 | 353 | ||
354 | if (!dev->irq) { | 354 | if (!dev->irq) { |
355 | printk(KERN_WARNING "IRQ not found for parallel device at 0x%lx\n", | 355 | printk(KERN_WARNING "IRQ not found for parallel device at 0x%llx\n", |
356 | dev->hpa.start); | 356 | (unsigned long long)dev->hpa.start); |
357 | return -ENODEV; | 357 | return -ENODEV; |
358 | } | 358 | } |
359 | 359 | ||
diff --git a/drivers/parport/share.c b/drivers/parport/share.c index 0ebca450ed29..dffa5d4fb298 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c | |||
@@ -614,7 +614,10 @@ parport_register_device(struct parport *port, const char *name, | |||
614 | * pardevice fields. -arca | 614 | * pardevice fields. -arca |
615 | */ | 615 | */ |
616 | port->ops->init_state(tmp, tmp->state); | 616 | port->ops->init_state(tmp, tmp->state); |
617 | parport_device_proc_register(tmp); | 617 | if (!test_and_set_bit(PARPORT_DEVPROC_REGISTERED, &port->devflags)) { |
618 | port->proc_device = tmp; | ||
619 | parport_device_proc_register(tmp); | ||
620 | } | ||
618 | return tmp; | 621 | return tmp; |
619 | 622 | ||
620 | out_free_all: | 623 | out_free_all: |
@@ -646,10 +649,14 @@ void parport_unregister_device(struct pardevice *dev) | |||
646 | } | 649 | } |
647 | #endif | 650 | #endif |
648 | 651 | ||
649 | parport_device_proc_unregister(dev); | ||
650 | |||
651 | port = dev->port->physport; | 652 | port = dev->port->physport; |
652 | 653 | ||
654 | if (port->proc_device == dev) { | ||
655 | port->proc_device = NULL; | ||
656 | clear_bit(PARPORT_DEVPROC_REGISTERED, &port->devflags); | ||
657 | parport_device_proc_unregister(dev); | ||
658 | } | ||
659 | |||
653 | if (port->cad == dev) { | 660 | if (port->cad == dev) { |
654 | printk(KERN_DEBUG "%s: %s forgot to release port\n", | 661 | printk(KERN_DEBUG "%s: %s forgot to release port\n", |
655 | port->name, dev->name); | 662 | port->name, dev->name); |
diff --git a/drivers/pci/hotplug/acpiphp.h b/drivers/pci/hotplug/acpiphp.h index 4fc168b70095..e68d5f20ffb3 100644 --- a/drivers/pci/hotplug/acpiphp.h +++ b/drivers/pci/hotplug/acpiphp.h | |||
@@ -129,7 +129,6 @@ struct acpiphp_func { | |||
129 | struct acpiphp_bridge *bridge; /* Ejectable PCI-to-PCI bridge */ | 129 | struct acpiphp_bridge *bridge; /* Ejectable PCI-to-PCI bridge */ |
130 | 130 | ||
131 | struct list_head sibling; | 131 | struct list_head sibling; |
132 | struct pci_dev *pci_dev; | ||
133 | struct notifier_block nb; | 132 | struct notifier_block nb; |
134 | acpi_handle handle; | 133 | acpi_handle handle; |
135 | 134 | ||
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index a33794d9e0dc..3a6064bce561 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c | |||
@@ -32,9 +32,6 @@ | |||
32 | 32 | ||
33 | /* | 33 | /* |
34 | * Lifetime rules for pci_dev: | 34 | * Lifetime rules for pci_dev: |
35 | * - The one in acpiphp_func has its refcount elevated by pci_get_slot() | ||
36 | * when the driver is loaded or when an insertion event occurs. It loses | ||
37 | * a refcount when its ejected or the driver unloads. | ||
38 | * - The one in acpiphp_bridge has its refcount elevated by pci_get_slot() | 35 | * - The one in acpiphp_bridge has its refcount elevated by pci_get_slot() |
39 | * when the bridge is scanned and it loses a refcount when the bridge | 36 | * when the bridge is scanned and it loses a refcount when the bridge |
40 | * is removed. | 37 | * is removed. |
@@ -130,6 +127,7 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv) | |||
130 | unsigned long long adr, sun; | 127 | unsigned long long adr, sun; |
131 | int device, function, retval; | 128 | int device, function, retval; |
132 | struct pci_bus *pbus = bridge->pci_bus; | 129 | struct pci_bus *pbus = bridge->pci_bus; |
130 | struct pci_dev *pdev; | ||
133 | 131 | ||
134 | if (!acpi_pci_check_ejectable(pbus, handle) && !is_dock_device(handle)) | 132 | if (!acpi_pci_check_ejectable(pbus, handle) && !is_dock_device(handle)) |
135 | return AE_OK; | 133 | return AE_OK; |
@@ -213,10 +211,10 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv) | |||
213 | newfunc->slot = slot; | 211 | newfunc->slot = slot; |
214 | list_add_tail(&newfunc->sibling, &slot->funcs); | 212 | list_add_tail(&newfunc->sibling, &slot->funcs); |
215 | 213 | ||
216 | /* associate corresponding pci_dev */ | 214 | pdev = pci_get_slot(pbus, PCI_DEVFN(device, function)); |
217 | newfunc->pci_dev = pci_get_slot(pbus, PCI_DEVFN(device, function)); | 215 | if (pdev) { |
218 | if (newfunc->pci_dev) { | ||
219 | slot->flags |= (SLOT_ENABLED | SLOT_POWEREDON); | 216 | slot->flags |= (SLOT_ENABLED | SLOT_POWEREDON); |
217 | pci_dev_put(pdev); | ||
220 | } | 218 | } |
221 | 219 | ||
222 | if (is_dock_device(handle)) { | 220 | if (is_dock_device(handle)) { |
@@ -617,7 +615,6 @@ static void cleanup_bridge(struct acpiphp_bridge *bridge) | |||
617 | if (ACPI_FAILURE(status)) | 615 | if (ACPI_FAILURE(status)) |
618 | err("failed to remove notify handler\n"); | 616 | err("failed to remove notify handler\n"); |
619 | } | 617 | } |
620 | pci_dev_put(func->pci_dev); | ||
621 | list_del(list); | 618 | list_del(list); |
622 | kfree(func); | 619 | kfree(func); |
623 | } | 620 | } |
@@ -1101,22 +1098,24 @@ static int __ref enable_device(struct acpiphp_slot *slot) | |||
1101 | pci_enable_bridges(bus); | 1098 | pci_enable_bridges(bus); |
1102 | pci_bus_add_devices(bus); | 1099 | pci_bus_add_devices(bus); |
1103 | 1100 | ||
1104 | /* associate pci_dev to our representation */ | ||
1105 | list_for_each (l, &slot->funcs) { | 1101 | list_for_each (l, &slot->funcs) { |
1106 | func = list_entry(l, struct acpiphp_func, sibling); | 1102 | func = list_entry(l, struct acpiphp_func, sibling); |
1107 | func->pci_dev = pci_get_slot(bus, PCI_DEVFN(slot->device, | 1103 | dev = pci_get_slot(bus, PCI_DEVFN(slot->device, |
1108 | func->function)); | 1104 | func->function)); |
1109 | if (!func->pci_dev) | 1105 | if (!dev) |
1110 | continue; | 1106 | continue; |
1111 | 1107 | ||
1112 | if (func->pci_dev->hdr_type != PCI_HEADER_TYPE_BRIDGE && | 1108 | if (dev->hdr_type != PCI_HEADER_TYPE_BRIDGE && |
1113 | func->pci_dev->hdr_type != PCI_HEADER_TYPE_CARDBUS) | 1109 | dev->hdr_type != PCI_HEADER_TYPE_CARDBUS) { |
1110 | pci_dev_put(dev); | ||
1114 | continue; | 1111 | continue; |
1112 | } | ||
1115 | 1113 | ||
1116 | status = find_p2p_bridge(func->handle, (u32)1, bus, NULL); | 1114 | status = find_p2p_bridge(func->handle, (u32)1, bus, NULL); |
1117 | if (ACPI_FAILURE(status)) | 1115 | if (ACPI_FAILURE(status)) |
1118 | warn("find_p2p_bridge failed (error code = 0x%x)\n", | 1116 | warn("find_p2p_bridge failed (error code = 0x%x)\n", |
1119 | status); | 1117 | status); |
1118 | pci_dev_put(dev); | ||
1120 | } | 1119 | } |
1121 | 1120 | ||
1122 | slot->flags |= SLOT_ENABLED; | 1121 | slot->flags |= SLOT_ENABLED; |
@@ -1142,17 +1141,14 @@ static void disable_bridges(struct pci_bus *bus) | |||
1142 | */ | 1141 | */ |
1143 | static int disable_device(struct acpiphp_slot *slot) | 1142 | static int disable_device(struct acpiphp_slot *slot) |
1144 | { | 1143 | { |
1145 | int retval = 0; | ||
1146 | struct acpiphp_func *func; | 1144 | struct acpiphp_func *func; |
1147 | struct list_head *l; | 1145 | struct pci_dev *pdev; |
1148 | 1146 | ||
1149 | /* is this slot already disabled? */ | 1147 | /* is this slot already disabled? */ |
1150 | if (!(slot->flags & SLOT_ENABLED)) | 1148 | if (!(slot->flags & SLOT_ENABLED)) |
1151 | goto err_exit; | 1149 | goto err_exit; |
1152 | 1150 | ||
1153 | list_for_each (l, &slot->funcs) { | 1151 | list_for_each_entry(func, &slot->funcs, sibling) { |
1154 | func = list_entry(l, struct acpiphp_func, sibling); | ||
1155 | |||
1156 | if (func->bridge) { | 1152 | if (func->bridge) { |
1157 | /* cleanup p2p bridges under this P2P bridge */ | 1153 | /* cleanup p2p bridges under this P2P bridge */ |
1158 | cleanup_p2p_bridge(func->bridge->handle, | 1154 | cleanup_p2p_bridge(func->bridge->handle, |
@@ -1160,35 +1156,28 @@ static int disable_device(struct acpiphp_slot *slot) | |||
1160 | func->bridge = NULL; | 1156 | func->bridge = NULL; |
1161 | } | 1157 | } |
1162 | 1158 | ||
1163 | if (func->pci_dev) { | 1159 | pdev = pci_get_slot(slot->bridge->pci_bus, |
1164 | pci_stop_bus_device(func->pci_dev); | 1160 | PCI_DEVFN(slot->device, func->function)); |
1165 | if (func->pci_dev->subordinate) { | 1161 | if (pdev) { |
1166 | disable_bridges(func->pci_dev->subordinate); | 1162 | pci_stop_bus_device(pdev); |
1167 | pci_disable_device(func->pci_dev); | 1163 | if (pdev->subordinate) { |
1164 | disable_bridges(pdev->subordinate); | ||
1165 | pci_disable_device(pdev); | ||
1168 | } | 1166 | } |
1167 | pci_remove_bus_device(pdev); | ||
1168 | pci_dev_put(pdev); | ||
1169 | } | 1169 | } |
1170 | } | 1170 | } |
1171 | 1171 | ||
1172 | list_for_each (l, &slot->funcs) { | 1172 | list_for_each_entry(func, &slot->funcs, sibling) { |
1173 | func = list_entry(l, struct acpiphp_func, sibling); | ||
1174 | |||
1175 | acpiphp_unconfigure_ioapics(func->handle); | 1173 | acpiphp_unconfigure_ioapics(func->handle); |
1176 | acpiphp_bus_trim(func->handle); | 1174 | acpiphp_bus_trim(func->handle); |
1177 | /* try to remove anyway. | ||
1178 | * acpiphp_bus_add might have been failed */ | ||
1179 | |||
1180 | if (!func->pci_dev) | ||
1181 | continue; | ||
1182 | |||
1183 | pci_remove_bus_device(func->pci_dev); | ||
1184 | pci_dev_put(func->pci_dev); | ||
1185 | func->pci_dev = NULL; | ||
1186 | } | 1175 | } |
1187 | 1176 | ||
1188 | slot->flags &= (~SLOT_ENABLED); | 1177 | slot->flags &= (~SLOT_ENABLED); |
1189 | 1178 | ||
1190 | err_exit: | 1179 | err_exit: |
1191 | return retval; | 1180 | return 0; |
1192 | } | 1181 | } |
1193 | 1182 | ||
1194 | 1183 | ||
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index 001b328adf80..a563fbe559d0 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c | |||
@@ -59,6 +59,10 @@ | |||
59 | #define DMA_32BIT_PFN IOVA_PFN(DMA_BIT_MASK(32)) | 59 | #define DMA_32BIT_PFN IOVA_PFN(DMA_BIT_MASK(32)) |
60 | #define DMA_64BIT_PFN IOVA_PFN(DMA_BIT_MASK(64)) | 60 | #define DMA_64BIT_PFN IOVA_PFN(DMA_BIT_MASK(64)) |
61 | 61 | ||
62 | #ifndef PHYSICAL_PAGE_MASK | ||
63 | #define PHYSICAL_PAGE_MASK PAGE_MASK | ||
64 | #endif | ||
65 | |||
62 | /* global iommu list, set NULL for ignored DMAR units */ | 66 | /* global iommu list, set NULL for ignored DMAR units */ |
63 | static struct intel_iommu **g_iommus; | 67 | static struct intel_iommu **g_iommus; |
64 | 68 | ||
@@ -1216,7 +1220,7 @@ static void dmar_init_reserved_ranges(void) | |||
1216 | if (!r->flags || !(r->flags & IORESOURCE_MEM)) | 1220 | if (!r->flags || !(r->flags & IORESOURCE_MEM)) |
1217 | continue; | 1221 | continue; |
1218 | addr = r->start; | 1222 | addr = r->start; |
1219 | addr &= PAGE_MASK; | 1223 | addr &= PHYSICAL_PAGE_MASK; |
1220 | size = r->end - addr; | 1224 | size = r->end - addr; |
1221 | size = PAGE_ALIGN(size); | 1225 | size = PAGE_ALIGN(size); |
1222 | iova = reserve_iova(&reserved_iova_list, IOVA_PFN(addr), | 1226 | iova = reserve_iova(&reserved_iova_list, IOVA_PFN(addr), |
@@ -2173,7 +2177,8 @@ static dma_addr_t __intel_map_single(struct device *hwdev, phys_addr_t paddr, | |||
2173 | * is not a big problem | 2177 | * is not a big problem |
2174 | */ | 2178 | */ |
2175 | ret = domain_page_mapping(domain, start_paddr, | 2179 | ret = domain_page_mapping(domain, start_paddr, |
2176 | ((u64)paddr) & PAGE_MASK, size, prot); | 2180 | ((u64)paddr) & PHYSICAL_PAGE_MASK, |
2181 | size, prot); | ||
2177 | if (ret) | 2182 | if (ret) |
2178 | goto error; | 2183 | goto error; |
2179 | 2184 | ||
@@ -2463,8 +2468,8 @@ static int intel_map_sg(struct device *hwdev, struct scatterlist *sglist, int ne | |||
2463 | addr = page_to_phys(sg_page(sg)) + sg->offset; | 2468 | addr = page_to_phys(sg_page(sg)) + sg->offset; |
2464 | size = aligned_size((u64)addr, sg->length); | 2469 | size = aligned_size((u64)addr, sg->length); |
2465 | ret = domain_page_mapping(domain, start_addr + offset, | 2470 | ret = domain_page_mapping(domain, start_addr + offset, |
2466 | ((u64)addr) & PAGE_MASK, | 2471 | ((u64)addr) & PHYSICAL_PAGE_MASK, |
2467 | size, prot); | 2472 | size, prot); |
2468 | if (ret) { | 2473 | if (ret) { |
2469 | /* clear the page */ | 2474 | /* clear the page */ |
2470 | dma_pte_clear_range(domain, start_addr, | 2475 | dma_pte_clear_range(domain, start_addr, |
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 6f2e6295e773..362773247fbf 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
@@ -455,8 +455,6 @@ static int msix_capability_init(struct pci_dev *dev, | |||
455 | entry->msi_attrib.default_irq = dev->irq; | 455 | entry->msi_attrib.default_irq = dev->irq; |
456 | entry->msi_attrib.pos = pos; | 456 | entry->msi_attrib.pos = pos; |
457 | entry->mask_base = base; | 457 | entry->mask_base = base; |
458 | entry->masked = readl(base + j * PCI_MSIX_ENTRY_SIZE + | ||
459 | PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET); | ||
460 | msix_mask_irq(entry, 1); | 458 | msix_mask_irq(entry, 1); |
461 | 459 | ||
462 | list_add_tail(&entry->list, &dev->msi_list); | 460 | list_add_tail(&entry->list, &dev->msi_list); |
@@ -493,6 +491,12 @@ static int msix_capability_init(struct pci_dev *dev, | |||
493 | msix_set_enable(dev, 1); | 491 | msix_set_enable(dev, 1); |
494 | dev->msix_enabled = 1; | 492 | dev->msix_enabled = 1; |
495 | 493 | ||
494 | list_for_each_entry(entry, &dev->msi_list, list) { | ||
495 | int vector = entry->msi_attrib.entry_nr; | ||
496 | entry->masked = readl(base + vector * PCI_MSIX_ENTRY_SIZE + | ||
497 | PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET); | ||
498 | } | ||
499 | |||
496 | return 0; | 500 | return 0; |
497 | } | 501 | } |
498 | 502 | ||
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 34bf0fdf5047..1a91bf9687af 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -557,7 +557,8 @@ static int pci_platform_power_transition(struct pci_dev *dev, pci_power_t state) | |||
557 | } else { | 557 | } else { |
558 | error = -ENODEV; | 558 | error = -ENODEV; |
559 | /* Fall back to PCI_D0 if native PM is not supported */ | 559 | /* Fall back to PCI_D0 if native PM is not supported */ |
560 | pci_update_current_state(dev, PCI_D0); | 560 | if (!dev->pm_cap) |
561 | dev->current_state = PCI_D0; | ||
561 | } | 562 | } |
562 | 563 | ||
563 | return error; | 564 | return error; |
diff --git a/drivers/pci/pcie/aer/aerdrv.h b/drivers/pci/pcie/aer/aerdrv.h index c7ad68b6c6d6..aa14482a4779 100644 --- a/drivers/pci/pcie/aer/aerdrv.h +++ b/drivers/pci/pcie/aer/aerdrv.h | |||
@@ -95,6 +95,9 @@ struct aer_broadcast_data { | |||
95 | static inline pci_ers_result_t merge_result(enum pci_ers_result orig, | 95 | static inline pci_ers_result_t merge_result(enum pci_ers_result orig, |
96 | enum pci_ers_result new) | 96 | enum pci_ers_result new) |
97 | { | 97 | { |
98 | if (new == PCI_ERS_RESULT_NONE) | ||
99 | return orig; | ||
100 | |||
98 | switch (orig) { | 101 | switch (orig) { |
99 | case PCI_ERS_RESULT_CAN_RECOVER: | 102 | case PCI_ERS_RESULT_CAN_RECOVER: |
100 | case PCI_ERS_RESULT_RECOVERED: | 103 | case PCI_ERS_RESULT_RECOVERED: |
diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c index b924e2463f85..091ce70051e0 100644 --- a/drivers/pci/pcie/portdrv_pci.c +++ b/drivers/pci/pcie/portdrv_pci.c | |||
@@ -200,7 +200,7 @@ static int slot_reset_iter(struct device *device, void *data) | |||
200 | 200 | ||
201 | static pci_ers_result_t pcie_portdrv_slot_reset(struct pci_dev *dev) | 201 | static pci_ers_result_t pcie_portdrv_slot_reset(struct pci_dev *dev) |
202 | { | 202 | { |
203 | pci_ers_result_t status = PCI_ERS_RESULT_NONE; | 203 | pci_ers_result_t status = PCI_ERS_RESULT_RECOVERED; |
204 | int retval; | 204 | int retval; |
205 | 205 | ||
206 | /* If fatal, restore cfg space for possible link reset at upstream */ | 206 | /* If fatal, restore cfg space for possible link reset at upstream */ |
diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c index eeafc6c0160d..bfc1a8892a32 100644 --- a/drivers/platform/x86/asus-laptop.c +++ b/drivers/platform/x86/asus-laptop.c | |||
@@ -269,16 +269,16 @@ static struct key_entry asus_keymap[] = { | |||
269 | {KE_KEY, 0x34, KEY_SWITCHVIDEOMODE}, | 269 | {KE_KEY, 0x34, KEY_SWITCHVIDEOMODE}, |
270 | {KE_KEY, 0x40, KEY_PREVIOUSSONG}, | 270 | {KE_KEY, 0x40, KEY_PREVIOUSSONG}, |
271 | {KE_KEY, 0x41, KEY_NEXTSONG}, | 271 | {KE_KEY, 0x41, KEY_NEXTSONG}, |
272 | {KE_KEY, 0x43, KEY_STOP}, | 272 | {KE_KEY, 0x43, KEY_STOPCD}, |
273 | {KE_KEY, 0x45, KEY_PLAYPAUSE}, | 273 | {KE_KEY, 0x45, KEY_PLAYPAUSE}, |
274 | {KE_KEY, 0x50, KEY_EMAIL}, | 274 | {KE_KEY, 0x50, KEY_EMAIL}, |
275 | {KE_KEY, 0x51, KEY_WWW}, | 275 | {KE_KEY, 0x51, KEY_WWW}, |
276 | {KE_KEY, 0x5C, BTN_EXTRA}, /* Performance */ | 276 | {KE_KEY, 0x5C, KEY_SCREENLOCK}, /* Screenlock */ |
277 | {KE_KEY, 0x5D, KEY_WLAN}, | 277 | {KE_KEY, 0x5D, KEY_WLAN}, |
278 | {KE_KEY, 0x61, KEY_SWITCHVIDEOMODE}, | 278 | {KE_KEY, 0x61, KEY_SWITCHVIDEOMODE}, |
279 | {KE_KEY, 0x6B, BTN_TOUCH}, /* Lock Mouse */ | 279 | {KE_KEY, 0x6B, BTN_TOUCH}, /* Lock Mouse */ |
280 | {KE_KEY, 0x82, KEY_CAMERA}, | 280 | {KE_KEY, 0x82, KEY_CAMERA}, |
281 | {KE_KEY, 0x8A, KEY_TV}, | 281 | {KE_KEY, 0x8A, KEY_PROG1}, |
282 | {KE_KEY, 0x95, KEY_MEDIA}, | 282 | {KE_KEY, 0x95, KEY_MEDIA}, |
283 | {KE_KEY, 0x99, KEY_PHONE}, | 283 | {KE_KEY, 0x99, KEY_PHONE}, |
284 | {KE_END, 0}, | 284 | {KE_END, 0}, |
diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c index 6f54fd1757cd..353a898c3693 100644 --- a/drivers/platform/x86/eeepc-laptop.c +++ b/drivers/platform/x86/eeepc-laptop.c | |||
@@ -158,6 +158,7 @@ enum { KE_KEY, KE_END }; | |||
158 | static struct key_entry eeepc_keymap[] = { | 158 | static struct key_entry eeepc_keymap[] = { |
159 | /* Sleep already handled via generic ACPI code */ | 159 | /* Sleep already handled via generic ACPI code */ |
160 | {KE_KEY, 0x10, KEY_WLAN }, | 160 | {KE_KEY, 0x10, KEY_WLAN }, |
161 | {KE_KEY, 0x11, KEY_WLAN }, | ||
161 | {KE_KEY, 0x12, KEY_PROG1 }, | 162 | {KE_KEY, 0x12, KEY_PROG1 }, |
162 | {KE_KEY, 0x13, KEY_MUTE }, | 163 | {KE_KEY, 0x13, KEY_MUTE }, |
163 | {KE_KEY, 0x14, KEY_VOLUMEDOWN }, | 164 | {KE_KEY, 0x14, KEY_VOLUMEDOWN }, |
@@ -166,6 +167,8 @@ static struct key_entry eeepc_keymap[] = { | |||
166 | {KE_KEY, 0x1b, KEY_ZOOM }, | 167 | {KE_KEY, 0x1b, KEY_ZOOM }, |
167 | {KE_KEY, 0x1c, KEY_PROG2 }, | 168 | {KE_KEY, 0x1c, KEY_PROG2 }, |
168 | {KE_KEY, 0x1d, KEY_PROG3 }, | 169 | {KE_KEY, 0x1d, KEY_PROG3 }, |
170 | {KE_KEY, NOTIFY_BRN_MIN, KEY_BRIGHTNESSDOWN }, | ||
171 | {KE_KEY, NOTIFY_BRN_MIN + 2, KEY_BRIGHTNESSUP }, | ||
169 | {KE_KEY, 0x30, KEY_SWITCHVIDEOMODE }, | 172 | {KE_KEY, 0x30, KEY_SWITCHVIDEOMODE }, |
170 | {KE_KEY, 0x31, KEY_SWITCHVIDEOMODE }, | 173 | {KE_KEY, 0x31, KEY_SWITCHVIDEOMODE }, |
171 | {KE_KEY, 0x32, KEY_SWITCHVIDEOMODE }, | 174 | {KE_KEY, 0x32, KEY_SWITCHVIDEOMODE }, |
@@ -381,11 +384,13 @@ static ssize_t show_sys_acpi(int cm, char *buf) | |||
381 | EEEPC_CREATE_DEVICE_ATTR(camera, CM_ASL_CAMERA); | 384 | EEEPC_CREATE_DEVICE_ATTR(camera, CM_ASL_CAMERA); |
382 | EEEPC_CREATE_DEVICE_ATTR(cardr, CM_ASL_CARDREADER); | 385 | EEEPC_CREATE_DEVICE_ATTR(cardr, CM_ASL_CARDREADER); |
383 | EEEPC_CREATE_DEVICE_ATTR(disp, CM_ASL_DISPLAYSWITCH); | 386 | EEEPC_CREATE_DEVICE_ATTR(disp, CM_ASL_DISPLAYSWITCH); |
387 | EEEPC_CREATE_DEVICE_ATTR(cpufv, CM_ASL_CPUFV); | ||
384 | 388 | ||
385 | static struct attribute *platform_attributes[] = { | 389 | static struct attribute *platform_attributes[] = { |
386 | &dev_attr_camera.attr, | 390 | &dev_attr_camera.attr, |
387 | &dev_attr_cardr.attr, | 391 | &dev_attr_cardr.attr, |
388 | &dev_attr_disp.attr, | 392 | &dev_attr_disp.attr, |
393 | &dev_attr_cpufv.attr, | ||
389 | NULL | 394 | NULL |
390 | }; | 395 | }; |
391 | 396 | ||
@@ -512,15 +517,21 @@ static int eeepc_hotk_check(void) | |||
512 | return 0; | 517 | return 0; |
513 | } | 518 | } |
514 | 519 | ||
515 | static void notify_brn(void) | 520 | static int notify_brn(void) |
516 | { | 521 | { |
522 | /* returns the *previous* brightness, or -1 */ | ||
517 | struct backlight_device *bd = eeepc_backlight_device; | 523 | struct backlight_device *bd = eeepc_backlight_device; |
518 | if (bd) | 524 | if (bd) { |
525 | int old = bd->props.brightness; | ||
519 | bd->props.brightness = read_brightness(bd); | 526 | bd->props.brightness = read_brightness(bd); |
527 | return old; | ||
528 | } | ||
529 | return -1; | ||
520 | } | 530 | } |
521 | 531 | ||
522 | static void eeepc_rfkill_notify(acpi_handle handle, u32 event, void *data) | 532 | static void eeepc_rfkill_notify(acpi_handle handle, u32 event, void *data) |
523 | { | 533 | { |
534 | enum rfkill_state state; | ||
524 | struct pci_dev *dev; | 535 | struct pci_dev *dev; |
525 | struct pci_bus *bus = pci_find_bus(0, 1); | 536 | struct pci_bus *bus = pci_find_bus(0, 1); |
526 | 537 | ||
@@ -532,7 +543,9 @@ static void eeepc_rfkill_notify(acpi_handle handle, u32 event, void *data) | |||
532 | return; | 543 | return; |
533 | } | 544 | } |
534 | 545 | ||
535 | if (get_acpi(CM_ASL_WLAN) == 1) { | 546 | eeepc_wlan_rfkill_state(ehotk->eeepc_wlan_rfkill, &state); |
547 | |||
548 | if (state == RFKILL_STATE_UNBLOCKED) { | ||
536 | dev = pci_get_slot(bus, 0); | 549 | dev = pci_get_slot(bus, 0); |
537 | if (dev) { | 550 | if (dev) { |
538 | /* Device already present */ | 551 | /* Device already present */ |
@@ -552,23 +565,41 @@ static void eeepc_rfkill_notify(acpi_handle handle, u32 event, void *data) | |||
552 | pci_dev_put(dev); | 565 | pci_dev_put(dev); |
553 | } | 566 | } |
554 | } | 567 | } |
568 | |||
569 | rfkill_force_state(ehotk->eeepc_wlan_rfkill, state); | ||
555 | } | 570 | } |
556 | 571 | ||
557 | static void eeepc_hotk_notify(acpi_handle handle, u32 event, void *data) | 572 | static void eeepc_hotk_notify(acpi_handle handle, u32 event, void *data) |
558 | { | 573 | { |
559 | static struct key_entry *key; | 574 | static struct key_entry *key; |
560 | u16 count; | 575 | u16 count; |
576 | int brn = -ENODEV; | ||
561 | 577 | ||
562 | if (!ehotk) | 578 | if (!ehotk) |
563 | return; | 579 | return; |
564 | if (event >= NOTIFY_BRN_MIN && event <= NOTIFY_BRN_MAX) | 580 | if (event >= NOTIFY_BRN_MIN && event <= NOTIFY_BRN_MAX) |
565 | notify_brn(); | 581 | brn = notify_brn(); |
566 | count = ehotk->event_count[event % 128]++; | 582 | count = ehotk->event_count[event % 128]++; |
567 | acpi_bus_generate_proc_event(ehotk->device, event, count); | 583 | acpi_bus_generate_proc_event(ehotk->device, event, count); |
568 | acpi_bus_generate_netlink_event(ehotk->device->pnp.device_class, | 584 | acpi_bus_generate_netlink_event(ehotk->device->pnp.device_class, |
569 | dev_name(&ehotk->device->dev), event, | 585 | dev_name(&ehotk->device->dev), event, |
570 | count); | 586 | count); |
571 | if (ehotk->inputdev) { | 587 | if (ehotk->inputdev) { |
588 | if (brn != -ENODEV) { | ||
589 | /* brightness-change events need special | ||
590 | * handling for conversion to key events | ||
591 | */ | ||
592 | if (brn < 0) | ||
593 | brn = event; | ||
594 | else | ||
595 | brn += NOTIFY_BRN_MIN; | ||
596 | if (event < brn) | ||
597 | event = NOTIFY_BRN_MIN; /* brightness down */ | ||
598 | else if (event > brn) | ||
599 | event = NOTIFY_BRN_MIN + 2; /* ... up */ | ||
600 | else | ||
601 | event = NOTIFY_BRN_MIN + 1; /* ... unchanged */ | ||
602 | } | ||
572 | key = eepc_get_entry_by_scancode(event); | 603 | key = eepc_get_entry_by_scancode(event); |
573 | if (key) { | 604 | if (key) { |
574 | switch (key->type) { | 605 | switch (key->type) { |
@@ -649,6 +680,9 @@ static int eeepc_hotk_add(struct acpi_device *device) | |||
649 | if (ACPI_FAILURE(status)) | 680 | if (ACPI_FAILURE(status)) |
650 | printk(EEEPC_ERR "Error installing notify handler\n"); | 681 | printk(EEEPC_ERR "Error installing notify handler\n"); |
651 | 682 | ||
683 | eeepc_register_rfkill_notifier("\\_SB.PCI0.P0P6"); | ||
684 | eeepc_register_rfkill_notifier("\\_SB.PCI0.P0P7"); | ||
685 | |||
652 | if (get_acpi(CM_ASL_WLAN) != -1) { | 686 | if (get_acpi(CM_ASL_WLAN) != -1) { |
653 | ehotk->eeepc_wlan_rfkill = rfkill_allocate(&device->dev, | 687 | ehotk->eeepc_wlan_rfkill = rfkill_allocate(&device->dev, |
654 | RFKILL_TYPE_WLAN); | 688 | RFKILL_TYPE_WLAN); |
@@ -704,9 +738,6 @@ static int eeepc_hotk_add(struct acpi_device *device) | |||
704 | goto bluetooth_fail; | 738 | goto bluetooth_fail; |
705 | } | 739 | } |
706 | 740 | ||
707 | eeepc_register_rfkill_notifier("\\_SB.PCI0.P0P6"); | ||
708 | eeepc_register_rfkill_notifier("\\_SB.PCI0.P0P7"); | ||
709 | |||
710 | return 0; | 741 | return 0; |
711 | 742 | ||
712 | bluetooth_fail: | 743 | bluetooth_fail: |
@@ -717,6 +748,8 @@ static int eeepc_hotk_add(struct acpi_device *device) | |||
717 | wlan_fail: | 748 | wlan_fail: |
718 | if (ehotk->eeepc_wlan_rfkill) | 749 | if (ehotk->eeepc_wlan_rfkill) |
719 | rfkill_free(ehotk->eeepc_wlan_rfkill); | 750 | rfkill_free(ehotk->eeepc_wlan_rfkill); |
751 | eeepc_unregister_rfkill_notifier("\\_SB.PCI0.P0P6"); | ||
752 | eeepc_unregister_rfkill_notifier("\\_SB.PCI0.P0P7"); | ||
720 | ehotk_fail: | 753 | ehotk_fail: |
721 | kfree(ehotk); | 754 | kfree(ehotk); |
722 | ehotk = NULL; | 755 | ehotk = NULL; |
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c index 9a3a682c6981..9496494f340e 100644 --- a/drivers/pnp/pnpacpi/core.c +++ b/drivers/pnp/pnpacpi/core.c | |||
@@ -110,11 +110,9 @@ static int pnpacpi_disable_resources(struct pnp_dev *dev) | |||
110 | 110 | ||
111 | /* acpi_unregister_gsi(pnp_irq(dev, 0)); */ | 111 | /* acpi_unregister_gsi(pnp_irq(dev, 0)); */ |
112 | ret = 0; | 112 | ret = 0; |
113 | if (acpi_bus_power_manageable(handle)) { | 113 | if (acpi_bus_power_manageable(handle)) |
114 | ret = acpi_bus_set_power(handle, ACPI_STATE_D3); | 114 | acpi_bus_set_power(handle, ACPI_STATE_D3); |
115 | if (ret) | 115 | /* continue even if acpi_bus_set_power() fails */ |
116 | return ret; | ||
117 | } | ||
118 | if (ACPI_FAILURE(acpi_evaluate_object(handle, "_DIS", NULL, NULL))) | 116 | if (ACPI_FAILURE(acpi_evaluate_object(handle, "_DIS", NULL, NULL))) |
119 | ret = -ENODEV; | 117 | ret = -ENODEV; |
120 | return ret; | 118 | return ret; |
diff --git a/drivers/regulator/da903x.c b/drivers/regulator/da903x.c index 72b15495183c..c6628f5a0af7 100644 --- a/drivers/regulator/da903x.c +++ b/drivers/regulator/da903x.c | |||
@@ -497,7 +497,7 @@ static struct platform_driver da903x_regulator_driver = { | |||
497 | .owner = THIS_MODULE, | 497 | .owner = THIS_MODULE, |
498 | }, | 498 | }, |
499 | .probe = da903x_regulator_probe, | 499 | .probe = da903x_regulator_probe, |
500 | .remove = da903x_regulator_remove, | 500 | .remove = __devexit_p(da903x_regulator_remove), |
501 | }; | 501 | }; |
502 | 502 | ||
503 | static int __init da903x_regulator_init(void) | 503 | static int __init da903x_regulator_init(void) |
diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c index 826153552157..aaf1f75fa293 100644 --- a/drivers/rtc/rtc-pl030.c +++ b/drivers/rtc/rtc-pl030.c | |||
@@ -102,7 +102,7 @@ static const struct rtc_class_ops pl030_ops = { | |||
102 | .set_alarm = pl030_set_alarm, | 102 | .set_alarm = pl030_set_alarm, |
103 | }; | 103 | }; |
104 | 104 | ||
105 | static int pl030_probe(struct amba_device *dev, void *id) | 105 | static int pl030_probe(struct amba_device *dev, struct amba_id *id) |
106 | { | 106 | { |
107 | struct pl030_rtc *rtc; | 107 | struct pl030_rtc *rtc; |
108 | int ret; | 108 | int ret; |
diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c index 333eec689d2f..451fc13784d1 100644 --- a/drivers/rtc/rtc-pl031.c +++ b/drivers/rtc/rtc-pl031.c | |||
@@ -127,7 +127,7 @@ static int pl031_remove(struct amba_device *adev) | |||
127 | return 0; | 127 | return 0; |
128 | } | 128 | } |
129 | 129 | ||
130 | static int pl031_probe(struct amba_device *adev, void *id) | 130 | static int pl031_probe(struct amba_device *adev, struct amba_id *id) |
131 | { | 131 | { |
132 | int ret; | 132 | int ret; |
133 | struct pl031_local *ldata; | 133 | struct pl031_local *ldata; |
diff --git a/drivers/rtc/rtc-twl4030.c b/drivers/rtc/rtc-twl4030.c index a6341e4f9a0f..9c8c70c497dc 100644 --- a/drivers/rtc/rtc-twl4030.c +++ b/drivers/rtc/rtc-twl4030.c | |||
@@ -495,9 +495,7 @@ static int twl4030_rtc_suspend(struct platform_device *pdev, pm_message_t state) | |||
495 | { | 495 | { |
496 | irqstat = rtc_irq_bits; | 496 | irqstat = rtc_irq_bits; |
497 | 497 | ||
498 | /* REVISIT alarm may need to wake us from sleep */ | 498 | mask_rtc_irq_bit(BIT_RTC_INTERRUPTS_REG_IT_TIMER_M); |
499 | mask_rtc_irq_bit(BIT_RTC_INTERRUPTS_REG_IT_TIMER_M | | ||
500 | BIT_RTC_INTERRUPTS_REG_IT_ALARM_M); | ||
501 | return 0; | 499 | return 0; |
502 | } | 500 | } |
503 | 501 | ||
diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c index 8b7983aba8f7..36c21b19e5d7 100644 --- a/drivers/scsi/3w-9xxx.c +++ b/drivers/scsi/3w-9xxx.c | |||
@@ -1978,7 +1978,8 @@ static void twa_unmap_scsi_data(TW_Device_Extension *tw_dev, int request_id) | |||
1978 | { | 1978 | { |
1979 | struct scsi_cmnd *cmd = tw_dev->srb[request_id]; | 1979 | struct scsi_cmnd *cmd = tw_dev->srb[request_id]; |
1980 | 1980 | ||
1981 | scsi_dma_unmap(cmd); | 1981 | if (cmd->SCp.phase == TW_PHASE_SGLIST) |
1982 | scsi_dma_unmap(cmd); | ||
1982 | } /* End twa_unmap_scsi_data() */ | 1983 | } /* End twa_unmap_scsi_data() */ |
1983 | 1984 | ||
1984 | /* scsi_host_template initializer */ | 1985 | /* scsi_host_template initializer */ |
diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c index c03f1d2c9e2e..faa0fcfed71e 100644 --- a/drivers/scsi/3w-xxxx.c +++ b/drivers/scsi/3w-xxxx.c | |||
@@ -6,7 +6,7 @@ | |||
6 | Arnaldo Carvalho de Melo <acme@conectiva.com.br> | 6 | Arnaldo Carvalho de Melo <acme@conectiva.com.br> |
7 | Brad Strand <linux@3ware.com> | 7 | Brad Strand <linux@3ware.com> |
8 | 8 | ||
9 | Copyright (C) 1999-2007 3ware Inc. | 9 | Copyright (C) 1999-2009 3ware Inc. |
10 | 10 | ||
11 | Kernel compatiblity By: Andre Hedrick <andre@suse.com> | 11 | Kernel compatiblity By: Andre Hedrick <andre@suse.com> |
12 | Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com> | 12 | Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com> |
@@ -1294,7 +1294,8 @@ static void tw_unmap_scsi_data(struct pci_dev *pdev, struct scsi_cmnd *cmd) | |||
1294 | { | 1294 | { |
1295 | dprintk(KERN_WARNING "3w-xxxx: tw_unmap_scsi_data()\n"); | 1295 | dprintk(KERN_WARNING "3w-xxxx: tw_unmap_scsi_data()\n"); |
1296 | 1296 | ||
1297 | scsi_dma_unmap(cmd); | 1297 | if (cmd->SCp.phase == TW_PHASE_SGLIST) |
1298 | scsi_dma_unmap(cmd); | ||
1298 | } /* End tw_unmap_scsi_data() */ | 1299 | } /* End tw_unmap_scsi_data() */ |
1299 | 1300 | ||
1300 | /* This function will reset a device extension */ | 1301 | /* This function will reset a device extension */ |
diff --git a/drivers/scsi/3w-xxxx.h b/drivers/scsi/3w-xxxx.h index 8e71e5e122b3..a5a2ba2561d9 100644 --- a/drivers/scsi/3w-xxxx.h +++ b/drivers/scsi/3w-xxxx.h | |||
@@ -6,7 +6,7 @@ | |||
6 | Arnaldo Carvalho de Melo <acme@conectiva.com.br> | 6 | Arnaldo Carvalho de Melo <acme@conectiva.com.br> |
7 | Brad Strand <linux@3ware.com> | 7 | Brad Strand <linux@3ware.com> |
8 | 8 | ||
9 | Copyright (C) 1999-2007 3ware Inc. | 9 | Copyright (C) 1999-2009 3ware Inc. |
10 | 10 | ||
11 | Kernel compatiblity By: Andre Hedrick <andre@suse.com> | 11 | Kernel compatiblity By: Andre Hedrick <andre@suse.com> |
12 | Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com> | 12 | Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com> |
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index 8ed2990c826e..fb2740789b68 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig | |||
@@ -628,6 +628,17 @@ config FCOE | |||
628 | ---help--- | 628 | ---help--- |
629 | Fibre Channel over Ethernet module | 629 | Fibre Channel over Ethernet module |
630 | 630 | ||
631 | config FCOE_FNIC | ||
632 | tristate "Cisco FNIC Driver" | ||
633 | depends on PCI && X86 | ||
634 | select LIBFC | ||
635 | help | ||
636 | This is support for the Cisco PCI-Express FCoE HBA. | ||
637 | |||
638 | To compile this driver as a module, choose M here and read | ||
639 | <file:Documentation/scsi/scsi.txt>. | ||
640 | The module will be called fnic. | ||
641 | |||
631 | config SCSI_DMX3191D | 642 | config SCSI_DMX3191D |
632 | tristate "DMX3191D SCSI support" | 643 | tristate "DMX3191D SCSI support" |
633 | depends on PCI && SCSI | 644 | depends on PCI && SCSI |
diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile index e7c861ac417d..a5049cfb40ed 100644 --- a/drivers/scsi/Makefile +++ b/drivers/scsi/Makefile | |||
@@ -39,6 +39,7 @@ obj-$(CONFIG_SCSI_DH) += device_handler/ | |||
39 | obj-$(CONFIG_LIBFC) += libfc/ | 39 | obj-$(CONFIG_LIBFC) += libfc/ |
40 | obj-$(CONFIG_LIBFCOE) += fcoe/ | 40 | obj-$(CONFIG_LIBFCOE) += fcoe/ |
41 | obj-$(CONFIG_FCOE) += fcoe/ | 41 | obj-$(CONFIG_FCOE) += fcoe/ |
42 | obj-$(CONFIG_FCOE_FNIC) += fnic/ | ||
42 | obj-$(CONFIG_ISCSI_TCP) += libiscsi.o libiscsi_tcp.o iscsi_tcp.o | 43 | obj-$(CONFIG_ISCSI_TCP) += libiscsi.o libiscsi_tcp.o iscsi_tcp.o |
43 | obj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o | 44 | obj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o |
44 | obj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o | 45 | obj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o |
diff --git a/drivers/scsi/fnic/Makefile b/drivers/scsi/fnic/Makefile new file mode 100644 index 000000000000..37c3440bc17c --- /dev/null +++ b/drivers/scsi/fnic/Makefile | |||
@@ -0,0 +1,15 @@ | |||
1 | obj-$(CONFIG_FCOE_FNIC) += fnic.o | ||
2 | |||
3 | fnic-y := \ | ||
4 | fnic_attrs.o \ | ||
5 | fnic_isr.o \ | ||
6 | fnic_main.o \ | ||
7 | fnic_res.o \ | ||
8 | fnic_fcs.o \ | ||
9 | fnic_scsi.o \ | ||
10 | vnic_cq.o \ | ||
11 | vnic_dev.o \ | ||
12 | vnic_intr.o \ | ||
13 | vnic_rq.o \ | ||
14 | vnic_wq_copy.o \ | ||
15 | vnic_wq.o | ||
diff --git a/drivers/scsi/fnic/cq_desc.h b/drivers/scsi/fnic/cq_desc.h new file mode 100644 index 000000000000..d1225cf6320e --- /dev/null +++ b/drivers/scsi/fnic/cq_desc.h | |||
@@ -0,0 +1,78 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _CQ_DESC_H_ | ||
19 | #define _CQ_DESC_H_ | ||
20 | |||
21 | /* | ||
22 | * Completion queue descriptor types | ||
23 | */ | ||
24 | enum cq_desc_types { | ||
25 | CQ_DESC_TYPE_WQ_ENET = 0, | ||
26 | CQ_DESC_TYPE_DESC_COPY = 1, | ||
27 | CQ_DESC_TYPE_WQ_EXCH = 2, | ||
28 | CQ_DESC_TYPE_RQ_ENET = 3, | ||
29 | CQ_DESC_TYPE_RQ_FCP = 4, | ||
30 | }; | ||
31 | |||
32 | /* Completion queue descriptor: 16B | ||
33 | * | ||
34 | * All completion queues have this basic layout. The | ||
35 | * type_specfic area is unique for each completion | ||
36 | * queue type. | ||
37 | */ | ||
38 | struct cq_desc { | ||
39 | __le16 completed_index; | ||
40 | __le16 q_number; | ||
41 | u8 type_specfic[11]; | ||
42 | u8 type_color; | ||
43 | }; | ||
44 | |||
45 | #define CQ_DESC_TYPE_BITS 4 | ||
46 | #define CQ_DESC_TYPE_MASK ((1 << CQ_DESC_TYPE_BITS) - 1) | ||
47 | #define CQ_DESC_COLOR_MASK 1 | ||
48 | #define CQ_DESC_COLOR_SHIFT 7 | ||
49 | #define CQ_DESC_Q_NUM_BITS 10 | ||
50 | #define CQ_DESC_Q_NUM_MASK ((1 << CQ_DESC_Q_NUM_BITS) - 1) | ||
51 | #define CQ_DESC_COMP_NDX_BITS 12 | ||
52 | #define CQ_DESC_COMP_NDX_MASK ((1 << CQ_DESC_COMP_NDX_BITS) - 1) | ||
53 | |||
54 | static inline void cq_desc_dec(const struct cq_desc *desc_arg, | ||
55 | u8 *type, u8 *color, u16 *q_number, u16 *completed_index) | ||
56 | { | ||
57 | const struct cq_desc *desc = desc_arg; | ||
58 | const u8 type_color = desc->type_color; | ||
59 | |||
60 | *color = (type_color >> CQ_DESC_COLOR_SHIFT) & CQ_DESC_COLOR_MASK; | ||
61 | |||
62 | /* | ||
63 | * Make sure color bit is read from desc *before* other fields | ||
64 | * are read from desc. Hardware guarantees color bit is last | ||
65 | * bit (byte) written. Adding the rmb() prevents the compiler | ||
66 | * and/or CPU from reordering the reads which would potentially | ||
67 | * result in reading stale values. | ||
68 | */ | ||
69 | |||
70 | rmb(); | ||
71 | |||
72 | *type = type_color & CQ_DESC_TYPE_MASK; | ||
73 | *q_number = le16_to_cpu(desc->q_number) & CQ_DESC_Q_NUM_MASK; | ||
74 | *completed_index = le16_to_cpu(desc->completed_index) & | ||
75 | CQ_DESC_COMP_NDX_MASK; | ||
76 | } | ||
77 | |||
78 | #endif /* _CQ_DESC_H_ */ | ||
diff --git a/drivers/scsi/fnic/cq_enet_desc.h b/drivers/scsi/fnic/cq_enet_desc.h new file mode 100644 index 000000000000..a9fa26f82ddd --- /dev/null +++ b/drivers/scsi/fnic/cq_enet_desc.h | |||
@@ -0,0 +1,167 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _CQ_ENET_DESC_H_ | ||
19 | #define _CQ_ENET_DESC_H_ | ||
20 | |||
21 | #include "cq_desc.h" | ||
22 | |||
23 | /* Ethernet completion queue descriptor: 16B */ | ||
24 | struct cq_enet_wq_desc { | ||
25 | __le16 completed_index; | ||
26 | __le16 q_number; | ||
27 | u8 reserved[11]; | ||
28 | u8 type_color; | ||
29 | }; | ||
30 | |||
31 | static inline void cq_enet_wq_desc_dec(struct cq_enet_wq_desc *desc, | ||
32 | u8 *type, u8 *color, u16 *q_number, u16 *completed_index) | ||
33 | { | ||
34 | cq_desc_dec((struct cq_desc *)desc, type, | ||
35 | color, q_number, completed_index); | ||
36 | } | ||
37 | |||
38 | /* Completion queue descriptor: Ethernet receive queue, 16B */ | ||
39 | struct cq_enet_rq_desc { | ||
40 | __le16 completed_index_flags; | ||
41 | __le16 q_number_rss_type_flags; | ||
42 | __le32 rss_hash; | ||
43 | __le16 bytes_written_flags; | ||
44 | __le16 vlan; | ||
45 | __le16 checksum_fcoe; | ||
46 | u8 flags; | ||
47 | u8 type_color; | ||
48 | }; | ||
49 | |||
50 | #define CQ_ENET_RQ_DESC_FLAGS_INGRESS_PORT (0x1 << 12) | ||
51 | #define CQ_ENET_RQ_DESC_FLAGS_FCOE (0x1 << 13) | ||
52 | #define CQ_ENET_RQ_DESC_FLAGS_EOP (0x1 << 14) | ||
53 | #define CQ_ENET_RQ_DESC_FLAGS_SOP (0x1 << 15) | ||
54 | |||
55 | #define CQ_ENET_RQ_DESC_RSS_TYPE_BITS 4 | ||
56 | #define CQ_ENET_RQ_DESC_RSS_TYPE_MASK \ | ||
57 | ((1 << CQ_ENET_RQ_DESC_RSS_TYPE_BITS) - 1) | ||
58 | #define CQ_ENET_RQ_DESC_RSS_TYPE_NONE 0 | ||
59 | #define CQ_ENET_RQ_DESC_RSS_TYPE_IPv4 1 | ||
60 | #define CQ_ENET_RQ_DESC_RSS_TYPE_TCP_IPv4 2 | ||
61 | #define CQ_ENET_RQ_DESC_RSS_TYPE_IPv6 3 | ||
62 | #define CQ_ENET_RQ_DESC_RSS_TYPE_TCP_IPv6 4 | ||
63 | #define CQ_ENET_RQ_DESC_RSS_TYPE_IPv6_EX 5 | ||
64 | #define CQ_ENET_RQ_DESC_RSS_TYPE_TCP_IPv6_EX 6 | ||
65 | |||
66 | #define CQ_ENET_RQ_DESC_FLAGS_CSUM_NOT_CALC (0x1 << 14) | ||
67 | |||
68 | #define CQ_ENET_RQ_DESC_BYTES_WRITTEN_BITS 14 | ||
69 | #define CQ_ENET_RQ_DESC_BYTES_WRITTEN_MASK \ | ||
70 | ((1 << CQ_ENET_RQ_DESC_BYTES_WRITTEN_BITS) - 1) | ||
71 | #define CQ_ENET_RQ_DESC_FLAGS_TRUNCATED (0x1 << 14) | ||
72 | #define CQ_ENET_RQ_DESC_FLAGS_VLAN_STRIPPED (0x1 << 15) | ||
73 | |||
74 | #define CQ_ENET_RQ_DESC_FCOE_SOF_BITS 4 | ||
75 | #define CQ_ENET_RQ_DESC_FCOE_SOF_MASK \ | ||
76 | ((1 << CQ_ENET_RQ_DESC_FCOE_SOF_BITS) - 1) | ||
77 | #define CQ_ENET_RQ_DESC_FCOE_EOF_BITS 8 | ||
78 | #define CQ_ENET_RQ_DESC_FCOE_EOF_MASK \ | ||
79 | ((1 << CQ_ENET_RQ_DESC_FCOE_EOF_BITS) - 1) | ||
80 | #define CQ_ENET_RQ_DESC_FCOE_EOF_SHIFT 8 | ||
81 | |||
82 | #define CQ_ENET_RQ_DESC_FLAGS_TCP_UDP_CSUM_OK (0x1 << 0) | ||
83 | #define CQ_ENET_RQ_DESC_FCOE_FC_CRC_OK (0x1 << 0) | ||
84 | #define CQ_ENET_RQ_DESC_FLAGS_UDP (0x1 << 1) | ||
85 | #define CQ_ENET_RQ_DESC_FCOE_ENC_ERROR (0x1 << 1) | ||
86 | #define CQ_ENET_RQ_DESC_FLAGS_TCP (0x1 << 2) | ||
87 | #define CQ_ENET_RQ_DESC_FLAGS_IPV4_CSUM_OK (0x1 << 3) | ||
88 | #define CQ_ENET_RQ_DESC_FLAGS_IPV6 (0x1 << 4) | ||
89 | #define CQ_ENET_RQ_DESC_FLAGS_IPV4 (0x1 << 5) | ||
90 | #define CQ_ENET_RQ_DESC_FLAGS_IPV4_FRAGMENT (0x1 << 6) | ||
91 | #define CQ_ENET_RQ_DESC_FLAGS_FCS_OK (0x1 << 7) | ||
92 | |||
93 | static inline void cq_enet_rq_desc_dec(struct cq_enet_rq_desc *desc, | ||
94 | u8 *type, u8 *color, u16 *q_number, u16 *completed_index, | ||
95 | u8 *ingress_port, u8 *fcoe, u8 *eop, u8 *sop, u8 *rss_type, | ||
96 | u8 *csum_not_calc, u32 *rss_hash, u16 *bytes_written, u8 *packet_error, | ||
97 | u8 *vlan_stripped, u16 *vlan, u16 *checksum, u8 *fcoe_sof, | ||
98 | u8 *fcoe_fc_crc_ok, u8 *fcoe_enc_error, u8 *fcoe_eof, | ||
99 | u8 *tcp_udp_csum_ok, u8 *udp, u8 *tcp, u8 *ipv4_csum_ok, | ||
100 | u8 *ipv6, u8 *ipv4, u8 *ipv4_fragment, u8 *fcs_ok) | ||
101 | { | ||
102 | u16 completed_index_flags = le16_to_cpu(desc->completed_index_flags); | ||
103 | u16 q_number_rss_type_flags = | ||
104 | le16_to_cpu(desc->q_number_rss_type_flags); | ||
105 | u16 bytes_written_flags = le16_to_cpu(desc->bytes_written_flags); | ||
106 | |||
107 | cq_desc_dec((struct cq_desc *)desc, type, | ||
108 | color, q_number, completed_index); | ||
109 | |||
110 | *ingress_port = (completed_index_flags & | ||
111 | CQ_ENET_RQ_DESC_FLAGS_INGRESS_PORT) ? 1 : 0; | ||
112 | *fcoe = (completed_index_flags & CQ_ENET_RQ_DESC_FLAGS_FCOE) ? | ||
113 | 1 : 0; | ||
114 | *eop = (completed_index_flags & CQ_ENET_RQ_DESC_FLAGS_EOP) ? | ||
115 | 1 : 0; | ||
116 | *sop = (completed_index_flags & CQ_ENET_RQ_DESC_FLAGS_SOP) ? | ||
117 | 1 : 0; | ||
118 | |||
119 | *rss_type = (u8)((q_number_rss_type_flags >> CQ_DESC_Q_NUM_BITS) & | ||
120 | CQ_ENET_RQ_DESC_RSS_TYPE_MASK); | ||
121 | *csum_not_calc = (q_number_rss_type_flags & | ||
122 | CQ_ENET_RQ_DESC_FLAGS_CSUM_NOT_CALC) ? 1 : 0; | ||
123 | |||
124 | *rss_hash = le32_to_cpu(desc->rss_hash); | ||
125 | |||
126 | *bytes_written = bytes_written_flags & | ||
127 | CQ_ENET_RQ_DESC_BYTES_WRITTEN_MASK; | ||
128 | *packet_error = (bytes_written_flags & | ||
129 | CQ_ENET_RQ_DESC_FLAGS_TRUNCATED) ? 1 : 0; | ||
130 | *vlan_stripped = (bytes_written_flags & | ||
131 | CQ_ENET_RQ_DESC_FLAGS_VLAN_STRIPPED) ? 1 : 0; | ||
132 | |||
133 | *vlan = le16_to_cpu(desc->vlan); | ||
134 | |||
135 | if (*fcoe) { | ||
136 | *fcoe_sof = (u8)(le16_to_cpu(desc->checksum_fcoe) & | ||
137 | CQ_ENET_RQ_DESC_FCOE_SOF_MASK); | ||
138 | *fcoe_fc_crc_ok = (desc->flags & | ||
139 | CQ_ENET_RQ_DESC_FCOE_FC_CRC_OK) ? 1 : 0; | ||
140 | *fcoe_enc_error = (desc->flags & | ||
141 | CQ_ENET_RQ_DESC_FCOE_ENC_ERROR) ? 1 : 0; | ||
142 | *fcoe_eof = (u8)((desc->checksum_fcoe >> | ||
143 | CQ_ENET_RQ_DESC_FCOE_EOF_SHIFT) & | ||
144 | CQ_ENET_RQ_DESC_FCOE_EOF_MASK); | ||
145 | *checksum = 0; | ||
146 | } else { | ||
147 | *fcoe_sof = 0; | ||
148 | *fcoe_fc_crc_ok = 0; | ||
149 | *fcoe_enc_error = 0; | ||
150 | *fcoe_eof = 0; | ||
151 | *checksum = le16_to_cpu(desc->checksum_fcoe); | ||
152 | } | ||
153 | |||
154 | *tcp_udp_csum_ok = | ||
155 | (desc->flags & CQ_ENET_RQ_DESC_FLAGS_TCP_UDP_CSUM_OK) ? 1 : 0; | ||
156 | *udp = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_UDP) ? 1 : 0; | ||
157 | *tcp = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_TCP) ? 1 : 0; | ||
158 | *ipv4_csum_ok = | ||
159 | (desc->flags & CQ_ENET_RQ_DESC_FLAGS_IPV4_CSUM_OK) ? 1 : 0; | ||
160 | *ipv6 = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_IPV6) ? 1 : 0; | ||
161 | *ipv4 = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_IPV4) ? 1 : 0; | ||
162 | *ipv4_fragment = | ||
163 | (desc->flags & CQ_ENET_RQ_DESC_FLAGS_IPV4_FRAGMENT) ? 1 : 0; | ||
164 | *fcs_ok = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_FCS_OK) ? 1 : 0; | ||
165 | } | ||
166 | |||
167 | #endif /* _CQ_ENET_DESC_H_ */ | ||
diff --git a/drivers/scsi/fnic/cq_exch_desc.h b/drivers/scsi/fnic/cq_exch_desc.h new file mode 100644 index 000000000000..501660cfe228 --- /dev/null +++ b/drivers/scsi/fnic/cq_exch_desc.h | |||
@@ -0,0 +1,182 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _CQ_EXCH_DESC_H_ | ||
19 | #define _CQ_EXCH_DESC_H_ | ||
20 | |||
21 | #include "cq_desc.h" | ||
22 | |||
23 | /* Exchange completion queue descriptor: 16B */ | ||
24 | struct cq_exch_wq_desc { | ||
25 | u16 completed_index; | ||
26 | u16 q_number; | ||
27 | u16 exchange_id; | ||
28 | u8 tmpl; | ||
29 | u8 reserved0; | ||
30 | u32 reserved1; | ||
31 | u8 exch_status; | ||
32 | u8 reserved2[2]; | ||
33 | u8 type_color; | ||
34 | }; | ||
35 | |||
36 | #define CQ_EXCH_WQ_STATUS_BITS 2 | ||
37 | #define CQ_EXCH_WQ_STATUS_MASK ((1 << CQ_EXCH_WQ_STATUS_BITS) - 1) | ||
38 | |||
39 | enum cq_exch_status_types { | ||
40 | CQ_EXCH_WQ_STATUS_TYPE_COMPLETE = 0, | ||
41 | CQ_EXCH_WQ_STATUS_TYPE_ABORT = 1, | ||
42 | CQ_EXCH_WQ_STATUS_TYPE_SGL_EOF = 2, | ||
43 | CQ_EXCH_WQ_STATUS_TYPE_TMPL_ERR = 3, | ||
44 | }; | ||
45 | |||
46 | static inline void cq_exch_wq_desc_dec(struct cq_exch_wq_desc *desc_ptr, | ||
47 | u8 *type, | ||
48 | u8 *color, | ||
49 | u16 *q_number, | ||
50 | u16 *completed_index, | ||
51 | u8 *exch_status) | ||
52 | { | ||
53 | cq_desc_dec((struct cq_desc *)desc_ptr, type, | ||
54 | color, q_number, completed_index); | ||
55 | *exch_status = desc_ptr->exch_status & CQ_EXCH_WQ_STATUS_MASK; | ||
56 | } | ||
57 | |||
58 | struct cq_fcp_rq_desc { | ||
59 | u16 completed_index_eop_sop_prt; | ||
60 | u16 q_number; | ||
61 | u16 exchange_id; | ||
62 | u16 tmpl; | ||
63 | u16 bytes_written; | ||
64 | u16 vlan; | ||
65 | u8 sof; | ||
66 | u8 eof; | ||
67 | u8 fcs_fer_fck; | ||
68 | u8 type_color; | ||
69 | }; | ||
70 | |||
71 | #define CQ_FCP_RQ_DESC_FLAGS_SOP (1 << 15) | ||
72 | #define CQ_FCP_RQ_DESC_FLAGS_EOP (1 << 14) | ||
73 | #define CQ_FCP_RQ_DESC_FLAGS_PRT (1 << 12) | ||
74 | #define CQ_FCP_RQ_DESC_TMPL_MASK 0x1f | ||
75 | #define CQ_FCP_RQ_DESC_BYTES_WRITTEN_MASK 0x3fff | ||
76 | #define CQ_FCP_RQ_DESC_PACKET_ERR_SHIFT 14 | ||
77 | #define CQ_FCP_RQ_DESC_PACKET_ERR_MASK (1 << CQ_FCP_RQ_DESC_PACKET_ERR_SHIFT) | ||
78 | #define CQ_FCP_RQ_DESC_VS_STRIPPED_SHIFT 15 | ||
79 | #define CQ_FCP_RQ_DESC_VS_STRIPPED_MASK (1 << CQ_FCP_RQ_DESC_VS_STRIPPED_SHIFT) | ||
80 | #define CQ_FCP_RQ_DESC_FC_CRC_OK_MASK 0x1 | ||
81 | #define CQ_FCP_RQ_DESC_FCOE_ERR_SHIFT 1 | ||
82 | #define CQ_FCP_RQ_DESC_FCOE_ERR_MASK (1 << CQ_FCP_RQ_DESC_FCOE_ERR_SHIFT) | ||
83 | #define CQ_FCP_RQ_DESC_FCS_OK_SHIFT 7 | ||
84 | #define CQ_FCP_RQ_DESC_FCS_OK_MASK (1 << CQ_FCP_RQ_DESC_FCS_OK_SHIFT) | ||
85 | |||
86 | static inline void cq_fcp_rq_desc_dec(struct cq_fcp_rq_desc *desc_ptr, | ||
87 | u8 *type, | ||
88 | u8 *color, | ||
89 | u16 *q_number, | ||
90 | u16 *completed_index, | ||
91 | u8 *eop, | ||
92 | u8 *sop, | ||
93 | u8 *fck, | ||
94 | u16 *exchange_id, | ||
95 | u16 *tmpl, | ||
96 | u32 *bytes_written, | ||
97 | u8 *sof, | ||
98 | u8 *eof, | ||
99 | u8 *ingress_port, | ||
100 | u8 *packet_err, | ||
101 | u8 *fcoe_err, | ||
102 | u8 *fcs_ok, | ||
103 | u8 *vlan_stripped, | ||
104 | u16 *vlan) | ||
105 | { | ||
106 | cq_desc_dec((struct cq_desc *)desc_ptr, type, | ||
107 | color, q_number, completed_index); | ||
108 | *eop = (desc_ptr->completed_index_eop_sop_prt & | ||
109 | CQ_FCP_RQ_DESC_FLAGS_EOP) ? 1 : 0; | ||
110 | *sop = (desc_ptr->completed_index_eop_sop_prt & | ||
111 | CQ_FCP_RQ_DESC_FLAGS_SOP) ? 1 : 0; | ||
112 | *ingress_port = | ||
113 | (desc_ptr->completed_index_eop_sop_prt & | ||
114 | CQ_FCP_RQ_DESC_FLAGS_PRT) ? 1 : 0; | ||
115 | *exchange_id = desc_ptr->exchange_id; | ||
116 | *tmpl = desc_ptr->tmpl & CQ_FCP_RQ_DESC_TMPL_MASK; | ||
117 | *bytes_written = | ||
118 | desc_ptr->bytes_written & CQ_FCP_RQ_DESC_BYTES_WRITTEN_MASK; | ||
119 | *packet_err = | ||
120 | (desc_ptr->bytes_written & CQ_FCP_RQ_DESC_PACKET_ERR_MASK) >> | ||
121 | CQ_FCP_RQ_DESC_PACKET_ERR_SHIFT; | ||
122 | *vlan_stripped = | ||
123 | (desc_ptr->bytes_written & CQ_FCP_RQ_DESC_VS_STRIPPED_MASK) >> | ||
124 | CQ_FCP_RQ_DESC_VS_STRIPPED_SHIFT; | ||
125 | *vlan = desc_ptr->vlan; | ||
126 | *sof = desc_ptr->sof; | ||
127 | *fck = desc_ptr->fcs_fer_fck & CQ_FCP_RQ_DESC_FC_CRC_OK_MASK; | ||
128 | *fcoe_err = (desc_ptr->fcs_fer_fck & CQ_FCP_RQ_DESC_FCOE_ERR_MASK) >> | ||
129 | CQ_FCP_RQ_DESC_FCOE_ERR_SHIFT; | ||
130 | *eof = desc_ptr->eof; | ||
131 | *fcs_ok = | ||
132 | (desc_ptr->fcs_fer_fck & CQ_FCP_RQ_DESC_FCS_OK_MASK) >> | ||
133 | CQ_FCP_RQ_DESC_FCS_OK_SHIFT; | ||
134 | } | ||
135 | |||
136 | struct cq_sgl_desc { | ||
137 | u16 exchange_id; | ||
138 | u16 q_number; | ||
139 | u32 active_burst_offset; | ||
140 | u32 tot_data_bytes; | ||
141 | u16 tmpl; | ||
142 | u8 sgl_err; | ||
143 | u8 type_color; | ||
144 | }; | ||
145 | |||
146 | enum cq_sgl_err_types { | ||
147 | CQ_SGL_ERR_NO_ERROR = 0, | ||
148 | CQ_SGL_ERR_OVERFLOW, /* data ran beyond end of SGL */ | ||
149 | CQ_SGL_ERR_SGL_LCL_ADDR_ERR, /* sgl access to local vnic addr illegal*/ | ||
150 | CQ_SGL_ERR_ADDR_RSP_ERR, /* sgl address error */ | ||
151 | CQ_SGL_ERR_DATA_RSP_ERR, /* sgl data rsp error */ | ||
152 | CQ_SGL_ERR_CNT_ZERO_ERR, /* SGL count is 0 */ | ||
153 | CQ_SGL_ERR_CNT_MAX_ERR, /* SGL count is larger than supported */ | ||
154 | CQ_SGL_ERR_ORDER_ERR, /* frames recv on both ports, order err */ | ||
155 | CQ_SGL_ERR_DATA_LCL_ADDR_ERR,/* sgl data buf to local vnic addr ill */ | ||
156 | CQ_SGL_ERR_HOST_CQ_ERR, /* host cq entry to local vnic addr ill */ | ||
157 | }; | ||
158 | |||
159 | #define CQ_SGL_SGL_ERR_MASK 0x1f | ||
160 | #define CQ_SGL_TMPL_MASK 0x1f | ||
161 | |||
162 | static inline void cq_sgl_desc_dec(struct cq_sgl_desc *desc_ptr, | ||
163 | u8 *type, | ||
164 | u8 *color, | ||
165 | u16 *q_number, | ||
166 | u16 *exchange_id, | ||
167 | u32 *active_burst_offset, | ||
168 | u32 *tot_data_bytes, | ||
169 | u16 *tmpl, | ||
170 | u8 *sgl_err) | ||
171 | { | ||
172 | /* Cheat a little by assuming exchange_id is the same as completed | ||
173 | index */ | ||
174 | cq_desc_dec((struct cq_desc *)desc_ptr, type, color, q_number, | ||
175 | exchange_id); | ||
176 | *active_burst_offset = desc_ptr->active_burst_offset; | ||
177 | *tot_data_bytes = desc_ptr->tot_data_bytes; | ||
178 | *tmpl = desc_ptr->tmpl & CQ_SGL_TMPL_MASK; | ||
179 | *sgl_err = desc_ptr->sgl_err & CQ_SGL_SGL_ERR_MASK; | ||
180 | } | ||
181 | |||
182 | #endif /* _CQ_EXCH_DESC_H_ */ | ||
diff --git a/drivers/scsi/fnic/fcpio.h b/drivers/scsi/fnic/fcpio.h new file mode 100644 index 000000000000..12d770d885c5 --- /dev/null +++ b/drivers/scsi/fnic/fcpio.h | |||
@@ -0,0 +1,780 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _FCPIO_H_ | ||
19 | #define _FCPIO_H_ | ||
20 | |||
21 | #include <linux/if_ether.h> | ||
22 | |||
23 | /* | ||
24 | * This header file includes all of the data structures used for | ||
25 | * communication by the host driver to the fcp firmware. | ||
26 | */ | ||
27 | |||
28 | /* | ||
29 | * Exchange and sequence id space allocated to the host driver | ||
30 | */ | ||
31 | #define FCPIO_HOST_EXCH_RANGE_START 0x1000 | ||
32 | #define FCPIO_HOST_EXCH_RANGE_END 0x1fff | ||
33 | #define FCPIO_HOST_SEQ_ID_RANGE_START 0x80 | ||
34 | #define FCPIO_HOST_SEQ_ID_RANGE_END 0xff | ||
35 | |||
36 | /* | ||
37 | * Command entry type | ||
38 | */ | ||
39 | enum fcpio_type { | ||
40 | /* | ||
41 | * Initiator request types | ||
42 | */ | ||
43 | FCPIO_ICMND_16 = 0x1, | ||
44 | FCPIO_ICMND_32, | ||
45 | FCPIO_ICMND_CMPL, | ||
46 | FCPIO_ITMF, | ||
47 | FCPIO_ITMF_CMPL, | ||
48 | |||
49 | /* | ||
50 | * Target request types | ||
51 | */ | ||
52 | FCPIO_TCMND_16 = 0x11, | ||
53 | FCPIO_TCMND_32, | ||
54 | FCPIO_TDATA, | ||
55 | FCPIO_TXRDY, | ||
56 | FCPIO_TRSP, | ||
57 | FCPIO_TDRSP_CMPL, | ||
58 | FCPIO_TTMF, | ||
59 | FCPIO_TTMF_ACK, | ||
60 | FCPIO_TABORT, | ||
61 | FCPIO_TABORT_CMPL, | ||
62 | |||
63 | /* | ||
64 | * Misc request types | ||
65 | */ | ||
66 | FCPIO_ACK = 0x20, | ||
67 | FCPIO_RESET, | ||
68 | FCPIO_RESET_CMPL, | ||
69 | FCPIO_FLOGI_REG, | ||
70 | FCPIO_FLOGI_REG_CMPL, | ||
71 | FCPIO_ECHO, | ||
72 | FCPIO_ECHO_CMPL, | ||
73 | FCPIO_LUNMAP_CHNG, | ||
74 | FCPIO_LUNMAP_REQ, | ||
75 | FCPIO_LUNMAP_REQ_CMPL, | ||
76 | FCPIO_FLOGI_FIP_REG, | ||
77 | FCPIO_FLOGI_FIP_REG_CMPL, | ||
78 | }; | ||
79 | |||
80 | /* | ||
81 | * Header status codes from the firmware | ||
82 | */ | ||
83 | enum fcpio_status { | ||
84 | FCPIO_SUCCESS = 0, /* request was successful */ | ||
85 | |||
86 | /* | ||
87 | * If a request to the firmware is rejected, the original request | ||
88 | * header will be returned with the status set to one of the following: | ||
89 | */ | ||
90 | FCPIO_INVALID_HEADER, /* header contains invalid data */ | ||
91 | FCPIO_OUT_OF_RESOURCE, /* out of resources to complete request */ | ||
92 | FCPIO_INVALID_PARAM, /* some parameter in request is invalid */ | ||
93 | FCPIO_REQ_NOT_SUPPORTED, /* request type is not supported */ | ||
94 | FCPIO_IO_NOT_FOUND, /* requested I/O was not found */ | ||
95 | |||
96 | /* | ||
97 | * Once a request is processed, the firmware will usually return | ||
98 | * a cmpl message type. In cases where errors occurred, | ||
99 | * the header status field would be filled in with one of the following: | ||
100 | */ | ||
101 | FCPIO_ABORTED = 0x41, /* request was aborted */ | ||
102 | FCPIO_TIMEOUT, /* request was timed out */ | ||
103 | FCPIO_SGL_INVALID, /* request was aborted due to sgl error */ | ||
104 | FCPIO_MSS_INVALID, /* request was aborted due to mss error */ | ||
105 | FCPIO_DATA_CNT_MISMATCH, /* recv/sent more/less data than exp. */ | ||
106 | FCPIO_FW_ERR, /* request was terminated due to fw error */ | ||
107 | FCPIO_ITMF_REJECTED, /* itmf req was rejected by remote node */ | ||
108 | FCPIO_ITMF_FAILED, /* itmf req was failed by remote node */ | ||
109 | FCPIO_ITMF_INCORRECT_LUN, /* itmf req targeted incorrect LUN */ | ||
110 | FCPIO_CMND_REJECTED, /* request was invalid and rejected */ | ||
111 | FCPIO_NO_PATH_AVAIL, /* no paths to the lun was available */ | ||
112 | FCPIO_PATH_FAILED, /* i/o sent to current path failed */ | ||
113 | FCPIO_LUNMAP_CHNG_PEND, /* i/o rejected due to lunmap change */ | ||
114 | }; | ||
115 | |||
116 | /* | ||
117 | * The header command tag. All host requests will use the "tag" field | ||
118 | * to mark commands with a unique tag. When the firmware responds to | ||
119 | * a host request, it will copy the tag field into the response. | ||
120 | * | ||
121 | * The only firmware requests that will use the rx_id/ox_id fields instead | ||
122 | * of the tag field will be the target command and target task management | ||
123 | * requests. These two requests do not have corresponding host requests | ||
124 | * since they come directly from the FC initiator on the network. | ||
125 | */ | ||
126 | struct fcpio_tag { | ||
127 | union { | ||
128 | u32 req_id; | ||
129 | struct { | ||
130 | u16 rx_id; | ||
131 | u16 ox_id; | ||
132 | } ex_id; | ||
133 | } u; | ||
134 | }; | ||
135 | |||
136 | static inline void | ||
137 | fcpio_tag_id_enc(struct fcpio_tag *tag, u32 id) | ||
138 | { | ||
139 | tag->u.req_id = id; | ||
140 | } | ||
141 | |||
142 | static inline void | ||
143 | fcpio_tag_id_dec(struct fcpio_tag *tag, u32 *id) | ||
144 | { | ||
145 | *id = tag->u.req_id; | ||
146 | } | ||
147 | |||
148 | static inline void | ||
149 | fcpio_tag_exid_enc(struct fcpio_tag *tag, u16 ox_id, u16 rx_id) | ||
150 | { | ||
151 | tag->u.ex_id.rx_id = rx_id; | ||
152 | tag->u.ex_id.ox_id = ox_id; | ||
153 | } | ||
154 | |||
155 | static inline void | ||
156 | fcpio_tag_exid_dec(struct fcpio_tag *tag, u16 *ox_id, u16 *rx_id) | ||
157 | { | ||
158 | *rx_id = tag->u.ex_id.rx_id; | ||
159 | *ox_id = tag->u.ex_id.ox_id; | ||
160 | } | ||
161 | |||
162 | /* | ||
163 | * The header for an fcpio request, whether from the firmware or from the | ||
164 | * host driver | ||
165 | */ | ||
166 | struct fcpio_header { | ||
167 | u8 type; /* enum fcpio_type */ | ||
168 | u8 status; /* header status entry */ | ||
169 | u16 _resvd; /* reserved */ | ||
170 | struct fcpio_tag tag; /* header tag */ | ||
171 | }; | ||
172 | |||
173 | static inline void | ||
174 | fcpio_header_enc(struct fcpio_header *hdr, | ||
175 | u8 type, u8 status, | ||
176 | struct fcpio_tag tag) | ||
177 | { | ||
178 | hdr->type = type; | ||
179 | hdr->status = status; | ||
180 | hdr->_resvd = 0; | ||
181 | hdr->tag = tag; | ||
182 | } | ||
183 | |||
184 | static inline void | ||
185 | fcpio_header_dec(struct fcpio_header *hdr, | ||
186 | u8 *type, u8 *status, | ||
187 | struct fcpio_tag *tag) | ||
188 | { | ||
189 | *type = hdr->type; | ||
190 | *status = hdr->status; | ||
191 | *tag = hdr->tag; | ||
192 | } | ||
193 | |||
194 | #define CDB_16 16 | ||
195 | #define CDB_32 32 | ||
196 | #define LUN_ADDRESS 8 | ||
197 | |||
198 | /* | ||
199 | * fcpio_icmnd_16: host -> firmware request | ||
200 | * | ||
201 | * used for sending out an initiator SCSI 16-byte command | ||
202 | */ | ||
203 | struct fcpio_icmnd_16 { | ||
204 | u32 lunmap_id; /* index into lunmap table */ | ||
205 | u8 special_req_flags; /* special exchange request flags */ | ||
206 | u8 _resvd0[3]; /* reserved */ | ||
207 | u32 sgl_cnt; /* scatter-gather list count */ | ||
208 | u32 sense_len; /* sense buffer length */ | ||
209 | u64 sgl_addr; /* scatter-gather list addr */ | ||
210 | u64 sense_addr; /* sense buffer address */ | ||
211 | u8 crn; /* SCSI Command Reference No. */ | ||
212 | u8 pri_ta; /* SCSI Priority and Task attribute */ | ||
213 | u8 _resvd1; /* reserved: should be 0 */ | ||
214 | u8 flags; /* command flags */ | ||
215 | u8 scsi_cdb[CDB_16]; /* SCSI Cmnd Descriptor Block */ | ||
216 | u32 data_len; /* length of data expected */ | ||
217 | u8 lun[LUN_ADDRESS]; /* FC vNIC only: LUN address */ | ||
218 | u8 _resvd2; /* reserved */ | ||
219 | u8 d_id[3]; /* FC vNIC only: Target D_ID */ | ||
220 | u16 mss; /* FC vNIC only: max burst */ | ||
221 | u16 _resvd3; /* reserved */ | ||
222 | u32 r_a_tov; /* FC vNIC only: Res. Alloc Timeout */ | ||
223 | u32 e_d_tov; /* FC vNIC only: Err Detect Timeout */ | ||
224 | }; | ||
225 | |||
226 | /* | ||
227 | * Special request flags | ||
228 | */ | ||
229 | #define FCPIO_ICMND_SRFLAG_RETRY 0x01 /* Enable Retry handling on exchange */ | ||
230 | |||
231 | /* | ||
232 | * Priority/Task Attribute settings | ||
233 | */ | ||
234 | #define FCPIO_ICMND_PTA_SIMPLE 0 /* simple task attribute */ | ||
235 | #define FCPIO_ICMND_PTA_HEADQ 1 /* head of queue task attribute */ | ||
236 | #define FCPIO_ICMND_PTA_ORDERED 2 /* ordered task attribute */ | ||
237 | #define FCPIO_ICMND_PTA_ACA 4 /* auto contingent allegiance */ | ||
238 | #define FCPIO_ICMND_PRI_SHIFT 3 /* priority field starts in bit 3 */ | ||
239 | |||
240 | /* | ||
241 | * Command flags | ||
242 | */ | ||
243 | #define FCPIO_ICMND_RDDATA 0x02 /* read data */ | ||
244 | #define FCPIO_ICMND_WRDATA 0x01 /* write data */ | ||
245 | |||
246 | /* | ||
247 | * fcpio_icmnd_32: host -> firmware request | ||
248 | * | ||
249 | * used for sending out an initiator SCSI 32-byte command | ||
250 | */ | ||
251 | struct fcpio_icmnd_32 { | ||
252 | u32 lunmap_id; /* index into lunmap table */ | ||
253 | u8 special_req_flags; /* special exchange request flags */ | ||
254 | u8 _resvd0[3]; /* reserved */ | ||
255 | u32 sgl_cnt; /* scatter-gather list count */ | ||
256 | u32 sense_len; /* sense buffer length */ | ||
257 | u64 sgl_addr; /* scatter-gather list addr */ | ||
258 | u64 sense_addr; /* sense buffer address */ | ||
259 | u8 crn; /* SCSI Command Reference No. */ | ||
260 | u8 pri_ta; /* SCSI Priority and Task attribute */ | ||
261 | u8 _resvd1; /* reserved: should be 0 */ | ||
262 | u8 flags; /* command flags */ | ||
263 | u8 scsi_cdb[CDB_32]; /* SCSI Cmnd Descriptor Block */ | ||
264 | u32 data_len; /* length of data expected */ | ||
265 | u8 lun[LUN_ADDRESS]; /* FC vNIC only: LUN address */ | ||
266 | u8 _resvd2; /* reserved */ | ||
267 | u8 d_id[3]; /* FC vNIC only: Target D_ID */ | ||
268 | u16 mss; /* FC vNIC only: max burst */ | ||
269 | u16 _resvd3; /* reserved */ | ||
270 | u32 r_a_tov; /* FC vNIC only: Res. Alloc Timeout */ | ||
271 | u32 e_d_tov; /* FC vNIC only: Error Detect Timeout */ | ||
272 | }; | ||
273 | |||
274 | /* | ||
275 | * fcpio_itmf: host -> firmware request | ||
276 | * | ||
277 | * used for requesting the firmware to abort a request and/or send out | ||
278 | * a task management function | ||
279 | * | ||
280 | * The t_tag field is only needed when the request type is ABT_TASK. | ||
281 | */ | ||
282 | struct fcpio_itmf { | ||
283 | u32 lunmap_id; /* index into lunmap table */ | ||
284 | u32 tm_req; /* SCSI Task Management request */ | ||
285 | u32 t_tag; /* header tag of fcpio to be aborted */ | ||
286 | u32 _resvd; /* _reserved */ | ||
287 | u8 lun[LUN_ADDRESS]; /* FC vNIC only: LUN address */ | ||
288 | u8 _resvd1; /* reserved */ | ||
289 | u8 d_id[3]; /* FC vNIC only: Target D_ID */ | ||
290 | u32 r_a_tov; /* FC vNIC only: R_A_TOV in msec */ | ||
291 | u32 e_d_tov; /* FC vNIC only: E_D_TOV in msec */ | ||
292 | }; | ||
293 | |||
294 | /* | ||
295 | * Task Management request | ||
296 | */ | ||
297 | enum fcpio_itmf_tm_req_type { | ||
298 | FCPIO_ITMF_ABT_TASK_TERM = 0x01, /* abort task and terminate */ | ||
299 | FCPIO_ITMF_ABT_TASK, /* abort task and issue abts */ | ||
300 | FCPIO_ITMF_ABT_TASK_SET, /* abort task set */ | ||
301 | FCPIO_ITMF_CLR_TASK_SET, /* clear task set */ | ||
302 | FCPIO_ITMF_LUN_RESET, /* logical unit reset task mgmt */ | ||
303 | FCPIO_ITMF_CLR_ACA, /* Clear ACA condition */ | ||
304 | }; | ||
305 | |||
306 | /* | ||
307 | * fcpio_tdata: host -> firmware request | ||
308 | * | ||
309 | * used for requesting the firmware to send out a read data transfer for a | ||
310 | * target command | ||
311 | */ | ||
312 | struct fcpio_tdata { | ||
313 | u16 rx_id; /* FC rx_id of target command */ | ||
314 | u16 flags; /* command flags */ | ||
315 | u32 rel_offset; /* data sequence relative offset */ | ||
316 | u32 sgl_cnt; /* scatter-gather list count */ | ||
317 | u32 data_len; /* length of data expected to send */ | ||
318 | u64 sgl_addr; /* scatter-gather list address */ | ||
319 | }; | ||
320 | |||
321 | /* | ||
322 | * Command flags | ||
323 | */ | ||
324 | #define FCPIO_TDATA_SCSI_RSP 0x01 /* send a scsi resp. after last frame */ | ||
325 | |||
326 | /* | ||
327 | * fcpio_txrdy: host -> firmware request | ||
328 | * | ||
329 | * used for requesting the firmware to send out a write data transfer for a | ||
330 | * target command | ||
331 | */ | ||
332 | struct fcpio_txrdy { | ||
333 | u16 rx_id; /* FC rx_id of target command */ | ||
334 | u16 _resvd0; /* reserved */ | ||
335 | u32 rel_offset; /* data sequence relative offset */ | ||
336 | u32 sgl_cnt; /* scatter-gather list count */ | ||
337 | u32 data_len; /* length of data expected to send */ | ||
338 | u64 sgl_addr; /* scatter-gather list address */ | ||
339 | }; | ||
340 | |||
341 | /* | ||
342 | * fcpio_trsp: host -> firmware request | ||
343 | * | ||
344 | * used for requesting the firmware to send out a response for a target | ||
345 | * command | ||
346 | */ | ||
347 | struct fcpio_trsp { | ||
348 | u16 rx_id; /* FC rx_id of target command */ | ||
349 | u16 _resvd0; /* reserved */ | ||
350 | u32 sense_len; /* sense data buffer length */ | ||
351 | u64 sense_addr; /* sense data buffer address */ | ||
352 | u16 _resvd1; /* reserved */ | ||
353 | u8 flags; /* response request flags */ | ||
354 | u8 scsi_status; /* SCSI status */ | ||
355 | u32 residual; /* SCSI data residual value of I/O */ | ||
356 | }; | ||
357 | |||
358 | /* | ||
359 | * resposnse request flags | ||
360 | */ | ||
361 | #define FCPIO_TRSP_RESID_UNDER 0x08 /* residual is valid and is underflow */ | ||
362 | #define FCPIO_TRSP_RESID_OVER 0x04 /* residual is valid and is overflow */ | ||
363 | |||
364 | /* | ||
365 | * fcpio_ttmf_ack: host -> firmware response | ||
366 | * | ||
367 | * used by the host to indicate to the firmware it has received and processed | ||
368 | * the target tmf request | ||
369 | */ | ||
370 | struct fcpio_ttmf_ack { | ||
371 | u16 rx_id; /* FC rx_id of target command */ | ||
372 | u16 _resvd0; /* reserved */ | ||
373 | u32 tmf_status; /* SCSI task management status */ | ||
374 | }; | ||
375 | |||
376 | /* | ||
377 | * fcpio_tabort: host -> firmware request | ||
378 | * | ||
379 | * used by the host to request the firmware to abort a target request that was | ||
380 | * received by the firmware | ||
381 | */ | ||
382 | struct fcpio_tabort { | ||
383 | u16 rx_id; /* rx_id of the target request */ | ||
384 | }; | ||
385 | |||
386 | /* | ||
387 | * fcpio_reset: host -> firmware request | ||
388 | * | ||
389 | * used by the host to signal a reset of the driver to the firmware | ||
390 | * and to request firmware to clean up all outstanding I/O | ||
391 | */ | ||
392 | struct fcpio_reset { | ||
393 | u32 _resvd; | ||
394 | }; | ||
395 | |||
396 | enum fcpio_flogi_reg_format_type { | ||
397 | FCPIO_FLOGI_REG_DEF_DEST = 0, /* Use the oui | s_id mac format */ | ||
398 | FCPIO_FLOGI_REG_GW_DEST, /* Use the fixed gateway mac */ | ||
399 | }; | ||
400 | |||
401 | /* | ||
402 | * fcpio_flogi_reg: host -> firmware request | ||
403 | * | ||
404 | * fc vnic only | ||
405 | * used by the host to notify the firmware of the lif's s_id | ||
406 | * and destination mac address format | ||
407 | */ | ||
408 | struct fcpio_flogi_reg { | ||
409 | u8 format; | ||
410 | u8 s_id[3]; /* FC vNIC only: Source S_ID */ | ||
411 | u8 gateway_mac[ETH_ALEN]; /* Destination gateway mac */ | ||
412 | u16 _resvd; | ||
413 | u32 r_a_tov; /* R_A_TOV in msec */ | ||
414 | u32 e_d_tov; /* E_D_TOV in msec */ | ||
415 | }; | ||
416 | |||
417 | /* | ||
418 | * fcpio_echo: host -> firmware request | ||
419 | * | ||
420 | * sends a heartbeat echo request to the firmware | ||
421 | */ | ||
422 | struct fcpio_echo { | ||
423 | u32 _resvd; | ||
424 | }; | ||
425 | |||
426 | /* | ||
427 | * fcpio_lunmap_req: host -> firmware request | ||
428 | * | ||
429 | * scsi vnic only | ||
430 | * sends a request to retrieve the lunmap table for scsi vnics | ||
431 | */ | ||
432 | struct fcpio_lunmap_req { | ||
433 | u64 addr; /* address of the buffer */ | ||
434 | u32 len; /* len of the buffer */ | ||
435 | }; | ||
436 | |||
437 | /* | ||
438 | * fcpio_flogi_fip_reg: host -> firmware request | ||
439 | * | ||
440 | * fc vnic only | ||
441 | * used by the host to notify the firmware of the lif's s_id | ||
442 | * and destination mac address format | ||
443 | */ | ||
444 | struct fcpio_flogi_fip_reg { | ||
445 | u8 _resvd0; | ||
446 | u8 s_id[3]; /* FC vNIC only: Source S_ID */ | ||
447 | u8 fcf_mac[ETH_ALEN]; /* FCF Target destination mac */ | ||
448 | u16 _resvd1; | ||
449 | u32 r_a_tov; /* R_A_TOV in msec */ | ||
450 | u32 e_d_tov; /* E_D_TOV in msec */ | ||
451 | u8 ha_mac[ETH_ALEN]; /* Host adapter source mac */ | ||
452 | u16 _resvd2; | ||
453 | }; | ||
454 | |||
455 | /* | ||
456 | * Basic structure for all fcpio structures that are sent from the host to the | ||
457 | * firmware. They are 128 bytes per structure. | ||
458 | */ | ||
459 | #define FCPIO_HOST_REQ_LEN 128 /* expected length of host requests */ | ||
460 | |||
461 | struct fcpio_host_req { | ||
462 | struct fcpio_header hdr; | ||
463 | |||
464 | union { | ||
465 | /* | ||
466 | * Defines space needed for request | ||
467 | */ | ||
468 | u8 buf[FCPIO_HOST_REQ_LEN - sizeof(struct fcpio_header)]; | ||
469 | |||
470 | /* | ||
471 | * Initiator host requests | ||
472 | */ | ||
473 | struct fcpio_icmnd_16 icmnd_16; | ||
474 | struct fcpio_icmnd_32 icmnd_32; | ||
475 | struct fcpio_itmf itmf; | ||
476 | |||
477 | /* | ||
478 | * Target host requests | ||
479 | */ | ||
480 | struct fcpio_tdata tdata; | ||
481 | struct fcpio_txrdy txrdy; | ||
482 | struct fcpio_trsp trsp; | ||
483 | struct fcpio_ttmf_ack ttmf_ack; | ||
484 | struct fcpio_tabort tabort; | ||
485 | |||
486 | /* | ||
487 | * Misc requests | ||
488 | */ | ||
489 | struct fcpio_reset reset; | ||
490 | struct fcpio_flogi_reg flogi_reg; | ||
491 | struct fcpio_echo echo; | ||
492 | struct fcpio_lunmap_req lunmap_req; | ||
493 | struct fcpio_flogi_fip_reg flogi_fip_reg; | ||
494 | } u; | ||
495 | }; | ||
496 | |||
497 | /* | ||
498 | * fcpio_icmnd_cmpl: firmware -> host response | ||
499 | * | ||
500 | * used for sending the host a response to an initiator command | ||
501 | */ | ||
502 | struct fcpio_icmnd_cmpl { | ||
503 | u8 _resvd0[6]; /* reserved */ | ||
504 | u8 flags; /* response flags */ | ||
505 | u8 scsi_status; /* SCSI status */ | ||
506 | u32 residual; /* SCSI data residual length */ | ||
507 | u32 sense_len; /* SCSI sense length */ | ||
508 | }; | ||
509 | |||
510 | /* | ||
511 | * response flags | ||
512 | */ | ||
513 | #define FCPIO_ICMND_CMPL_RESID_UNDER 0x08 /* resid under and valid */ | ||
514 | #define FCPIO_ICMND_CMPL_RESID_OVER 0x04 /* resid over and valid */ | ||
515 | |||
516 | /* | ||
517 | * fcpio_itmf_cmpl: firmware -> host response | ||
518 | * | ||
519 | * used for sending the host a response for a itmf request | ||
520 | */ | ||
521 | struct fcpio_itmf_cmpl { | ||
522 | u32 _resvd; /* reserved */ | ||
523 | }; | ||
524 | |||
525 | /* | ||
526 | * fcpio_tcmnd_16: firmware -> host request | ||
527 | * | ||
528 | * used by the firmware to notify the host of an incoming target SCSI 16-Byte | ||
529 | * request | ||
530 | */ | ||
531 | struct fcpio_tcmnd_16 { | ||
532 | u8 lun[LUN_ADDRESS]; /* FC vNIC only: LUN address */ | ||
533 | u8 crn; /* SCSI Command Reference No. */ | ||
534 | u8 pri_ta; /* SCSI Priority and Task attribute */ | ||
535 | u8 _resvd2; /* reserved: should be 0 */ | ||
536 | u8 flags; /* command flags */ | ||
537 | u8 scsi_cdb[CDB_16]; /* SCSI Cmnd Descriptor Block */ | ||
538 | u32 data_len; /* length of data expected */ | ||
539 | u8 _resvd1; /* reserved */ | ||
540 | u8 s_id[3]; /* FC vNIC only: Source S_ID */ | ||
541 | }; | ||
542 | |||
543 | /* | ||
544 | * Priority/Task Attribute settings | ||
545 | */ | ||
546 | #define FCPIO_TCMND_PTA_SIMPLE 0 /* simple task attribute */ | ||
547 | #define FCPIO_TCMND_PTA_HEADQ 1 /* head of queue task attribute */ | ||
548 | #define FCPIO_TCMND_PTA_ORDERED 2 /* ordered task attribute */ | ||
549 | #define FCPIO_TCMND_PTA_ACA 4 /* auto contingent allegiance */ | ||
550 | #define FCPIO_TCMND_PRI_SHIFT 3 /* priority field starts in bit 3 */ | ||
551 | |||
552 | /* | ||
553 | * Command flags | ||
554 | */ | ||
555 | #define FCPIO_TCMND_RDDATA 0x02 /* read data */ | ||
556 | #define FCPIO_TCMND_WRDATA 0x01 /* write data */ | ||
557 | |||
558 | /* | ||
559 | * fcpio_tcmnd_32: firmware -> host request | ||
560 | * | ||
561 | * used by the firmware to notify the host of an incoming target SCSI 32-Byte | ||
562 | * request | ||
563 | */ | ||
564 | struct fcpio_tcmnd_32 { | ||
565 | u8 lun[LUN_ADDRESS]; /* FC vNIC only: LUN address */ | ||
566 | u8 crn; /* SCSI Command Reference No. */ | ||
567 | u8 pri_ta; /* SCSI Priority and Task attribute */ | ||
568 | u8 _resvd2; /* reserved: should be 0 */ | ||
569 | u8 flags; /* command flags */ | ||
570 | u8 scsi_cdb[CDB_32]; /* SCSI Cmnd Descriptor Block */ | ||
571 | u32 data_len; /* length of data expected */ | ||
572 | u8 _resvd0; /* reserved */ | ||
573 | u8 s_id[3]; /* FC vNIC only: Source S_ID */ | ||
574 | }; | ||
575 | |||
576 | /* | ||
577 | * fcpio_tdrsp_cmpl: firmware -> host response | ||
578 | * | ||
579 | * used by the firmware to notify the host of a response to a host target | ||
580 | * command | ||
581 | */ | ||
582 | struct fcpio_tdrsp_cmpl { | ||
583 | u16 rx_id; /* rx_id of the target request */ | ||
584 | u16 _resvd0; /* reserved */ | ||
585 | }; | ||
586 | |||
587 | /* | ||
588 | * fcpio_ttmf: firmware -> host request | ||
589 | * | ||
590 | * used by the firmware to notify the host of an incoming task management | ||
591 | * function request | ||
592 | */ | ||
593 | struct fcpio_ttmf { | ||
594 | u8 _resvd0; /* reserved */ | ||
595 | u8 s_id[3]; /* FC vNIC only: Source S_ID */ | ||
596 | u8 lun[LUN_ADDRESS]; /* FC vNIC only: LUN address */ | ||
597 | u8 crn; /* SCSI Command Reference No. */ | ||
598 | u8 _resvd2[3]; /* reserved */ | ||
599 | u32 tmf_type; /* task management request type */ | ||
600 | }; | ||
601 | |||
602 | /* | ||
603 | * Task Management request | ||
604 | */ | ||
605 | #define FCPIO_TTMF_CLR_ACA 0x40 /* Clear ACA condition */ | ||
606 | #define FCPIO_TTMF_LUN_RESET 0x10 /* logical unit reset task mgmt */ | ||
607 | #define FCPIO_TTMF_CLR_TASK_SET 0x04 /* clear task set */ | ||
608 | #define FCPIO_TTMF_ABT_TASK_SET 0x02 /* abort task set */ | ||
609 | #define FCPIO_TTMF_ABT_TASK 0x01 /* abort task */ | ||
610 | |||
611 | /* | ||
612 | * fcpio_tabort_cmpl: firmware -> host response | ||
613 | * | ||
614 | * used by the firmware to respond to a host's tabort request | ||
615 | */ | ||
616 | struct fcpio_tabort_cmpl { | ||
617 | u16 rx_id; /* rx_id of the target request */ | ||
618 | u16 _resvd0; /* reserved */ | ||
619 | }; | ||
620 | |||
621 | /* | ||
622 | * fcpio_ack: firmware -> host response | ||
623 | * | ||
624 | * used by firmware to notify the host of the last work request received | ||
625 | */ | ||
626 | struct fcpio_ack { | ||
627 | u16 request_out; /* last host entry received */ | ||
628 | u16 _resvd; | ||
629 | }; | ||
630 | |||
631 | /* | ||
632 | * fcpio_reset_cmpl: firmware -> host response | ||
633 | * | ||
634 | * use by firmware to respond to the host's reset request | ||
635 | */ | ||
636 | struct fcpio_reset_cmpl { | ||
637 | u16 vnic_id; | ||
638 | }; | ||
639 | |||
640 | /* | ||
641 | * fcpio_flogi_reg_cmpl: firmware -> host response | ||
642 | * | ||
643 | * fc vnic only | ||
644 | * response to the fcpio_flogi_reg request | ||
645 | */ | ||
646 | struct fcpio_flogi_reg_cmpl { | ||
647 | u32 _resvd; | ||
648 | }; | ||
649 | |||
650 | /* | ||
651 | * fcpio_echo_cmpl: firmware -> host response | ||
652 | * | ||
653 | * response to the fcpio_echo request | ||
654 | */ | ||
655 | struct fcpio_echo_cmpl { | ||
656 | u32 _resvd; | ||
657 | }; | ||
658 | |||
659 | /* | ||
660 | * fcpio_lunmap_chng: firmware -> host notification | ||
661 | * | ||
662 | * scsi vnic only | ||
663 | * notifies the host that the lunmap tables have changed | ||
664 | */ | ||
665 | struct fcpio_lunmap_chng { | ||
666 | u32 _resvd; | ||
667 | }; | ||
668 | |||
669 | /* | ||
670 | * fcpio_lunmap_req_cmpl: firmware -> host response | ||
671 | * | ||
672 | * scsi vnic only | ||
673 | * response for lunmap table request from the host | ||
674 | */ | ||
675 | struct fcpio_lunmap_req_cmpl { | ||
676 | u32 _resvd; | ||
677 | }; | ||
678 | |||
679 | /* | ||
680 | * Basic structure for all fcpio structures that are sent from the firmware to | ||
681 | * the host. They are 64 bytes per structure. | ||
682 | */ | ||
683 | #define FCPIO_FW_REQ_LEN 64 /* expected length of fw requests */ | ||
684 | struct fcpio_fw_req { | ||
685 | struct fcpio_header hdr; | ||
686 | |||
687 | union { | ||
688 | /* | ||
689 | * Defines space needed for request | ||
690 | */ | ||
691 | u8 buf[FCPIO_FW_REQ_LEN - sizeof(struct fcpio_header)]; | ||
692 | |||
693 | /* | ||
694 | * Initiator firmware responses | ||
695 | */ | ||
696 | struct fcpio_icmnd_cmpl icmnd_cmpl; | ||
697 | struct fcpio_itmf_cmpl itmf_cmpl; | ||
698 | |||
699 | /* | ||
700 | * Target firmware new requests | ||
701 | */ | ||
702 | struct fcpio_tcmnd_16 tcmnd_16; | ||
703 | struct fcpio_tcmnd_32 tcmnd_32; | ||
704 | |||
705 | /* | ||
706 | * Target firmware responses | ||
707 | */ | ||
708 | struct fcpio_tdrsp_cmpl tdrsp_cmpl; | ||
709 | struct fcpio_ttmf ttmf; | ||
710 | struct fcpio_tabort_cmpl tabort_cmpl; | ||
711 | |||
712 | /* | ||
713 | * Firmware response to work received | ||
714 | */ | ||
715 | struct fcpio_ack ack; | ||
716 | |||
717 | /* | ||
718 | * Misc requests | ||
719 | */ | ||
720 | struct fcpio_reset_cmpl reset_cmpl; | ||
721 | struct fcpio_flogi_reg_cmpl flogi_reg_cmpl; | ||
722 | struct fcpio_echo_cmpl echo_cmpl; | ||
723 | struct fcpio_lunmap_chng lunmap_chng; | ||
724 | struct fcpio_lunmap_req_cmpl lunmap_req_cmpl; | ||
725 | } u; | ||
726 | }; | ||
727 | |||
728 | /* | ||
729 | * Access routines to encode and decode the color bit, which is the most | ||
730 | * significant bit of the MSB of the structure | ||
731 | */ | ||
732 | static inline void fcpio_color_enc(struct fcpio_fw_req *fw_req, u8 color) | ||
733 | { | ||
734 | u8 *c = ((u8 *) fw_req) + sizeof(struct fcpio_fw_req) - 1; | ||
735 | |||
736 | if (color) | ||
737 | *c |= 0x80; | ||
738 | else | ||
739 | *c &= ~0x80; | ||
740 | } | ||
741 | |||
742 | static inline void fcpio_color_dec(struct fcpio_fw_req *fw_req, u8 *color) | ||
743 | { | ||
744 | u8 *c = ((u8 *) fw_req) + sizeof(struct fcpio_fw_req) - 1; | ||
745 | |||
746 | *color = *c >> 7; | ||
747 | |||
748 | /* | ||
749 | * Make sure color bit is read from desc *before* other fields | ||
750 | * are read from desc. Hardware guarantees color bit is last | ||
751 | * bit (byte) written. Adding the rmb() prevents the compiler | ||
752 | * and/or CPU from reordering the reads which would potentially | ||
753 | * result in reading stale values. | ||
754 | */ | ||
755 | |||
756 | rmb(); | ||
757 | |||
758 | } | ||
759 | |||
760 | /* | ||
761 | * Lunmap table entry for scsi vnics | ||
762 | */ | ||
763 | #define FCPIO_LUNMAP_TABLE_SIZE 256 | ||
764 | #define FCPIO_FLAGS_LUNMAP_VALID 0x80 | ||
765 | #define FCPIO_FLAGS_BOOT 0x01 | ||
766 | struct fcpio_lunmap_entry { | ||
767 | u8 bus; | ||
768 | u8 target; | ||
769 | u8 lun; | ||
770 | u8 path_cnt; | ||
771 | u16 flags; | ||
772 | u16 update_cnt; | ||
773 | }; | ||
774 | |||
775 | struct fcpio_lunmap_tbl { | ||
776 | u32 update_cnt; | ||
777 | struct fcpio_lunmap_entry lunmaps[FCPIO_LUNMAP_TABLE_SIZE]; | ||
778 | }; | ||
779 | |||
780 | #endif /* _FCPIO_H_ */ | ||
diff --git a/drivers/scsi/fnic/fnic.h b/drivers/scsi/fnic/fnic.h new file mode 100644 index 000000000000..e4c0a3d7d87b --- /dev/null +++ b/drivers/scsi/fnic/fnic.h | |||
@@ -0,0 +1,265 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _FNIC_H_ | ||
19 | #define _FNIC_H_ | ||
20 | |||
21 | #include <linux/interrupt.h> | ||
22 | #include <linux/netdevice.h> | ||
23 | #include <linux/workqueue.h> | ||
24 | #include <scsi/libfc.h> | ||
25 | #include "fnic_io.h" | ||
26 | #include "fnic_res.h" | ||
27 | #include "vnic_dev.h" | ||
28 | #include "vnic_wq.h" | ||
29 | #include "vnic_rq.h" | ||
30 | #include "vnic_cq.h" | ||
31 | #include "vnic_wq_copy.h" | ||
32 | #include "vnic_intr.h" | ||
33 | #include "vnic_stats.h" | ||
34 | #include "vnic_scsi.h" | ||
35 | |||
36 | #define DRV_NAME "fnic" | ||
37 | #define DRV_DESCRIPTION "Cisco FCoE HBA Driver" | ||
38 | #define DRV_VERSION "1.0.0.1121" | ||
39 | #define PFX DRV_NAME ": " | ||
40 | #define DFX DRV_NAME "%d: " | ||
41 | |||
42 | #define DESC_CLEAN_LOW_WATERMARK 8 | ||
43 | #define FNIC_MAX_IO_REQ 2048 /* scsi_cmnd tag map entries */ | ||
44 | #define FNIC_IO_LOCKS 64 /* IO locks: power of 2 */ | ||
45 | #define FNIC_DFLT_QUEUE_DEPTH 32 | ||
46 | #define FNIC_STATS_RATE_LIMIT 4 /* limit rate at which stats are pulled up */ | ||
47 | |||
48 | /* | ||
49 | * Tag bits used for special requests. | ||
50 | */ | ||
51 | #define BIT(nr) (1UL << (nr)) | ||
52 | #define FNIC_TAG_ABORT BIT(30) /* tag bit indicating abort */ | ||
53 | #define FNIC_TAG_DEV_RST BIT(29) /* indicates device reset */ | ||
54 | #define FNIC_TAG_MASK (BIT(24) - 1) /* mask for lookup */ | ||
55 | #define FNIC_NO_TAG -1 | ||
56 | |||
57 | /* | ||
58 | * Usage of the scsi_cmnd scratchpad. | ||
59 | * These fields are locked by the hashed io_req_lock. | ||
60 | */ | ||
61 | #define CMD_SP(Cmnd) ((Cmnd)->SCp.ptr) | ||
62 | #define CMD_STATE(Cmnd) ((Cmnd)->SCp.phase) | ||
63 | #define CMD_ABTS_STATUS(Cmnd) ((Cmnd)->SCp.Message) | ||
64 | #define CMD_LR_STATUS(Cmnd) ((Cmnd)->SCp.have_data_in) | ||
65 | #define CMD_TAG(Cmnd) ((Cmnd)->SCp.sent_command) | ||
66 | |||
67 | #define FCPIO_INVALID_CODE 0x100 /* hdr_status value unused by firmware */ | ||
68 | |||
69 | #define FNIC_LUN_RESET_TIMEOUT 10000 /* mSec */ | ||
70 | #define FNIC_HOST_RESET_TIMEOUT 10000 /* mSec */ | ||
71 | #define FNIC_RMDEVICE_TIMEOUT 1000 /* mSec */ | ||
72 | #define FNIC_HOST_RESET_SETTLE_TIME 30 /* Sec */ | ||
73 | |||
74 | #define FNIC_MAX_FCP_TARGET 256 | ||
75 | |||
76 | extern unsigned int fnic_log_level; | ||
77 | |||
78 | #define FNIC_MAIN_LOGGING 0x01 | ||
79 | #define FNIC_FCS_LOGGING 0x02 | ||
80 | #define FNIC_SCSI_LOGGING 0x04 | ||
81 | #define FNIC_ISR_LOGGING 0x08 | ||
82 | |||
83 | #define FNIC_CHECK_LOGGING(LEVEL, CMD) \ | ||
84 | do { \ | ||
85 | if (unlikely(fnic_log_level & LEVEL)) \ | ||
86 | do { \ | ||
87 | CMD; \ | ||
88 | } while (0); \ | ||
89 | } while (0) | ||
90 | |||
91 | #define FNIC_MAIN_DBG(kern_level, host, fmt, args...) \ | ||
92 | FNIC_CHECK_LOGGING(FNIC_MAIN_LOGGING, \ | ||
93 | shost_printk(kern_level, host, fmt, ##args);) | ||
94 | |||
95 | #define FNIC_FCS_DBG(kern_level, host, fmt, args...) \ | ||
96 | FNIC_CHECK_LOGGING(FNIC_FCS_LOGGING, \ | ||
97 | shost_printk(kern_level, host, fmt, ##args);) | ||
98 | |||
99 | #define FNIC_SCSI_DBG(kern_level, host, fmt, args...) \ | ||
100 | FNIC_CHECK_LOGGING(FNIC_SCSI_LOGGING, \ | ||
101 | shost_printk(kern_level, host, fmt, ##args);) | ||
102 | |||
103 | #define FNIC_ISR_DBG(kern_level, host, fmt, args...) \ | ||
104 | FNIC_CHECK_LOGGING(FNIC_ISR_LOGGING, \ | ||
105 | shost_printk(kern_level, host, fmt, ##args);) | ||
106 | |||
107 | extern const char *fnic_state_str[]; | ||
108 | |||
109 | enum fnic_intx_intr_index { | ||
110 | FNIC_INTX_WQ_RQ_COPYWQ, | ||
111 | FNIC_INTX_ERR, | ||
112 | FNIC_INTX_NOTIFY, | ||
113 | FNIC_INTX_INTR_MAX, | ||
114 | }; | ||
115 | |||
116 | enum fnic_msix_intr_index { | ||
117 | FNIC_MSIX_RQ, | ||
118 | FNIC_MSIX_WQ, | ||
119 | FNIC_MSIX_WQ_COPY, | ||
120 | FNIC_MSIX_ERR_NOTIFY, | ||
121 | FNIC_MSIX_INTR_MAX, | ||
122 | }; | ||
123 | |||
124 | struct fnic_msix_entry { | ||
125 | int requested; | ||
126 | char devname[IFNAMSIZ]; | ||
127 | irqreturn_t (*isr)(int, void *); | ||
128 | void *devid; | ||
129 | }; | ||
130 | |||
131 | enum fnic_state { | ||
132 | FNIC_IN_FC_MODE = 0, | ||
133 | FNIC_IN_FC_TRANS_ETH_MODE, | ||
134 | FNIC_IN_ETH_MODE, | ||
135 | FNIC_IN_ETH_TRANS_FC_MODE, | ||
136 | }; | ||
137 | |||
138 | #define FNIC_WQ_COPY_MAX 1 | ||
139 | #define FNIC_WQ_MAX 1 | ||
140 | #define FNIC_RQ_MAX 1 | ||
141 | #define FNIC_CQ_MAX (FNIC_WQ_COPY_MAX + FNIC_WQ_MAX + FNIC_RQ_MAX) | ||
142 | |||
143 | struct mempool; | ||
144 | |||
145 | /* Per-instance private data structure */ | ||
146 | struct fnic { | ||
147 | struct fc_lport *lport; | ||
148 | struct vnic_dev_bar bar0; | ||
149 | |||
150 | struct msix_entry msix_entry[FNIC_MSIX_INTR_MAX]; | ||
151 | struct fnic_msix_entry msix[FNIC_MSIX_INTR_MAX]; | ||
152 | |||
153 | struct vnic_stats *stats; | ||
154 | unsigned long stats_time; /* time of stats update */ | ||
155 | struct vnic_nic_cfg *nic_cfg; | ||
156 | char name[IFNAMSIZ]; | ||
157 | struct timer_list notify_timer; /* used for MSI interrupts */ | ||
158 | |||
159 | unsigned int err_intr_offset; | ||
160 | unsigned int link_intr_offset; | ||
161 | |||
162 | unsigned int wq_count; | ||
163 | unsigned int cq_count; | ||
164 | |||
165 | u32 fcoui_mode:1; /* use fcoui address*/ | ||
166 | u32 vlan_hw_insert:1; /* let hw insert the tag */ | ||
167 | u32 in_remove:1; /* fnic device in removal */ | ||
168 | u32 stop_rx_link_events:1; /* stop proc. rx frames, link events */ | ||
169 | |||
170 | struct completion *remove_wait; /* device remove thread blocks */ | ||
171 | |||
172 | struct fc_frame *flogi; | ||
173 | struct fc_frame *flogi_resp; | ||
174 | u16 flogi_oxid; | ||
175 | unsigned long s_id; | ||
176 | enum fnic_state state; | ||
177 | spinlock_t fnic_lock; | ||
178 | |||
179 | u16 vlan_id; /* VLAN tag including priority */ | ||
180 | u8 mac_addr[ETH_ALEN]; | ||
181 | u8 dest_addr[ETH_ALEN]; | ||
182 | u8 data_src_addr[ETH_ALEN]; | ||
183 | u64 fcp_input_bytes; /* internal statistic */ | ||
184 | u64 fcp_output_bytes; /* internal statistic */ | ||
185 | u32 link_down_cnt; | ||
186 | int link_status; | ||
187 | |||
188 | struct list_head list; | ||
189 | struct pci_dev *pdev; | ||
190 | struct vnic_fc_config config; | ||
191 | struct vnic_dev *vdev; | ||
192 | unsigned int raw_wq_count; | ||
193 | unsigned int wq_copy_count; | ||
194 | unsigned int rq_count; | ||
195 | int fw_ack_index[FNIC_WQ_COPY_MAX]; | ||
196 | unsigned short fw_ack_recd[FNIC_WQ_COPY_MAX]; | ||
197 | unsigned short wq_copy_desc_low[FNIC_WQ_COPY_MAX]; | ||
198 | unsigned int intr_count; | ||
199 | u32 __iomem *legacy_pba; | ||
200 | struct fnic_host_tag *tags; | ||
201 | mempool_t *io_req_pool; | ||
202 | mempool_t *io_sgl_pool[FNIC_SGL_NUM_CACHES]; | ||
203 | spinlock_t io_req_lock[FNIC_IO_LOCKS]; /* locks for scsi cmnds */ | ||
204 | |||
205 | struct work_struct link_work; | ||
206 | struct work_struct frame_work; | ||
207 | struct sk_buff_head frame_queue; | ||
208 | |||
209 | /* copy work queue cache line section */ | ||
210 | ____cacheline_aligned struct vnic_wq_copy wq_copy[FNIC_WQ_COPY_MAX]; | ||
211 | /* completion queue cache line section */ | ||
212 | ____cacheline_aligned struct vnic_cq cq[FNIC_CQ_MAX]; | ||
213 | |||
214 | spinlock_t wq_copy_lock[FNIC_WQ_COPY_MAX]; | ||
215 | |||
216 | /* work queue cache line section */ | ||
217 | ____cacheline_aligned struct vnic_wq wq[FNIC_WQ_MAX]; | ||
218 | spinlock_t wq_lock[FNIC_WQ_MAX]; | ||
219 | |||
220 | /* receive queue cache line section */ | ||
221 | ____cacheline_aligned struct vnic_rq rq[FNIC_RQ_MAX]; | ||
222 | |||
223 | /* interrupt resource cache line section */ | ||
224 | ____cacheline_aligned struct vnic_intr intr[FNIC_MSIX_INTR_MAX]; | ||
225 | }; | ||
226 | |||
227 | extern struct workqueue_struct *fnic_event_queue; | ||
228 | extern struct device_attribute *fnic_attrs[]; | ||
229 | |||
230 | void fnic_clear_intr_mode(struct fnic *fnic); | ||
231 | int fnic_set_intr_mode(struct fnic *fnic); | ||
232 | void fnic_free_intr(struct fnic *fnic); | ||
233 | int fnic_request_intr(struct fnic *fnic); | ||
234 | |||
235 | int fnic_send(struct fc_lport *, struct fc_frame *); | ||
236 | void fnic_free_wq_buf(struct vnic_wq *wq, struct vnic_wq_buf *buf); | ||
237 | void fnic_handle_frame(struct work_struct *work); | ||
238 | void fnic_handle_link(struct work_struct *work); | ||
239 | int fnic_rq_cmpl_handler(struct fnic *fnic, int); | ||
240 | int fnic_alloc_rq_frame(struct vnic_rq *rq); | ||
241 | void fnic_free_rq_buf(struct vnic_rq *rq, struct vnic_rq_buf *buf); | ||
242 | int fnic_send_frame(struct fnic *fnic, struct fc_frame *fp); | ||
243 | |||
244 | int fnic_queuecommand(struct scsi_cmnd *, void (*done)(struct scsi_cmnd *)); | ||
245 | int fnic_abort_cmd(struct scsi_cmnd *); | ||
246 | int fnic_device_reset(struct scsi_cmnd *); | ||
247 | int fnic_host_reset(struct scsi_cmnd *); | ||
248 | int fnic_reset(struct Scsi_Host *); | ||
249 | void fnic_scsi_cleanup(struct fc_lport *); | ||
250 | void fnic_scsi_abort_io(struct fc_lport *); | ||
251 | void fnic_empty_scsi_cleanup(struct fc_lport *); | ||
252 | void fnic_exch_mgr_reset(struct fc_lport *, u32, u32); | ||
253 | int fnic_wq_copy_cmpl_handler(struct fnic *fnic, int); | ||
254 | int fnic_wq_cmpl_handler(struct fnic *fnic, int); | ||
255 | int fnic_flogi_reg_handler(struct fnic *fnic); | ||
256 | void fnic_wq_copy_cleanup_handler(struct vnic_wq_copy *wq, | ||
257 | struct fcpio_host_req *desc); | ||
258 | int fnic_fw_reset_handler(struct fnic *fnic); | ||
259 | void fnic_terminate_rport_io(struct fc_rport *); | ||
260 | const char *fnic_state_to_str(unsigned int state); | ||
261 | |||
262 | void fnic_log_q_error(struct fnic *fnic); | ||
263 | void fnic_handle_link_event(struct fnic *fnic); | ||
264 | |||
265 | #endif /* _FNIC_H_ */ | ||
diff --git a/drivers/scsi/fnic/fnic_attrs.c b/drivers/scsi/fnic/fnic_attrs.c new file mode 100644 index 000000000000..aea0c3becfd4 --- /dev/null +++ b/drivers/scsi/fnic/fnic_attrs.c | |||
@@ -0,0 +1,56 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #include <linux/string.h> | ||
19 | #include <linux/device.h> | ||
20 | #include <scsi/scsi_host.h> | ||
21 | #include "fnic.h" | ||
22 | |||
23 | static ssize_t fnic_show_state(struct device *dev, | ||
24 | struct device_attribute *attr, char *buf) | ||
25 | { | ||
26 | struct fc_lport *lp = shost_priv(class_to_shost(dev)); | ||
27 | struct fnic *fnic = lport_priv(lp); | ||
28 | |||
29 | return snprintf(buf, PAGE_SIZE, "%s\n", fnic_state_str[fnic->state]); | ||
30 | } | ||
31 | |||
32 | static ssize_t fnic_show_drv_version(struct device *dev, | ||
33 | struct device_attribute *attr, char *buf) | ||
34 | { | ||
35 | return snprintf(buf, PAGE_SIZE, "%s\n", DRV_VERSION); | ||
36 | } | ||
37 | |||
38 | static ssize_t fnic_show_link_state(struct device *dev, | ||
39 | struct device_attribute *attr, char *buf) | ||
40 | { | ||
41 | struct fc_lport *lp = shost_priv(class_to_shost(dev)); | ||
42 | |||
43 | return snprintf(buf, PAGE_SIZE, "%s\n", (lp->link_up) | ||
44 | ? "Link Up" : "Link Down"); | ||
45 | } | ||
46 | |||
47 | static DEVICE_ATTR(fnic_state, S_IRUGO, fnic_show_state, NULL); | ||
48 | static DEVICE_ATTR(drv_version, S_IRUGO, fnic_show_drv_version, NULL); | ||
49 | static DEVICE_ATTR(link_state, S_IRUGO, fnic_show_link_state, NULL); | ||
50 | |||
51 | struct device_attribute *fnic_attrs[] = { | ||
52 | &dev_attr_fnic_state, | ||
53 | &dev_attr_drv_version, | ||
54 | &dev_attr_link_state, | ||
55 | NULL, | ||
56 | }; | ||
diff --git a/drivers/scsi/fnic/fnic_fcs.c b/drivers/scsi/fnic/fnic_fcs.c new file mode 100644 index 000000000000..07e6eedb83ce --- /dev/null +++ b/drivers/scsi/fnic/fnic_fcs.c | |||
@@ -0,0 +1,742 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #include <linux/errno.h> | ||
19 | #include <linux/pci.h> | ||
20 | #include <linux/skbuff.h> | ||
21 | #include <linux/interrupt.h> | ||
22 | #include <linux/spinlock.h> | ||
23 | #include <linux/if_ether.h> | ||
24 | #include <linux/if_vlan.h> | ||
25 | #include <linux/workqueue.h> | ||
26 | #include <scsi/fc/fc_els.h> | ||
27 | #include <scsi/fc/fc_fcoe.h> | ||
28 | #include <scsi/fc_frame.h> | ||
29 | #include <scsi/libfc.h> | ||
30 | #include "fnic_io.h" | ||
31 | #include "fnic.h" | ||
32 | #include "cq_enet_desc.h" | ||
33 | #include "cq_exch_desc.h" | ||
34 | |||
35 | struct workqueue_struct *fnic_event_queue; | ||
36 | |||
37 | void fnic_handle_link(struct work_struct *work) | ||
38 | { | ||
39 | struct fnic *fnic = container_of(work, struct fnic, link_work); | ||
40 | unsigned long flags; | ||
41 | int old_link_status; | ||
42 | u32 old_link_down_cnt; | ||
43 | |||
44 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
45 | |||
46 | if (fnic->stop_rx_link_events) { | ||
47 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
48 | return; | ||
49 | } | ||
50 | |||
51 | old_link_down_cnt = fnic->link_down_cnt; | ||
52 | old_link_status = fnic->link_status; | ||
53 | fnic->link_status = vnic_dev_link_status(fnic->vdev); | ||
54 | fnic->link_down_cnt = vnic_dev_link_down_cnt(fnic->vdev); | ||
55 | |||
56 | if (old_link_status == fnic->link_status) { | ||
57 | if (!fnic->link_status) | ||
58 | /* DOWN -> DOWN */ | ||
59 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
60 | else { | ||
61 | if (old_link_down_cnt != fnic->link_down_cnt) { | ||
62 | /* UP -> DOWN -> UP */ | ||
63 | fnic->lport->host_stats.link_failure_count++; | ||
64 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
65 | FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, | ||
66 | "link down\n"); | ||
67 | fc_linkdown(fnic->lport); | ||
68 | FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, | ||
69 | "link up\n"); | ||
70 | fc_linkup(fnic->lport); | ||
71 | } else | ||
72 | /* UP -> UP */ | ||
73 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
74 | } | ||
75 | } else if (fnic->link_status) { | ||
76 | /* DOWN -> UP */ | ||
77 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
78 | FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, "link up\n"); | ||
79 | fc_linkup(fnic->lport); | ||
80 | } else { | ||
81 | /* UP -> DOWN */ | ||
82 | fnic->lport->host_stats.link_failure_count++; | ||
83 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
84 | FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, "link down\n"); | ||
85 | fc_linkdown(fnic->lport); | ||
86 | } | ||
87 | |||
88 | } | ||
89 | |||
90 | /* | ||
91 | * This function passes incoming fabric frames to libFC | ||
92 | */ | ||
93 | void fnic_handle_frame(struct work_struct *work) | ||
94 | { | ||
95 | struct fnic *fnic = container_of(work, struct fnic, frame_work); | ||
96 | struct fc_lport *lp = fnic->lport; | ||
97 | unsigned long flags; | ||
98 | struct sk_buff *skb; | ||
99 | struct fc_frame *fp; | ||
100 | |||
101 | while ((skb = skb_dequeue(&fnic->frame_queue))) { | ||
102 | |||
103 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
104 | if (fnic->stop_rx_link_events) { | ||
105 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
106 | dev_kfree_skb(skb); | ||
107 | return; | ||
108 | } | ||
109 | fp = (struct fc_frame *)skb; | ||
110 | /* if Flogi resp frame, register the address */ | ||
111 | if (fr_flags(fp)) { | ||
112 | vnic_dev_add_addr(fnic->vdev, | ||
113 | fnic->data_src_addr); | ||
114 | fr_flags(fp) = 0; | ||
115 | } | ||
116 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
117 | |||
118 | fc_exch_recv(lp, lp->emp, fp); | ||
119 | } | ||
120 | |||
121 | } | ||
122 | |||
123 | static inline void fnic_import_rq_fc_frame(struct sk_buff *skb, | ||
124 | u32 len, u8 sof, u8 eof) | ||
125 | { | ||
126 | struct fc_frame *fp = (struct fc_frame *)skb; | ||
127 | |||
128 | skb_trim(skb, len); | ||
129 | fr_eof(fp) = eof; | ||
130 | fr_sof(fp) = sof; | ||
131 | } | ||
132 | |||
133 | |||
134 | static inline int fnic_import_rq_eth_pkt(struct sk_buff *skb, u32 len) | ||
135 | { | ||
136 | struct fc_frame *fp; | ||
137 | struct ethhdr *eh; | ||
138 | struct vlan_ethhdr *vh; | ||
139 | struct fcoe_hdr *fcoe_hdr; | ||
140 | struct fcoe_crc_eof *ft; | ||
141 | u32 transport_len = 0; | ||
142 | |||
143 | eh = (struct ethhdr *)skb->data; | ||
144 | vh = (struct vlan_ethhdr *)skb->data; | ||
145 | if (vh->h_vlan_proto == htons(ETH_P_8021Q) && | ||
146 | vh->h_vlan_encapsulated_proto == htons(ETH_P_FCOE)) { | ||
147 | skb_pull(skb, sizeof(struct vlan_ethhdr)); | ||
148 | transport_len += sizeof(struct vlan_ethhdr); | ||
149 | } else if (eh->h_proto == htons(ETH_P_FCOE)) { | ||
150 | transport_len += sizeof(struct ethhdr); | ||
151 | skb_pull(skb, sizeof(struct ethhdr)); | ||
152 | } else | ||
153 | return -1; | ||
154 | |||
155 | fcoe_hdr = (struct fcoe_hdr *)skb->data; | ||
156 | if (FC_FCOE_DECAPS_VER(fcoe_hdr) != FC_FCOE_VER) | ||
157 | return -1; | ||
158 | |||
159 | fp = (struct fc_frame *)skb; | ||
160 | fc_frame_init(fp); | ||
161 | fr_sof(fp) = fcoe_hdr->fcoe_sof; | ||
162 | skb_pull(skb, sizeof(struct fcoe_hdr)); | ||
163 | transport_len += sizeof(struct fcoe_hdr); | ||
164 | |||
165 | ft = (struct fcoe_crc_eof *)(skb->data + len - | ||
166 | transport_len - sizeof(*ft)); | ||
167 | fr_eof(fp) = ft->fcoe_eof; | ||
168 | skb_trim(skb, len - transport_len - sizeof(*ft)); | ||
169 | return 0; | ||
170 | } | ||
171 | |||
172 | static inline int fnic_handle_flogi_resp(struct fnic *fnic, | ||
173 | struct fc_frame *fp) | ||
174 | { | ||
175 | u8 mac[ETH_ALEN] = FC_FCOE_FLOGI_MAC; | ||
176 | struct ethhdr *eth_hdr; | ||
177 | struct fc_frame_header *fh; | ||
178 | int ret = 0; | ||
179 | unsigned long flags; | ||
180 | struct fc_frame *old_flogi_resp = NULL; | ||
181 | |||
182 | fh = (struct fc_frame_header *)fr_hdr(fp); | ||
183 | |||
184 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
185 | |||
186 | if (fnic->state == FNIC_IN_ETH_MODE) { | ||
187 | |||
188 | /* | ||
189 | * Check if oxid matches on taking the lock. A new Flogi | ||
190 | * issued by libFC might have changed the fnic cached oxid | ||
191 | */ | ||
192 | if (fnic->flogi_oxid != ntohs(fh->fh_ox_id)) { | ||
193 | FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, | ||
194 | "Flogi response oxid not" | ||
195 | " matching cached oxid, dropping frame" | ||
196 | "\n"); | ||
197 | ret = -1; | ||
198 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
199 | dev_kfree_skb_irq(fp_skb(fp)); | ||
200 | goto handle_flogi_resp_end; | ||
201 | } | ||
202 | |||
203 | /* Drop older cached flogi response frame, cache this frame */ | ||
204 | old_flogi_resp = fnic->flogi_resp; | ||
205 | fnic->flogi_resp = fp; | ||
206 | fnic->flogi_oxid = FC_XID_UNKNOWN; | ||
207 | |||
208 | /* | ||
209 | * this frame is part of flogi get the src mac addr from this | ||
210 | * frame if the src mac is fcoui based then we mark the | ||
211 | * address mode flag to use fcoui base for dst mac addr | ||
212 | * otherwise we have to store the fcoe gateway addr | ||
213 | */ | ||
214 | eth_hdr = (struct ethhdr *)skb_mac_header(fp_skb(fp)); | ||
215 | memcpy(mac, eth_hdr->h_source, ETH_ALEN); | ||
216 | |||
217 | if (ntoh24(mac) == FC_FCOE_OUI) | ||
218 | fnic->fcoui_mode = 1; | ||
219 | else { | ||
220 | fnic->fcoui_mode = 0; | ||
221 | memcpy(fnic->dest_addr, mac, ETH_ALEN); | ||
222 | } | ||
223 | |||
224 | /* | ||
225 | * Except for Flogi frame, all outbound frames from us have the | ||
226 | * Eth Src address as FC_FCOE_OUI"our_sid". Flogi frame uses | ||
227 | * the vnic MAC address as the Eth Src address | ||
228 | */ | ||
229 | fc_fcoe_set_mac(fnic->data_src_addr, fh->fh_d_id); | ||
230 | |||
231 | /* We get our s_id from the d_id of the flogi resp frame */ | ||
232 | fnic->s_id = ntoh24(fh->fh_d_id); | ||
233 | |||
234 | /* Change state to reflect transition from Eth to FC mode */ | ||
235 | fnic->state = FNIC_IN_ETH_TRANS_FC_MODE; | ||
236 | |||
237 | } else { | ||
238 | FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, | ||
239 | "Unexpected fnic state %s while" | ||
240 | " processing flogi resp\n", | ||
241 | fnic_state_to_str(fnic->state)); | ||
242 | ret = -1; | ||
243 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
244 | dev_kfree_skb_irq(fp_skb(fp)); | ||
245 | goto handle_flogi_resp_end; | ||
246 | } | ||
247 | |||
248 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
249 | |||
250 | /* Drop older cached frame */ | ||
251 | if (old_flogi_resp) | ||
252 | dev_kfree_skb_irq(fp_skb(old_flogi_resp)); | ||
253 | |||
254 | /* | ||
255 | * send flogi reg request to firmware, this will put the fnic in | ||
256 | * in FC mode | ||
257 | */ | ||
258 | ret = fnic_flogi_reg_handler(fnic); | ||
259 | |||
260 | if (ret < 0) { | ||
261 | int free_fp = 1; | ||
262 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
263 | /* | ||
264 | * free the frame is some other thread is not | ||
265 | * pointing to it | ||
266 | */ | ||
267 | if (fnic->flogi_resp != fp) | ||
268 | free_fp = 0; | ||
269 | else | ||
270 | fnic->flogi_resp = NULL; | ||
271 | |||
272 | if (fnic->state == FNIC_IN_ETH_TRANS_FC_MODE) | ||
273 | fnic->state = FNIC_IN_ETH_MODE; | ||
274 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
275 | if (free_fp) | ||
276 | dev_kfree_skb_irq(fp_skb(fp)); | ||
277 | } | ||
278 | |||
279 | handle_flogi_resp_end: | ||
280 | return ret; | ||
281 | } | ||
282 | |||
283 | /* Returns 1 for a response that matches cached flogi oxid */ | ||
284 | static inline int is_matching_flogi_resp_frame(struct fnic *fnic, | ||
285 | struct fc_frame *fp) | ||
286 | { | ||
287 | struct fc_frame_header *fh; | ||
288 | int ret = 0; | ||
289 | u32 f_ctl; | ||
290 | |||
291 | fh = fc_frame_header_get(fp); | ||
292 | f_ctl = ntoh24(fh->fh_f_ctl); | ||
293 | |||
294 | if (fnic->flogi_oxid == ntohs(fh->fh_ox_id) && | ||
295 | fh->fh_r_ctl == FC_RCTL_ELS_REP && | ||
296 | (f_ctl & (FC_FC_EX_CTX | FC_FC_SEQ_CTX)) == FC_FC_EX_CTX && | ||
297 | fh->fh_type == FC_TYPE_ELS) | ||
298 | ret = 1; | ||
299 | |||
300 | return ret; | ||
301 | } | ||
302 | |||
303 | static void fnic_rq_cmpl_frame_recv(struct vnic_rq *rq, struct cq_desc | ||
304 | *cq_desc, struct vnic_rq_buf *buf, | ||
305 | int skipped __attribute__((unused)), | ||
306 | void *opaque) | ||
307 | { | ||
308 | struct fnic *fnic = vnic_dev_priv(rq->vdev); | ||
309 | struct sk_buff *skb; | ||
310 | struct fc_frame *fp; | ||
311 | unsigned int eth_hdrs_stripped; | ||
312 | u8 type, color, eop, sop, ingress_port, vlan_stripped; | ||
313 | u8 fcoe = 0, fcoe_sof, fcoe_eof; | ||
314 | u8 fcoe_fc_crc_ok = 1, fcoe_enc_error = 0; | ||
315 | u8 tcp_udp_csum_ok, udp, tcp, ipv4_csum_ok; | ||
316 | u8 ipv6, ipv4, ipv4_fragment, rss_type, csum_not_calc; | ||
317 | u8 fcs_ok = 1, packet_error = 0; | ||
318 | u16 q_number, completed_index, bytes_written = 0, vlan, checksum; | ||
319 | u32 rss_hash; | ||
320 | u16 exchange_id, tmpl; | ||
321 | u8 sof = 0; | ||
322 | u8 eof = 0; | ||
323 | u32 fcp_bytes_written = 0; | ||
324 | unsigned long flags; | ||
325 | |||
326 | pci_unmap_single(fnic->pdev, buf->dma_addr, buf->len, | ||
327 | PCI_DMA_FROMDEVICE); | ||
328 | skb = buf->os_buf; | ||
329 | buf->os_buf = NULL; | ||
330 | |||
331 | cq_desc_dec(cq_desc, &type, &color, &q_number, &completed_index); | ||
332 | if (type == CQ_DESC_TYPE_RQ_FCP) { | ||
333 | cq_fcp_rq_desc_dec((struct cq_fcp_rq_desc *)cq_desc, | ||
334 | &type, &color, &q_number, &completed_index, | ||
335 | &eop, &sop, &fcoe_fc_crc_ok, &exchange_id, | ||
336 | &tmpl, &fcp_bytes_written, &sof, &eof, | ||
337 | &ingress_port, &packet_error, | ||
338 | &fcoe_enc_error, &fcs_ok, &vlan_stripped, | ||
339 | &vlan); | ||
340 | eth_hdrs_stripped = 1; | ||
341 | |||
342 | } else if (type == CQ_DESC_TYPE_RQ_ENET) { | ||
343 | cq_enet_rq_desc_dec((struct cq_enet_rq_desc *)cq_desc, | ||
344 | &type, &color, &q_number, &completed_index, | ||
345 | &ingress_port, &fcoe, &eop, &sop, | ||
346 | &rss_type, &csum_not_calc, &rss_hash, | ||
347 | &bytes_written, &packet_error, | ||
348 | &vlan_stripped, &vlan, &checksum, | ||
349 | &fcoe_sof, &fcoe_fc_crc_ok, | ||
350 | &fcoe_enc_error, &fcoe_eof, | ||
351 | &tcp_udp_csum_ok, &udp, &tcp, | ||
352 | &ipv4_csum_ok, &ipv6, &ipv4, | ||
353 | &ipv4_fragment, &fcs_ok); | ||
354 | eth_hdrs_stripped = 0; | ||
355 | |||
356 | } else { | ||
357 | /* wrong CQ type*/ | ||
358 | shost_printk(KERN_ERR, fnic->lport->host, | ||
359 | "fnic rq_cmpl wrong cq type x%x\n", type); | ||
360 | goto drop; | ||
361 | } | ||
362 | |||
363 | if (!fcs_ok || packet_error || !fcoe_fc_crc_ok || fcoe_enc_error) { | ||
364 | FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, | ||
365 | "fnic rq_cmpl fcoe x%x fcsok x%x" | ||
366 | " pkterr x%x fcoe_fc_crc_ok x%x, fcoe_enc_err" | ||
367 | " x%x\n", | ||
368 | fcoe, fcs_ok, packet_error, | ||
369 | fcoe_fc_crc_ok, fcoe_enc_error); | ||
370 | goto drop; | ||
371 | } | ||
372 | |||
373 | if (eth_hdrs_stripped) | ||
374 | fnic_import_rq_fc_frame(skb, fcp_bytes_written, sof, eof); | ||
375 | else if (fnic_import_rq_eth_pkt(skb, bytes_written)) | ||
376 | goto drop; | ||
377 | |||
378 | fp = (struct fc_frame *)skb; | ||
379 | |||
380 | /* | ||
381 | * If frame is an ELS response that matches the cached FLOGI OX_ID, | ||
382 | * and is accept, issue flogi_reg_request copy wq request to firmware | ||
383 | * to register the S_ID and determine whether FC_OUI mode or GW mode. | ||
384 | */ | ||
385 | if (is_matching_flogi_resp_frame(fnic, fp)) { | ||
386 | if (!eth_hdrs_stripped) { | ||
387 | if (fc_frame_payload_op(fp) == ELS_LS_ACC) { | ||
388 | fnic_handle_flogi_resp(fnic, fp); | ||
389 | return; | ||
390 | } | ||
391 | /* | ||
392 | * Recd. Flogi reject. No point registering | ||
393 | * with fw, but forward to libFC | ||
394 | */ | ||
395 | goto forward; | ||
396 | } | ||
397 | goto drop; | ||
398 | } | ||
399 | if (!eth_hdrs_stripped) | ||
400 | goto drop; | ||
401 | |||
402 | forward: | ||
403 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
404 | if (fnic->stop_rx_link_events) { | ||
405 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
406 | goto drop; | ||
407 | } | ||
408 | /* Use fr_flags to indicate whether succ. flogi resp or not */ | ||
409 | fr_flags(fp) = 0; | ||
410 | fr_dev(fp) = fnic->lport; | ||
411 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
412 | |||
413 | skb_queue_tail(&fnic->frame_queue, skb); | ||
414 | queue_work(fnic_event_queue, &fnic->frame_work); | ||
415 | |||
416 | return; | ||
417 | drop: | ||
418 | dev_kfree_skb_irq(skb); | ||
419 | } | ||
420 | |||
421 | static int fnic_rq_cmpl_handler_cont(struct vnic_dev *vdev, | ||
422 | struct cq_desc *cq_desc, u8 type, | ||
423 | u16 q_number, u16 completed_index, | ||
424 | void *opaque) | ||
425 | { | ||
426 | struct fnic *fnic = vnic_dev_priv(vdev); | ||
427 | |||
428 | vnic_rq_service(&fnic->rq[q_number], cq_desc, completed_index, | ||
429 | VNIC_RQ_RETURN_DESC, fnic_rq_cmpl_frame_recv, | ||
430 | NULL); | ||
431 | return 0; | ||
432 | } | ||
433 | |||
434 | int fnic_rq_cmpl_handler(struct fnic *fnic, int rq_work_to_do) | ||
435 | { | ||
436 | unsigned int tot_rq_work_done = 0, cur_work_done; | ||
437 | unsigned int i; | ||
438 | int err; | ||
439 | |||
440 | for (i = 0; i < fnic->rq_count; i++) { | ||
441 | cur_work_done = vnic_cq_service(&fnic->cq[i], rq_work_to_do, | ||
442 | fnic_rq_cmpl_handler_cont, | ||
443 | NULL); | ||
444 | if (cur_work_done) { | ||
445 | err = vnic_rq_fill(&fnic->rq[i], fnic_alloc_rq_frame); | ||
446 | if (err) | ||
447 | shost_printk(KERN_ERR, fnic->lport->host, | ||
448 | "fnic_alloc_rq_frame cant alloc" | ||
449 | " frame\n"); | ||
450 | } | ||
451 | tot_rq_work_done += cur_work_done; | ||
452 | } | ||
453 | |||
454 | return tot_rq_work_done; | ||
455 | } | ||
456 | |||
457 | /* | ||
458 | * This function is called once at init time to allocate and fill RQ | ||
459 | * buffers. Subsequently, it is called in the interrupt context after RQ | ||
460 | * buffer processing to replenish the buffers in the RQ | ||
461 | */ | ||
462 | int fnic_alloc_rq_frame(struct vnic_rq *rq) | ||
463 | { | ||
464 | struct fnic *fnic = vnic_dev_priv(rq->vdev); | ||
465 | struct sk_buff *skb; | ||
466 | u16 len; | ||
467 | dma_addr_t pa; | ||
468 | |||
469 | len = FC_FRAME_HEADROOM + FC_MAX_FRAME + FC_FRAME_TAILROOM; | ||
470 | skb = dev_alloc_skb(len); | ||
471 | if (!skb) { | ||
472 | FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, | ||
473 | "Unable to allocate RQ sk_buff\n"); | ||
474 | return -ENOMEM; | ||
475 | } | ||
476 | skb_reset_mac_header(skb); | ||
477 | skb_reset_transport_header(skb); | ||
478 | skb_reset_network_header(skb); | ||
479 | skb_put(skb, len); | ||
480 | pa = pci_map_single(fnic->pdev, skb->data, len, PCI_DMA_FROMDEVICE); | ||
481 | fnic_queue_rq_desc(rq, skb, pa, len); | ||
482 | return 0; | ||
483 | } | ||
484 | |||
485 | void fnic_free_rq_buf(struct vnic_rq *rq, struct vnic_rq_buf *buf) | ||
486 | { | ||
487 | struct fc_frame *fp = buf->os_buf; | ||
488 | struct fnic *fnic = vnic_dev_priv(rq->vdev); | ||
489 | |||
490 | pci_unmap_single(fnic->pdev, buf->dma_addr, buf->len, | ||
491 | PCI_DMA_FROMDEVICE); | ||
492 | |||
493 | dev_kfree_skb(fp_skb(fp)); | ||
494 | buf->os_buf = NULL; | ||
495 | } | ||
496 | |||
497 | static inline int is_flogi_frame(struct fc_frame_header *fh) | ||
498 | { | ||
499 | return fh->fh_r_ctl == FC_RCTL_ELS_REQ && *(u8 *)(fh + 1) == ELS_FLOGI; | ||
500 | } | ||
501 | |||
502 | int fnic_send_frame(struct fnic *fnic, struct fc_frame *fp) | ||
503 | { | ||
504 | struct vnic_wq *wq = &fnic->wq[0]; | ||
505 | struct sk_buff *skb; | ||
506 | dma_addr_t pa; | ||
507 | struct ethhdr *eth_hdr; | ||
508 | struct vlan_ethhdr *vlan_hdr; | ||
509 | struct fcoe_hdr *fcoe_hdr; | ||
510 | struct fc_frame_header *fh; | ||
511 | u32 tot_len, eth_hdr_len; | ||
512 | int ret = 0; | ||
513 | unsigned long flags; | ||
514 | |||
515 | fh = fc_frame_header_get(fp); | ||
516 | skb = fp_skb(fp); | ||
517 | |||
518 | if (!fnic->vlan_hw_insert) { | ||
519 | eth_hdr_len = sizeof(*vlan_hdr) + sizeof(*fcoe_hdr); | ||
520 | vlan_hdr = (struct vlan_ethhdr *)skb_push(skb, eth_hdr_len); | ||
521 | eth_hdr = (struct ethhdr *)vlan_hdr; | ||
522 | vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q); | ||
523 | vlan_hdr->h_vlan_encapsulated_proto = htons(ETH_P_FCOE); | ||
524 | vlan_hdr->h_vlan_TCI = htons(fnic->vlan_id); | ||
525 | fcoe_hdr = (struct fcoe_hdr *)(vlan_hdr + 1); | ||
526 | } else { | ||
527 | eth_hdr_len = sizeof(*eth_hdr) + sizeof(*fcoe_hdr); | ||
528 | eth_hdr = (struct ethhdr *)skb_push(skb, eth_hdr_len); | ||
529 | eth_hdr->h_proto = htons(ETH_P_FCOE); | ||
530 | fcoe_hdr = (struct fcoe_hdr *)(eth_hdr + 1); | ||
531 | } | ||
532 | |||
533 | if (is_flogi_frame(fh)) { | ||
534 | fc_fcoe_set_mac(eth_hdr->h_dest, fh->fh_d_id); | ||
535 | memcpy(eth_hdr->h_source, fnic->mac_addr, ETH_ALEN); | ||
536 | } else { | ||
537 | if (fnic->fcoui_mode) | ||
538 | fc_fcoe_set_mac(eth_hdr->h_dest, fh->fh_d_id); | ||
539 | else | ||
540 | memcpy(eth_hdr->h_dest, fnic->dest_addr, ETH_ALEN); | ||
541 | memcpy(eth_hdr->h_source, fnic->data_src_addr, ETH_ALEN); | ||
542 | } | ||
543 | |||
544 | tot_len = skb->len; | ||
545 | BUG_ON(tot_len % 4); | ||
546 | |||
547 | memset(fcoe_hdr, 0, sizeof(*fcoe_hdr)); | ||
548 | fcoe_hdr->fcoe_sof = fr_sof(fp); | ||
549 | if (FC_FCOE_VER) | ||
550 | FC_FCOE_ENCAPS_VER(fcoe_hdr, FC_FCOE_VER); | ||
551 | |||
552 | pa = pci_map_single(fnic->pdev, eth_hdr, tot_len, PCI_DMA_TODEVICE); | ||
553 | |||
554 | spin_lock_irqsave(&fnic->wq_lock[0], flags); | ||
555 | |||
556 | if (!vnic_wq_desc_avail(wq)) { | ||
557 | pci_unmap_single(fnic->pdev, pa, | ||
558 | tot_len, PCI_DMA_TODEVICE); | ||
559 | ret = -1; | ||
560 | goto fnic_send_frame_end; | ||
561 | } | ||
562 | |||
563 | fnic_queue_wq_desc(wq, skb, pa, tot_len, fr_eof(fp), | ||
564 | fnic->vlan_hw_insert, fnic->vlan_id, 1, 1, 1); | ||
565 | fnic_send_frame_end: | ||
566 | spin_unlock_irqrestore(&fnic->wq_lock[0], flags); | ||
567 | |||
568 | if (ret) | ||
569 | dev_kfree_skb_any(fp_skb(fp)); | ||
570 | |||
571 | return ret; | ||
572 | } | ||
573 | |||
574 | /* | ||
575 | * fnic_send | ||
576 | * Routine to send a raw frame | ||
577 | */ | ||
578 | int fnic_send(struct fc_lport *lp, struct fc_frame *fp) | ||
579 | { | ||
580 | struct fnic *fnic = lport_priv(lp); | ||
581 | struct fc_frame_header *fh; | ||
582 | int ret = 0; | ||
583 | enum fnic_state old_state; | ||
584 | unsigned long flags; | ||
585 | struct fc_frame *old_flogi = NULL; | ||
586 | struct fc_frame *old_flogi_resp = NULL; | ||
587 | |||
588 | if (fnic->in_remove) { | ||
589 | dev_kfree_skb(fp_skb(fp)); | ||
590 | ret = -1; | ||
591 | goto fnic_send_end; | ||
592 | } | ||
593 | |||
594 | fh = fc_frame_header_get(fp); | ||
595 | /* if not an Flogi frame, send it out, this is the common case */ | ||
596 | if (!is_flogi_frame(fh)) | ||
597 | return fnic_send_frame(fnic, fp); | ||
598 | |||
599 | /* Flogi frame, now enter the state machine */ | ||
600 | |||
601 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
602 | again: | ||
603 | /* Get any old cached frames, free them after dropping lock */ | ||
604 | old_flogi = fnic->flogi; | ||
605 | fnic->flogi = NULL; | ||
606 | old_flogi_resp = fnic->flogi_resp; | ||
607 | fnic->flogi_resp = NULL; | ||
608 | |||
609 | fnic->flogi_oxid = FC_XID_UNKNOWN; | ||
610 | |||
611 | old_state = fnic->state; | ||
612 | switch (old_state) { | ||
613 | case FNIC_IN_FC_MODE: | ||
614 | case FNIC_IN_ETH_TRANS_FC_MODE: | ||
615 | default: | ||
616 | fnic->state = FNIC_IN_FC_TRANS_ETH_MODE; | ||
617 | vnic_dev_del_addr(fnic->vdev, fnic->data_src_addr); | ||
618 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
619 | |||
620 | if (old_flogi) { | ||
621 | dev_kfree_skb(fp_skb(old_flogi)); | ||
622 | old_flogi = NULL; | ||
623 | } | ||
624 | if (old_flogi_resp) { | ||
625 | dev_kfree_skb(fp_skb(old_flogi_resp)); | ||
626 | old_flogi_resp = NULL; | ||
627 | } | ||
628 | |||
629 | ret = fnic_fw_reset_handler(fnic); | ||
630 | |||
631 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
632 | if (fnic->state != FNIC_IN_FC_TRANS_ETH_MODE) | ||
633 | goto again; | ||
634 | if (ret) { | ||
635 | fnic->state = old_state; | ||
636 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
637 | dev_kfree_skb(fp_skb(fp)); | ||
638 | goto fnic_send_end; | ||
639 | } | ||
640 | old_flogi = fnic->flogi; | ||
641 | fnic->flogi = fp; | ||
642 | fnic->flogi_oxid = ntohs(fh->fh_ox_id); | ||
643 | old_flogi_resp = fnic->flogi_resp; | ||
644 | fnic->flogi_resp = NULL; | ||
645 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
646 | break; | ||
647 | |||
648 | case FNIC_IN_FC_TRANS_ETH_MODE: | ||
649 | /* | ||
650 | * A reset is pending with the firmware. Store the flogi | ||
651 | * and its oxid. The transition out of this state happens | ||
652 | * only when Firmware completes the reset, either with | ||
653 | * success or failed. If success, transition to | ||
654 | * FNIC_IN_ETH_MODE, if fail, then transition to | ||
655 | * FNIC_IN_FC_MODE | ||
656 | */ | ||
657 | fnic->flogi = fp; | ||
658 | fnic->flogi_oxid = ntohs(fh->fh_ox_id); | ||
659 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
660 | break; | ||
661 | |||
662 | case FNIC_IN_ETH_MODE: | ||
663 | /* | ||
664 | * The fw/hw is already in eth mode. Store the oxid, | ||
665 | * and send the flogi frame out. The transition out of this | ||
666 | * state happens only we receive flogi response from the | ||
667 | * network, and the oxid matches the cached oxid when the | ||
668 | * flogi frame was sent out. If they match, then we issue | ||
669 | * a flogi_reg request and transition to state | ||
670 | * FNIC_IN_ETH_TRANS_FC_MODE | ||
671 | */ | ||
672 | fnic->flogi_oxid = ntohs(fh->fh_ox_id); | ||
673 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
674 | ret = fnic_send_frame(fnic, fp); | ||
675 | break; | ||
676 | } | ||
677 | |||
678 | fnic_send_end: | ||
679 | if (old_flogi) | ||
680 | dev_kfree_skb(fp_skb(old_flogi)); | ||
681 | if (old_flogi_resp) | ||
682 | dev_kfree_skb(fp_skb(old_flogi_resp)); | ||
683 | return ret; | ||
684 | } | ||
685 | |||
686 | static void fnic_wq_complete_frame_send(struct vnic_wq *wq, | ||
687 | struct cq_desc *cq_desc, | ||
688 | struct vnic_wq_buf *buf, void *opaque) | ||
689 | { | ||
690 | struct sk_buff *skb = buf->os_buf; | ||
691 | struct fc_frame *fp = (struct fc_frame *)skb; | ||
692 | struct fnic *fnic = vnic_dev_priv(wq->vdev); | ||
693 | |||
694 | pci_unmap_single(fnic->pdev, buf->dma_addr, | ||
695 | buf->len, PCI_DMA_TODEVICE); | ||
696 | dev_kfree_skb_irq(fp_skb(fp)); | ||
697 | buf->os_buf = NULL; | ||
698 | } | ||
699 | |||
700 | static int fnic_wq_cmpl_handler_cont(struct vnic_dev *vdev, | ||
701 | struct cq_desc *cq_desc, u8 type, | ||
702 | u16 q_number, u16 completed_index, | ||
703 | void *opaque) | ||
704 | { | ||
705 | struct fnic *fnic = vnic_dev_priv(vdev); | ||
706 | unsigned long flags; | ||
707 | |||
708 | spin_lock_irqsave(&fnic->wq_lock[q_number], flags); | ||
709 | vnic_wq_service(&fnic->wq[q_number], cq_desc, completed_index, | ||
710 | fnic_wq_complete_frame_send, NULL); | ||
711 | spin_unlock_irqrestore(&fnic->wq_lock[q_number], flags); | ||
712 | |||
713 | return 0; | ||
714 | } | ||
715 | |||
716 | int fnic_wq_cmpl_handler(struct fnic *fnic, int work_to_do) | ||
717 | { | ||
718 | unsigned int wq_work_done = 0; | ||
719 | unsigned int i; | ||
720 | |||
721 | for (i = 0; i < fnic->raw_wq_count; i++) { | ||
722 | wq_work_done += vnic_cq_service(&fnic->cq[fnic->rq_count+i], | ||
723 | work_to_do, | ||
724 | fnic_wq_cmpl_handler_cont, | ||
725 | NULL); | ||
726 | } | ||
727 | |||
728 | return wq_work_done; | ||
729 | } | ||
730 | |||
731 | |||
732 | void fnic_free_wq_buf(struct vnic_wq *wq, struct vnic_wq_buf *buf) | ||
733 | { | ||
734 | struct fc_frame *fp = buf->os_buf; | ||
735 | struct fnic *fnic = vnic_dev_priv(wq->vdev); | ||
736 | |||
737 | pci_unmap_single(fnic->pdev, buf->dma_addr, | ||
738 | buf->len, PCI_DMA_TODEVICE); | ||
739 | |||
740 | dev_kfree_skb(fp_skb(fp)); | ||
741 | buf->os_buf = NULL; | ||
742 | } | ||
diff --git a/drivers/scsi/fnic/fnic_io.h b/drivers/scsi/fnic/fnic_io.h new file mode 100644 index 000000000000..f0b896988cd5 --- /dev/null +++ b/drivers/scsi/fnic/fnic_io.h | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _FNIC_IO_H_ | ||
19 | #define _FNIC_IO_H_ | ||
20 | |||
21 | #include <scsi/fc/fc_fcp.h> | ||
22 | |||
23 | #define FNIC_DFLT_SG_DESC_CNT 32 | ||
24 | #define FNIC_MAX_SG_DESC_CNT 1024 /* Maximum descriptors per sgl */ | ||
25 | #define FNIC_SG_DESC_ALIGN 16 /* Descriptor address alignment */ | ||
26 | |||
27 | struct host_sg_desc { | ||
28 | __le64 addr; | ||
29 | __le32 len; | ||
30 | u32 _resvd; | ||
31 | }; | ||
32 | |||
33 | struct fnic_dflt_sgl_list { | ||
34 | struct host_sg_desc sg_desc[FNIC_DFLT_SG_DESC_CNT]; | ||
35 | }; | ||
36 | |||
37 | struct fnic_sgl_list { | ||
38 | struct host_sg_desc sg_desc[FNIC_MAX_SG_DESC_CNT]; | ||
39 | }; | ||
40 | |||
41 | enum fnic_sgl_list_type { | ||
42 | FNIC_SGL_CACHE_DFLT = 0, /* cache with default size sgl */ | ||
43 | FNIC_SGL_CACHE_MAX, /* cache with max size sgl */ | ||
44 | FNIC_SGL_NUM_CACHES /* number of sgl caches */ | ||
45 | }; | ||
46 | |||
47 | enum fnic_ioreq_state { | ||
48 | FNIC_IOREQ_CMD_PENDING = 0, | ||
49 | FNIC_IOREQ_ABTS_PENDING, | ||
50 | FNIC_IOREQ_ABTS_COMPLETE, | ||
51 | FNIC_IOREQ_CMD_COMPLETE, | ||
52 | }; | ||
53 | |||
54 | struct fnic_io_req { | ||
55 | struct host_sg_desc *sgl_list; /* sgl list */ | ||
56 | void *sgl_list_alloc; /* sgl list address used for free */ | ||
57 | dma_addr_t sense_buf_pa; /* dma address for sense buffer*/ | ||
58 | dma_addr_t sgl_list_pa; /* dma address for sgl list */ | ||
59 | u16 sgl_cnt; | ||
60 | u8 sgl_type; /* device DMA descriptor list type */ | ||
61 | u8 io_completed:1; /* set to 1 when fw completes IO */ | ||
62 | u32 port_id; /* remote port DID */ | ||
63 | struct completion *abts_done; /* completion for abts */ | ||
64 | struct completion *dr_done; /* completion for device reset */ | ||
65 | }; | ||
66 | |||
67 | #endif /* _FNIC_IO_H_ */ | ||
diff --git a/drivers/scsi/fnic/fnic_isr.c b/drivers/scsi/fnic/fnic_isr.c new file mode 100644 index 000000000000..2b3064828aea --- /dev/null +++ b/drivers/scsi/fnic/fnic_isr.c | |||
@@ -0,0 +1,332 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #include <linux/string.h> | ||
19 | #include <linux/errno.h> | ||
20 | #include <linux/pci.h> | ||
21 | #include <linux/interrupt.h> | ||
22 | #include <scsi/libfc.h> | ||
23 | #include <scsi/fc_frame.h> | ||
24 | #include "vnic_dev.h" | ||
25 | #include "vnic_intr.h" | ||
26 | #include "vnic_stats.h" | ||
27 | #include "fnic_io.h" | ||
28 | #include "fnic.h" | ||
29 | |||
30 | static irqreturn_t fnic_isr_legacy(int irq, void *data) | ||
31 | { | ||
32 | struct fnic *fnic = data; | ||
33 | u32 pba; | ||
34 | unsigned long work_done = 0; | ||
35 | |||
36 | pba = vnic_intr_legacy_pba(fnic->legacy_pba); | ||
37 | if (!pba) | ||
38 | return IRQ_NONE; | ||
39 | |||
40 | if (pba & (1 << FNIC_INTX_NOTIFY)) { | ||
41 | vnic_intr_return_all_credits(&fnic->intr[FNIC_INTX_NOTIFY]); | ||
42 | fnic_handle_link_event(fnic); | ||
43 | } | ||
44 | |||
45 | if (pba & (1 << FNIC_INTX_ERR)) { | ||
46 | vnic_intr_return_all_credits(&fnic->intr[FNIC_INTX_ERR]); | ||
47 | fnic_log_q_error(fnic); | ||
48 | } | ||
49 | |||
50 | if (pba & (1 << FNIC_INTX_WQ_RQ_COPYWQ)) { | ||
51 | work_done += fnic_wq_copy_cmpl_handler(fnic, 8); | ||
52 | work_done += fnic_wq_cmpl_handler(fnic, 4); | ||
53 | work_done += fnic_rq_cmpl_handler(fnic, 4); | ||
54 | |||
55 | vnic_intr_return_credits(&fnic->intr[FNIC_INTX_WQ_RQ_COPYWQ], | ||
56 | work_done, | ||
57 | 1 /* unmask intr */, | ||
58 | 1 /* reset intr timer */); | ||
59 | } | ||
60 | |||
61 | return IRQ_HANDLED; | ||
62 | } | ||
63 | |||
64 | static irqreturn_t fnic_isr_msi(int irq, void *data) | ||
65 | { | ||
66 | struct fnic *fnic = data; | ||
67 | unsigned long work_done = 0; | ||
68 | |||
69 | work_done += fnic_wq_copy_cmpl_handler(fnic, 8); | ||
70 | work_done += fnic_wq_cmpl_handler(fnic, 4); | ||
71 | work_done += fnic_rq_cmpl_handler(fnic, 4); | ||
72 | |||
73 | vnic_intr_return_credits(&fnic->intr[0], | ||
74 | work_done, | ||
75 | 1 /* unmask intr */, | ||
76 | 1 /* reset intr timer */); | ||
77 | |||
78 | return IRQ_HANDLED; | ||
79 | } | ||
80 | |||
81 | static irqreturn_t fnic_isr_msix_rq(int irq, void *data) | ||
82 | { | ||
83 | struct fnic *fnic = data; | ||
84 | unsigned long rq_work_done = 0; | ||
85 | |||
86 | rq_work_done = fnic_rq_cmpl_handler(fnic, 4); | ||
87 | vnic_intr_return_credits(&fnic->intr[FNIC_MSIX_RQ], | ||
88 | rq_work_done, | ||
89 | 1 /* unmask intr */, | ||
90 | 1 /* reset intr timer */); | ||
91 | |||
92 | return IRQ_HANDLED; | ||
93 | } | ||
94 | |||
95 | static irqreturn_t fnic_isr_msix_wq(int irq, void *data) | ||
96 | { | ||
97 | struct fnic *fnic = data; | ||
98 | unsigned long wq_work_done = 0; | ||
99 | |||
100 | wq_work_done = fnic_wq_cmpl_handler(fnic, 4); | ||
101 | vnic_intr_return_credits(&fnic->intr[FNIC_MSIX_WQ], | ||
102 | wq_work_done, | ||
103 | 1 /* unmask intr */, | ||
104 | 1 /* reset intr timer */); | ||
105 | return IRQ_HANDLED; | ||
106 | } | ||
107 | |||
108 | static irqreturn_t fnic_isr_msix_wq_copy(int irq, void *data) | ||
109 | { | ||
110 | struct fnic *fnic = data; | ||
111 | unsigned long wq_copy_work_done = 0; | ||
112 | |||
113 | wq_copy_work_done = fnic_wq_copy_cmpl_handler(fnic, 8); | ||
114 | vnic_intr_return_credits(&fnic->intr[FNIC_MSIX_WQ_COPY], | ||
115 | wq_copy_work_done, | ||
116 | 1 /* unmask intr */, | ||
117 | 1 /* reset intr timer */); | ||
118 | return IRQ_HANDLED; | ||
119 | } | ||
120 | |||
121 | static irqreturn_t fnic_isr_msix_err_notify(int irq, void *data) | ||
122 | { | ||
123 | struct fnic *fnic = data; | ||
124 | |||
125 | vnic_intr_return_all_credits(&fnic->intr[FNIC_MSIX_ERR_NOTIFY]); | ||
126 | fnic_log_q_error(fnic); | ||
127 | fnic_handle_link_event(fnic); | ||
128 | |||
129 | return IRQ_HANDLED; | ||
130 | } | ||
131 | |||
132 | void fnic_free_intr(struct fnic *fnic) | ||
133 | { | ||
134 | int i; | ||
135 | |||
136 | switch (vnic_dev_get_intr_mode(fnic->vdev)) { | ||
137 | case VNIC_DEV_INTR_MODE_INTX: | ||
138 | case VNIC_DEV_INTR_MODE_MSI: | ||
139 | free_irq(fnic->pdev->irq, fnic); | ||
140 | break; | ||
141 | |||
142 | case VNIC_DEV_INTR_MODE_MSIX: | ||
143 | for (i = 0; i < ARRAY_SIZE(fnic->msix); i++) | ||
144 | if (fnic->msix[i].requested) | ||
145 | free_irq(fnic->msix_entry[i].vector, | ||
146 | fnic->msix[i].devid); | ||
147 | break; | ||
148 | |||
149 | default: | ||
150 | break; | ||
151 | } | ||
152 | } | ||
153 | |||
154 | int fnic_request_intr(struct fnic *fnic) | ||
155 | { | ||
156 | int err = 0; | ||
157 | int i; | ||
158 | |||
159 | switch (vnic_dev_get_intr_mode(fnic->vdev)) { | ||
160 | |||
161 | case VNIC_DEV_INTR_MODE_INTX: | ||
162 | err = request_irq(fnic->pdev->irq, &fnic_isr_legacy, | ||
163 | IRQF_SHARED, DRV_NAME, fnic); | ||
164 | break; | ||
165 | |||
166 | case VNIC_DEV_INTR_MODE_MSI: | ||
167 | err = request_irq(fnic->pdev->irq, &fnic_isr_msi, | ||
168 | 0, fnic->name, fnic); | ||
169 | break; | ||
170 | |||
171 | case VNIC_DEV_INTR_MODE_MSIX: | ||
172 | |||
173 | sprintf(fnic->msix[FNIC_MSIX_RQ].devname, | ||
174 | "%.11s-fcs-rq", fnic->name); | ||
175 | fnic->msix[FNIC_MSIX_RQ].isr = fnic_isr_msix_rq; | ||
176 | fnic->msix[FNIC_MSIX_RQ].devid = fnic; | ||
177 | |||
178 | sprintf(fnic->msix[FNIC_MSIX_WQ].devname, | ||
179 | "%.11s-fcs-wq", fnic->name); | ||
180 | fnic->msix[FNIC_MSIX_WQ].isr = fnic_isr_msix_wq; | ||
181 | fnic->msix[FNIC_MSIX_WQ].devid = fnic; | ||
182 | |||
183 | sprintf(fnic->msix[FNIC_MSIX_WQ_COPY].devname, | ||
184 | "%.11s-scsi-wq", fnic->name); | ||
185 | fnic->msix[FNIC_MSIX_WQ_COPY].isr = fnic_isr_msix_wq_copy; | ||
186 | fnic->msix[FNIC_MSIX_WQ_COPY].devid = fnic; | ||
187 | |||
188 | sprintf(fnic->msix[FNIC_MSIX_ERR_NOTIFY].devname, | ||
189 | "%.11s-err-notify", fnic->name); | ||
190 | fnic->msix[FNIC_MSIX_ERR_NOTIFY].isr = | ||
191 | fnic_isr_msix_err_notify; | ||
192 | fnic->msix[FNIC_MSIX_ERR_NOTIFY].devid = fnic; | ||
193 | |||
194 | for (i = 0; i < ARRAY_SIZE(fnic->msix); i++) { | ||
195 | err = request_irq(fnic->msix_entry[i].vector, | ||
196 | fnic->msix[i].isr, 0, | ||
197 | fnic->msix[i].devname, | ||
198 | fnic->msix[i].devid); | ||
199 | if (err) { | ||
200 | shost_printk(KERN_ERR, fnic->lport->host, | ||
201 | "MSIX: request_irq" | ||
202 | " failed %d\n", err); | ||
203 | fnic_free_intr(fnic); | ||
204 | break; | ||
205 | } | ||
206 | fnic->msix[i].requested = 1; | ||
207 | } | ||
208 | break; | ||
209 | |||
210 | default: | ||
211 | break; | ||
212 | } | ||
213 | |||
214 | return err; | ||
215 | } | ||
216 | |||
217 | int fnic_set_intr_mode(struct fnic *fnic) | ||
218 | { | ||
219 | unsigned int n = ARRAY_SIZE(fnic->rq); | ||
220 | unsigned int m = ARRAY_SIZE(fnic->wq); | ||
221 | unsigned int o = ARRAY_SIZE(fnic->wq_copy); | ||
222 | unsigned int i; | ||
223 | |||
224 | /* | ||
225 | * Set interrupt mode (INTx, MSI, MSI-X) depending | ||
226 | * system capabilities. | ||
227 | * | ||
228 | * Try MSI-X first | ||
229 | * | ||
230 | * We need n RQs, m WQs, o Copy WQs, n+m+o CQs, and n+m+o+1 INTRs | ||
231 | * (last INTR is used for WQ/RQ errors and notification area) | ||
232 | */ | ||
233 | |||
234 | BUG_ON(ARRAY_SIZE(fnic->msix_entry) < n + m + o + 1); | ||
235 | for (i = 0; i < n + m + o + 1; i++) | ||
236 | fnic->msix_entry[i].entry = i; | ||
237 | |||
238 | if (fnic->rq_count >= n && | ||
239 | fnic->raw_wq_count >= m && | ||
240 | fnic->wq_copy_count >= o && | ||
241 | fnic->cq_count >= n + m + o) { | ||
242 | if (!pci_enable_msix(fnic->pdev, fnic->msix_entry, | ||
243 | n + m + o + 1)) { | ||
244 | fnic->rq_count = n; | ||
245 | fnic->raw_wq_count = m; | ||
246 | fnic->wq_copy_count = o; | ||
247 | fnic->wq_count = m + o; | ||
248 | fnic->cq_count = n + m + o; | ||
249 | fnic->intr_count = n + m + o + 1; | ||
250 | fnic->err_intr_offset = FNIC_MSIX_ERR_NOTIFY; | ||
251 | |||
252 | FNIC_ISR_DBG(KERN_DEBUG, fnic->lport->host, | ||
253 | "Using MSI-X Interrupts\n"); | ||
254 | vnic_dev_set_intr_mode(fnic->vdev, | ||
255 | VNIC_DEV_INTR_MODE_MSIX); | ||
256 | return 0; | ||
257 | } | ||
258 | } | ||
259 | |||
260 | /* | ||
261 | * Next try MSI | ||
262 | * We need 1 RQ, 1 WQ, 1 WQ_COPY, 3 CQs, and 1 INTR | ||
263 | */ | ||
264 | if (fnic->rq_count >= 1 && | ||
265 | fnic->raw_wq_count >= 1 && | ||
266 | fnic->wq_copy_count >= 1 && | ||
267 | fnic->cq_count >= 3 && | ||
268 | fnic->intr_count >= 1 && | ||
269 | !pci_enable_msi(fnic->pdev)) { | ||
270 | |||
271 | fnic->rq_count = 1; | ||
272 | fnic->raw_wq_count = 1; | ||
273 | fnic->wq_copy_count = 1; | ||
274 | fnic->wq_count = 2; | ||
275 | fnic->cq_count = 3; | ||
276 | fnic->intr_count = 1; | ||
277 | fnic->err_intr_offset = 0; | ||
278 | |||
279 | FNIC_ISR_DBG(KERN_DEBUG, fnic->lport->host, | ||
280 | "Using MSI Interrupts\n"); | ||
281 | vnic_dev_set_intr_mode(fnic->vdev, VNIC_DEV_INTR_MODE_MSI); | ||
282 | |||
283 | return 0; | ||
284 | } | ||
285 | |||
286 | /* | ||
287 | * Next try INTx | ||
288 | * We need 1 RQ, 1 WQ, 1 WQ_COPY, 3 CQs, and 3 INTRs | ||
289 | * 1 INTR is used for all 3 queues, 1 INTR for queue errors | ||
290 | * 1 INTR for notification area | ||
291 | */ | ||
292 | |||
293 | if (fnic->rq_count >= 1 && | ||
294 | fnic->raw_wq_count >= 1 && | ||
295 | fnic->wq_copy_count >= 1 && | ||
296 | fnic->cq_count >= 3 && | ||
297 | fnic->intr_count >= 3) { | ||
298 | |||
299 | fnic->rq_count = 1; | ||
300 | fnic->raw_wq_count = 1; | ||
301 | fnic->wq_copy_count = 1; | ||
302 | fnic->cq_count = 3; | ||
303 | fnic->intr_count = 3; | ||
304 | |||
305 | FNIC_ISR_DBG(KERN_DEBUG, fnic->lport->host, | ||
306 | "Using Legacy Interrupts\n"); | ||
307 | vnic_dev_set_intr_mode(fnic->vdev, VNIC_DEV_INTR_MODE_INTX); | ||
308 | |||
309 | return 0; | ||
310 | } | ||
311 | |||
312 | vnic_dev_set_intr_mode(fnic->vdev, VNIC_DEV_INTR_MODE_UNKNOWN); | ||
313 | |||
314 | return -EINVAL; | ||
315 | } | ||
316 | |||
317 | void fnic_clear_intr_mode(struct fnic *fnic) | ||
318 | { | ||
319 | switch (vnic_dev_get_intr_mode(fnic->vdev)) { | ||
320 | case VNIC_DEV_INTR_MODE_MSIX: | ||
321 | pci_disable_msix(fnic->pdev); | ||
322 | break; | ||
323 | case VNIC_DEV_INTR_MODE_MSI: | ||
324 | pci_disable_msi(fnic->pdev); | ||
325 | break; | ||
326 | default: | ||
327 | break; | ||
328 | } | ||
329 | |||
330 | vnic_dev_set_intr_mode(fnic->vdev, VNIC_DEV_INTR_MODE_INTX); | ||
331 | } | ||
332 | |||
diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c new file mode 100644 index 000000000000..32ef6b87d895 --- /dev/null +++ b/drivers/scsi/fnic/fnic_main.c | |||
@@ -0,0 +1,942 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #include <linux/module.h> | ||
19 | #include <linux/mempool.h> | ||
20 | #include <linux/string.h> | ||
21 | #include <linux/errno.h> | ||
22 | #include <linux/init.h> | ||
23 | #include <linux/pci.h> | ||
24 | #include <linux/skbuff.h> | ||
25 | #include <linux/interrupt.h> | ||
26 | #include <linux/spinlock.h> | ||
27 | #include <linux/workqueue.h> | ||
28 | #include <scsi/scsi_host.h> | ||
29 | #include <scsi/scsi_transport.h> | ||
30 | #include <scsi/scsi_transport_fc.h> | ||
31 | #include <scsi/scsi_tcq.h> | ||
32 | #include <scsi/libfc.h> | ||
33 | #include <scsi/fc_frame.h> | ||
34 | |||
35 | #include "vnic_dev.h" | ||
36 | #include "vnic_intr.h" | ||
37 | #include "vnic_stats.h" | ||
38 | #include "fnic_io.h" | ||
39 | #include "fnic.h" | ||
40 | |||
41 | #define PCI_DEVICE_ID_CISCO_FNIC 0x0045 | ||
42 | |||
43 | /* Timer to poll notification area for events. Used for MSI interrupts */ | ||
44 | #define FNIC_NOTIFY_TIMER_PERIOD (2 * HZ) | ||
45 | |||
46 | static struct kmem_cache *fnic_sgl_cache[FNIC_SGL_NUM_CACHES]; | ||
47 | static struct kmem_cache *fnic_io_req_cache; | ||
48 | LIST_HEAD(fnic_list); | ||
49 | DEFINE_SPINLOCK(fnic_list_lock); | ||
50 | |||
51 | /* Supported devices by fnic module */ | ||
52 | static struct pci_device_id fnic_id_table[] = { | ||
53 | { PCI_DEVICE(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_FNIC) }, | ||
54 | { 0, } | ||
55 | }; | ||
56 | |||
57 | MODULE_DESCRIPTION(DRV_DESCRIPTION); | ||
58 | MODULE_AUTHOR("Abhijeet Joglekar <abjoglek@cisco.com>, " | ||
59 | "Joseph R. Eykholt <jeykholt@cisco.com>"); | ||
60 | MODULE_LICENSE("GPL v2"); | ||
61 | MODULE_VERSION(DRV_VERSION); | ||
62 | MODULE_DEVICE_TABLE(pci, fnic_id_table); | ||
63 | |||
64 | unsigned int fnic_log_level; | ||
65 | module_param(fnic_log_level, int, S_IRUGO|S_IWUSR); | ||
66 | MODULE_PARM_DESC(fnic_log_level, "bit mask of fnic logging levels"); | ||
67 | |||
68 | |||
69 | static struct libfc_function_template fnic_transport_template = { | ||
70 | .frame_send = fnic_send, | ||
71 | .fcp_abort_io = fnic_empty_scsi_cleanup, | ||
72 | .fcp_cleanup = fnic_empty_scsi_cleanup, | ||
73 | .exch_mgr_reset = fnic_exch_mgr_reset | ||
74 | }; | ||
75 | |||
76 | static int fnic_slave_alloc(struct scsi_device *sdev) | ||
77 | { | ||
78 | struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); | ||
79 | struct fc_lport *lp = shost_priv(sdev->host); | ||
80 | struct fnic *fnic = lport_priv(lp); | ||
81 | |||
82 | sdev->tagged_supported = 1; | ||
83 | |||
84 | if (!rport || fc_remote_port_chkready(rport)) | ||
85 | return -ENXIO; | ||
86 | |||
87 | scsi_activate_tcq(sdev, FNIC_DFLT_QUEUE_DEPTH); | ||
88 | rport->dev_loss_tmo = fnic->config.port_down_timeout / 1000; | ||
89 | |||
90 | return 0; | ||
91 | } | ||
92 | |||
93 | static struct scsi_host_template fnic_host_template = { | ||
94 | .module = THIS_MODULE, | ||
95 | .name = DRV_NAME, | ||
96 | .queuecommand = fnic_queuecommand, | ||
97 | .eh_abort_handler = fnic_abort_cmd, | ||
98 | .eh_device_reset_handler = fnic_device_reset, | ||
99 | .eh_host_reset_handler = fnic_host_reset, | ||
100 | .slave_alloc = fnic_slave_alloc, | ||
101 | .change_queue_depth = fc_change_queue_depth, | ||
102 | .change_queue_type = fc_change_queue_type, | ||
103 | .this_id = -1, | ||
104 | .cmd_per_lun = 3, | ||
105 | .can_queue = FNIC_MAX_IO_REQ, | ||
106 | .use_clustering = ENABLE_CLUSTERING, | ||
107 | .sg_tablesize = FNIC_MAX_SG_DESC_CNT, | ||
108 | .max_sectors = 0xffff, | ||
109 | .shost_attrs = fnic_attrs, | ||
110 | }; | ||
111 | |||
112 | static void fnic_get_host_speed(struct Scsi_Host *shost); | ||
113 | static struct scsi_transport_template *fnic_fc_transport; | ||
114 | static struct fc_host_statistics *fnic_get_stats(struct Scsi_Host *); | ||
115 | |||
116 | static struct fc_function_template fnic_fc_functions = { | ||
117 | |||
118 | .show_host_node_name = 1, | ||
119 | .show_host_port_name = 1, | ||
120 | .show_host_supported_classes = 1, | ||
121 | .show_host_supported_fc4s = 1, | ||
122 | .show_host_active_fc4s = 1, | ||
123 | .show_host_maxframe_size = 1, | ||
124 | .show_host_port_id = 1, | ||
125 | .show_host_supported_speeds = 1, | ||
126 | .get_host_speed = fnic_get_host_speed, | ||
127 | .show_host_speed = 1, | ||
128 | .show_host_port_type = 1, | ||
129 | .get_host_port_state = fc_get_host_port_state, | ||
130 | .show_host_port_state = 1, | ||
131 | .show_host_symbolic_name = 1, | ||
132 | .show_rport_maxframe_size = 1, | ||
133 | .show_rport_supported_classes = 1, | ||
134 | .show_host_fabric_name = 1, | ||
135 | .show_starget_node_name = 1, | ||
136 | .show_starget_port_name = 1, | ||
137 | .show_starget_port_id = 1, | ||
138 | .show_rport_dev_loss_tmo = 1, | ||
139 | .issue_fc_host_lip = fnic_reset, | ||
140 | .get_fc_host_stats = fnic_get_stats, | ||
141 | .dd_fcrport_size = sizeof(struct fc_rport_libfc_priv), | ||
142 | .terminate_rport_io = fnic_terminate_rport_io, | ||
143 | }; | ||
144 | |||
145 | static void fnic_get_host_speed(struct Scsi_Host *shost) | ||
146 | { | ||
147 | struct fc_lport *lp = shost_priv(shost); | ||
148 | struct fnic *fnic = lport_priv(lp); | ||
149 | u32 port_speed = vnic_dev_port_speed(fnic->vdev); | ||
150 | |||
151 | /* Add in other values as they get defined in fw */ | ||
152 | switch (port_speed) { | ||
153 | case 10000: | ||
154 | fc_host_speed(shost) = FC_PORTSPEED_10GBIT; | ||
155 | break; | ||
156 | default: | ||
157 | fc_host_speed(shost) = FC_PORTSPEED_10GBIT; | ||
158 | break; | ||
159 | } | ||
160 | } | ||
161 | |||
162 | static struct fc_host_statistics *fnic_get_stats(struct Scsi_Host *host) | ||
163 | { | ||
164 | int ret; | ||
165 | struct fc_lport *lp = shost_priv(host); | ||
166 | struct fnic *fnic = lport_priv(lp); | ||
167 | struct fc_host_statistics *stats = &lp->host_stats; | ||
168 | struct vnic_stats *vs; | ||
169 | unsigned long flags; | ||
170 | |||
171 | if (time_before(jiffies, fnic->stats_time + HZ / FNIC_STATS_RATE_LIMIT)) | ||
172 | return stats; | ||
173 | fnic->stats_time = jiffies; | ||
174 | |||
175 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
176 | ret = vnic_dev_stats_dump(fnic->vdev, &fnic->stats); | ||
177 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
178 | |||
179 | if (ret) { | ||
180 | FNIC_MAIN_DBG(KERN_DEBUG, fnic->lport->host, | ||
181 | "fnic: Get vnic stats failed" | ||
182 | " 0x%x", ret); | ||
183 | return stats; | ||
184 | } | ||
185 | vs = fnic->stats; | ||
186 | stats->tx_frames = vs->tx.tx_unicast_frames_ok; | ||
187 | stats->tx_words = vs->tx.tx_unicast_bytes_ok / 4; | ||
188 | stats->rx_frames = vs->rx.rx_unicast_frames_ok; | ||
189 | stats->rx_words = vs->rx.rx_unicast_bytes_ok / 4; | ||
190 | stats->error_frames = vs->tx.tx_errors + vs->rx.rx_errors; | ||
191 | stats->dumped_frames = vs->tx.tx_drops + vs->rx.rx_drop; | ||
192 | stats->invalid_crc_count = vs->rx.rx_crc_errors; | ||
193 | stats->seconds_since_last_reset = (jiffies - lp->boot_time) / HZ; | ||
194 | stats->fcp_input_megabytes = div_u64(fnic->fcp_input_bytes, 1000000); | ||
195 | stats->fcp_output_megabytes = div_u64(fnic->fcp_output_bytes, 1000000); | ||
196 | |||
197 | return stats; | ||
198 | } | ||
199 | |||
200 | void fnic_log_q_error(struct fnic *fnic) | ||
201 | { | ||
202 | unsigned int i; | ||
203 | u32 error_status; | ||
204 | |||
205 | for (i = 0; i < fnic->raw_wq_count; i++) { | ||
206 | error_status = ioread32(&fnic->wq[i].ctrl->error_status); | ||
207 | if (error_status) | ||
208 | shost_printk(KERN_ERR, fnic->lport->host, | ||
209 | "WQ[%d] error_status" | ||
210 | " %d\n", i, error_status); | ||
211 | } | ||
212 | |||
213 | for (i = 0; i < fnic->rq_count; i++) { | ||
214 | error_status = ioread32(&fnic->rq[i].ctrl->error_status); | ||
215 | if (error_status) | ||
216 | shost_printk(KERN_ERR, fnic->lport->host, | ||
217 | "RQ[%d] error_status" | ||
218 | " %d\n", i, error_status); | ||
219 | } | ||
220 | |||
221 | for (i = 0; i < fnic->wq_copy_count; i++) { | ||
222 | error_status = ioread32(&fnic->wq_copy[i].ctrl->error_status); | ||
223 | if (error_status) | ||
224 | shost_printk(KERN_ERR, fnic->lport->host, | ||
225 | "CWQ[%d] error_status" | ||
226 | " %d\n", i, error_status); | ||
227 | } | ||
228 | } | ||
229 | |||
230 | void fnic_handle_link_event(struct fnic *fnic) | ||
231 | { | ||
232 | unsigned long flags; | ||
233 | |||
234 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
235 | if (fnic->stop_rx_link_events) { | ||
236 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
237 | return; | ||
238 | } | ||
239 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
240 | |||
241 | queue_work(fnic_event_queue, &fnic->link_work); | ||
242 | |||
243 | } | ||
244 | |||
245 | static int fnic_notify_set(struct fnic *fnic) | ||
246 | { | ||
247 | int err; | ||
248 | |||
249 | switch (vnic_dev_get_intr_mode(fnic->vdev)) { | ||
250 | case VNIC_DEV_INTR_MODE_INTX: | ||
251 | err = vnic_dev_notify_set(fnic->vdev, FNIC_INTX_NOTIFY); | ||
252 | break; | ||
253 | case VNIC_DEV_INTR_MODE_MSI: | ||
254 | err = vnic_dev_notify_set(fnic->vdev, -1); | ||
255 | break; | ||
256 | case VNIC_DEV_INTR_MODE_MSIX: | ||
257 | err = vnic_dev_notify_set(fnic->vdev, FNIC_MSIX_ERR_NOTIFY); | ||
258 | break; | ||
259 | default: | ||
260 | shost_printk(KERN_ERR, fnic->lport->host, | ||
261 | "Interrupt mode should be set up" | ||
262 | " before devcmd notify set %d\n", | ||
263 | vnic_dev_get_intr_mode(fnic->vdev)); | ||
264 | err = -1; | ||
265 | break; | ||
266 | } | ||
267 | |||
268 | return err; | ||
269 | } | ||
270 | |||
271 | static void fnic_notify_timer(unsigned long data) | ||
272 | { | ||
273 | struct fnic *fnic = (struct fnic *)data; | ||
274 | |||
275 | fnic_handle_link_event(fnic); | ||
276 | mod_timer(&fnic->notify_timer, | ||
277 | round_jiffies(jiffies + FNIC_NOTIFY_TIMER_PERIOD)); | ||
278 | } | ||
279 | |||
280 | static void fnic_notify_timer_start(struct fnic *fnic) | ||
281 | { | ||
282 | switch (vnic_dev_get_intr_mode(fnic->vdev)) { | ||
283 | case VNIC_DEV_INTR_MODE_MSI: | ||
284 | /* | ||
285 | * Schedule first timeout immediately. The driver is | ||
286 | * initiatialized and ready to look for link up notification | ||
287 | */ | ||
288 | mod_timer(&fnic->notify_timer, jiffies); | ||
289 | break; | ||
290 | default: | ||
291 | /* Using intr for notification for INTx/MSI-X */ | ||
292 | break; | ||
293 | }; | ||
294 | } | ||
295 | |||
296 | static int fnic_dev_wait(struct vnic_dev *vdev, | ||
297 | int (*start)(struct vnic_dev *, int), | ||
298 | int (*finished)(struct vnic_dev *, int *), | ||
299 | int arg) | ||
300 | { | ||
301 | unsigned long time; | ||
302 | int done; | ||
303 | int err; | ||
304 | |||
305 | err = start(vdev, arg); | ||
306 | if (err) | ||
307 | return err; | ||
308 | |||
309 | /* Wait for func to complete...2 seconds max */ | ||
310 | time = jiffies + (HZ * 2); | ||
311 | do { | ||
312 | err = finished(vdev, &done); | ||
313 | if (err) | ||
314 | return err; | ||
315 | if (done) | ||
316 | return 0; | ||
317 | schedule_timeout_uninterruptible(HZ / 10); | ||
318 | } while (time_after(time, jiffies)); | ||
319 | |||
320 | return -ETIMEDOUT; | ||
321 | } | ||
322 | |||
323 | static int fnic_cleanup(struct fnic *fnic) | ||
324 | { | ||
325 | unsigned int i; | ||
326 | int err; | ||
327 | unsigned long flags; | ||
328 | struct fc_frame *flogi = NULL; | ||
329 | struct fc_frame *flogi_resp = NULL; | ||
330 | |||
331 | vnic_dev_disable(fnic->vdev); | ||
332 | for (i = 0; i < fnic->intr_count; i++) | ||
333 | vnic_intr_mask(&fnic->intr[i]); | ||
334 | |||
335 | for (i = 0; i < fnic->rq_count; i++) { | ||
336 | err = vnic_rq_disable(&fnic->rq[i]); | ||
337 | if (err) | ||
338 | return err; | ||
339 | } | ||
340 | for (i = 0; i < fnic->raw_wq_count; i++) { | ||
341 | err = vnic_wq_disable(&fnic->wq[i]); | ||
342 | if (err) | ||
343 | return err; | ||
344 | } | ||
345 | for (i = 0; i < fnic->wq_copy_count; i++) { | ||
346 | err = vnic_wq_copy_disable(&fnic->wq_copy[i]); | ||
347 | if (err) | ||
348 | return err; | ||
349 | } | ||
350 | |||
351 | /* Clean up completed IOs and FCS frames */ | ||
352 | fnic_wq_copy_cmpl_handler(fnic, -1); | ||
353 | fnic_wq_cmpl_handler(fnic, -1); | ||
354 | fnic_rq_cmpl_handler(fnic, -1); | ||
355 | |||
356 | /* Clean up the IOs and FCS frames that have not completed */ | ||
357 | for (i = 0; i < fnic->raw_wq_count; i++) | ||
358 | vnic_wq_clean(&fnic->wq[i], fnic_free_wq_buf); | ||
359 | for (i = 0; i < fnic->rq_count; i++) | ||
360 | vnic_rq_clean(&fnic->rq[i], fnic_free_rq_buf); | ||
361 | for (i = 0; i < fnic->wq_copy_count; i++) | ||
362 | vnic_wq_copy_clean(&fnic->wq_copy[i], | ||
363 | fnic_wq_copy_cleanup_handler); | ||
364 | |||
365 | for (i = 0; i < fnic->cq_count; i++) | ||
366 | vnic_cq_clean(&fnic->cq[i]); | ||
367 | for (i = 0; i < fnic->intr_count; i++) | ||
368 | vnic_intr_clean(&fnic->intr[i]); | ||
369 | |||
370 | /* | ||
371 | * Remove cached flogi and flogi resp frames if any | ||
372 | * These frames are not in any queue, and therefore queue | ||
373 | * cleanup does not clean them. So clean them explicitly | ||
374 | */ | ||
375 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
376 | flogi = fnic->flogi; | ||
377 | fnic->flogi = NULL; | ||
378 | flogi_resp = fnic->flogi_resp; | ||
379 | fnic->flogi_resp = NULL; | ||
380 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
381 | |||
382 | if (flogi) | ||
383 | dev_kfree_skb(fp_skb(flogi)); | ||
384 | |||
385 | if (flogi_resp) | ||
386 | dev_kfree_skb(fp_skb(flogi_resp)); | ||
387 | |||
388 | mempool_destroy(fnic->io_req_pool); | ||
389 | for (i = 0; i < FNIC_SGL_NUM_CACHES; i++) | ||
390 | mempool_destroy(fnic->io_sgl_pool[i]); | ||
391 | |||
392 | return 0; | ||
393 | } | ||
394 | |||
395 | static void fnic_iounmap(struct fnic *fnic) | ||
396 | { | ||
397 | if (fnic->bar0.vaddr) | ||
398 | iounmap(fnic->bar0.vaddr); | ||
399 | } | ||
400 | |||
401 | /* | ||
402 | * Allocate element for mempools requiring GFP_DMA flag. | ||
403 | * Otherwise, checks in kmem_flagcheck() hit BUG_ON(). | ||
404 | */ | ||
405 | static void *fnic_alloc_slab_dma(gfp_t gfp_mask, void *pool_data) | ||
406 | { | ||
407 | struct kmem_cache *mem = pool_data; | ||
408 | |||
409 | return kmem_cache_alloc(mem, gfp_mask | GFP_ATOMIC | GFP_DMA); | ||
410 | } | ||
411 | |||
412 | static int __devinit fnic_probe(struct pci_dev *pdev, | ||
413 | const struct pci_device_id *ent) | ||
414 | { | ||
415 | struct Scsi_Host *host; | ||
416 | struct fc_lport *lp; | ||
417 | struct fnic *fnic; | ||
418 | mempool_t *pool; | ||
419 | int err; | ||
420 | int i; | ||
421 | unsigned long flags; | ||
422 | |||
423 | /* | ||
424 | * Allocate SCSI Host and set up association between host, | ||
425 | * local port, and fnic | ||
426 | */ | ||
427 | host = scsi_host_alloc(&fnic_host_template, | ||
428 | sizeof(struct fc_lport) + sizeof(struct fnic)); | ||
429 | if (!host) { | ||
430 | printk(KERN_ERR PFX "Unable to alloc SCSI host\n"); | ||
431 | err = -ENOMEM; | ||
432 | goto err_out; | ||
433 | } | ||
434 | lp = shost_priv(host); | ||
435 | lp->host = host; | ||
436 | fnic = lport_priv(lp); | ||
437 | fnic->lport = lp; | ||
438 | |||
439 | snprintf(fnic->name, sizeof(fnic->name) - 1, "%s%d", DRV_NAME, | ||
440 | host->host_no); | ||
441 | |||
442 | host->transportt = fnic_fc_transport; | ||
443 | |||
444 | err = scsi_init_shared_tag_map(host, FNIC_MAX_IO_REQ); | ||
445 | if (err) { | ||
446 | shost_printk(KERN_ERR, fnic->lport->host, | ||
447 | "Unable to alloc shared tag map\n"); | ||
448 | goto err_out_free_hba; | ||
449 | } | ||
450 | |||
451 | /* Setup PCI resources */ | ||
452 | pci_set_drvdata(pdev, fnic); | ||
453 | |||
454 | fnic->pdev = pdev; | ||
455 | |||
456 | err = pci_enable_device(pdev); | ||
457 | if (err) { | ||
458 | shost_printk(KERN_ERR, fnic->lport->host, | ||
459 | "Cannot enable PCI device, aborting.\n"); | ||
460 | goto err_out_free_hba; | ||
461 | } | ||
462 | |||
463 | err = pci_request_regions(pdev, DRV_NAME); | ||
464 | if (err) { | ||
465 | shost_printk(KERN_ERR, fnic->lport->host, | ||
466 | "Cannot enable PCI resources, aborting\n"); | ||
467 | goto err_out_disable_device; | ||
468 | } | ||
469 | |||
470 | pci_set_master(pdev); | ||
471 | |||
472 | /* Query PCI controller on system for DMA addressing | ||
473 | * limitation for the device. Try 40-bit first, and | ||
474 | * fail to 32-bit. | ||
475 | */ | ||
476 | err = pci_set_dma_mask(pdev, DMA_40BIT_MASK); | ||
477 | if (err) { | ||
478 | err = pci_set_dma_mask(pdev, DMA_32BIT_MASK); | ||
479 | if (err) { | ||
480 | shost_printk(KERN_ERR, fnic->lport->host, | ||
481 | "No usable DMA configuration " | ||
482 | "aborting\n"); | ||
483 | goto err_out_release_regions; | ||
484 | } | ||
485 | err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK); | ||
486 | if (err) { | ||
487 | shost_printk(KERN_ERR, fnic->lport->host, | ||
488 | "Unable to obtain 32-bit DMA " | ||
489 | "for consistent allocations, aborting.\n"); | ||
490 | goto err_out_release_regions; | ||
491 | } | ||
492 | } else { | ||
493 | err = pci_set_consistent_dma_mask(pdev, DMA_40BIT_MASK); | ||
494 | if (err) { | ||
495 | shost_printk(KERN_ERR, fnic->lport->host, | ||
496 | "Unable to obtain 40-bit DMA " | ||
497 | "for consistent allocations, aborting.\n"); | ||
498 | goto err_out_release_regions; | ||
499 | } | ||
500 | } | ||
501 | |||
502 | /* Map vNIC resources from BAR0 */ | ||
503 | if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM)) { | ||
504 | shost_printk(KERN_ERR, fnic->lport->host, | ||
505 | "BAR0 not memory-map'able, aborting.\n"); | ||
506 | err = -ENODEV; | ||
507 | goto err_out_release_regions; | ||
508 | } | ||
509 | |||
510 | fnic->bar0.vaddr = pci_iomap(pdev, 0, 0); | ||
511 | fnic->bar0.bus_addr = pci_resource_start(pdev, 0); | ||
512 | fnic->bar0.len = pci_resource_len(pdev, 0); | ||
513 | |||
514 | if (!fnic->bar0.vaddr) { | ||
515 | shost_printk(KERN_ERR, fnic->lport->host, | ||
516 | "Cannot memory-map BAR0 res hdr, " | ||
517 | "aborting.\n"); | ||
518 | err = -ENODEV; | ||
519 | goto err_out_release_regions; | ||
520 | } | ||
521 | |||
522 | fnic->vdev = vnic_dev_register(NULL, fnic, pdev, &fnic->bar0); | ||
523 | if (!fnic->vdev) { | ||
524 | shost_printk(KERN_ERR, fnic->lport->host, | ||
525 | "vNIC registration failed, " | ||
526 | "aborting.\n"); | ||
527 | err = -ENODEV; | ||
528 | goto err_out_iounmap; | ||
529 | } | ||
530 | |||
531 | err = fnic_dev_wait(fnic->vdev, vnic_dev_open, | ||
532 | vnic_dev_open_done, 0); | ||
533 | if (err) { | ||
534 | shost_printk(KERN_ERR, fnic->lport->host, | ||
535 | "vNIC dev open failed, aborting.\n"); | ||
536 | goto err_out_vnic_unregister; | ||
537 | } | ||
538 | |||
539 | err = vnic_dev_init(fnic->vdev, 0); | ||
540 | if (err) { | ||
541 | shost_printk(KERN_ERR, fnic->lport->host, | ||
542 | "vNIC dev init failed, aborting.\n"); | ||
543 | goto err_out_dev_close; | ||
544 | } | ||
545 | |||
546 | err = vnic_dev_mac_addr(fnic->vdev, fnic->mac_addr); | ||
547 | if (err) { | ||
548 | shost_printk(KERN_ERR, fnic->lport->host, | ||
549 | "vNIC get MAC addr failed \n"); | ||
550 | goto err_out_dev_close; | ||
551 | } | ||
552 | |||
553 | /* Get vNIC configuration */ | ||
554 | err = fnic_get_vnic_config(fnic); | ||
555 | if (err) { | ||
556 | shost_printk(KERN_ERR, fnic->lport->host, | ||
557 | "Get vNIC configuration failed, " | ||
558 | "aborting.\n"); | ||
559 | goto err_out_dev_close; | ||
560 | } | ||
561 | host->max_lun = fnic->config.luns_per_tgt; | ||
562 | host->max_id = FNIC_MAX_FCP_TARGET; | ||
563 | |||
564 | fnic_get_res_counts(fnic); | ||
565 | |||
566 | err = fnic_set_intr_mode(fnic); | ||
567 | if (err) { | ||
568 | shost_printk(KERN_ERR, fnic->lport->host, | ||
569 | "Failed to set intr mode, " | ||
570 | "aborting.\n"); | ||
571 | goto err_out_dev_close; | ||
572 | } | ||
573 | |||
574 | err = fnic_request_intr(fnic); | ||
575 | if (err) { | ||
576 | shost_printk(KERN_ERR, fnic->lport->host, | ||
577 | "Unable to request irq.\n"); | ||
578 | goto err_out_clear_intr; | ||
579 | } | ||
580 | |||
581 | err = fnic_alloc_vnic_resources(fnic); | ||
582 | if (err) { | ||
583 | shost_printk(KERN_ERR, fnic->lport->host, | ||
584 | "Failed to alloc vNIC resources, " | ||
585 | "aborting.\n"); | ||
586 | goto err_out_free_intr; | ||
587 | } | ||
588 | |||
589 | |||
590 | /* initialize all fnic locks */ | ||
591 | spin_lock_init(&fnic->fnic_lock); | ||
592 | |||
593 | for (i = 0; i < FNIC_WQ_MAX; i++) | ||
594 | spin_lock_init(&fnic->wq_lock[i]); | ||
595 | |||
596 | for (i = 0; i < FNIC_WQ_COPY_MAX; i++) { | ||
597 | spin_lock_init(&fnic->wq_copy_lock[i]); | ||
598 | fnic->wq_copy_desc_low[i] = DESC_CLEAN_LOW_WATERMARK; | ||
599 | fnic->fw_ack_recd[i] = 0; | ||
600 | fnic->fw_ack_index[i] = -1; | ||
601 | } | ||
602 | |||
603 | for (i = 0; i < FNIC_IO_LOCKS; i++) | ||
604 | spin_lock_init(&fnic->io_req_lock[i]); | ||
605 | |||
606 | fnic->io_req_pool = mempool_create_slab_pool(2, fnic_io_req_cache); | ||
607 | if (!fnic->io_req_pool) | ||
608 | goto err_out_free_resources; | ||
609 | |||
610 | pool = mempool_create(2, fnic_alloc_slab_dma, mempool_free_slab, | ||
611 | fnic_sgl_cache[FNIC_SGL_CACHE_DFLT]); | ||
612 | if (!pool) | ||
613 | goto err_out_free_ioreq_pool; | ||
614 | fnic->io_sgl_pool[FNIC_SGL_CACHE_DFLT] = pool; | ||
615 | |||
616 | pool = mempool_create(2, fnic_alloc_slab_dma, mempool_free_slab, | ||
617 | fnic_sgl_cache[FNIC_SGL_CACHE_MAX]); | ||
618 | if (!pool) | ||
619 | goto err_out_free_dflt_pool; | ||
620 | fnic->io_sgl_pool[FNIC_SGL_CACHE_MAX] = pool; | ||
621 | |||
622 | /* setup vlan config, hw inserts vlan header */ | ||
623 | fnic->vlan_hw_insert = 1; | ||
624 | fnic->vlan_id = 0; | ||
625 | |||
626 | fnic->flogi_oxid = FC_XID_UNKNOWN; | ||
627 | fnic->flogi = NULL; | ||
628 | fnic->flogi_resp = NULL; | ||
629 | fnic->state = FNIC_IN_FC_MODE; | ||
630 | |||
631 | /* Enable hardware stripping of vlan header on ingress */ | ||
632 | fnic_set_nic_config(fnic, 0, 0, 0, 0, 0, 0, 1); | ||
633 | |||
634 | /* Setup notification buffer area */ | ||
635 | err = fnic_notify_set(fnic); | ||
636 | if (err) { | ||
637 | shost_printk(KERN_ERR, fnic->lport->host, | ||
638 | "Failed to alloc notify buffer, aborting.\n"); | ||
639 | goto err_out_free_max_pool; | ||
640 | } | ||
641 | |||
642 | /* Setup notify timer when using MSI interrupts */ | ||
643 | if (vnic_dev_get_intr_mode(fnic->vdev) == VNIC_DEV_INTR_MODE_MSI) | ||
644 | setup_timer(&fnic->notify_timer, | ||
645 | fnic_notify_timer, (unsigned long)fnic); | ||
646 | |||
647 | /* allocate RQ buffers and post them to RQ*/ | ||
648 | for (i = 0; i < fnic->rq_count; i++) { | ||
649 | err = vnic_rq_fill(&fnic->rq[i], fnic_alloc_rq_frame); | ||
650 | if (err) { | ||
651 | shost_printk(KERN_ERR, fnic->lport->host, | ||
652 | "fnic_alloc_rq_frame can't alloc " | ||
653 | "frame\n"); | ||
654 | goto err_out_free_rq_buf; | ||
655 | } | ||
656 | } | ||
657 | |||
658 | /* | ||
659 | * Initialization done with PCI system, hardware, firmware. | ||
660 | * Add host to SCSI | ||
661 | */ | ||
662 | err = scsi_add_host(lp->host, &pdev->dev); | ||
663 | if (err) { | ||
664 | shost_printk(KERN_ERR, fnic->lport->host, | ||
665 | "fnic: scsi_add_host failed...exiting\n"); | ||
666 | goto err_out_free_rq_buf; | ||
667 | } | ||
668 | |||
669 | /* Start local port initiatialization */ | ||
670 | |||
671 | lp->link_up = 0; | ||
672 | lp->tt = fnic_transport_template; | ||
673 | |||
674 | lp->emp = fc_exch_mgr_alloc(lp, FC_CLASS_3, | ||
675 | FCPIO_HOST_EXCH_RANGE_START, | ||
676 | FCPIO_HOST_EXCH_RANGE_END); | ||
677 | if (!lp->emp) { | ||
678 | err = -ENOMEM; | ||
679 | goto err_out_remove_scsi_host; | ||
680 | } | ||
681 | |||
682 | lp->max_retry_count = fnic->config.flogi_retries; | ||
683 | lp->service_params = (FCP_SPPF_INIT_FCN | FCP_SPPF_RD_XRDY_DIS | | ||
684 | FCP_SPPF_CONF_COMPL); | ||
685 | if (fnic->config.flags & VFCF_FCP_SEQ_LVL_ERR) | ||
686 | lp->service_params |= FCP_SPPF_RETRY; | ||
687 | |||
688 | lp->boot_time = jiffies; | ||
689 | lp->e_d_tov = fnic->config.ed_tov; | ||
690 | lp->r_a_tov = fnic->config.ra_tov; | ||
691 | lp->link_supported_speeds = FC_PORTSPEED_10GBIT; | ||
692 | fc_set_wwnn(lp, fnic->config.node_wwn); | ||
693 | fc_set_wwpn(lp, fnic->config.port_wwn); | ||
694 | |||
695 | fc_exch_init(lp); | ||
696 | fc_lport_init(lp); | ||
697 | fc_elsct_init(lp); | ||
698 | fc_rport_init(lp); | ||
699 | fc_disc_init(lp); | ||
700 | |||
701 | fc_lport_config(lp); | ||
702 | |||
703 | if (fc_set_mfs(lp, fnic->config.maxdatafieldsize + | ||
704 | sizeof(struct fc_frame_header))) { | ||
705 | err = -EINVAL; | ||
706 | goto err_out_free_exch_mgr; | ||
707 | } | ||
708 | fc_host_maxframe_size(lp->host) = lp->mfs; | ||
709 | |||
710 | sprintf(fc_host_symbolic_name(lp->host), | ||
711 | DRV_NAME " v" DRV_VERSION " over %s", fnic->name); | ||
712 | |||
713 | spin_lock_irqsave(&fnic_list_lock, flags); | ||
714 | list_add_tail(&fnic->list, &fnic_list); | ||
715 | spin_unlock_irqrestore(&fnic_list_lock, flags); | ||
716 | |||
717 | INIT_WORK(&fnic->link_work, fnic_handle_link); | ||
718 | INIT_WORK(&fnic->frame_work, fnic_handle_frame); | ||
719 | skb_queue_head_init(&fnic->frame_queue); | ||
720 | |||
721 | /* Enable all queues */ | ||
722 | for (i = 0; i < fnic->raw_wq_count; i++) | ||
723 | vnic_wq_enable(&fnic->wq[i]); | ||
724 | for (i = 0; i < fnic->rq_count; i++) | ||
725 | vnic_rq_enable(&fnic->rq[i]); | ||
726 | for (i = 0; i < fnic->wq_copy_count; i++) | ||
727 | vnic_wq_copy_enable(&fnic->wq_copy[i]); | ||
728 | |||
729 | fc_fabric_login(lp); | ||
730 | |||
731 | vnic_dev_enable(fnic->vdev); | ||
732 | for (i = 0; i < fnic->intr_count; i++) | ||
733 | vnic_intr_unmask(&fnic->intr[i]); | ||
734 | |||
735 | fnic_notify_timer_start(fnic); | ||
736 | |||
737 | return 0; | ||
738 | |||
739 | err_out_free_exch_mgr: | ||
740 | fc_exch_mgr_free(lp->emp); | ||
741 | err_out_remove_scsi_host: | ||
742 | fc_remove_host(fnic->lport->host); | ||
743 | scsi_remove_host(fnic->lport->host); | ||
744 | err_out_free_rq_buf: | ||
745 | for (i = 0; i < fnic->rq_count; i++) | ||
746 | vnic_rq_clean(&fnic->rq[i], fnic_free_rq_buf); | ||
747 | vnic_dev_notify_unset(fnic->vdev); | ||
748 | err_out_free_max_pool: | ||
749 | mempool_destroy(fnic->io_sgl_pool[FNIC_SGL_CACHE_MAX]); | ||
750 | err_out_free_dflt_pool: | ||
751 | mempool_destroy(fnic->io_sgl_pool[FNIC_SGL_CACHE_DFLT]); | ||
752 | err_out_free_ioreq_pool: | ||
753 | mempool_destroy(fnic->io_req_pool); | ||
754 | err_out_free_resources: | ||
755 | fnic_free_vnic_resources(fnic); | ||
756 | err_out_free_intr: | ||
757 | fnic_free_intr(fnic); | ||
758 | err_out_clear_intr: | ||
759 | fnic_clear_intr_mode(fnic); | ||
760 | err_out_dev_close: | ||
761 | vnic_dev_close(fnic->vdev); | ||
762 | err_out_vnic_unregister: | ||
763 | vnic_dev_unregister(fnic->vdev); | ||
764 | err_out_iounmap: | ||
765 | fnic_iounmap(fnic); | ||
766 | err_out_release_regions: | ||
767 | pci_release_regions(pdev); | ||
768 | err_out_disable_device: | ||
769 | pci_disable_device(pdev); | ||
770 | err_out_free_hba: | ||
771 | scsi_host_put(lp->host); | ||
772 | err_out: | ||
773 | return err; | ||
774 | } | ||
775 | |||
776 | static void __devexit fnic_remove(struct pci_dev *pdev) | ||
777 | { | ||
778 | struct fnic *fnic = pci_get_drvdata(pdev); | ||
779 | unsigned long flags; | ||
780 | |||
781 | /* | ||
782 | * Mark state so that the workqueue thread stops forwarding | ||
783 | * received frames and link events to the local port. ISR and | ||
784 | * other threads that can queue work items will also stop | ||
785 | * creating work items on the fnic workqueue | ||
786 | */ | ||
787 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
788 | fnic->stop_rx_link_events = 1; | ||
789 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
790 | |||
791 | if (vnic_dev_get_intr_mode(fnic->vdev) == VNIC_DEV_INTR_MODE_MSI) | ||
792 | del_timer_sync(&fnic->notify_timer); | ||
793 | |||
794 | /* | ||
795 | * Flush the fnic event queue. After this call, there should | ||
796 | * be no event queued for this fnic device in the workqueue | ||
797 | */ | ||
798 | flush_workqueue(fnic_event_queue); | ||
799 | skb_queue_purge(&fnic->frame_queue); | ||
800 | |||
801 | /* | ||
802 | * Log off the fabric. This stops all remote ports, dns port, | ||
803 | * logs off the fabric. This flushes all rport, disc, lport work | ||
804 | * before returning | ||
805 | */ | ||
806 | fc_fabric_logoff(fnic->lport); | ||
807 | |||
808 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
809 | fnic->in_remove = 1; | ||
810 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
811 | |||
812 | fc_lport_destroy(fnic->lport); | ||
813 | |||
814 | /* | ||
815 | * This stops the fnic device, masks all interrupts. Completed | ||
816 | * CQ entries are drained. Posted WQ/RQ/Copy-WQ entries are | ||
817 | * cleaned up | ||
818 | */ | ||
819 | fnic_cleanup(fnic); | ||
820 | |||
821 | BUG_ON(!skb_queue_empty(&fnic->frame_queue)); | ||
822 | |||
823 | spin_lock_irqsave(&fnic_list_lock, flags); | ||
824 | list_del(&fnic->list); | ||
825 | spin_unlock_irqrestore(&fnic_list_lock, flags); | ||
826 | |||
827 | fc_remove_host(fnic->lport->host); | ||
828 | scsi_remove_host(fnic->lport->host); | ||
829 | fc_exch_mgr_free(fnic->lport->emp); | ||
830 | vnic_dev_notify_unset(fnic->vdev); | ||
831 | fnic_free_vnic_resources(fnic); | ||
832 | fnic_free_intr(fnic); | ||
833 | fnic_clear_intr_mode(fnic); | ||
834 | vnic_dev_close(fnic->vdev); | ||
835 | vnic_dev_unregister(fnic->vdev); | ||
836 | fnic_iounmap(fnic); | ||
837 | pci_release_regions(pdev); | ||
838 | pci_disable_device(pdev); | ||
839 | pci_set_drvdata(pdev, NULL); | ||
840 | scsi_host_put(fnic->lport->host); | ||
841 | } | ||
842 | |||
843 | static struct pci_driver fnic_driver = { | ||
844 | .name = DRV_NAME, | ||
845 | .id_table = fnic_id_table, | ||
846 | .probe = fnic_probe, | ||
847 | .remove = __devexit_p(fnic_remove), | ||
848 | }; | ||
849 | |||
850 | static int __init fnic_init_module(void) | ||
851 | { | ||
852 | size_t len; | ||
853 | int err = 0; | ||
854 | |||
855 | printk(KERN_INFO PFX "%s, ver %s\n", DRV_DESCRIPTION, DRV_VERSION); | ||
856 | |||
857 | /* Create a cache for allocation of default size sgls */ | ||
858 | len = sizeof(struct fnic_dflt_sgl_list); | ||
859 | fnic_sgl_cache[FNIC_SGL_CACHE_DFLT] = kmem_cache_create | ||
860 | ("fnic_sgl_dflt", len + FNIC_SG_DESC_ALIGN, FNIC_SG_DESC_ALIGN, | ||
861 | SLAB_HWCACHE_ALIGN | SLAB_CACHE_DMA, | ||
862 | NULL); | ||
863 | if (!fnic_sgl_cache[FNIC_SGL_CACHE_DFLT]) { | ||
864 | printk(KERN_ERR PFX "failed to create fnic dflt sgl slab\n"); | ||
865 | err = -ENOMEM; | ||
866 | goto err_create_fnic_sgl_slab_dflt; | ||
867 | } | ||
868 | |||
869 | /* Create a cache for allocation of max size sgls*/ | ||
870 | len = sizeof(struct fnic_sgl_list); | ||
871 | fnic_sgl_cache[FNIC_SGL_CACHE_MAX] = kmem_cache_create | ||
872 | ("fnic_sgl_max", len + FNIC_SG_DESC_ALIGN, FNIC_SG_DESC_ALIGN, | ||
873 | SLAB_HWCACHE_ALIGN | SLAB_CACHE_DMA, | ||
874 | NULL); | ||
875 | if (!fnic_sgl_cache[FNIC_SGL_CACHE_MAX]) { | ||
876 | printk(KERN_ERR PFX "failed to create fnic max sgl slab\n"); | ||
877 | err = -ENOMEM; | ||
878 | goto err_create_fnic_sgl_slab_max; | ||
879 | } | ||
880 | |||
881 | /* Create a cache of io_req structs for use via mempool */ | ||
882 | fnic_io_req_cache = kmem_cache_create("fnic_io_req", | ||
883 | sizeof(struct fnic_io_req), | ||
884 | 0, SLAB_HWCACHE_ALIGN, NULL); | ||
885 | if (!fnic_io_req_cache) { | ||
886 | printk(KERN_ERR PFX "failed to create fnic io_req slab\n"); | ||
887 | err = -ENOMEM; | ||
888 | goto err_create_fnic_ioreq_slab; | ||
889 | } | ||
890 | |||
891 | fnic_event_queue = create_singlethread_workqueue("fnic_event_wq"); | ||
892 | if (!fnic_event_queue) { | ||
893 | printk(KERN_ERR PFX "fnic work queue create failed\n"); | ||
894 | err = -ENOMEM; | ||
895 | goto err_create_fnic_workq; | ||
896 | } | ||
897 | |||
898 | spin_lock_init(&fnic_list_lock); | ||
899 | INIT_LIST_HEAD(&fnic_list); | ||
900 | |||
901 | fnic_fc_transport = fc_attach_transport(&fnic_fc_functions); | ||
902 | if (!fnic_fc_transport) { | ||
903 | printk(KERN_ERR PFX "fc_attach_transport error\n"); | ||
904 | err = -ENOMEM; | ||
905 | goto err_fc_transport; | ||
906 | } | ||
907 | |||
908 | /* register the driver with PCI system */ | ||
909 | err = pci_register_driver(&fnic_driver); | ||
910 | if (err < 0) { | ||
911 | printk(KERN_ERR PFX "pci register error\n"); | ||
912 | goto err_pci_register; | ||
913 | } | ||
914 | return err; | ||
915 | |||
916 | err_pci_register: | ||
917 | fc_release_transport(fnic_fc_transport); | ||
918 | err_fc_transport: | ||
919 | destroy_workqueue(fnic_event_queue); | ||
920 | err_create_fnic_workq: | ||
921 | kmem_cache_destroy(fnic_io_req_cache); | ||
922 | err_create_fnic_ioreq_slab: | ||
923 | kmem_cache_destroy(fnic_sgl_cache[FNIC_SGL_CACHE_MAX]); | ||
924 | err_create_fnic_sgl_slab_max: | ||
925 | kmem_cache_destroy(fnic_sgl_cache[FNIC_SGL_CACHE_DFLT]); | ||
926 | err_create_fnic_sgl_slab_dflt: | ||
927 | return err; | ||
928 | } | ||
929 | |||
930 | static void __exit fnic_cleanup_module(void) | ||
931 | { | ||
932 | pci_unregister_driver(&fnic_driver); | ||
933 | destroy_workqueue(fnic_event_queue); | ||
934 | kmem_cache_destroy(fnic_sgl_cache[FNIC_SGL_CACHE_MAX]); | ||
935 | kmem_cache_destroy(fnic_sgl_cache[FNIC_SGL_CACHE_DFLT]); | ||
936 | kmem_cache_destroy(fnic_io_req_cache); | ||
937 | fc_release_transport(fnic_fc_transport); | ||
938 | } | ||
939 | |||
940 | module_init(fnic_init_module); | ||
941 | module_exit(fnic_cleanup_module); | ||
942 | |||
diff --git a/drivers/scsi/fnic/fnic_res.c b/drivers/scsi/fnic/fnic_res.c new file mode 100644 index 000000000000..7ba61ec715d2 --- /dev/null +++ b/drivers/scsi/fnic/fnic_res.c | |||
@@ -0,0 +1,444 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #include <linux/errno.h> | ||
19 | #include <linux/types.h> | ||
20 | #include <linux/pci.h> | ||
21 | #include "wq_enet_desc.h" | ||
22 | #include "rq_enet_desc.h" | ||
23 | #include "cq_enet_desc.h" | ||
24 | #include "vnic_resource.h" | ||
25 | #include "vnic_dev.h" | ||
26 | #include "vnic_wq.h" | ||
27 | #include "vnic_rq.h" | ||
28 | #include "vnic_cq.h" | ||
29 | #include "vnic_intr.h" | ||
30 | #include "vnic_stats.h" | ||
31 | #include "vnic_nic.h" | ||
32 | #include "fnic.h" | ||
33 | |||
34 | int fnic_get_vnic_config(struct fnic *fnic) | ||
35 | { | ||
36 | struct vnic_fc_config *c = &fnic->config; | ||
37 | int err; | ||
38 | |||
39 | #define GET_CONFIG(m) \ | ||
40 | do { \ | ||
41 | err = vnic_dev_spec(fnic->vdev, \ | ||
42 | offsetof(struct vnic_fc_config, m), \ | ||
43 | sizeof(c->m), &c->m); \ | ||
44 | if (err) { \ | ||
45 | shost_printk(KERN_ERR, fnic->lport->host, \ | ||
46 | "Error getting %s, %d\n", #m, \ | ||
47 | err); \ | ||
48 | return err; \ | ||
49 | } \ | ||
50 | } while (0); | ||
51 | |||
52 | GET_CONFIG(node_wwn); | ||
53 | GET_CONFIG(port_wwn); | ||
54 | GET_CONFIG(wq_enet_desc_count); | ||
55 | GET_CONFIG(wq_copy_desc_count); | ||
56 | GET_CONFIG(rq_desc_count); | ||
57 | GET_CONFIG(maxdatafieldsize); | ||
58 | GET_CONFIG(ed_tov); | ||
59 | GET_CONFIG(ra_tov); | ||
60 | GET_CONFIG(intr_timer); | ||
61 | GET_CONFIG(intr_timer_type); | ||
62 | GET_CONFIG(flags); | ||
63 | GET_CONFIG(flogi_retries); | ||
64 | GET_CONFIG(flogi_timeout); | ||
65 | GET_CONFIG(plogi_retries); | ||
66 | GET_CONFIG(plogi_timeout); | ||
67 | GET_CONFIG(io_throttle_count); | ||
68 | GET_CONFIG(link_down_timeout); | ||
69 | GET_CONFIG(port_down_timeout); | ||
70 | GET_CONFIG(port_down_io_retries); | ||
71 | GET_CONFIG(luns_per_tgt); | ||
72 | |||
73 | c->wq_enet_desc_count = | ||
74 | min_t(u32, VNIC_FNIC_WQ_DESCS_MAX, | ||
75 | max_t(u32, VNIC_FNIC_WQ_DESCS_MIN, | ||
76 | c->wq_enet_desc_count)); | ||
77 | c->wq_enet_desc_count = ALIGN(c->wq_enet_desc_count, 16); | ||
78 | |||
79 | c->wq_copy_desc_count = | ||
80 | min_t(u32, VNIC_FNIC_WQ_COPY_DESCS_MAX, | ||
81 | max_t(u32, VNIC_FNIC_WQ_COPY_DESCS_MIN, | ||
82 | c->wq_copy_desc_count)); | ||
83 | c->wq_copy_desc_count = ALIGN(c->wq_copy_desc_count, 16); | ||
84 | |||
85 | c->rq_desc_count = | ||
86 | min_t(u32, VNIC_FNIC_RQ_DESCS_MAX, | ||
87 | max_t(u32, VNIC_FNIC_RQ_DESCS_MIN, | ||
88 | c->rq_desc_count)); | ||
89 | c->rq_desc_count = ALIGN(c->rq_desc_count, 16); | ||
90 | |||
91 | c->maxdatafieldsize = | ||
92 | min_t(u16, VNIC_FNIC_MAXDATAFIELDSIZE_MAX, | ||
93 | max_t(u16, VNIC_FNIC_MAXDATAFIELDSIZE_MIN, | ||
94 | c->maxdatafieldsize)); | ||
95 | c->ed_tov = | ||
96 | min_t(u32, VNIC_FNIC_EDTOV_MAX, | ||
97 | max_t(u32, VNIC_FNIC_EDTOV_MIN, | ||
98 | c->ed_tov)); | ||
99 | |||
100 | c->ra_tov = | ||
101 | min_t(u32, VNIC_FNIC_RATOV_MAX, | ||
102 | max_t(u32, VNIC_FNIC_RATOV_MIN, | ||
103 | c->ra_tov)); | ||
104 | |||
105 | c->flogi_retries = | ||
106 | min_t(u32, VNIC_FNIC_FLOGI_RETRIES_MAX, c->flogi_retries); | ||
107 | |||
108 | c->flogi_timeout = | ||
109 | min_t(u32, VNIC_FNIC_FLOGI_TIMEOUT_MAX, | ||
110 | max_t(u32, VNIC_FNIC_FLOGI_TIMEOUT_MIN, | ||
111 | c->flogi_timeout)); | ||
112 | |||
113 | c->plogi_retries = | ||
114 | min_t(u32, VNIC_FNIC_PLOGI_RETRIES_MAX, c->plogi_retries); | ||
115 | |||
116 | c->plogi_timeout = | ||
117 | min_t(u32, VNIC_FNIC_PLOGI_TIMEOUT_MAX, | ||
118 | max_t(u32, VNIC_FNIC_PLOGI_TIMEOUT_MIN, | ||
119 | c->plogi_timeout)); | ||
120 | |||
121 | c->io_throttle_count = | ||
122 | min_t(u32, VNIC_FNIC_IO_THROTTLE_COUNT_MAX, | ||
123 | max_t(u32, VNIC_FNIC_IO_THROTTLE_COUNT_MIN, | ||
124 | c->io_throttle_count)); | ||
125 | |||
126 | c->link_down_timeout = | ||
127 | min_t(u32, VNIC_FNIC_LINK_DOWN_TIMEOUT_MAX, | ||
128 | c->link_down_timeout); | ||
129 | |||
130 | c->port_down_timeout = | ||
131 | min_t(u32, VNIC_FNIC_PORT_DOWN_TIMEOUT_MAX, | ||
132 | c->port_down_timeout); | ||
133 | |||
134 | c->port_down_io_retries = | ||
135 | min_t(u32, VNIC_FNIC_PORT_DOWN_IO_RETRIES_MAX, | ||
136 | c->port_down_io_retries); | ||
137 | |||
138 | c->luns_per_tgt = | ||
139 | min_t(u32, VNIC_FNIC_LUNS_PER_TARGET_MAX, | ||
140 | max_t(u32, VNIC_FNIC_LUNS_PER_TARGET_MIN, | ||
141 | c->luns_per_tgt)); | ||
142 | |||
143 | c->intr_timer = min_t(u16, VNIC_INTR_TIMER_MAX, c->intr_timer); | ||
144 | c->intr_timer_type = c->intr_timer_type; | ||
145 | |||
146 | shost_printk(KERN_INFO, fnic->lport->host, | ||
147 | "vNIC MAC addr %02x:%02x:%02x:%02x:%02x:%02x " | ||
148 | "wq/wq_copy/rq %d/%d/%d\n", | ||
149 | fnic->mac_addr[0], fnic->mac_addr[1], fnic->mac_addr[2], | ||
150 | fnic->mac_addr[3], fnic->mac_addr[4], fnic->mac_addr[5], | ||
151 | c->wq_enet_desc_count, c->wq_copy_desc_count, | ||
152 | c->rq_desc_count); | ||
153 | shost_printk(KERN_INFO, fnic->lport->host, | ||
154 | "vNIC node wwn %llx port wwn %llx\n", | ||
155 | c->node_wwn, c->port_wwn); | ||
156 | shost_printk(KERN_INFO, fnic->lport->host, | ||
157 | "vNIC ed_tov %d ra_tov %d\n", | ||
158 | c->ed_tov, c->ra_tov); | ||
159 | shost_printk(KERN_INFO, fnic->lport->host, | ||
160 | "vNIC mtu %d intr timer %d\n", | ||
161 | c->maxdatafieldsize, c->intr_timer); | ||
162 | shost_printk(KERN_INFO, fnic->lport->host, | ||
163 | "vNIC flags 0x%x luns per tgt %d\n", | ||
164 | c->flags, c->luns_per_tgt); | ||
165 | shost_printk(KERN_INFO, fnic->lport->host, | ||
166 | "vNIC flogi_retries %d flogi timeout %d\n", | ||
167 | c->flogi_retries, c->flogi_timeout); | ||
168 | shost_printk(KERN_INFO, fnic->lport->host, | ||
169 | "vNIC plogi retries %d plogi timeout %d\n", | ||
170 | c->plogi_retries, c->plogi_timeout); | ||
171 | shost_printk(KERN_INFO, fnic->lport->host, | ||
172 | "vNIC io throttle count %d link dn timeout %d\n", | ||
173 | c->io_throttle_count, c->link_down_timeout); | ||
174 | shost_printk(KERN_INFO, fnic->lport->host, | ||
175 | "vNIC port dn io retries %d port dn timeout %d\n", | ||
176 | c->port_down_io_retries, c->port_down_timeout); | ||
177 | |||
178 | return 0; | ||
179 | } | ||
180 | |||
181 | int fnic_set_nic_config(struct fnic *fnic, u8 rss_default_cpu, | ||
182 | u8 rss_hash_type, | ||
183 | u8 rss_hash_bits, u8 rss_base_cpu, u8 rss_enable, | ||
184 | u8 tso_ipid_split_en, u8 ig_vlan_strip_en) | ||
185 | { | ||
186 | u64 a0, a1; | ||
187 | u32 nic_cfg; | ||
188 | int wait = 1000; | ||
189 | |||
190 | vnic_set_nic_cfg(&nic_cfg, rss_default_cpu, | ||
191 | rss_hash_type, rss_hash_bits, rss_base_cpu, | ||
192 | rss_enable, tso_ipid_split_en, ig_vlan_strip_en); | ||
193 | |||
194 | a0 = nic_cfg; | ||
195 | a1 = 0; | ||
196 | |||
197 | return vnic_dev_cmd(fnic->vdev, CMD_NIC_CFG, &a0, &a1, wait); | ||
198 | } | ||
199 | |||
200 | void fnic_get_res_counts(struct fnic *fnic) | ||
201 | { | ||
202 | fnic->wq_count = vnic_dev_get_res_count(fnic->vdev, RES_TYPE_WQ); | ||
203 | fnic->raw_wq_count = fnic->wq_count - 1; | ||
204 | fnic->wq_copy_count = fnic->wq_count - fnic->raw_wq_count; | ||
205 | fnic->rq_count = vnic_dev_get_res_count(fnic->vdev, RES_TYPE_RQ); | ||
206 | fnic->cq_count = vnic_dev_get_res_count(fnic->vdev, RES_TYPE_CQ); | ||
207 | fnic->intr_count = vnic_dev_get_res_count(fnic->vdev, | ||
208 | RES_TYPE_INTR_CTRL); | ||
209 | } | ||
210 | |||
211 | void fnic_free_vnic_resources(struct fnic *fnic) | ||
212 | { | ||
213 | unsigned int i; | ||
214 | |||
215 | for (i = 0; i < fnic->raw_wq_count; i++) | ||
216 | vnic_wq_free(&fnic->wq[i]); | ||
217 | |||
218 | for (i = 0; i < fnic->wq_copy_count; i++) | ||
219 | vnic_wq_copy_free(&fnic->wq_copy[i]); | ||
220 | |||
221 | for (i = 0; i < fnic->rq_count; i++) | ||
222 | vnic_rq_free(&fnic->rq[i]); | ||
223 | |||
224 | for (i = 0; i < fnic->cq_count; i++) | ||
225 | vnic_cq_free(&fnic->cq[i]); | ||
226 | |||
227 | for (i = 0; i < fnic->intr_count; i++) | ||
228 | vnic_intr_free(&fnic->intr[i]); | ||
229 | } | ||
230 | |||
231 | int fnic_alloc_vnic_resources(struct fnic *fnic) | ||
232 | { | ||
233 | enum vnic_dev_intr_mode intr_mode; | ||
234 | unsigned int mask_on_assertion; | ||
235 | unsigned int interrupt_offset; | ||
236 | unsigned int error_interrupt_enable; | ||
237 | unsigned int error_interrupt_offset; | ||
238 | unsigned int i, cq_index; | ||
239 | unsigned int wq_copy_cq_desc_count; | ||
240 | int err; | ||
241 | |||
242 | intr_mode = vnic_dev_get_intr_mode(fnic->vdev); | ||
243 | |||
244 | shost_printk(KERN_INFO, fnic->lport->host, "vNIC interrupt mode: %s\n", | ||
245 | intr_mode == VNIC_DEV_INTR_MODE_INTX ? "legacy PCI INTx" : | ||
246 | intr_mode == VNIC_DEV_INTR_MODE_MSI ? "MSI" : | ||
247 | intr_mode == VNIC_DEV_INTR_MODE_MSIX ? | ||
248 | "MSI-X" : "unknown"); | ||
249 | |||
250 | shost_printk(KERN_INFO, fnic->lport->host, "vNIC resources avail: " | ||
251 | "wq %d cp_wq %d raw_wq %d rq %d cq %d intr %d\n", | ||
252 | fnic->wq_count, fnic->wq_copy_count, fnic->raw_wq_count, | ||
253 | fnic->rq_count, fnic->cq_count, fnic->intr_count); | ||
254 | |||
255 | /* Allocate Raw WQ used for FCS frames */ | ||
256 | for (i = 0; i < fnic->raw_wq_count; i++) { | ||
257 | err = vnic_wq_alloc(fnic->vdev, &fnic->wq[i], i, | ||
258 | fnic->config.wq_enet_desc_count, | ||
259 | sizeof(struct wq_enet_desc)); | ||
260 | if (err) | ||
261 | goto err_out_cleanup; | ||
262 | } | ||
263 | |||
264 | /* Allocate Copy WQs used for SCSI IOs */ | ||
265 | for (i = 0; i < fnic->wq_copy_count; i++) { | ||
266 | err = vnic_wq_copy_alloc(fnic->vdev, &fnic->wq_copy[i], | ||
267 | (fnic->raw_wq_count + i), | ||
268 | fnic->config.wq_copy_desc_count, | ||
269 | sizeof(struct fcpio_host_req)); | ||
270 | if (err) | ||
271 | goto err_out_cleanup; | ||
272 | } | ||
273 | |||
274 | /* RQ for receiving FCS frames */ | ||
275 | for (i = 0; i < fnic->rq_count; i++) { | ||
276 | err = vnic_rq_alloc(fnic->vdev, &fnic->rq[i], i, | ||
277 | fnic->config.rq_desc_count, | ||
278 | sizeof(struct rq_enet_desc)); | ||
279 | if (err) | ||
280 | goto err_out_cleanup; | ||
281 | } | ||
282 | |||
283 | /* CQ for each RQ */ | ||
284 | for (i = 0; i < fnic->rq_count; i++) { | ||
285 | cq_index = i; | ||
286 | err = vnic_cq_alloc(fnic->vdev, | ||
287 | &fnic->cq[cq_index], cq_index, | ||
288 | fnic->config.rq_desc_count, | ||
289 | sizeof(struct cq_enet_rq_desc)); | ||
290 | if (err) | ||
291 | goto err_out_cleanup; | ||
292 | } | ||
293 | |||
294 | /* CQ for each WQ */ | ||
295 | for (i = 0; i < fnic->raw_wq_count; i++) { | ||
296 | cq_index = fnic->rq_count + i; | ||
297 | err = vnic_cq_alloc(fnic->vdev, &fnic->cq[cq_index], cq_index, | ||
298 | fnic->config.wq_enet_desc_count, | ||
299 | sizeof(struct cq_enet_wq_desc)); | ||
300 | if (err) | ||
301 | goto err_out_cleanup; | ||
302 | } | ||
303 | |||
304 | /* CQ for each COPY WQ */ | ||
305 | wq_copy_cq_desc_count = (fnic->config.wq_copy_desc_count * 3); | ||
306 | for (i = 0; i < fnic->wq_copy_count; i++) { | ||
307 | cq_index = fnic->raw_wq_count + fnic->rq_count + i; | ||
308 | err = vnic_cq_alloc(fnic->vdev, &fnic->cq[cq_index], | ||
309 | cq_index, | ||
310 | wq_copy_cq_desc_count, | ||
311 | sizeof(struct fcpio_fw_req)); | ||
312 | if (err) | ||
313 | goto err_out_cleanup; | ||
314 | } | ||
315 | |||
316 | for (i = 0; i < fnic->intr_count; i++) { | ||
317 | err = vnic_intr_alloc(fnic->vdev, &fnic->intr[i], i); | ||
318 | if (err) | ||
319 | goto err_out_cleanup; | ||
320 | } | ||
321 | |||
322 | fnic->legacy_pba = vnic_dev_get_res(fnic->vdev, | ||
323 | RES_TYPE_INTR_PBA_LEGACY, 0); | ||
324 | |||
325 | if (!fnic->legacy_pba && intr_mode == VNIC_DEV_INTR_MODE_INTX) { | ||
326 | shost_printk(KERN_ERR, fnic->lport->host, | ||
327 | "Failed to hook legacy pba resource\n"); | ||
328 | err = -ENODEV; | ||
329 | goto err_out_cleanup; | ||
330 | } | ||
331 | |||
332 | /* | ||
333 | * Init RQ/WQ resources. | ||
334 | * | ||
335 | * RQ[0 to n-1] point to CQ[0 to n-1] | ||
336 | * WQ[0 to m-1] point to CQ[n to n+m-1] | ||
337 | * WQ_COPY[0 to k-1] points to CQ[n+m to n+m+k-1] | ||
338 | * | ||
339 | * Note for copy wq we always initialize with cq_index = 0 | ||
340 | * | ||
341 | * Error interrupt is not enabled for MSI. | ||
342 | */ | ||
343 | |||
344 | switch (intr_mode) { | ||
345 | case VNIC_DEV_INTR_MODE_INTX: | ||
346 | case VNIC_DEV_INTR_MODE_MSIX: | ||
347 | error_interrupt_enable = 1; | ||
348 | error_interrupt_offset = fnic->err_intr_offset; | ||
349 | break; | ||
350 | default: | ||
351 | error_interrupt_enable = 0; | ||
352 | error_interrupt_offset = 0; | ||
353 | break; | ||
354 | } | ||
355 | |||
356 | for (i = 0; i < fnic->rq_count; i++) { | ||
357 | cq_index = i; | ||
358 | vnic_rq_init(&fnic->rq[i], | ||
359 | cq_index, | ||
360 | error_interrupt_enable, | ||
361 | error_interrupt_offset); | ||
362 | } | ||
363 | |||
364 | for (i = 0; i < fnic->raw_wq_count; i++) { | ||
365 | cq_index = i + fnic->rq_count; | ||
366 | vnic_wq_init(&fnic->wq[i], | ||
367 | cq_index, | ||
368 | error_interrupt_enable, | ||
369 | error_interrupt_offset); | ||
370 | } | ||
371 | |||
372 | for (i = 0; i < fnic->wq_copy_count; i++) { | ||
373 | vnic_wq_copy_init(&fnic->wq_copy[i], | ||
374 | 0 /* cq_index 0 - always */, | ||
375 | error_interrupt_enable, | ||
376 | error_interrupt_offset); | ||
377 | } | ||
378 | |||
379 | for (i = 0; i < fnic->cq_count; i++) { | ||
380 | |||
381 | switch (intr_mode) { | ||
382 | case VNIC_DEV_INTR_MODE_MSIX: | ||
383 | interrupt_offset = i; | ||
384 | break; | ||
385 | default: | ||
386 | interrupt_offset = 0; | ||
387 | break; | ||
388 | } | ||
389 | |||
390 | vnic_cq_init(&fnic->cq[i], | ||
391 | 0 /* flow_control_enable */, | ||
392 | 1 /* color_enable */, | ||
393 | 0 /* cq_head */, | ||
394 | 0 /* cq_tail */, | ||
395 | 1 /* cq_tail_color */, | ||
396 | 1 /* interrupt_enable */, | ||
397 | 1 /* cq_entry_enable */, | ||
398 | 0 /* cq_message_enable */, | ||
399 | interrupt_offset, | ||
400 | 0 /* cq_message_addr */); | ||
401 | } | ||
402 | |||
403 | /* | ||
404 | * Init INTR resources | ||
405 | * | ||
406 | * mask_on_assertion is not used for INTx due to the level- | ||
407 | * triggered nature of INTx | ||
408 | */ | ||
409 | |||
410 | switch (intr_mode) { | ||
411 | case VNIC_DEV_INTR_MODE_MSI: | ||
412 | case VNIC_DEV_INTR_MODE_MSIX: | ||
413 | mask_on_assertion = 1; | ||
414 | break; | ||
415 | default: | ||
416 | mask_on_assertion = 0; | ||
417 | break; | ||
418 | } | ||
419 | |||
420 | for (i = 0; i < fnic->intr_count; i++) { | ||
421 | vnic_intr_init(&fnic->intr[i], | ||
422 | fnic->config.intr_timer, | ||
423 | fnic->config.intr_timer_type, | ||
424 | mask_on_assertion); | ||
425 | } | ||
426 | |||
427 | /* init the stats memory by making the first call here */ | ||
428 | err = vnic_dev_stats_dump(fnic->vdev, &fnic->stats); | ||
429 | if (err) { | ||
430 | shost_printk(KERN_ERR, fnic->lport->host, | ||
431 | "vnic_dev_stats_dump failed - x%x\n", err); | ||
432 | goto err_out_cleanup; | ||
433 | } | ||
434 | |||
435 | /* Clear LIF stats */ | ||
436 | vnic_dev_stats_clear(fnic->vdev); | ||
437 | |||
438 | return 0; | ||
439 | |||
440 | err_out_cleanup: | ||
441 | fnic_free_vnic_resources(fnic); | ||
442 | |||
443 | return err; | ||
444 | } | ||
diff --git a/drivers/scsi/fnic/fnic_res.h b/drivers/scsi/fnic/fnic_res.h new file mode 100644 index 000000000000..b6f310262534 --- /dev/null +++ b/drivers/scsi/fnic/fnic_res.h | |||
@@ -0,0 +1,197 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _FNIC_RES_H_ | ||
19 | #define _FNIC_RES_H_ | ||
20 | |||
21 | #include "wq_enet_desc.h" | ||
22 | #include "rq_enet_desc.h" | ||
23 | #include "vnic_wq.h" | ||
24 | #include "vnic_rq.h" | ||
25 | #include "fnic_io.h" | ||
26 | #include "fcpio.h" | ||
27 | #include "vnic_wq_copy.h" | ||
28 | #include "vnic_cq_copy.h" | ||
29 | |||
30 | static inline void fnic_queue_wq_desc(struct vnic_wq *wq, | ||
31 | void *os_buf, dma_addr_t dma_addr, | ||
32 | unsigned int len, unsigned int fc_eof, | ||
33 | int vlan_tag_insert, | ||
34 | unsigned int vlan_tag, | ||
35 | int cq_entry, int sop, int eop) | ||
36 | { | ||
37 | struct wq_enet_desc *desc = vnic_wq_next_desc(wq); | ||
38 | |||
39 | wq_enet_desc_enc(desc, | ||
40 | (u64)dma_addr | VNIC_PADDR_TARGET, | ||
41 | (u16)len, | ||
42 | 0, /* mss_or_csum_offset */ | ||
43 | (u16)fc_eof, | ||
44 | 0, /* offload_mode */ | ||
45 | (u8)eop, (u8)cq_entry, | ||
46 | 1, /* fcoe_encap */ | ||
47 | (u8)vlan_tag_insert, | ||
48 | (u16)vlan_tag, | ||
49 | 0 /* loopback */); | ||
50 | |||
51 | vnic_wq_post(wq, os_buf, dma_addr, len, sop, eop); | ||
52 | } | ||
53 | |||
54 | static inline void fnic_queue_wq_copy_desc_icmnd_16(struct vnic_wq_copy *wq, | ||
55 | u32 req_id, | ||
56 | u32 lunmap_id, u8 spl_flags, | ||
57 | u32 sgl_cnt, u32 sense_len, | ||
58 | u64 sgl_addr, u64 sns_addr, | ||
59 | u8 crn, u8 pri_ta, | ||
60 | u8 flags, u8 *scsi_cdb, | ||
61 | u32 data_len, u8 *lun, | ||
62 | u32 d_id, u16 mss, | ||
63 | u32 ratov, u32 edtov) | ||
64 | { | ||
65 | struct fcpio_host_req *desc = vnic_wq_copy_next_desc(wq); | ||
66 | |||
67 | desc->hdr.type = FCPIO_ICMND_16; /* enum fcpio_type */ | ||
68 | desc->hdr.status = 0; /* header status entry */ | ||
69 | desc->hdr._resvd = 0; /* reserved */ | ||
70 | desc->hdr.tag.u.req_id = req_id; /* id for this request */ | ||
71 | |||
72 | desc->u.icmnd_16.lunmap_id = lunmap_id; /* index into lunmap table */ | ||
73 | desc->u.icmnd_16.special_req_flags = spl_flags; /* exch req flags */ | ||
74 | desc->u.icmnd_16._resvd0[0] = 0; /* reserved */ | ||
75 | desc->u.icmnd_16._resvd0[1] = 0; /* reserved */ | ||
76 | desc->u.icmnd_16._resvd0[2] = 0; /* reserved */ | ||
77 | desc->u.icmnd_16.sgl_cnt = sgl_cnt; /* scatter-gather list count */ | ||
78 | desc->u.icmnd_16.sense_len = sense_len; /* sense buffer length */ | ||
79 | desc->u.icmnd_16.sgl_addr = sgl_addr; /* scatter-gather list addr */ | ||
80 | desc->u.icmnd_16.sense_addr = sns_addr; /* sense buffer address */ | ||
81 | desc->u.icmnd_16.crn = crn; /* SCSI Command Reference No.*/ | ||
82 | desc->u.icmnd_16.pri_ta = pri_ta; /* SCSI Pri & Task attribute */ | ||
83 | desc->u.icmnd_16._resvd1 = 0; /* reserved: should be 0 */ | ||
84 | desc->u.icmnd_16.flags = flags; /* command flags */ | ||
85 | memcpy(desc->u.icmnd_16.scsi_cdb, scsi_cdb, CDB_16); /* SCSI CDB */ | ||
86 | desc->u.icmnd_16.data_len = data_len; /* length of data expected */ | ||
87 | memcpy(desc->u.icmnd_16.lun, lun, LUN_ADDRESS); /* LUN address */ | ||
88 | desc->u.icmnd_16._resvd2 = 0; /* reserved */ | ||
89 | hton24(desc->u.icmnd_16.d_id, d_id); /* FC vNIC only: Target D_ID */ | ||
90 | desc->u.icmnd_16.mss = mss; /* FC vNIC only: max burst */ | ||
91 | desc->u.icmnd_16.r_a_tov = ratov; /*FC vNIC only: Res. Alloc Timeout */ | ||
92 | desc->u.icmnd_16.e_d_tov = edtov; /*FC vNIC only: Err Detect Timeout */ | ||
93 | |||
94 | vnic_wq_copy_post(wq); | ||
95 | } | ||
96 | |||
97 | static inline void fnic_queue_wq_copy_desc_itmf(struct vnic_wq_copy *wq, | ||
98 | u32 req_id, u32 lunmap_id, | ||
99 | u32 tm_req, u32 tm_id, u8 *lun, | ||
100 | u32 d_id, u32 r_a_tov, | ||
101 | u32 e_d_tov) | ||
102 | { | ||
103 | struct fcpio_host_req *desc = vnic_wq_copy_next_desc(wq); | ||
104 | |||
105 | desc->hdr.type = FCPIO_ITMF; /* enum fcpio_type */ | ||
106 | desc->hdr.status = 0; /* header status entry */ | ||
107 | desc->hdr._resvd = 0; /* reserved */ | ||
108 | desc->hdr.tag.u.req_id = req_id; /* id for this request */ | ||
109 | |||
110 | desc->u.itmf.lunmap_id = lunmap_id; /* index into lunmap table */ | ||
111 | desc->u.itmf.tm_req = tm_req; /* SCSI Task Management request */ | ||
112 | desc->u.itmf.t_tag = tm_id; /* tag of fcpio to be aborted */ | ||
113 | desc->u.itmf._resvd = 0; | ||
114 | memcpy(desc->u.itmf.lun, lun, LUN_ADDRESS); /* LUN address */ | ||
115 | desc->u.itmf._resvd1 = 0; | ||
116 | hton24(desc->u.itmf.d_id, d_id); /* FC vNIC only: Target D_ID */ | ||
117 | desc->u.itmf.r_a_tov = r_a_tov; /* FC vNIC only: R_A_TOV in msec */ | ||
118 | desc->u.itmf.e_d_tov = e_d_tov; /* FC vNIC only: E_D_TOV in msec */ | ||
119 | |||
120 | vnic_wq_copy_post(wq); | ||
121 | } | ||
122 | |||
123 | static inline void fnic_queue_wq_copy_desc_flogi_reg(struct vnic_wq_copy *wq, | ||
124 | u32 req_id, u8 format, | ||
125 | u32 s_id, u8 *gw_mac) | ||
126 | { | ||
127 | struct fcpio_host_req *desc = vnic_wq_copy_next_desc(wq); | ||
128 | |||
129 | desc->hdr.type = FCPIO_FLOGI_REG; /* enum fcpio_type */ | ||
130 | desc->hdr.status = 0; /* header status entry */ | ||
131 | desc->hdr._resvd = 0; /* reserved */ | ||
132 | desc->hdr.tag.u.req_id = req_id; /* id for this request */ | ||
133 | |||
134 | desc->u.flogi_reg.format = format; | ||
135 | hton24(desc->u.flogi_reg.s_id, s_id); | ||
136 | memcpy(desc->u.flogi_reg.gateway_mac, gw_mac, ETH_ALEN); | ||
137 | |||
138 | vnic_wq_copy_post(wq); | ||
139 | } | ||
140 | |||
141 | static inline void fnic_queue_wq_copy_desc_fw_reset(struct vnic_wq_copy *wq, | ||
142 | u32 req_id) | ||
143 | { | ||
144 | struct fcpio_host_req *desc = vnic_wq_copy_next_desc(wq); | ||
145 | |||
146 | desc->hdr.type = FCPIO_RESET; /* enum fcpio_type */ | ||
147 | desc->hdr.status = 0; /* header status entry */ | ||
148 | desc->hdr._resvd = 0; /* reserved */ | ||
149 | desc->hdr.tag.u.req_id = req_id; /* id for this request */ | ||
150 | |||
151 | vnic_wq_copy_post(wq); | ||
152 | } | ||
153 | |||
154 | static inline void fnic_queue_wq_copy_desc_lunmap(struct vnic_wq_copy *wq, | ||
155 | u32 req_id, u64 lunmap_addr, | ||
156 | u32 lunmap_len) | ||
157 | { | ||
158 | struct fcpio_host_req *desc = vnic_wq_copy_next_desc(wq); | ||
159 | |||
160 | desc->hdr.type = FCPIO_LUNMAP_REQ; /* enum fcpio_type */ | ||
161 | desc->hdr.status = 0; /* header status entry */ | ||
162 | desc->hdr._resvd = 0; /* reserved */ | ||
163 | desc->hdr.tag.u.req_id = req_id; /* id for this request */ | ||
164 | |||
165 | desc->u.lunmap_req.addr = lunmap_addr; /* address of the buffer */ | ||
166 | desc->u.lunmap_req.len = lunmap_len; /* len of the buffer */ | ||
167 | |||
168 | vnic_wq_copy_post(wq); | ||
169 | } | ||
170 | |||
171 | static inline void fnic_queue_rq_desc(struct vnic_rq *rq, | ||
172 | void *os_buf, dma_addr_t dma_addr, | ||
173 | u16 len) | ||
174 | { | ||
175 | struct rq_enet_desc *desc = vnic_rq_next_desc(rq); | ||
176 | |||
177 | rq_enet_desc_enc(desc, | ||
178 | (u64)dma_addr | VNIC_PADDR_TARGET, | ||
179 | RQ_ENET_TYPE_ONLY_SOP, | ||
180 | (u16)len); | ||
181 | |||
182 | vnic_rq_post(rq, os_buf, 0, dma_addr, len); | ||
183 | } | ||
184 | |||
185 | |||
186 | struct fnic; | ||
187 | |||
188 | int fnic_get_vnic_config(struct fnic *); | ||
189 | int fnic_alloc_vnic_resources(struct fnic *); | ||
190 | void fnic_free_vnic_resources(struct fnic *); | ||
191 | void fnic_get_res_counts(struct fnic *); | ||
192 | int fnic_set_nic_config(struct fnic *fnic, u8 rss_default_cpu, | ||
193 | u8 rss_hash_type, u8 rss_hash_bits, u8 rss_base_cpu, | ||
194 | u8 rss_enable, u8 tso_ipid_split_en, | ||
195 | u8 ig_vlan_strip_en); | ||
196 | |||
197 | #endif /* _FNIC_RES_H_ */ | ||
diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c new file mode 100644 index 000000000000..eabf36502856 --- /dev/null +++ b/drivers/scsi/fnic/fnic_scsi.c | |||
@@ -0,0 +1,1850 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #include <linux/mempool.h> | ||
19 | #include <linux/errno.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/workqueue.h> | ||
22 | #include <linux/pci.h> | ||
23 | #include <linux/scatterlist.h> | ||
24 | #include <linux/skbuff.h> | ||
25 | #include <linux/spinlock.h> | ||
26 | #include <linux/if_ether.h> | ||
27 | #include <linux/if_vlan.h> | ||
28 | #include <linux/delay.h> | ||
29 | #include <scsi/scsi.h> | ||
30 | #include <scsi/scsi_host.h> | ||
31 | #include <scsi/scsi_device.h> | ||
32 | #include <scsi/scsi_cmnd.h> | ||
33 | #include <scsi/scsi_tcq.h> | ||
34 | #include <scsi/fc/fc_els.h> | ||
35 | #include <scsi/fc/fc_fcoe.h> | ||
36 | #include <scsi/libfc.h> | ||
37 | #include <scsi/fc_frame.h> | ||
38 | #include "fnic_io.h" | ||
39 | #include "fnic.h" | ||
40 | |||
41 | const char *fnic_state_str[] = { | ||
42 | [FNIC_IN_FC_MODE] = "FNIC_IN_FC_MODE", | ||
43 | [FNIC_IN_FC_TRANS_ETH_MODE] = "FNIC_IN_FC_TRANS_ETH_MODE", | ||
44 | [FNIC_IN_ETH_MODE] = "FNIC_IN_ETH_MODE", | ||
45 | [FNIC_IN_ETH_TRANS_FC_MODE] = "FNIC_IN_ETH_TRANS_FC_MODE", | ||
46 | }; | ||
47 | |||
48 | static const char *fnic_ioreq_state_str[] = { | ||
49 | [FNIC_IOREQ_CMD_PENDING] = "FNIC_IOREQ_CMD_PENDING", | ||
50 | [FNIC_IOREQ_ABTS_PENDING] = "FNIC_IOREQ_ABTS_PENDING", | ||
51 | [FNIC_IOREQ_ABTS_COMPLETE] = "FNIC_IOREQ_ABTS_COMPLETE", | ||
52 | [FNIC_IOREQ_CMD_COMPLETE] = "FNIC_IOREQ_CMD_COMPLETE", | ||
53 | }; | ||
54 | |||
55 | static const char *fcpio_status_str[] = { | ||
56 | [FCPIO_SUCCESS] = "FCPIO_SUCCESS", /*0x0*/ | ||
57 | [FCPIO_INVALID_HEADER] = "FCPIO_INVALID_HEADER", | ||
58 | [FCPIO_OUT_OF_RESOURCE] = "FCPIO_OUT_OF_RESOURCE", | ||
59 | [FCPIO_INVALID_PARAM] = "FCPIO_INVALID_PARAM]", | ||
60 | [FCPIO_REQ_NOT_SUPPORTED] = "FCPIO_REQ_NOT_SUPPORTED", | ||
61 | [FCPIO_IO_NOT_FOUND] = "FCPIO_IO_NOT_FOUND", | ||
62 | [FCPIO_ABORTED] = "FCPIO_ABORTED", /*0x41*/ | ||
63 | [FCPIO_TIMEOUT] = "FCPIO_TIMEOUT", | ||
64 | [FCPIO_SGL_INVALID] = "FCPIO_SGL_INVALID", | ||
65 | [FCPIO_MSS_INVALID] = "FCPIO_MSS_INVALID", | ||
66 | [FCPIO_DATA_CNT_MISMATCH] = "FCPIO_DATA_CNT_MISMATCH", | ||
67 | [FCPIO_FW_ERR] = "FCPIO_FW_ERR", | ||
68 | [FCPIO_ITMF_REJECTED] = "FCPIO_ITMF_REJECTED", | ||
69 | [FCPIO_ITMF_FAILED] = "FCPIO_ITMF_FAILED", | ||
70 | [FCPIO_ITMF_INCORRECT_LUN] = "FCPIO_ITMF_INCORRECT_LUN", | ||
71 | [FCPIO_CMND_REJECTED] = "FCPIO_CMND_REJECTED", | ||
72 | [FCPIO_NO_PATH_AVAIL] = "FCPIO_NO_PATH_AVAIL", | ||
73 | [FCPIO_PATH_FAILED] = "FCPIO_PATH_FAILED", | ||
74 | [FCPIO_LUNMAP_CHNG_PEND] = "FCPIO_LUNHMAP_CHNG_PEND", | ||
75 | }; | ||
76 | |||
77 | const char *fnic_state_to_str(unsigned int state) | ||
78 | { | ||
79 | if (state >= ARRAY_SIZE(fnic_state_str) || !fnic_state_str[state]) | ||
80 | return "unknown"; | ||
81 | |||
82 | return fnic_state_str[state]; | ||
83 | } | ||
84 | |||
85 | static const char *fnic_ioreq_state_to_str(unsigned int state) | ||
86 | { | ||
87 | if (state >= ARRAY_SIZE(fnic_ioreq_state_str) || | ||
88 | !fnic_ioreq_state_str[state]) | ||
89 | return "unknown"; | ||
90 | |||
91 | return fnic_ioreq_state_str[state]; | ||
92 | } | ||
93 | |||
94 | static const char *fnic_fcpio_status_to_str(unsigned int status) | ||
95 | { | ||
96 | if (status >= ARRAY_SIZE(fcpio_status_str) || !fcpio_status_str[status]) | ||
97 | return "unknown"; | ||
98 | |||
99 | return fcpio_status_str[status]; | ||
100 | } | ||
101 | |||
102 | static void fnic_cleanup_io(struct fnic *fnic, int exclude_id); | ||
103 | |||
104 | static inline spinlock_t *fnic_io_lock_hash(struct fnic *fnic, | ||
105 | struct scsi_cmnd *sc) | ||
106 | { | ||
107 | u32 hash = sc->request->tag & (FNIC_IO_LOCKS - 1); | ||
108 | |||
109 | return &fnic->io_req_lock[hash]; | ||
110 | } | ||
111 | |||
112 | /* | ||
113 | * Unmap the data buffer and sense buffer for an io_req, | ||
114 | * also unmap and free the device-private scatter/gather list. | ||
115 | */ | ||
116 | static void fnic_release_ioreq_buf(struct fnic *fnic, | ||
117 | struct fnic_io_req *io_req, | ||
118 | struct scsi_cmnd *sc) | ||
119 | { | ||
120 | if (io_req->sgl_list_pa) | ||
121 | pci_unmap_single(fnic->pdev, io_req->sgl_list_pa, | ||
122 | sizeof(io_req->sgl_list[0]) * io_req->sgl_cnt, | ||
123 | PCI_DMA_TODEVICE); | ||
124 | scsi_dma_unmap(sc); | ||
125 | |||
126 | if (io_req->sgl_cnt) | ||
127 | mempool_free(io_req->sgl_list_alloc, | ||
128 | fnic->io_sgl_pool[io_req->sgl_type]); | ||
129 | if (io_req->sense_buf_pa) | ||
130 | pci_unmap_single(fnic->pdev, io_req->sense_buf_pa, | ||
131 | SCSI_SENSE_BUFFERSIZE, PCI_DMA_FROMDEVICE); | ||
132 | } | ||
133 | |||
134 | /* Free up Copy Wq descriptors. Called with copy_wq lock held */ | ||
135 | static int free_wq_copy_descs(struct fnic *fnic, struct vnic_wq_copy *wq) | ||
136 | { | ||
137 | /* if no Ack received from firmware, then nothing to clean */ | ||
138 | if (!fnic->fw_ack_recd[0]) | ||
139 | return 1; | ||
140 | |||
141 | /* | ||
142 | * Update desc_available count based on number of freed descriptors | ||
143 | * Account for wraparound | ||
144 | */ | ||
145 | if (wq->to_clean_index <= fnic->fw_ack_index[0]) | ||
146 | wq->ring.desc_avail += (fnic->fw_ack_index[0] | ||
147 | - wq->to_clean_index + 1); | ||
148 | else | ||
149 | wq->ring.desc_avail += (wq->ring.desc_count | ||
150 | - wq->to_clean_index | ||
151 | + fnic->fw_ack_index[0] + 1); | ||
152 | |||
153 | /* | ||
154 | * just bump clean index to ack_index+1 accounting for wraparound | ||
155 | * this will essentially free up all descriptors between | ||
156 | * to_clean_index and fw_ack_index, both inclusive | ||
157 | */ | ||
158 | wq->to_clean_index = | ||
159 | (fnic->fw_ack_index[0] + 1) % wq->ring.desc_count; | ||
160 | |||
161 | /* we have processed the acks received so far */ | ||
162 | fnic->fw_ack_recd[0] = 0; | ||
163 | return 0; | ||
164 | } | ||
165 | |||
166 | |||
167 | /* | ||
168 | * fnic_fw_reset_handler | ||
169 | * Routine to send reset msg to fw | ||
170 | */ | ||
171 | int fnic_fw_reset_handler(struct fnic *fnic) | ||
172 | { | ||
173 | struct vnic_wq_copy *wq = &fnic->wq_copy[0]; | ||
174 | int ret = 0; | ||
175 | unsigned long flags; | ||
176 | |||
177 | spin_lock_irqsave(&fnic->wq_copy_lock[0], flags); | ||
178 | |||
179 | if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) | ||
180 | free_wq_copy_descs(fnic, wq); | ||
181 | |||
182 | if (!vnic_wq_copy_desc_avail(wq)) | ||
183 | ret = -EAGAIN; | ||
184 | else | ||
185 | fnic_queue_wq_copy_desc_fw_reset(wq, SCSI_NO_TAG); | ||
186 | |||
187 | spin_unlock_irqrestore(&fnic->wq_copy_lock[0], flags); | ||
188 | |||
189 | if (!ret) | ||
190 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
191 | "Issued fw reset\n"); | ||
192 | else | ||
193 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
194 | "Failed to issue fw reset\n"); | ||
195 | return ret; | ||
196 | } | ||
197 | |||
198 | |||
199 | /* | ||
200 | * fnic_flogi_reg_handler | ||
201 | * Routine to send flogi register msg to fw | ||
202 | */ | ||
203 | int fnic_flogi_reg_handler(struct fnic *fnic) | ||
204 | { | ||
205 | struct vnic_wq_copy *wq = &fnic->wq_copy[0]; | ||
206 | u8 gw_mac[ETH_ALEN]; | ||
207 | int ret = 0; | ||
208 | unsigned long flags; | ||
209 | |||
210 | spin_lock_irqsave(&fnic->wq_copy_lock[0], flags); | ||
211 | |||
212 | if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) | ||
213 | free_wq_copy_descs(fnic, wq); | ||
214 | |||
215 | if (!vnic_wq_copy_desc_avail(wq)) { | ||
216 | ret = -EAGAIN; | ||
217 | goto flogi_reg_ioreq_end; | ||
218 | } | ||
219 | |||
220 | if (fnic->fcoui_mode) | ||
221 | memset(gw_mac, 0xff, ETH_ALEN); | ||
222 | else | ||
223 | memcpy(gw_mac, fnic->dest_addr, ETH_ALEN); | ||
224 | |||
225 | fnic_queue_wq_copy_desc_flogi_reg(wq, SCSI_NO_TAG, | ||
226 | FCPIO_FLOGI_REG_GW_DEST, | ||
227 | fnic->s_id, | ||
228 | gw_mac); | ||
229 | |||
230 | flogi_reg_ioreq_end: | ||
231 | spin_unlock_irqrestore(&fnic->wq_copy_lock[0], flags); | ||
232 | |||
233 | if (!ret) | ||
234 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
235 | "flog reg issued\n"); | ||
236 | |||
237 | return ret; | ||
238 | } | ||
239 | |||
240 | /* | ||
241 | * fnic_queue_wq_copy_desc | ||
242 | * Routine to enqueue a wq copy desc | ||
243 | */ | ||
244 | static inline int fnic_queue_wq_copy_desc(struct fnic *fnic, | ||
245 | struct vnic_wq_copy *wq, | ||
246 | struct fnic_io_req *io_req, | ||
247 | struct scsi_cmnd *sc, | ||
248 | u32 sg_count) | ||
249 | { | ||
250 | struct scatterlist *sg; | ||
251 | struct fc_rport *rport = starget_to_rport(scsi_target(sc->device)); | ||
252 | struct fc_rport_libfc_priv *rp = rport->dd_data; | ||
253 | struct host_sg_desc *desc; | ||
254 | u8 pri_tag = 0; | ||
255 | unsigned int i; | ||
256 | unsigned long intr_flags; | ||
257 | int flags; | ||
258 | u8 exch_flags; | ||
259 | struct scsi_lun fc_lun; | ||
260 | char msg[2]; | ||
261 | |||
262 | if (sg_count) { | ||
263 | BUG_ON(sg_count < 0); | ||
264 | BUG_ON(sg_count > FNIC_MAX_SG_DESC_CNT); | ||
265 | |||
266 | /* For each SGE, create a device desc entry */ | ||
267 | desc = io_req->sgl_list; | ||
268 | for_each_sg(scsi_sglist(sc), sg, sg_count, i) { | ||
269 | desc->addr = cpu_to_le64(sg_dma_address(sg)); | ||
270 | desc->len = cpu_to_le32(sg_dma_len(sg)); | ||
271 | desc->_resvd = 0; | ||
272 | desc++; | ||
273 | } | ||
274 | |||
275 | io_req->sgl_list_pa = pci_map_single | ||
276 | (fnic->pdev, | ||
277 | io_req->sgl_list, | ||
278 | sizeof(io_req->sgl_list[0]) * sg_count, | ||
279 | PCI_DMA_TODEVICE); | ||
280 | } | ||
281 | |||
282 | io_req->sense_buf_pa = pci_map_single(fnic->pdev, | ||
283 | sc->sense_buffer, | ||
284 | SCSI_SENSE_BUFFERSIZE, | ||
285 | PCI_DMA_FROMDEVICE); | ||
286 | |||
287 | int_to_scsilun(sc->device->lun, &fc_lun); | ||
288 | |||
289 | pri_tag = FCPIO_ICMND_PTA_SIMPLE; | ||
290 | msg[0] = MSG_SIMPLE_TAG; | ||
291 | scsi_populate_tag_msg(sc, msg); | ||
292 | if (msg[0] == MSG_ORDERED_TAG) | ||
293 | pri_tag = FCPIO_ICMND_PTA_ORDERED; | ||
294 | |||
295 | /* Enqueue the descriptor in the Copy WQ */ | ||
296 | spin_lock_irqsave(&fnic->wq_copy_lock[0], intr_flags); | ||
297 | |||
298 | if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) | ||
299 | free_wq_copy_descs(fnic, wq); | ||
300 | |||
301 | if (unlikely(!vnic_wq_copy_desc_avail(wq))) { | ||
302 | spin_unlock_irqrestore(&fnic->wq_copy_lock[0], intr_flags); | ||
303 | return SCSI_MLQUEUE_HOST_BUSY; | ||
304 | } | ||
305 | |||
306 | flags = 0; | ||
307 | if (sc->sc_data_direction == DMA_FROM_DEVICE) | ||
308 | flags = FCPIO_ICMND_RDDATA; | ||
309 | else if (sc->sc_data_direction == DMA_TO_DEVICE) | ||
310 | flags = FCPIO_ICMND_WRDATA; | ||
311 | |||
312 | exch_flags = 0; | ||
313 | if ((fnic->config.flags & VFCF_FCP_SEQ_LVL_ERR) && | ||
314 | (rp->flags & FC_RP_FLAGS_RETRY)) | ||
315 | exch_flags |= FCPIO_ICMND_SRFLAG_RETRY; | ||
316 | |||
317 | fnic_queue_wq_copy_desc_icmnd_16(wq, sc->request->tag, | ||
318 | 0, exch_flags, io_req->sgl_cnt, | ||
319 | SCSI_SENSE_BUFFERSIZE, | ||
320 | io_req->sgl_list_pa, | ||
321 | io_req->sense_buf_pa, | ||
322 | 0, /* scsi cmd ref, always 0 */ | ||
323 | pri_tag, /* scsi pri and tag */ | ||
324 | flags, /* command flags */ | ||
325 | sc->cmnd, scsi_bufflen(sc), | ||
326 | fc_lun.scsi_lun, io_req->port_id, | ||
327 | rport->maxframe_size, rp->r_a_tov, | ||
328 | rp->e_d_tov); | ||
329 | |||
330 | spin_unlock_irqrestore(&fnic->wq_copy_lock[0], intr_flags); | ||
331 | return 0; | ||
332 | } | ||
333 | |||
334 | /* | ||
335 | * fnic_queuecommand | ||
336 | * Routine to send a scsi cdb | ||
337 | * Called with host_lock held and interrupts disabled. | ||
338 | */ | ||
339 | int fnic_queuecommand(struct scsi_cmnd *sc, void (*done)(struct scsi_cmnd *)) | ||
340 | { | ||
341 | struct fc_lport *lp; | ||
342 | struct fc_rport *rport; | ||
343 | struct fnic_io_req *io_req; | ||
344 | struct fnic *fnic; | ||
345 | struct vnic_wq_copy *wq; | ||
346 | int ret; | ||
347 | u32 sg_count; | ||
348 | unsigned long flags; | ||
349 | unsigned long ptr; | ||
350 | |||
351 | rport = starget_to_rport(scsi_target(sc->device)); | ||
352 | ret = fc_remote_port_chkready(rport); | ||
353 | if (ret) { | ||
354 | sc->result = ret; | ||
355 | done(sc); | ||
356 | return 0; | ||
357 | } | ||
358 | |||
359 | lp = shost_priv(sc->device->host); | ||
360 | if (lp->state != LPORT_ST_READY || !(lp->link_up)) | ||
361 | return SCSI_MLQUEUE_HOST_BUSY; | ||
362 | |||
363 | /* | ||
364 | * Release host lock, use driver resource specific locks from here. | ||
365 | * Don't re-enable interrupts in case they were disabled prior to the | ||
366 | * caller disabling them. | ||
367 | */ | ||
368 | spin_unlock(lp->host->host_lock); | ||
369 | |||
370 | /* Get a new io_req for this SCSI IO */ | ||
371 | fnic = lport_priv(lp); | ||
372 | |||
373 | io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); | ||
374 | if (!io_req) { | ||
375 | ret = SCSI_MLQUEUE_HOST_BUSY; | ||
376 | goto out; | ||
377 | } | ||
378 | memset(io_req, 0, sizeof(*io_req)); | ||
379 | |||
380 | /* Map the data buffer */ | ||
381 | sg_count = scsi_dma_map(sc); | ||
382 | if (sg_count < 0) { | ||
383 | mempool_free(io_req, fnic->io_req_pool); | ||
384 | goto out; | ||
385 | } | ||
386 | |||
387 | /* Determine the type of scatter/gather list we need */ | ||
388 | io_req->sgl_cnt = sg_count; | ||
389 | io_req->sgl_type = FNIC_SGL_CACHE_DFLT; | ||
390 | if (sg_count > FNIC_DFLT_SG_DESC_CNT) | ||
391 | io_req->sgl_type = FNIC_SGL_CACHE_MAX; | ||
392 | |||
393 | if (sg_count) { | ||
394 | io_req->sgl_list = | ||
395 | mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type], | ||
396 | GFP_ATOMIC | GFP_DMA); | ||
397 | if (!io_req->sgl_list) { | ||
398 | ret = SCSI_MLQUEUE_HOST_BUSY; | ||
399 | scsi_dma_unmap(sc); | ||
400 | mempool_free(io_req, fnic->io_req_pool); | ||
401 | goto out; | ||
402 | } | ||
403 | |||
404 | /* Cache sgl list allocated address before alignment */ | ||
405 | io_req->sgl_list_alloc = io_req->sgl_list; | ||
406 | ptr = (unsigned long) io_req->sgl_list; | ||
407 | if (ptr % FNIC_SG_DESC_ALIGN) { | ||
408 | io_req->sgl_list = (struct host_sg_desc *) | ||
409 | (((unsigned long) ptr | ||
410 | + FNIC_SG_DESC_ALIGN - 1) | ||
411 | & ~(FNIC_SG_DESC_ALIGN - 1)); | ||
412 | } | ||
413 | } | ||
414 | |||
415 | /* initialize rest of io_req */ | ||
416 | io_req->port_id = rport->port_id; | ||
417 | CMD_STATE(sc) = FNIC_IOREQ_CMD_PENDING; | ||
418 | CMD_SP(sc) = (char *)io_req; | ||
419 | sc->scsi_done = done; | ||
420 | |||
421 | /* create copy wq desc and enqueue it */ | ||
422 | wq = &fnic->wq_copy[0]; | ||
423 | ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count); | ||
424 | if (ret) { | ||
425 | /* | ||
426 | * In case another thread cancelled the request, | ||
427 | * refetch the pointer under the lock. | ||
428 | */ | ||
429 | spinlock_t *io_lock = fnic_io_lock_hash(fnic, sc); | ||
430 | |||
431 | spin_lock_irqsave(io_lock, flags); | ||
432 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
433 | CMD_SP(sc) = NULL; | ||
434 | CMD_STATE(sc) = FNIC_IOREQ_CMD_COMPLETE; | ||
435 | spin_unlock_irqrestore(io_lock, flags); | ||
436 | if (io_req) { | ||
437 | fnic_release_ioreq_buf(fnic, io_req, sc); | ||
438 | mempool_free(io_req, fnic->io_req_pool); | ||
439 | } | ||
440 | } | ||
441 | out: | ||
442 | /* acquire host lock before returning to SCSI */ | ||
443 | spin_lock(lp->host->host_lock); | ||
444 | return ret; | ||
445 | } | ||
446 | |||
447 | /* | ||
448 | * fnic_fcpio_fw_reset_cmpl_handler | ||
449 | * Routine to handle fw reset completion | ||
450 | */ | ||
451 | static int fnic_fcpio_fw_reset_cmpl_handler(struct fnic *fnic, | ||
452 | struct fcpio_fw_req *desc) | ||
453 | { | ||
454 | u8 type; | ||
455 | u8 hdr_status; | ||
456 | struct fcpio_tag tag; | ||
457 | int ret = 0; | ||
458 | struct fc_frame *flogi; | ||
459 | unsigned long flags; | ||
460 | |||
461 | fcpio_header_dec(&desc->hdr, &type, &hdr_status, &tag); | ||
462 | |||
463 | /* Clean up all outstanding io requests */ | ||
464 | fnic_cleanup_io(fnic, SCSI_NO_TAG); | ||
465 | |||
466 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
467 | |||
468 | flogi = fnic->flogi; | ||
469 | fnic->flogi = NULL; | ||
470 | |||
471 | /* fnic should be in FC_TRANS_ETH_MODE */ | ||
472 | if (fnic->state == FNIC_IN_FC_TRANS_ETH_MODE) { | ||
473 | /* Check status of reset completion */ | ||
474 | if (!hdr_status) { | ||
475 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
476 | "reset cmpl success\n"); | ||
477 | /* Ready to send flogi out */ | ||
478 | fnic->state = FNIC_IN_ETH_MODE; | ||
479 | } else { | ||
480 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
481 | fnic->lport->host, | ||
482 | "fnic fw_reset : failed %s\n", | ||
483 | fnic_fcpio_status_to_str(hdr_status)); | ||
484 | |||
485 | /* | ||
486 | * Unable to change to eth mode, cannot send out flogi | ||
487 | * Change state to fc mode, so that subsequent Flogi | ||
488 | * requests from libFC will cause more attempts to | ||
489 | * reset the firmware. Free the cached flogi | ||
490 | */ | ||
491 | fnic->state = FNIC_IN_FC_MODE; | ||
492 | ret = -1; | ||
493 | } | ||
494 | } else { | ||
495 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
496 | fnic->lport->host, | ||
497 | "Unexpected state %s while processing" | ||
498 | " reset cmpl\n", fnic_state_to_str(fnic->state)); | ||
499 | ret = -1; | ||
500 | } | ||
501 | |||
502 | /* Thread removing device blocks till firmware reset is complete */ | ||
503 | if (fnic->remove_wait) | ||
504 | complete(fnic->remove_wait); | ||
505 | |||
506 | /* | ||
507 | * If fnic is being removed, or fw reset failed | ||
508 | * free the flogi frame. Else, send it out | ||
509 | */ | ||
510 | if (fnic->remove_wait || ret) { | ||
511 | fnic->flogi_oxid = FC_XID_UNKNOWN; | ||
512 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
513 | if (flogi) | ||
514 | dev_kfree_skb_irq(fp_skb(flogi)); | ||
515 | goto reset_cmpl_handler_end; | ||
516 | } | ||
517 | |||
518 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
519 | |||
520 | if (flogi) | ||
521 | ret = fnic_send_frame(fnic, flogi); | ||
522 | |||
523 | reset_cmpl_handler_end: | ||
524 | return ret; | ||
525 | } | ||
526 | |||
527 | /* | ||
528 | * fnic_fcpio_flogi_reg_cmpl_handler | ||
529 | * Routine to handle flogi register completion | ||
530 | */ | ||
531 | static int fnic_fcpio_flogi_reg_cmpl_handler(struct fnic *fnic, | ||
532 | struct fcpio_fw_req *desc) | ||
533 | { | ||
534 | u8 type; | ||
535 | u8 hdr_status; | ||
536 | struct fcpio_tag tag; | ||
537 | int ret = 0; | ||
538 | struct fc_frame *flogi_resp = NULL; | ||
539 | unsigned long flags; | ||
540 | struct sk_buff *skb; | ||
541 | |||
542 | fcpio_header_dec(&desc->hdr, &type, &hdr_status, &tag); | ||
543 | |||
544 | /* Update fnic state based on status of flogi reg completion */ | ||
545 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
546 | |||
547 | flogi_resp = fnic->flogi_resp; | ||
548 | fnic->flogi_resp = NULL; | ||
549 | |||
550 | if (fnic->state == FNIC_IN_ETH_TRANS_FC_MODE) { | ||
551 | |||
552 | /* Check flogi registration completion status */ | ||
553 | if (!hdr_status) { | ||
554 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
555 | "flog reg succeeded\n"); | ||
556 | fnic->state = FNIC_IN_FC_MODE; | ||
557 | } else { | ||
558 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
559 | fnic->lport->host, | ||
560 | "fnic flogi reg :failed %s\n", | ||
561 | fnic_fcpio_status_to_str(hdr_status)); | ||
562 | fnic->state = FNIC_IN_ETH_MODE; | ||
563 | ret = -1; | ||
564 | } | ||
565 | } else { | ||
566 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
567 | "Unexpected fnic state %s while" | ||
568 | " processing flogi reg completion\n", | ||
569 | fnic_state_to_str(fnic->state)); | ||
570 | ret = -1; | ||
571 | } | ||
572 | |||
573 | /* Successful flogi reg cmpl, pass frame to LibFC */ | ||
574 | if (!ret && flogi_resp) { | ||
575 | if (fnic->stop_rx_link_events) { | ||
576 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
577 | goto reg_cmpl_handler_end; | ||
578 | } | ||
579 | skb = (struct sk_buff *)flogi_resp; | ||
580 | /* Use fr_flags to indicate whether flogi resp or not */ | ||
581 | fr_flags(flogi_resp) = 1; | ||
582 | fr_dev(flogi_resp) = fnic->lport; | ||
583 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
584 | |||
585 | skb_queue_tail(&fnic->frame_queue, skb); | ||
586 | queue_work(fnic_event_queue, &fnic->frame_work); | ||
587 | |||
588 | } else { | ||
589 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
590 | if (flogi_resp) | ||
591 | dev_kfree_skb_irq(fp_skb(flogi_resp)); | ||
592 | } | ||
593 | |||
594 | reg_cmpl_handler_end: | ||
595 | return ret; | ||
596 | } | ||
597 | |||
598 | static inline int is_ack_index_in_range(struct vnic_wq_copy *wq, | ||
599 | u16 request_out) | ||
600 | { | ||
601 | if (wq->to_clean_index <= wq->to_use_index) { | ||
602 | /* out of range, stale request_out index */ | ||
603 | if (request_out < wq->to_clean_index || | ||
604 | request_out >= wq->to_use_index) | ||
605 | return 0; | ||
606 | } else { | ||
607 | /* out of range, stale request_out index */ | ||
608 | if (request_out < wq->to_clean_index && | ||
609 | request_out >= wq->to_use_index) | ||
610 | return 0; | ||
611 | } | ||
612 | /* request_out index is in range */ | ||
613 | return 1; | ||
614 | } | ||
615 | |||
616 | |||
617 | /* | ||
618 | * Mark that ack received and store the Ack index. If there are multiple | ||
619 | * acks received before Tx thread cleans it up, the latest value will be | ||
620 | * used which is correct behavior. This state should be in the copy Wq | ||
621 | * instead of in the fnic | ||
622 | */ | ||
623 | static inline void fnic_fcpio_ack_handler(struct fnic *fnic, | ||
624 | unsigned int cq_index, | ||
625 | struct fcpio_fw_req *desc) | ||
626 | { | ||
627 | struct vnic_wq_copy *wq; | ||
628 | u16 request_out = desc->u.ack.request_out; | ||
629 | unsigned long flags; | ||
630 | |||
631 | /* mark the ack state */ | ||
632 | wq = &fnic->wq_copy[cq_index - fnic->raw_wq_count - fnic->rq_count]; | ||
633 | spin_lock_irqsave(&fnic->wq_copy_lock[0], flags); | ||
634 | |||
635 | if (is_ack_index_in_range(wq, request_out)) { | ||
636 | fnic->fw_ack_index[0] = request_out; | ||
637 | fnic->fw_ack_recd[0] = 1; | ||
638 | } | ||
639 | spin_unlock_irqrestore(&fnic->wq_copy_lock[0], flags); | ||
640 | } | ||
641 | |||
642 | /* | ||
643 | * fnic_fcpio_icmnd_cmpl_handler | ||
644 | * Routine to handle icmnd completions | ||
645 | */ | ||
646 | static void fnic_fcpio_icmnd_cmpl_handler(struct fnic *fnic, | ||
647 | struct fcpio_fw_req *desc) | ||
648 | { | ||
649 | u8 type; | ||
650 | u8 hdr_status; | ||
651 | struct fcpio_tag tag; | ||
652 | u32 id; | ||
653 | u64 xfer_len = 0; | ||
654 | struct fcpio_icmnd_cmpl *icmnd_cmpl; | ||
655 | struct fnic_io_req *io_req; | ||
656 | struct scsi_cmnd *sc; | ||
657 | unsigned long flags; | ||
658 | spinlock_t *io_lock; | ||
659 | |||
660 | /* Decode the cmpl description to get the io_req id */ | ||
661 | fcpio_header_dec(&desc->hdr, &type, &hdr_status, &tag); | ||
662 | fcpio_tag_id_dec(&tag, &id); | ||
663 | |||
664 | if (id >= FNIC_MAX_IO_REQ) | ||
665 | return; | ||
666 | |||
667 | sc = scsi_host_find_tag(fnic->lport->host, id); | ||
668 | WARN_ON_ONCE(!sc); | ||
669 | if (!sc) | ||
670 | return; | ||
671 | |||
672 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
673 | spin_lock_irqsave(io_lock, flags); | ||
674 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
675 | WARN_ON_ONCE(!io_req); | ||
676 | if (!io_req) { | ||
677 | spin_unlock_irqrestore(io_lock, flags); | ||
678 | return; | ||
679 | } | ||
680 | |||
681 | /* firmware completed the io */ | ||
682 | io_req->io_completed = 1; | ||
683 | |||
684 | /* | ||
685 | * if SCSI-ML has already issued abort on this command, | ||
686 | * ignore completion of the IO. The abts path will clean it up | ||
687 | */ | ||
688 | if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) { | ||
689 | spin_unlock_irqrestore(io_lock, flags); | ||
690 | return; | ||
691 | } | ||
692 | |||
693 | /* Mark the IO as complete */ | ||
694 | CMD_STATE(sc) = FNIC_IOREQ_CMD_COMPLETE; | ||
695 | |||
696 | icmnd_cmpl = &desc->u.icmnd_cmpl; | ||
697 | |||
698 | switch (hdr_status) { | ||
699 | case FCPIO_SUCCESS: | ||
700 | sc->result = (DID_OK << 16) | icmnd_cmpl->scsi_status; | ||
701 | xfer_len = scsi_bufflen(sc); | ||
702 | scsi_set_resid(sc, icmnd_cmpl->residual); | ||
703 | |||
704 | if (icmnd_cmpl->flags & FCPIO_ICMND_CMPL_RESID_UNDER) | ||
705 | xfer_len -= icmnd_cmpl->residual; | ||
706 | |||
707 | /* | ||
708 | * If queue_full, then try to reduce queue depth for all | ||
709 | * LUNS on the target. Todo: this should be accompanied | ||
710 | * by a periodic queue_depth rampup based on successful | ||
711 | * IO completion. | ||
712 | */ | ||
713 | if (icmnd_cmpl->scsi_status == QUEUE_FULL) { | ||
714 | struct scsi_device *t_sdev; | ||
715 | int qd = 0; | ||
716 | |||
717 | shost_for_each_device(t_sdev, sc->device->host) { | ||
718 | if (t_sdev->id != sc->device->id) | ||
719 | continue; | ||
720 | |||
721 | if (t_sdev->queue_depth > 1) { | ||
722 | qd = scsi_track_queue_full | ||
723 | (t_sdev, | ||
724 | t_sdev->queue_depth - 1); | ||
725 | if (qd == -1) | ||
726 | qd = t_sdev->host->cmd_per_lun; | ||
727 | shost_printk(KERN_INFO, | ||
728 | fnic->lport->host, | ||
729 | "scsi[%d:%d:%d:%d" | ||
730 | "] queue full detected," | ||
731 | "new depth = %d\n", | ||
732 | t_sdev->host->host_no, | ||
733 | t_sdev->channel, | ||
734 | t_sdev->id, t_sdev->lun, | ||
735 | t_sdev->queue_depth); | ||
736 | } | ||
737 | } | ||
738 | } | ||
739 | break; | ||
740 | |||
741 | case FCPIO_TIMEOUT: /* request was timed out */ | ||
742 | sc->result = (DID_TIME_OUT << 16) | icmnd_cmpl->scsi_status; | ||
743 | break; | ||
744 | |||
745 | case FCPIO_ABORTED: /* request was aborted */ | ||
746 | sc->result = (DID_ERROR << 16) | icmnd_cmpl->scsi_status; | ||
747 | break; | ||
748 | |||
749 | case FCPIO_DATA_CNT_MISMATCH: /* recv/sent more/less data than exp. */ | ||
750 | scsi_set_resid(sc, icmnd_cmpl->residual); | ||
751 | sc->result = (DID_ERROR << 16) | icmnd_cmpl->scsi_status; | ||
752 | break; | ||
753 | |||
754 | case FCPIO_OUT_OF_RESOURCE: /* out of resources to complete request */ | ||
755 | sc->result = (DID_REQUEUE << 16) | icmnd_cmpl->scsi_status; | ||
756 | break; | ||
757 | case FCPIO_INVALID_HEADER: /* header contains invalid data */ | ||
758 | case FCPIO_INVALID_PARAM: /* some parameter in request invalid */ | ||
759 | case FCPIO_REQ_NOT_SUPPORTED:/* request type is not supported */ | ||
760 | case FCPIO_IO_NOT_FOUND: /* requested I/O was not found */ | ||
761 | case FCPIO_SGL_INVALID: /* request was aborted due to sgl error */ | ||
762 | case FCPIO_MSS_INVALID: /* request was aborted due to mss error */ | ||
763 | case FCPIO_FW_ERR: /* request was terminated due fw error */ | ||
764 | default: | ||
765 | shost_printk(KERN_ERR, fnic->lport->host, "hdr status = %s\n", | ||
766 | fnic_fcpio_status_to_str(hdr_status)); | ||
767 | sc->result = (DID_ERROR << 16) | icmnd_cmpl->scsi_status; | ||
768 | break; | ||
769 | } | ||
770 | |||
771 | /* Break link with the SCSI command */ | ||
772 | CMD_SP(sc) = NULL; | ||
773 | |||
774 | spin_unlock_irqrestore(io_lock, flags); | ||
775 | |||
776 | fnic_release_ioreq_buf(fnic, io_req, sc); | ||
777 | |||
778 | mempool_free(io_req, fnic->io_req_pool); | ||
779 | |||
780 | if (sc->sc_data_direction == DMA_FROM_DEVICE) { | ||
781 | fnic->lport->host_stats.fcp_input_requests++; | ||
782 | fnic->fcp_input_bytes += xfer_len; | ||
783 | } else if (sc->sc_data_direction == DMA_TO_DEVICE) { | ||
784 | fnic->lport->host_stats.fcp_output_requests++; | ||
785 | fnic->fcp_output_bytes += xfer_len; | ||
786 | } else | ||
787 | fnic->lport->host_stats.fcp_control_requests++; | ||
788 | |||
789 | /* Call SCSI completion function to complete the IO */ | ||
790 | if (sc->scsi_done) | ||
791 | sc->scsi_done(sc); | ||
792 | |||
793 | } | ||
794 | |||
795 | /* fnic_fcpio_itmf_cmpl_handler | ||
796 | * Routine to handle itmf completions | ||
797 | */ | ||
798 | static void fnic_fcpio_itmf_cmpl_handler(struct fnic *fnic, | ||
799 | struct fcpio_fw_req *desc) | ||
800 | { | ||
801 | u8 type; | ||
802 | u8 hdr_status; | ||
803 | struct fcpio_tag tag; | ||
804 | u32 id; | ||
805 | struct scsi_cmnd *sc; | ||
806 | struct fnic_io_req *io_req; | ||
807 | unsigned long flags; | ||
808 | spinlock_t *io_lock; | ||
809 | |||
810 | fcpio_header_dec(&desc->hdr, &type, &hdr_status, &tag); | ||
811 | fcpio_tag_id_dec(&tag, &id); | ||
812 | |||
813 | if ((id & FNIC_TAG_MASK) >= FNIC_MAX_IO_REQ) | ||
814 | return; | ||
815 | |||
816 | sc = scsi_host_find_tag(fnic->lport->host, id & FNIC_TAG_MASK); | ||
817 | WARN_ON_ONCE(!sc); | ||
818 | if (!sc) | ||
819 | return; | ||
820 | |||
821 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
822 | spin_lock_irqsave(io_lock, flags); | ||
823 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
824 | WARN_ON_ONCE(!io_req); | ||
825 | if (!io_req) { | ||
826 | spin_unlock_irqrestore(io_lock, flags); | ||
827 | return; | ||
828 | } | ||
829 | |||
830 | if (id & FNIC_TAG_ABORT) { | ||
831 | /* Completion of abort cmd */ | ||
832 | if (CMD_STATE(sc) != FNIC_IOREQ_ABTS_PENDING) { | ||
833 | /* This is a late completion. Ignore it */ | ||
834 | spin_unlock_irqrestore(io_lock, flags); | ||
835 | return; | ||
836 | } | ||
837 | CMD_STATE(sc) = FNIC_IOREQ_ABTS_COMPLETE; | ||
838 | CMD_ABTS_STATUS(sc) = hdr_status; | ||
839 | |||
840 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
841 | "abts cmpl recd. id %d status %s\n", | ||
842 | (int)(id & FNIC_TAG_MASK), | ||
843 | fnic_fcpio_status_to_str(hdr_status)); | ||
844 | |||
845 | /* | ||
846 | * If scsi_eh thread is blocked waiting for abts to complete, | ||
847 | * signal completion to it. IO will be cleaned in the thread | ||
848 | * else clean it in this context | ||
849 | */ | ||
850 | if (io_req->abts_done) { | ||
851 | complete(io_req->abts_done); | ||
852 | spin_unlock_irqrestore(io_lock, flags); | ||
853 | } else { | ||
854 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
855 | "abts cmpl, completing IO\n"); | ||
856 | CMD_SP(sc) = NULL; | ||
857 | sc->result = (DID_ERROR << 16); | ||
858 | |||
859 | spin_unlock_irqrestore(io_lock, flags); | ||
860 | |||
861 | fnic_release_ioreq_buf(fnic, io_req, sc); | ||
862 | mempool_free(io_req, fnic->io_req_pool); | ||
863 | if (sc->scsi_done) | ||
864 | sc->scsi_done(sc); | ||
865 | } | ||
866 | |||
867 | } else if (id & FNIC_TAG_DEV_RST) { | ||
868 | /* Completion of device reset */ | ||
869 | CMD_LR_STATUS(sc) = hdr_status; | ||
870 | CMD_STATE(sc) = FNIC_IOREQ_CMD_COMPLETE; | ||
871 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
872 | "dev reset cmpl recd. id %d status %s\n", | ||
873 | (int)(id & FNIC_TAG_MASK), | ||
874 | fnic_fcpio_status_to_str(hdr_status)); | ||
875 | if (io_req->dr_done) | ||
876 | complete(io_req->dr_done); | ||
877 | spin_unlock_irqrestore(io_lock, flags); | ||
878 | |||
879 | } else { | ||
880 | shost_printk(KERN_ERR, fnic->lport->host, | ||
881 | "Unexpected itmf io state %s tag %x\n", | ||
882 | fnic_ioreq_state_to_str(CMD_STATE(sc)), id); | ||
883 | spin_unlock_irqrestore(io_lock, flags); | ||
884 | } | ||
885 | |||
886 | } | ||
887 | |||
888 | /* | ||
889 | * fnic_fcpio_cmpl_handler | ||
890 | * Routine to service the cq for wq_copy | ||
891 | */ | ||
892 | static int fnic_fcpio_cmpl_handler(struct vnic_dev *vdev, | ||
893 | unsigned int cq_index, | ||
894 | struct fcpio_fw_req *desc) | ||
895 | { | ||
896 | struct fnic *fnic = vnic_dev_priv(vdev); | ||
897 | int ret = 0; | ||
898 | |||
899 | switch (desc->hdr.type) { | ||
900 | case FCPIO_ACK: /* fw copied copy wq desc to its queue */ | ||
901 | fnic_fcpio_ack_handler(fnic, cq_index, desc); | ||
902 | break; | ||
903 | |||
904 | case FCPIO_ICMND_CMPL: /* fw completed a command */ | ||
905 | fnic_fcpio_icmnd_cmpl_handler(fnic, desc); | ||
906 | break; | ||
907 | |||
908 | case FCPIO_ITMF_CMPL: /* fw completed itmf (abort cmd, lun reset)*/ | ||
909 | fnic_fcpio_itmf_cmpl_handler(fnic, desc); | ||
910 | break; | ||
911 | |||
912 | case FCPIO_FLOGI_REG_CMPL: /* fw completed flogi_reg */ | ||
913 | ret = fnic_fcpio_flogi_reg_cmpl_handler(fnic, desc); | ||
914 | break; | ||
915 | |||
916 | case FCPIO_RESET_CMPL: /* fw completed reset */ | ||
917 | ret = fnic_fcpio_fw_reset_cmpl_handler(fnic, desc); | ||
918 | break; | ||
919 | |||
920 | default: | ||
921 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
922 | "firmware completion type %d\n", | ||
923 | desc->hdr.type); | ||
924 | break; | ||
925 | } | ||
926 | |||
927 | return ret; | ||
928 | } | ||
929 | |||
930 | /* | ||
931 | * fnic_wq_copy_cmpl_handler | ||
932 | * Routine to process wq copy | ||
933 | */ | ||
934 | int fnic_wq_copy_cmpl_handler(struct fnic *fnic, int copy_work_to_do) | ||
935 | { | ||
936 | unsigned int wq_work_done = 0; | ||
937 | unsigned int i, cq_index; | ||
938 | unsigned int cur_work_done; | ||
939 | |||
940 | for (i = 0; i < fnic->wq_copy_count; i++) { | ||
941 | cq_index = i + fnic->raw_wq_count + fnic->rq_count; | ||
942 | cur_work_done = vnic_cq_copy_service(&fnic->cq[cq_index], | ||
943 | fnic_fcpio_cmpl_handler, | ||
944 | copy_work_to_do); | ||
945 | wq_work_done += cur_work_done; | ||
946 | } | ||
947 | return wq_work_done; | ||
948 | } | ||
949 | |||
950 | static void fnic_cleanup_io(struct fnic *fnic, int exclude_id) | ||
951 | { | ||
952 | unsigned int i; | ||
953 | struct fnic_io_req *io_req; | ||
954 | unsigned long flags = 0; | ||
955 | struct scsi_cmnd *sc; | ||
956 | spinlock_t *io_lock; | ||
957 | |||
958 | for (i = 0; i < FNIC_MAX_IO_REQ; i++) { | ||
959 | if (i == exclude_id) | ||
960 | continue; | ||
961 | |||
962 | sc = scsi_host_find_tag(fnic->lport->host, i); | ||
963 | if (!sc) | ||
964 | continue; | ||
965 | |||
966 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
967 | spin_lock_irqsave(io_lock, flags); | ||
968 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
969 | if (!io_req) { | ||
970 | spin_unlock_irqrestore(io_lock, flags); | ||
971 | goto cleanup_scsi_cmd; | ||
972 | } | ||
973 | |||
974 | CMD_SP(sc) = NULL; | ||
975 | |||
976 | spin_unlock_irqrestore(io_lock, flags); | ||
977 | |||
978 | /* | ||
979 | * If there is a scsi_cmnd associated with this io_req, then | ||
980 | * free the corresponding state | ||
981 | */ | ||
982 | fnic_release_ioreq_buf(fnic, io_req, sc); | ||
983 | mempool_free(io_req, fnic->io_req_pool); | ||
984 | |||
985 | cleanup_scsi_cmd: | ||
986 | sc->result = DID_TRANSPORT_DISRUPTED << 16; | ||
987 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, "fnic_cleanup_io:" | ||
988 | " DID_TRANSPORT_DISRUPTED\n"); | ||
989 | |||
990 | /* Complete the command to SCSI */ | ||
991 | if (sc->scsi_done) | ||
992 | sc->scsi_done(sc); | ||
993 | } | ||
994 | } | ||
995 | |||
996 | void fnic_wq_copy_cleanup_handler(struct vnic_wq_copy *wq, | ||
997 | struct fcpio_host_req *desc) | ||
998 | { | ||
999 | u32 id; | ||
1000 | struct fnic *fnic = vnic_dev_priv(wq->vdev); | ||
1001 | struct fnic_io_req *io_req; | ||
1002 | struct scsi_cmnd *sc; | ||
1003 | unsigned long flags; | ||
1004 | spinlock_t *io_lock; | ||
1005 | |||
1006 | /* get the tag reference */ | ||
1007 | fcpio_tag_id_dec(&desc->hdr.tag, &id); | ||
1008 | id &= FNIC_TAG_MASK; | ||
1009 | |||
1010 | if (id >= FNIC_MAX_IO_REQ) | ||
1011 | return; | ||
1012 | |||
1013 | sc = scsi_host_find_tag(fnic->lport->host, id); | ||
1014 | if (!sc) | ||
1015 | return; | ||
1016 | |||
1017 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
1018 | spin_lock_irqsave(io_lock, flags); | ||
1019 | |||
1020 | /* Get the IO context which this desc refers to */ | ||
1021 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1022 | |||
1023 | /* fnic interrupts are turned off by now */ | ||
1024 | |||
1025 | if (!io_req) { | ||
1026 | spin_unlock_irqrestore(io_lock, flags); | ||
1027 | goto wq_copy_cleanup_scsi_cmd; | ||
1028 | } | ||
1029 | |||
1030 | CMD_SP(sc) = NULL; | ||
1031 | |||
1032 | spin_unlock_irqrestore(io_lock, flags); | ||
1033 | |||
1034 | fnic_release_ioreq_buf(fnic, io_req, sc); | ||
1035 | mempool_free(io_req, fnic->io_req_pool); | ||
1036 | |||
1037 | wq_copy_cleanup_scsi_cmd: | ||
1038 | sc->result = DID_NO_CONNECT << 16; | ||
1039 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, "wq_copy_cleanup_handler:" | ||
1040 | " DID_NO_CONNECT\n"); | ||
1041 | |||
1042 | if (sc->scsi_done) | ||
1043 | sc->scsi_done(sc); | ||
1044 | } | ||
1045 | |||
1046 | static inline int fnic_queue_abort_io_req(struct fnic *fnic, int tag, | ||
1047 | u32 task_req, u8 *fc_lun, | ||
1048 | struct fnic_io_req *io_req) | ||
1049 | { | ||
1050 | struct vnic_wq_copy *wq = &fnic->wq_copy[0]; | ||
1051 | unsigned long flags; | ||
1052 | |||
1053 | spin_lock_irqsave(&fnic->wq_copy_lock[0], flags); | ||
1054 | |||
1055 | if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) | ||
1056 | free_wq_copy_descs(fnic, wq); | ||
1057 | |||
1058 | if (!vnic_wq_copy_desc_avail(wq)) { | ||
1059 | spin_unlock_irqrestore(&fnic->wq_copy_lock[0], flags); | ||
1060 | return 1; | ||
1061 | } | ||
1062 | fnic_queue_wq_copy_desc_itmf(wq, tag | FNIC_TAG_ABORT, | ||
1063 | 0, task_req, tag, fc_lun, io_req->port_id, | ||
1064 | fnic->config.ra_tov, fnic->config.ed_tov); | ||
1065 | |||
1066 | spin_unlock_irqrestore(&fnic->wq_copy_lock[0], flags); | ||
1067 | return 0; | ||
1068 | } | ||
1069 | |||
1070 | void fnic_rport_exch_reset(struct fnic *fnic, u32 port_id) | ||
1071 | { | ||
1072 | int tag; | ||
1073 | struct fnic_io_req *io_req; | ||
1074 | spinlock_t *io_lock; | ||
1075 | unsigned long flags; | ||
1076 | struct scsi_cmnd *sc; | ||
1077 | struct scsi_lun fc_lun; | ||
1078 | enum fnic_ioreq_state old_ioreq_state; | ||
1079 | |||
1080 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
1081 | fnic->lport->host, | ||
1082 | "fnic_rport_reset_exch called portid 0x%06x\n", | ||
1083 | port_id); | ||
1084 | |||
1085 | if (fnic->in_remove) | ||
1086 | return; | ||
1087 | |||
1088 | for (tag = 0; tag < FNIC_MAX_IO_REQ; tag++) { | ||
1089 | sc = scsi_host_find_tag(fnic->lport->host, tag); | ||
1090 | if (!sc) | ||
1091 | continue; | ||
1092 | |||
1093 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
1094 | spin_lock_irqsave(io_lock, flags); | ||
1095 | |||
1096 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1097 | |||
1098 | if (!io_req || io_req->port_id != port_id) { | ||
1099 | spin_unlock_irqrestore(io_lock, flags); | ||
1100 | continue; | ||
1101 | } | ||
1102 | |||
1103 | /* | ||
1104 | * Found IO that is still pending with firmware and | ||
1105 | * belongs to rport that went away | ||
1106 | */ | ||
1107 | if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) { | ||
1108 | spin_unlock_irqrestore(io_lock, flags); | ||
1109 | continue; | ||
1110 | } | ||
1111 | old_ioreq_state = CMD_STATE(sc); | ||
1112 | CMD_STATE(sc) = FNIC_IOREQ_ABTS_PENDING; | ||
1113 | CMD_ABTS_STATUS(sc) = FCPIO_INVALID_CODE; | ||
1114 | |||
1115 | BUG_ON(io_req->abts_done); | ||
1116 | |||
1117 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1118 | "fnic_rport_reset_exch: Issuing abts\n"); | ||
1119 | |||
1120 | spin_unlock_irqrestore(io_lock, flags); | ||
1121 | |||
1122 | /* Now queue the abort command to firmware */ | ||
1123 | int_to_scsilun(sc->device->lun, &fc_lun); | ||
1124 | |||
1125 | if (fnic_queue_abort_io_req(fnic, tag, | ||
1126 | FCPIO_ITMF_ABT_TASK_TERM, | ||
1127 | fc_lun.scsi_lun, io_req)) { | ||
1128 | /* | ||
1129 | * Revert the cmd state back to old state, if | ||
1130 | * it hasnt changed in between. This cmd will get | ||
1131 | * aborted later by scsi_eh, or cleaned up during | ||
1132 | * lun reset | ||
1133 | */ | ||
1134 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
1135 | |||
1136 | spin_lock_irqsave(io_lock, flags); | ||
1137 | if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) | ||
1138 | CMD_STATE(sc) = old_ioreq_state; | ||
1139 | spin_unlock_irqrestore(io_lock, flags); | ||
1140 | } | ||
1141 | } | ||
1142 | |||
1143 | } | ||
1144 | |||
1145 | void fnic_terminate_rport_io(struct fc_rport *rport) | ||
1146 | { | ||
1147 | int tag; | ||
1148 | struct fnic_io_req *io_req; | ||
1149 | spinlock_t *io_lock; | ||
1150 | unsigned long flags; | ||
1151 | struct scsi_cmnd *sc; | ||
1152 | struct scsi_lun fc_lun; | ||
1153 | struct fc_rport_libfc_priv *rdata = rport->dd_data; | ||
1154 | struct fc_lport *lport = rdata->local_port; | ||
1155 | struct fnic *fnic = lport_priv(lport); | ||
1156 | struct fc_rport *cmd_rport; | ||
1157 | enum fnic_ioreq_state old_ioreq_state; | ||
1158 | |||
1159 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
1160 | fnic->lport->host, "fnic_terminate_rport_io called" | ||
1161 | " wwpn 0x%llx, wwnn0x%llx, portid 0x%06x\n", | ||
1162 | rport->port_name, rport->node_name, | ||
1163 | rport->port_id); | ||
1164 | |||
1165 | if (fnic->in_remove) | ||
1166 | return; | ||
1167 | |||
1168 | for (tag = 0; tag < FNIC_MAX_IO_REQ; tag++) { | ||
1169 | sc = scsi_host_find_tag(fnic->lport->host, tag); | ||
1170 | if (!sc) | ||
1171 | continue; | ||
1172 | |||
1173 | cmd_rport = starget_to_rport(scsi_target(sc->device)); | ||
1174 | if (rport != cmd_rport) | ||
1175 | continue; | ||
1176 | |||
1177 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
1178 | spin_lock_irqsave(io_lock, flags); | ||
1179 | |||
1180 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1181 | |||
1182 | if (!io_req || rport != cmd_rport) { | ||
1183 | spin_unlock_irqrestore(io_lock, flags); | ||
1184 | continue; | ||
1185 | } | ||
1186 | |||
1187 | /* | ||
1188 | * Found IO that is still pending with firmware and | ||
1189 | * belongs to rport that went away | ||
1190 | */ | ||
1191 | if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) { | ||
1192 | spin_unlock_irqrestore(io_lock, flags); | ||
1193 | continue; | ||
1194 | } | ||
1195 | old_ioreq_state = CMD_STATE(sc); | ||
1196 | CMD_STATE(sc) = FNIC_IOREQ_ABTS_PENDING; | ||
1197 | CMD_ABTS_STATUS(sc) = FCPIO_INVALID_CODE; | ||
1198 | |||
1199 | BUG_ON(io_req->abts_done); | ||
1200 | |||
1201 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
1202 | fnic->lport->host, | ||
1203 | "fnic_terminate_rport_io: Issuing abts\n"); | ||
1204 | |||
1205 | spin_unlock_irqrestore(io_lock, flags); | ||
1206 | |||
1207 | /* Now queue the abort command to firmware */ | ||
1208 | int_to_scsilun(sc->device->lun, &fc_lun); | ||
1209 | |||
1210 | if (fnic_queue_abort_io_req(fnic, tag, | ||
1211 | FCPIO_ITMF_ABT_TASK_TERM, | ||
1212 | fc_lun.scsi_lun, io_req)) { | ||
1213 | /* | ||
1214 | * Revert the cmd state back to old state, if | ||
1215 | * it hasnt changed in between. This cmd will get | ||
1216 | * aborted later by scsi_eh, or cleaned up during | ||
1217 | * lun reset | ||
1218 | */ | ||
1219 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
1220 | |||
1221 | spin_lock_irqsave(io_lock, flags); | ||
1222 | if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) | ||
1223 | CMD_STATE(sc) = old_ioreq_state; | ||
1224 | spin_unlock_irqrestore(io_lock, flags); | ||
1225 | } | ||
1226 | } | ||
1227 | |||
1228 | } | ||
1229 | |||
1230 | static void fnic_block_error_handler(struct scsi_cmnd *sc) | ||
1231 | { | ||
1232 | struct Scsi_Host *shost = sc->device->host; | ||
1233 | struct fc_rport *rport = starget_to_rport(scsi_target(sc->device)); | ||
1234 | unsigned long flags; | ||
1235 | |||
1236 | spin_lock_irqsave(shost->host_lock, flags); | ||
1237 | while (rport->port_state == FC_PORTSTATE_BLOCKED) { | ||
1238 | spin_unlock_irqrestore(shost->host_lock, flags); | ||
1239 | msleep(1000); | ||
1240 | spin_lock_irqsave(shost->host_lock, flags); | ||
1241 | } | ||
1242 | spin_unlock_irqrestore(shost->host_lock, flags); | ||
1243 | |||
1244 | } | ||
1245 | |||
1246 | /* | ||
1247 | * This function is exported to SCSI for sending abort cmnds. | ||
1248 | * A SCSI IO is represented by a io_req in the driver. | ||
1249 | * The ioreq is linked to the SCSI Cmd, thus a link with the ULP's IO. | ||
1250 | */ | ||
1251 | int fnic_abort_cmd(struct scsi_cmnd *sc) | ||
1252 | { | ||
1253 | struct fc_lport *lp; | ||
1254 | struct fnic *fnic; | ||
1255 | struct fnic_io_req *io_req; | ||
1256 | struct fc_rport *rport; | ||
1257 | spinlock_t *io_lock; | ||
1258 | unsigned long flags; | ||
1259 | int ret = SUCCESS; | ||
1260 | u32 task_req; | ||
1261 | struct scsi_lun fc_lun; | ||
1262 | DECLARE_COMPLETION_ONSTACK(tm_done); | ||
1263 | |||
1264 | /* Wait for rport to unblock */ | ||
1265 | fnic_block_error_handler(sc); | ||
1266 | |||
1267 | /* Get local-port, check ready and link up */ | ||
1268 | lp = shost_priv(sc->device->host); | ||
1269 | |||
1270 | fnic = lport_priv(lp); | ||
1271 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
1272 | fnic->lport->host, | ||
1273 | "Abort Cmd called FCID 0x%x, LUN 0x%x TAG %d\n", | ||
1274 | (starget_to_rport(scsi_target(sc->device)))->port_id, | ||
1275 | sc->device->lun, sc->request->tag); | ||
1276 | |||
1277 | if (lp->state != LPORT_ST_READY || !(lp->link_up)) { | ||
1278 | ret = FAILED; | ||
1279 | goto fnic_abort_cmd_end; | ||
1280 | } | ||
1281 | |||
1282 | /* | ||
1283 | * Avoid a race between SCSI issuing the abort and the device | ||
1284 | * completing the command. | ||
1285 | * | ||
1286 | * If the command is already completed by the fw cmpl code, | ||
1287 | * we just return SUCCESS from here. This means that the abort | ||
1288 | * succeeded. In the SCSI ML, since the timeout for command has | ||
1289 | * happened, the completion wont actually complete the command | ||
1290 | * and it will be considered as an aborted command | ||
1291 | * | ||
1292 | * The CMD_SP will not be cleared except while holding io_req_lock. | ||
1293 | */ | ||
1294 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
1295 | spin_lock_irqsave(io_lock, flags); | ||
1296 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1297 | if (!io_req) { | ||
1298 | spin_unlock_irqrestore(io_lock, flags); | ||
1299 | goto fnic_abort_cmd_end; | ||
1300 | } | ||
1301 | |||
1302 | io_req->abts_done = &tm_done; | ||
1303 | |||
1304 | if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) { | ||
1305 | spin_unlock_irqrestore(io_lock, flags); | ||
1306 | goto wait_pending; | ||
1307 | } | ||
1308 | /* | ||
1309 | * Command is still pending, need to abort it | ||
1310 | * If the firmware completes the command after this point, | ||
1311 | * the completion wont be done till mid-layer, since abort | ||
1312 | * has already started. | ||
1313 | */ | ||
1314 | CMD_STATE(sc) = FNIC_IOREQ_ABTS_PENDING; | ||
1315 | CMD_ABTS_STATUS(sc) = FCPIO_INVALID_CODE; | ||
1316 | |||
1317 | spin_unlock_irqrestore(io_lock, flags); | ||
1318 | |||
1319 | /* | ||
1320 | * Check readiness of the remote port. If the path to remote | ||
1321 | * port is up, then send abts to the remote port to terminate | ||
1322 | * the IO. Else, just locally terminate the IO in the firmware | ||
1323 | */ | ||
1324 | rport = starget_to_rport(scsi_target(sc->device)); | ||
1325 | if (fc_remote_port_chkready(rport) == 0) | ||
1326 | task_req = FCPIO_ITMF_ABT_TASK; | ||
1327 | else | ||
1328 | task_req = FCPIO_ITMF_ABT_TASK_TERM; | ||
1329 | |||
1330 | /* Now queue the abort command to firmware */ | ||
1331 | int_to_scsilun(sc->device->lun, &fc_lun); | ||
1332 | |||
1333 | if (fnic_queue_abort_io_req(fnic, sc->request->tag, task_req, | ||
1334 | fc_lun.scsi_lun, io_req)) { | ||
1335 | spin_lock_irqsave(io_lock, flags); | ||
1336 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1337 | if (io_req) | ||
1338 | io_req->abts_done = NULL; | ||
1339 | spin_unlock_irqrestore(io_lock, flags); | ||
1340 | ret = FAILED; | ||
1341 | goto fnic_abort_cmd_end; | ||
1342 | } | ||
1343 | |||
1344 | /* | ||
1345 | * We queued an abort IO, wait for its completion. | ||
1346 | * Once the firmware completes the abort command, it will | ||
1347 | * wake up this thread. | ||
1348 | */ | ||
1349 | wait_pending: | ||
1350 | wait_for_completion_timeout(&tm_done, | ||
1351 | msecs_to_jiffies | ||
1352 | (2 * fnic->config.ra_tov + | ||
1353 | fnic->config.ed_tov)); | ||
1354 | |||
1355 | /* Check the abort status */ | ||
1356 | spin_lock_irqsave(io_lock, flags); | ||
1357 | |||
1358 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1359 | if (!io_req) { | ||
1360 | spin_unlock_irqrestore(io_lock, flags); | ||
1361 | ret = FAILED; | ||
1362 | goto fnic_abort_cmd_end; | ||
1363 | } | ||
1364 | io_req->abts_done = NULL; | ||
1365 | |||
1366 | /* fw did not complete abort, timed out */ | ||
1367 | if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) { | ||
1368 | spin_unlock_irqrestore(io_lock, flags); | ||
1369 | ret = FAILED; | ||
1370 | goto fnic_abort_cmd_end; | ||
1371 | } | ||
1372 | |||
1373 | /* | ||
1374 | * firmware completed the abort, check the status, | ||
1375 | * free the io_req irrespective of failure or success | ||
1376 | */ | ||
1377 | if (CMD_ABTS_STATUS(sc) != FCPIO_SUCCESS) | ||
1378 | ret = FAILED; | ||
1379 | |||
1380 | CMD_SP(sc) = NULL; | ||
1381 | |||
1382 | spin_unlock_irqrestore(io_lock, flags); | ||
1383 | |||
1384 | fnic_release_ioreq_buf(fnic, io_req, sc); | ||
1385 | mempool_free(io_req, fnic->io_req_pool); | ||
1386 | |||
1387 | fnic_abort_cmd_end: | ||
1388 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1389 | "Returning from abort cmd %s\n", | ||
1390 | (ret == SUCCESS) ? | ||
1391 | "SUCCESS" : "FAILED"); | ||
1392 | return ret; | ||
1393 | } | ||
1394 | |||
1395 | static inline int fnic_queue_dr_io_req(struct fnic *fnic, | ||
1396 | struct scsi_cmnd *sc, | ||
1397 | struct fnic_io_req *io_req) | ||
1398 | { | ||
1399 | struct vnic_wq_copy *wq = &fnic->wq_copy[0]; | ||
1400 | struct scsi_lun fc_lun; | ||
1401 | int ret = 0; | ||
1402 | unsigned long intr_flags; | ||
1403 | |||
1404 | spin_lock_irqsave(&fnic->wq_copy_lock[0], intr_flags); | ||
1405 | |||
1406 | if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) | ||
1407 | free_wq_copy_descs(fnic, wq); | ||
1408 | |||
1409 | if (!vnic_wq_copy_desc_avail(wq)) { | ||
1410 | ret = -EAGAIN; | ||
1411 | goto lr_io_req_end; | ||
1412 | } | ||
1413 | |||
1414 | /* fill in the lun info */ | ||
1415 | int_to_scsilun(sc->device->lun, &fc_lun); | ||
1416 | |||
1417 | fnic_queue_wq_copy_desc_itmf(wq, sc->request->tag | FNIC_TAG_DEV_RST, | ||
1418 | 0, FCPIO_ITMF_LUN_RESET, SCSI_NO_TAG, | ||
1419 | fc_lun.scsi_lun, io_req->port_id, | ||
1420 | fnic->config.ra_tov, fnic->config.ed_tov); | ||
1421 | |||
1422 | lr_io_req_end: | ||
1423 | spin_unlock_irqrestore(&fnic->wq_copy_lock[0], intr_flags); | ||
1424 | |||
1425 | return ret; | ||
1426 | } | ||
1427 | |||
1428 | /* | ||
1429 | * Clean up any pending aborts on the lun | ||
1430 | * For each outstanding IO on this lun, whose abort is not completed by fw, | ||
1431 | * issue a local abort. Wait for abort to complete. Return 0 if all commands | ||
1432 | * successfully aborted, 1 otherwise | ||
1433 | */ | ||
1434 | static int fnic_clean_pending_aborts(struct fnic *fnic, | ||
1435 | struct scsi_cmnd *lr_sc) | ||
1436 | { | ||
1437 | int tag; | ||
1438 | struct fnic_io_req *io_req; | ||
1439 | spinlock_t *io_lock; | ||
1440 | unsigned long flags; | ||
1441 | int ret = 0; | ||
1442 | struct scsi_cmnd *sc; | ||
1443 | struct fc_rport *rport; | ||
1444 | struct scsi_lun fc_lun; | ||
1445 | struct scsi_device *lun_dev = lr_sc->device; | ||
1446 | DECLARE_COMPLETION_ONSTACK(tm_done); | ||
1447 | |||
1448 | for (tag = 0; tag < FNIC_MAX_IO_REQ; tag++) { | ||
1449 | sc = scsi_host_find_tag(fnic->lport->host, tag); | ||
1450 | /* | ||
1451 | * ignore this lun reset cmd or cmds that do not belong to | ||
1452 | * this lun | ||
1453 | */ | ||
1454 | if (!sc || sc == lr_sc || sc->device != lun_dev) | ||
1455 | continue; | ||
1456 | |||
1457 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
1458 | spin_lock_irqsave(io_lock, flags); | ||
1459 | |||
1460 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1461 | |||
1462 | if (!io_req || sc->device != lun_dev) { | ||
1463 | spin_unlock_irqrestore(io_lock, flags); | ||
1464 | continue; | ||
1465 | } | ||
1466 | |||
1467 | /* | ||
1468 | * Found IO that is still pending with firmware and | ||
1469 | * belongs to the LUN that we are resetting | ||
1470 | */ | ||
1471 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1472 | "Found IO in %s on lun\n", | ||
1473 | fnic_ioreq_state_to_str(CMD_STATE(sc))); | ||
1474 | |||
1475 | BUG_ON(CMD_STATE(sc) != FNIC_IOREQ_ABTS_PENDING); | ||
1476 | |||
1477 | CMD_ABTS_STATUS(sc) = FCPIO_INVALID_CODE; | ||
1478 | io_req->abts_done = &tm_done; | ||
1479 | spin_unlock_irqrestore(io_lock, flags); | ||
1480 | |||
1481 | /* Now queue the abort command to firmware */ | ||
1482 | int_to_scsilun(sc->device->lun, &fc_lun); | ||
1483 | rport = starget_to_rport(scsi_target(sc->device)); | ||
1484 | |||
1485 | if (fnic_queue_abort_io_req(fnic, tag, | ||
1486 | FCPIO_ITMF_ABT_TASK_TERM, | ||
1487 | fc_lun.scsi_lun, io_req)) { | ||
1488 | spin_lock_irqsave(io_lock, flags); | ||
1489 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1490 | if (io_req) | ||
1491 | io_req->abts_done = NULL; | ||
1492 | spin_unlock_irqrestore(io_lock, flags); | ||
1493 | ret = 1; | ||
1494 | goto clean_pending_aborts_end; | ||
1495 | } | ||
1496 | |||
1497 | wait_for_completion_timeout(&tm_done, | ||
1498 | msecs_to_jiffies | ||
1499 | (fnic->config.ed_tov)); | ||
1500 | |||
1501 | /* Recheck cmd state to check if it is now aborted */ | ||
1502 | spin_lock_irqsave(io_lock, flags); | ||
1503 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1504 | if (!io_req) { | ||
1505 | spin_unlock_irqrestore(io_lock, flags); | ||
1506 | ret = 1; | ||
1507 | goto clean_pending_aborts_end; | ||
1508 | } | ||
1509 | |||
1510 | io_req->abts_done = NULL; | ||
1511 | |||
1512 | /* if abort is still pending with fw, fail */ | ||
1513 | if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) { | ||
1514 | spin_unlock_irqrestore(io_lock, flags); | ||
1515 | ret = 1; | ||
1516 | goto clean_pending_aborts_end; | ||
1517 | } | ||
1518 | CMD_SP(sc) = NULL; | ||
1519 | spin_unlock_irqrestore(io_lock, flags); | ||
1520 | |||
1521 | fnic_release_ioreq_buf(fnic, io_req, sc); | ||
1522 | mempool_free(io_req, fnic->io_req_pool); | ||
1523 | } | ||
1524 | |||
1525 | clean_pending_aborts_end: | ||
1526 | return ret; | ||
1527 | } | ||
1528 | |||
1529 | /* | ||
1530 | * SCSI Eh thread issues a Lun Reset when one or more commands on a LUN | ||
1531 | * fail to get aborted. It calls driver's eh_device_reset with a SCSI command | ||
1532 | * on the LUN. | ||
1533 | */ | ||
1534 | int fnic_device_reset(struct scsi_cmnd *sc) | ||
1535 | { | ||
1536 | struct fc_lport *lp; | ||
1537 | struct fnic *fnic; | ||
1538 | struct fnic_io_req *io_req; | ||
1539 | struct fc_rport *rport; | ||
1540 | int status; | ||
1541 | int ret = FAILED; | ||
1542 | spinlock_t *io_lock; | ||
1543 | unsigned long flags; | ||
1544 | DECLARE_COMPLETION_ONSTACK(tm_done); | ||
1545 | |||
1546 | /* Wait for rport to unblock */ | ||
1547 | fnic_block_error_handler(sc); | ||
1548 | |||
1549 | /* Get local-port, check ready and link up */ | ||
1550 | lp = shost_priv(sc->device->host); | ||
1551 | |||
1552 | fnic = lport_priv(lp); | ||
1553 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
1554 | fnic->lport->host, | ||
1555 | "Device reset called FCID 0x%x, LUN 0x%x\n", | ||
1556 | (starget_to_rport(scsi_target(sc->device)))->port_id, | ||
1557 | sc->device->lun); | ||
1558 | |||
1559 | |||
1560 | if (lp->state != LPORT_ST_READY || !(lp->link_up)) | ||
1561 | goto fnic_device_reset_end; | ||
1562 | |||
1563 | /* Check if remote port up */ | ||
1564 | rport = starget_to_rport(scsi_target(sc->device)); | ||
1565 | if (fc_remote_port_chkready(rport)) | ||
1566 | goto fnic_device_reset_end; | ||
1567 | |||
1568 | io_lock = fnic_io_lock_hash(fnic, sc); | ||
1569 | spin_lock_irqsave(io_lock, flags); | ||
1570 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1571 | |||
1572 | /* | ||
1573 | * If there is a io_req attached to this command, then use it, | ||
1574 | * else allocate a new one. | ||
1575 | */ | ||
1576 | if (!io_req) { | ||
1577 | io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); | ||
1578 | if (!io_req) { | ||
1579 | spin_unlock_irqrestore(io_lock, flags); | ||
1580 | goto fnic_device_reset_end; | ||
1581 | } | ||
1582 | memset(io_req, 0, sizeof(*io_req)); | ||
1583 | io_req->port_id = rport->port_id; | ||
1584 | CMD_SP(sc) = (char *)io_req; | ||
1585 | } | ||
1586 | io_req->dr_done = &tm_done; | ||
1587 | CMD_STATE(sc) = FNIC_IOREQ_CMD_PENDING; | ||
1588 | CMD_LR_STATUS(sc) = FCPIO_INVALID_CODE; | ||
1589 | spin_unlock_irqrestore(io_lock, flags); | ||
1590 | |||
1591 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, "TAG %d\n", | ||
1592 | sc->request->tag); | ||
1593 | |||
1594 | /* | ||
1595 | * issue the device reset, if enqueue failed, clean up the ioreq | ||
1596 | * and break assoc with scsi cmd | ||
1597 | */ | ||
1598 | if (fnic_queue_dr_io_req(fnic, sc, io_req)) { | ||
1599 | spin_lock_irqsave(io_lock, flags); | ||
1600 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1601 | if (io_req) | ||
1602 | io_req->dr_done = NULL; | ||
1603 | goto fnic_device_reset_clean; | ||
1604 | } | ||
1605 | |||
1606 | /* | ||
1607 | * Wait on the local completion for LUN reset. The io_req may be | ||
1608 | * freed while we wait since we hold no lock. | ||
1609 | */ | ||
1610 | wait_for_completion_timeout(&tm_done, | ||
1611 | msecs_to_jiffies(FNIC_LUN_RESET_TIMEOUT)); | ||
1612 | |||
1613 | spin_lock_irqsave(io_lock, flags); | ||
1614 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1615 | if (!io_req) { | ||
1616 | spin_unlock_irqrestore(io_lock, flags); | ||
1617 | goto fnic_device_reset_end; | ||
1618 | } | ||
1619 | io_req->dr_done = NULL; | ||
1620 | |||
1621 | status = CMD_LR_STATUS(sc); | ||
1622 | spin_unlock_irqrestore(io_lock, flags); | ||
1623 | |||
1624 | /* | ||
1625 | * If lun reset not completed, bail out with failed. io_req | ||
1626 | * gets cleaned up during higher levels of EH | ||
1627 | */ | ||
1628 | if (status == FCPIO_INVALID_CODE) { | ||
1629 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1630 | "Device reset timed out\n"); | ||
1631 | goto fnic_device_reset_end; | ||
1632 | } | ||
1633 | |||
1634 | /* Completed, but not successful, clean up the io_req, return fail */ | ||
1635 | if (status != FCPIO_SUCCESS) { | ||
1636 | spin_lock_irqsave(io_lock, flags); | ||
1637 | FNIC_SCSI_DBG(KERN_DEBUG, | ||
1638 | fnic->lport->host, | ||
1639 | "Device reset completed - failed\n"); | ||
1640 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1641 | goto fnic_device_reset_clean; | ||
1642 | } | ||
1643 | |||
1644 | /* | ||
1645 | * Clean up any aborts on this lun that have still not | ||
1646 | * completed. If any of these fail, then LUN reset fails. | ||
1647 | * clean_pending_aborts cleans all cmds on this lun except | ||
1648 | * the lun reset cmd. If all cmds get cleaned, the lun reset | ||
1649 | * succeeds | ||
1650 | */ | ||
1651 | if (fnic_clean_pending_aborts(fnic, sc)) { | ||
1652 | spin_lock_irqsave(io_lock, flags); | ||
1653 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1654 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1655 | "Device reset failed" | ||
1656 | " since could not abort all IOs\n"); | ||
1657 | goto fnic_device_reset_clean; | ||
1658 | } | ||
1659 | |||
1660 | /* Clean lun reset command */ | ||
1661 | spin_lock_irqsave(io_lock, flags); | ||
1662 | io_req = (struct fnic_io_req *)CMD_SP(sc); | ||
1663 | if (io_req) | ||
1664 | /* Completed, and successful */ | ||
1665 | ret = SUCCESS; | ||
1666 | |||
1667 | fnic_device_reset_clean: | ||
1668 | if (io_req) | ||
1669 | CMD_SP(sc) = NULL; | ||
1670 | |||
1671 | spin_unlock_irqrestore(io_lock, flags); | ||
1672 | |||
1673 | if (io_req) { | ||
1674 | fnic_release_ioreq_buf(fnic, io_req, sc); | ||
1675 | mempool_free(io_req, fnic->io_req_pool); | ||
1676 | } | ||
1677 | |||
1678 | fnic_device_reset_end: | ||
1679 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1680 | "Returning from device reset %s\n", | ||
1681 | (ret == SUCCESS) ? | ||
1682 | "SUCCESS" : "FAILED"); | ||
1683 | return ret; | ||
1684 | } | ||
1685 | |||
1686 | /* Clean up all IOs, clean up libFC local port */ | ||
1687 | int fnic_reset(struct Scsi_Host *shost) | ||
1688 | { | ||
1689 | struct fc_lport *lp; | ||
1690 | struct fnic *fnic; | ||
1691 | int ret = SUCCESS; | ||
1692 | |||
1693 | lp = shost_priv(shost); | ||
1694 | fnic = lport_priv(lp); | ||
1695 | |||
1696 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1697 | "fnic_reset called\n"); | ||
1698 | |||
1699 | /* | ||
1700 | * Reset local port, this will clean up libFC exchanges, | ||
1701 | * reset remote port sessions, and if link is up, begin flogi | ||
1702 | */ | ||
1703 | if (lp->tt.lport_reset(lp)) | ||
1704 | ret = FAILED; | ||
1705 | |||
1706 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1707 | "Returning from fnic reset %s\n", | ||
1708 | (ret == SUCCESS) ? | ||
1709 | "SUCCESS" : "FAILED"); | ||
1710 | |||
1711 | return ret; | ||
1712 | } | ||
1713 | |||
1714 | /* | ||
1715 | * SCSI Error handling calls driver's eh_host_reset if all prior | ||
1716 | * error handling levels return FAILED. If host reset completes | ||
1717 | * successfully, and if link is up, then Fabric login begins. | ||
1718 | * | ||
1719 | * Host Reset is the highest level of error recovery. If this fails, then | ||
1720 | * host is offlined by SCSI. | ||
1721 | * | ||
1722 | */ | ||
1723 | int fnic_host_reset(struct scsi_cmnd *sc) | ||
1724 | { | ||
1725 | int ret; | ||
1726 | unsigned long wait_host_tmo; | ||
1727 | struct Scsi_Host *shost = sc->device->host; | ||
1728 | struct fc_lport *lp = shost_priv(shost); | ||
1729 | |||
1730 | /* | ||
1731 | * If fnic_reset is successful, wait for fabric login to complete | ||
1732 | * scsi-ml tries to send a TUR to every device if host reset is | ||
1733 | * successful, so before returning to scsi, fabric should be up | ||
1734 | */ | ||
1735 | ret = fnic_reset(shost); | ||
1736 | if (ret == SUCCESS) { | ||
1737 | wait_host_tmo = jiffies + FNIC_HOST_RESET_SETTLE_TIME * HZ; | ||
1738 | ret = FAILED; | ||
1739 | while (time_before(jiffies, wait_host_tmo)) { | ||
1740 | if ((lp->state == LPORT_ST_READY) && | ||
1741 | (lp->link_up)) { | ||
1742 | ret = SUCCESS; | ||
1743 | break; | ||
1744 | } | ||
1745 | ssleep(1); | ||
1746 | } | ||
1747 | } | ||
1748 | |||
1749 | return ret; | ||
1750 | } | ||
1751 | |||
1752 | /* | ||
1753 | * This fxn is called from libFC when host is removed | ||
1754 | */ | ||
1755 | void fnic_scsi_abort_io(struct fc_lport *lp) | ||
1756 | { | ||
1757 | int err = 0; | ||
1758 | unsigned long flags; | ||
1759 | enum fnic_state old_state; | ||
1760 | struct fnic *fnic = lport_priv(lp); | ||
1761 | DECLARE_COMPLETION_ONSTACK(remove_wait); | ||
1762 | |||
1763 | /* Issue firmware reset for fnic, wait for reset to complete */ | ||
1764 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
1765 | fnic->remove_wait = &remove_wait; | ||
1766 | old_state = fnic->state; | ||
1767 | fnic->state = FNIC_IN_FC_TRANS_ETH_MODE; | ||
1768 | vnic_dev_del_addr(fnic->vdev, fnic->data_src_addr); | ||
1769 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
1770 | |||
1771 | err = fnic_fw_reset_handler(fnic); | ||
1772 | if (err) { | ||
1773 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
1774 | if (fnic->state == FNIC_IN_FC_TRANS_ETH_MODE) | ||
1775 | fnic->state = old_state; | ||
1776 | fnic->remove_wait = NULL; | ||
1777 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
1778 | return; | ||
1779 | } | ||
1780 | |||
1781 | /* Wait for firmware reset to complete */ | ||
1782 | wait_for_completion_timeout(&remove_wait, | ||
1783 | msecs_to_jiffies(FNIC_RMDEVICE_TIMEOUT)); | ||
1784 | |||
1785 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
1786 | fnic->remove_wait = NULL; | ||
1787 | FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, | ||
1788 | "fnic_scsi_abort_io %s\n", | ||
1789 | (fnic->state == FNIC_IN_ETH_MODE) ? | ||
1790 | "SUCCESS" : "FAILED"); | ||
1791 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
1792 | |||
1793 | } | ||
1794 | |||
1795 | /* | ||
1796 | * This fxn called from libFC to clean up driver IO state on link down | ||
1797 | */ | ||
1798 | void fnic_scsi_cleanup(struct fc_lport *lp) | ||
1799 | { | ||
1800 | unsigned long flags; | ||
1801 | enum fnic_state old_state; | ||
1802 | struct fnic *fnic = lport_priv(lp); | ||
1803 | |||
1804 | /* issue fw reset */ | ||
1805 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
1806 | old_state = fnic->state; | ||
1807 | fnic->state = FNIC_IN_FC_TRANS_ETH_MODE; | ||
1808 | vnic_dev_del_addr(fnic->vdev, fnic->data_src_addr); | ||
1809 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
1810 | |||
1811 | if (fnic_fw_reset_handler(fnic)) { | ||
1812 | spin_lock_irqsave(&fnic->fnic_lock, flags); | ||
1813 | if (fnic->state == FNIC_IN_FC_TRANS_ETH_MODE) | ||
1814 | fnic->state = old_state; | ||
1815 | spin_unlock_irqrestore(&fnic->fnic_lock, flags); | ||
1816 | } | ||
1817 | |||
1818 | } | ||
1819 | |||
1820 | void fnic_empty_scsi_cleanup(struct fc_lport *lp) | ||
1821 | { | ||
1822 | } | ||
1823 | |||
1824 | void fnic_exch_mgr_reset(struct fc_lport *lp, u32 sid, u32 did) | ||
1825 | { | ||
1826 | struct fnic *fnic = lport_priv(lp); | ||
1827 | |||
1828 | /* Non-zero sid, nothing to do */ | ||
1829 | if (sid) | ||
1830 | goto call_fc_exch_mgr_reset; | ||
1831 | |||
1832 | if (did) { | ||
1833 | fnic_rport_exch_reset(fnic, did); | ||
1834 | goto call_fc_exch_mgr_reset; | ||
1835 | } | ||
1836 | |||
1837 | /* | ||
1838 | * sid = 0, did = 0 | ||
1839 | * link down or device being removed | ||
1840 | */ | ||
1841 | if (!fnic->in_remove) | ||
1842 | fnic_scsi_cleanup(lp); | ||
1843 | else | ||
1844 | fnic_scsi_abort_io(lp); | ||
1845 | |||
1846 | /* call libFC exch mgr reset to reset its exchanges */ | ||
1847 | call_fc_exch_mgr_reset: | ||
1848 | fc_exch_mgr_reset(lp, sid, did); | ||
1849 | |||
1850 | } | ||
diff --git a/drivers/scsi/fnic/rq_enet_desc.h b/drivers/scsi/fnic/rq_enet_desc.h new file mode 100644 index 000000000000..92e80ae6b725 --- /dev/null +++ b/drivers/scsi/fnic/rq_enet_desc.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _RQ_ENET_DESC_H_ | ||
19 | #define _RQ_ENET_DESC_H_ | ||
20 | |||
21 | /* Ethernet receive queue descriptor: 16B */ | ||
22 | struct rq_enet_desc { | ||
23 | __le64 address; | ||
24 | __le16 length_type; | ||
25 | u8 reserved[6]; | ||
26 | }; | ||
27 | |||
28 | enum rq_enet_type_types { | ||
29 | RQ_ENET_TYPE_ONLY_SOP = 0, | ||
30 | RQ_ENET_TYPE_NOT_SOP = 1, | ||
31 | RQ_ENET_TYPE_RESV2 = 2, | ||
32 | RQ_ENET_TYPE_RESV3 = 3, | ||
33 | }; | ||
34 | |||
35 | #define RQ_ENET_ADDR_BITS 64 | ||
36 | #define RQ_ENET_LEN_BITS 14 | ||
37 | #define RQ_ENET_LEN_MASK ((1 << RQ_ENET_LEN_BITS) - 1) | ||
38 | #define RQ_ENET_TYPE_BITS 2 | ||
39 | #define RQ_ENET_TYPE_MASK ((1 << RQ_ENET_TYPE_BITS) - 1) | ||
40 | |||
41 | static inline void rq_enet_desc_enc(struct rq_enet_desc *desc, | ||
42 | u64 address, u8 type, u16 length) | ||
43 | { | ||
44 | desc->address = cpu_to_le64(address); | ||
45 | desc->length_type = cpu_to_le16((length & RQ_ENET_LEN_MASK) | | ||
46 | ((type & RQ_ENET_TYPE_MASK) << RQ_ENET_LEN_BITS)); | ||
47 | } | ||
48 | |||
49 | static inline void rq_enet_desc_dec(struct rq_enet_desc *desc, | ||
50 | u64 *address, u8 *type, u16 *length) | ||
51 | { | ||
52 | *address = le64_to_cpu(desc->address); | ||
53 | *length = le16_to_cpu(desc->length_type) & RQ_ENET_LEN_MASK; | ||
54 | *type = (u8)((le16_to_cpu(desc->length_type) >> RQ_ENET_LEN_BITS) & | ||
55 | RQ_ENET_TYPE_MASK); | ||
56 | } | ||
57 | |||
58 | #endif /* _RQ_ENET_DESC_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_cq.c b/drivers/scsi/fnic/vnic_cq.c new file mode 100644 index 000000000000..c5db32eda5ef --- /dev/null +++ b/drivers/scsi/fnic/vnic_cq.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #include <linux/errno.h> | ||
19 | #include <linux/types.h> | ||
20 | #include <linux/pci.h> | ||
21 | #include "vnic_dev.h" | ||
22 | #include "vnic_cq.h" | ||
23 | |||
24 | void vnic_cq_free(struct vnic_cq *cq) | ||
25 | { | ||
26 | vnic_dev_free_desc_ring(cq->vdev, &cq->ring); | ||
27 | |||
28 | cq->ctrl = NULL; | ||
29 | } | ||
30 | |||
31 | int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index, | ||
32 | unsigned int desc_count, unsigned int desc_size) | ||
33 | { | ||
34 | int err; | ||
35 | |||
36 | cq->index = index; | ||
37 | cq->vdev = vdev; | ||
38 | |||
39 | cq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_CQ, index); | ||
40 | if (!cq->ctrl) { | ||
41 | printk(KERN_ERR "Failed to hook CQ[%d] resource\n", index); | ||
42 | return -EINVAL; | ||
43 | } | ||
44 | |||
45 | err = vnic_dev_alloc_desc_ring(vdev, &cq->ring, desc_count, desc_size); | ||
46 | if (err) | ||
47 | return err; | ||
48 | |||
49 | return 0; | ||
50 | } | ||
51 | |||
52 | void vnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable, | ||
53 | unsigned int color_enable, unsigned int cq_head, unsigned int cq_tail, | ||
54 | unsigned int cq_tail_color, unsigned int interrupt_enable, | ||
55 | unsigned int cq_entry_enable, unsigned int cq_message_enable, | ||
56 | unsigned int interrupt_offset, u64 cq_message_addr) | ||
57 | { | ||
58 | u64 paddr; | ||
59 | |||
60 | paddr = (u64)cq->ring.base_addr | VNIC_PADDR_TARGET; | ||
61 | writeq(paddr, &cq->ctrl->ring_base); | ||
62 | iowrite32(cq->ring.desc_count, &cq->ctrl->ring_size); | ||
63 | iowrite32(flow_control_enable, &cq->ctrl->flow_control_enable); | ||
64 | iowrite32(color_enable, &cq->ctrl->color_enable); | ||
65 | iowrite32(cq_head, &cq->ctrl->cq_head); | ||
66 | iowrite32(cq_tail, &cq->ctrl->cq_tail); | ||
67 | iowrite32(cq_tail_color, &cq->ctrl->cq_tail_color); | ||
68 | iowrite32(interrupt_enable, &cq->ctrl->interrupt_enable); | ||
69 | iowrite32(cq_entry_enable, &cq->ctrl->cq_entry_enable); | ||
70 | iowrite32(cq_message_enable, &cq->ctrl->cq_message_enable); | ||
71 | iowrite32(interrupt_offset, &cq->ctrl->interrupt_offset); | ||
72 | writeq(cq_message_addr, &cq->ctrl->cq_message_addr); | ||
73 | } | ||
74 | |||
75 | void vnic_cq_clean(struct vnic_cq *cq) | ||
76 | { | ||
77 | cq->to_clean = 0; | ||
78 | cq->last_color = 0; | ||
79 | |||
80 | iowrite32(0, &cq->ctrl->cq_head); | ||
81 | iowrite32(0, &cq->ctrl->cq_tail); | ||
82 | iowrite32(1, &cq->ctrl->cq_tail_color); | ||
83 | |||
84 | vnic_dev_clear_desc_ring(&cq->ring); | ||
85 | } | ||
diff --git a/drivers/scsi/fnic/vnic_cq.h b/drivers/scsi/fnic/vnic_cq.h new file mode 100644 index 000000000000..4ede6809fb1e --- /dev/null +++ b/drivers/scsi/fnic/vnic_cq.h | |||
@@ -0,0 +1,121 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_CQ_H_ | ||
19 | #define _VNIC_CQ_H_ | ||
20 | |||
21 | #include "cq_desc.h" | ||
22 | #include "vnic_dev.h" | ||
23 | |||
24 | /* | ||
25 | * These defines avoid symbol clash between fnic and enic (Cisco 10G Eth | ||
26 | * Driver) when both are built with CONFIG options =y | ||
27 | */ | ||
28 | #define vnic_cq_service fnic_cq_service | ||
29 | #define vnic_cq_free fnic_cq_free | ||
30 | #define vnic_cq_alloc fnic_cq_alloc | ||
31 | #define vnic_cq_init fnic_cq_init | ||
32 | #define vnic_cq_clean fnic_cq_clean | ||
33 | |||
34 | /* Completion queue control */ | ||
35 | struct vnic_cq_ctrl { | ||
36 | u64 ring_base; /* 0x00 */ | ||
37 | u32 ring_size; /* 0x08 */ | ||
38 | u32 pad0; | ||
39 | u32 flow_control_enable; /* 0x10 */ | ||
40 | u32 pad1; | ||
41 | u32 color_enable; /* 0x18 */ | ||
42 | u32 pad2; | ||
43 | u32 cq_head; /* 0x20 */ | ||
44 | u32 pad3; | ||
45 | u32 cq_tail; /* 0x28 */ | ||
46 | u32 pad4; | ||
47 | u32 cq_tail_color; /* 0x30 */ | ||
48 | u32 pad5; | ||
49 | u32 interrupt_enable; /* 0x38 */ | ||
50 | u32 pad6; | ||
51 | u32 cq_entry_enable; /* 0x40 */ | ||
52 | u32 pad7; | ||
53 | u32 cq_message_enable; /* 0x48 */ | ||
54 | u32 pad8; | ||
55 | u32 interrupt_offset; /* 0x50 */ | ||
56 | u32 pad9; | ||
57 | u64 cq_message_addr; /* 0x58 */ | ||
58 | u32 pad10; | ||
59 | }; | ||
60 | |||
61 | struct vnic_cq { | ||
62 | unsigned int index; | ||
63 | struct vnic_dev *vdev; | ||
64 | struct vnic_cq_ctrl __iomem *ctrl; /* memory-mapped */ | ||
65 | struct vnic_dev_ring ring; | ||
66 | unsigned int to_clean; | ||
67 | unsigned int last_color; | ||
68 | }; | ||
69 | |||
70 | static inline unsigned int vnic_cq_service(struct vnic_cq *cq, | ||
71 | unsigned int work_to_do, | ||
72 | int (*q_service)(struct vnic_dev *vdev, struct cq_desc *cq_desc, | ||
73 | u8 type, u16 q_number, u16 completed_index, void *opaque), | ||
74 | void *opaque) | ||
75 | { | ||
76 | struct cq_desc *cq_desc; | ||
77 | unsigned int work_done = 0; | ||
78 | u16 q_number, completed_index; | ||
79 | u8 type, color; | ||
80 | |||
81 | cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs + | ||
82 | cq->ring.desc_size * cq->to_clean); | ||
83 | cq_desc_dec(cq_desc, &type, &color, | ||
84 | &q_number, &completed_index); | ||
85 | |||
86 | while (color != cq->last_color) { | ||
87 | |||
88 | if ((*q_service)(cq->vdev, cq_desc, type, | ||
89 | q_number, completed_index, opaque)) | ||
90 | break; | ||
91 | |||
92 | cq->to_clean++; | ||
93 | if (cq->to_clean == cq->ring.desc_count) { | ||
94 | cq->to_clean = 0; | ||
95 | cq->last_color = cq->last_color ? 0 : 1; | ||
96 | } | ||
97 | |||
98 | cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs + | ||
99 | cq->ring.desc_size * cq->to_clean); | ||
100 | cq_desc_dec(cq_desc, &type, &color, | ||
101 | &q_number, &completed_index); | ||
102 | |||
103 | work_done++; | ||
104 | if (work_done >= work_to_do) | ||
105 | break; | ||
106 | } | ||
107 | |||
108 | return work_done; | ||
109 | } | ||
110 | |||
111 | void vnic_cq_free(struct vnic_cq *cq); | ||
112 | int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index, | ||
113 | unsigned int desc_count, unsigned int desc_size); | ||
114 | void vnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable, | ||
115 | unsigned int color_enable, unsigned int cq_head, unsigned int cq_tail, | ||
116 | unsigned int cq_tail_color, unsigned int interrupt_enable, | ||
117 | unsigned int cq_entry_enable, unsigned int message_enable, | ||
118 | unsigned int interrupt_offset, u64 message_addr); | ||
119 | void vnic_cq_clean(struct vnic_cq *cq); | ||
120 | |||
121 | #endif /* _VNIC_CQ_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_cq_copy.h b/drivers/scsi/fnic/vnic_cq_copy.h new file mode 100644 index 000000000000..7901ce255a81 --- /dev/null +++ b/drivers/scsi/fnic/vnic_cq_copy.h | |||
@@ -0,0 +1,62 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_CQ_COPY_H_ | ||
19 | #define _VNIC_CQ_COPY_H_ | ||
20 | |||
21 | #include "fcpio.h" | ||
22 | |||
23 | static inline unsigned int vnic_cq_copy_service( | ||
24 | struct vnic_cq *cq, | ||
25 | int (*q_service)(struct vnic_dev *vdev, | ||
26 | unsigned int index, | ||
27 | struct fcpio_fw_req *desc), | ||
28 | unsigned int work_to_do) | ||
29 | |||
30 | { | ||
31 | struct fcpio_fw_req *desc; | ||
32 | unsigned int work_done = 0; | ||
33 | u8 color; | ||
34 | |||
35 | desc = (struct fcpio_fw_req *)((u8 *)cq->ring.descs + | ||
36 | cq->ring.desc_size * cq->to_clean); | ||
37 | fcpio_color_dec(desc, &color); | ||
38 | |||
39 | while (color != cq->last_color) { | ||
40 | |||
41 | if ((*q_service)(cq->vdev, cq->index, desc)) | ||
42 | break; | ||
43 | |||
44 | cq->to_clean++; | ||
45 | if (cq->to_clean == cq->ring.desc_count) { | ||
46 | cq->to_clean = 0; | ||
47 | cq->last_color = cq->last_color ? 0 : 1; | ||
48 | } | ||
49 | |||
50 | desc = (struct fcpio_fw_req *)((u8 *)cq->ring.descs + | ||
51 | cq->ring.desc_size * cq->to_clean); | ||
52 | fcpio_color_dec(desc, &color); | ||
53 | |||
54 | work_done++; | ||
55 | if (work_done >= work_to_do) | ||
56 | break; | ||
57 | } | ||
58 | |||
59 | return work_done; | ||
60 | } | ||
61 | |||
62 | #endif /* _VNIC_CQ_COPY_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_dev.c b/drivers/scsi/fnic/vnic_dev.c new file mode 100644 index 000000000000..566770645086 --- /dev/null +++ b/drivers/scsi/fnic/vnic_dev.c | |||
@@ -0,0 +1,690 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/errno.h> | ||
21 | #include <linux/types.h> | ||
22 | #include <linux/pci.h> | ||
23 | #include <linux/delay.h> | ||
24 | #include <linux/if_ether.h> | ||
25 | #include "vnic_resource.h" | ||
26 | #include "vnic_devcmd.h" | ||
27 | #include "vnic_dev.h" | ||
28 | #include "vnic_stats.h" | ||
29 | |||
30 | struct vnic_res { | ||
31 | void __iomem *vaddr; | ||
32 | unsigned int count; | ||
33 | }; | ||
34 | |||
35 | struct vnic_dev { | ||
36 | void *priv; | ||
37 | struct pci_dev *pdev; | ||
38 | struct vnic_res res[RES_TYPE_MAX]; | ||
39 | enum vnic_dev_intr_mode intr_mode; | ||
40 | struct vnic_devcmd __iomem *devcmd; | ||
41 | struct vnic_devcmd_notify *notify; | ||
42 | struct vnic_devcmd_notify notify_copy; | ||
43 | dma_addr_t notify_pa; | ||
44 | u32 *linkstatus; | ||
45 | dma_addr_t linkstatus_pa; | ||
46 | struct vnic_stats *stats; | ||
47 | dma_addr_t stats_pa; | ||
48 | struct vnic_devcmd_fw_info *fw_info; | ||
49 | dma_addr_t fw_info_pa; | ||
50 | }; | ||
51 | |||
52 | #define VNIC_MAX_RES_HDR_SIZE \ | ||
53 | (sizeof(struct vnic_resource_header) + \ | ||
54 | sizeof(struct vnic_resource) * RES_TYPE_MAX) | ||
55 | #define VNIC_RES_STRIDE 128 | ||
56 | |||
57 | void *vnic_dev_priv(struct vnic_dev *vdev) | ||
58 | { | ||
59 | return vdev->priv; | ||
60 | } | ||
61 | |||
62 | static int vnic_dev_discover_res(struct vnic_dev *vdev, | ||
63 | struct vnic_dev_bar *bar) | ||
64 | { | ||
65 | struct vnic_resource_header __iomem *rh; | ||
66 | struct vnic_resource __iomem *r; | ||
67 | u8 type; | ||
68 | |||
69 | if (bar->len < VNIC_MAX_RES_HDR_SIZE) { | ||
70 | printk(KERN_ERR "vNIC BAR0 res hdr length error\n"); | ||
71 | return -EINVAL; | ||
72 | } | ||
73 | |||
74 | rh = bar->vaddr; | ||
75 | if (!rh) { | ||
76 | printk(KERN_ERR "vNIC BAR0 res hdr not mem-mapped\n"); | ||
77 | return -EINVAL; | ||
78 | } | ||
79 | |||
80 | if (ioread32(&rh->magic) != VNIC_RES_MAGIC || | ||
81 | ioread32(&rh->version) != VNIC_RES_VERSION) { | ||
82 | printk(KERN_ERR "vNIC BAR0 res magic/version error " | ||
83 | "exp (%lx/%lx) curr (%x/%x)\n", | ||
84 | VNIC_RES_MAGIC, VNIC_RES_VERSION, | ||
85 | ioread32(&rh->magic), ioread32(&rh->version)); | ||
86 | return -EINVAL; | ||
87 | } | ||
88 | |||
89 | r = (struct vnic_resource __iomem *)(rh + 1); | ||
90 | |||
91 | while ((type = ioread8(&r->type)) != RES_TYPE_EOL) { | ||
92 | |||
93 | u8 bar_num = ioread8(&r->bar); | ||
94 | u32 bar_offset = ioread32(&r->bar_offset); | ||
95 | u32 count = ioread32(&r->count); | ||
96 | u32 len; | ||
97 | |||
98 | r++; | ||
99 | |||
100 | if (bar_num != 0) /* only mapping in BAR0 resources */ | ||
101 | continue; | ||
102 | |||
103 | switch (type) { | ||
104 | case RES_TYPE_WQ: | ||
105 | case RES_TYPE_RQ: | ||
106 | case RES_TYPE_CQ: | ||
107 | case RES_TYPE_INTR_CTRL: | ||
108 | /* each count is stride bytes long */ | ||
109 | len = count * VNIC_RES_STRIDE; | ||
110 | if (len + bar_offset > bar->len) { | ||
111 | printk(KERN_ERR "vNIC BAR0 resource %d " | ||
112 | "out-of-bounds, offset 0x%x + " | ||
113 | "size 0x%x > bar len 0x%lx\n", | ||
114 | type, bar_offset, | ||
115 | len, | ||
116 | bar->len); | ||
117 | return -EINVAL; | ||
118 | } | ||
119 | break; | ||
120 | case RES_TYPE_INTR_PBA_LEGACY: | ||
121 | case RES_TYPE_DEVCMD: | ||
122 | len = count; | ||
123 | break; | ||
124 | default: | ||
125 | continue; | ||
126 | } | ||
127 | |||
128 | vdev->res[type].count = count; | ||
129 | vdev->res[type].vaddr = (char __iomem *)bar->vaddr + bar_offset; | ||
130 | } | ||
131 | |||
132 | return 0; | ||
133 | } | ||
134 | |||
135 | unsigned int vnic_dev_get_res_count(struct vnic_dev *vdev, | ||
136 | enum vnic_res_type type) | ||
137 | { | ||
138 | return vdev->res[type].count; | ||
139 | } | ||
140 | |||
141 | void __iomem *vnic_dev_get_res(struct vnic_dev *vdev, enum vnic_res_type type, | ||
142 | unsigned int index) | ||
143 | { | ||
144 | if (!vdev->res[type].vaddr) | ||
145 | return NULL; | ||
146 | |||
147 | switch (type) { | ||
148 | case RES_TYPE_WQ: | ||
149 | case RES_TYPE_RQ: | ||
150 | case RES_TYPE_CQ: | ||
151 | case RES_TYPE_INTR_CTRL: | ||
152 | return (char __iomem *)vdev->res[type].vaddr + | ||
153 | index * VNIC_RES_STRIDE; | ||
154 | default: | ||
155 | return (char __iomem *)vdev->res[type].vaddr; | ||
156 | } | ||
157 | } | ||
158 | |||
159 | unsigned int vnic_dev_desc_ring_size(struct vnic_dev_ring *ring, | ||
160 | unsigned int desc_count, | ||
161 | unsigned int desc_size) | ||
162 | { | ||
163 | /* The base address of the desc rings must be 512 byte aligned. | ||
164 | * Descriptor count is aligned to groups of 32 descriptors. A | ||
165 | * count of 0 means the maximum 4096 descriptors. Descriptor | ||
166 | * size is aligned to 16 bytes. | ||
167 | */ | ||
168 | |||
169 | unsigned int count_align = 32; | ||
170 | unsigned int desc_align = 16; | ||
171 | |||
172 | ring->base_align = 512; | ||
173 | |||
174 | if (desc_count == 0) | ||
175 | desc_count = 4096; | ||
176 | |||
177 | ring->desc_count = ALIGN(desc_count, count_align); | ||
178 | |||
179 | ring->desc_size = ALIGN(desc_size, desc_align); | ||
180 | |||
181 | ring->size = ring->desc_count * ring->desc_size; | ||
182 | ring->size_unaligned = ring->size + ring->base_align; | ||
183 | |||
184 | return ring->size_unaligned; | ||
185 | } | ||
186 | |||
187 | void vnic_dev_clear_desc_ring(struct vnic_dev_ring *ring) | ||
188 | { | ||
189 | memset(ring->descs, 0, ring->size); | ||
190 | } | ||
191 | |||
192 | int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring, | ||
193 | unsigned int desc_count, unsigned int desc_size) | ||
194 | { | ||
195 | vnic_dev_desc_ring_size(ring, desc_count, desc_size); | ||
196 | |||
197 | ring->descs_unaligned = pci_alloc_consistent(vdev->pdev, | ||
198 | ring->size_unaligned, | ||
199 | &ring->base_addr_unaligned); | ||
200 | |||
201 | if (!ring->descs_unaligned) { | ||
202 | printk(KERN_ERR | ||
203 | "Failed to allocate ring (size=%d), aborting\n", | ||
204 | (int)ring->size); | ||
205 | return -ENOMEM; | ||
206 | } | ||
207 | |||
208 | ring->base_addr = ALIGN(ring->base_addr_unaligned, | ||
209 | ring->base_align); | ||
210 | ring->descs = (u8 *)ring->descs_unaligned + | ||
211 | (ring->base_addr - ring->base_addr_unaligned); | ||
212 | |||
213 | vnic_dev_clear_desc_ring(ring); | ||
214 | |||
215 | ring->desc_avail = ring->desc_count - 1; | ||
216 | |||
217 | return 0; | ||
218 | } | ||
219 | |||
220 | void vnic_dev_free_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring) | ||
221 | { | ||
222 | if (ring->descs) { | ||
223 | pci_free_consistent(vdev->pdev, | ||
224 | ring->size_unaligned, | ||
225 | ring->descs_unaligned, | ||
226 | ring->base_addr_unaligned); | ||
227 | ring->descs = NULL; | ||
228 | } | ||
229 | } | ||
230 | |||
231 | int vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, | ||
232 | u64 *a0, u64 *a1, int wait) | ||
233 | { | ||
234 | struct vnic_devcmd __iomem *devcmd = vdev->devcmd; | ||
235 | int delay; | ||
236 | u32 status; | ||
237 | int dev_cmd_err[] = { | ||
238 | /* convert from fw's version of error.h to host's version */ | ||
239 | 0, /* ERR_SUCCESS */ | ||
240 | EINVAL, /* ERR_EINVAL */ | ||
241 | EFAULT, /* ERR_EFAULT */ | ||
242 | EPERM, /* ERR_EPERM */ | ||
243 | EBUSY, /* ERR_EBUSY */ | ||
244 | }; | ||
245 | int err; | ||
246 | |||
247 | status = ioread32(&devcmd->status); | ||
248 | if (status & STAT_BUSY) { | ||
249 | printk(KERN_ERR "Busy devcmd %d\n", _CMD_N(cmd)); | ||
250 | return -EBUSY; | ||
251 | } | ||
252 | |||
253 | if (_CMD_DIR(cmd) & _CMD_DIR_WRITE) { | ||
254 | writeq(*a0, &devcmd->args[0]); | ||
255 | writeq(*a1, &devcmd->args[1]); | ||
256 | wmb(); | ||
257 | } | ||
258 | |||
259 | iowrite32(cmd, &devcmd->cmd); | ||
260 | |||
261 | if ((_CMD_FLAGS(cmd) & _CMD_FLAGS_NOWAIT)) | ||
262 | return 0; | ||
263 | |||
264 | for (delay = 0; delay < wait; delay++) { | ||
265 | |||
266 | udelay(100); | ||
267 | |||
268 | status = ioread32(&devcmd->status); | ||
269 | if (!(status & STAT_BUSY)) { | ||
270 | |||
271 | if (status & STAT_ERROR) { | ||
272 | err = dev_cmd_err[(int)readq(&devcmd->args[0])]; | ||
273 | printk(KERN_ERR "Error %d devcmd %d\n", | ||
274 | err, _CMD_N(cmd)); | ||
275 | return -err; | ||
276 | } | ||
277 | |||
278 | if (_CMD_DIR(cmd) & _CMD_DIR_READ) { | ||
279 | rmb(); | ||
280 | *a0 = readq(&devcmd->args[0]); | ||
281 | *a1 = readq(&devcmd->args[1]); | ||
282 | } | ||
283 | |||
284 | return 0; | ||
285 | } | ||
286 | } | ||
287 | |||
288 | printk(KERN_ERR "Timedout devcmd %d\n", _CMD_N(cmd)); | ||
289 | return -ETIMEDOUT; | ||
290 | } | ||
291 | |||
292 | int vnic_dev_fw_info(struct vnic_dev *vdev, | ||
293 | struct vnic_devcmd_fw_info **fw_info) | ||
294 | { | ||
295 | u64 a0, a1 = 0; | ||
296 | int wait = 1000; | ||
297 | int err = 0; | ||
298 | |||
299 | if (!vdev->fw_info) { | ||
300 | vdev->fw_info = pci_alloc_consistent(vdev->pdev, | ||
301 | sizeof(struct vnic_devcmd_fw_info), | ||
302 | &vdev->fw_info_pa); | ||
303 | if (!vdev->fw_info) | ||
304 | return -ENOMEM; | ||
305 | |||
306 | a0 = vdev->fw_info_pa; | ||
307 | |||
308 | /* only get fw_info once and cache it */ | ||
309 | err = vnic_dev_cmd(vdev, CMD_MCPU_FW_INFO, &a0, &a1, wait); | ||
310 | } | ||
311 | |||
312 | *fw_info = vdev->fw_info; | ||
313 | |||
314 | return err; | ||
315 | } | ||
316 | |||
317 | int vnic_dev_spec(struct vnic_dev *vdev, unsigned int offset, unsigned int size, | ||
318 | void *value) | ||
319 | { | ||
320 | u64 a0, a1; | ||
321 | int wait = 1000; | ||
322 | int err; | ||
323 | |||
324 | a0 = offset; | ||
325 | a1 = size; | ||
326 | |||
327 | err = vnic_dev_cmd(vdev, CMD_DEV_SPEC, &a0, &a1, wait); | ||
328 | |||
329 | switch (size) { | ||
330 | case 1: | ||
331 | *(u8 *)value = (u8)a0; | ||
332 | break; | ||
333 | case 2: | ||
334 | *(u16 *)value = (u16)a0; | ||
335 | break; | ||
336 | case 4: | ||
337 | *(u32 *)value = (u32)a0; | ||
338 | break; | ||
339 | case 8: | ||
340 | *(u64 *)value = a0; | ||
341 | break; | ||
342 | default: | ||
343 | BUG(); | ||
344 | break; | ||
345 | } | ||
346 | |||
347 | return err; | ||
348 | } | ||
349 | |||
350 | int vnic_dev_stats_clear(struct vnic_dev *vdev) | ||
351 | { | ||
352 | u64 a0 = 0, a1 = 0; | ||
353 | int wait = 1000; | ||
354 | return vnic_dev_cmd(vdev, CMD_STATS_CLEAR, &a0, &a1, wait); | ||
355 | } | ||
356 | |||
357 | int vnic_dev_stats_dump(struct vnic_dev *vdev, struct vnic_stats **stats) | ||
358 | { | ||
359 | u64 a0, a1; | ||
360 | int wait = 1000; | ||
361 | |||
362 | if (!vdev->stats) { | ||
363 | vdev->stats = pci_alloc_consistent(vdev->pdev, | ||
364 | sizeof(struct vnic_stats), &vdev->stats_pa); | ||
365 | if (!vdev->stats) | ||
366 | return -ENOMEM; | ||
367 | } | ||
368 | |||
369 | *stats = vdev->stats; | ||
370 | a0 = vdev->stats_pa; | ||
371 | a1 = sizeof(struct vnic_stats); | ||
372 | |||
373 | return vnic_dev_cmd(vdev, CMD_STATS_DUMP, &a0, &a1, wait); | ||
374 | } | ||
375 | |||
376 | int vnic_dev_close(struct vnic_dev *vdev) | ||
377 | { | ||
378 | u64 a0 = 0, a1 = 0; | ||
379 | int wait = 1000; | ||
380 | return vnic_dev_cmd(vdev, CMD_CLOSE, &a0, &a1, wait); | ||
381 | } | ||
382 | |||
383 | int vnic_dev_enable(struct vnic_dev *vdev) | ||
384 | { | ||
385 | u64 a0 = 0, a1 = 0; | ||
386 | int wait = 1000; | ||
387 | return vnic_dev_cmd(vdev, CMD_ENABLE, &a0, &a1, wait); | ||
388 | } | ||
389 | |||
390 | int vnic_dev_disable(struct vnic_dev *vdev) | ||
391 | { | ||
392 | u64 a0 = 0, a1 = 0; | ||
393 | int wait = 1000; | ||
394 | return vnic_dev_cmd(vdev, CMD_DISABLE, &a0, &a1, wait); | ||
395 | } | ||
396 | |||
397 | int vnic_dev_open(struct vnic_dev *vdev, int arg) | ||
398 | { | ||
399 | u64 a0 = (u32)arg, a1 = 0; | ||
400 | int wait = 1000; | ||
401 | return vnic_dev_cmd(vdev, CMD_OPEN, &a0, &a1, wait); | ||
402 | } | ||
403 | |||
404 | int vnic_dev_open_done(struct vnic_dev *vdev, int *done) | ||
405 | { | ||
406 | u64 a0 = 0, a1 = 0; | ||
407 | int wait = 1000; | ||
408 | int err; | ||
409 | |||
410 | *done = 0; | ||
411 | |||
412 | err = vnic_dev_cmd(vdev, CMD_OPEN_STATUS, &a0, &a1, wait); | ||
413 | if (err) | ||
414 | return err; | ||
415 | |||
416 | *done = (a0 == 0); | ||
417 | |||
418 | return 0; | ||
419 | } | ||
420 | |||
421 | int vnic_dev_soft_reset(struct vnic_dev *vdev, int arg) | ||
422 | { | ||
423 | u64 a0 = (u32)arg, a1 = 0; | ||
424 | int wait = 1000; | ||
425 | return vnic_dev_cmd(vdev, CMD_SOFT_RESET, &a0, &a1, wait); | ||
426 | } | ||
427 | |||
428 | int vnic_dev_soft_reset_done(struct vnic_dev *vdev, int *done) | ||
429 | { | ||
430 | u64 a0 = 0, a1 = 0; | ||
431 | int wait = 1000; | ||
432 | int err; | ||
433 | |||
434 | *done = 0; | ||
435 | |||
436 | err = vnic_dev_cmd(vdev, CMD_SOFT_RESET_STATUS, &a0, &a1, wait); | ||
437 | if (err) | ||
438 | return err; | ||
439 | |||
440 | *done = (a0 == 0); | ||
441 | |||
442 | return 0; | ||
443 | } | ||
444 | |||
445 | int vnic_dev_hang_notify(struct vnic_dev *vdev) | ||
446 | { | ||
447 | u64 a0, a1; | ||
448 | int wait = 1000; | ||
449 | return vnic_dev_cmd(vdev, CMD_HANG_NOTIFY, &a0, &a1, wait); | ||
450 | } | ||
451 | |||
452 | int vnic_dev_mac_addr(struct vnic_dev *vdev, u8 *mac_addr) | ||
453 | { | ||
454 | u64 a0, a1; | ||
455 | int wait = 1000; | ||
456 | int err, i; | ||
457 | |||
458 | for (i = 0; i < ETH_ALEN; i++) | ||
459 | mac_addr[i] = 0; | ||
460 | |||
461 | err = vnic_dev_cmd(vdev, CMD_MAC_ADDR, &a0, &a1, wait); | ||
462 | if (err) | ||
463 | return err; | ||
464 | |||
465 | for (i = 0; i < ETH_ALEN; i++) | ||
466 | mac_addr[i] = ((u8 *)&a0)[i]; | ||
467 | |||
468 | return 0; | ||
469 | } | ||
470 | |||
471 | void vnic_dev_packet_filter(struct vnic_dev *vdev, int directed, int multicast, | ||
472 | int broadcast, int promisc, int allmulti) | ||
473 | { | ||
474 | u64 a0, a1 = 0; | ||
475 | int wait = 1000; | ||
476 | int err; | ||
477 | |||
478 | a0 = (directed ? CMD_PFILTER_DIRECTED : 0) | | ||
479 | (multicast ? CMD_PFILTER_MULTICAST : 0) | | ||
480 | (broadcast ? CMD_PFILTER_BROADCAST : 0) | | ||
481 | (promisc ? CMD_PFILTER_PROMISCUOUS : 0) | | ||
482 | (allmulti ? CMD_PFILTER_ALL_MULTICAST : 0); | ||
483 | |||
484 | err = vnic_dev_cmd(vdev, CMD_PACKET_FILTER, &a0, &a1, wait); | ||
485 | if (err) | ||
486 | printk(KERN_ERR "Can't set packet filter\n"); | ||
487 | } | ||
488 | |||
489 | void vnic_dev_add_addr(struct vnic_dev *vdev, u8 *addr) | ||
490 | { | ||
491 | u64 a0 = 0, a1 = 0; | ||
492 | int wait = 1000; | ||
493 | int err; | ||
494 | int i; | ||
495 | |||
496 | for (i = 0; i < ETH_ALEN; i++) | ||
497 | ((u8 *)&a0)[i] = addr[i]; | ||
498 | |||
499 | err = vnic_dev_cmd(vdev, CMD_ADDR_ADD, &a0, &a1, wait); | ||
500 | if (err) | ||
501 | printk(KERN_ERR | ||
502 | "Can't add addr [%02x:%02x:%02x:%02x:%02x:%02x], %d\n", | ||
503 | addr[0], addr[1], addr[2], addr[3], addr[4], addr[5], | ||
504 | err); | ||
505 | } | ||
506 | |||
507 | void vnic_dev_del_addr(struct vnic_dev *vdev, u8 *addr) | ||
508 | { | ||
509 | u64 a0 = 0, a1 = 0; | ||
510 | int wait = 1000; | ||
511 | int err; | ||
512 | int i; | ||
513 | |||
514 | for (i = 0; i < ETH_ALEN; i++) | ||
515 | ((u8 *)&a0)[i] = addr[i]; | ||
516 | |||
517 | err = vnic_dev_cmd(vdev, CMD_ADDR_DEL, &a0, &a1, wait); | ||
518 | if (err) | ||
519 | printk(KERN_ERR | ||
520 | "Can't del addr [%02x:%02x:%02x:%02x:%02x:%02x], %d\n", | ||
521 | addr[0], addr[1], addr[2], addr[3], addr[4], addr[5], | ||
522 | err); | ||
523 | } | ||
524 | |||
525 | int vnic_dev_notify_set(struct vnic_dev *vdev, u16 intr) | ||
526 | { | ||
527 | u64 a0, a1; | ||
528 | int wait = 1000; | ||
529 | |||
530 | if (!vdev->notify) { | ||
531 | vdev->notify = pci_alloc_consistent(vdev->pdev, | ||
532 | sizeof(struct vnic_devcmd_notify), | ||
533 | &vdev->notify_pa); | ||
534 | if (!vdev->notify) | ||
535 | return -ENOMEM; | ||
536 | } | ||
537 | |||
538 | a0 = vdev->notify_pa; | ||
539 | a1 = ((u64)intr << 32) & 0x0000ffff00000000ULL; | ||
540 | a1 += sizeof(struct vnic_devcmd_notify); | ||
541 | |||
542 | return vnic_dev_cmd(vdev, CMD_NOTIFY, &a0, &a1, wait); | ||
543 | } | ||
544 | |||
545 | void vnic_dev_notify_unset(struct vnic_dev *vdev) | ||
546 | { | ||
547 | u64 a0, a1; | ||
548 | int wait = 1000; | ||
549 | |||
550 | a0 = 0; /* paddr = 0 to unset notify buffer */ | ||
551 | a1 = 0x0000ffff00000000ULL; /* intr num = -1 to unreg for intr */ | ||
552 | a1 += sizeof(struct vnic_devcmd_notify); | ||
553 | |||
554 | vnic_dev_cmd(vdev, CMD_NOTIFY, &a0, &a1, wait); | ||
555 | } | ||
556 | |||
557 | static int vnic_dev_notify_ready(struct vnic_dev *vdev) | ||
558 | { | ||
559 | u32 *words; | ||
560 | unsigned int nwords = sizeof(struct vnic_devcmd_notify) / 4; | ||
561 | unsigned int i; | ||
562 | u32 csum; | ||
563 | |||
564 | if (!vdev->notify) | ||
565 | return 0; | ||
566 | |||
567 | do { | ||
568 | csum = 0; | ||
569 | memcpy(&vdev->notify_copy, vdev->notify, | ||
570 | sizeof(struct vnic_devcmd_notify)); | ||
571 | words = (u32 *)&vdev->notify_copy; | ||
572 | for (i = 1; i < nwords; i++) | ||
573 | csum += words[i]; | ||
574 | } while (csum != words[0]); | ||
575 | |||
576 | return 1; | ||
577 | } | ||
578 | |||
579 | int vnic_dev_init(struct vnic_dev *vdev, int arg) | ||
580 | { | ||
581 | u64 a0 = (u32)arg, a1 = 0; | ||
582 | int wait = 1000; | ||
583 | return vnic_dev_cmd(vdev, CMD_INIT, &a0, &a1, wait); | ||
584 | } | ||
585 | |||
586 | int vnic_dev_link_status(struct vnic_dev *vdev) | ||
587 | { | ||
588 | if (vdev->linkstatus) | ||
589 | return *vdev->linkstatus; | ||
590 | |||
591 | if (!vnic_dev_notify_ready(vdev)) | ||
592 | return 0; | ||
593 | |||
594 | return vdev->notify_copy.link_state; | ||
595 | } | ||
596 | |||
597 | u32 vnic_dev_port_speed(struct vnic_dev *vdev) | ||
598 | { | ||
599 | if (!vnic_dev_notify_ready(vdev)) | ||
600 | return 0; | ||
601 | |||
602 | return vdev->notify_copy.port_speed; | ||
603 | } | ||
604 | |||
605 | u32 vnic_dev_msg_lvl(struct vnic_dev *vdev) | ||
606 | { | ||
607 | if (!vnic_dev_notify_ready(vdev)) | ||
608 | return 0; | ||
609 | |||
610 | return vdev->notify_copy.msglvl; | ||
611 | } | ||
612 | |||
613 | u32 vnic_dev_mtu(struct vnic_dev *vdev) | ||
614 | { | ||
615 | if (!vnic_dev_notify_ready(vdev)) | ||
616 | return 0; | ||
617 | |||
618 | return vdev->notify_copy.mtu; | ||
619 | } | ||
620 | |||
621 | u32 vnic_dev_link_down_cnt(struct vnic_dev *vdev) | ||
622 | { | ||
623 | if (!vnic_dev_notify_ready(vdev)) | ||
624 | return 0; | ||
625 | |||
626 | return vdev->notify_copy.link_down_cnt; | ||
627 | } | ||
628 | |||
629 | void vnic_dev_set_intr_mode(struct vnic_dev *vdev, | ||
630 | enum vnic_dev_intr_mode intr_mode) | ||
631 | { | ||
632 | vdev->intr_mode = intr_mode; | ||
633 | } | ||
634 | |||
635 | enum vnic_dev_intr_mode vnic_dev_get_intr_mode( | ||
636 | struct vnic_dev *vdev) | ||
637 | { | ||
638 | return vdev->intr_mode; | ||
639 | } | ||
640 | |||
641 | void vnic_dev_unregister(struct vnic_dev *vdev) | ||
642 | { | ||
643 | if (vdev) { | ||
644 | if (vdev->notify) | ||
645 | pci_free_consistent(vdev->pdev, | ||
646 | sizeof(struct vnic_devcmd_notify), | ||
647 | vdev->notify, | ||
648 | vdev->notify_pa); | ||
649 | if (vdev->linkstatus) | ||
650 | pci_free_consistent(vdev->pdev, | ||
651 | sizeof(u32), | ||
652 | vdev->linkstatus, | ||
653 | vdev->linkstatus_pa); | ||
654 | if (vdev->stats) | ||
655 | pci_free_consistent(vdev->pdev, | ||
656 | sizeof(struct vnic_dev), | ||
657 | vdev->stats, vdev->stats_pa); | ||
658 | if (vdev->fw_info) | ||
659 | pci_free_consistent(vdev->pdev, | ||
660 | sizeof(struct vnic_devcmd_fw_info), | ||
661 | vdev->fw_info, vdev->fw_info_pa); | ||
662 | kfree(vdev); | ||
663 | } | ||
664 | } | ||
665 | |||
666 | struct vnic_dev *vnic_dev_register(struct vnic_dev *vdev, | ||
667 | void *priv, struct pci_dev *pdev, struct vnic_dev_bar *bar) | ||
668 | { | ||
669 | if (!vdev) { | ||
670 | vdev = kzalloc(sizeof(struct vnic_dev), GFP_KERNEL); | ||
671 | if (!vdev) | ||
672 | return NULL; | ||
673 | } | ||
674 | |||
675 | vdev->priv = priv; | ||
676 | vdev->pdev = pdev; | ||
677 | |||
678 | if (vnic_dev_discover_res(vdev, bar)) | ||
679 | goto err_out; | ||
680 | |||
681 | vdev->devcmd = vnic_dev_get_res(vdev, RES_TYPE_DEVCMD, 0); | ||
682 | if (!vdev->devcmd) | ||
683 | goto err_out; | ||
684 | |||
685 | return vdev; | ||
686 | |||
687 | err_out: | ||
688 | vnic_dev_unregister(vdev); | ||
689 | return NULL; | ||
690 | } | ||
diff --git a/drivers/scsi/fnic/vnic_dev.h b/drivers/scsi/fnic/vnic_dev.h new file mode 100644 index 000000000000..f9935a8a5a09 --- /dev/null +++ b/drivers/scsi/fnic/vnic_dev.h | |||
@@ -0,0 +1,161 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_DEV_H_ | ||
19 | #define _VNIC_DEV_H_ | ||
20 | |||
21 | #include "vnic_resource.h" | ||
22 | #include "vnic_devcmd.h" | ||
23 | |||
24 | /* | ||
25 | * These defines avoid symbol clash between fnic and enic (Cisco 10G Eth | ||
26 | * Driver) when both are built with CONFIG options =y | ||
27 | */ | ||
28 | #define vnic_dev_priv fnic_dev_priv | ||
29 | #define vnic_dev_get_res_count fnic_dev_get_res_count | ||
30 | #define vnic_dev_get_res fnic_dev_get_res | ||
31 | #define vnic_dev_desc_ring_size fnic_dev_desc_ring_siz | ||
32 | #define vnic_dev_clear_desc_ring fnic_dev_clear_desc_ring | ||
33 | #define vnic_dev_alloc_desc_ring fnic_dev_alloc_desc_ring | ||
34 | #define vnic_dev_free_desc_ring fnic_dev_free_desc_ring | ||
35 | #define vnic_dev_cmd fnic_dev_cmd | ||
36 | #define vnic_dev_fw_info fnic_dev_fw_info | ||
37 | #define vnic_dev_spec fnic_dev_spec | ||
38 | #define vnic_dev_stats_clear fnic_dev_stats_clear | ||
39 | #define vnic_dev_stats_dump fnic_dev_stats_dump | ||
40 | #define vnic_dev_hang_notify fnic_dev_hang_notify | ||
41 | #define vnic_dev_packet_filter fnic_dev_packet_filter | ||
42 | #define vnic_dev_add_addr fnic_dev_add_addr | ||
43 | #define vnic_dev_del_addr fnic_dev_del_addr | ||
44 | #define vnic_dev_mac_addr fnic_dev_mac_addr | ||
45 | #define vnic_dev_notify_set fnic_dev_notify_set | ||
46 | #define vnic_dev_notify_unset fnic_dev_notify_unset | ||
47 | #define vnic_dev_link_status fnic_dev_link_status | ||
48 | #define vnic_dev_port_speed fnic_dev_port_speed | ||
49 | #define vnic_dev_msg_lvl fnic_dev_msg_lvl | ||
50 | #define vnic_dev_mtu fnic_dev_mtu | ||
51 | #define vnic_dev_link_down_cnt fnic_dev_link_down_cnt | ||
52 | #define vnic_dev_close fnic_dev_close | ||
53 | #define vnic_dev_enable fnic_dev_enable | ||
54 | #define vnic_dev_disable fnic_dev_disable | ||
55 | #define vnic_dev_open fnic_dev_open | ||
56 | #define vnic_dev_open_done fnic_dev_open_done | ||
57 | #define vnic_dev_init fnic_dev_init | ||
58 | #define vnic_dev_soft_reset fnic_dev_soft_reset | ||
59 | #define vnic_dev_soft_reset_done fnic_dev_soft_reset_done | ||
60 | #define vnic_dev_set_intr_mode fnic_dev_set_intr_mode | ||
61 | #define vnic_dev_get_intr_mode fnic_dev_get_intr_mode | ||
62 | #define vnic_dev_unregister fnic_dev_unregister | ||
63 | #define vnic_dev_register fnic_dev_register | ||
64 | |||
65 | #ifndef VNIC_PADDR_TARGET | ||
66 | #define VNIC_PADDR_TARGET 0x0000000000000000ULL | ||
67 | #endif | ||
68 | |||
69 | #ifndef readq | ||
70 | static inline u64 readq(void __iomem *reg) | ||
71 | { | ||
72 | return ((u64)readl(reg + 0x4UL) << 32) | (u64)readl(reg); | ||
73 | } | ||
74 | |||
75 | static inline void writeq(u64 val, void __iomem *reg) | ||
76 | { | ||
77 | writel(val & 0xffffffff, reg); | ||
78 | writel(val >> 32, reg + 0x4UL); | ||
79 | } | ||
80 | #endif | ||
81 | |||
82 | enum vnic_dev_intr_mode { | ||
83 | VNIC_DEV_INTR_MODE_UNKNOWN, | ||
84 | VNIC_DEV_INTR_MODE_INTX, | ||
85 | VNIC_DEV_INTR_MODE_MSI, | ||
86 | VNIC_DEV_INTR_MODE_MSIX, | ||
87 | }; | ||
88 | |||
89 | struct vnic_dev_bar { | ||
90 | void __iomem *vaddr; | ||
91 | dma_addr_t bus_addr; | ||
92 | unsigned long len; | ||
93 | }; | ||
94 | |||
95 | struct vnic_dev_ring { | ||
96 | void *descs; | ||
97 | size_t size; | ||
98 | dma_addr_t base_addr; | ||
99 | size_t base_align; | ||
100 | void *descs_unaligned; | ||
101 | size_t size_unaligned; | ||
102 | dma_addr_t base_addr_unaligned; | ||
103 | unsigned int desc_size; | ||
104 | unsigned int desc_count; | ||
105 | unsigned int desc_avail; | ||
106 | }; | ||
107 | |||
108 | struct vnic_dev; | ||
109 | struct vnic_stats; | ||
110 | |||
111 | void *vnic_dev_priv(struct vnic_dev *vdev); | ||
112 | unsigned int vnic_dev_get_res_count(struct vnic_dev *vdev, | ||
113 | enum vnic_res_type type); | ||
114 | void __iomem *vnic_dev_get_res(struct vnic_dev *vdev, enum vnic_res_type type, | ||
115 | unsigned int index); | ||
116 | unsigned int vnic_dev_desc_ring_size(struct vnic_dev_ring *ring, | ||
117 | unsigned int desc_count, | ||
118 | unsigned int desc_size); | ||
119 | void vnic_dev_clear_desc_ring(struct vnic_dev_ring *ring); | ||
120 | int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring, | ||
121 | unsigned int desc_count, unsigned int desc_size); | ||
122 | void vnic_dev_free_desc_ring(struct vnic_dev *vdev, | ||
123 | struct vnic_dev_ring *ring); | ||
124 | int vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, | ||
125 | u64 *a0, u64 *a1, int wait); | ||
126 | int vnic_dev_fw_info(struct vnic_dev *vdev, | ||
127 | struct vnic_devcmd_fw_info **fw_info); | ||
128 | int vnic_dev_spec(struct vnic_dev *vdev, unsigned int offset, | ||
129 | unsigned int size, void *value); | ||
130 | int vnic_dev_stats_clear(struct vnic_dev *vdev); | ||
131 | int vnic_dev_stats_dump(struct vnic_dev *vdev, struct vnic_stats **stats); | ||
132 | int vnic_dev_hang_notify(struct vnic_dev *vdev); | ||
133 | void vnic_dev_packet_filter(struct vnic_dev *vdev, int directed, int multicast, | ||
134 | int broadcast, int promisc, int allmulti); | ||
135 | void vnic_dev_add_addr(struct vnic_dev *vdev, u8 *addr); | ||
136 | void vnic_dev_del_addr(struct vnic_dev *vdev, u8 *addr); | ||
137 | int vnic_dev_mac_addr(struct vnic_dev *vdev, u8 *mac_addr); | ||
138 | int vnic_dev_notify_set(struct vnic_dev *vdev, u16 intr); | ||
139 | void vnic_dev_notify_unset(struct vnic_dev *vdev); | ||
140 | int vnic_dev_link_status(struct vnic_dev *vdev); | ||
141 | u32 vnic_dev_port_speed(struct vnic_dev *vdev); | ||
142 | u32 vnic_dev_msg_lvl(struct vnic_dev *vdev); | ||
143 | u32 vnic_dev_mtu(struct vnic_dev *vdev); | ||
144 | u32 vnic_dev_link_down_cnt(struct vnic_dev *vdev); | ||
145 | int vnic_dev_close(struct vnic_dev *vdev); | ||
146 | int vnic_dev_enable(struct vnic_dev *vdev); | ||
147 | int vnic_dev_disable(struct vnic_dev *vdev); | ||
148 | int vnic_dev_open(struct vnic_dev *vdev, int arg); | ||
149 | int vnic_dev_open_done(struct vnic_dev *vdev, int *done); | ||
150 | int vnic_dev_init(struct vnic_dev *vdev, int arg); | ||
151 | int vnic_dev_soft_reset(struct vnic_dev *vdev, int arg); | ||
152 | int vnic_dev_soft_reset_done(struct vnic_dev *vdev, int *done); | ||
153 | void vnic_dev_set_intr_mode(struct vnic_dev *vdev, | ||
154 | enum vnic_dev_intr_mode intr_mode); | ||
155 | enum vnic_dev_intr_mode vnic_dev_get_intr_mode(struct vnic_dev *vdev); | ||
156 | void vnic_dev_unregister(struct vnic_dev *vdev); | ||
157 | struct vnic_dev *vnic_dev_register(struct vnic_dev *vdev, | ||
158 | void *priv, struct pci_dev *pdev, | ||
159 | struct vnic_dev_bar *bar); | ||
160 | |||
161 | #endif /* _VNIC_DEV_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_devcmd.h b/drivers/scsi/fnic/vnic_devcmd.h new file mode 100644 index 000000000000..d62b9061bf12 --- /dev/null +++ b/drivers/scsi/fnic/vnic_devcmd.h | |||
@@ -0,0 +1,281 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_DEVCMD_H_ | ||
19 | #define _VNIC_DEVCMD_H_ | ||
20 | |||
21 | #define _CMD_NBITS 14 | ||
22 | #define _CMD_VTYPEBITS 10 | ||
23 | #define _CMD_FLAGSBITS 6 | ||
24 | #define _CMD_DIRBITS 2 | ||
25 | |||
26 | #define _CMD_NMASK ((1 << _CMD_NBITS)-1) | ||
27 | #define _CMD_VTYPEMASK ((1 << _CMD_VTYPEBITS)-1) | ||
28 | #define _CMD_FLAGSMASK ((1 << _CMD_FLAGSBITS)-1) | ||
29 | #define _CMD_DIRMASK ((1 << _CMD_DIRBITS)-1) | ||
30 | |||
31 | #define _CMD_NSHIFT 0 | ||
32 | #define _CMD_VTYPESHIFT (_CMD_NSHIFT+_CMD_NBITS) | ||
33 | #define _CMD_FLAGSSHIFT (_CMD_VTYPESHIFT+_CMD_VTYPEBITS) | ||
34 | #define _CMD_DIRSHIFT (_CMD_FLAGSSHIFT+_CMD_FLAGSBITS) | ||
35 | |||
36 | /* | ||
37 | * Direction bits (from host perspective). | ||
38 | */ | ||
39 | #define _CMD_DIR_NONE 0U | ||
40 | #define _CMD_DIR_WRITE 1U | ||
41 | #define _CMD_DIR_READ 2U | ||
42 | #define _CMD_DIR_RW (_CMD_DIR_WRITE | _CMD_DIR_READ) | ||
43 | |||
44 | /* | ||
45 | * Flag bits. | ||
46 | */ | ||
47 | #define _CMD_FLAGS_NONE 0U | ||
48 | #define _CMD_FLAGS_NOWAIT 1U | ||
49 | |||
50 | /* | ||
51 | * vNIC type bits. | ||
52 | */ | ||
53 | #define _CMD_VTYPE_NONE 0U | ||
54 | #define _CMD_VTYPE_ENET 1U | ||
55 | #define _CMD_VTYPE_FC 2U | ||
56 | #define _CMD_VTYPE_SCSI 4U | ||
57 | #define _CMD_VTYPE_ALL (_CMD_VTYPE_ENET | _CMD_VTYPE_FC | _CMD_VTYPE_SCSI) | ||
58 | |||
59 | /* | ||
60 | * Used to create cmds.. | ||
61 | */ | ||
62 | #define _CMDCF(dir, flags, vtype, nr) \ | ||
63 | (((dir) << _CMD_DIRSHIFT) | \ | ||
64 | ((flags) << _CMD_FLAGSSHIFT) | \ | ||
65 | ((vtype) << _CMD_VTYPESHIFT) | \ | ||
66 | ((nr) << _CMD_NSHIFT)) | ||
67 | #define _CMDC(dir, vtype, nr) _CMDCF(dir, 0, vtype, nr) | ||
68 | #define _CMDCNW(dir, vtype, nr) _CMDCF(dir, _CMD_FLAGS_NOWAIT, vtype, nr) | ||
69 | |||
70 | /* | ||
71 | * Used to decode cmds.. | ||
72 | */ | ||
73 | #define _CMD_DIR(cmd) (((cmd) >> _CMD_DIRSHIFT) & _CMD_DIRMASK) | ||
74 | #define _CMD_FLAGS(cmd) (((cmd) >> _CMD_FLAGSSHIFT) & _CMD_FLAGSMASK) | ||
75 | #define _CMD_VTYPE(cmd) (((cmd) >> _CMD_VTYPESHIFT) & _CMD_VTYPEMASK) | ||
76 | #define _CMD_N(cmd) (((cmd) >> _CMD_NSHIFT) & _CMD_NMASK) | ||
77 | |||
78 | enum vnic_devcmd_cmd { | ||
79 | CMD_NONE = _CMDC(_CMD_DIR_NONE, _CMD_VTYPE_NONE, 0), | ||
80 | |||
81 | /* mcpu fw info in mem: (u64)a0=paddr to struct vnic_devcmd_fw_info */ | ||
82 | CMD_MCPU_FW_INFO = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ALL, 1), | ||
83 | |||
84 | /* dev-specific block member: | ||
85 | * in: (u16)a0=offset,(u8)a1=size | ||
86 | * out: a0=value */ | ||
87 | CMD_DEV_SPEC = _CMDC(_CMD_DIR_RW, _CMD_VTYPE_ALL, 2), | ||
88 | |||
89 | /* stats clear */ | ||
90 | CMD_STATS_CLEAR = _CMDCNW(_CMD_DIR_NONE, _CMD_VTYPE_ALL, 3), | ||
91 | |||
92 | /* stats dump in mem: (u64)a0=paddr to stats area, | ||
93 | * (u16)a1=sizeof stats area */ | ||
94 | CMD_STATS_DUMP = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ALL, 4), | ||
95 | |||
96 | /* set Rx packet filter: (u32)a0=filters (see CMD_PFILTER_*) */ | ||
97 | CMD_PACKET_FILTER = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 7), | ||
98 | |||
99 | /* hang detection notification */ | ||
100 | CMD_HANG_NOTIFY = _CMDC(_CMD_DIR_NONE, _CMD_VTYPE_ALL, 8), | ||
101 | |||
102 | /* MAC address in (u48)a0 */ | ||
103 | CMD_MAC_ADDR = _CMDC(_CMD_DIR_READ, | ||
104 | _CMD_VTYPE_ENET | _CMD_VTYPE_FC, 9), | ||
105 | |||
106 | /* disable/enable promisc mode: (u8)a0=0/1 */ | ||
107 | /***** XXX DEPRECATED *****/ | ||
108 | CMD_PROMISC_MODE = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 10), | ||
109 | |||
110 | /* disable/enable all-multi mode: (u8)a0=0/1 */ | ||
111 | /***** XXX DEPRECATED *****/ | ||
112 | CMD_ALLMULTI_MODE = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 11), | ||
113 | |||
114 | /* add addr from (u48)a0 */ | ||
115 | CMD_ADDR_ADD = _CMDCNW(_CMD_DIR_WRITE, | ||
116 | _CMD_VTYPE_ENET | _CMD_VTYPE_FC, 12), | ||
117 | |||
118 | /* del addr from (u48)a0 */ | ||
119 | CMD_ADDR_DEL = _CMDCNW(_CMD_DIR_WRITE, | ||
120 | _CMD_VTYPE_ENET | _CMD_VTYPE_FC, 13), | ||
121 | |||
122 | /* add VLAN id in (u16)a0 */ | ||
123 | CMD_VLAN_ADD = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 14), | ||
124 | |||
125 | /* del VLAN id in (u16)a0 */ | ||
126 | CMD_VLAN_DEL = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 15), | ||
127 | |||
128 | /* nic_cfg in (u32)a0 */ | ||
129 | CMD_NIC_CFG = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ALL, 16), | ||
130 | |||
131 | /* union vnic_rss_key in mem: (u64)a0=paddr, (u16)a1=len */ | ||
132 | CMD_RSS_KEY = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 17), | ||
133 | |||
134 | /* union vnic_rss_cpu in mem: (u64)a0=paddr, (u16)a1=len */ | ||
135 | CMD_RSS_CPU = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 18), | ||
136 | |||
137 | /* initiate softreset */ | ||
138 | CMD_SOFT_RESET = _CMDCNW(_CMD_DIR_NONE, _CMD_VTYPE_ALL, 19), | ||
139 | |||
140 | /* softreset status: | ||
141 | * out: a0=0 reset complete, a0=1 reset in progress */ | ||
142 | CMD_SOFT_RESET_STATUS = _CMDC(_CMD_DIR_READ, _CMD_VTYPE_ALL, 20), | ||
143 | |||
144 | /* set struct vnic_devcmd_notify buffer in mem: | ||
145 | * in: | ||
146 | * (u64)a0=paddr to notify (set paddr=0 to unset) | ||
147 | * (u32)a1 & 0x00000000ffffffff=sizeof(struct vnic_devcmd_notify) | ||
148 | * (u16)a1 & 0x0000ffff00000000=intr num (-1 for no intr) | ||
149 | * out: | ||
150 | * (u32)a1 = effective size | ||
151 | */ | ||
152 | CMD_NOTIFY = _CMDC(_CMD_DIR_RW, _CMD_VTYPE_ALL, 21), | ||
153 | |||
154 | /* UNDI API: (u64)a0=paddr to s_PXENV_UNDI_ struct, | ||
155 | * (u8)a1=PXENV_UNDI_xxx */ | ||
156 | CMD_UNDI = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 22), | ||
157 | |||
158 | /* initiate open sequence (u32)a0=flags (see CMD_OPENF_*) */ | ||
159 | CMD_OPEN = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ALL, 23), | ||
160 | |||
161 | /* open status: | ||
162 | * out: a0=0 open complete, a0=1 open in progress */ | ||
163 | CMD_OPEN_STATUS = _CMDC(_CMD_DIR_READ, _CMD_VTYPE_ALL, 24), | ||
164 | |||
165 | /* close vnic */ | ||
166 | CMD_CLOSE = _CMDC(_CMD_DIR_NONE, _CMD_VTYPE_ALL, 25), | ||
167 | |||
168 | /* initialize virtual link: (u32)a0=flags (see CMD_INITF_*) */ | ||
169 | CMD_INIT = _CMDCNW(_CMD_DIR_READ, _CMD_VTYPE_ALL, 26), | ||
170 | |||
171 | /* variant of CMD_INIT, with provisioning info | ||
172 | * (u64)a0=paddr of vnic_devcmd_provinfo | ||
173 | * (u32)a1=sizeof provision info */ | ||
174 | CMD_INIT_PROV_INFO = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 27), | ||
175 | |||
176 | /* enable virtual link */ | ||
177 | CMD_ENABLE = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ALL, 28), | ||
178 | |||
179 | /* disable virtual link */ | ||
180 | CMD_DISABLE = _CMDC(_CMD_DIR_NONE, _CMD_VTYPE_ALL, 29), | ||
181 | |||
182 | /* stats dump all vnics on uplink in mem: (u64)a0=paddr (u32)a1=uif */ | ||
183 | CMD_STATS_DUMP_ALL = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ALL, 30), | ||
184 | |||
185 | /* init status: | ||
186 | * out: a0=0 init complete, a0=1 init in progress | ||
187 | * if a0=0, a1=errno */ | ||
188 | CMD_INIT_STATUS = _CMDC(_CMD_DIR_READ, _CMD_VTYPE_ALL, 31), | ||
189 | |||
190 | /* INT13 API: (u64)a0=paddr to vnic_int13_params struct | ||
191 | * (u8)a1=INT13_CMD_xxx */ | ||
192 | CMD_INT13 = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_FC, 32), | ||
193 | |||
194 | /* logical uplink enable/disable: (u64)a0: 0/1=disable/enable */ | ||
195 | CMD_LOGICAL_UPLINK = _CMDCNW(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 33), | ||
196 | |||
197 | /* undo initialize of virtual link */ | ||
198 | CMD_DEINIT = _CMDCNW(_CMD_DIR_NONE, _CMD_VTYPE_ALL, 34), | ||
199 | }; | ||
200 | |||
201 | /* flags for CMD_OPEN */ | ||
202 | #define CMD_OPENF_OPROM 0x1 /* open coming from option rom */ | ||
203 | |||
204 | /* flags for CMD_INIT */ | ||
205 | #define CMD_INITF_DEFAULT_MAC 0x1 /* init with default mac addr */ | ||
206 | |||
207 | /* flags for CMD_PACKET_FILTER */ | ||
208 | #define CMD_PFILTER_DIRECTED 0x01 | ||
209 | #define CMD_PFILTER_MULTICAST 0x02 | ||
210 | #define CMD_PFILTER_BROADCAST 0x04 | ||
211 | #define CMD_PFILTER_PROMISCUOUS 0x08 | ||
212 | #define CMD_PFILTER_ALL_MULTICAST 0x10 | ||
213 | |||
214 | enum vnic_devcmd_status { | ||
215 | STAT_NONE = 0, | ||
216 | STAT_BUSY = 1 << 0, /* cmd in progress */ | ||
217 | STAT_ERROR = 1 << 1, /* last cmd caused error (code in a0) */ | ||
218 | }; | ||
219 | |||
220 | enum vnic_devcmd_error { | ||
221 | ERR_SUCCESS = 0, | ||
222 | ERR_EINVAL = 1, | ||
223 | ERR_EFAULT = 2, | ||
224 | ERR_EPERM = 3, | ||
225 | ERR_EBUSY = 4, | ||
226 | ERR_ECMDUNKNOWN = 5, | ||
227 | ERR_EBADSTATE = 6, | ||
228 | ERR_ENOMEM = 7, | ||
229 | ERR_ETIMEDOUT = 8, | ||
230 | ERR_ELINKDOWN = 9, | ||
231 | }; | ||
232 | |||
233 | struct vnic_devcmd_fw_info { | ||
234 | char fw_version[32]; | ||
235 | char fw_build[32]; | ||
236 | char hw_version[32]; | ||
237 | char hw_serial_number[32]; | ||
238 | }; | ||
239 | |||
240 | struct vnic_devcmd_notify { | ||
241 | u32 csum; /* checksum over following words */ | ||
242 | |||
243 | u32 link_state; /* link up == 1 */ | ||
244 | u32 port_speed; /* effective port speed (rate limit) */ | ||
245 | u32 mtu; /* MTU */ | ||
246 | u32 msglvl; /* requested driver msg lvl */ | ||
247 | u32 uif; /* uplink interface */ | ||
248 | u32 status; /* status bits (see VNIC_STF_*) */ | ||
249 | u32 error; /* error code (see ERR_*) for first ERR */ | ||
250 | u32 link_down_cnt; /* running count of link down transitions */ | ||
251 | }; | ||
252 | #define VNIC_STF_FATAL_ERR 0x0001 /* fatal fw error */ | ||
253 | |||
254 | struct vnic_devcmd_provinfo { | ||
255 | u8 oui[3]; | ||
256 | u8 type; | ||
257 | u8 data[0]; | ||
258 | }; | ||
259 | |||
260 | /* | ||
261 | * Writing cmd register causes STAT_BUSY to get set in status register. | ||
262 | * When cmd completes, STAT_BUSY will be cleared. | ||
263 | * | ||
264 | * If cmd completed successfully STAT_ERROR will be clear | ||
265 | * and args registers contain cmd-specific results. | ||
266 | * | ||
267 | * If cmd error, STAT_ERROR will be set and args[0] contains error code. | ||
268 | * | ||
269 | * status register is read-only. While STAT_BUSY is set, | ||
270 | * all other register contents are read-only. | ||
271 | */ | ||
272 | |||
273 | /* Make sizeof(vnic_devcmd) a power-of-2 for I/O BAR. */ | ||
274 | #define VNIC_DEVCMD_NARGS 15 | ||
275 | struct vnic_devcmd { | ||
276 | u32 status; /* RO */ | ||
277 | u32 cmd; /* RW */ | ||
278 | u64 args[VNIC_DEVCMD_NARGS]; /* RW cmd args (little-endian) */ | ||
279 | }; | ||
280 | |||
281 | #endif /* _VNIC_DEVCMD_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_intr.c b/drivers/scsi/fnic/vnic_intr.c new file mode 100644 index 000000000000..4f4dc8793d23 --- /dev/null +++ b/drivers/scsi/fnic/vnic_intr.c | |||
@@ -0,0 +1,60 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/errno.h> | ||
21 | #include <linux/types.h> | ||
22 | #include <linux/pci.h> | ||
23 | #include <linux/delay.h> | ||
24 | #include "vnic_dev.h" | ||
25 | #include "vnic_intr.h" | ||
26 | |||
27 | void vnic_intr_free(struct vnic_intr *intr) | ||
28 | { | ||
29 | intr->ctrl = NULL; | ||
30 | } | ||
31 | |||
32 | int vnic_intr_alloc(struct vnic_dev *vdev, struct vnic_intr *intr, | ||
33 | unsigned int index) | ||
34 | { | ||
35 | intr->index = index; | ||
36 | intr->vdev = vdev; | ||
37 | |||
38 | intr->ctrl = vnic_dev_get_res(vdev, RES_TYPE_INTR_CTRL, index); | ||
39 | if (!intr->ctrl) { | ||
40 | printk(KERN_ERR "Failed to hook INTR[%d].ctrl resource\n", | ||
41 | index); | ||
42 | return -EINVAL; | ||
43 | } | ||
44 | |||
45 | return 0; | ||
46 | } | ||
47 | |||
48 | void vnic_intr_init(struct vnic_intr *intr, unsigned int coalescing_timer, | ||
49 | unsigned int coalescing_type, unsigned int mask_on_assertion) | ||
50 | { | ||
51 | iowrite32(coalescing_timer, &intr->ctrl->coalescing_timer); | ||
52 | iowrite32(coalescing_type, &intr->ctrl->coalescing_type); | ||
53 | iowrite32(mask_on_assertion, &intr->ctrl->mask_on_assertion); | ||
54 | iowrite32(0, &intr->ctrl->int_credits); | ||
55 | } | ||
56 | |||
57 | void vnic_intr_clean(struct vnic_intr *intr) | ||
58 | { | ||
59 | iowrite32(0, &intr->ctrl->int_credits); | ||
60 | } | ||
diff --git a/drivers/scsi/fnic/vnic_intr.h b/drivers/scsi/fnic/vnic_intr.h new file mode 100644 index 000000000000..d5fb40e7c98e --- /dev/null +++ b/drivers/scsi/fnic/vnic_intr.h | |||
@@ -0,0 +1,118 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_INTR_H_ | ||
19 | #define _VNIC_INTR_H_ | ||
20 | |||
21 | #include <linux/pci.h> | ||
22 | #include "vnic_dev.h" | ||
23 | |||
24 | /* | ||
25 | * These defines avoid symbol clash between fnic and enic (Cisco 10G Eth | ||
26 | * Driver) when both are built with CONFIG options =y | ||
27 | */ | ||
28 | #define vnic_intr_unmask fnic_intr_unmask | ||
29 | #define vnic_intr_mask fnic_intr_mask | ||
30 | #define vnic_intr_return_credits fnic_intr_return_credits | ||
31 | #define vnic_intr_credits fnic_intr_credits | ||
32 | #define vnic_intr_return_all_credits fnic_intr_return_all_credits | ||
33 | #define vnic_intr_legacy_pba fnic_intr_legacy_pba | ||
34 | #define vnic_intr_free fnic_intr_free | ||
35 | #define vnic_intr_alloc fnic_intr_alloc | ||
36 | #define vnic_intr_init fnic_intr_init | ||
37 | #define vnic_intr_clean fnic_intr_clean | ||
38 | |||
39 | #define VNIC_INTR_TIMER_MAX 0xffff | ||
40 | |||
41 | #define VNIC_INTR_TIMER_TYPE_ABS 0 | ||
42 | #define VNIC_INTR_TIMER_TYPE_QUIET 1 | ||
43 | |||
44 | /* Interrupt control */ | ||
45 | struct vnic_intr_ctrl { | ||
46 | u32 coalescing_timer; /* 0x00 */ | ||
47 | u32 pad0; | ||
48 | u32 coalescing_value; /* 0x08 */ | ||
49 | u32 pad1; | ||
50 | u32 coalescing_type; /* 0x10 */ | ||
51 | u32 pad2; | ||
52 | u32 mask_on_assertion; /* 0x18 */ | ||
53 | u32 pad3; | ||
54 | u32 mask; /* 0x20 */ | ||
55 | u32 pad4; | ||
56 | u32 int_credits; /* 0x28 */ | ||
57 | u32 pad5; | ||
58 | u32 int_credit_return; /* 0x30 */ | ||
59 | u32 pad6; | ||
60 | }; | ||
61 | |||
62 | struct vnic_intr { | ||
63 | unsigned int index; | ||
64 | struct vnic_dev *vdev; | ||
65 | struct vnic_intr_ctrl __iomem *ctrl; /* memory-mapped */ | ||
66 | }; | ||
67 | |||
68 | static inline void vnic_intr_unmask(struct vnic_intr *intr) | ||
69 | { | ||
70 | iowrite32(0, &intr->ctrl->mask); | ||
71 | } | ||
72 | |||
73 | static inline void vnic_intr_mask(struct vnic_intr *intr) | ||
74 | { | ||
75 | iowrite32(1, &intr->ctrl->mask); | ||
76 | } | ||
77 | |||
78 | static inline void vnic_intr_return_credits(struct vnic_intr *intr, | ||
79 | unsigned int credits, int unmask, int reset_timer) | ||
80 | { | ||
81 | #define VNIC_INTR_UNMASK_SHIFT 16 | ||
82 | #define VNIC_INTR_RESET_TIMER_SHIFT 17 | ||
83 | |||
84 | u32 int_credit_return = (credits & 0xffff) | | ||
85 | (unmask ? (1 << VNIC_INTR_UNMASK_SHIFT) : 0) | | ||
86 | (reset_timer ? (1 << VNIC_INTR_RESET_TIMER_SHIFT) : 0); | ||
87 | |||
88 | iowrite32(int_credit_return, &intr->ctrl->int_credit_return); | ||
89 | } | ||
90 | |||
91 | static inline unsigned int vnic_intr_credits(struct vnic_intr *intr) | ||
92 | { | ||
93 | return ioread32(&intr->ctrl->int_credits); | ||
94 | } | ||
95 | |||
96 | static inline void vnic_intr_return_all_credits(struct vnic_intr *intr) | ||
97 | { | ||
98 | unsigned int credits = vnic_intr_credits(intr); | ||
99 | int unmask = 1; | ||
100 | int reset_timer = 1; | ||
101 | |||
102 | vnic_intr_return_credits(intr, credits, unmask, reset_timer); | ||
103 | } | ||
104 | |||
105 | static inline u32 vnic_intr_legacy_pba(u32 __iomem *legacy_pba) | ||
106 | { | ||
107 | /* read PBA without clearing */ | ||
108 | return ioread32(legacy_pba); | ||
109 | } | ||
110 | |||
111 | void vnic_intr_free(struct vnic_intr *intr); | ||
112 | int vnic_intr_alloc(struct vnic_dev *vdev, struct vnic_intr *intr, | ||
113 | unsigned int index); | ||
114 | void vnic_intr_init(struct vnic_intr *intr, unsigned int coalescing_timer, | ||
115 | unsigned int coalescing_type, unsigned int mask_on_assertion); | ||
116 | void vnic_intr_clean(struct vnic_intr *intr); | ||
117 | |||
118 | #endif /* _VNIC_INTR_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_nic.h b/drivers/scsi/fnic/vnic_nic.h new file mode 100644 index 000000000000..f15b83eeaced --- /dev/null +++ b/drivers/scsi/fnic/vnic_nic.h | |||
@@ -0,0 +1,69 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_NIC_H_ | ||
19 | #define _VNIC_NIC_H_ | ||
20 | |||
21 | /* | ||
22 | * These defines avoid symbol clash between fnic and enic (Cisco 10G Eth | ||
23 | * Driver) when both are built with CONFIG options =y | ||
24 | */ | ||
25 | #define vnic_set_nic_cfg fnic_set_nic_cfg | ||
26 | |||
27 | #define NIC_CFG_RSS_DEFAULT_CPU_MASK_FIELD 0xffUL | ||
28 | #define NIC_CFG_RSS_DEFAULT_CPU_SHIFT 0 | ||
29 | #define NIC_CFG_RSS_HASH_TYPE (0xffUL << 8) | ||
30 | #define NIC_CFG_RSS_HASH_TYPE_MASK_FIELD 0xffUL | ||
31 | #define NIC_CFG_RSS_HASH_TYPE_SHIFT 8 | ||
32 | #define NIC_CFG_RSS_HASH_BITS (7UL << 16) | ||
33 | #define NIC_CFG_RSS_HASH_BITS_MASK_FIELD 7UL | ||
34 | #define NIC_CFG_RSS_HASH_BITS_SHIFT 16 | ||
35 | #define NIC_CFG_RSS_BASE_CPU (7UL << 19) | ||
36 | #define NIC_CFG_RSS_BASE_CPU_MASK_FIELD 7UL | ||
37 | #define NIC_CFG_RSS_BASE_CPU_SHIFT 19 | ||
38 | #define NIC_CFG_RSS_ENABLE (1UL << 22) | ||
39 | #define NIC_CFG_RSS_ENABLE_MASK_FIELD 1UL | ||
40 | #define NIC_CFG_RSS_ENABLE_SHIFT 22 | ||
41 | #define NIC_CFG_TSO_IPID_SPLIT_EN (1UL << 23) | ||
42 | #define NIC_CFG_TSO_IPID_SPLIT_EN_MASK_FIELD 1UL | ||
43 | #define NIC_CFG_TSO_IPID_SPLIT_EN_SHIFT 23 | ||
44 | #define NIC_CFG_IG_VLAN_STRIP_EN (1UL << 24) | ||
45 | #define NIC_CFG_IG_VLAN_STRIP_EN_MASK_FIELD 1UL | ||
46 | #define NIC_CFG_IG_VLAN_STRIP_EN_SHIFT 24 | ||
47 | |||
48 | static inline void vnic_set_nic_cfg(u32 *nic_cfg, | ||
49 | u8 rss_default_cpu, u8 rss_hash_type, | ||
50 | u8 rss_hash_bits, u8 rss_base_cpu, | ||
51 | u8 rss_enable, u8 tso_ipid_split_en, | ||
52 | u8 ig_vlan_strip_en) | ||
53 | { | ||
54 | *nic_cfg = (rss_default_cpu & NIC_CFG_RSS_DEFAULT_CPU_MASK_FIELD) | | ||
55 | ((rss_hash_type & NIC_CFG_RSS_HASH_TYPE_MASK_FIELD) | ||
56 | << NIC_CFG_RSS_HASH_TYPE_SHIFT) | | ||
57 | ((rss_hash_bits & NIC_CFG_RSS_HASH_BITS_MASK_FIELD) | ||
58 | << NIC_CFG_RSS_HASH_BITS_SHIFT) | | ||
59 | ((rss_base_cpu & NIC_CFG_RSS_BASE_CPU_MASK_FIELD) | ||
60 | << NIC_CFG_RSS_BASE_CPU_SHIFT) | | ||
61 | ((rss_enable & NIC_CFG_RSS_ENABLE_MASK_FIELD) | ||
62 | << NIC_CFG_RSS_ENABLE_SHIFT) | | ||
63 | ((tso_ipid_split_en & NIC_CFG_TSO_IPID_SPLIT_EN_MASK_FIELD) | ||
64 | << NIC_CFG_TSO_IPID_SPLIT_EN_SHIFT) | | ||
65 | ((ig_vlan_strip_en & NIC_CFG_IG_VLAN_STRIP_EN_MASK_FIELD) | ||
66 | << NIC_CFG_IG_VLAN_STRIP_EN_SHIFT); | ||
67 | } | ||
68 | |||
69 | #endif /* _VNIC_NIC_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_resource.h b/drivers/scsi/fnic/vnic_resource.h new file mode 100644 index 000000000000..2d842f79d41a --- /dev/null +++ b/drivers/scsi/fnic/vnic_resource.h | |||
@@ -0,0 +1,61 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_RESOURCE_H_ | ||
19 | #define _VNIC_RESOURCE_H_ | ||
20 | |||
21 | #define VNIC_RES_MAGIC 0x766E6963L /* 'vnic' */ | ||
22 | #define VNIC_RES_VERSION 0x00000000L | ||
23 | |||
24 | /* vNIC resource types */ | ||
25 | enum vnic_res_type { | ||
26 | RES_TYPE_EOL, /* End-of-list */ | ||
27 | RES_TYPE_WQ, /* Work queues */ | ||
28 | RES_TYPE_RQ, /* Receive queues */ | ||
29 | RES_TYPE_CQ, /* Completion queues */ | ||
30 | RES_TYPE_RSVD1, | ||
31 | RES_TYPE_NIC_CFG, /* Enet NIC config registers */ | ||
32 | RES_TYPE_RSVD2, | ||
33 | RES_TYPE_RSVD3, | ||
34 | RES_TYPE_RSVD4, | ||
35 | RES_TYPE_RSVD5, | ||
36 | RES_TYPE_INTR_CTRL, /* Interrupt ctrl table */ | ||
37 | RES_TYPE_INTR_TABLE, /* MSI/MSI-X Interrupt table */ | ||
38 | RES_TYPE_INTR_PBA, /* MSI/MSI-X PBA table */ | ||
39 | RES_TYPE_INTR_PBA_LEGACY, /* Legacy intr status */ | ||
40 | RES_TYPE_RSVD6, | ||
41 | RES_TYPE_RSVD7, | ||
42 | RES_TYPE_DEVCMD, /* Device command region */ | ||
43 | RES_TYPE_PASS_THRU_PAGE, /* Pass-thru page */ | ||
44 | |||
45 | RES_TYPE_MAX, /* Count of resource types */ | ||
46 | }; | ||
47 | |||
48 | struct vnic_resource_header { | ||
49 | u32 magic; | ||
50 | u32 version; | ||
51 | }; | ||
52 | |||
53 | struct vnic_resource { | ||
54 | u8 type; | ||
55 | u8 bar; | ||
56 | u8 pad[2]; | ||
57 | u32 bar_offset; | ||
58 | u32 count; | ||
59 | }; | ||
60 | |||
61 | #endif /* _VNIC_RESOURCE_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_rq.c b/drivers/scsi/fnic/vnic_rq.c new file mode 100644 index 000000000000..bedd0d285630 --- /dev/null +++ b/drivers/scsi/fnic/vnic_rq.c | |||
@@ -0,0 +1,196 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | |||
19 | #include <linux/errno.h> | ||
20 | #include <linux/types.h> | ||
21 | #include <linux/pci.h> | ||
22 | #include <linux/delay.h> | ||
23 | #include "vnic_dev.h" | ||
24 | #include "vnic_rq.h" | ||
25 | |||
26 | static int vnic_rq_alloc_bufs(struct vnic_rq *rq) | ||
27 | { | ||
28 | struct vnic_rq_buf *buf; | ||
29 | struct vnic_dev *vdev; | ||
30 | unsigned int i, j, count = rq->ring.desc_count; | ||
31 | unsigned int blks = VNIC_RQ_BUF_BLKS_NEEDED(count); | ||
32 | |||
33 | vdev = rq->vdev; | ||
34 | |||
35 | for (i = 0; i < blks; i++) { | ||
36 | rq->bufs[i] = kzalloc(VNIC_RQ_BUF_BLK_SZ, GFP_ATOMIC); | ||
37 | if (!rq->bufs[i]) { | ||
38 | printk(KERN_ERR "Failed to alloc rq_bufs\n"); | ||
39 | return -ENOMEM; | ||
40 | } | ||
41 | } | ||
42 | |||
43 | for (i = 0; i < blks; i++) { | ||
44 | buf = rq->bufs[i]; | ||
45 | for (j = 0; j < VNIC_RQ_BUF_BLK_ENTRIES; j++) { | ||
46 | buf->index = i * VNIC_RQ_BUF_BLK_ENTRIES + j; | ||
47 | buf->desc = (u8 *)rq->ring.descs + | ||
48 | rq->ring.desc_size * buf->index; | ||
49 | if (buf->index + 1 == count) { | ||
50 | buf->next = rq->bufs[0]; | ||
51 | break; | ||
52 | } else if (j + 1 == VNIC_RQ_BUF_BLK_ENTRIES) { | ||
53 | buf->next = rq->bufs[i + 1]; | ||
54 | } else { | ||
55 | buf->next = buf + 1; | ||
56 | buf++; | ||
57 | } | ||
58 | } | ||
59 | } | ||
60 | |||
61 | rq->to_use = rq->to_clean = rq->bufs[0]; | ||
62 | rq->buf_index = 0; | ||
63 | |||
64 | return 0; | ||
65 | } | ||
66 | |||
67 | void vnic_rq_free(struct vnic_rq *rq) | ||
68 | { | ||
69 | struct vnic_dev *vdev; | ||
70 | unsigned int i; | ||
71 | |||
72 | vdev = rq->vdev; | ||
73 | |||
74 | vnic_dev_free_desc_ring(vdev, &rq->ring); | ||
75 | |||
76 | for (i = 0; i < VNIC_RQ_BUF_BLKS_MAX; i++) { | ||
77 | kfree(rq->bufs[i]); | ||
78 | rq->bufs[i] = NULL; | ||
79 | } | ||
80 | |||
81 | rq->ctrl = NULL; | ||
82 | } | ||
83 | |||
84 | int vnic_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq, unsigned int index, | ||
85 | unsigned int desc_count, unsigned int desc_size) | ||
86 | { | ||
87 | int err; | ||
88 | |||
89 | rq->index = index; | ||
90 | rq->vdev = vdev; | ||
91 | |||
92 | rq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_RQ, index); | ||
93 | if (!rq->ctrl) { | ||
94 | printk(KERN_ERR "Failed to hook RQ[%d] resource\n", index); | ||
95 | return -EINVAL; | ||
96 | } | ||
97 | |||
98 | vnic_rq_disable(rq); | ||
99 | |||
100 | err = vnic_dev_alloc_desc_ring(vdev, &rq->ring, desc_count, desc_size); | ||
101 | if (err) | ||
102 | return err; | ||
103 | |||
104 | err = vnic_rq_alloc_bufs(rq); | ||
105 | if (err) { | ||
106 | vnic_rq_free(rq); | ||
107 | return err; | ||
108 | } | ||
109 | |||
110 | return 0; | ||
111 | } | ||
112 | |||
113 | void vnic_rq_init(struct vnic_rq *rq, unsigned int cq_index, | ||
114 | unsigned int error_interrupt_enable, | ||
115 | unsigned int error_interrupt_offset) | ||
116 | { | ||
117 | u64 paddr; | ||
118 | u32 fetch_index; | ||
119 | |||
120 | paddr = (u64)rq->ring.base_addr | VNIC_PADDR_TARGET; | ||
121 | writeq(paddr, &rq->ctrl->ring_base); | ||
122 | iowrite32(rq->ring.desc_count, &rq->ctrl->ring_size); | ||
123 | iowrite32(cq_index, &rq->ctrl->cq_index); | ||
124 | iowrite32(error_interrupt_enable, &rq->ctrl->error_interrupt_enable); | ||
125 | iowrite32(error_interrupt_offset, &rq->ctrl->error_interrupt_offset); | ||
126 | iowrite32(0, &rq->ctrl->dropped_packet_count); | ||
127 | iowrite32(0, &rq->ctrl->error_status); | ||
128 | |||
129 | /* Use current fetch_index as the ring starting point */ | ||
130 | fetch_index = ioread32(&rq->ctrl->fetch_index); | ||
131 | rq->to_use = rq->to_clean = | ||
132 | &rq->bufs[fetch_index / VNIC_RQ_BUF_BLK_ENTRIES] | ||
133 | [fetch_index % VNIC_RQ_BUF_BLK_ENTRIES]; | ||
134 | iowrite32(fetch_index, &rq->ctrl->posted_index); | ||
135 | |||
136 | rq->buf_index = 0; | ||
137 | } | ||
138 | |||
139 | unsigned int vnic_rq_error_status(struct vnic_rq *rq) | ||
140 | { | ||
141 | return ioread32(&rq->ctrl->error_status); | ||
142 | } | ||
143 | |||
144 | void vnic_rq_enable(struct vnic_rq *rq) | ||
145 | { | ||
146 | iowrite32(1, &rq->ctrl->enable); | ||
147 | } | ||
148 | |||
149 | int vnic_rq_disable(struct vnic_rq *rq) | ||
150 | { | ||
151 | unsigned int wait; | ||
152 | |||
153 | iowrite32(0, &rq->ctrl->enable); | ||
154 | |||
155 | /* Wait for HW to ACK disable request */ | ||
156 | for (wait = 0; wait < 100; wait++) { | ||
157 | if (!(ioread32(&rq->ctrl->running))) | ||
158 | return 0; | ||
159 | udelay(1); | ||
160 | } | ||
161 | |||
162 | printk(KERN_ERR "Failed to disable RQ[%d]\n", rq->index); | ||
163 | |||
164 | return -ETIMEDOUT; | ||
165 | } | ||
166 | |||
167 | void vnic_rq_clean(struct vnic_rq *rq, | ||
168 | void (*buf_clean)(struct vnic_rq *rq, struct vnic_rq_buf *buf)) | ||
169 | { | ||
170 | struct vnic_rq_buf *buf; | ||
171 | u32 fetch_index; | ||
172 | |||
173 | BUG_ON(ioread32(&rq->ctrl->enable)); | ||
174 | |||
175 | buf = rq->to_clean; | ||
176 | |||
177 | while (vnic_rq_desc_used(rq) > 0) { | ||
178 | |||
179 | (*buf_clean)(rq, buf); | ||
180 | |||
181 | buf = rq->to_clean = buf->next; | ||
182 | rq->ring.desc_avail++; | ||
183 | } | ||
184 | |||
185 | /* Use current fetch_index as the ring starting point */ | ||
186 | fetch_index = ioread32(&rq->ctrl->fetch_index); | ||
187 | rq->to_use = rq->to_clean = | ||
188 | &rq->bufs[fetch_index / VNIC_RQ_BUF_BLK_ENTRIES] | ||
189 | [fetch_index % VNIC_RQ_BUF_BLK_ENTRIES]; | ||
190 | iowrite32(fetch_index, &rq->ctrl->posted_index); | ||
191 | |||
192 | rq->buf_index = 0; | ||
193 | |||
194 | vnic_dev_clear_desc_ring(&rq->ring); | ||
195 | } | ||
196 | |||
diff --git a/drivers/scsi/fnic/vnic_rq.h b/drivers/scsi/fnic/vnic_rq.h new file mode 100644 index 000000000000..aebdfbd6ad3c --- /dev/null +++ b/drivers/scsi/fnic/vnic_rq.h | |||
@@ -0,0 +1,235 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_RQ_H_ | ||
19 | #define _VNIC_RQ_H_ | ||
20 | |||
21 | #include <linux/pci.h> | ||
22 | #include "vnic_dev.h" | ||
23 | #include "vnic_cq.h" | ||
24 | |||
25 | /* | ||
26 | * These defines avoid symbol clash between fnic and enic (Cisco 10G Eth | ||
27 | * Driver) when both are built with CONFIG options =y | ||
28 | */ | ||
29 | #define vnic_rq_desc_avail fnic_rq_desc_avail | ||
30 | #define vnic_rq_desc_used fnic_rq_desc_used | ||
31 | #define vnic_rq_next_desc fnic_rq_next_desc | ||
32 | #define vnic_rq_next_index fnic_rq_next_index | ||
33 | #define vnic_rq_next_buf_index fnic_rq_next_buf_index | ||
34 | #define vnic_rq_post fnic_rq_post | ||
35 | #define vnic_rq_posting_soon fnic_rq_posting_soon | ||
36 | #define vnic_rq_return_descs fnic_rq_return_descs | ||
37 | #define vnic_rq_service fnic_rq_service | ||
38 | #define vnic_rq_fill fnic_rq_fill | ||
39 | #define vnic_rq_free fnic_rq_free | ||
40 | #define vnic_rq_alloc fnic_rq_alloc | ||
41 | #define vnic_rq_init fnic_rq_init | ||
42 | #define vnic_rq_error_status fnic_rq_error_status | ||
43 | #define vnic_rq_enable fnic_rq_enable | ||
44 | #define vnic_rq_disable fnic_rq_disable | ||
45 | #define vnic_rq_clean fnic_rq_clean | ||
46 | |||
47 | /* Receive queue control */ | ||
48 | struct vnic_rq_ctrl { | ||
49 | u64 ring_base; /* 0x00 */ | ||
50 | u32 ring_size; /* 0x08 */ | ||
51 | u32 pad0; | ||
52 | u32 posted_index; /* 0x10 */ | ||
53 | u32 pad1; | ||
54 | u32 cq_index; /* 0x18 */ | ||
55 | u32 pad2; | ||
56 | u32 enable; /* 0x20 */ | ||
57 | u32 pad3; | ||
58 | u32 running; /* 0x28 */ | ||
59 | u32 pad4; | ||
60 | u32 fetch_index; /* 0x30 */ | ||
61 | u32 pad5; | ||
62 | u32 error_interrupt_enable; /* 0x38 */ | ||
63 | u32 pad6; | ||
64 | u32 error_interrupt_offset; /* 0x40 */ | ||
65 | u32 pad7; | ||
66 | u32 error_status; /* 0x48 */ | ||
67 | u32 pad8; | ||
68 | u32 dropped_packet_count; /* 0x50 */ | ||
69 | u32 pad9; | ||
70 | u32 dropped_packet_count_rc; /* 0x58 */ | ||
71 | u32 pad10; | ||
72 | }; | ||
73 | |||
74 | /* Break the vnic_rq_buf allocations into blocks of 64 entries */ | ||
75 | #define VNIC_RQ_BUF_BLK_ENTRIES 64 | ||
76 | #define VNIC_RQ_BUF_BLK_SZ \ | ||
77 | (VNIC_RQ_BUF_BLK_ENTRIES * sizeof(struct vnic_rq_buf)) | ||
78 | #define VNIC_RQ_BUF_BLKS_NEEDED(entries) \ | ||
79 | DIV_ROUND_UP(entries, VNIC_RQ_BUF_BLK_ENTRIES) | ||
80 | #define VNIC_RQ_BUF_BLKS_MAX VNIC_RQ_BUF_BLKS_NEEDED(4096) | ||
81 | |||
82 | struct vnic_rq_buf { | ||
83 | struct vnic_rq_buf *next; | ||
84 | dma_addr_t dma_addr; | ||
85 | void *os_buf; | ||
86 | unsigned int os_buf_index; | ||
87 | unsigned int len; | ||
88 | unsigned int index; | ||
89 | void *desc; | ||
90 | }; | ||
91 | |||
92 | struct vnic_rq { | ||
93 | unsigned int index; | ||
94 | struct vnic_dev *vdev; | ||
95 | struct vnic_rq_ctrl __iomem *ctrl; /* memory-mapped */ | ||
96 | struct vnic_dev_ring ring; | ||
97 | struct vnic_rq_buf *bufs[VNIC_RQ_BUF_BLKS_MAX]; | ||
98 | struct vnic_rq_buf *to_use; | ||
99 | struct vnic_rq_buf *to_clean; | ||
100 | void *os_buf_head; | ||
101 | unsigned int buf_index; | ||
102 | unsigned int pkts_outstanding; | ||
103 | }; | ||
104 | |||
105 | static inline unsigned int vnic_rq_desc_avail(struct vnic_rq *rq) | ||
106 | { | ||
107 | /* how many does SW own? */ | ||
108 | return rq->ring.desc_avail; | ||
109 | } | ||
110 | |||
111 | static inline unsigned int vnic_rq_desc_used(struct vnic_rq *rq) | ||
112 | { | ||
113 | /* how many does HW own? */ | ||
114 | return rq->ring.desc_count - rq->ring.desc_avail - 1; | ||
115 | } | ||
116 | |||
117 | static inline void *vnic_rq_next_desc(struct vnic_rq *rq) | ||
118 | { | ||
119 | return rq->to_use->desc; | ||
120 | } | ||
121 | |||
122 | static inline unsigned int vnic_rq_next_index(struct vnic_rq *rq) | ||
123 | { | ||
124 | return rq->to_use->index; | ||
125 | } | ||
126 | |||
127 | static inline unsigned int vnic_rq_next_buf_index(struct vnic_rq *rq) | ||
128 | { | ||
129 | return rq->buf_index++; | ||
130 | } | ||
131 | |||
132 | static inline void vnic_rq_post(struct vnic_rq *rq, | ||
133 | void *os_buf, unsigned int os_buf_index, | ||
134 | dma_addr_t dma_addr, unsigned int len) | ||
135 | { | ||
136 | struct vnic_rq_buf *buf = rq->to_use; | ||
137 | |||
138 | buf->os_buf = os_buf; | ||
139 | buf->os_buf_index = os_buf_index; | ||
140 | buf->dma_addr = dma_addr; | ||
141 | buf->len = len; | ||
142 | |||
143 | buf = buf->next; | ||
144 | rq->to_use = buf; | ||
145 | rq->ring.desc_avail--; | ||
146 | |||
147 | /* Move the posted_index every nth descriptor | ||
148 | */ | ||
149 | |||
150 | #ifndef VNIC_RQ_RETURN_RATE | ||
151 | #define VNIC_RQ_RETURN_RATE 0xf /* keep 2^n - 1 */ | ||
152 | #endif | ||
153 | |||
154 | if ((buf->index & VNIC_RQ_RETURN_RATE) == 0) { | ||
155 | /* Adding write memory barrier prevents compiler and/or CPU | ||
156 | * reordering, thus avoiding descriptor posting before | ||
157 | * descriptor is initialized. Otherwise, hardware can read | ||
158 | * stale descriptor fields. | ||
159 | */ | ||
160 | wmb(); | ||
161 | iowrite32(buf->index, &rq->ctrl->posted_index); | ||
162 | } | ||
163 | } | ||
164 | |||
165 | static inline int vnic_rq_posting_soon(struct vnic_rq *rq) | ||
166 | { | ||
167 | return (rq->to_use->index & VNIC_RQ_RETURN_RATE) == 0; | ||
168 | } | ||
169 | |||
170 | static inline void vnic_rq_return_descs(struct vnic_rq *rq, unsigned int count) | ||
171 | { | ||
172 | rq->ring.desc_avail += count; | ||
173 | } | ||
174 | |||
175 | enum desc_return_options { | ||
176 | VNIC_RQ_RETURN_DESC, | ||
177 | VNIC_RQ_DEFER_RETURN_DESC, | ||
178 | }; | ||
179 | |||
180 | static inline void vnic_rq_service(struct vnic_rq *rq, | ||
181 | struct cq_desc *cq_desc, u16 completed_index, | ||
182 | int desc_return, void (*buf_service)(struct vnic_rq *rq, | ||
183 | struct cq_desc *cq_desc, struct vnic_rq_buf *buf, | ||
184 | int skipped, void *opaque), void *opaque) | ||
185 | { | ||
186 | struct vnic_rq_buf *buf; | ||
187 | int skipped; | ||
188 | |||
189 | buf = rq->to_clean; | ||
190 | while (1) { | ||
191 | |||
192 | skipped = (buf->index != completed_index); | ||
193 | |||
194 | (*buf_service)(rq, cq_desc, buf, skipped, opaque); | ||
195 | |||
196 | if (desc_return == VNIC_RQ_RETURN_DESC) | ||
197 | rq->ring.desc_avail++; | ||
198 | |||
199 | rq->to_clean = buf->next; | ||
200 | |||
201 | if (!skipped) | ||
202 | break; | ||
203 | |||
204 | buf = rq->to_clean; | ||
205 | } | ||
206 | } | ||
207 | |||
208 | static inline int vnic_rq_fill(struct vnic_rq *rq, | ||
209 | int (*buf_fill)(struct vnic_rq *rq)) | ||
210 | { | ||
211 | int err; | ||
212 | |||
213 | while (vnic_rq_desc_avail(rq) > 1) { | ||
214 | |||
215 | err = (*buf_fill)(rq); | ||
216 | if (err) | ||
217 | return err; | ||
218 | } | ||
219 | |||
220 | return 0; | ||
221 | } | ||
222 | |||
223 | void vnic_rq_free(struct vnic_rq *rq); | ||
224 | int vnic_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq, unsigned int index, | ||
225 | unsigned int desc_count, unsigned int desc_size); | ||
226 | void vnic_rq_init(struct vnic_rq *rq, unsigned int cq_index, | ||
227 | unsigned int error_interrupt_enable, | ||
228 | unsigned int error_interrupt_offset); | ||
229 | unsigned int vnic_rq_error_status(struct vnic_rq *rq); | ||
230 | void vnic_rq_enable(struct vnic_rq *rq); | ||
231 | int vnic_rq_disable(struct vnic_rq *rq); | ||
232 | void vnic_rq_clean(struct vnic_rq *rq, | ||
233 | void (*buf_clean)(struct vnic_rq *rq, struct vnic_rq_buf *buf)); | ||
234 | |||
235 | #endif /* _VNIC_RQ_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_scsi.h b/drivers/scsi/fnic/vnic_scsi.h new file mode 100644 index 000000000000..46baa5254001 --- /dev/null +++ b/drivers/scsi/fnic/vnic_scsi.h | |||
@@ -0,0 +1,99 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_SCSI_H_ | ||
19 | #define _VNIC_SCSI_H_ | ||
20 | |||
21 | #define VNIC_FNIC_WQ_COPY_COUNT_MIN 1 | ||
22 | #define VNIC_FNIC_WQ_COPY_COUNT_MAX 1 | ||
23 | |||
24 | #define VNIC_FNIC_WQ_DESCS_MIN 64 | ||
25 | #define VNIC_FNIC_WQ_DESCS_MAX 128 | ||
26 | |||
27 | #define VNIC_FNIC_WQ_COPY_DESCS_MIN 64 | ||
28 | #define VNIC_FNIC_WQ_COPY_DESCS_MAX 512 | ||
29 | |||
30 | #define VNIC_FNIC_RQ_DESCS_MIN 64 | ||
31 | #define VNIC_FNIC_RQ_DESCS_MAX 128 | ||
32 | |||
33 | #define VNIC_FNIC_EDTOV_MIN 1000 | ||
34 | #define VNIC_FNIC_EDTOV_MAX 255000 | ||
35 | #define VNIC_FNIC_EDTOV_DEF 2000 | ||
36 | |||
37 | #define VNIC_FNIC_RATOV_MIN 1000 | ||
38 | #define VNIC_FNIC_RATOV_MAX 255000 | ||
39 | |||
40 | #define VNIC_FNIC_MAXDATAFIELDSIZE_MIN 256 | ||
41 | #define VNIC_FNIC_MAXDATAFIELDSIZE_MAX 2112 | ||
42 | |||
43 | #define VNIC_FNIC_FLOGI_RETRIES_MIN 0 | ||
44 | #define VNIC_FNIC_FLOGI_RETRIES_MAX 0xffffffff | ||
45 | #define VNIC_FNIC_FLOGI_RETRIES_DEF 0xffffffff | ||
46 | |||
47 | #define VNIC_FNIC_FLOGI_TIMEOUT_MIN 1000 | ||
48 | #define VNIC_FNIC_FLOGI_TIMEOUT_MAX 255000 | ||
49 | |||
50 | #define VNIC_FNIC_PLOGI_RETRIES_MIN 0 | ||
51 | #define VNIC_FNIC_PLOGI_RETRIES_MAX 255 | ||
52 | #define VNIC_FNIC_PLOGI_RETRIES_DEF 8 | ||
53 | |||
54 | #define VNIC_FNIC_PLOGI_TIMEOUT_MIN 1000 | ||
55 | #define VNIC_FNIC_PLOGI_TIMEOUT_MAX 255000 | ||
56 | |||
57 | #define VNIC_FNIC_IO_THROTTLE_COUNT_MIN 256 | ||
58 | #define VNIC_FNIC_IO_THROTTLE_COUNT_MAX 4096 | ||
59 | |||
60 | #define VNIC_FNIC_LINK_DOWN_TIMEOUT_MIN 0 | ||
61 | #define VNIC_FNIC_LINK_DOWN_TIMEOUT_MAX 240000 | ||
62 | |||
63 | #define VNIC_FNIC_PORT_DOWN_TIMEOUT_MIN 0 | ||
64 | #define VNIC_FNIC_PORT_DOWN_TIMEOUT_MAX 240000 | ||
65 | |||
66 | #define VNIC_FNIC_PORT_DOWN_IO_RETRIES_MIN 0 | ||
67 | #define VNIC_FNIC_PORT_DOWN_IO_RETRIES_MAX 255 | ||
68 | |||
69 | #define VNIC_FNIC_LUNS_PER_TARGET_MIN 1 | ||
70 | #define VNIC_FNIC_LUNS_PER_TARGET_MAX 1024 | ||
71 | |||
72 | /* Device-specific region: scsi configuration */ | ||
73 | struct vnic_fc_config { | ||
74 | u64 node_wwn; | ||
75 | u64 port_wwn; | ||
76 | u32 flags; | ||
77 | u32 wq_enet_desc_count; | ||
78 | u32 wq_copy_desc_count; | ||
79 | u32 rq_desc_count; | ||
80 | u32 flogi_retries; | ||
81 | u32 flogi_timeout; | ||
82 | u32 plogi_retries; | ||
83 | u32 plogi_timeout; | ||
84 | u32 io_throttle_count; | ||
85 | u32 link_down_timeout; | ||
86 | u32 port_down_timeout; | ||
87 | u32 port_down_io_retries; | ||
88 | u32 luns_per_tgt; | ||
89 | u16 maxdatafieldsize; | ||
90 | u16 ed_tov; | ||
91 | u16 ra_tov; | ||
92 | u16 intr_timer; | ||
93 | u8 intr_timer_type; | ||
94 | }; | ||
95 | |||
96 | #define VFCF_FCP_SEQ_LVL_ERR 0x1 /* Enable FCP-2 Error Recovery */ | ||
97 | #define VFCF_PERBI 0x2 /* persistent binding info available */ | ||
98 | |||
99 | #endif /* _VNIC_SCSI_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_stats.h b/drivers/scsi/fnic/vnic_stats.h new file mode 100644 index 000000000000..5372e23c1cb3 --- /dev/null +++ b/drivers/scsi/fnic/vnic_stats.h | |||
@@ -0,0 +1,68 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_STATS_H_ | ||
19 | #define _VNIC_STATS_H_ | ||
20 | |||
21 | /* Tx statistics */ | ||
22 | struct vnic_tx_stats { | ||
23 | u64 tx_frames_ok; | ||
24 | u64 tx_unicast_frames_ok; | ||
25 | u64 tx_multicast_frames_ok; | ||
26 | u64 tx_broadcast_frames_ok; | ||
27 | u64 tx_bytes_ok; | ||
28 | u64 tx_unicast_bytes_ok; | ||
29 | u64 tx_multicast_bytes_ok; | ||
30 | u64 tx_broadcast_bytes_ok; | ||
31 | u64 tx_drops; | ||
32 | u64 tx_errors; | ||
33 | u64 tx_tso; | ||
34 | u64 rsvd[16]; | ||
35 | }; | ||
36 | |||
37 | /* Rx statistics */ | ||
38 | struct vnic_rx_stats { | ||
39 | u64 rx_frames_ok; | ||
40 | u64 rx_frames_total; | ||
41 | u64 rx_unicast_frames_ok; | ||
42 | u64 rx_multicast_frames_ok; | ||
43 | u64 rx_broadcast_frames_ok; | ||
44 | u64 rx_bytes_ok; | ||
45 | u64 rx_unicast_bytes_ok; | ||
46 | u64 rx_multicast_bytes_ok; | ||
47 | u64 rx_broadcast_bytes_ok; | ||
48 | u64 rx_drop; | ||
49 | u64 rx_no_bufs; | ||
50 | u64 rx_errors; | ||
51 | u64 rx_rss; | ||
52 | u64 rx_crc_errors; | ||
53 | u64 rx_frames_64; | ||
54 | u64 rx_frames_127; | ||
55 | u64 rx_frames_255; | ||
56 | u64 rx_frames_511; | ||
57 | u64 rx_frames_1023; | ||
58 | u64 rx_frames_1518; | ||
59 | u64 rx_frames_to_max; | ||
60 | u64 rsvd[16]; | ||
61 | }; | ||
62 | |||
63 | struct vnic_stats { | ||
64 | struct vnic_tx_stats tx; | ||
65 | struct vnic_rx_stats rx; | ||
66 | }; | ||
67 | |||
68 | #endif /* _VNIC_STATS_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_wq.c b/drivers/scsi/fnic/vnic_wq.c new file mode 100644 index 000000000000..1f9ea790d130 --- /dev/null +++ b/drivers/scsi/fnic/vnic_wq.c | |||
@@ -0,0 +1,182 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | |||
19 | #include <linux/errno.h> | ||
20 | #include <linux/types.h> | ||
21 | #include <linux/pci.h> | ||
22 | #include <linux/delay.h> | ||
23 | #include "vnic_dev.h" | ||
24 | #include "vnic_wq.h" | ||
25 | |||
26 | static int vnic_wq_alloc_bufs(struct vnic_wq *wq) | ||
27 | { | ||
28 | struct vnic_wq_buf *buf; | ||
29 | struct vnic_dev *vdev; | ||
30 | unsigned int i, j, count = wq->ring.desc_count; | ||
31 | unsigned int blks = VNIC_WQ_BUF_BLKS_NEEDED(count); | ||
32 | |||
33 | vdev = wq->vdev; | ||
34 | |||
35 | for (i = 0; i < blks; i++) { | ||
36 | wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ, GFP_ATOMIC); | ||
37 | if (!wq->bufs[i]) { | ||
38 | printk(KERN_ERR "Failed to alloc wq_bufs\n"); | ||
39 | return -ENOMEM; | ||
40 | } | ||
41 | } | ||
42 | |||
43 | for (i = 0; i < blks; i++) { | ||
44 | buf = wq->bufs[i]; | ||
45 | for (j = 0; j < VNIC_WQ_BUF_BLK_ENTRIES; j++) { | ||
46 | buf->index = i * VNIC_WQ_BUF_BLK_ENTRIES + j; | ||
47 | buf->desc = (u8 *)wq->ring.descs + | ||
48 | wq->ring.desc_size * buf->index; | ||
49 | if (buf->index + 1 == count) { | ||
50 | buf->next = wq->bufs[0]; | ||
51 | break; | ||
52 | } else if (j + 1 == VNIC_WQ_BUF_BLK_ENTRIES) { | ||
53 | buf->next = wq->bufs[i + 1]; | ||
54 | } else { | ||
55 | buf->next = buf + 1; | ||
56 | buf++; | ||
57 | } | ||
58 | } | ||
59 | } | ||
60 | |||
61 | wq->to_use = wq->to_clean = wq->bufs[0]; | ||
62 | |||
63 | return 0; | ||
64 | } | ||
65 | |||
66 | void vnic_wq_free(struct vnic_wq *wq) | ||
67 | { | ||
68 | struct vnic_dev *vdev; | ||
69 | unsigned int i; | ||
70 | |||
71 | vdev = wq->vdev; | ||
72 | |||
73 | vnic_dev_free_desc_ring(vdev, &wq->ring); | ||
74 | |||
75 | for (i = 0; i < VNIC_WQ_BUF_BLKS_MAX; i++) { | ||
76 | kfree(wq->bufs[i]); | ||
77 | wq->bufs[i] = NULL; | ||
78 | } | ||
79 | |||
80 | wq->ctrl = NULL; | ||
81 | |||
82 | } | ||
83 | |||
84 | int vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index, | ||
85 | unsigned int desc_count, unsigned int desc_size) | ||
86 | { | ||
87 | int err; | ||
88 | |||
89 | wq->index = index; | ||
90 | wq->vdev = vdev; | ||
91 | |||
92 | wq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_WQ, index); | ||
93 | if (!wq->ctrl) { | ||
94 | printk(KERN_ERR "Failed to hook WQ[%d] resource\n", index); | ||
95 | return -EINVAL; | ||
96 | } | ||
97 | |||
98 | vnic_wq_disable(wq); | ||
99 | |||
100 | err = vnic_dev_alloc_desc_ring(vdev, &wq->ring, desc_count, desc_size); | ||
101 | if (err) | ||
102 | return err; | ||
103 | |||
104 | err = vnic_wq_alloc_bufs(wq); | ||
105 | if (err) { | ||
106 | vnic_wq_free(wq); | ||
107 | return err; | ||
108 | } | ||
109 | |||
110 | return 0; | ||
111 | } | ||
112 | |||
113 | void vnic_wq_init(struct vnic_wq *wq, unsigned int cq_index, | ||
114 | unsigned int error_interrupt_enable, | ||
115 | unsigned int error_interrupt_offset) | ||
116 | { | ||
117 | u64 paddr; | ||
118 | |||
119 | paddr = (u64)wq->ring.base_addr | VNIC_PADDR_TARGET; | ||
120 | writeq(paddr, &wq->ctrl->ring_base); | ||
121 | iowrite32(wq->ring.desc_count, &wq->ctrl->ring_size); | ||
122 | iowrite32(0, &wq->ctrl->fetch_index); | ||
123 | iowrite32(0, &wq->ctrl->posted_index); | ||
124 | iowrite32(cq_index, &wq->ctrl->cq_index); | ||
125 | iowrite32(error_interrupt_enable, &wq->ctrl->error_interrupt_enable); | ||
126 | iowrite32(error_interrupt_offset, &wq->ctrl->error_interrupt_offset); | ||
127 | iowrite32(0, &wq->ctrl->error_status); | ||
128 | } | ||
129 | |||
130 | unsigned int vnic_wq_error_status(struct vnic_wq *wq) | ||
131 | { | ||
132 | return ioread32(&wq->ctrl->error_status); | ||
133 | } | ||
134 | |||
135 | void vnic_wq_enable(struct vnic_wq *wq) | ||
136 | { | ||
137 | iowrite32(1, &wq->ctrl->enable); | ||
138 | } | ||
139 | |||
140 | int vnic_wq_disable(struct vnic_wq *wq) | ||
141 | { | ||
142 | unsigned int wait; | ||
143 | |||
144 | iowrite32(0, &wq->ctrl->enable); | ||
145 | |||
146 | /* Wait for HW to ACK disable request */ | ||
147 | for (wait = 0; wait < 100; wait++) { | ||
148 | if (!(ioread32(&wq->ctrl->running))) | ||
149 | return 0; | ||
150 | udelay(1); | ||
151 | } | ||
152 | |||
153 | printk(KERN_ERR "Failed to disable WQ[%d]\n", wq->index); | ||
154 | |||
155 | return -ETIMEDOUT; | ||
156 | } | ||
157 | |||
158 | void vnic_wq_clean(struct vnic_wq *wq, | ||
159 | void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf)) | ||
160 | { | ||
161 | struct vnic_wq_buf *buf; | ||
162 | |||
163 | BUG_ON(ioread32(&wq->ctrl->enable)); | ||
164 | |||
165 | buf = wq->to_clean; | ||
166 | |||
167 | while (vnic_wq_desc_used(wq) > 0) { | ||
168 | |||
169 | (*buf_clean)(wq, buf); | ||
170 | |||
171 | buf = wq->to_clean = buf->next; | ||
172 | wq->ring.desc_avail++; | ||
173 | } | ||
174 | |||
175 | wq->to_use = wq->to_clean = wq->bufs[0]; | ||
176 | |||
177 | iowrite32(0, &wq->ctrl->fetch_index); | ||
178 | iowrite32(0, &wq->ctrl->posted_index); | ||
179 | iowrite32(0, &wq->ctrl->error_status); | ||
180 | |||
181 | vnic_dev_clear_desc_ring(&wq->ring); | ||
182 | } | ||
diff --git a/drivers/scsi/fnic/vnic_wq.h b/drivers/scsi/fnic/vnic_wq.h new file mode 100644 index 000000000000..5cd094f79281 --- /dev/null +++ b/drivers/scsi/fnic/vnic_wq.h | |||
@@ -0,0 +1,175 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_WQ_H_ | ||
19 | #define _VNIC_WQ_H_ | ||
20 | |||
21 | #include <linux/pci.h> | ||
22 | #include "vnic_dev.h" | ||
23 | #include "vnic_cq.h" | ||
24 | |||
25 | /* | ||
26 | * These defines avoid symbol clash between fnic and enic (Cisco 10G Eth | ||
27 | * Driver) when both are built with CONFIG options =y | ||
28 | */ | ||
29 | #define vnic_wq_desc_avail fnic_wq_desc_avail | ||
30 | #define vnic_wq_desc_used fnic_wq_desc_used | ||
31 | #define vnic_wq_next_desc fni_cwq_next_desc | ||
32 | #define vnic_wq_post fnic_wq_post | ||
33 | #define vnic_wq_service fnic_wq_service | ||
34 | #define vnic_wq_free fnic_wq_free | ||
35 | #define vnic_wq_alloc fnic_wq_alloc | ||
36 | #define vnic_wq_init fnic_wq_init | ||
37 | #define vnic_wq_error_status fnic_wq_error_status | ||
38 | #define vnic_wq_enable fnic_wq_enable | ||
39 | #define vnic_wq_disable fnic_wq_disable | ||
40 | #define vnic_wq_clean fnic_wq_clean | ||
41 | |||
42 | /* Work queue control */ | ||
43 | struct vnic_wq_ctrl { | ||
44 | u64 ring_base; /* 0x00 */ | ||
45 | u32 ring_size; /* 0x08 */ | ||
46 | u32 pad0; | ||
47 | u32 posted_index; /* 0x10 */ | ||
48 | u32 pad1; | ||
49 | u32 cq_index; /* 0x18 */ | ||
50 | u32 pad2; | ||
51 | u32 enable; /* 0x20 */ | ||
52 | u32 pad3; | ||
53 | u32 running; /* 0x28 */ | ||
54 | u32 pad4; | ||
55 | u32 fetch_index; /* 0x30 */ | ||
56 | u32 pad5; | ||
57 | u32 dca_value; /* 0x38 */ | ||
58 | u32 pad6; | ||
59 | u32 error_interrupt_enable; /* 0x40 */ | ||
60 | u32 pad7; | ||
61 | u32 error_interrupt_offset; /* 0x48 */ | ||
62 | u32 pad8; | ||
63 | u32 error_status; /* 0x50 */ | ||
64 | u32 pad9; | ||
65 | }; | ||
66 | |||
67 | struct vnic_wq_buf { | ||
68 | struct vnic_wq_buf *next; | ||
69 | dma_addr_t dma_addr; | ||
70 | void *os_buf; | ||
71 | unsigned int len; | ||
72 | unsigned int index; | ||
73 | int sop; | ||
74 | void *desc; | ||
75 | }; | ||
76 | |||
77 | /* Break the vnic_wq_buf allocations into blocks of 64 entries */ | ||
78 | #define VNIC_WQ_BUF_BLK_ENTRIES 64 | ||
79 | #define VNIC_WQ_BUF_BLK_SZ \ | ||
80 | (VNIC_WQ_BUF_BLK_ENTRIES * sizeof(struct vnic_wq_buf)) | ||
81 | #define VNIC_WQ_BUF_BLKS_NEEDED(entries) \ | ||
82 | DIV_ROUND_UP(entries, VNIC_WQ_BUF_BLK_ENTRIES) | ||
83 | #define VNIC_WQ_BUF_BLKS_MAX VNIC_WQ_BUF_BLKS_NEEDED(4096) | ||
84 | |||
85 | struct vnic_wq { | ||
86 | unsigned int index; | ||
87 | struct vnic_dev *vdev; | ||
88 | struct vnic_wq_ctrl __iomem *ctrl; /* memory-mapped */ | ||
89 | struct vnic_dev_ring ring; | ||
90 | struct vnic_wq_buf *bufs[VNIC_WQ_BUF_BLKS_MAX]; | ||
91 | struct vnic_wq_buf *to_use; | ||
92 | struct vnic_wq_buf *to_clean; | ||
93 | unsigned int pkts_outstanding; | ||
94 | }; | ||
95 | |||
96 | static inline unsigned int vnic_wq_desc_avail(struct vnic_wq *wq) | ||
97 | { | ||
98 | /* how many does SW own? */ | ||
99 | return wq->ring.desc_avail; | ||
100 | } | ||
101 | |||
102 | static inline unsigned int vnic_wq_desc_used(struct vnic_wq *wq) | ||
103 | { | ||
104 | /* how many does HW own? */ | ||
105 | return wq->ring.desc_count - wq->ring.desc_avail - 1; | ||
106 | } | ||
107 | |||
108 | static inline void *vnic_wq_next_desc(struct vnic_wq *wq) | ||
109 | { | ||
110 | return wq->to_use->desc; | ||
111 | } | ||
112 | |||
113 | static inline void vnic_wq_post(struct vnic_wq *wq, | ||
114 | void *os_buf, dma_addr_t dma_addr, | ||
115 | unsigned int len, int sop, int eop) | ||
116 | { | ||
117 | struct vnic_wq_buf *buf = wq->to_use; | ||
118 | |||
119 | buf->sop = sop; | ||
120 | buf->os_buf = eop ? os_buf : NULL; | ||
121 | buf->dma_addr = dma_addr; | ||
122 | buf->len = len; | ||
123 | |||
124 | buf = buf->next; | ||
125 | if (eop) { | ||
126 | /* Adding write memory barrier prevents compiler and/or CPU | ||
127 | * reordering, thus avoiding descriptor posting before | ||
128 | * descriptor is initialized. Otherwise, hardware can read | ||
129 | * stale descriptor fields. | ||
130 | */ | ||
131 | wmb(); | ||
132 | iowrite32(buf->index, &wq->ctrl->posted_index); | ||
133 | } | ||
134 | wq->to_use = buf; | ||
135 | |||
136 | wq->ring.desc_avail--; | ||
137 | } | ||
138 | |||
139 | static inline void vnic_wq_service(struct vnic_wq *wq, | ||
140 | struct cq_desc *cq_desc, u16 completed_index, | ||
141 | void (*buf_service)(struct vnic_wq *wq, | ||
142 | struct cq_desc *cq_desc, struct vnic_wq_buf *buf, void *opaque), | ||
143 | void *opaque) | ||
144 | { | ||
145 | struct vnic_wq_buf *buf; | ||
146 | |||
147 | buf = wq->to_clean; | ||
148 | while (1) { | ||
149 | |||
150 | (*buf_service)(wq, cq_desc, buf, opaque); | ||
151 | |||
152 | wq->ring.desc_avail++; | ||
153 | |||
154 | wq->to_clean = buf->next; | ||
155 | |||
156 | if (buf->index == completed_index) | ||
157 | break; | ||
158 | |||
159 | buf = wq->to_clean; | ||
160 | } | ||
161 | } | ||
162 | |||
163 | void vnic_wq_free(struct vnic_wq *wq); | ||
164 | int vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index, | ||
165 | unsigned int desc_count, unsigned int desc_size); | ||
166 | void vnic_wq_init(struct vnic_wq *wq, unsigned int cq_index, | ||
167 | unsigned int error_interrupt_enable, | ||
168 | unsigned int error_interrupt_offset); | ||
169 | unsigned int vnic_wq_error_status(struct vnic_wq *wq); | ||
170 | void vnic_wq_enable(struct vnic_wq *wq); | ||
171 | int vnic_wq_disable(struct vnic_wq *wq); | ||
172 | void vnic_wq_clean(struct vnic_wq *wq, | ||
173 | void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf)); | ||
174 | |||
175 | #endif /* _VNIC_WQ_H_ */ | ||
diff --git a/drivers/scsi/fnic/vnic_wq_copy.c b/drivers/scsi/fnic/vnic_wq_copy.c new file mode 100644 index 000000000000..9eab7e7caf38 --- /dev/null +++ b/drivers/scsi/fnic/vnic_wq_copy.c | |||
@@ -0,0 +1,117 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | |||
19 | #include <linux/errno.h> | ||
20 | #include <linux/types.h> | ||
21 | #include <linux/pci.h> | ||
22 | #include <linux/delay.h> | ||
23 | #include "vnic_wq_copy.h" | ||
24 | |||
25 | void vnic_wq_copy_enable(struct vnic_wq_copy *wq) | ||
26 | { | ||
27 | iowrite32(1, &wq->ctrl->enable); | ||
28 | } | ||
29 | |||
30 | int vnic_wq_copy_disable(struct vnic_wq_copy *wq) | ||
31 | { | ||
32 | unsigned int wait; | ||
33 | |||
34 | iowrite32(0, &wq->ctrl->enable); | ||
35 | |||
36 | /* Wait for HW to ACK disable request */ | ||
37 | for (wait = 0; wait < 100; wait++) { | ||
38 | if (!(ioread32(&wq->ctrl->running))) | ||
39 | return 0; | ||
40 | udelay(1); | ||
41 | } | ||
42 | |||
43 | printk(KERN_ERR "Failed to disable Copy WQ[%d]," | ||
44 | " fetch index=%d, posted_index=%d\n", | ||
45 | wq->index, ioread32(&wq->ctrl->fetch_index), | ||
46 | ioread32(&wq->ctrl->posted_index)); | ||
47 | |||
48 | return -ENODEV; | ||
49 | } | ||
50 | |||
51 | void vnic_wq_copy_clean(struct vnic_wq_copy *wq, | ||
52 | void (*q_clean)(struct vnic_wq_copy *wq, | ||
53 | struct fcpio_host_req *wq_desc)) | ||
54 | { | ||
55 | BUG_ON(ioread32(&wq->ctrl->enable)); | ||
56 | |||
57 | if (vnic_wq_copy_desc_in_use(wq)) | ||
58 | vnic_wq_copy_service(wq, -1, q_clean); | ||
59 | |||
60 | wq->to_use_index = wq->to_clean_index = 0; | ||
61 | |||
62 | iowrite32(0, &wq->ctrl->fetch_index); | ||
63 | iowrite32(0, &wq->ctrl->posted_index); | ||
64 | iowrite32(0, &wq->ctrl->error_status); | ||
65 | |||
66 | vnic_dev_clear_desc_ring(&wq->ring); | ||
67 | } | ||
68 | |||
69 | void vnic_wq_copy_free(struct vnic_wq_copy *wq) | ||
70 | { | ||
71 | struct vnic_dev *vdev; | ||
72 | |||
73 | vdev = wq->vdev; | ||
74 | vnic_dev_free_desc_ring(vdev, &wq->ring); | ||
75 | wq->ctrl = NULL; | ||
76 | } | ||
77 | |||
78 | int vnic_wq_copy_alloc(struct vnic_dev *vdev, struct vnic_wq_copy *wq, | ||
79 | unsigned int index, unsigned int desc_count, | ||
80 | unsigned int desc_size) | ||
81 | { | ||
82 | int err; | ||
83 | |||
84 | wq->index = index; | ||
85 | wq->vdev = vdev; | ||
86 | wq->to_use_index = wq->to_clean_index = 0; | ||
87 | wq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_WQ, index); | ||
88 | if (!wq->ctrl) { | ||
89 | printk(KERN_ERR "Failed to hook COPY WQ[%d] resource\n", index); | ||
90 | return -EINVAL; | ||
91 | } | ||
92 | |||
93 | vnic_wq_copy_disable(wq); | ||
94 | |||
95 | err = vnic_dev_alloc_desc_ring(vdev, &wq->ring, desc_count, desc_size); | ||
96 | if (err) | ||
97 | return err; | ||
98 | |||
99 | return 0; | ||
100 | } | ||
101 | |||
102 | void vnic_wq_copy_init(struct vnic_wq_copy *wq, unsigned int cq_index, | ||
103 | unsigned int error_interrupt_enable, | ||
104 | unsigned int error_interrupt_offset) | ||
105 | { | ||
106 | u64 paddr; | ||
107 | |||
108 | paddr = (u64)wq->ring.base_addr | VNIC_PADDR_TARGET; | ||
109 | writeq(paddr, &wq->ctrl->ring_base); | ||
110 | iowrite32(wq->ring.desc_count, &wq->ctrl->ring_size); | ||
111 | iowrite32(0, &wq->ctrl->fetch_index); | ||
112 | iowrite32(0, &wq->ctrl->posted_index); | ||
113 | iowrite32(cq_index, &wq->ctrl->cq_index); | ||
114 | iowrite32(error_interrupt_enable, &wq->ctrl->error_interrupt_enable); | ||
115 | iowrite32(error_interrupt_offset, &wq->ctrl->error_interrupt_offset); | ||
116 | } | ||
117 | |||
diff --git a/drivers/scsi/fnic/vnic_wq_copy.h b/drivers/scsi/fnic/vnic_wq_copy.h new file mode 100644 index 000000000000..6aff9740c3df --- /dev/null +++ b/drivers/scsi/fnic/vnic_wq_copy.h | |||
@@ -0,0 +1,128 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _VNIC_WQ_COPY_H_ | ||
19 | #define _VNIC_WQ_COPY_H_ | ||
20 | |||
21 | #include <linux/pci.h> | ||
22 | #include "vnic_wq.h" | ||
23 | #include "fcpio.h" | ||
24 | |||
25 | #define VNIC_WQ_COPY_MAX 1 | ||
26 | |||
27 | struct vnic_wq_copy { | ||
28 | unsigned int index; | ||
29 | struct vnic_dev *vdev; | ||
30 | struct vnic_wq_ctrl __iomem *ctrl; /* memory-mapped */ | ||
31 | struct vnic_dev_ring ring; | ||
32 | unsigned to_use_index; | ||
33 | unsigned to_clean_index; | ||
34 | }; | ||
35 | |||
36 | static inline unsigned int vnic_wq_copy_desc_avail(struct vnic_wq_copy *wq) | ||
37 | { | ||
38 | return wq->ring.desc_avail; | ||
39 | } | ||
40 | |||
41 | static inline unsigned int vnic_wq_copy_desc_in_use(struct vnic_wq_copy *wq) | ||
42 | { | ||
43 | return wq->ring.desc_count - 1 - wq->ring.desc_avail; | ||
44 | } | ||
45 | |||
46 | static inline void *vnic_wq_copy_next_desc(struct vnic_wq_copy *wq) | ||
47 | { | ||
48 | struct fcpio_host_req *desc = wq->ring.descs; | ||
49 | return &desc[wq->to_use_index]; | ||
50 | } | ||
51 | |||
52 | static inline void vnic_wq_copy_post(struct vnic_wq_copy *wq) | ||
53 | { | ||
54 | |||
55 | ((wq->to_use_index + 1) == wq->ring.desc_count) ? | ||
56 | (wq->to_use_index = 0) : (wq->to_use_index++); | ||
57 | wq->ring.desc_avail--; | ||
58 | |||
59 | /* Adding write memory barrier prevents compiler and/or CPU | ||
60 | * reordering, thus avoiding descriptor posting before | ||
61 | * descriptor is initialized. Otherwise, hardware can read | ||
62 | * stale descriptor fields. | ||
63 | */ | ||
64 | wmb(); | ||
65 | |||
66 | iowrite32(wq->to_use_index, &wq->ctrl->posted_index); | ||
67 | } | ||
68 | |||
69 | static inline void vnic_wq_copy_desc_process(struct vnic_wq_copy *wq, u16 index) | ||
70 | { | ||
71 | unsigned int cnt; | ||
72 | |||
73 | if (wq->to_clean_index <= index) | ||
74 | cnt = (index - wq->to_clean_index) + 1; | ||
75 | else | ||
76 | cnt = wq->ring.desc_count - wq->to_clean_index + index + 1; | ||
77 | |||
78 | wq->to_clean_index = ((index + 1) % wq->ring.desc_count); | ||
79 | wq->ring.desc_avail += cnt; | ||
80 | |||
81 | } | ||
82 | |||
83 | static inline void vnic_wq_copy_service(struct vnic_wq_copy *wq, | ||
84 | u16 completed_index, | ||
85 | void (*q_service)(struct vnic_wq_copy *wq, | ||
86 | struct fcpio_host_req *wq_desc)) | ||
87 | { | ||
88 | struct fcpio_host_req *wq_desc = wq->ring.descs; | ||
89 | unsigned int curr_index; | ||
90 | |||
91 | while (1) { | ||
92 | |||
93 | if (q_service) | ||
94 | (*q_service)(wq, &wq_desc[wq->to_clean_index]); | ||
95 | |||
96 | wq->ring.desc_avail++; | ||
97 | |||
98 | curr_index = wq->to_clean_index; | ||
99 | |||
100 | /* increment the to-clean index so that we start | ||
101 | * with an unprocessed index next time we enter the loop | ||
102 | */ | ||
103 | ((wq->to_clean_index + 1) == wq->ring.desc_count) ? | ||
104 | (wq->to_clean_index = 0) : (wq->to_clean_index++); | ||
105 | |||
106 | if (curr_index == completed_index) | ||
107 | break; | ||
108 | |||
109 | /* we have cleaned all the entries */ | ||
110 | if ((completed_index == (u16)-1) && | ||
111 | (wq->to_clean_index == wq->to_use_index)) | ||
112 | break; | ||
113 | } | ||
114 | } | ||
115 | |||
116 | void vnic_wq_copy_enable(struct vnic_wq_copy *wq); | ||
117 | int vnic_wq_copy_disable(struct vnic_wq_copy *wq); | ||
118 | void vnic_wq_copy_free(struct vnic_wq_copy *wq); | ||
119 | int vnic_wq_copy_alloc(struct vnic_dev *vdev, struct vnic_wq_copy *wq, | ||
120 | unsigned int index, unsigned int desc_count, unsigned int desc_size); | ||
121 | void vnic_wq_copy_init(struct vnic_wq_copy *wq, unsigned int cq_index, | ||
122 | unsigned int error_interrupt_enable, | ||
123 | unsigned int error_interrupt_offset); | ||
124 | void vnic_wq_copy_clean(struct vnic_wq_copy *wq, | ||
125 | void (*q_clean)(struct vnic_wq_copy *wq, | ||
126 | struct fcpio_host_req *wq_desc)); | ||
127 | |||
128 | #endif /* _VNIC_WQ_COPY_H_ */ | ||
diff --git a/drivers/scsi/fnic/wq_enet_desc.h b/drivers/scsi/fnic/wq_enet_desc.h new file mode 100644 index 000000000000..b121cbad18b8 --- /dev/null +++ b/drivers/scsi/fnic/wq_enet_desc.h | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Cisco Systems, Inc. All rights reserved. | ||
3 | * Copyright 2007 Nuova Systems, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you may redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
10 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
11 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
12 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
13 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
15 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
16 | * SOFTWARE. | ||
17 | */ | ||
18 | #ifndef _WQ_ENET_DESC_H_ | ||
19 | #define _WQ_ENET_DESC_H_ | ||
20 | |||
21 | /* Ethernet work queue descriptor: 16B */ | ||
22 | struct wq_enet_desc { | ||
23 | __le64 address; | ||
24 | __le16 length; | ||
25 | __le16 mss_loopback; | ||
26 | __le16 header_length_flags; | ||
27 | __le16 vlan_tag; | ||
28 | }; | ||
29 | |||
30 | #define WQ_ENET_ADDR_BITS 64 | ||
31 | #define WQ_ENET_LEN_BITS 14 | ||
32 | #define WQ_ENET_LEN_MASK ((1 << WQ_ENET_LEN_BITS) - 1) | ||
33 | #define WQ_ENET_MSS_BITS 14 | ||
34 | #define WQ_ENET_MSS_MASK ((1 << WQ_ENET_MSS_BITS) - 1) | ||
35 | #define WQ_ENET_MSS_SHIFT 2 | ||
36 | #define WQ_ENET_LOOPBACK_SHIFT 1 | ||
37 | #define WQ_ENET_HDRLEN_BITS 10 | ||
38 | #define WQ_ENET_HDRLEN_MASK ((1 << WQ_ENET_HDRLEN_BITS) - 1) | ||
39 | #define WQ_ENET_FLAGS_OM_BITS 2 | ||
40 | #define WQ_ENET_FLAGS_OM_MASK ((1 << WQ_ENET_FLAGS_OM_BITS) - 1) | ||
41 | #define WQ_ENET_FLAGS_EOP_SHIFT 12 | ||
42 | #define WQ_ENET_FLAGS_CQ_ENTRY_SHIFT 13 | ||
43 | #define WQ_ENET_FLAGS_FCOE_ENCAP_SHIFT 14 | ||
44 | #define WQ_ENET_FLAGS_VLAN_TAG_INSERT_SHIFT 15 | ||
45 | |||
46 | #define WQ_ENET_OFFLOAD_MODE_CSUM 0 | ||
47 | #define WQ_ENET_OFFLOAD_MODE_RESERVED 1 | ||
48 | #define WQ_ENET_OFFLOAD_MODE_CSUM_L4 2 | ||
49 | #define WQ_ENET_OFFLOAD_MODE_TSO 3 | ||
50 | |||
51 | static inline void wq_enet_desc_enc(struct wq_enet_desc *desc, | ||
52 | u64 address, u16 length, u16 mss, u16 header_length, | ||
53 | u8 offload_mode, u8 eop, u8 cq_entry, u8 fcoe_encap, | ||
54 | u8 vlan_tag_insert, u16 vlan_tag, u8 loopback) | ||
55 | { | ||
56 | desc->address = cpu_to_le64(address); | ||
57 | desc->length = cpu_to_le16(length & WQ_ENET_LEN_MASK); | ||
58 | desc->mss_loopback = cpu_to_le16((mss & WQ_ENET_MSS_MASK) << | ||
59 | WQ_ENET_MSS_SHIFT | (loopback & 1) << WQ_ENET_LOOPBACK_SHIFT); | ||
60 | desc->header_length_flags = cpu_to_le16( | ||
61 | (header_length & WQ_ENET_HDRLEN_MASK) | | ||
62 | (offload_mode & WQ_ENET_FLAGS_OM_MASK) << WQ_ENET_HDRLEN_BITS | | ||
63 | (eop & 1) << WQ_ENET_FLAGS_EOP_SHIFT | | ||
64 | (cq_entry & 1) << WQ_ENET_FLAGS_CQ_ENTRY_SHIFT | | ||
65 | (fcoe_encap & 1) << WQ_ENET_FLAGS_FCOE_ENCAP_SHIFT | | ||
66 | (vlan_tag_insert & 1) << WQ_ENET_FLAGS_VLAN_TAG_INSERT_SHIFT); | ||
67 | desc->vlan_tag = cpu_to_le16(vlan_tag); | ||
68 | } | ||
69 | |||
70 | static inline void wq_enet_desc_dec(struct wq_enet_desc *desc, | ||
71 | u64 *address, u16 *length, u16 *mss, u16 *header_length, | ||
72 | u8 *offload_mode, u8 *eop, u8 *cq_entry, u8 *fcoe_encap, | ||
73 | u8 *vlan_tag_insert, u16 *vlan_tag, u8 *loopback) | ||
74 | { | ||
75 | *address = le64_to_cpu(desc->address); | ||
76 | *length = le16_to_cpu(desc->length) & WQ_ENET_LEN_MASK; | ||
77 | *mss = (le16_to_cpu(desc->mss_loopback) >> WQ_ENET_MSS_SHIFT) & | ||
78 | WQ_ENET_MSS_MASK; | ||
79 | *loopback = (u8)((le16_to_cpu(desc->mss_loopback) >> | ||
80 | WQ_ENET_LOOPBACK_SHIFT) & 1); | ||
81 | *header_length = le16_to_cpu(desc->header_length_flags) & | ||
82 | WQ_ENET_HDRLEN_MASK; | ||
83 | *offload_mode = (u8)((le16_to_cpu(desc->header_length_flags) >> | ||
84 | WQ_ENET_HDRLEN_BITS) & WQ_ENET_FLAGS_OM_MASK); | ||
85 | *eop = (u8)((le16_to_cpu(desc->header_length_flags) >> | ||
86 | WQ_ENET_FLAGS_EOP_SHIFT) & 1); | ||
87 | *cq_entry = (u8)((le16_to_cpu(desc->header_length_flags) >> | ||
88 | WQ_ENET_FLAGS_CQ_ENTRY_SHIFT) & 1); | ||
89 | *fcoe_encap = (u8)((le16_to_cpu(desc->header_length_flags) >> | ||
90 | WQ_ENET_FLAGS_FCOE_ENCAP_SHIFT) & 1); | ||
91 | *vlan_tag_insert = (u8)((le16_to_cpu(desc->header_length_flags) >> | ||
92 | WQ_ENET_FLAGS_VLAN_TAG_INSERT_SHIFT) & 1); | ||
93 | *vlan_tag = le16_to_cpu(desc->vlan_tag); | ||
94 | } | ||
95 | |||
96 | #endif /* _WQ_ENET_DESC_H_ */ | ||
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.h b/drivers/scsi/mpt2sas/mpt2sas_base.h index babd4cc0cb25..36b1d1052ba1 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_base.h +++ b/drivers/scsi/mpt2sas/mpt2sas_base.h | |||
@@ -69,7 +69,7 @@ | |||
69 | #define MPT2SAS_AUTHOR "LSI Corporation <DL-MPTFusionLinux@lsi.com>" | 69 | #define MPT2SAS_AUTHOR "LSI Corporation <DL-MPTFusionLinux@lsi.com>" |
70 | #define MPT2SAS_DESCRIPTION "LSI MPT Fusion SAS 2.0 Device Driver" | 70 | #define MPT2SAS_DESCRIPTION "LSI MPT Fusion SAS 2.0 Device Driver" |
71 | #define MPT2SAS_DRIVER_VERSION "01.100.02.00" | 71 | #define MPT2SAS_DRIVER_VERSION "01.100.02.00" |
72 | #define MPT2SAS_MAJOR_VERSION 00 | 72 | #define MPT2SAS_MAJOR_VERSION 01 |
73 | #define MPT2SAS_MINOR_VERSION 100 | 73 | #define MPT2SAS_MINOR_VERSION 100 |
74 | #define MPT2SAS_BUILD_VERSION 02 | 74 | #define MPT2SAS_BUILD_VERSION 02 |
75 | #define MPT2SAS_RELEASE_VERSION 00 | 75 | #define MPT2SAS_RELEASE_VERSION 00 |
diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c index f644c9571eab..22b59e13ba83 100644 --- a/drivers/scsi/osd/osd_uld.c +++ b/drivers/scsi/osd/osd_uld.c | |||
@@ -173,26 +173,26 @@ static const struct file_operations osd_fops = { | |||
173 | .unlocked_ioctl = osd_uld_ioctl, | 173 | .unlocked_ioctl = osd_uld_ioctl, |
174 | }; | 174 | }; |
175 | 175 | ||
176 | struct osd_dev *osduld_path_lookup(const char *path) | 176 | struct osd_dev *osduld_path_lookup(const char *name) |
177 | { | 177 | { |
178 | struct nameidata nd; | 178 | struct path path; |
179 | struct inode *inode; | 179 | struct inode *inode; |
180 | struct cdev *cdev; | 180 | struct cdev *cdev; |
181 | struct osd_uld_device *uninitialized_var(oud); | 181 | struct osd_uld_device *uninitialized_var(oud); |
182 | int error; | 182 | int error; |
183 | 183 | ||
184 | if (!path || !*path) { | 184 | if (!name || !*name) { |
185 | OSD_ERR("Mount with !path || !*path\n"); | 185 | OSD_ERR("Mount with !path || !*path\n"); |
186 | return ERR_PTR(-EINVAL); | 186 | return ERR_PTR(-EINVAL); |
187 | } | 187 | } |
188 | 188 | ||
189 | error = path_lookup(path, LOOKUP_FOLLOW, &nd); | 189 | error = kern_path(name, LOOKUP_FOLLOW, &path); |
190 | if (error) { | 190 | if (error) { |
191 | OSD_ERR("path_lookup of %s faild=>%d\n", path, error); | 191 | OSD_ERR("path_lookup of %s failed=>%d\n", name, error); |
192 | return ERR_PTR(error); | 192 | return ERR_PTR(error); |
193 | } | 193 | } |
194 | 194 | ||
195 | inode = nd.path.dentry->d_inode; | 195 | inode = path.dentry->d_inode; |
196 | error = -EINVAL; /* Not the right device e.g osd_uld_device */ | 196 | error = -EINVAL; /* Not the right device e.g osd_uld_device */ |
197 | if (!S_ISCHR(inode->i_mode)) { | 197 | if (!S_ISCHR(inode->i_mode)) { |
198 | OSD_DEBUG("!S_ISCHR()\n"); | 198 | OSD_DEBUG("!S_ISCHR()\n"); |
@@ -202,15 +202,15 @@ struct osd_dev *osduld_path_lookup(const char *path) | |||
202 | cdev = inode->i_cdev; | 202 | cdev = inode->i_cdev; |
203 | if (!cdev) { | 203 | if (!cdev) { |
204 | OSD_ERR("Before mounting an OSD Based filesystem\n"); | 204 | OSD_ERR("Before mounting an OSD Based filesystem\n"); |
205 | OSD_ERR(" user-mode must open+close the %s device\n", path); | 205 | OSD_ERR(" user-mode must open+close the %s device\n", name); |
206 | OSD_ERR(" Example: bash: echo < %s\n", path); | 206 | OSD_ERR(" Example: bash: echo < %s\n", name); |
207 | goto out; | 207 | goto out; |
208 | } | 208 | } |
209 | 209 | ||
210 | /* The Magic wand. Is it our char-dev */ | 210 | /* The Magic wand. Is it our char-dev */ |
211 | /* TODO: Support sg devices */ | 211 | /* TODO: Support sg devices */ |
212 | if (cdev->owner != THIS_MODULE) { | 212 | if (cdev->owner != THIS_MODULE) { |
213 | OSD_ERR("Error mounting %s - is not an OSD device\n", path); | 213 | OSD_ERR("Error mounting %s - is not an OSD device\n", name); |
214 | goto out; | 214 | goto out; |
215 | } | 215 | } |
216 | 216 | ||
@@ -220,7 +220,7 @@ struct osd_dev *osduld_path_lookup(const char *path) | |||
220 | error = 0; | 220 | error = 0; |
221 | 221 | ||
222 | out: | 222 | out: |
223 | path_put(&nd.path); | 223 | path_put(&path); |
224 | return error ? ERR_PTR(error) : &oud->od; | 224 | return error ? ERR_PTR(error) : &oud->od; |
225 | } | 225 | } |
226 | EXPORT_SYMBOL(osduld_path_lookup); | 226 | EXPORT_SYMBOL(osduld_path_lookup); |
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 6f51ca485f35..e2b50d8f57a8 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -425,6 +425,7 @@ static struct scsi_target *scsi_alloc_target(struct device *parent, | |||
425 | INIT_LIST_HEAD(&starget->devices); | 425 | INIT_LIST_HEAD(&starget->devices); |
426 | starget->state = STARGET_CREATED; | 426 | starget->state = STARGET_CREATED; |
427 | starget->scsi_level = SCSI_2; | 427 | starget->scsi_level = SCSI_2; |
428 | starget->max_target_blocked = SCSI_DEFAULT_TARGET_BLOCKED; | ||
428 | retry: | 429 | retry: |
429 | spin_lock_irqsave(shost->host_lock, flags); | 430 | spin_lock_irqsave(shost->host_lock, flags); |
430 | 431 | ||
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 094795455293..0a2ce7b6325c 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c | |||
@@ -357,7 +357,7 @@ int iscsi_session_chkready(struct iscsi_cls_session *session) | |||
357 | err = 0; | 357 | err = 0; |
358 | break; | 358 | break; |
359 | case ISCSI_SESSION_FAILED: | 359 | case ISCSI_SESSION_FAILED: |
360 | err = DID_TRANSPORT_DISRUPTED << 16; | 360 | err = DID_IMM_RETRY << 16; |
361 | break; | 361 | break; |
362 | case ISCSI_SESSION_FREE: | 362 | case ISCSI_SESSION_FREE: |
363 | err = DID_TRANSPORT_FAILFAST << 16; | 363 | err = DID_TRANSPORT_FAILFAST << 16; |
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index b4b39811b445..a0127e93ade0 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -137,6 +137,7 @@ struct uart_8250_port { | |||
137 | unsigned char mcr; | 137 | unsigned char mcr; |
138 | unsigned char mcr_mask; /* mask of user bits */ | 138 | unsigned char mcr_mask; /* mask of user bits */ |
139 | unsigned char mcr_force; /* mask of forced bits */ | 139 | unsigned char mcr_force; /* mask of forced bits */ |
140 | unsigned char cur_iotype; /* Running I/O type */ | ||
140 | 141 | ||
141 | /* | 142 | /* |
142 | * Some bits in registers are cleared on a read, so they must | 143 | * Some bits in registers are cleared on a read, so they must |
@@ -471,6 +472,7 @@ static void io_serial_out(struct uart_port *p, int offset, int value) | |||
471 | 472 | ||
472 | static void set_io_from_upio(struct uart_port *p) | 473 | static void set_io_from_upio(struct uart_port *p) |
473 | { | 474 | { |
475 | struct uart_8250_port *up = (struct uart_8250_port *)p; | ||
474 | switch (p->iotype) { | 476 | switch (p->iotype) { |
475 | case UPIO_HUB6: | 477 | case UPIO_HUB6: |
476 | p->serial_in = hub6_serial_in; | 478 | p->serial_in = hub6_serial_in; |
@@ -509,6 +511,8 @@ static void set_io_from_upio(struct uart_port *p) | |||
509 | p->serial_out = io_serial_out; | 511 | p->serial_out = io_serial_out; |
510 | break; | 512 | break; |
511 | } | 513 | } |
514 | /* Remember loaded iotype */ | ||
515 | up->cur_iotype = p->iotype; | ||
512 | } | 516 | } |
513 | 517 | ||
514 | static void | 518 | static void |
@@ -1937,6 +1941,9 @@ static int serial8250_startup(struct uart_port *port) | |||
1937 | up->capabilities = uart_config[up->port.type].flags; | 1941 | up->capabilities = uart_config[up->port.type].flags; |
1938 | up->mcr = 0; | 1942 | up->mcr = 0; |
1939 | 1943 | ||
1944 | if (up->port.iotype != up->cur_iotype) | ||
1945 | set_io_from_upio(port); | ||
1946 | |||
1940 | if (up->port.type == PORT_16C950) { | 1947 | if (up->port.type == PORT_16C950) { |
1941 | /* Wake up and initialize UART */ | 1948 | /* Wake up and initialize UART */ |
1942 | up->acr = 0; | 1949 | up->acr = 0; |
@@ -2563,6 +2570,9 @@ static void serial8250_config_port(struct uart_port *port, int flags) | |||
2563 | if (ret < 0) | 2570 | if (ret < 0) |
2564 | probeflags &= ~PROBE_RSA; | 2571 | probeflags &= ~PROBE_RSA; |
2565 | 2572 | ||
2573 | if (up->port.iotype != up->cur_iotype) | ||
2574 | set_io_from_upio(port); | ||
2575 | |||
2566 | if (flags & UART_CONFIG_TYPE) | 2576 | if (flags & UART_CONFIG_TYPE) |
2567 | autoconfig(up, probeflags); | 2577 | autoconfig(up, probeflags); |
2568 | if (up->port.type != PORT_UNKNOWN && flags & UART_CONFIG_IRQ) | 2578 | if (up->port.type != PORT_UNKNOWN && flags & UART_CONFIG_IRQ) |
@@ -2671,6 +2681,11 @@ serial8250_register_ports(struct uart_driver *drv, struct device *dev) | |||
2671 | { | 2681 | { |
2672 | int i; | 2682 | int i; |
2673 | 2683 | ||
2684 | for (i = 0; i < nr_uarts; i++) { | ||
2685 | struct uart_8250_port *up = &serial8250_ports[i]; | ||
2686 | up->cur_iotype = 0xFF; | ||
2687 | } | ||
2688 | |||
2674 | serial8250_isa_init_ports(); | 2689 | serial8250_isa_init_ports(); |
2675 | 2690 | ||
2676 | for (i = 0; i < nr_uarts; i++) { | 2691 | for (i = 0; i < nr_uarts; i++) { |
diff --git a/drivers/serial/8250_gsc.c b/drivers/serial/8250_gsc.c index 418b4fe9a0a1..33149d982e82 100644 --- a/drivers/serial/8250_gsc.c +++ b/drivers/serial/8250_gsc.c | |||
@@ -39,9 +39,9 @@ static int __init serial_init_chip(struct parisc_device *dev) | |||
39 | */ | 39 | */ |
40 | if (parisc_parent(dev)->id.hw_type != HPHW_IOA) | 40 | if (parisc_parent(dev)->id.hw_type != HPHW_IOA) |
41 | printk(KERN_INFO | 41 | printk(KERN_INFO |
42 | "Serial: device 0x%lx not configured.\n" | 42 | "Serial: device 0x%llx not configured.\n" |
43 | "Enable support for Wax, Lasi, Asp or Dino.\n", | 43 | "Enable support for Wax, Lasi, Asp or Dino.\n", |
44 | dev->hpa.start); | 44 | (unsigned long long)dev->hpa.start); |
45 | return -ENODEV; | 45 | return -ENODEV; |
46 | } | 46 | } |
47 | 47 | ||
diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c index e3a5ad5ef1d6..cdc049d4350f 100644 --- a/drivers/serial/amba-pl010.c +++ b/drivers/serial/amba-pl010.c | |||
@@ -665,7 +665,7 @@ static struct uart_driver amba_reg = { | |||
665 | .cons = AMBA_CONSOLE, | 665 | .cons = AMBA_CONSOLE, |
666 | }; | 666 | }; |
667 | 667 | ||
668 | static int pl010_probe(struct amba_device *dev, void *id) | 668 | static int pl010_probe(struct amba_device *dev, struct amba_id *id) |
669 | { | 669 | { |
670 | struct uart_amba_port *uap; | 670 | struct uart_amba_port *uap; |
671 | void __iomem *base; | 671 | void __iomem *base; |
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index 8b2b9700f3e4..88fdac51b6c5 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c | |||
@@ -729,7 +729,7 @@ static struct uart_driver amba_reg = { | |||
729 | .cons = AMBA_CONSOLE, | 729 | .cons = AMBA_CONSOLE, |
730 | }; | 730 | }; |
731 | 731 | ||
732 | static int pl011_probe(struct amba_device *dev, void *id) | 732 | static int pl011_probe(struct amba_device *dev, struct amba_id *id) |
733 | { | 733 | { |
734 | struct uart_amba_port *uap; | 734 | struct uart_amba_port *uap; |
735 | void __iomem *base; | 735 | void __iomem *base; |
diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c index 6579e2be1dd1..a461b3b2c72d 100644 --- a/drivers/serial/icom.c +++ b/drivers/serial/icom.c | |||
@@ -1472,8 +1472,8 @@ static void icom_remove_adapter(struct icom_adapter *icom_adapter) | |||
1472 | 1472 | ||
1473 | free_irq(icom_adapter->pci_dev->irq, (void *) icom_adapter); | 1473 | free_irq(icom_adapter->pci_dev->irq, (void *) icom_adapter); |
1474 | iounmap(icom_adapter->base_addr); | 1474 | iounmap(icom_adapter->base_addr); |
1475 | icom_free_adapter(icom_adapter); | ||
1476 | pci_release_regions(icom_adapter->pci_dev); | 1475 | pci_release_regions(icom_adapter->pci_dev); |
1476 | icom_free_adapter(icom_adapter); | ||
1477 | } | 1477 | } |
1478 | 1478 | ||
1479 | static void icom_kref_release(struct kref *kref) | 1479 | static void icom_kref_release(struct kref *kref) |
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index 7f72f8ceaa6f..b3feb6198d57 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c | |||
@@ -988,7 +988,7 @@ mpc52xx_console_setup(struct console *co, char *options) | |||
988 | pr_debug("mpc52xx_console_setup co=%p, co->index=%i, options=%s\n", | 988 | pr_debug("mpc52xx_console_setup co=%p, co->index=%i, options=%s\n", |
989 | co, co->index, options); | 989 | co, co->index, options); |
990 | 990 | ||
991 | if ((co->index < 0) || (co->index > MPC52xx_PSC_MAXNUM)) { | 991 | if ((co->index < 0) || (co->index >= MPC52xx_PSC_MAXNUM)) { |
992 | pr_debug("PSC%x out of range\n", co->index); | 992 | pr_debug("PSC%x out of range\n", co->index); |
993 | return -EINVAL; | 993 | return -EINVAL; |
994 | } | 994 | } |
diff --git a/drivers/serial/nwpserial.c b/drivers/serial/nwpserial.c index 32f3eaf0d262..9e150b19d726 100644 --- a/drivers/serial/nwpserial.c +++ b/drivers/serial/nwpserial.c | |||
@@ -145,11 +145,13 @@ static irqreturn_t nwpserial_interrupt(int irq, void *dev_id) | |||
145 | ch = dcr_read(up->dcr_host, UART_RX); | 145 | ch = dcr_read(up->dcr_host, UART_RX); |
146 | if (up->port.ignore_status_mask != NWPSERIAL_STATUS_RXVALID) | 146 | if (up->port.ignore_status_mask != NWPSERIAL_STATUS_RXVALID) |
147 | tty_insert_flip_char(tty, ch, TTY_NORMAL); | 147 | tty_insert_flip_char(tty, ch, TTY_NORMAL); |
148 | } while (dcr_read(up->dcr_host, UART_RX) & UART_LSR_DR); | 148 | } while (dcr_read(up->dcr_host, UART_LSR) & UART_LSR_DR); |
149 | 149 | ||
150 | tty_flip_buffer_push(tty); | 150 | tty_flip_buffer_push(tty); |
151 | ret = IRQ_HANDLED; | 151 | ret = IRQ_HANDLED; |
152 | 152 | ||
153 | /* clear interrupt */ | ||
154 | dcr_write(up->dcr_host, UART_IIR, 1); | ||
153 | out: | 155 | out: |
154 | spin_unlock(&up->port.lock); | 156 | spin_unlock(&up->port.lock); |
155 | return ret; | 157 | return ret; |
diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c index 885194a07418..3f3c08c6ba4e 100644 --- a/drivers/spi/pxa2xx_spi.c +++ b/drivers/spi/pxa2xx_spi.c | |||
@@ -1373,6 +1373,9 @@ static void cleanup(struct spi_device *spi) | |||
1373 | { | 1373 | { |
1374 | struct chip_data *chip = spi_get_ctldata(spi); | 1374 | struct chip_data *chip = spi_get_ctldata(spi); |
1375 | 1375 | ||
1376 | if (!chip) | ||
1377 | return; | ||
1378 | |||
1376 | if (gpio_is_valid(chip->gpio_cs)) | 1379 | if (gpio_is_valid(chip->gpio_cs)) |
1377 | gpio_free(chip->gpio_cs); | 1380 | gpio_free(chip->gpio_cs); |
1378 | 1381 | ||
diff --git a/drivers/staging/comedi/TODO b/drivers/staging/comedi/TODO index 557812958464..15c9348fb938 100644 --- a/drivers/staging/comedi/TODO +++ b/drivers/staging/comedi/TODO | |||
@@ -11,4 +11,3 @@ Please send patches to Greg Kroah-Hartman <greg@kroah.com> and | |||
11 | copy: | 11 | copy: |
12 | Ian Abbott <abbotti@mev.co.uk> | 12 | Ian Abbott <abbotti@mev.co.uk> |
13 | Frank Mori Hess <fmhess@users.sourceforge.net> | 13 | Frank Mori Hess <fmhess@users.sourceforge.net> |
14 | David Schleef <ds@schleef.org> | ||
diff --git a/drivers/staging/rt2870/rt2870.h b/drivers/staging/rt2870/rt2870.h index a42caa370808..a69cf338e498 100644 --- a/drivers/staging/rt2870/rt2870.h +++ b/drivers/staging/rt2870/rt2870.h | |||
@@ -145,6 +145,7 @@ | |||
145 | {USB_DEVICE(0x0789,0x0162)}, /* Logitec */ \ | 145 | {USB_DEVICE(0x0789,0x0162)}, /* Logitec */ \ |
146 | {USB_DEVICE(0x0789,0x0163)}, /* Logitec */ \ | 146 | {USB_DEVICE(0x0789,0x0163)}, /* Logitec */ \ |
147 | {USB_DEVICE(0x0789,0x0164)}, /* Logitec */ \ | 147 | {USB_DEVICE(0x0789,0x0164)}, /* Logitec */ \ |
148 | {USB_DEVICE(0x7392,0x7717)}, /* Edimax */ \ | ||
148 | { }/* Terminating entry */ \ | 149 | { }/* Terminating entry */ \ |
149 | } | 150 | } |
150 | 151 | ||
diff --git a/drivers/staging/rtl8187se/r8180.h b/drivers/staging/rtl8187se/r8180.h index 12215fc61ddc..db446b7e2e08 100644 --- a/drivers/staging/rtl8187se/r8180.h +++ b/drivers/staging/rtl8187se/r8180.h | |||
@@ -19,7 +19,7 @@ | |||
19 | #define R8180H | 19 | #define R8180H |
20 | 20 | ||
21 | 21 | ||
22 | #define RTL8180_MODULE_NAME "rtl8180" | 22 | #define RTL8180_MODULE_NAME "r8180" |
23 | #define DMESG(x,a...) printk(KERN_INFO RTL8180_MODULE_NAME ": " x "\n", ## a) | 23 | #define DMESG(x,a...) printk(KERN_INFO RTL8180_MODULE_NAME ": " x "\n", ## a) |
24 | #define DMESGW(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": WW:" x "\n", ## a) | 24 | #define DMESGW(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": WW:" x "\n", ## a) |
25 | #define DMESGE(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": EE:" x "\n", ## a) | 25 | #define DMESGE(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": EE:" x "\n", ## a) |
diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c index 6ecd12de4296..e10413cee0df 100644 --- a/drivers/staging/rtl8187se/r8180_core.c +++ b/drivers/staging/rtl8187se/r8180_core.c | |||
@@ -640,11 +640,9 @@ void rtl8180_proc_init_one(struct net_device *dev) | |||
640 | { | 640 | { |
641 | struct proc_dir_entry *e; | 641 | struct proc_dir_entry *e; |
642 | struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); | 642 | struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); |
643 | priv->dir_dev = create_proc_entry(dev->name, | 643 | priv->dir_dev = rtl8180_proc; |
644 | S_IFDIR | S_IRUGO | S_IXUGO, | ||
645 | rtl8180_proc); | ||
646 | if (!priv->dir_dev) { | 644 | if (!priv->dir_dev) { |
647 | DMESGE("Unable to initialize /proc/net/rtl8180/%s\n", | 645 | DMESGE("Unable to initialize /proc/net/r8180/%s\n", |
648 | dev->name); | 646 | dev->name); |
649 | return; | 647 | return; |
650 | } | 648 | } |
@@ -654,7 +652,7 @@ void rtl8180_proc_init_one(struct net_device *dev) | |||
654 | 652 | ||
655 | if (!e) { | 653 | if (!e) { |
656 | DMESGE("Unable to initialize " | 654 | DMESGE("Unable to initialize " |
657 | "/proc/net/rtl8180/%s/stats-hw\n", | 655 | "/proc/net/r8180/%s/stats-hw\n", |
658 | dev->name); | 656 | dev->name); |
659 | } | 657 | } |
660 | 658 | ||
@@ -663,7 +661,7 @@ void rtl8180_proc_init_one(struct net_device *dev) | |||
663 | 661 | ||
664 | if (!e) { | 662 | if (!e) { |
665 | DMESGE("Unable to initialize " | 663 | DMESGE("Unable to initialize " |
666 | "/proc/net/rtl8180/%s/stats-rx\n", | 664 | "/proc/net/r8180/%s/stats-rx\n", |
667 | dev->name); | 665 | dev->name); |
668 | } | 666 | } |
669 | 667 | ||
@@ -673,7 +671,7 @@ void rtl8180_proc_init_one(struct net_device *dev) | |||
673 | 671 | ||
674 | if (!e) { | 672 | if (!e) { |
675 | DMESGE("Unable to initialize " | 673 | DMESGE("Unable to initialize " |
676 | "/proc/net/rtl8180/%s/stats-tx\n", | 674 | "/proc/net/r8180/%s/stats-tx\n", |
677 | dev->name); | 675 | dev->name); |
678 | } | 676 | } |
679 | #if 0 | 677 | #if 0 |
@@ -702,7 +700,7 @@ void rtl8180_proc_init_one(struct net_device *dev) | |||
702 | 700 | ||
703 | if (!e) { | 701 | if (!e) { |
704 | DMESGE("Unable to initialize " | 702 | DMESGE("Unable to initialize " |
705 | "/proc/net/rtl8180/%s/registers\n", | 703 | "/proc/net/r8180/%s/registers\n", |
706 | dev->name); | 704 | dev->name); |
707 | } | 705 | } |
708 | } | 706 | } |
@@ -977,13 +975,6 @@ void check_tx_ring(struct net_device *dev, int pri) | |||
977 | *tmp & (1<<15)? "ok": "err", *(tmp+4)); | 975 | *tmp & (1<<15)? "ok": "err", *(tmp+4)); |
978 | } | 976 | } |
979 | 977 | ||
980 | DMESG("nic at %d", | ||
981 | (nic-nicbegin) / 8 /4); | ||
982 | DMESG("tail at %d", ((int)tail - (int)begin) /8 /4); | ||
983 | DMESG("head at %d", ((int)head - (int)begin) /8 /4); | ||
984 | DMESG("check free desc returns %d", check_nic_enought_desc(dev,pri)); | ||
985 | DMESG("free desc is %d\n", get_curr_tx_free_desc(dev,pri)); | ||
986 | //rtl8180_reset(dev); | ||
987 | return; | 978 | return; |
988 | } | 979 | } |
989 | 980 | ||
@@ -1736,17 +1727,7 @@ short alloc_tx_desc_ring(struct net_device *dev, int bufsize, int count, | |||
1736 | * descriptor's buffer must be 256 byte aligned | 1727 | * descriptor's buffer must be 256 byte aligned |
1737 | * we shouldn't be here, since we set DMA mask ! | 1728 | * we shouldn't be here, since we set DMA mask ! |
1738 | */ | 1729 | */ |
1739 | DMESGW("Fixing TX alignment"); | 1730 | WARN(1, "DMA buffer is not aligned\n"); |
1740 | desc = (u32*)((u8*)desc + 256); | ||
1741 | #if (defined(CONFIG_HIGHMEM64G) || defined(CONFIG_64BIT_PHYS_ADDR)) | ||
1742 | desc = (u32*)((u64)desc &~ 0xff); | ||
1743 | dma_desc = (dma_addr_t)((u8*)dma_desc + 256); | ||
1744 | dma_desc = (dma_addr_t)((u64)dma_desc &~ 0xff); | ||
1745 | #else | ||
1746 | desc = (u32*)((u32)desc &~ 0xff); | ||
1747 | dma_desc = (dma_addr_t)((u8*)dma_desc + 256); | ||
1748 | dma_desc = (dma_addr_t)((u32)dma_desc &~ 0xff); | ||
1749 | #endif | ||
1750 | } | 1731 | } |
1751 | tmp=desc; | 1732 | tmp=desc; |
1752 | for (i=0;i<count;i++) | 1733 | for (i=0;i<count;i++) |
@@ -1984,18 +1965,7 @@ short alloc_rx_desc_ring(struct net_device *dev, u16 bufsize, int count) | |||
1984 | * descriptor's buffer must be 256 byte aligned | 1965 | * descriptor's buffer must be 256 byte aligned |
1985 | * should never happen since we specify the DMA mask | 1966 | * should never happen since we specify the DMA mask |
1986 | */ | 1967 | */ |
1987 | 1968 | WARN(1, "DMA buffer is not aligned\n"); | |
1988 | DMESGW("Fixing RX alignment"); | ||
1989 | desc = (u32*)((u8*)desc + 256); | ||
1990 | #if (defined(CONFIG_HIGHMEM64G) || defined(CONFIG_64BIT_PHYS_ADDR)) | ||
1991 | desc = (u32*)((u64)desc &~ 0xff); | ||
1992 | dma_desc = (dma_addr_t)((u8*)dma_desc + 256); | ||
1993 | dma_desc = (dma_addr_t)((u64)dma_desc &~ 0xff); | ||
1994 | #else | ||
1995 | desc = (u32*)((u32)desc &~ 0xff); | ||
1996 | dma_desc = (dma_addr_t)((u8*)dma_desc + 256); | ||
1997 | dma_desc = (dma_addr_t)((u32)dma_desc &~ 0xff); | ||
1998 | #endif | ||
1999 | } | 1969 | } |
2000 | 1970 | ||
2001 | priv->rxring=desc; | 1971 | priv->rxring=desc; |
diff --git a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c index 9c3f9439f35e..3b2d52819b4c 100644 --- a/drivers/staging/winbond/wbusb.c +++ b/drivers/staging/winbond/wbusb.c | |||
@@ -386,7 +386,7 @@ static int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id | |||
386 | if (err) | 386 | if (err) |
387 | goto error_free_hw; | 387 | goto error_free_hw; |
388 | 388 | ||
389 | usb_set_intfdata(intf, priv); | 389 | usb_set_intfdata(intf, dev); |
390 | 390 | ||
391 | return 0; | 391 | return 0; |
392 | 392 | ||
@@ -415,10 +415,15 @@ static void wb35_hw_halt(struct wbsoft_priv *adapter) | |||
415 | 415 | ||
416 | static void wb35_disconnect(struct usb_interface *intf) | 416 | static void wb35_disconnect(struct usb_interface *intf) |
417 | { | 417 | { |
418 | struct wbsoft_priv *priv = usb_get_intfdata(intf); | 418 | struct ieee80211_hw *hw = usb_get_intfdata(intf); |
419 | struct wbsoft_priv *priv = hw->priv; | ||
419 | 420 | ||
420 | wb35_hw_halt(priv); | 421 | wb35_hw_halt(priv); |
421 | 422 | ||
423 | ieee80211_stop_queues(hw); | ||
424 | ieee80211_unregister_hw(hw); | ||
425 | ieee80211_free_hw(hw); | ||
426 | |||
422 | usb_set_intfdata(intf, NULL); | 427 | usb_set_intfdata(intf, NULL); |
423 | usb_put_dev(interface_to_usbdev(intf)); | 428 | usb_put_dev(interface_to_usbdev(intf)); |
424 | } | 429 | } |
diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c index d0b093b66adc..5e38ba10a3a9 100644 --- a/drivers/thermal/thermal_sys.c +++ b/drivers/thermal/thermal_sys.c | |||
@@ -961,7 +961,7 @@ void thermal_zone_device_update(struct thermal_zone_device *tz) | |||
961 | 961 | ||
962 | switch (trip_type) { | 962 | switch (trip_type) { |
963 | case THERMAL_TRIP_CRITICAL: | 963 | case THERMAL_TRIP_CRITICAL: |
964 | if (temp > trip_temp) { | 964 | if (temp >= trip_temp) { |
965 | if (tz->ops->notify) | 965 | if (tz->ops->notify) |
966 | ret = tz->ops->notify(tz, count, | 966 | ret = tz->ops->notify(tz, count, |
967 | trip_type); | 967 | trip_type); |
@@ -974,7 +974,7 @@ void thermal_zone_device_update(struct thermal_zone_device *tz) | |||
974 | } | 974 | } |
975 | break; | 975 | break; |
976 | case THERMAL_TRIP_HOT: | 976 | case THERMAL_TRIP_HOT: |
977 | if (temp > trip_temp) | 977 | if (temp >= trip_temp) |
978 | if (tz->ops->notify) | 978 | if (tz->ops->notify) |
979 | tz->ops->notify(tz, count, trip_type); | 979 | tz->ops->notify(tz, count, trip_type); |
980 | break; | 980 | break; |
@@ -986,14 +986,14 @@ void thermal_zone_device_update(struct thermal_zone_device *tz) | |||
986 | 986 | ||
987 | cdev = instance->cdev; | 987 | cdev = instance->cdev; |
988 | 988 | ||
989 | if (temp > trip_temp) | 989 | if (temp >= trip_temp) |
990 | cdev->ops->set_cur_state(cdev, 1); | 990 | cdev->ops->set_cur_state(cdev, 1); |
991 | else | 991 | else |
992 | cdev->ops->set_cur_state(cdev, 0); | 992 | cdev->ops->set_cur_state(cdev, 0); |
993 | } | 993 | } |
994 | break; | 994 | break; |
995 | case THERMAL_TRIP_PASSIVE: | 995 | case THERMAL_TRIP_PASSIVE: |
996 | if (temp > trip_temp || tz->passive) | 996 | if (temp >= trip_temp || tz->passive) |
997 | thermal_zone_device_passive(tz, temp, | 997 | thermal_zone_device_passive(tz, temp, |
998 | trip_temp, count); | 998 | trip_temp, count); |
999 | break; | 999 | break; |
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index 89299a5ce168..0a3dc5ece634 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile | |||
@@ -11,7 +11,6 @@ obj-$(CONFIG_USB_MON) += mon/ | |||
11 | obj-$(CONFIG_PCI) += host/ | 11 | obj-$(CONFIG_PCI) += host/ |
12 | obj-$(CONFIG_USB_EHCI_HCD) += host/ | 12 | obj-$(CONFIG_USB_EHCI_HCD) += host/ |
13 | obj-$(CONFIG_USB_ISP116X_HCD) += host/ | 13 | obj-$(CONFIG_USB_ISP116X_HCD) += host/ |
14 | obj-$(CONFIG_USB_ISP1760_HCD) += host/ | ||
15 | obj-$(CONFIG_USB_OHCI_HCD) += host/ | 14 | obj-$(CONFIG_USB_OHCI_HCD) += host/ |
16 | obj-$(CONFIG_USB_UHCI_HCD) += host/ | 15 | obj-$(CONFIG_USB_UHCI_HCD) += host/ |
17 | obj-$(CONFIG_USB_FHCI_HCD) += host/ | 16 | obj-$(CONFIG_USB_FHCI_HCD) += host/ |
@@ -27,6 +26,8 @@ obj-$(CONFIG_USB_WUSB) += wusbcore/ | |||
27 | 26 | ||
28 | obj-$(CONFIG_USB_ACM) += class/ | 27 | obj-$(CONFIG_USB_ACM) += class/ |
29 | obj-$(CONFIG_USB_PRINTER) += class/ | 28 | obj-$(CONFIG_USB_PRINTER) += class/ |
29 | obj-$(CONFIG_USB_WDM) += class/ | ||
30 | obj-$(CONFIG_USB_TMC) += class/ | ||
30 | 31 | ||
31 | obj-$(CONFIG_USB_STORAGE) += storage/ | 32 | obj-$(CONFIG_USB_STORAGE) += storage/ |
32 | obj-$(CONFIG_USB) += storage/ | 33 | obj-$(CONFIG_USB) += storage/ |
diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index 6789089e2461..56802d2e994b 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c | |||
@@ -227,8 +227,14 @@ static ssize_t cxacru_sysfs_showattr_s8(s8 value, char *buf) | |||
227 | 227 | ||
228 | static ssize_t cxacru_sysfs_showattr_dB(s16 value, char *buf) | 228 | static ssize_t cxacru_sysfs_showattr_dB(s16 value, char *buf) |
229 | { | 229 | { |
230 | return snprintf(buf, PAGE_SIZE, "%d.%02u\n", | 230 | if (likely(value >= 0)) { |
231 | value / 100, abs(value) % 100); | 231 | return snprintf(buf, PAGE_SIZE, "%u.%02u\n", |
232 | value / 100, value % 100); | ||
233 | } else { | ||
234 | value = -value; | ||
235 | return snprintf(buf, PAGE_SIZE, "-%u.%02u\n", | ||
236 | value / 100, value % 100); | ||
237 | } | ||
232 | } | 238 | } |
233 | 239 | ||
234 | static ssize_t cxacru_sysfs_showattr_bool(u32 value, char *buf) | 240 | static ssize_t cxacru_sysfs_showattr_bool(u32 value, char *buf) |
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 0a69c0977e3f..7a1164dd1d37 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -1375,6 +1375,9 @@ static struct usb_device_id acm_ids[] = { | |||
1375 | { USB_DEVICE(0x0572, 0x1324), /* Conexant USB MODEM RD02-D400 */ | 1375 | { USB_DEVICE(0x0572, 0x1324), /* Conexant USB MODEM RD02-D400 */ |
1376 | .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ | 1376 | .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ |
1377 | }, | 1377 | }, |
1378 | { USB_DEVICE(0x0572, 0x1328), /* Shiro / Aztech USB MODEM UM-3100 */ | ||
1379 | .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ | ||
1380 | }, | ||
1378 | { USB_DEVICE(0x22b8, 0x6425), /* Motorola MOTOMAGX phones */ | 1381 | { USB_DEVICE(0x22b8, 0x6425), /* Motorola MOTOMAGX phones */ |
1379 | }, | 1382 | }, |
1380 | { USB_DEVICE(0x0572, 0x1329), /* Hummingbird huc56s (Conexant) */ | 1383 | { USB_DEVICE(0x0572, 0x1329), /* Hummingbird huc56s (Conexant) */ |
diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c index 563d57275448..05c913cc3658 100644 --- a/drivers/usb/gadget/atmel_usba_udc.c +++ b/drivers/usb/gadget/atmel_usba_udc.c | |||
@@ -794,7 +794,8 @@ usba_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags) | |||
794 | if (ep->desc) { | 794 | if (ep->desc) { |
795 | list_add_tail(&req->queue, &ep->queue); | 795 | list_add_tail(&req->queue, &ep->queue); |
796 | 796 | ||
797 | if (ep->is_in || (ep_is_control(ep) | 797 | if ((!ep_is_control(ep) && ep->is_in) || |
798 | (ep_is_control(ep) | ||
798 | && (ep->state == DATA_STAGE_IN | 799 | && (ep->state == DATA_STAGE_IN |
799 | || ep->state == STATUS_STAGE_IN))) | 800 | || ep->state == STATUS_STAGE_IN))) |
800 | usba_ep_writel(ep, CTL_ENB, USBA_TX_PK_RDY); | 801 | usba_ep_writel(ep, CTL_ENB, USBA_TX_PK_RDY); |
@@ -1940,7 +1941,7 @@ static int __init usba_udc_probe(struct platform_device *pdev) | |||
1940 | usba_writel(udc, CTRL, USBA_DISABLE_MASK); | 1941 | usba_writel(udc, CTRL, USBA_DISABLE_MASK); |
1941 | clk_disable(pclk); | 1942 | clk_disable(pclk); |
1942 | 1943 | ||
1943 | usba_ep = kmalloc(sizeof(struct usba_ep) * pdata->num_ep, | 1944 | usba_ep = kzalloc(sizeof(struct usba_ep) * pdata->num_ep, |
1944 | GFP_KERNEL); | 1945 | GFP_KERNEL); |
1945 | if (!usba_ep) | 1946 | if (!usba_ep) |
1946 | goto err_alloc_ep; | 1947 | goto err_alloc_ep; |
diff --git a/drivers/usb/gadget/usbstring.c b/drivers/usb/gadget/usbstring.c index 4154be375c7a..58c4d37d312a 100644 --- a/drivers/usb/gadget/usbstring.c +++ b/drivers/usb/gadget/usbstring.c | |||
@@ -38,7 +38,7 @@ static int utf8_to_utf16le(const char *s, __le16 *cp, unsigned len) | |||
38 | uchar = (c & 0x1f) << 6; | 38 | uchar = (c & 0x1f) << 6; |
39 | 39 | ||
40 | c = (u8) *s++; | 40 | c = (u8) *s++; |
41 | if ((c & 0xc0) != 0xc0) | 41 | if ((c & 0xc0) != 0x80) |
42 | goto fail; | 42 | goto fail; |
43 | c &= 0x3f; | 43 | c &= 0x3f; |
44 | uchar |= c; | 44 | uchar |= c; |
@@ -49,13 +49,13 @@ static int utf8_to_utf16le(const char *s, __le16 *cp, unsigned len) | |||
49 | uchar = (c & 0x0f) << 12; | 49 | uchar = (c & 0x0f) << 12; |
50 | 50 | ||
51 | c = (u8) *s++; | 51 | c = (u8) *s++; |
52 | if ((c & 0xc0) != 0xc0) | 52 | if ((c & 0xc0) != 0x80) |
53 | goto fail; | 53 | goto fail; |
54 | c &= 0x3f; | 54 | c &= 0x3f; |
55 | uchar |= c << 6; | 55 | uchar |= c << 6; |
56 | 56 | ||
57 | c = (u8) *s++; | 57 | c = (u8) *s++; |
58 | if ((c & 0xc0) != 0xc0) | 58 | if ((c & 0xc0) != 0x80) |
59 | goto fail; | 59 | goto fail; |
60 | c &= 0x3f; | 60 | c &= 0x3f; |
61 | uchar |= c; | 61 | uchar |= c; |
diff --git a/drivers/usb/host/isp1760-hcd.c b/drivers/usb/host/isp1760-hcd.c index cd07ea3f0c63..15438469f21a 100644 --- a/drivers/usb/host/isp1760-hcd.c +++ b/drivers/usb/host/isp1760-hcd.c | |||
@@ -1658,6 +1658,7 @@ static int isp1760_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, | |||
1658 | u32 reg_base, or_reg, skip_reg; | 1658 | u32 reg_base, or_reg, skip_reg; |
1659 | unsigned long flags; | 1659 | unsigned long flags; |
1660 | struct ptd ptd; | 1660 | struct ptd ptd; |
1661 | packet_enqueue *pe; | ||
1661 | 1662 | ||
1662 | switch (usb_pipetype(urb->pipe)) { | 1663 | switch (usb_pipetype(urb->pipe)) { |
1663 | case PIPE_ISOCHRONOUS: | 1664 | case PIPE_ISOCHRONOUS: |
@@ -1669,6 +1670,7 @@ static int isp1760_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, | |||
1669 | reg_base = INT_REGS_OFFSET; | 1670 | reg_base = INT_REGS_OFFSET; |
1670 | or_reg = HC_INT_IRQ_MASK_OR_REG; | 1671 | or_reg = HC_INT_IRQ_MASK_OR_REG; |
1671 | skip_reg = HC_INT_PTD_SKIPMAP_REG; | 1672 | skip_reg = HC_INT_PTD_SKIPMAP_REG; |
1673 | pe = enqueue_an_INT_packet; | ||
1672 | break; | 1674 | break; |
1673 | 1675 | ||
1674 | default: | 1676 | default: |
@@ -1676,6 +1678,7 @@ static int isp1760_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, | |||
1676 | reg_base = ATL_REGS_OFFSET; | 1678 | reg_base = ATL_REGS_OFFSET; |
1677 | or_reg = HC_ATL_IRQ_MASK_OR_REG; | 1679 | or_reg = HC_ATL_IRQ_MASK_OR_REG; |
1678 | skip_reg = HC_ATL_PTD_SKIPMAP_REG; | 1680 | skip_reg = HC_ATL_PTD_SKIPMAP_REG; |
1681 | pe = enqueue_an_ATL_packet; | ||
1679 | break; | 1682 | break; |
1680 | } | 1683 | } |
1681 | 1684 | ||
@@ -1687,6 +1690,7 @@ static int isp1760_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, | |||
1687 | u32 skip_map; | 1690 | u32 skip_map; |
1688 | u32 or_map; | 1691 | u32 or_map; |
1689 | struct isp1760_qtd *qtd; | 1692 | struct isp1760_qtd *qtd; |
1693 | struct isp1760_qh *qh = ints->qh; | ||
1690 | 1694 | ||
1691 | skip_map = isp1760_readl(hcd->regs + skip_reg); | 1695 | skip_map = isp1760_readl(hcd->regs + skip_reg); |
1692 | skip_map |= 1 << i; | 1696 | skip_map |= 1 << i; |
@@ -1699,8 +1703,7 @@ static int isp1760_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, | |||
1699 | priv_write_copy(priv, (u32 *)&ptd, hcd->regs + reg_base | 1703 | priv_write_copy(priv, (u32 *)&ptd, hcd->regs + reg_base |
1700 | + i * sizeof(ptd), sizeof(ptd)); | 1704 | + i * sizeof(ptd), sizeof(ptd)); |
1701 | qtd = ints->qtd; | 1705 | qtd = ints->qtd; |
1702 | 1706 | qtd = clean_up_qtdlist(qtd); | |
1703 | clean_up_qtdlist(qtd); | ||
1704 | 1707 | ||
1705 | free_mem(priv, ints->payload); | 1708 | free_mem(priv, ints->payload); |
1706 | 1709 | ||
@@ -1711,7 +1714,24 @@ static int isp1760_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, | |||
1711 | ints->payload = 0; | 1714 | ints->payload = 0; |
1712 | 1715 | ||
1713 | isp1760_urb_done(priv, urb, status); | 1716 | isp1760_urb_done(priv, urb, status); |
1717 | if (qtd) | ||
1718 | pe(hcd, qh, qtd); | ||
1714 | break; | 1719 | break; |
1720 | |||
1721 | } else if (ints->qtd) { | ||
1722 | struct isp1760_qtd *qtd, *prev_qtd = ints->qtd; | ||
1723 | |||
1724 | for (qtd = ints->qtd->hw_next; qtd; qtd = qtd->hw_next) { | ||
1725 | if (qtd->urb == urb) { | ||
1726 | prev_qtd->hw_next = clean_up_qtdlist(qtd); | ||
1727 | isp1760_urb_done(priv, urb, status); | ||
1728 | break; | ||
1729 | } | ||
1730 | prev_qtd = qtd; | ||
1731 | } | ||
1732 | /* we found the urb before the end of the list */ | ||
1733 | if (qtd) | ||
1734 | break; | ||
1715 | } | 1735 | } |
1716 | ints++; | 1736 | ints++; |
1717 | } | 1737 | } |
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index 8100f1d25904..d9fcdaedf389 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c | |||
@@ -56,6 +56,7 @@ static __u16 vendor = FTDI_VID; | |||
56 | static __u16 product; | 56 | static __u16 product; |
57 | 57 | ||
58 | struct ftdi_private { | 58 | struct ftdi_private { |
59 | struct kref kref; | ||
59 | ftdi_chip_type_t chip_type; | 60 | ftdi_chip_type_t chip_type; |
60 | /* type of device, either SIO or FT8U232AM */ | 61 | /* type of device, either SIO or FT8U232AM */ |
61 | int baud_base; /* baud base clock for divisor setting */ | 62 | int baud_base; /* baud base clock for divisor setting */ |
@@ -669,6 +670,8 @@ static struct usb_device_id id_table_combined [] = { | |||
669 | { USB_DEVICE(ADI_VID, ADI_GNICE_PID), | 670 | { USB_DEVICE(ADI_VID, ADI_GNICE_PID), |
670 | .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, | 671 | .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, |
671 | { USB_DEVICE(JETI_VID, JETI_SPC1201_PID) }, | 672 | { USB_DEVICE(JETI_VID, JETI_SPC1201_PID) }, |
673 | { USB_DEVICE(MARVELL_VID, MARVELL_SHEEVAPLUG_PID), | ||
674 | .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, | ||
672 | { }, /* Optional parameter entry */ | 675 | { }, /* Optional parameter entry */ |
673 | { } /* Terminating entry */ | 676 | { } /* Terminating entry */ |
674 | }; | 677 | }; |
@@ -1352,6 +1355,7 @@ static int ftdi_sio_port_probe(struct usb_serial_port *port) | |||
1352 | return -ENOMEM; | 1355 | return -ENOMEM; |
1353 | } | 1356 | } |
1354 | 1357 | ||
1358 | kref_init(&priv->kref); | ||
1355 | spin_lock_init(&priv->rx_lock); | 1359 | spin_lock_init(&priv->rx_lock); |
1356 | spin_lock_init(&priv->tx_lock); | 1360 | spin_lock_init(&priv->tx_lock); |
1357 | init_waitqueue_head(&priv->delta_msr_wait); | 1361 | init_waitqueue_head(&priv->delta_msr_wait); |
@@ -1468,6 +1472,13 @@ static void ftdi_shutdown(struct usb_serial *serial) | |||
1468 | dbg("%s", __func__); | 1472 | dbg("%s", __func__); |
1469 | } | 1473 | } |
1470 | 1474 | ||
1475 | static void ftdi_sio_priv_release(struct kref *k) | ||
1476 | { | ||
1477 | struct ftdi_private *priv = container_of(k, struct ftdi_private, kref); | ||
1478 | |||
1479 | kfree(priv); | ||
1480 | } | ||
1481 | |||
1471 | static int ftdi_sio_port_remove(struct usb_serial_port *port) | 1482 | static int ftdi_sio_port_remove(struct usb_serial_port *port) |
1472 | { | 1483 | { |
1473 | struct ftdi_private *priv = usb_get_serial_port_data(port); | 1484 | struct ftdi_private *priv = usb_get_serial_port_data(port); |
@@ -1476,14 +1487,7 @@ static int ftdi_sio_port_remove(struct usb_serial_port *port) | |||
1476 | 1487 | ||
1477 | remove_sysfs_attrs(port); | 1488 | remove_sysfs_attrs(port); |
1478 | 1489 | ||
1479 | /* all open ports are closed at this point | 1490 | kref_put(&priv->kref, ftdi_sio_priv_release); |
1480 | * (by usbserial.c:__serial_close, which calls ftdi_close) | ||
1481 | */ | ||
1482 | |||
1483 | if (priv) { | ||
1484 | usb_set_serial_port_data(port, NULL); | ||
1485 | kfree(priv); | ||
1486 | } | ||
1487 | 1491 | ||
1488 | return 0; | 1492 | return 0; |
1489 | } | 1493 | } |
@@ -1547,7 +1551,8 @@ static int ftdi_open(struct tty_struct *tty, | |||
1547 | dev_err(&port->dev, | 1551 | dev_err(&port->dev, |
1548 | "%s - failed submitting read urb, error %d\n", | 1552 | "%s - failed submitting read urb, error %d\n", |
1549 | __func__, result); | 1553 | __func__, result); |
1550 | 1554 | else | |
1555 | kref_get(&priv->kref); | ||
1551 | 1556 | ||
1552 | return result; | 1557 | return result; |
1553 | } /* ftdi_open */ | 1558 | } /* ftdi_open */ |
@@ -1589,11 +1594,11 @@ static void ftdi_close(struct tty_struct *tty, | |||
1589 | mutex_unlock(&port->serial->disc_mutex); | 1594 | mutex_unlock(&port->serial->disc_mutex); |
1590 | 1595 | ||
1591 | /* cancel any scheduled reading */ | 1596 | /* cancel any scheduled reading */ |
1592 | cancel_delayed_work(&priv->rx_work); | 1597 | cancel_delayed_work_sync(&priv->rx_work); |
1593 | flush_scheduled_work(); | ||
1594 | 1598 | ||
1595 | /* shutdown our bulk read */ | 1599 | /* shutdown our bulk read */ |
1596 | usb_kill_urb(port->read_urb); | 1600 | usb_kill_urb(port->read_urb); |
1601 | kref_put(&priv->kref, ftdi_sio_priv_release); | ||
1597 | } /* ftdi_close */ | 1602 | } /* ftdi_close */ |
1598 | 1603 | ||
1599 | 1604 | ||
diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h index c09f658a448b..12330fa1c095 100644 --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h | |||
@@ -920,6 +920,12 @@ | |||
920 | #define JETI_SPC1201_PID 0x04b2 | 920 | #define JETI_SPC1201_PID 0x04b2 |
921 | 921 | ||
922 | /* | 922 | /* |
923 | * Marvell SheevaPlug | ||
924 | */ | ||
925 | #define MARVELL_VID 0x9e88 | ||
926 | #define MARVELL_SHEEVAPLUG_PID 0x9e8f | ||
927 | |||
928 | /* | ||
923 | * BmRequestType: 1100 0000b | 929 | * BmRequestType: 1100 0000b |
924 | * bRequest: FTDI_E2_READ | 930 | * bRequest: FTDI_E2_READ |
925 | * wValue: 0 | 931 | * wValue: 0 |
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c index 0a566eea49c0..f331e2bde88a 100644 --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c | |||
@@ -974,6 +974,7 @@ int usb_serial_probe(struct usb_interface *interface, | |||
974 | if (retval > 0) { | 974 | if (retval > 0) { |
975 | /* quietly accept this device, but don't bind to a | 975 | /* quietly accept this device, but don't bind to a |
976 | serial port as it's about to disappear */ | 976 | serial port as it's about to disappear */ |
977 | serial->num_ports = 0; | ||
977 | goto exit; | 978 | goto exit; |
978 | } | 979 | } |
979 | } | 980 | } |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index fa65a3b08601..4b8b69045fe6 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
@@ -160,8 +160,9 @@ UNUSUAL_DEV( 0x0420, 0x0001, 0x0100, 0x0100, | |||
160 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 160 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
161 | US_FL_IGNORE_RESIDUE ), | 161 | US_FL_IGNORE_RESIDUE ), |
162 | 162 | ||
163 | /* Reported by Andrew Nayenko <relan@bk.ru> */ | 163 | /* Reported by Andrew Nayenko <relan@bk.ru> |
164 | UNUSUAL_DEV( 0x0421, 0x0019, 0x0592, 0x0592, | 164 | * Updated for new firmware by Phillip Potter <phillipinda@hotmail.com> */ |
165 | UNUSUAL_DEV( 0x0421, 0x0019, 0x0592, 0x0610, | ||
165 | "Nokia", | 166 | "Nokia", |
166 | "Nokia 6288", | 167 | "Nokia 6288", |
167 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 168 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 7826bdce4bbe..0048f1185a60 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig | |||
@@ -1128,13 +1128,6 @@ config FB_INTEL | |||
1128 | 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets. | 1128 | 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets. |
1129 | Say Y if you have and plan to use such a board. | 1129 | Say Y if you have and plan to use such a board. |
1130 | 1130 | ||
1131 | If you say Y here and want DDC/I2C support you must first say Y to | ||
1132 | "I2C support" and "I2C bit-banging support" in the character devices | ||
1133 | section. | ||
1134 | |||
1135 | If you say M here then "I2C support" and "I2C bit-banging support" | ||
1136 | can be build either as modules or built-in. | ||
1137 | |||
1138 | To compile this driver as a module, choose M here: the | 1131 | To compile this driver as a module, choose M here: the |
1139 | module will be called intelfb. | 1132 | module will be called intelfb. |
1140 | 1133 | ||
@@ -1207,11 +1200,10 @@ config FB_MATROX_G | |||
1207 | pixel and 32 bpp packed pixel. You can also use font widths | 1200 | pixel and 32 bpp packed pixel. You can also use font widths |
1208 | different from 8. | 1201 | different from 8. |
1209 | 1202 | ||
1210 | If you need support for G400 secondary head, you must first say Y to | 1203 | If you need support for G400 secondary head, you must say Y to |
1211 | "I2C support" in the character devices section, and then to | 1204 | "Matrox I2C support" and "G400 second head support" right below. |
1212 | "Matrox I2C support" and "G400 second head support" here in the | 1205 | G450/G550 secondary head and digital output are supported without |
1213 | framebuffer section. G450/G550 secondary head and digital output | 1206 | additional modules. |
1214 | are supported without additional modules. | ||
1215 | 1207 | ||
1216 | The driver starts in monitor mode. You must use the matroxset tool | 1208 | The driver starts in monitor mode. You must use the matroxset tool |
1217 | (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to | 1209 | (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to |
@@ -1310,13 +1302,6 @@ config FB_RADEON | |||
1310 | a framebuffer device. There are both PCI and AGP versions. You | 1302 | a framebuffer device. There are both PCI and AGP versions. You |
1311 | don't need to choose this to run the Radeon in plain VGA mode. | 1303 | don't need to choose this to run the Radeon in plain VGA mode. |
1312 | 1304 | ||
1313 | If you say Y here and want DDC/I2C support you must first say Y to | ||
1314 | "I2C support" and "I2C bit-banging support" in the character devices | ||
1315 | section. | ||
1316 | |||
1317 | If you say M here then "I2C support" and "I2C bit-banging support" | ||
1318 | can be build either as modules or built-in. | ||
1319 | |||
1320 | There is a product page at | 1305 | There is a product page at |
1321 | http://apps.ati.com/ATIcompare/ | 1306 | http://apps.ati.com/ATIcompare/ |
1322 | 1307 | ||
diff --git a/drivers/video/amba-clcd.c b/drivers/video/amba-clcd.c index 61050ab14128..d1f80bac54f0 100644 --- a/drivers/video/amba-clcd.c +++ b/drivers/video/amba-clcd.c | |||
@@ -437,7 +437,7 @@ static int clcdfb_register(struct clcd_fb *fb) | |||
437 | return ret; | 437 | return ret; |
438 | } | 438 | } |
439 | 439 | ||
440 | static int clcdfb_probe(struct amba_device *dev, void *id) | 440 | static int clcdfb_probe(struct amba_device *dev, struct amba_id *id) |
441 | { | 441 | { |
442 | struct clcd_board *board = dev->dev.platform_data; | 442 | struct clcd_board *board = dev->dev.platform_data; |
443 | struct clcd_fb *fb; | 443 | struct clcd_fb *fb; |
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index 9a577a800db5..2fb63f6ea2f1 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c | |||
@@ -29,14 +29,8 @@ | |||
29 | 29 | ||
30 | /* configurable parameters */ | 30 | /* configurable parameters */ |
31 | #define ATMEL_LCDC_CVAL_DEFAULT 0xc8 | 31 | #define ATMEL_LCDC_CVAL_DEFAULT 0xc8 |
32 | #define ATMEL_LCDC_DMA_BURST_LEN 8 | 32 | #define ATMEL_LCDC_DMA_BURST_LEN 8 /* words */ |
33 | 33 | #define ATMEL_LCDC_FIFO_SIZE 512 /* words */ | |
34 | #if defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91CAP9) || \ | ||
35 | defined(CONFIG_ARCH_AT91SAM9RL) | ||
36 | #define ATMEL_LCDC_FIFO_SIZE 2048 | ||
37 | #else | ||
38 | #define ATMEL_LCDC_FIFO_SIZE 512 | ||
39 | #endif | ||
40 | 34 | ||
41 | #if defined(CONFIG_ARCH_AT91) | 35 | #if defined(CONFIG_ARCH_AT91) |
42 | #define ATMEL_LCDFB_FBINFO_DEFAULT (FBINFO_DEFAULT \ | 36 | #define ATMEL_LCDFB_FBINFO_DEFAULT (FBINFO_DEFAULT \ |
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c index fe5b519860b1..1a83709f9611 100644 --- a/drivers/video/gbefb.c +++ b/drivers/video/gbefb.c | |||
@@ -75,7 +75,7 @@ struct gbefb_par { | |||
75 | static unsigned int gbe_mem_size = CONFIG_FB_GBE_MEM * 1024*1024; | 75 | static unsigned int gbe_mem_size = CONFIG_FB_GBE_MEM * 1024*1024; |
76 | static void *gbe_mem; | 76 | static void *gbe_mem; |
77 | static dma_addr_t gbe_dma_addr; | 77 | static dma_addr_t gbe_dma_addr; |
78 | unsigned long gbe_mem_phys; | 78 | static unsigned long gbe_mem_phys; |
79 | 79 | ||
80 | static struct { | 80 | static struct { |
81 | uint16_t *cpu; | 81 | uint16_t *cpu; |
@@ -185,8 +185,8 @@ static struct fb_videomode default_mode_LCD __initdata = { | |||
185 | .vmode = FB_VMODE_NONINTERLACED, | 185 | .vmode = FB_VMODE_NONINTERLACED, |
186 | }; | 186 | }; |
187 | 187 | ||
188 | struct fb_videomode *default_mode __initdata = &default_mode_CRT; | 188 | static struct fb_videomode *default_mode __initdata = &default_mode_CRT; |
189 | struct fb_var_screeninfo *default_var __initdata = &default_var_CRT; | 189 | static struct fb_var_screeninfo *default_var __initdata = &default_var_CRT; |
190 | 190 | ||
191 | static int flat_panel_enabled = 0; | 191 | static int flat_panel_enabled = 0; |
192 | 192 | ||
@@ -205,7 +205,7 @@ static void gbe_reset(void) | |||
205 | * console. | 205 | * console. |
206 | */ | 206 | */ |
207 | 207 | ||
208 | void gbe_turn_off(void) | 208 | static void gbe_turn_off(void) |
209 | { | 209 | { |
210 | int i; | 210 | int i; |
211 | unsigned int val, x, y, vpixen_off; | 211 | unsigned int val, x, y, vpixen_off; |
@@ -1097,7 +1097,7 @@ static void gbefb_create_sysfs(struct device *dev) | |||
1097 | * Initialization | 1097 | * Initialization |
1098 | */ | 1098 | */ |
1099 | 1099 | ||
1100 | int __init gbefb_setup(char *options) | 1100 | static int __init gbefb_setup(char *options) |
1101 | { | 1101 | { |
1102 | char *this_opt; | 1102 | char *this_opt; |
1103 | 1103 | ||
@@ -1283,7 +1283,7 @@ static struct platform_driver gbefb_driver = { | |||
1283 | 1283 | ||
1284 | static struct platform_device *gbefb_device; | 1284 | static struct platform_device *gbefb_device; |
1285 | 1285 | ||
1286 | int __init gbefb_init(void) | 1286 | static int __init gbefb_init(void) |
1287 | { | 1287 | { |
1288 | int ret = platform_driver_register(&gbefb_driver); | 1288 | int ret = platform_driver_register(&gbefb_driver); |
1289 | if (!ret) { | 1289 | if (!ret) { |
@@ -1301,7 +1301,7 @@ int __init gbefb_init(void) | |||
1301 | return ret; | 1301 | return ret; |
1302 | } | 1302 | } |
1303 | 1303 | ||
1304 | void __exit gbefb_exit(void) | 1304 | static void __exit gbefb_exit(void) |
1305 | { | 1305 | { |
1306 | platform_device_unregister(gbefb_device); | 1306 | platform_device_unregister(gbefb_device); |
1307 | platform_driver_unregister(&gbefb_driver); | 1307 | platform_driver_unregister(&gbefb_driver); |
diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c index dfb72f5e4c96..148cbcc39602 100644 --- a/drivers/video/omap/dispc.c +++ b/drivers/video/omap/dispc.c | |||
@@ -880,20 +880,22 @@ static irqreturn_t omap_dispc_irq_handler(int irq, void *dev) | |||
880 | 880 | ||
881 | static int get_dss_clocks(void) | 881 | static int get_dss_clocks(void) |
882 | { | 882 | { |
883 | if (IS_ERR((dispc.dss_ick = clk_get(dispc.fbdev->dev, "dss_ick")))) { | 883 | dispc.dss_ick = clk_get(dispc.fbdev->dev, "ick"); |
884 | dev_err(dispc.fbdev->dev, "can't get dss_ick\n"); | 884 | if (IS_ERR(dispc.dss_ick)) { |
885 | dev_err(dispc.fbdev->dev, "can't get ick\n"); | ||
885 | return PTR_ERR(dispc.dss_ick); | 886 | return PTR_ERR(dispc.dss_ick); |
886 | } | 887 | } |
887 | 888 | ||
888 | if (IS_ERR((dispc.dss1_fck = clk_get(dispc.fbdev->dev, "dss1_fck")))) { | 889 | dispc.dss1_fck = clk_get(dispc.fbdev->dev, "dss1_fck"); |
890 | if (IS_ERR(dispc.dss1_fck)) { | ||
889 | dev_err(dispc.fbdev->dev, "can't get dss1_fck\n"); | 891 | dev_err(dispc.fbdev->dev, "can't get dss1_fck\n"); |
890 | clk_put(dispc.dss_ick); | 892 | clk_put(dispc.dss_ick); |
891 | return PTR_ERR(dispc.dss1_fck); | 893 | return PTR_ERR(dispc.dss1_fck); |
892 | } | 894 | } |
893 | 895 | ||
894 | if (IS_ERR((dispc.dss_54m_fck = | 896 | dispc.dss_54m_fck = clk_get(dispc.fbdev->dev, "tv_fck"); |
895 | clk_get(dispc.fbdev->dev, "dss_54m_fck")))) { | 897 | if (IS_ERR(dispc.dss_54m_fck)) { |
896 | dev_err(dispc.fbdev->dev, "can't get dss_54m_fck\n"); | 898 | dev_err(dispc.fbdev->dev, "can't get tv_fck\n"); |
897 | clk_put(dispc.dss_ick); | 899 | clk_put(dispc.dss_ick); |
898 | clk_put(dispc.dss1_fck); | 900 | clk_put(dispc.dss1_fck); |
899 | return PTR_ERR(dispc.dss_54m_fck); | 901 | return PTR_ERR(dispc.dss_54m_fck); |
diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c index a13c8dcad2a8..9332d6ca6456 100644 --- a/drivers/video/omap/rfbi.c +++ b/drivers/video/omap/rfbi.c | |||
@@ -83,12 +83,14 @@ static inline u32 rfbi_read_reg(int idx) | |||
83 | 83 | ||
84 | static int rfbi_get_clocks(void) | 84 | static int rfbi_get_clocks(void) |
85 | { | 85 | { |
86 | if (IS_ERR((rfbi.dss_ick = clk_get(rfbi.fbdev->dev, "dss_ick")))) { | 86 | rfbi.dss_ick = clk_get(rfbi.fbdev->dev, "ick"); |
87 | dev_err(rfbi.fbdev->dev, "can't get dss_ick\n"); | 87 | if (IS_ERR(rfbi.dss_ick)) { |
88 | dev_err(rfbi.fbdev->dev, "can't get ick\n"); | ||
88 | return PTR_ERR(rfbi.dss_ick); | 89 | return PTR_ERR(rfbi.dss_ick); |
89 | } | 90 | } |
90 | 91 | ||
91 | if (IS_ERR((rfbi.dss1_fck = clk_get(rfbi.fbdev->dev, "dss1_fck")))) { | 92 | rfbi.dss1_fck = clk_get(rfbi.fbdev->dev, "dss1_fck"); |
93 | if (IS_ERR(rfbi.dss1_fck)) { | ||
92 | dev_err(rfbi.fbdev->dev, "can't get dss1_fck\n"); | 94 | dev_err(rfbi.fbdev->dev, "can't get dss1_fck\n"); |
93 | clk_put(rfbi.dss_ick); | 95 | clk_put(rfbi.dss_ick); |
94 | return PTR_ERR(rfbi.dss1_fck); | 96 | return PTR_ERR(rfbi.dss1_fck); |
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c index 5e9c6302433b..d3a568e6b169 100644 --- a/drivers/video/s3c-fb.c +++ b/drivers/video/s3c-fb.c | |||
@@ -947,7 +947,8 @@ static int __devexit s3c_fb_remove(struct platform_device *pdev) | |||
947 | int win; | 947 | int win; |
948 | 948 | ||
949 | for (win = 0; win <= S3C_FB_MAX_WIN; win++) | 949 | for (win = 0; win <= S3C_FB_MAX_WIN; win++) |
950 | s3c_fb_release_win(sfb, sfb->windows[win]); | 950 | if (sfb->windows[win]) |
951 | s3c_fb_release_win(sfb, sfb->windows[win]); | ||
951 | 952 | ||
952 | iounmap(sfb->regs); | 953 | iounmap(sfb->regs); |
953 | 954 | ||
@@ -985,11 +986,20 @@ static int s3c_fb_suspend(struct platform_device *pdev, pm_message_t state) | |||
985 | static int s3c_fb_resume(struct platform_device *pdev) | 986 | static int s3c_fb_resume(struct platform_device *pdev) |
986 | { | 987 | { |
987 | struct s3c_fb *sfb = platform_get_drvdata(pdev); | 988 | struct s3c_fb *sfb = platform_get_drvdata(pdev); |
989 | struct s3c_fb_platdata *pd = sfb->pdata; | ||
988 | struct s3c_fb_win *win; | 990 | struct s3c_fb_win *win; |
989 | int win_no; | 991 | int win_no; |
990 | 992 | ||
991 | clk_enable(sfb->bus_clk); | 993 | clk_enable(sfb->bus_clk); |
992 | 994 | ||
995 | /* setup registers */ | ||
996 | writel(pd->vidcon1, sfb->regs + VIDCON1); | ||
997 | |||
998 | /* zero all windows before we do anything */ | ||
999 | for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) | ||
1000 | s3c_fb_clear_win(sfb, win_no); | ||
1001 | |||
1002 | /* restore framebuffers */ | ||
993 | for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) { | 1003 | for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) { |
994 | win = sfb->windows[win_no]; | 1004 | win = sfb->windows[win_no]; |
995 | if (!win) | 1005 | if (!win) |
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c index 92ea0ab44ce2..f10d2fbeda06 100644 --- a/drivers/video/sh_mobile_lcdcfb.c +++ b/drivers/video/sh_mobile_lcdcfb.c | |||
@@ -47,6 +47,7 @@ struct sh_mobile_lcdc_priv { | |||
47 | #endif | 47 | #endif |
48 | unsigned long lddckr; | 48 | unsigned long lddckr; |
49 | struct sh_mobile_lcdc_chan ch[2]; | 49 | struct sh_mobile_lcdc_chan ch[2]; |
50 | int started; | ||
50 | }; | 51 | }; |
51 | 52 | ||
52 | /* shared registers */ | 53 | /* shared registers */ |
@@ -451,6 +452,7 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv) | |||
451 | 452 | ||
452 | /* start the lcdc */ | 453 | /* start the lcdc */ |
453 | sh_mobile_lcdc_start_stop(priv, 1); | 454 | sh_mobile_lcdc_start_stop(priv, 1); |
455 | priv->started = 1; | ||
454 | 456 | ||
455 | /* tell the board code to enable the panel */ | 457 | /* tell the board code to enable the panel */ |
456 | for (k = 0; k < ARRAY_SIZE(priv->ch); k++) { | 458 | for (k = 0; k < ARRAY_SIZE(priv->ch); k++) { |
@@ -493,7 +495,10 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv) | |||
493 | } | 495 | } |
494 | 496 | ||
495 | /* stop the lcdc */ | 497 | /* stop the lcdc */ |
496 | sh_mobile_lcdc_start_stop(priv, 0); | 498 | if (priv->started) { |
499 | sh_mobile_lcdc_start_stop(priv, 0); | ||
500 | priv->started = 0; | ||
501 | } | ||
497 | 502 | ||
498 | /* stop clocks */ | 503 | /* stop clocks */ |
499 | for (k = 0; k < ARRAY_SIZE(priv->ch); k++) | 504 | for (k = 0; k < ARRAY_SIZE(priv->ch); k++) |
diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c index e327b84820d2..a0fec298216e 100644 --- a/drivers/video/via/viafbdev.c +++ b/drivers/video/via/viafbdev.c | |||
@@ -2103,7 +2103,7 @@ static void viafb_remove_proc(struct proc_dir_entry *viafb_entry) | |||
2103 | 2103 | ||
2104 | static int __devinit via_pci_probe(void) | 2104 | static int __devinit via_pci_probe(void) |
2105 | { | 2105 | { |
2106 | unsigned int default_xres, default_yres; | 2106 | unsigned long default_xres, default_yres; |
2107 | char *tmpc, *tmpm; | 2107 | char *tmpc, *tmpm; |
2108 | char *tmpc_sec, *tmpm_sec; | 2108 | char *tmpc_sec, *tmpm_sec; |
2109 | int vmode_index; | 2109 | int vmode_index; |
@@ -2196,8 +2196,8 @@ static int __devinit via_pci_probe(void) | |||
2196 | viafb_FB_MM = viaparinfo->fbmem_virt; | 2196 | viafb_FB_MM = viaparinfo->fbmem_virt; |
2197 | tmpm = viafb_mode; | 2197 | tmpm = viafb_mode; |
2198 | tmpc = strsep(&tmpm, "x"); | 2198 | tmpc = strsep(&tmpm, "x"); |
2199 | strict_strtoul(tmpc, 0, (unsigned long *)&default_xres); | 2199 | strict_strtoul(tmpc, 0, &default_xres); |
2200 | strict_strtoul(tmpm, 0, (unsigned long *)&default_yres); | 2200 | strict_strtoul(tmpm, 0, &default_yres); |
2201 | 2201 | ||
2202 | vmode_index = viafb_get_mode_index(default_xres, default_yres, 0); | 2202 | vmode_index = viafb_get_mode_index(default_xres, default_yres, 0); |
2203 | DEBUG_MSG(KERN_INFO "0->index=%d\n", vmode_index); | 2203 | DEBUG_MSG(KERN_INFO "0->index=%d\n", vmode_index); |
diff --git a/firmware/cis/.gitignore b/firmware/cis/.gitignore new file mode 100644 index 000000000000..1de39847f261 --- /dev/null +++ b/firmware/cis/.gitignore | |||
@@ -0,0 +1 @@ | |||
*.cis | |||
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c index 5f8ab8adb5f5..ab5547ff29a1 100644 --- a/fs/9p/vfs_super.c +++ b/fs/9p/vfs_super.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/mount.h> | 37 | #include <linux/mount.h> |
38 | #include <linux/idr.h> | 38 | #include <linux/idr.h> |
39 | #include <linux/sched.h> | 39 | #include <linux/sched.h> |
40 | #include <linux/smp_lock.h> | ||
40 | #include <net/9p/9p.h> | 41 | #include <net/9p/9p.h> |
41 | #include <net/9p/client.h> | 42 | #include <net/9p/client.h> |
42 | 43 | ||
@@ -155,6 +156,7 @@ static int v9fs_get_sb(struct file_system_type *fs_type, int flags, | |||
155 | 156 | ||
156 | root = d_alloc_root(inode); | 157 | root = d_alloc_root(inode); |
157 | if (!root) { | 158 | if (!root) { |
159 | iput(inode); | ||
158 | retval = -ENOMEM; | 160 | retval = -ENOMEM; |
159 | goto release_sb; | 161 | goto release_sb; |
160 | } | 162 | } |
@@ -173,10 +175,7 @@ P9_DPRINTK(P9_DEBUG_VFS, " simple set mount, return 0\n"); | |||
173 | return 0; | 175 | return 0; |
174 | 176 | ||
175 | release_sb: | 177 | release_sb: |
176 | if (sb) { | 178 | deactivate_locked_super(sb); |
177 | up_write(&sb->s_umount); | ||
178 | deactivate_super(sb); | ||
179 | } | ||
180 | 179 | ||
181 | free_stat: | 180 | free_stat: |
182 | kfree(st); | 181 | kfree(st); |
@@ -230,9 +229,12 @@ static int v9fs_show_options(struct seq_file *m, struct vfsmount *mnt) | |||
230 | static void | 229 | static void |
231 | v9fs_umount_begin(struct super_block *sb) | 230 | v9fs_umount_begin(struct super_block *sb) |
232 | { | 231 | { |
233 | struct v9fs_session_info *v9ses = sb->s_fs_info; | 232 | struct v9fs_session_info *v9ses; |
234 | 233 | ||
234 | lock_kernel(); | ||
235 | v9ses = sb->s_fs_info; | ||
235 | v9fs_session_cancel(v9ses); | 236 | v9fs_session_cancel(v9ses); |
237 | unlock_kernel(); | ||
236 | } | 238 | } |
237 | 239 | ||
238 | static const struct super_operations v9fs_super_ops = { | 240 | static const struct super_operations v9fs_super_ops = { |
diff --git a/fs/affs/super.c b/fs/affs/super.c index 5ce695e707fe..63f5183f263b 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c | |||
@@ -507,8 +507,7 @@ affs_remount(struct super_block *sb, int *flags, char *data) | |||
507 | kfree(new_opts); | 507 | kfree(new_opts); |
508 | return -EINVAL; | 508 | return -EINVAL; |
509 | } | 509 | } |
510 | kfree(sb->s_options); | 510 | replace_mount_options(sb, new_opts); |
511 | sb->s_options = new_opts; | ||
512 | 511 | ||
513 | sbi->s_flags = mount_flags; | 512 | sbi->s_flags = mount_flags; |
514 | sbi->s_mode = mode; | 513 | sbi->s_mode = mode; |
diff --git a/fs/afs/super.c b/fs/afs/super.c index aee239a048cb..76828e5f8a39 100644 --- a/fs/afs/super.c +++ b/fs/afs/super.c | |||
@@ -405,21 +405,20 @@ static int afs_get_sb(struct file_system_type *fs_type, | |||
405 | sb->s_flags = flags; | 405 | sb->s_flags = flags; |
406 | ret = afs_fill_super(sb, ¶ms); | 406 | ret = afs_fill_super(sb, ¶ms); |
407 | if (ret < 0) { | 407 | if (ret < 0) { |
408 | up_write(&sb->s_umount); | 408 | deactivate_locked_super(sb); |
409 | deactivate_super(sb); | ||
410 | goto error; | 409 | goto error; |
411 | } | 410 | } |
412 | sb->s_options = new_opts; | 411 | save_mount_options(sb, new_opts); |
413 | sb->s_flags |= MS_ACTIVE; | 412 | sb->s_flags |= MS_ACTIVE; |
414 | } else { | 413 | } else { |
415 | _debug("reuse"); | 414 | _debug("reuse"); |
416 | kfree(new_opts); | ||
417 | ASSERTCMP(sb->s_flags, &, MS_ACTIVE); | 415 | ASSERTCMP(sb->s_flags, &, MS_ACTIVE); |
418 | } | 416 | } |
419 | 417 | ||
420 | simple_set_mnt(mnt, sb); | 418 | simple_set_mnt(mnt, sb); |
421 | afs_put_volume(params.volume); | 419 | afs_put_volume(params.volume); |
422 | afs_put_cell(params.cell); | 420 | afs_put_cell(params.cell); |
421 | kfree(new_opts); | ||
423 | _leave(" = 0 [%p]", sb); | 422 | _leave(" = 0 [%p]", sb); |
424 | return 0; | 423 | return 0; |
425 | 424 | ||
diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c index 5cebf0b37798..697f6b5f1313 100644 --- a/fs/binfmt_flat.c +++ b/fs/binfmt_flat.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <asm/uaccess.h> | 41 | #include <asm/uaccess.h> |
42 | #include <asm/unaligned.h> | 42 | #include <asm/unaligned.h> |
43 | #include <asm/cacheflush.h> | 43 | #include <asm/cacheflush.h> |
44 | #include <asm/page.h> | ||
44 | 45 | ||
45 | /****************************************************************************/ | 46 | /****************************************************************************/ |
46 | 47 | ||
@@ -54,6 +55,18 @@ | |||
54 | #define DBG_FLT(a...) | 55 | #define DBG_FLT(a...) |
55 | #endif | 56 | #endif |
56 | 57 | ||
58 | /* | ||
59 | * User data (stack, data section and bss) needs to be aligned | ||
60 | * for the same reasons as SLAB memory is, and to the same amount. | ||
61 | * Avoid duplicating architecture specific code by using the same | ||
62 | * macro as with SLAB allocation: | ||
63 | */ | ||
64 | #ifdef ARCH_SLAB_MINALIGN | ||
65 | #define FLAT_DATA_ALIGN (ARCH_SLAB_MINALIGN) | ||
66 | #else | ||
67 | #define FLAT_DATA_ALIGN (sizeof(void *)) | ||
68 | #endif | ||
69 | |||
57 | #define RELOC_FAILED 0xff00ff01 /* Relocation incorrect somewhere */ | 70 | #define RELOC_FAILED 0xff00ff01 /* Relocation incorrect somewhere */ |
58 | #define UNLOADED_LIB 0x7ff000ff /* Placeholder for unused library */ | 71 | #define UNLOADED_LIB 0x7ff000ff /* Placeholder for unused library */ |
59 | 72 | ||
@@ -114,20 +127,18 @@ static unsigned long create_flat_tables( | |||
114 | int envc = bprm->envc; | 127 | int envc = bprm->envc; |
115 | char uninitialized_var(dummy); | 128 | char uninitialized_var(dummy); |
116 | 129 | ||
117 | sp = (unsigned long *) ((-(unsigned long)sizeof(char *))&(unsigned long) p); | 130 | sp = (unsigned long *)p; |
131 | sp -= (envc + argc + 2) + 1 + (flat_argvp_envp_on_stack() ? 2 : 0); | ||
132 | sp = (unsigned long *) ((unsigned long)sp & -FLAT_DATA_ALIGN); | ||
133 | argv = sp + 1 + (flat_argvp_envp_on_stack() ? 2 : 0); | ||
134 | envp = argv + (argc + 1); | ||
118 | 135 | ||
119 | sp -= envc+1; | ||
120 | envp = sp; | ||
121 | sp -= argc+1; | ||
122 | argv = sp; | ||
123 | |||
124 | flat_stack_align(sp); | ||
125 | if (flat_argvp_envp_on_stack()) { | 136 | if (flat_argvp_envp_on_stack()) { |
126 | --sp; put_user((unsigned long) envp, sp); | 137 | put_user((unsigned long) envp, sp + 2); |
127 | --sp; put_user((unsigned long) argv, sp); | 138 | put_user((unsigned long) argv, sp + 1); |
128 | } | 139 | } |
129 | 140 | ||
130 | put_user(argc,--sp); | 141 | put_user(argc, sp); |
131 | current->mm->arg_start = (unsigned long) p; | 142 | current->mm->arg_start = (unsigned long) p; |
132 | while (argc-->0) { | 143 | while (argc-->0) { |
133 | put_user((unsigned long) p, argv++); | 144 | put_user((unsigned long) p, argv++); |
@@ -558,7 +569,9 @@ static int load_flat_file(struct linux_binprm * bprm, | |||
558 | ret = realdatastart; | 569 | ret = realdatastart; |
559 | goto err; | 570 | goto err; |
560 | } | 571 | } |
561 | datapos = realdatastart + MAX_SHARED_LIBS * sizeof(unsigned long); | 572 | datapos = ALIGN(realdatastart + |
573 | MAX_SHARED_LIBS * sizeof(unsigned long), | ||
574 | FLAT_DATA_ALIGN); | ||
562 | 575 | ||
563 | DBG_FLT("BINFMT_FLAT: Allocated data+bss+stack (%d bytes): %x\n", | 576 | DBG_FLT("BINFMT_FLAT: Allocated data+bss+stack (%d bytes): %x\n", |
564 | (int)(data_len + bss_len + stack_len), (int)datapos); | 577 | (int)(data_len + bss_len + stack_len), (int)datapos); |
@@ -604,9 +617,12 @@ static int load_flat_file(struct linux_binprm * bprm, | |||
604 | } | 617 | } |
605 | 618 | ||
606 | realdatastart = textpos + ntohl(hdr->data_start); | 619 | realdatastart = textpos + ntohl(hdr->data_start); |
607 | datapos = realdatastart + MAX_SHARED_LIBS * sizeof(unsigned long); | 620 | datapos = ALIGN(realdatastart + |
608 | reloc = (unsigned long *) (textpos + ntohl(hdr->reloc_start) + | 621 | MAX_SHARED_LIBS * sizeof(unsigned long), |
609 | MAX_SHARED_LIBS * sizeof(unsigned long)); | 622 | FLAT_DATA_ALIGN); |
623 | |||
624 | reloc = (unsigned long *) | ||
625 | (datapos + (ntohl(hdr->reloc_start) - text_len)); | ||
610 | memp = textpos; | 626 | memp = textpos; |
611 | memp_size = len; | 627 | memp_size = len; |
612 | #ifdef CONFIG_BINFMT_ZFLAT | 628 | #ifdef CONFIG_BINFMT_ZFLAT |
@@ -854,7 +870,7 @@ static int load_flat_binary(struct linux_binprm * bprm, struct pt_regs * regs) | |||
854 | stack_len = TOP_OF_ARGS - bprm->p; /* the strings */ | 870 | stack_len = TOP_OF_ARGS - bprm->p; /* the strings */ |
855 | stack_len += (bprm->argc + 1) * sizeof(char *); /* the argv array */ | 871 | stack_len += (bprm->argc + 1) * sizeof(char *); /* the argv array */ |
856 | stack_len += (bprm->envc + 1) * sizeof(char *); /* the envp array */ | 872 | stack_len += (bprm->envc + 1) * sizeof(char *); /* the envp array */ |
857 | 873 | stack_len += FLAT_DATA_ALIGN - 1; /* reserve for upcoming alignment */ | |
858 | 874 | ||
859 | res = load_flat_file(bprm, &libinfo, 0, &stack_len); | 875 | res = load_flat_file(bprm, &libinfo, 0, &stack_len); |
860 | if (res > (unsigned long)-4096) | 876 | if (res > (unsigned long)-4096) |
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index a99f1c2a710d..fedf8b9f03a2 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c | |||
@@ -1469,6 +1469,7 @@ read_block_for_search(struct btrfs_trans_handle *trans, | |||
1469 | u32 blocksize; | 1469 | u32 blocksize; |
1470 | struct extent_buffer *b = *eb_ret; | 1470 | struct extent_buffer *b = *eb_ret; |
1471 | struct extent_buffer *tmp; | 1471 | struct extent_buffer *tmp; |
1472 | int ret; | ||
1472 | 1473 | ||
1473 | blocknr = btrfs_node_blockptr(b, slot); | 1474 | blocknr = btrfs_node_blockptr(b, slot); |
1474 | gen = btrfs_node_ptr_generation(b, slot); | 1475 | gen = btrfs_node_ptr_generation(b, slot); |
@@ -1476,6 +1477,10 @@ read_block_for_search(struct btrfs_trans_handle *trans, | |||
1476 | 1477 | ||
1477 | tmp = btrfs_find_tree_block(root, blocknr, blocksize); | 1478 | tmp = btrfs_find_tree_block(root, blocknr, blocksize); |
1478 | if (tmp && btrfs_buffer_uptodate(tmp, gen)) { | 1479 | if (tmp && btrfs_buffer_uptodate(tmp, gen)) { |
1480 | /* | ||
1481 | * we found an up to date block without sleeping, return | ||
1482 | * right away | ||
1483 | */ | ||
1479 | *eb_ret = tmp; | 1484 | *eb_ret = tmp; |
1480 | return 0; | 1485 | return 0; |
1481 | } | 1486 | } |
@@ -1483,7 +1488,9 @@ read_block_for_search(struct btrfs_trans_handle *trans, | |||
1483 | /* | 1488 | /* |
1484 | * reduce lock contention at high levels | 1489 | * reduce lock contention at high levels |
1485 | * of the btree by dropping locks before | 1490 | * of the btree by dropping locks before |
1486 | * we read. | 1491 | * we read. Don't release the lock on the current |
1492 | * level because we need to walk this node to figure | ||
1493 | * out which blocks to read. | ||
1487 | */ | 1494 | */ |
1488 | btrfs_unlock_up_safe(p, level + 1); | 1495 | btrfs_unlock_up_safe(p, level + 1); |
1489 | btrfs_set_path_blocking(p); | 1496 | btrfs_set_path_blocking(p); |
@@ -1494,10 +1501,21 @@ read_block_for_search(struct btrfs_trans_handle *trans, | |||
1494 | reada_for_search(root, p, level, slot, key->objectid); | 1501 | reada_for_search(root, p, level, slot, key->objectid); |
1495 | 1502 | ||
1496 | btrfs_release_path(NULL, p); | 1503 | btrfs_release_path(NULL, p); |
1504 | |||
1505 | ret = -EAGAIN; | ||
1497 | tmp = read_tree_block(root, blocknr, blocksize, gen); | 1506 | tmp = read_tree_block(root, blocknr, blocksize, gen); |
1498 | if (tmp) | 1507 | if (tmp) { |
1508 | /* | ||
1509 | * If the read above didn't mark this buffer up to date, | ||
1510 | * it will never end up being up to date. Set ret to EIO now | ||
1511 | * and give up so that our caller doesn't loop forever | ||
1512 | * on our EAGAINs. | ||
1513 | */ | ||
1514 | if (!btrfs_buffer_uptodate(tmp, 0)) | ||
1515 | ret = -EIO; | ||
1499 | free_extent_buffer(tmp); | 1516 | free_extent_buffer(tmp); |
1500 | return -EAGAIN; | 1517 | } |
1518 | return ret; | ||
1501 | } | 1519 | } |
1502 | 1520 | ||
1503 | /* | 1521 | /* |
@@ -1696,6 +1714,9 @@ cow_done: | |||
1696 | if (ret == -EAGAIN) | 1714 | if (ret == -EAGAIN) |
1697 | goto again; | 1715 | goto again; |
1698 | 1716 | ||
1717 | if (ret == -EIO) | ||
1718 | goto done; | ||
1719 | |||
1699 | if (!p->skip_locking) { | 1720 | if (!p->skip_locking) { |
1700 | int lret; | 1721 | int lret; |
1701 | 1722 | ||
@@ -1738,6 +1759,8 @@ done: | |||
1738 | */ | 1759 | */ |
1739 | if (!p->leave_spinning) | 1760 | if (!p->leave_spinning) |
1740 | btrfs_set_path_blocking(p); | 1761 | btrfs_set_path_blocking(p); |
1762 | if (ret < 0) | ||
1763 | btrfs_release_path(root, p); | ||
1741 | return ret; | 1764 | return ret; |
1742 | } | 1765 | } |
1743 | 1766 | ||
@@ -4212,6 +4235,11 @@ again: | |||
4212 | if (ret == -EAGAIN) | 4235 | if (ret == -EAGAIN) |
4213 | goto again; | 4236 | goto again; |
4214 | 4237 | ||
4238 | if (ret < 0) { | ||
4239 | btrfs_release_path(root, path); | ||
4240 | goto done; | ||
4241 | } | ||
4242 | |||
4215 | if (!path->skip_locking) { | 4243 | if (!path->skip_locking) { |
4216 | ret = btrfs_try_spin_lock(next); | 4244 | ret = btrfs_try_spin_lock(next); |
4217 | if (!ret) { | 4245 | if (!ret) { |
@@ -4246,6 +4274,11 @@ again: | |||
4246 | if (ret == -EAGAIN) | 4274 | if (ret == -EAGAIN) |
4247 | goto again; | 4275 | goto again; |
4248 | 4276 | ||
4277 | if (ret < 0) { | ||
4278 | btrfs_release_path(root, path); | ||
4279 | goto done; | ||
4280 | } | ||
4281 | |||
4249 | if (!path->skip_locking) { | 4282 | if (!path->skip_locking) { |
4250 | btrfs_assert_tree_locked(path->nodes[level]); | 4283 | btrfs_assert_tree_locked(path->nodes[level]); |
4251 | ret = btrfs_try_spin_lock(next); | 4284 | ret = btrfs_try_spin_lock(next); |
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 0ff16d3331da..4b0ea0b80c23 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -848,8 +848,6 @@ struct extent_buffer *read_tree_block(struct btrfs_root *root, u64 bytenr, | |||
848 | 848 | ||
849 | if (ret == 0) | 849 | if (ret == 0) |
850 | set_bit(EXTENT_BUFFER_UPTODATE, &buf->bflags); | 850 | set_bit(EXTENT_BUFFER_UPTODATE, &buf->bflags); |
851 | else | ||
852 | WARN_ON(1); | ||
853 | return buf; | 851 | return buf; |
854 | 852 | ||
855 | } | 853 | } |
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index e4966444811b..3e2c7c738f23 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -312,7 +312,7 @@ btrfs_lookup_first_block_group(struct btrfs_fs_info *info, u64 bytenr) | |||
312 | } | 312 | } |
313 | 313 | ||
314 | /* | 314 | /* |
315 | * return the block group that contains teh given bytenr | 315 | * return the block group that contains the given bytenr |
316 | */ | 316 | */ |
317 | struct btrfs_block_group_cache *btrfs_lookup_block_group( | 317 | struct btrfs_block_group_cache *btrfs_lookup_block_group( |
318 | struct btrfs_fs_info *info, | 318 | struct btrfs_fs_info *info, |
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 90c23eb28829..1c8b0190d031 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -3122,6 +3122,7 @@ static noinline void init_btrfs_i(struct inode *inode) | |||
3122 | bi->flags = 0; | 3122 | bi->flags = 0; |
3123 | bi->index_cnt = (u64)-1; | 3123 | bi->index_cnt = (u64)-1; |
3124 | bi->last_unlink_trans = 0; | 3124 | bi->last_unlink_trans = 0; |
3125 | bi->ordered_data_close = 0; | ||
3125 | extent_map_tree_init(&BTRFS_I(inode)->extent_tree, GFP_NOFS); | 3126 | extent_map_tree_init(&BTRFS_I(inode)->extent_tree, GFP_NOFS); |
3126 | extent_io_tree_init(&BTRFS_I(inode)->io_tree, | 3127 | extent_io_tree_init(&BTRFS_I(inode)->io_tree, |
3127 | inode->i_mapping, GFP_NOFS); | 3128 | inode->i_mapping, GFP_NOFS); |
@@ -4295,7 +4296,6 @@ out: | |||
4295 | } | 4296 | } |
4296 | if (err) { | 4297 | if (err) { |
4297 | free_extent_map(em); | 4298 | free_extent_map(em); |
4298 | WARN_ON(1); | ||
4299 | return ERR_PTR(err); | 4299 | return ERR_PTR(err); |
4300 | } | 4300 | } |
4301 | return em; | 4301 | return em; |
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 5e94ea6e1cbe..2624b53ea783 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c | |||
@@ -437,10 +437,6 @@ out_unlock: | |||
437 | return 0; | 437 | return 0; |
438 | } | 438 | } |
439 | 439 | ||
440 | /* | ||
441 | * Called inside transaction, so use GFP_NOFS | ||
442 | */ | ||
443 | |||
444 | static int btrfs_ioctl_resize(struct btrfs_root *root, void __user *arg) | 440 | static int btrfs_ioctl_resize(struct btrfs_root *root, void __user *arg) |
445 | { | 441 | { |
446 | u64 new_size; | 442 | u64 new_size; |
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 3536bdb2d7cb..2ff7cd2db25f 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -436,9 +436,9 @@ static int btrfs_show_options(struct seq_file *seq, struct vfsmount *vfs) | |||
436 | if (btrfs_test_opt(root, SSD)) | 436 | if (btrfs_test_opt(root, SSD)) |
437 | seq_puts(seq, ",ssd"); | 437 | seq_puts(seq, ",ssd"); |
438 | if (btrfs_test_opt(root, NOTREELOG)) | 438 | if (btrfs_test_opt(root, NOTREELOG)) |
439 | seq_puts(seq, ",no-treelog"); | 439 | seq_puts(seq, ",notreelog"); |
440 | if (btrfs_test_opt(root, FLUSHONCOMMIT)) | 440 | if (btrfs_test_opt(root, FLUSHONCOMMIT)) |
441 | seq_puts(seq, ",flush-on-commit"); | 441 | seq_puts(seq, ",flushoncommit"); |
442 | if (!(root->fs_info->sb->s_flags & MS_POSIXACL)) | 442 | if (!(root->fs_info->sb->s_flags & MS_POSIXACL)) |
443 | seq_puts(seq, ",noacl"); | 443 | seq_puts(seq, ",noacl"); |
444 | return 0; | 444 | return 0; |
@@ -502,8 +502,7 @@ static int btrfs_get_sb(struct file_system_type *fs_type, int flags, | |||
502 | 502 | ||
503 | if (s->s_root) { | 503 | if (s->s_root) { |
504 | if ((flags ^ s->s_flags) & MS_RDONLY) { | 504 | if ((flags ^ s->s_flags) & MS_RDONLY) { |
505 | up_write(&s->s_umount); | 505 | deactivate_locked_super(s); |
506 | deactivate_super(s); | ||
507 | error = -EBUSY; | 506 | error = -EBUSY; |
508 | goto error_close_devices; | 507 | goto error_close_devices; |
509 | } | 508 | } |
@@ -517,8 +516,7 @@ static int btrfs_get_sb(struct file_system_type *fs_type, int flags, | |||
517 | error = btrfs_fill_super(s, fs_devices, data, | 516 | error = btrfs_fill_super(s, fs_devices, data, |
518 | flags & MS_SILENT ? 1 : 0); | 517 | flags & MS_SILENT ? 1 : 0); |
519 | if (error) { | 518 | if (error) { |
520 | up_write(&s->s_umount); | 519 | deactivate_locked_super(s); |
521 | deactivate_super(s); | ||
522 | goto error_free_subvol_name; | 520 | goto error_free_subvol_name; |
523 | } | 521 | } |
524 | 522 | ||
@@ -535,15 +533,13 @@ static int btrfs_get_sb(struct file_system_type *fs_type, int flags, | |||
535 | mutex_unlock(&s->s_root->d_inode->i_mutex); | 533 | mutex_unlock(&s->s_root->d_inode->i_mutex); |
536 | 534 | ||
537 | if (IS_ERR(root)) { | 535 | if (IS_ERR(root)) { |
538 | up_write(&s->s_umount); | 536 | deactivate_locked_super(s); |
539 | deactivate_super(s); | ||
540 | error = PTR_ERR(root); | 537 | error = PTR_ERR(root); |
541 | goto error_free_subvol_name; | 538 | goto error_free_subvol_name; |
542 | } | 539 | } |
543 | if (!root->d_inode) { | 540 | if (!root->d_inode) { |
544 | dput(root); | 541 | dput(root); |
545 | up_write(&s->s_umount); | 542 | deactivate_locked_super(s); |
546 | deactivate_super(s); | ||
547 | error = -ENXIO; | 543 | error = -ENXIO; |
548 | goto error_free_subvol_name; | 544 | goto error_free_subvol_name; |
549 | } | 545 | } |
diff --git a/fs/cachefiles/internal.h b/fs/cachefiles/internal.h index 19218e1463d6..f7c255f9c624 100644 --- a/fs/cachefiles/internal.h +++ b/fs/cachefiles/internal.h | |||
@@ -122,13 +122,13 @@ static inline void cachefiles_state_changed(struct cachefiles_cache *cache) | |||
122 | } | 122 | } |
123 | 123 | ||
124 | /* | 124 | /* |
125 | * cf-bind.c | 125 | * bind.c |
126 | */ | 126 | */ |
127 | extern int cachefiles_daemon_bind(struct cachefiles_cache *cache, char *args); | 127 | extern int cachefiles_daemon_bind(struct cachefiles_cache *cache, char *args); |
128 | extern void cachefiles_daemon_unbind(struct cachefiles_cache *cache); | 128 | extern void cachefiles_daemon_unbind(struct cachefiles_cache *cache); |
129 | 129 | ||
130 | /* | 130 | /* |
131 | * cf-daemon.c | 131 | * daemon.c |
132 | */ | 132 | */ |
133 | extern const struct file_operations cachefiles_daemon_fops; | 133 | extern const struct file_operations cachefiles_daemon_fops; |
134 | 134 | ||
@@ -136,17 +136,17 @@ extern int cachefiles_has_space(struct cachefiles_cache *cache, | |||
136 | unsigned fnr, unsigned bnr); | 136 | unsigned fnr, unsigned bnr); |
137 | 137 | ||
138 | /* | 138 | /* |
139 | * cf-interface.c | 139 | * interface.c |
140 | */ | 140 | */ |
141 | extern const struct fscache_cache_ops cachefiles_cache_ops; | 141 | extern const struct fscache_cache_ops cachefiles_cache_ops; |
142 | 142 | ||
143 | /* | 143 | /* |
144 | * cf-key.c | 144 | * key.c |
145 | */ | 145 | */ |
146 | extern char *cachefiles_cook_key(const u8 *raw, int keylen, uint8_t type); | 146 | extern char *cachefiles_cook_key(const u8 *raw, int keylen, uint8_t type); |
147 | 147 | ||
148 | /* | 148 | /* |
149 | * cf-namei.c | 149 | * namei.c |
150 | */ | 150 | */ |
151 | extern int cachefiles_delete_object(struct cachefiles_cache *cache, | 151 | extern int cachefiles_delete_object(struct cachefiles_cache *cache, |
152 | struct cachefiles_object *object); | 152 | struct cachefiles_object *object); |
@@ -165,7 +165,7 @@ extern int cachefiles_check_in_use(struct cachefiles_cache *cache, | |||
165 | struct dentry *dir, char *filename); | 165 | struct dentry *dir, char *filename); |
166 | 166 | ||
167 | /* | 167 | /* |
168 | * cf-proc.c | 168 | * proc.c |
169 | */ | 169 | */ |
170 | #ifdef CONFIG_CACHEFILES_HISTOGRAM | 170 | #ifdef CONFIG_CACHEFILES_HISTOGRAM |
171 | extern atomic_t cachefiles_lookup_histogram[HZ]; | 171 | extern atomic_t cachefiles_lookup_histogram[HZ]; |
@@ -190,7 +190,7 @@ void cachefiles_hist(atomic_t histogram[], unsigned long start_jif) | |||
190 | #endif | 190 | #endif |
191 | 191 | ||
192 | /* | 192 | /* |
193 | * cf-rdwr.c | 193 | * rdwr.c |
194 | */ | 194 | */ |
195 | extern int cachefiles_read_or_alloc_page(struct fscache_retrieval *, | 195 | extern int cachefiles_read_or_alloc_page(struct fscache_retrieval *, |
196 | struct page *, gfp_t); | 196 | struct page *, gfp_t); |
@@ -205,7 +205,7 @@ extern int cachefiles_write_page(struct fscache_storage *, struct page *); | |||
205 | extern void cachefiles_uncache_page(struct fscache_object *, struct page *); | 205 | extern void cachefiles_uncache_page(struct fscache_object *, struct page *); |
206 | 206 | ||
207 | /* | 207 | /* |
208 | * cf-security.c | 208 | * security.c |
209 | */ | 209 | */ |
210 | extern int cachefiles_get_security_ID(struct cachefiles_cache *cache); | 210 | extern int cachefiles_get_security_ID(struct cachefiles_cache *cache); |
211 | extern int cachefiles_determine_cache_security(struct cachefiles_cache *cache, | 211 | extern int cachefiles_determine_cache_security(struct cachefiles_cache *cache, |
@@ -225,7 +225,7 @@ static inline void cachefiles_end_secure(struct cachefiles_cache *cache, | |||
225 | } | 225 | } |
226 | 226 | ||
227 | /* | 227 | /* |
228 | * cf-xattr.c | 228 | * xattr.c |
229 | */ | 229 | */ |
230 | extern int cachefiles_check_object_type(struct cachefiles_object *object); | 230 | extern int cachefiles_check_object_type(struct cachefiles_object *object); |
231 | extern int cachefiles_set_object_xattr(struct cachefiles_object *object, | 231 | extern int cachefiles_set_object_xattr(struct cachefiles_object *object, |
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 0d6d8b573652..5e6d35804d73 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/delay.h> | 35 | #include <linux/delay.h> |
36 | #include <linux/kthread.h> | 36 | #include <linux/kthread.h> |
37 | #include <linux/freezer.h> | 37 | #include <linux/freezer.h> |
38 | #include <linux/smp_lock.h> | ||
38 | #include "cifsfs.h" | 39 | #include "cifsfs.h" |
39 | #include "cifspdu.h" | 40 | #include "cifspdu.h" |
40 | #define DECLARE_GLOBALS_HERE | 41 | #define DECLARE_GLOBALS_HERE |
@@ -530,6 +531,7 @@ static void cifs_umount_begin(struct super_block *sb) | |||
530 | if (tcon == NULL) | 531 | if (tcon == NULL) |
531 | return; | 532 | return; |
532 | 533 | ||
534 | lock_kernel(); | ||
533 | read_lock(&cifs_tcp_ses_lock); | 535 | read_lock(&cifs_tcp_ses_lock); |
534 | if (tcon->tc_count == 1) | 536 | if (tcon->tc_count == 1) |
535 | tcon->tidStatus = CifsExiting; | 537 | tcon->tidStatus = CifsExiting; |
@@ -548,6 +550,7 @@ static void cifs_umount_begin(struct super_block *sb) | |||
548 | } | 550 | } |
549 | /* BB FIXME - finish add checks for tidStatus BB */ | 551 | /* BB FIXME - finish add checks for tidStatus BB */ |
550 | 552 | ||
553 | unlock_kernel(); | ||
551 | return; | 554 | return; |
552 | } | 555 | } |
553 | 556 | ||
@@ -599,8 +602,7 @@ cifs_get_sb(struct file_system_type *fs_type, | |||
599 | 602 | ||
600 | rc = cifs_read_super(sb, data, dev_name, flags & MS_SILENT ? 1 : 0); | 603 | rc = cifs_read_super(sb, data, dev_name, flags & MS_SILENT ? 1 : 0); |
601 | if (rc) { | 604 | if (rc) { |
602 | up_write(&sb->s_umount); | 605 | deactivate_locked_super(sb); |
603 | deactivate_super(sb); | ||
604 | return rc; | 606 | return rc; |
605 | } | 607 | } |
606 | sb->s_flags |= MS_ACTIVE; | 608 | sb->s_flags |= MS_ACTIVE; |
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 75e6623a8635..d06260251c30 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -2475,7 +2475,7 @@ querySymLinkRetry: | |||
2475 | /* BB FIXME investigate remapping reserved chars here */ | 2475 | /* BB FIXME investigate remapping reserved chars here */ |
2476 | *symlinkinfo = cifs_strndup_from_ucs(data_start, count, | 2476 | *symlinkinfo = cifs_strndup_from_ucs(data_start, count, |
2477 | is_unicode, nls_codepage); | 2477 | is_unicode, nls_codepage); |
2478 | if (!symlinkinfo) | 2478 | if (!*symlinkinfo) |
2479 | rc = -ENOMEM; | 2479 | rc = -ENOMEM; |
2480 | } | 2480 | } |
2481 | } | 2481 | } |
@@ -3976,9 +3976,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr, | |||
3976 | max_len = data_end - temp; | 3976 | max_len = data_end - temp; |
3977 | node->path_name = cifs_strndup_from_ucs(temp, max_len, | 3977 | node->path_name = cifs_strndup_from_ucs(temp, max_len, |
3978 | is_unicode, nls_codepage); | 3978 | is_unicode, nls_codepage); |
3979 | if (IS_ERR(node->path_name)) { | 3979 | if (!node->path_name) { |
3980 | rc = PTR_ERR(node->path_name); | 3980 | rc = -ENOMEM; |
3981 | node->path_name = NULL; | ||
3982 | goto parse_DFS_referrals_exit; | 3981 | goto parse_DFS_referrals_exit; |
3983 | } | 3982 | } |
3984 | 3983 | ||
@@ -3987,11 +3986,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr, | |||
3987 | max_len = data_end - temp; | 3986 | max_len = data_end - temp; |
3988 | node->node_name = cifs_strndup_from_ucs(temp, max_len, | 3987 | node->node_name = cifs_strndup_from_ucs(temp, max_len, |
3989 | is_unicode, nls_codepage); | 3988 | is_unicode, nls_codepage); |
3990 | if (IS_ERR(node->node_name)) { | 3989 | if (!node->node_name) |
3991 | rc = PTR_ERR(node->node_name); | 3990 | rc = -ENOMEM; |
3992 | node->node_name = NULL; | ||
3993 | goto parse_DFS_referrals_exit; | ||
3994 | } | ||
3995 | } | 3991 | } |
3996 | 3992 | ||
3997 | parse_DFS_referrals_exit: | 3993 | parse_DFS_referrals_exit: |
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 11431ed72a7f..3758965d73d5 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c | |||
@@ -225,6 +225,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode, | |||
225 | if (!(oflags & FMODE_READ)) | 225 | if (!(oflags & FMODE_READ)) |
226 | write_only = true; | 226 | write_only = true; |
227 | 227 | ||
228 | mode &= ~current_umask(); | ||
228 | rc = CIFSPOSIXCreate(xid, cifs_sb->tcon, posix_flags, mode, | 229 | rc = CIFSPOSIXCreate(xid, cifs_sb->tcon, posix_flags, mode, |
229 | pnetfid, presp_data, &oplock, full_path, | 230 | pnetfid, presp_data, &oplock, full_path, |
230 | cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & | 231 | cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & |
@@ -310,7 +311,6 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, | |||
310 | return -ENOMEM; | 311 | return -ENOMEM; |
311 | } | 312 | } |
312 | 313 | ||
313 | mode &= ~current_umask(); | ||
314 | if (oplockEnabled) | 314 | if (oplockEnabled) |
315 | oplock = REQ_OPLOCK; | 315 | oplock = REQ_OPLOCK; |
316 | 316 | ||
@@ -336,7 +336,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, | |||
336 | else /* success, no need to query */ | 336 | else /* success, no need to query */ |
337 | goto cifs_create_set_dentry; | 337 | goto cifs_create_set_dentry; |
338 | } else if ((rc != -EIO) && (rc != -EREMOTE) && | 338 | } else if ((rc != -EIO) && (rc != -EREMOTE) && |
339 | (rc != -EOPNOTSUPP)) /* path not found or net err */ | 339 | (rc != -EOPNOTSUPP) && (rc != -EINVAL)) |
340 | goto cifs_create_out; | 340 | goto cifs_create_out; |
341 | /* else fallthrough to retry, using older open call, this is | 341 | /* else fallthrough to retry, using older open call, this is |
342 | case where server does not support this SMB level, and | 342 | case where server does not support this SMB level, and |
@@ -609,7 +609,6 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, | |||
609 | int xid; | 609 | int xid; |
610 | int rc = 0; /* to get around spurious gcc warning, set to zero here */ | 610 | int rc = 0; /* to get around spurious gcc warning, set to zero here */ |
611 | int oplock = 0; | 611 | int oplock = 0; |
612 | int mode; | ||
613 | __u16 fileHandle = 0; | 612 | __u16 fileHandle = 0; |
614 | bool posix_open = false; | 613 | bool posix_open = false; |
615 | struct cifs_sb_info *cifs_sb; | 614 | struct cifs_sb_info *cifs_sb; |
@@ -658,30 +657,36 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, | |||
658 | } | 657 | } |
659 | cFYI(1, ("Full path: %s inode = 0x%p", full_path, direntry->d_inode)); | 658 | cFYI(1, ("Full path: %s inode = 0x%p", full_path, direntry->d_inode)); |
660 | 659 | ||
660 | /* Posix open is only called (at lookup time) for file create now. | ||
661 | * For opens (rather than creates), because we do not know if it | ||
662 | * is a file or directory yet, and current Samba no longer allows | ||
663 | * us to do posix open on dirs, we could end up wasting an open call | ||
664 | * on what turns out to be a dir. For file opens, we wait to call posix | ||
665 | * open till cifs_open. It could be added here (lookup) in the future | ||
666 | * but the performance tradeoff of the extra network request when EISDIR | ||
667 | * or EACCES is returned would have to be weighed against the 50% | ||
668 | * reduction in network traffic in the other paths. | ||
669 | */ | ||
661 | if (pTcon->unix_ext) { | 670 | if (pTcon->unix_ext) { |
662 | if (!(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY)) && | 671 | if (!(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY)) && |
663 | (nd->flags & LOOKUP_OPEN)) { | 672 | (nd->flags & LOOKUP_OPEN) && !pTcon->broken_posix_open && |
664 | if (!((nd->intent.open.flags & O_CREAT) && | 673 | (nd->intent.open.flags & O_CREAT)) { |
665 | (nd->intent.open.flags & O_EXCL))) { | 674 | rc = cifs_posix_open(full_path, &newInode, |
666 | mode = nd->intent.open.create_mode & | 675 | parent_dir_inode->i_sb, |
667 | ~current_umask(); | 676 | nd->intent.open.create_mode, |
668 | rc = cifs_posix_open(full_path, &newInode, | ||
669 | parent_dir_inode->i_sb, mode, | ||
670 | nd->intent.open.flags, &oplock, | 677 | nd->intent.open.flags, &oplock, |
671 | &fileHandle, xid); | 678 | &fileHandle, xid); |
672 | /* | 679 | /* |
673 | * This code works around a bug in | 680 | * The check below works around a bug in POSIX |
674 | * samba posix open in samba versions 3.3.1 | 681 | * open in samba versions 3.3.1 and earlier where |
675 | * and earlier where create works | 682 | * open could incorrectly fail with invalid parameter. |
676 | * but open fails with invalid parameter. | 683 | * If either that or op not supported returned, follow |
677 | * If either of these error codes are | 684 | * the normal lookup. |
678 | * returned, follow the normal lookup. | 685 | */ |
679 | * Otherwise, the error during posix open | 686 | if ((rc == 0) || (rc == -ENOENT)) |
680 | * is handled. | 687 | posix_open = true; |
681 | */ | 688 | else if ((rc == -EINVAL) || (rc != -EOPNOTSUPP)) |
682 | if ((rc != -EINVAL) && (rc != -EOPNOTSUPP)) | 689 | pTcon->broken_posix_open = true; |
683 | posix_open = true; | ||
684 | } | ||
685 | } | 690 | } |
686 | if (!posix_open) | 691 | if (!posix_open) |
687 | rc = cifs_get_inode_info_unix(&newInode, full_path, | 692 | rc = cifs_get_inode_info_unix(&newInode, full_path, |
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 38c06f826575..302ea15f02e6 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -130,10 +130,6 @@ static inline int cifs_posix_open_inode_helper(struct inode *inode, | |||
130 | struct cifsFileInfo *pCifsFile, int oplock, u16 netfid) | 130 | struct cifsFileInfo *pCifsFile, int oplock, u16 netfid) |
131 | { | 131 | { |
132 | 132 | ||
133 | file->private_data = kmalloc(sizeof(struct cifsFileInfo), GFP_KERNEL); | ||
134 | if (file->private_data == NULL) | ||
135 | return -ENOMEM; | ||
136 | pCifsFile = cifs_init_private(file->private_data, inode, file, netfid); | ||
137 | write_lock(&GlobalSMBSeslock); | 133 | write_lock(&GlobalSMBSeslock); |
138 | 134 | ||
139 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); | 135 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); |
@@ -184,6 +180,38 @@ psx_client_can_cache: | |||
184 | return 0; | 180 | return 0; |
185 | } | 181 | } |
186 | 182 | ||
183 | static struct cifsFileInfo * | ||
184 | cifs_fill_filedata(struct file *file) | ||
185 | { | ||
186 | struct list_head *tmp; | ||
187 | struct cifsFileInfo *pCifsFile = NULL; | ||
188 | struct cifsInodeInfo *pCifsInode = NULL; | ||
189 | |||
190 | /* search inode for this file and fill in file->private_data */ | ||
191 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); | ||
192 | read_lock(&GlobalSMBSeslock); | ||
193 | list_for_each(tmp, &pCifsInode->openFileList) { | ||
194 | pCifsFile = list_entry(tmp, struct cifsFileInfo, flist); | ||
195 | if ((pCifsFile->pfile == NULL) && | ||
196 | (pCifsFile->pid == current->tgid)) { | ||
197 | /* mode set in cifs_create */ | ||
198 | |||
199 | /* needed for writepage */ | ||
200 | pCifsFile->pfile = file; | ||
201 | file->private_data = pCifsFile; | ||
202 | break; | ||
203 | } | ||
204 | } | ||
205 | read_unlock(&GlobalSMBSeslock); | ||
206 | |||
207 | if (file->private_data != NULL) { | ||
208 | return pCifsFile; | ||
209 | } else if ((file->f_flags & O_CREAT) && (file->f_flags & O_EXCL)) | ||
210 | cERROR(1, ("could not find file instance for " | ||
211 | "new file %p", file)); | ||
212 | return NULL; | ||
213 | } | ||
214 | |||
187 | /* all arguments to this function must be checked for validity in caller */ | 215 | /* all arguments to this function must be checked for validity in caller */ |
188 | static inline int cifs_open_inode_helper(struct inode *inode, struct file *file, | 216 | static inline int cifs_open_inode_helper(struct inode *inode, struct file *file, |
189 | struct cifsInodeInfo *pCifsInode, struct cifsFileInfo *pCifsFile, | 217 | struct cifsInodeInfo *pCifsInode, struct cifsFileInfo *pCifsFile, |
@@ -258,7 +286,6 @@ int cifs_open(struct inode *inode, struct file *file) | |||
258 | struct cifsTconInfo *tcon; | 286 | struct cifsTconInfo *tcon; |
259 | struct cifsFileInfo *pCifsFile; | 287 | struct cifsFileInfo *pCifsFile; |
260 | struct cifsInodeInfo *pCifsInode; | 288 | struct cifsInodeInfo *pCifsInode; |
261 | struct list_head *tmp; | ||
262 | char *full_path = NULL; | 289 | char *full_path = NULL; |
263 | int desiredAccess; | 290 | int desiredAccess; |
264 | int disposition; | 291 | int disposition; |
@@ -270,32 +297,12 @@ int cifs_open(struct inode *inode, struct file *file) | |||
270 | cifs_sb = CIFS_SB(inode->i_sb); | 297 | cifs_sb = CIFS_SB(inode->i_sb); |
271 | tcon = cifs_sb->tcon; | 298 | tcon = cifs_sb->tcon; |
272 | 299 | ||
273 | /* search inode for this file and fill in file->private_data */ | ||
274 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); | 300 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); |
275 | read_lock(&GlobalSMBSeslock); | 301 | pCifsFile = cifs_fill_filedata(file); |
276 | list_for_each(tmp, &pCifsInode->openFileList) { | 302 | if (pCifsFile) { |
277 | pCifsFile = list_entry(tmp, struct cifsFileInfo, | ||
278 | flist); | ||
279 | if ((pCifsFile->pfile == NULL) && | ||
280 | (pCifsFile->pid == current->tgid)) { | ||
281 | /* mode set in cifs_create */ | ||
282 | |||
283 | /* needed for writepage */ | ||
284 | pCifsFile->pfile = file; | ||
285 | |||
286 | file->private_data = pCifsFile; | ||
287 | break; | ||
288 | } | ||
289 | } | ||
290 | read_unlock(&GlobalSMBSeslock); | ||
291 | |||
292 | if (file->private_data != NULL) { | ||
293 | rc = 0; | ||
294 | FreeXid(xid); | 303 | FreeXid(xid); |
295 | return rc; | 304 | return 0; |
296 | } else if ((file->f_flags & O_CREAT) && (file->f_flags & O_EXCL)) | 305 | } |
297 | cERROR(1, ("could not find file instance for " | ||
298 | "new file %p", file)); | ||
299 | 306 | ||
300 | full_path = build_path_from_dentry(file->f_path.dentry); | 307 | full_path = build_path_from_dentry(file->f_path.dentry); |
301 | if (full_path == NULL) { | 308 | if (full_path == NULL) { |
@@ -325,6 +332,7 @@ int cifs_open(struct inode *inode, struct file *file) | |||
325 | /* no need for special case handling of setting mode | 332 | /* no need for special case handling of setting mode |
326 | on read only files needed here */ | 333 | on read only files needed here */ |
327 | 334 | ||
335 | pCifsFile = cifs_fill_filedata(file); | ||
328 | cifs_posix_open_inode_helper(inode, file, pCifsInode, | 336 | cifs_posix_open_inode_helper(inode, file, pCifsInode, |
329 | pCifsFile, oplock, netfid); | 337 | pCifsFile, oplock, netfid); |
330 | goto out; | 338 | goto out; |
diff --git a/fs/cifs/link.c b/fs/cifs/link.c index ea9d11e3dcbb..cd83c53fcbb5 100644 --- a/fs/cifs/link.c +++ b/fs/cifs/link.c | |||
@@ -107,48 +107,48 @@ void * | |||
107 | cifs_follow_link(struct dentry *direntry, struct nameidata *nd) | 107 | cifs_follow_link(struct dentry *direntry, struct nameidata *nd) |
108 | { | 108 | { |
109 | struct inode *inode = direntry->d_inode; | 109 | struct inode *inode = direntry->d_inode; |
110 | int rc = -EACCES; | 110 | int rc = -ENOMEM; |
111 | int xid; | 111 | int xid; |
112 | char *full_path = NULL; | 112 | char *full_path = NULL; |
113 | char *target_path = ERR_PTR(-ENOMEM); | 113 | char *target_path = NULL; |
114 | struct cifs_sb_info *cifs_sb; | 114 | struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); |
115 | struct cifsTconInfo *pTcon; | 115 | struct cifsTconInfo *tcon = cifs_sb->tcon; |
116 | 116 | ||
117 | xid = GetXid(); | 117 | xid = GetXid(); |
118 | 118 | ||
119 | full_path = build_path_from_dentry(direntry); | 119 | /* |
120 | * For now, we just handle symlinks with unix extensions enabled. | ||
121 | * Eventually we should handle NTFS reparse points, and MacOS | ||
122 | * symlink support. For instance... | ||
123 | * | ||
124 | * rc = CIFSSMBQueryReparseLinkInfo(...) | ||
125 | * | ||
126 | * For now, just return -EACCES when the server doesn't support posix | ||
127 | * extensions. Note that we still allow querying symlinks when posix | ||
128 | * extensions are manually disabled. We could disable these as well | ||
129 | * but there doesn't seem to be any harm in allowing the client to | ||
130 | * read them. | ||
131 | */ | ||
132 | if (!(tcon->ses->capabilities & CAP_UNIX)) { | ||
133 | rc = -EACCES; | ||
134 | goto out; | ||
135 | } | ||
120 | 136 | ||
137 | full_path = build_path_from_dentry(direntry); | ||
121 | if (!full_path) | 138 | if (!full_path) |
122 | goto out; | 139 | goto out; |
123 | 140 | ||
124 | cFYI(1, ("Full path: %s inode = 0x%p", full_path, inode)); | 141 | cFYI(1, ("Full path: %s inode = 0x%p", full_path, inode)); |
125 | cifs_sb = CIFS_SB(inode->i_sb); | ||
126 | pTcon = cifs_sb->tcon; | ||
127 | |||
128 | /* We could change this to: | ||
129 | if (pTcon->unix_ext) | ||
130 | but there does not seem any point in refusing to | ||
131 | get symlink info if we can, even if unix extensions | ||
132 | turned off for this mount */ | ||
133 | |||
134 | if (pTcon->ses->capabilities & CAP_UNIX) | ||
135 | rc = CIFSSMBUnixQuerySymLink(xid, pTcon, full_path, | ||
136 | &target_path, | ||
137 | cifs_sb->local_nls); | ||
138 | else { | ||
139 | /* BB add read reparse point symlink code here */ | ||
140 | /* rc = CIFSSMBQueryReparseLinkInfo */ | ||
141 | /* BB Add code to Query ReparsePoint info */ | ||
142 | /* BB Add MAC style xsymlink check here if enabled */ | ||
143 | } | ||
144 | 142 | ||
143 | rc = CIFSSMBUnixQuerySymLink(xid, tcon, full_path, &target_path, | ||
144 | cifs_sb->local_nls); | ||
145 | kfree(full_path); | ||
146 | out: | ||
145 | if (rc != 0) { | 147 | if (rc != 0) { |
146 | kfree(target_path); | 148 | kfree(target_path); |
147 | target_path = ERR_PTR(rc); | 149 | target_path = ERR_PTR(rc); |
148 | } | 150 | } |
149 | 151 | ||
150 | kfree(full_path); | ||
151 | out: | ||
152 | FreeXid(xid); | 152 | FreeXid(xid); |
153 | nd_set_link(nd, target_path); | 153 | nd_set_link(nd, target_path); |
154 | return NULL; | 154 | return NULL; |
diff --git a/fs/dcache.c b/fs/dcache.c index 1fcffebfb44f..75659a6fd1f8 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -481,7 +481,7 @@ restart: | |||
481 | if ((flags & DCACHE_REFERENCED) | 481 | if ((flags & DCACHE_REFERENCED) |
482 | && (dentry->d_flags & DCACHE_REFERENCED)) { | 482 | && (dentry->d_flags & DCACHE_REFERENCED)) { |
483 | dentry->d_flags &= ~DCACHE_REFERENCED; | 483 | dentry->d_flags &= ~DCACHE_REFERENCED; |
484 | list_move_tail(&dentry->d_lru, &referenced); | 484 | list_move(&dentry->d_lru, &referenced); |
485 | spin_unlock(&dentry->d_lock); | 485 | spin_unlock(&dentry->d_lock); |
486 | } else { | 486 | } else { |
487 | list_move_tail(&dentry->d_lru, &tmp); | 487 | list_move_tail(&dentry->d_lru, &tmp); |
diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c index 63a4a59e4148..c68edb969441 100644 --- a/fs/devpts/inode.c +++ b/fs/devpts/inode.c | |||
@@ -90,6 +90,15 @@ static inline struct super_block *pts_sb_from_inode(struct inode *inode) | |||
90 | #define PARSE_MOUNT 0 | 90 | #define PARSE_MOUNT 0 |
91 | #define PARSE_REMOUNT 1 | 91 | #define PARSE_REMOUNT 1 |
92 | 92 | ||
93 | /* | ||
94 | * parse_mount_options(): | ||
95 | * Set @opts to mount options specified in @data. If an option is not | ||
96 | * specified in @data, set it to its default value. The exception is | ||
97 | * 'newinstance' option which can only be set/cleared on a mount (i.e. | ||
98 | * cannot be changed during remount). | ||
99 | * | ||
100 | * Note: @data may be NULL (in which case all options are set to default). | ||
101 | */ | ||
93 | static int parse_mount_options(char *data, int op, struct pts_mount_opts *opts) | 102 | static int parse_mount_options(char *data, int op, struct pts_mount_opts *opts) |
94 | { | 103 | { |
95 | char *p; | 104 | char *p; |
@@ -355,12 +364,9 @@ static int devpts_get_sb(struct file_system_type *fs_type, | |||
355 | struct pts_mount_opts opts; | 364 | struct pts_mount_opts opts; |
356 | struct super_block *s; | 365 | struct super_block *s; |
357 | 366 | ||
358 | memset(&opts, 0, sizeof(opts)); | 367 | error = parse_mount_options(data, PARSE_MOUNT, &opts); |
359 | if (data) { | 368 | if (error) |
360 | error = parse_mount_options(data, PARSE_MOUNT, &opts); | 369 | return error; |
361 | if (error) | ||
362 | return error; | ||
363 | } | ||
364 | 370 | ||
365 | if (opts.newinstance) | 371 | if (opts.newinstance) |
366 | s = sget(fs_type, NULL, set_anon_super, NULL); | 372 | s = sget(fs_type, NULL, set_anon_super, NULL); |
@@ -389,11 +395,10 @@ static int devpts_get_sb(struct file_system_type *fs_type, | |||
389 | return 0; | 395 | return 0; |
390 | 396 | ||
391 | out_dput: | 397 | out_dput: |
392 | dput(s->s_root); | 398 | dput(s->s_root); /* undo dget() in simple_set_mnt() */ |
393 | 399 | ||
394 | out_undo_sget: | 400 | out_undo_sget: |
395 | up_write(&s->s_umount); | 401 | deactivate_locked_super(s); |
396 | deactivate_super(s); | ||
397 | return error; | 402 | return error; |
398 | } | 403 | } |
399 | 404 | ||
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index ccabd5faa04d..9f0aa9883c28 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c | |||
@@ -614,9 +614,8 @@ static int ecryptfs_get_sb(struct file_system_type *fs_type, int flags, | |||
614 | } | 614 | } |
615 | goto out; | 615 | goto out; |
616 | out_abort: | 616 | out_abort: |
617 | dput(sb->s_root); | 617 | dput(sb->s_root); /* aka mnt->mnt_root, as set by get_sb_nodev() */ |
618 | up_write(&sb->s_umount); | 618 | deactivate_locked_super(sb); |
619 | deactivate_super(sb); | ||
620 | out: | 619 | out: |
621 | return rc; | 620 | return rc; |
622 | } | 621 | } |
diff --git a/fs/eventpoll.c b/fs/eventpoll.c index a89f370fadb5..5458e80fc558 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c | |||
@@ -1212,7 +1212,7 @@ SYSCALL_DEFINE1(epoll_create1, int, flags) | |||
1212 | 1212 | ||
1213 | SYSCALL_DEFINE1(epoll_create, int, size) | 1213 | SYSCALL_DEFINE1(epoll_create, int, size) |
1214 | { | 1214 | { |
1215 | if (size < 0) | 1215 | if (size <= 0) |
1216 | return -EINVAL; | 1216 | return -EINVAL; |
1217 | 1217 | ||
1218 | return sys_epoll_create1(0); | 1218 | return sys_epoll_create1(0); |
@@ -105,40 +105,28 @@ static inline void put_binfmt(struct linux_binfmt * fmt) | |||
105 | SYSCALL_DEFINE1(uselib, const char __user *, library) | 105 | SYSCALL_DEFINE1(uselib, const char __user *, library) |
106 | { | 106 | { |
107 | struct file *file; | 107 | struct file *file; |
108 | struct nameidata nd; | ||
109 | char *tmp = getname(library); | 108 | char *tmp = getname(library); |
110 | int error = PTR_ERR(tmp); | 109 | int error = PTR_ERR(tmp); |
111 | 110 | ||
112 | if (!IS_ERR(tmp)) { | 111 | if (IS_ERR(tmp)) |
113 | error = path_lookup_open(AT_FDCWD, tmp, | 112 | goto out; |
114 | LOOKUP_FOLLOW, &nd, | 113 | |
115 | FMODE_READ|FMODE_EXEC); | 114 | file = do_filp_open(AT_FDCWD, tmp, |
116 | putname(tmp); | 115 | O_LARGEFILE | O_RDONLY | FMODE_EXEC, 0, |
117 | } | 116 | MAY_READ | MAY_EXEC | MAY_OPEN); |
118 | if (error) | 117 | putname(tmp); |
118 | error = PTR_ERR(file); | ||
119 | if (IS_ERR(file)) | ||
119 | goto out; | 120 | goto out; |
120 | 121 | ||
121 | error = -EINVAL; | 122 | error = -EINVAL; |
122 | if (!S_ISREG(nd.path.dentry->d_inode->i_mode)) | 123 | if (!S_ISREG(file->f_path.dentry->d_inode->i_mode)) |
123 | goto exit; | 124 | goto exit; |
124 | 125 | ||
125 | error = -EACCES; | 126 | error = -EACCES; |
126 | if (nd.path.mnt->mnt_flags & MNT_NOEXEC) | 127 | if (file->f_path.mnt->mnt_flags & MNT_NOEXEC) |
127 | goto exit; | ||
128 | |||
129 | error = inode_permission(nd.path.dentry->d_inode, | ||
130 | MAY_READ | MAY_EXEC | MAY_OPEN); | ||
131 | if (error) | ||
132 | goto exit; | ||
133 | error = ima_path_check(&nd.path, MAY_READ | MAY_EXEC | MAY_OPEN); | ||
134 | if (error) | ||
135 | goto exit; | 128 | goto exit; |
136 | 129 | ||
137 | file = nameidata_to_filp(&nd, O_RDONLY|O_LARGEFILE); | ||
138 | error = PTR_ERR(file); | ||
139 | if (IS_ERR(file)) | ||
140 | goto out; | ||
141 | |||
142 | fsnotify_open(file->f_path.dentry); | 130 | fsnotify_open(file->f_path.dentry); |
143 | 131 | ||
144 | error = -ENOEXEC; | 132 | error = -ENOEXEC; |
@@ -160,13 +148,10 @@ SYSCALL_DEFINE1(uselib, const char __user *, library) | |||
160 | } | 148 | } |
161 | read_unlock(&binfmt_lock); | 149 | read_unlock(&binfmt_lock); |
162 | } | 150 | } |
151 | exit: | ||
163 | fput(file); | 152 | fput(file); |
164 | out: | 153 | out: |
165 | return error; | 154 | return error; |
166 | exit: | ||
167 | release_open_intent(&nd); | ||
168 | path_put(&nd.path); | ||
169 | goto out; | ||
170 | } | 155 | } |
171 | 156 | ||
172 | #ifdef CONFIG_MMU | 157 | #ifdef CONFIG_MMU |
@@ -661,47 +646,33 @@ EXPORT_SYMBOL(setup_arg_pages); | |||
661 | 646 | ||
662 | struct file *open_exec(const char *name) | 647 | struct file *open_exec(const char *name) |
663 | { | 648 | { |
664 | struct nameidata nd; | ||
665 | struct file *file; | 649 | struct file *file; |
666 | int err; | 650 | int err; |
667 | 651 | ||
668 | err = path_lookup_open(AT_FDCWD, name, LOOKUP_FOLLOW, &nd, | 652 | file = do_filp_open(AT_FDCWD, name, |
669 | FMODE_READ|FMODE_EXEC); | 653 | O_LARGEFILE | O_RDONLY | FMODE_EXEC, 0, |
670 | if (err) | 654 | MAY_EXEC | MAY_OPEN); |
655 | if (IS_ERR(file)) | ||
671 | goto out; | 656 | goto out; |
672 | 657 | ||
673 | err = -EACCES; | 658 | err = -EACCES; |
674 | if (!S_ISREG(nd.path.dentry->d_inode->i_mode)) | 659 | if (!S_ISREG(file->f_path.dentry->d_inode->i_mode)) |
675 | goto out_path_put; | 660 | goto exit; |
676 | |||
677 | if (nd.path.mnt->mnt_flags & MNT_NOEXEC) | ||
678 | goto out_path_put; | ||
679 | |||
680 | err = inode_permission(nd.path.dentry->d_inode, MAY_EXEC | MAY_OPEN); | ||
681 | if (err) | ||
682 | goto out_path_put; | ||
683 | err = ima_path_check(&nd.path, MAY_EXEC | MAY_OPEN); | ||
684 | if (err) | ||
685 | goto out_path_put; | ||
686 | 661 | ||
687 | file = nameidata_to_filp(&nd, O_RDONLY|O_LARGEFILE); | 662 | if (file->f_path.mnt->mnt_flags & MNT_NOEXEC) |
688 | if (IS_ERR(file)) | 663 | goto exit; |
689 | return file; | ||
690 | 664 | ||
691 | fsnotify_open(file->f_path.dentry); | 665 | fsnotify_open(file->f_path.dentry); |
692 | 666 | ||
693 | err = deny_write_access(file); | 667 | err = deny_write_access(file); |
694 | if (err) { | 668 | if (err) |
695 | fput(file); | 669 | goto exit; |
696 | goto out; | ||
697 | } | ||
698 | 670 | ||
671 | out: | ||
699 | return file; | 672 | return file; |
700 | 673 | ||
701 | out_path_put: | 674 | exit: |
702 | release_open_intent(&nd); | 675 | fput(file); |
703 | path_put(&nd.path); | ||
704 | out: | ||
705 | return ERR_PTR(err); | 676 | return ERR_PTR(err); |
706 | } | 677 | } |
707 | EXPORT_SYMBOL(open_exec); | 678 | EXPORT_SYMBOL(open_exec); |
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index e40332158340..e3a55eb8b26a 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -1841,11 +1841,13 @@ ext4_ext_put_in_cache(struct inode *inode, ext4_lblk_t block, | |||
1841 | { | 1841 | { |
1842 | struct ext4_ext_cache *cex; | 1842 | struct ext4_ext_cache *cex; |
1843 | BUG_ON(len == 0); | 1843 | BUG_ON(len == 0); |
1844 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); | ||
1844 | cex = &EXT4_I(inode)->i_cached_extent; | 1845 | cex = &EXT4_I(inode)->i_cached_extent; |
1845 | cex->ec_type = type; | 1846 | cex->ec_type = type; |
1846 | cex->ec_block = block; | 1847 | cex->ec_block = block; |
1847 | cex->ec_len = len; | 1848 | cex->ec_len = len; |
1848 | cex->ec_start = start; | 1849 | cex->ec_start = start; |
1850 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | ||
1849 | } | 1851 | } |
1850 | 1852 | ||
1851 | /* | 1853 | /* |
@@ -1902,12 +1904,17 @@ ext4_ext_in_cache(struct inode *inode, ext4_lblk_t block, | |||
1902 | struct ext4_extent *ex) | 1904 | struct ext4_extent *ex) |
1903 | { | 1905 | { |
1904 | struct ext4_ext_cache *cex; | 1906 | struct ext4_ext_cache *cex; |
1907 | int ret = EXT4_EXT_CACHE_NO; | ||
1905 | 1908 | ||
1909 | /* | ||
1910 | * We borrow i_block_reservation_lock to protect i_cached_extent | ||
1911 | */ | ||
1912 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); | ||
1906 | cex = &EXT4_I(inode)->i_cached_extent; | 1913 | cex = &EXT4_I(inode)->i_cached_extent; |
1907 | 1914 | ||
1908 | /* has cache valid data? */ | 1915 | /* has cache valid data? */ |
1909 | if (cex->ec_type == EXT4_EXT_CACHE_NO) | 1916 | if (cex->ec_type == EXT4_EXT_CACHE_NO) |
1910 | return EXT4_EXT_CACHE_NO; | 1917 | goto errout; |
1911 | 1918 | ||
1912 | BUG_ON(cex->ec_type != EXT4_EXT_CACHE_GAP && | 1919 | BUG_ON(cex->ec_type != EXT4_EXT_CACHE_GAP && |
1913 | cex->ec_type != EXT4_EXT_CACHE_EXTENT); | 1920 | cex->ec_type != EXT4_EXT_CACHE_EXTENT); |
@@ -1918,11 +1925,11 @@ ext4_ext_in_cache(struct inode *inode, ext4_lblk_t block, | |||
1918 | ext_debug("%u cached by %u:%u:%llu\n", | 1925 | ext_debug("%u cached by %u:%u:%llu\n", |
1919 | block, | 1926 | block, |
1920 | cex->ec_block, cex->ec_len, cex->ec_start); | 1927 | cex->ec_block, cex->ec_len, cex->ec_start); |
1921 | return cex->ec_type; | 1928 | ret = cex->ec_type; |
1922 | } | 1929 | } |
1923 | 1930 | errout: | |
1924 | /* not in cache */ | 1931 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); |
1925 | return EXT4_EXT_CACHE_NO; | 1932 | return ret; |
1926 | } | 1933 | } |
1927 | 1934 | ||
1928 | /* | 1935 | /* |
@@ -2875,6 +2882,8 @@ int ext4_ext_get_blocks(handle_t *handle, struct inode *inode, | |||
2875 | if (allocated > max_blocks) | 2882 | if (allocated > max_blocks) |
2876 | allocated = max_blocks; | 2883 | allocated = max_blocks; |
2877 | set_buffer_unwritten(bh_result); | 2884 | set_buffer_unwritten(bh_result); |
2885 | bh_result->b_bdev = inode->i_sb->s_bdev; | ||
2886 | bh_result->b_blocknr = newblock; | ||
2878 | goto out2; | 2887 | goto out2; |
2879 | } | 2888 | } |
2880 | 2889 | ||
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index e91f978c7f12..2a9ffd528dd1 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -1149,6 +1149,7 @@ int ext4_get_blocks_wrap(handle_t *handle, struct inode *inode, sector_t block, | |||
1149 | int retval; | 1149 | int retval; |
1150 | 1150 | ||
1151 | clear_buffer_mapped(bh); | 1151 | clear_buffer_mapped(bh); |
1152 | clear_buffer_unwritten(bh); | ||
1152 | 1153 | ||
1153 | /* | 1154 | /* |
1154 | * Try to see if we can get the block without requesting | 1155 | * Try to see if we can get the block without requesting |
@@ -1179,6 +1180,18 @@ int ext4_get_blocks_wrap(handle_t *handle, struct inode *inode, sector_t block, | |||
1179 | return retval; | 1180 | return retval; |
1180 | 1181 | ||
1181 | /* | 1182 | /* |
1183 | * When we call get_blocks without the create flag, the | ||
1184 | * BH_Unwritten flag could have gotten set if the blocks | ||
1185 | * requested were part of a uninitialized extent. We need to | ||
1186 | * clear this flag now that we are committed to convert all or | ||
1187 | * part of the uninitialized extent to be an initialized | ||
1188 | * extent. This is because we need to avoid the combination | ||
1189 | * of BH_Unwritten and BH_Mapped flags being simultaneously | ||
1190 | * set on the buffer_head. | ||
1191 | */ | ||
1192 | clear_buffer_unwritten(bh); | ||
1193 | |||
1194 | /* | ||
1182 | * New blocks allocate and/or writing to uninitialized extent | 1195 | * New blocks allocate and/or writing to uninitialized extent |
1183 | * will possibly result in updating i_data, so we take | 1196 | * will possibly result in updating i_data, so we take |
1184 | * the write lock of i_data_sem, and call get_blocks() | 1197 | * the write lock of i_data_sem, and call get_blocks() |
@@ -2297,6 +2310,10 @@ static int ext4_da_get_block_prep(struct inode *inode, sector_t iblock, | |||
2297 | struct buffer_head *bh_result, int create) | 2310 | struct buffer_head *bh_result, int create) |
2298 | { | 2311 | { |
2299 | int ret = 0; | 2312 | int ret = 0; |
2313 | sector_t invalid_block = ~((sector_t) 0xffff); | ||
2314 | |||
2315 | if (invalid_block < ext4_blocks_count(EXT4_SB(inode->i_sb)->s_es)) | ||
2316 | invalid_block = ~0; | ||
2300 | 2317 | ||
2301 | BUG_ON(create == 0); | 2318 | BUG_ON(create == 0); |
2302 | BUG_ON(bh_result->b_size != inode->i_sb->s_blocksize); | 2319 | BUG_ON(bh_result->b_size != inode->i_sb->s_blocksize); |
@@ -2318,11 +2335,18 @@ static int ext4_da_get_block_prep(struct inode *inode, sector_t iblock, | |||
2318 | /* not enough space to reserve */ | 2335 | /* not enough space to reserve */ |
2319 | return ret; | 2336 | return ret; |
2320 | 2337 | ||
2321 | map_bh(bh_result, inode->i_sb, 0); | 2338 | map_bh(bh_result, inode->i_sb, invalid_block); |
2322 | set_buffer_new(bh_result); | 2339 | set_buffer_new(bh_result); |
2323 | set_buffer_delay(bh_result); | 2340 | set_buffer_delay(bh_result); |
2324 | } else if (ret > 0) { | 2341 | } else if (ret > 0) { |
2325 | bh_result->b_size = (ret << inode->i_blkbits); | 2342 | bh_result->b_size = (ret << inode->i_blkbits); |
2343 | /* | ||
2344 | * With sub-block writes into unwritten extents | ||
2345 | * we also need to mark the buffer as new so that | ||
2346 | * the unwritten parts of the buffer gets correctly zeroed. | ||
2347 | */ | ||
2348 | if (buffer_unwritten(bh_result)) | ||
2349 | set_buffer_new(bh_result); | ||
2326 | ret = 0; | 2350 | ret = 0; |
2327 | } | 2351 | } |
2328 | 2352 | ||
diff --git a/fs/fcntl.c b/fs/fcntl.c index cc8e4de2fee5..1ad703150dee 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c | |||
@@ -117,11 +117,13 @@ SYSCALL_DEFINE2(dup2, unsigned int, oldfd, unsigned int, newfd) | |||
117 | { | 117 | { |
118 | if (unlikely(newfd == oldfd)) { /* corner case */ | 118 | if (unlikely(newfd == oldfd)) { /* corner case */ |
119 | struct files_struct *files = current->files; | 119 | struct files_struct *files = current->files; |
120 | int retval = oldfd; | ||
121 | |||
120 | rcu_read_lock(); | 122 | rcu_read_lock(); |
121 | if (!fcheck_files(files, oldfd)) | 123 | if (!fcheck_files(files, oldfd)) |
122 | oldfd = -EBADF; | 124 | retval = -EBADF; |
123 | rcu_read_unlock(); | 125 | rcu_read_unlock(); |
124 | return oldfd; | 126 | return retval; |
125 | } | 127 | } |
126 | return sys_dup3(oldfd, newfd, 0); | 128 | return sys_dup3(oldfd, newfd, 0); |
127 | } | 129 | } |
diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h index e0cbd16f6dc9..1c341304621f 100644 --- a/fs/fscache/internal.h +++ b/fs/fscache/internal.h | |||
@@ -28,7 +28,7 @@ | |||
28 | #define FSCACHE_MAX_THREADS 32 | 28 | #define FSCACHE_MAX_THREADS 32 |
29 | 29 | ||
30 | /* | 30 | /* |
31 | * fsc-cache.c | 31 | * cache.c |
32 | */ | 32 | */ |
33 | extern struct list_head fscache_cache_list; | 33 | extern struct list_head fscache_cache_list; |
34 | extern struct rw_semaphore fscache_addremove_sem; | 34 | extern struct rw_semaphore fscache_addremove_sem; |
@@ -37,7 +37,7 @@ extern struct fscache_cache *fscache_select_cache_for_object( | |||
37 | struct fscache_cookie *); | 37 | struct fscache_cookie *); |
38 | 38 | ||
39 | /* | 39 | /* |
40 | * fsc-cookie.c | 40 | * cookie.c |
41 | */ | 41 | */ |
42 | extern struct kmem_cache *fscache_cookie_jar; | 42 | extern struct kmem_cache *fscache_cookie_jar; |
43 | 43 | ||
@@ -45,13 +45,13 @@ extern void fscache_cookie_init_once(void *); | |||
45 | extern void __fscache_cookie_put(struct fscache_cookie *); | 45 | extern void __fscache_cookie_put(struct fscache_cookie *); |
46 | 46 | ||
47 | /* | 47 | /* |
48 | * fsc-fsdef.c | 48 | * fsdef.c |
49 | */ | 49 | */ |
50 | extern struct fscache_cookie fscache_fsdef_index; | 50 | extern struct fscache_cookie fscache_fsdef_index; |
51 | extern struct fscache_cookie_def fscache_fsdef_netfs_def; | 51 | extern struct fscache_cookie_def fscache_fsdef_netfs_def; |
52 | 52 | ||
53 | /* | 53 | /* |
54 | * fsc-histogram.c | 54 | * histogram.c |
55 | */ | 55 | */ |
56 | #ifdef CONFIG_FSCACHE_HISTOGRAM | 56 | #ifdef CONFIG_FSCACHE_HISTOGRAM |
57 | extern atomic_t fscache_obj_instantiate_histogram[HZ]; | 57 | extern atomic_t fscache_obj_instantiate_histogram[HZ]; |
@@ -75,7 +75,7 @@ extern const struct file_operations fscache_histogram_fops; | |||
75 | #endif | 75 | #endif |
76 | 76 | ||
77 | /* | 77 | /* |
78 | * fsc-main.c | 78 | * main.c |
79 | */ | 79 | */ |
80 | extern unsigned fscache_defer_lookup; | 80 | extern unsigned fscache_defer_lookup; |
81 | extern unsigned fscache_defer_create; | 81 | extern unsigned fscache_defer_create; |
@@ -86,14 +86,14 @@ extern int fscache_wait_bit(void *); | |||
86 | extern int fscache_wait_bit_interruptible(void *); | 86 | extern int fscache_wait_bit_interruptible(void *); |
87 | 87 | ||
88 | /* | 88 | /* |
89 | * fsc-object.c | 89 | * object.c |
90 | */ | 90 | */ |
91 | extern void fscache_withdrawing_object(struct fscache_cache *, | 91 | extern void fscache_withdrawing_object(struct fscache_cache *, |
92 | struct fscache_object *); | 92 | struct fscache_object *); |
93 | extern void fscache_enqueue_object(struct fscache_object *); | 93 | extern void fscache_enqueue_object(struct fscache_object *); |
94 | 94 | ||
95 | /* | 95 | /* |
96 | * fsc-operation.c | 96 | * operation.c |
97 | */ | 97 | */ |
98 | extern int fscache_submit_exclusive_op(struct fscache_object *, | 98 | extern int fscache_submit_exclusive_op(struct fscache_object *, |
99 | struct fscache_operation *); | 99 | struct fscache_operation *); |
@@ -104,7 +104,7 @@ extern void fscache_start_operations(struct fscache_object *); | |||
104 | extern void fscache_operation_gc(struct work_struct *); | 104 | extern void fscache_operation_gc(struct work_struct *); |
105 | 105 | ||
106 | /* | 106 | /* |
107 | * fsc-proc.c | 107 | * proc.c |
108 | */ | 108 | */ |
109 | #ifdef CONFIG_PROC_FS | 109 | #ifdef CONFIG_PROC_FS |
110 | extern int __init fscache_proc_init(void); | 110 | extern int __init fscache_proc_init(void); |
@@ -115,7 +115,7 @@ extern void fscache_proc_cleanup(void); | |||
115 | #endif | 115 | #endif |
116 | 116 | ||
117 | /* | 117 | /* |
118 | * fsc-stats.c | 118 | * stats.c |
119 | */ | 119 | */ |
120 | #ifdef CONFIG_FSCACHE_STATS | 120 | #ifdef CONFIG_FSCACHE_STATS |
121 | extern atomic_t fscache_n_ops_processed[FSCACHE_MAX_THREADS]; | 121 | extern atomic_t fscache_n_ops_processed[FSCACHE_MAX_THREADS]; |
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 459b73dd45e1..91f7c85f1ffd 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/random.h> | 19 | #include <linux/random.h> |
20 | #include <linux/sched.h> | 20 | #include <linux/sched.h> |
21 | #include <linux/exportfs.h> | 21 | #include <linux/exportfs.h> |
22 | #include <linux/smp_lock.h> | ||
22 | 23 | ||
23 | MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); | 24 | MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); |
24 | MODULE_DESCRIPTION("Filesystem in Userspace"); | 25 | MODULE_DESCRIPTION("Filesystem in Userspace"); |
@@ -259,7 +260,9 @@ struct inode *fuse_iget(struct super_block *sb, u64 nodeid, | |||
259 | 260 | ||
260 | static void fuse_umount_begin(struct super_block *sb) | 261 | static void fuse_umount_begin(struct super_block *sb) |
261 | { | 262 | { |
263 | lock_kernel(); | ||
262 | fuse_abort_conn(get_fuse_conn_super(sb)); | 264 | fuse_abort_conn(get_fuse_conn_super(sb)); |
265 | unlock_kernel(); | ||
263 | } | 266 | } |
264 | 267 | ||
265 | static void fuse_send_destroy(struct fuse_conn *fc) | 268 | static void fuse_send_destroy(struct fuse_conn *fc) |
@@ -908,6 +911,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent) | |||
908 | err_put_root: | 911 | err_put_root: |
909 | dput(root_dentry); | 912 | dput(root_dentry); |
910 | err_put_conn: | 913 | err_put_conn: |
914 | bdi_destroy(&fc->bdi); | ||
911 | fuse_conn_put(fc); | 915 | fuse_conn_put(fc); |
912 | err_fput: | 916 | err_fput: |
913 | fput(file); | 917 | fput(file); |
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 1afd9f26bcb1..ff4981090489 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
@@ -1304,6 +1304,7 @@ static int gfs2_shrink_glock_memory(int nr, gfp_t gfp_mask) | |||
1304 | nr--; | 1304 | nr--; |
1305 | if (queue_delayed_work(glock_workqueue, &gl->gl_work, 0) == 0) | 1305 | if (queue_delayed_work(glock_workqueue, &gl->gl_work, 0) == 0) |
1306 | gfs2_glock_put(gl); | 1306 | gfs2_glock_put(gl); |
1307 | got_ref = 0; | ||
1307 | } | 1308 | } |
1308 | spin_lock(&lru_lock); | 1309 | spin_lock(&lru_lock); |
1309 | if (may_demote) | 1310 | if (may_demote) |
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 650a730707b7..1ff9473ea753 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c | |||
@@ -1282,21 +1282,21 @@ static int gfs2_get_sb(struct file_system_type *fs_type, int flags, | |||
1282 | static struct super_block *get_gfs2_sb(const char *dev_name) | 1282 | static struct super_block *get_gfs2_sb(const char *dev_name) |
1283 | { | 1283 | { |
1284 | struct super_block *sb; | 1284 | struct super_block *sb; |
1285 | struct nameidata nd; | 1285 | struct path path; |
1286 | int error; | 1286 | int error; |
1287 | 1287 | ||
1288 | error = path_lookup(dev_name, LOOKUP_FOLLOW, &nd); | 1288 | error = kern_path(dev_name, LOOKUP_FOLLOW, &path); |
1289 | if (error) { | 1289 | if (error) { |
1290 | printk(KERN_WARNING "GFS2: path_lookup on %s returned error %d\n", | 1290 | printk(KERN_WARNING "GFS2: path_lookup on %s returned error %d\n", |
1291 | dev_name, error); | 1291 | dev_name, error); |
1292 | return NULL; | 1292 | return NULL; |
1293 | } | 1293 | } |
1294 | sb = nd.path.dentry->d_inode->i_sb; | 1294 | sb = path.dentry->d_inode->i_sb; |
1295 | if (sb && (sb->s_type == &gfs2_fs_type)) | 1295 | if (sb && (sb->s_type == &gfs2_fs_type)) |
1296 | atomic_inc(&sb->s_active); | 1296 | atomic_inc(&sb->s_active); |
1297 | else | 1297 | else |
1298 | sb = NULL; | 1298 | sb = NULL; |
1299 | path_put(&nd.path); | 1299 | path_put(&path); |
1300 | return sb; | 1300 | return sb; |
1301 | } | 1301 | } |
1302 | 1302 | ||
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c index fecf402d7b8a..fc77965be841 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c | |||
@@ -423,8 +423,7 @@ static int hpfs_remount_fs(struct super_block *s, int *flags, char *data) | |||
423 | 423 | ||
424 | if (!(*flags & MS_RDONLY)) mark_dirty(s); | 424 | if (!(*flags & MS_RDONLY)) mark_dirty(s); |
425 | 425 | ||
426 | kfree(s->s_options); | 426 | replace_mount_options(s, new_opts); |
427 | s->s_options = new_opts; | ||
428 | 427 | ||
429 | return 0; | 428 | return 0; |
430 | 429 | ||
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 153d9681192b..c1462d43e721 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c | |||
@@ -312,16 +312,6 @@ out: | |||
312 | return retval; | 312 | return retval; |
313 | } | 313 | } |
314 | 314 | ||
315 | /* | ||
316 | * Read a page. Again trivial. If it didn't already exist | ||
317 | * in the page cache, it is zero-filled. | ||
318 | */ | ||
319 | static int hugetlbfs_readpage(struct file *file, struct page * page) | ||
320 | { | ||
321 | unlock_page(page); | ||
322 | return -EINVAL; | ||
323 | } | ||
324 | |||
325 | static int hugetlbfs_write_begin(struct file *file, | 315 | static int hugetlbfs_write_begin(struct file *file, |
326 | struct address_space *mapping, | 316 | struct address_space *mapping, |
327 | loff_t pos, unsigned len, unsigned flags, | 317 | loff_t pos, unsigned len, unsigned flags, |
@@ -701,7 +691,6 @@ static void hugetlbfs_destroy_inode(struct inode *inode) | |||
701 | } | 691 | } |
702 | 692 | ||
703 | static const struct address_space_operations hugetlbfs_aops = { | 693 | static const struct address_space_operations hugetlbfs_aops = { |
704 | .readpage = hugetlbfs_readpage, | ||
705 | .write_begin = hugetlbfs_write_begin, | 694 | .write_begin = hugetlbfs_write_begin, |
706 | .write_end = hugetlbfs_write_end, | 695 | .write_end = hugetlbfs_write_end, |
707 | .set_page_dirty = hugetlbfs_set_page_dirty, | 696 | .set_page_dirty = hugetlbfs_set_page_dirty, |
diff --git a/fs/inode.c b/fs/inode.c index 6ad14a1cd8c9..0571983755dc 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
@@ -99,7 +99,7 @@ static DEFINE_MUTEX(iprune_mutex); | |||
99 | */ | 99 | */ |
100 | struct inodes_stat_t inodes_stat; | 100 | struct inodes_stat_t inodes_stat; |
101 | 101 | ||
102 | static struct kmem_cache * inode_cachep __read_mostly; | 102 | static struct kmem_cache *inode_cachep __read_mostly; |
103 | 103 | ||
104 | static void wake_up_inode(struct inode *inode) | 104 | static void wake_up_inode(struct inode *inode) |
105 | { | 105 | { |
@@ -124,7 +124,7 @@ struct inode *inode_init_always(struct super_block *sb, struct inode *inode) | |||
124 | static struct inode_operations empty_iops; | 124 | static struct inode_operations empty_iops; |
125 | static const struct file_operations empty_fops; | 125 | static const struct file_operations empty_fops; |
126 | 126 | ||
127 | struct address_space * const mapping = &inode->i_data; | 127 | struct address_space *const mapping = &inode->i_data; |
128 | 128 | ||
129 | inode->i_sb = sb; | 129 | inode->i_sb = sb; |
130 | inode->i_blkbits = sb->s_blocksize_bits; | 130 | inode->i_blkbits = sb->s_blocksize_bits; |
@@ -216,7 +216,7 @@ static struct inode *alloc_inode(struct super_block *sb) | |||
216 | return NULL; | 216 | return NULL; |
217 | } | 217 | } |
218 | 218 | ||
219 | void destroy_inode(struct inode *inode) | 219 | void destroy_inode(struct inode *inode) |
220 | { | 220 | { |
221 | BUG_ON(inode_has_buffers(inode)); | 221 | BUG_ON(inode_has_buffers(inode)); |
222 | security_inode_free(inode); | 222 | security_inode_free(inode); |
@@ -252,12 +252,11 @@ void inode_init_once(struct inode *inode) | |||
252 | mutex_init(&inode->inotify_mutex); | 252 | mutex_init(&inode->inotify_mutex); |
253 | #endif | 253 | #endif |
254 | } | 254 | } |
255 | |||
256 | EXPORT_SYMBOL(inode_init_once); | 255 | EXPORT_SYMBOL(inode_init_once); |
257 | 256 | ||
258 | static void init_once(void *foo) | 257 | static void init_once(void *foo) |
259 | { | 258 | { |
260 | struct inode * inode = (struct inode *) foo; | 259 | struct inode *inode = (struct inode *) foo; |
261 | 260 | ||
262 | inode_init_once(inode); | 261 | inode_init_once(inode); |
263 | } | 262 | } |
@@ -265,7 +264,7 @@ static void init_once(void *foo) | |||
265 | /* | 264 | /* |
266 | * inode_lock must be held | 265 | * inode_lock must be held |
267 | */ | 266 | */ |
268 | void __iget(struct inode * inode) | 267 | void __iget(struct inode *inode) |
269 | { | 268 | { |
270 | if (atomic_read(&inode->i_count)) { | 269 | if (atomic_read(&inode->i_count)) { |
271 | atomic_inc(&inode->i_count); | 270 | atomic_inc(&inode->i_count); |
@@ -289,7 +288,7 @@ void clear_inode(struct inode *inode) | |||
289 | { | 288 | { |
290 | might_sleep(); | 289 | might_sleep(); |
291 | invalidate_inode_buffers(inode); | 290 | invalidate_inode_buffers(inode); |
292 | 291 | ||
293 | BUG_ON(inode->i_data.nrpages); | 292 | BUG_ON(inode->i_data.nrpages); |
294 | BUG_ON(!(inode->i_state & I_FREEING)); | 293 | BUG_ON(!(inode->i_state & I_FREEING)); |
295 | BUG_ON(inode->i_state & I_CLEAR); | 294 | BUG_ON(inode->i_state & I_CLEAR); |
@@ -303,7 +302,6 @@ void clear_inode(struct inode *inode) | |||
303 | cd_forget(inode); | 302 | cd_forget(inode); |
304 | inode->i_state = I_CLEAR; | 303 | inode->i_state = I_CLEAR; |
305 | } | 304 | } |
306 | |||
307 | EXPORT_SYMBOL(clear_inode); | 305 | EXPORT_SYMBOL(clear_inode); |
308 | 306 | ||
309 | /* | 307 | /* |
@@ -351,8 +349,8 @@ static int invalidate_list(struct list_head *head, struct list_head *dispose) | |||
351 | 349 | ||
352 | next = head->next; | 350 | next = head->next; |
353 | for (;;) { | 351 | for (;;) { |
354 | struct list_head * tmp = next; | 352 | struct list_head *tmp = next; |
355 | struct inode * inode; | 353 | struct inode *inode; |
356 | 354 | ||
357 | /* | 355 | /* |
358 | * We can reschedule here without worrying about the list's | 356 | * We can reschedule here without worrying about the list's |
@@ -391,7 +389,7 @@ static int invalidate_list(struct list_head *head, struct list_head *dispose) | |||
391 | * fails because there are busy inodes then a non zero value is returned. | 389 | * fails because there are busy inodes then a non zero value is returned. |
392 | * If the discard is successful all the inodes have been discarded. | 390 | * If the discard is successful all the inodes have been discarded. |
393 | */ | 391 | */ |
394 | int invalidate_inodes(struct super_block * sb) | 392 | int invalidate_inodes(struct super_block *sb) |
395 | { | 393 | { |
396 | int busy; | 394 | int busy; |
397 | LIST_HEAD(throw_away); | 395 | LIST_HEAD(throw_away); |
@@ -407,7 +405,6 @@ int invalidate_inodes(struct super_block * sb) | |||
407 | 405 | ||
408 | return busy; | 406 | return busy; |
409 | } | 407 | } |
410 | |||
411 | EXPORT_SYMBOL(invalidate_inodes); | 408 | EXPORT_SYMBOL(invalidate_inodes); |
412 | 409 | ||
413 | static int can_unuse(struct inode *inode) | 410 | static int can_unuse(struct inode *inode) |
@@ -504,7 +501,7 @@ static int shrink_icache_memory(int nr, gfp_t gfp_mask) | |||
504 | * Nasty deadlock avoidance. We may hold various FS locks, | 501 | * Nasty deadlock avoidance. We may hold various FS locks, |
505 | * and we don't want to recurse into the FS that called us | 502 | * and we don't want to recurse into the FS that called us |
506 | * in clear_inode() and friends.. | 503 | * in clear_inode() and friends.. |
507 | */ | 504 | */ |
508 | if (!(gfp_mask & __GFP_FS)) | 505 | if (!(gfp_mask & __GFP_FS)) |
509 | return -1; | 506 | return -1; |
510 | prune_icache(nr); | 507 | prune_icache(nr); |
@@ -524,10 +521,13 @@ static void __wait_on_freeing_inode(struct inode *inode); | |||
524 | * by hand after calling find_inode now! This simplifies iunique and won't | 521 | * by hand after calling find_inode now! This simplifies iunique and won't |
525 | * add any additional branch in the common code. | 522 | * add any additional branch in the common code. |
526 | */ | 523 | */ |
527 | static struct inode * find_inode(struct super_block * sb, struct hlist_head *head, int (*test)(struct inode *, void *), void *data) | 524 | static struct inode *find_inode(struct super_block *sb, |
525 | struct hlist_head *head, | ||
526 | int (*test)(struct inode *, void *), | ||
527 | void *data) | ||
528 | { | 528 | { |
529 | struct hlist_node *node; | 529 | struct hlist_node *node; |
530 | struct inode * inode = NULL; | 530 | struct inode *inode = NULL; |
531 | 531 | ||
532 | repeat: | 532 | repeat: |
533 | hlist_for_each_entry(inode, node, head, i_hash) { | 533 | hlist_for_each_entry(inode, node, head, i_hash) { |
@@ -548,10 +548,11 @@ repeat: | |||
548 | * find_inode_fast is the fast path version of find_inode, see the comment at | 548 | * find_inode_fast is the fast path version of find_inode, see the comment at |
549 | * iget_locked for details. | 549 | * iget_locked for details. |
550 | */ | 550 | */ |
551 | static struct inode * find_inode_fast(struct super_block * sb, struct hlist_head *head, unsigned long ino) | 551 | static struct inode *find_inode_fast(struct super_block *sb, |
552 | struct hlist_head *head, unsigned long ino) | ||
552 | { | 553 | { |
553 | struct hlist_node *node; | 554 | struct hlist_node *node; |
554 | struct inode * inode = NULL; | 555 | struct inode *inode = NULL; |
555 | 556 | ||
556 | repeat: | 557 | repeat: |
557 | hlist_for_each_entry(inode, node, head, i_hash) { | 558 | hlist_for_each_entry(inode, node, head, i_hash) { |
@@ -631,10 +632,10 @@ struct inode *new_inode(struct super_block *sb) | |||
631 | * here to attempt to avoid that. | 632 | * here to attempt to avoid that. |
632 | */ | 633 | */ |
633 | static unsigned int last_ino; | 634 | static unsigned int last_ino; |
634 | struct inode * inode; | 635 | struct inode *inode; |
635 | 636 | ||
636 | spin_lock_prefetch(&inode_lock); | 637 | spin_lock_prefetch(&inode_lock); |
637 | 638 | ||
638 | inode = alloc_inode(sb); | 639 | inode = alloc_inode(sb); |
639 | if (inode) { | 640 | if (inode) { |
640 | spin_lock(&inode_lock); | 641 | spin_lock(&inode_lock); |
@@ -645,7 +646,6 @@ struct inode *new_inode(struct super_block *sb) | |||
645 | } | 646 | } |
646 | return inode; | 647 | return inode; |
647 | } | 648 | } |
648 | |||
649 | EXPORT_SYMBOL(new_inode); | 649 | EXPORT_SYMBOL(new_inode); |
650 | 650 | ||
651 | void unlock_new_inode(struct inode *inode) | 651 | void unlock_new_inode(struct inode *inode) |
@@ -674,7 +674,6 @@ void unlock_new_inode(struct inode *inode) | |||
674 | inode->i_state &= ~(I_LOCK|I_NEW); | 674 | inode->i_state &= ~(I_LOCK|I_NEW); |
675 | wake_up_inode(inode); | 675 | wake_up_inode(inode); |
676 | } | 676 | } |
677 | |||
678 | EXPORT_SYMBOL(unlock_new_inode); | 677 | EXPORT_SYMBOL(unlock_new_inode); |
679 | 678 | ||
680 | /* | 679 | /* |
@@ -683,13 +682,17 @@ EXPORT_SYMBOL(unlock_new_inode); | |||
683 | * We no longer cache the sb_flags in i_flags - see fs.h | 682 | * We no longer cache the sb_flags in i_flags - see fs.h |
684 | * -- rmk@arm.uk.linux.org | 683 | * -- rmk@arm.uk.linux.org |
685 | */ | 684 | */ |
686 | static struct inode * get_new_inode(struct super_block *sb, struct hlist_head *head, int (*test)(struct inode *, void *), int (*set)(struct inode *, void *), void *data) | 685 | static struct inode *get_new_inode(struct super_block *sb, |
686 | struct hlist_head *head, | ||
687 | int (*test)(struct inode *, void *), | ||
688 | int (*set)(struct inode *, void *), | ||
689 | void *data) | ||
687 | { | 690 | { |
688 | struct inode * inode; | 691 | struct inode *inode; |
689 | 692 | ||
690 | inode = alloc_inode(sb); | 693 | inode = alloc_inode(sb); |
691 | if (inode) { | 694 | if (inode) { |
692 | struct inode * old; | 695 | struct inode *old; |
693 | 696 | ||
694 | spin_lock(&inode_lock); | 697 | spin_lock(&inode_lock); |
695 | /* We released the lock, so.. */ | 698 | /* We released the lock, so.. */ |
@@ -731,13 +734,14 @@ set_failed: | |||
731 | * get_new_inode_fast is the fast path version of get_new_inode, see the | 734 | * get_new_inode_fast is the fast path version of get_new_inode, see the |
732 | * comment at iget_locked for details. | 735 | * comment at iget_locked for details. |
733 | */ | 736 | */ |
734 | static struct inode * get_new_inode_fast(struct super_block *sb, struct hlist_head *head, unsigned long ino) | 737 | static struct inode *get_new_inode_fast(struct super_block *sb, |
738 | struct hlist_head *head, unsigned long ino) | ||
735 | { | 739 | { |
736 | struct inode * inode; | 740 | struct inode *inode; |
737 | 741 | ||
738 | inode = alloc_inode(sb); | 742 | inode = alloc_inode(sb); |
739 | if (inode) { | 743 | if (inode) { |
740 | struct inode * old; | 744 | struct inode *old; |
741 | 745 | ||
742 | spin_lock(&inode_lock); | 746 | spin_lock(&inode_lock); |
743 | /* We released the lock, so.. */ | 747 | /* We released the lock, so.. */ |
@@ -823,7 +827,6 @@ struct inode *igrab(struct inode *inode) | |||
823 | spin_unlock(&inode_lock); | 827 | spin_unlock(&inode_lock); |
824 | return inode; | 828 | return inode; |
825 | } | 829 | } |
826 | |||
827 | EXPORT_SYMBOL(igrab); | 830 | EXPORT_SYMBOL(igrab); |
828 | 831 | ||
829 | /** | 832 | /** |
@@ -924,7 +927,6 @@ struct inode *ilookup5_nowait(struct super_block *sb, unsigned long hashval, | |||
924 | 927 | ||
925 | return ifind(sb, head, test, data, 0); | 928 | return ifind(sb, head, test, data, 0); |
926 | } | 929 | } |
927 | |||
928 | EXPORT_SYMBOL(ilookup5_nowait); | 930 | EXPORT_SYMBOL(ilookup5_nowait); |
929 | 931 | ||
930 | /** | 932 | /** |
@@ -953,7 +955,6 @@ struct inode *ilookup5(struct super_block *sb, unsigned long hashval, | |||
953 | 955 | ||
954 | return ifind(sb, head, test, data, 1); | 956 | return ifind(sb, head, test, data, 1); |
955 | } | 957 | } |
956 | |||
957 | EXPORT_SYMBOL(ilookup5); | 958 | EXPORT_SYMBOL(ilookup5); |
958 | 959 | ||
959 | /** | 960 | /** |
@@ -976,7 +977,6 @@ struct inode *ilookup(struct super_block *sb, unsigned long ino) | |||
976 | 977 | ||
977 | return ifind_fast(sb, head, ino); | 978 | return ifind_fast(sb, head, ino); |
978 | } | 979 | } |
979 | |||
980 | EXPORT_SYMBOL(ilookup); | 980 | EXPORT_SYMBOL(ilookup); |
981 | 981 | ||
982 | /** | 982 | /** |
@@ -1015,7 +1015,6 @@ struct inode *iget5_locked(struct super_block *sb, unsigned long hashval, | |||
1015 | */ | 1015 | */ |
1016 | return get_new_inode(sb, head, test, set, data); | 1016 | return get_new_inode(sb, head, test, set, data); |
1017 | } | 1017 | } |
1018 | |||
1019 | EXPORT_SYMBOL(iget5_locked); | 1018 | EXPORT_SYMBOL(iget5_locked); |
1020 | 1019 | ||
1021 | /** | 1020 | /** |
@@ -1047,7 +1046,6 @@ struct inode *iget_locked(struct super_block *sb, unsigned long ino) | |||
1047 | */ | 1046 | */ |
1048 | return get_new_inode_fast(sb, head, ino); | 1047 | return get_new_inode_fast(sb, head, ino); |
1049 | } | 1048 | } |
1050 | |||
1051 | EXPORT_SYMBOL(iget_locked); | 1049 | EXPORT_SYMBOL(iget_locked); |
1052 | 1050 | ||
1053 | int insert_inode_locked(struct inode *inode) | 1051 | int insert_inode_locked(struct inode *inode) |
@@ -1076,7 +1074,6 @@ int insert_inode_locked(struct inode *inode) | |||
1076 | iput(old); | 1074 | iput(old); |
1077 | } | 1075 | } |
1078 | } | 1076 | } |
1079 | |||
1080 | EXPORT_SYMBOL(insert_inode_locked); | 1077 | EXPORT_SYMBOL(insert_inode_locked); |
1081 | 1078 | ||
1082 | int insert_inode_locked4(struct inode *inode, unsigned long hashval, | 1079 | int insert_inode_locked4(struct inode *inode, unsigned long hashval, |
@@ -1106,7 +1103,6 @@ int insert_inode_locked4(struct inode *inode, unsigned long hashval, | |||
1106 | iput(old); | 1103 | iput(old); |
1107 | } | 1104 | } |
1108 | } | 1105 | } |
1109 | |||
1110 | EXPORT_SYMBOL(insert_inode_locked4); | 1106 | EXPORT_SYMBOL(insert_inode_locked4); |
1111 | 1107 | ||
1112 | /** | 1108 | /** |
@@ -1124,7 +1120,6 @@ void __insert_inode_hash(struct inode *inode, unsigned long hashval) | |||
1124 | hlist_add_head(&inode->i_hash, head); | 1120 | hlist_add_head(&inode->i_hash, head); |
1125 | spin_unlock(&inode_lock); | 1121 | spin_unlock(&inode_lock); |
1126 | } | 1122 | } |
1127 | |||
1128 | EXPORT_SYMBOL(__insert_inode_hash); | 1123 | EXPORT_SYMBOL(__insert_inode_hash); |
1129 | 1124 | ||
1130 | /** | 1125 | /** |
@@ -1139,7 +1134,6 @@ void remove_inode_hash(struct inode *inode) | |||
1139 | hlist_del_init(&inode->i_hash); | 1134 | hlist_del_init(&inode->i_hash); |
1140 | spin_unlock(&inode_lock); | 1135 | spin_unlock(&inode_lock); |
1141 | } | 1136 | } |
1142 | |||
1143 | EXPORT_SYMBOL(remove_inode_hash); | 1137 | EXPORT_SYMBOL(remove_inode_hash); |
1144 | 1138 | ||
1145 | /* | 1139 | /* |
@@ -1187,7 +1181,6 @@ void generic_delete_inode(struct inode *inode) | |||
1187 | BUG_ON(inode->i_state != I_CLEAR); | 1181 | BUG_ON(inode->i_state != I_CLEAR); |
1188 | destroy_inode(inode); | 1182 | destroy_inode(inode); |
1189 | } | 1183 | } |
1190 | |||
1191 | EXPORT_SYMBOL(generic_delete_inode); | 1184 | EXPORT_SYMBOL(generic_delete_inode); |
1192 | 1185 | ||
1193 | static void generic_forget_inode(struct inode *inode) | 1186 | static void generic_forget_inode(struct inode *inode) |
@@ -1237,12 +1230,11 @@ void generic_drop_inode(struct inode *inode) | |||
1237 | else | 1230 | else |
1238 | generic_forget_inode(inode); | 1231 | generic_forget_inode(inode); |
1239 | } | 1232 | } |
1240 | |||
1241 | EXPORT_SYMBOL_GPL(generic_drop_inode); | 1233 | EXPORT_SYMBOL_GPL(generic_drop_inode); |
1242 | 1234 | ||
1243 | /* | 1235 | /* |
1244 | * Called when we're dropping the last reference | 1236 | * Called when we're dropping the last reference |
1245 | * to an inode. | 1237 | * to an inode. |
1246 | * | 1238 | * |
1247 | * Call the FS "drop()" function, defaulting to | 1239 | * Call the FS "drop()" function, defaulting to |
1248 | * the legacy UNIX filesystem behaviour.. | 1240 | * the legacy UNIX filesystem behaviour.. |
@@ -1262,7 +1254,7 @@ static inline void iput_final(struct inode *inode) | |||
1262 | } | 1254 | } |
1263 | 1255 | ||
1264 | /** | 1256 | /** |
1265 | * iput - put an inode | 1257 | * iput - put an inode |
1266 | * @inode: inode to put | 1258 | * @inode: inode to put |
1267 | * | 1259 | * |
1268 | * Puts an inode, dropping its usage count. If the inode use count hits | 1260 | * Puts an inode, dropping its usage count. If the inode use count hits |
@@ -1279,7 +1271,6 @@ void iput(struct inode *inode) | |||
1279 | iput_final(inode); | 1271 | iput_final(inode); |
1280 | } | 1272 | } |
1281 | } | 1273 | } |
1282 | |||
1283 | EXPORT_SYMBOL(iput); | 1274 | EXPORT_SYMBOL(iput); |
1284 | 1275 | ||
1285 | /** | 1276 | /** |
@@ -1290,10 +1281,10 @@ EXPORT_SYMBOL(iput); | |||
1290 | * Returns the block number on the device holding the inode that | 1281 | * Returns the block number on the device holding the inode that |
1291 | * is the disk block number for the block of the file requested. | 1282 | * is the disk block number for the block of the file requested. |
1292 | * That is, asked for block 4 of inode 1 the function will return the | 1283 | * That is, asked for block 4 of inode 1 the function will return the |
1293 | * disk block relative to the disk start that holds that block of the | 1284 | * disk block relative to the disk start that holds that block of the |
1294 | * file. | 1285 | * file. |
1295 | */ | 1286 | */ |
1296 | sector_t bmap(struct inode * inode, sector_t block) | 1287 | sector_t bmap(struct inode *inode, sector_t block) |
1297 | { | 1288 | { |
1298 | sector_t res = 0; | 1289 | sector_t res = 0; |
1299 | if (inode->i_mapping->a_ops->bmap) | 1290 | if (inode->i_mapping->a_ops->bmap) |
@@ -1425,7 +1416,6 @@ void file_update_time(struct file *file) | |||
1425 | mark_inode_dirty_sync(inode); | 1416 | mark_inode_dirty_sync(inode); |
1426 | mnt_drop_write(file->f_path.mnt); | 1417 | mnt_drop_write(file->f_path.mnt); |
1427 | } | 1418 | } |
1428 | |||
1429 | EXPORT_SYMBOL(file_update_time); | 1419 | EXPORT_SYMBOL(file_update_time); |
1430 | 1420 | ||
1431 | int inode_needs_sync(struct inode *inode) | 1421 | int inode_needs_sync(struct inode *inode) |
@@ -1436,7 +1426,6 @@ int inode_needs_sync(struct inode *inode) | |||
1436 | return 1; | 1426 | return 1; |
1437 | return 0; | 1427 | return 0; |
1438 | } | 1428 | } |
1439 | |||
1440 | EXPORT_SYMBOL(inode_needs_sync); | 1429 | EXPORT_SYMBOL(inode_needs_sync); |
1441 | 1430 | ||
1442 | int inode_wait(void *word) | 1431 | int inode_wait(void *word) |
diff --git a/fs/jffs2/erase.c b/fs/jffs2/erase.c index c32b4a1ad6cf..a0244740b75a 100644 --- a/fs/jffs2/erase.c +++ b/fs/jffs2/erase.c | |||
@@ -480,13 +480,6 @@ static void jffs2_mark_erased_block(struct jffs2_sb_info *c, struct jffs2_eraseb | |||
480 | return; | 480 | return; |
481 | 481 | ||
482 | filebad: | 482 | filebad: |
483 | mutex_lock(&c->erase_free_sem); | ||
484 | spin_lock(&c->erase_completion_lock); | ||
485 | /* Stick it on a list (any list) so erase_failed can take it | ||
486 | right off again. Silly, but shouldn't happen often. */ | ||
487 | list_move(&jeb->list, &c->erasing_list); | ||
488 | spin_unlock(&c->erase_completion_lock); | ||
489 | mutex_unlock(&c->erase_free_sem); | ||
490 | jffs2_erase_failed(c, jeb, bad_offset); | 483 | jffs2_erase_failed(c, jeb, bad_offset); |
491 | return; | 484 | return; |
492 | 485 | ||
diff --git a/fs/libfs.c b/fs/libfs.c index cd223190c4e9..80046ddf5063 100644 --- a/fs/libfs.c +++ b/fs/libfs.c | |||
@@ -246,8 +246,7 @@ int get_sb_pseudo(struct file_system_type *fs_type, char *name, | |||
246 | return 0; | 246 | return 0; |
247 | 247 | ||
248 | Enomem: | 248 | Enomem: |
249 | up_write(&s->s_umount); | 249 | deactivate_locked_super(s); |
250 | deactivate_super(s); | ||
251 | return -ENOMEM; | 250 | return -ENOMEM; |
252 | } | 251 | } |
253 | 252 | ||
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index abf83881f68a..1a54ae14a192 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c | |||
@@ -104,6 +104,16 @@ static void set_grace_period(void) | |||
104 | schedule_delayed_work(&grace_period_end, grace_period); | 104 | schedule_delayed_work(&grace_period_end, grace_period); |
105 | } | 105 | } |
106 | 106 | ||
107 | static void restart_grace(void) | ||
108 | { | ||
109 | if (nlmsvc_ops) { | ||
110 | cancel_delayed_work_sync(&grace_period_end); | ||
111 | locks_end_grace(&lockd_manager); | ||
112 | nlmsvc_invalidate_all(); | ||
113 | set_grace_period(); | ||
114 | } | ||
115 | } | ||
116 | |||
107 | /* | 117 | /* |
108 | * This is the lockd kernel thread | 118 | * This is the lockd kernel thread |
109 | */ | 119 | */ |
@@ -149,10 +159,7 @@ lockd(void *vrqstp) | |||
149 | 159 | ||
150 | if (signalled()) { | 160 | if (signalled()) { |
151 | flush_signals(current); | 161 | flush_signals(current); |
152 | if (nlmsvc_ops) { | 162 | restart_grace(); |
153 | nlmsvc_invalidate_all(); | ||
154 | set_grace_period(); | ||
155 | } | ||
156 | continue; | 163 | continue; |
157 | } | 164 | } |
158 | 165 | ||
diff --git a/fs/namei.c b/fs/namei.c index 78f253cd2d4f..967c3db92724 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -1130,8 +1130,8 @@ int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, | |||
1130 | * @nd: pointer to nameidata | 1130 | * @nd: pointer to nameidata |
1131 | * @open_flags: open intent flags | 1131 | * @open_flags: open intent flags |
1132 | */ | 1132 | */ |
1133 | int path_lookup_open(int dfd, const char *name, unsigned int lookup_flags, | 1133 | static int path_lookup_open(int dfd, const char *name, |
1134 | struct nameidata *nd, int open_flags) | 1134 | unsigned int lookup_flags, struct nameidata *nd, int open_flags) |
1135 | { | 1135 | { |
1136 | struct file *filp = get_empty_filp(); | 1136 | struct file *filp = get_empty_filp(); |
1137 | int err; | 1137 | int err; |
@@ -1637,18 +1637,19 @@ static int open_will_write_to_fs(int flag, struct inode *inode) | |||
1637 | * open_to_namei_flags() for more details. | 1637 | * open_to_namei_flags() for more details. |
1638 | */ | 1638 | */ |
1639 | struct file *do_filp_open(int dfd, const char *pathname, | 1639 | struct file *do_filp_open(int dfd, const char *pathname, |
1640 | int open_flag, int mode) | 1640 | int open_flag, int mode, int acc_mode) |
1641 | { | 1641 | { |
1642 | struct file *filp; | 1642 | struct file *filp; |
1643 | struct nameidata nd; | 1643 | struct nameidata nd; |
1644 | int acc_mode, error; | 1644 | int error; |
1645 | struct path path; | 1645 | struct path path; |
1646 | struct dentry *dir; | 1646 | struct dentry *dir; |
1647 | int count = 0; | 1647 | int count = 0; |
1648 | int will_write; | 1648 | int will_write; |
1649 | int flag = open_to_namei_flags(open_flag); | 1649 | int flag = open_to_namei_flags(open_flag); |
1650 | 1650 | ||
1651 | acc_mode = MAY_OPEN | ACC_MODE(flag); | 1651 | if (!acc_mode) |
1652 | acc_mode = MAY_OPEN | ACC_MODE(flag); | ||
1652 | 1653 | ||
1653 | /* O_TRUNC implies we need access checks for write permissions */ | 1654 | /* O_TRUNC implies we need access checks for write permissions */ |
1654 | if (flag & O_TRUNC) | 1655 | if (flag & O_TRUNC) |
@@ -1869,7 +1870,7 @@ do_link: | |||
1869 | */ | 1870 | */ |
1870 | struct file *filp_open(const char *filename, int flags, int mode) | 1871 | struct file *filp_open(const char *filename, int flags, int mode) |
1871 | { | 1872 | { |
1872 | return do_filp_open(AT_FDCWD, filename, flags, mode); | 1873 | return do_filp_open(AT_FDCWD, filename, flags, mode, 0); |
1873 | } | 1874 | } |
1874 | EXPORT_SYMBOL(filp_open); | 1875 | EXPORT_SYMBOL(filp_open); |
1875 | 1876 | ||
diff --git a/fs/namespace.c b/fs/namespace.c index 41196209a906..134d494158d9 100644 --- a/fs/namespace.c +++ b/fs/namespace.c | |||
@@ -695,12 +695,16 @@ static inline void mangle(struct seq_file *m, const char *s) | |||
695 | */ | 695 | */ |
696 | int generic_show_options(struct seq_file *m, struct vfsmount *mnt) | 696 | int generic_show_options(struct seq_file *m, struct vfsmount *mnt) |
697 | { | 697 | { |
698 | const char *options = mnt->mnt_sb->s_options; | 698 | const char *options; |
699 | |||
700 | rcu_read_lock(); | ||
701 | options = rcu_dereference(mnt->mnt_sb->s_options); | ||
699 | 702 | ||
700 | if (options != NULL && options[0]) { | 703 | if (options != NULL && options[0]) { |
701 | seq_putc(m, ','); | 704 | seq_putc(m, ','); |
702 | mangle(m, options); | 705 | mangle(m, options); |
703 | } | 706 | } |
707 | rcu_read_unlock(); | ||
704 | 708 | ||
705 | return 0; | 709 | return 0; |
706 | } | 710 | } |
@@ -721,11 +725,22 @@ EXPORT_SYMBOL(generic_show_options); | |||
721 | */ | 725 | */ |
722 | void save_mount_options(struct super_block *sb, char *options) | 726 | void save_mount_options(struct super_block *sb, char *options) |
723 | { | 727 | { |
724 | kfree(sb->s_options); | 728 | BUG_ON(sb->s_options); |
725 | sb->s_options = kstrdup(options, GFP_KERNEL); | 729 | rcu_assign_pointer(sb->s_options, kstrdup(options, GFP_KERNEL)); |
726 | } | 730 | } |
727 | EXPORT_SYMBOL(save_mount_options); | 731 | EXPORT_SYMBOL(save_mount_options); |
728 | 732 | ||
733 | void replace_mount_options(struct super_block *sb, char *options) | ||
734 | { | ||
735 | char *old = sb->s_options; | ||
736 | rcu_assign_pointer(sb->s_options, options); | ||
737 | if (old) { | ||
738 | synchronize_rcu(); | ||
739 | kfree(old); | ||
740 | } | ||
741 | } | ||
742 | EXPORT_SYMBOL(replace_mount_options); | ||
743 | |||
729 | #ifdef CONFIG_PROC_FS | 744 | #ifdef CONFIG_PROC_FS |
730 | /* iterator */ | 745 | /* iterator */ |
731 | static void *m_start(struct seq_file *m, loff_t *pos) | 746 | static void *m_start(struct seq_file *m, loff_t *pos) |
@@ -1073,9 +1088,7 @@ static int do_umount(struct vfsmount *mnt, int flags) | |||
1073 | */ | 1088 | */ |
1074 | 1089 | ||
1075 | if (flags & MNT_FORCE && sb->s_op->umount_begin) { | 1090 | if (flags & MNT_FORCE && sb->s_op->umount_begin) { |
1076 | lock_kernel(); | ||
1077 | sb->s_op->umount_begin(sb); | 1091 | sb->s_op->umount_begin(sb); |
1078 | unlock_kernel(); | ||
1079 | } | 1092 | } |
1080 | 1093 | ||
1081 | /* | 1094 | /* |
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 370b190a09d1..89f98e9a024b 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -1943,7 +1943,8 @@ int nfs_permission(struct inode *inode, int mask) | |||
1943 | case S_IFREG: | 1943 | case S_IFREG: |
1944 | /* NFSv4 has atomic_open... */ | 1944 | /* NFSv4 has atomic_open... */ |
1945 | if (nfs_server_capable(inode, NFS_CAP_ATOMIC_OPEN) | 1945 | if (nfs_server_capable(inode, NFS_CAP_ATOMIC_OPEN) |
1946 | && (mask & MAY_OPEN)) | 1946 | && (mask & MAY_OPEN) |
1947 | && !(mask & MAY_EXEC)) | ||
1947 | goto out; | 1948 | goto out; |
1948 | break; | 1949 | break; |
1949 | case S_IFDIR: | 1950 | case S_IFDIR: |
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index a4d242680299..4674f8092da8 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -2594,12 +2594,9 @@ static void nfs4_renew_done(struct rpc_task *task, void *data) | |||
2594 | unsigned long timestamp = (unsigned long)data; | 2594 | unsigned long timestamp = (unsigned long)data; |
2595 | 2595 | ||
2596 | if (task->tk_status < 0) { | 2596 | if (task->tk_status < 0) { |
2597 | switch (task->tk_status) { | 2597 | /* Unless we're shutting down, schedule state recovery! */ |
2598 | case -NFS4ERR_STALE_CLIENTID: | 2598 | if (test_bit(NFS_CS_RENEWD, &clp->cl_res_state) != 0) |
2599 | case -NFS4ERR_EXPIRED: | 2599 | nfs4_schedule_state_recovery(clp); |
2600 | case -NFS4ERR_CB_PATH_DOWN: | ||
2601 | nfs4_schedule_state_recovery(clp); | ||
2602 | } | ||
2603 | return; | 2600 | return; |
2604 | } | 2601 | } |
2605 | spin_lock(&clp->cl_lock); | 2602 | spin_lock(&clp->cl_lock); |
diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c index d9ef602fbc5a..e3ed5908820b 100644 --- a/fs/nfs/nfsroot.c +++ b/fs/nfs/nfsroot.c | |||
@@ -129,7 +129,7 @@ enum { | |||
129 | Opt_err | 129 | Opt_err |
130 | }; | 130 | }; |
131 | 131 | ||
132 | static match_table_t __initconst tokens = { | 132 | static const match_table_t tokens __initconst = { |
133 | {Opt_port, "port=%u"}, | 133 | {Opt_port, "port=%u"}, |
134 | {Opt_rsize, "rsize=%u"}, | 134 | {Opt_rsize, "rsize=%u"}, |
135 | {Opt_wsize, "wsize=%u"}, | 135 | {Opt_wsize, "wsize=%u"}, |
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 6717200923fe..d2d67781c579 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
@@ -683,9 +683,12 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt) | |||
683 | */ | 683 | */ |
684 | static void nfs_umount_begin(struct super_block *sb) | 684 | static void nfs_umount_begin(struct super_block *sb) |
685 | { | 685 | { |
686 | struct nfs_server *server = NFS_SB(sb); | 686 | struct nfs_server *server; |
687 | struct rpc_clnt *rpc; | 687 | struct rpc_clnt *rpc; |
688 | 688 | ||
689 | lock_kernel(); | ||
690 | |||
691 | server = NFS_SB(sb); | ||
689 | /* -EIO all pending I/O */ | 692 | /* -EIO all pending I/O */ |
690 | rpc = server->client_acl; | 693 | rpc = server->client_acl; |
691 | if (!IS_ERR(rpc)) | 694 | if (!IS_ERR(rpc)) |
@@ -693,6 +696,8 @@ static void nfs_umount_begin(struct super_block *sb) | |||
693 | rpc = server->client; | 696 | rpc = server->client; |
694 | if (!IS_ERR(rpc)) | 697 | if (!IS_ERR(rpc)) |
695 | rpc_killall_tasks(rpc); | 698 | rpc_killall_tasks(rpc); |
699 | |||
700 | unlock_kernel(); | ||
696 | } | 701 | } |
697 | 702 | ||
698 | /* | 703 | /* |
@@ -2106,8 +2111,7 @@ out_err_nosb: | |||
2106 | error_splat_root: | 2111 | error_splat_root: |
2107 | dput(mntroot); | 2112 | dput(mntroot); |
2108 | error_splat_super: | 2113 | error_splat_super: |
2109 | up_write(&s->s_umount); | 2114 | deactivate_locked_super(s); |
2110 | deactivate_super(s); | ||
2111 | goto out; | 2115 | goto out; |
2112 | } | 2116 | } |
2113 | 2117 | ||
@@ -2203,8 +2207,7 @@ out_err_noserver: | |||
2203 | return error; | 2207 | return error; |
2204 | 2208 | ||
2205 | error_splat_super: | 2209 | error_splat_super: |
2206 | up_write(&s->s_umount); | 2210 | deactivate_locked_super(s); |
2207 | deactivate_super(s); | ||
2208 | dprintk("<-- nfs_xdev_get_sb() = %d [splat]\n", error); | 2211 | dprintk("<-- nfs_xdev_get_sb() = %d [splat]\n", error); |
2209 | return error; | 2212 | return error; |
2210 | } | 2213 | } |
@@ -2464,8 +2467,7 @@ out_free: | |||
2464 | error_splat_root: | 2467 | error_splat_root: |
2465 | dput(mntroot); | 2468 | dput(mntroot); |
2466 | error_splat_super: | 2469 | error_splat_super: |
2467 | up_write(&s->s_umount); | 2470 | deactivate_locked_super(s); |
2468 | deactivate_super(s); | ||
2469 | goto out; | 2471 | goto out; |
2470 | } | 2472 | } |
2471 | 2473 | ||
@@ -2559,8 +2561,7 @@ out_err_noserver: | |||
2559 | return error; | 2561 | return error; |
2560 | 2562 | ||
2561 | error_splat_super: | 2563 | error_splat_super: |
2562 | up_write(&s->s_umount); | 2564 | deactivate_locked_super(s); |
2563 | deactivate_super(s); | ||
2564 | dprintk("<-- nfs4_xdev_get_sb() = %d [splat]\n", error); | 2565 | dprintk("<-- nfs4_xdev_get_sb() = %d [splat]\n", error); |
2565 | return error; | 2566 | return error; |
2566 | } | 2567 | } |
@@ -2644,8 +2645,7 @@ out_err_noserver: | |||
2644 | return error; | 2645 | return error; |
2645 | 2646 | ||
2646 | error_splat_super: | 2647 | error_splat_super: |
2647 | up_write(&s->s_umount); | 2648 | deactivate_locked_super(s); |
2648 | deactivate_super(s); | ||
2649 | dprintk("<-- nfs4_referral_get_sb() = %d [splat]\n", error); | 2649 | dprintk("<-- nfs4_referral_get_sb() = %d [splat]\n", error); |
2650 | return error; | 2650 | return error; |
2651 | } | 2651 | } |
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 5275097a7565..b5348405046b 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c | |||
@@ -229,7 +229,7 @@ nfsd4_list_rec_dir(struct dentry *dir, recdir_func *f) | |||
229 | goto out; | 229 | goto out; |
230 | status = vfs_readdir(filp, nfsd4_build_namelist, &names); | 230 | status = vfs_readdir(filp, nfsd4_build_namelist, &names); |
231 | fput(filp); | 231 | fput(filp); |
232 | mutex_lock(&dir->d_inode->i_mutex); | 232 | mutex_lock_nested(&dir->d_inode->i_mutex, I_MUTEX_PARENT); |
233 | while (!list_empty(&names)) { | 233 | while (!list_empty(&names)) { |
234 | entry = list_entry(names.next, struct name_list, list); | 234 | entry = list_entry(names.next, struct name_list, list); |
235 | 235 | ||
@@ -264,7 +264,7 @@ nfsd4_unlink_clid_dir(char *name, int namlen) | |||
264 | 264 | ||
265 | dprintk("NFSD: nfsd4_unlink_clid_dir. name %.*s\n", namlen, name); | 265 | dprintk("NFSD: nfsd4_unlink_clid_dir. name %.*s\n", namlen, name); |
266 | 266 | ||
267 | mutex_lock(&rec_dir.dentry->d_inode->i_mutex); | 267 | mutex_lock_nested(&rec_dir.dentry->d_inode->i_mutex, I_MUTEX_PARENT); |
268 | dentry = lookup_one_len(name, rec_dir.dentry, namlen); | 268 | dentry = lookup_one_len(name, rec_dir.dentry, namlen); |
269 | if (IS_ERR(dentry)) { | 269 | if (IS_ERR(dentry)) { |
270 | status = PTR_ERR(dentry); | 270 | status = PTR_ERR(dentry); |
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index c65a27b76a9d..3b711f5147a7 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -580,7 +580,6 @@ free_session(struct kref *kref) | |||
580 | struct nfsd4_cache_entry *e = &ses->se_slots[i].sl_cache_entry; | 580 | struct nfsd4_cache_entry *e = &ses->se_slots[i].sl_cache_entry; |
581 | nfsd4_release_respages(e->ce_respages, e->ce_resused); | 581 | nfsd4_release_respages(e->ce_respages, e->ce_resused); |
582 | } | 582 | } |
583 | kfree(ses->se_slots); | ||
584 | kfree(ses); | 583 | kfree(ses); |
585 | } | 584 | } |
586 | 585 | ||
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index b820c311931c..b73549d293be 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c | |||
@@ -2214,6 +2214,15 @@ nfsd4_encode_dirent_fattr(struct nfsd4_readdir *cd, | |||
2214 | dentry = lookup_one_len(name, cd->rd_fhp->fh_dentry, namlen); | 2214 | dentry = lookup_one_len(name, cd->rd_fhp->fh_dentry, namlen); |
2215 | if (IS_ERR(dentry)) | 2215 | if (IS_ERR(dentry)) |
2216 | return nfserrno(PTR_ERR(dentry)); | 2216 | return nfserrno(PTR_ERR(dentry)); |
2217 | if (!dentry->d_inode) { | ||
2218 | /* | ||
2219 | * nfsd_buffered_readdir drops the i_mutex between | ||
2220 | * readdir and calling this callback, leaving a window | ||
2221 | * where this directory entry could have gone away. | ||
2222 | */ | ||
2223 | dput(dentry); | ||
2224 | return nfserr_noent; | ||
2225 | } | ||
2217 | 2226 | ||
2218 | exp_get(exp); | 2227 | exp_get(exp); |
2219 | /* | 2228 | /* |
@@ -2276,6 +2285,7 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen, | |||
2276 | struct nfsd4_readdir *cd = container_of(ccd, struct nfsd4_readdir, common); | 2285 | struct nfsd4_readdir *cd = container_of(ccd, struct nfsd4_readdir, common); |
2277 | int buflen; | 2286 | int buflen; |
2278 | __be32 *p = cd->buffer; | 2287 | __be32 *p = cd->buffer; |
2288 | __be32 *cookiep; | ||
2279 | __be32 nfserr = nfserr_toosmall; | 2289 | __be32 nfserr = nfserr_toosmall; |
2280 | 2290 | ||
2281 | /* In nfsv4, "." and ".." never make it onto the wire.. */ | 2291 | /* In nfsv4, "." and ".." never make it onto the wire.. */ |
@@ -2292,7 +2302,7 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen, | |||
2292 | goto fail; | 2302 | goto fail; |
2293 | 2303 | ||
2294 | *p++ = xdr_one; /* mark entry present */ | 2304 | *p++ = xdr_one; /* mark entry present */ |
2295 | cd->offset = p; /* remember pointer */ | 2305 | cookiep = p; |
2296 | p = xdr_encode_hyper(p, NFS_OFFSET_MAX); /* offset of next entry */ | 2306 | p = xdr_encode_hyper(p, NFS_OFFSET_MAX); /* offset of next entry */ |
2297 | p = xdr_encode_array(p, name, namlen); /* name length & name */ | 2307 | p = xdr_encode_array(p, name, namlen); /* name length & name */ |
2298 | 2308 | ||
@@ -2306,6 +2316,8 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen, | |||
2306 | goto fail; | 2316 | goto fail; |
2307 | case nfserr_dropit: | 2317 | case nfserr_dropit: |
2308 | goto fail; | 2318 | goto fail; |
2319 | case nfserr_noent: | ||
2320 | goto skip_entry; | ||
2309 | default: | 2321 | default: |
2310 | /* | 2322 | /* |
2311 | * If the client requested the RDATTR_ERROR attribute, | 2323 | * If the client requested the RDATTR_ERROR attribute, |
@@ -2324,6 +2336,8 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen, | |||
2324 | } | 2336 | } |
2325 | cd->buflen -= (p - cd->buffer); | 2337 | cd->buflen -= (p - cd->buffer); |
2326 | cd->buffer = p; | 2338 | cd->buffer = p; |
2339 | cd->offset = cookiep; | ||
2340 | skip_entry: | ||
2327 | cd->common.err = nfs_ok; | 2341 | cd->common.err = nfs_ok; |
2328 | return 0; | 2342 | return 0; |
2329 | fail: | 2343 | fail: |
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 6c68ffd6b4bb..b660435978d2 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -1015,6 +1015,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, | |||
1015 | host_err = vfs_writev(file, (struct iovec __user *)vec, vlen, &offset); | 1015 | host_err = vfs_writev(file, (struct iovec __user *)vec, vlen, &offset); |
1016 | set_fs(oldfs); | 1016 | set_fs(oldfs); |
1017 | if (host_err >= 0) { | 1017 | if (host_err >= 0) { |
1018 | *cnt = host_err; | ||
1018 | nfsdstats.io_write += host_err; | 1019 | nfsdstats.io_write += host_err; |
1019 | fsnotify_modify(file->f_path.dentry); | 1020 | fsnotify_modify(file->f_path.dentry); |
1020 | } | 1021 | } |
@@ -1060,10 +1061,9 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, | |||
1060 | } | 1061 | } |
1061 | 1062 | ||
1062 | dprintk("nfsd: write complete host_err=%d\n", host_err); | 1063 | dprintk("nfsd: write complete host_err=%d\n", host_err); |
1063 | if (host_err >= 0) { | 1064 | if (host_err >= 0) |
1064 | err = 0; | 1065 | err = 0; |
1065 | *cnt = host_err; | 1066 | else |
1066 | } else | ||
1067 | err = nfserrno(host_err); | 1067 | err = nfserrno(host_err); |
1068 | out: | 1068 | out: |
1069 | return err; | 1069 | return err; |
diff --git a/fs/nilfs2/cpfile.c b/fs/nilfs2/cpfile.c index e90b60dfced9..300f1cdfa862 100644 --- a/fs/nilfs2/cpfile.c +++ b/fs/nilfs2/cpfile.c | |||
@@ -311,7 +311,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile, | |||
311 | ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh); | 311 | ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh); |
312 | if (ret < 0) { | 312 | if (ret < 0) { |
313 | if (ret != -ENOENT) | 313 | if (ret != -ENOENT) |
314 | goto out_sem; | 314 | goto out_header; |
315 | /* skip hole */ | 315 | /* skip hole */ |
316 | ret = 0; | 316 | ret = 0; |
317 | continue; | 317 | continue; |
@@ -344,7 +344,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile, | |||
344 | continue; | 344 | continue; |
345 | printk(KERN_ERR "%s: cannot delete block\n", | 345 | printk(KERN_ERR "%s: cannot delete block\n", |
346 | __func__); | 346 | __func__); |
347 | goto out_sem; | 347 | goto out_header; |
348 | } | 348 | } |
349 | } | 349 | } |
350 | 350 | ||
@@ -361,6 +361,8 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile, | |||
361 | nilfs_mdt_mark_dirty(cpfile); | 361 | nilfs_mdt_mark_dirty(cpfile); |
362 | kunmap_atomic(kaddr, KM_USER0); | 362 | kunmap_atomic(kaddr, KM_USER0); |
363 | } | 363 | } |
364 | |||
365 | out_header: | ||
364 | brelse(header_bh); | 366 | brelse(header_bh); |
365 | 367 | ||
366 | out_sem: | 368 | out_sem: |
diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c index 108d281ebca5..d6759b92006f 100644 --- a/fs/nilfs2/ioctl.c +++ b/fs/nilfs2/ioctl.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/smp_lock.h> /* lock_kernel(), unlock_kernel() */ | 25 | #include <linux/smp_lock.h> /* lock_kernel(), unlock_kernel() */ |
26 | #include <linux/capability.h> /* capable() */ | 26 | #include <linux/capability.h> /* capable() */ |
27 | #include <linux/uaccess.h> /* copy_from_user(), copy_to_user() */ | 27 | #include <linux/uaccess.h> /* copy_from_user(), copy_to_user() */ |
28 | #include <linux/vmalloc.h> | ||
28 | #include <linux/nilfs2_fs.h> | 29 | #include <linux/nilfs2_fs.h> |
29 | #include "nilfs.h" | 30 | #include "nilfs.h" |
30 | #include "segment.h" | 31 | #include "segment.h" |
@@ -147,29 +148,12 @@ static ssize_t | |||
147 | nilfs_ioctl_do_get_cpinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, | 148 | nilfs_ioctl_do_get_cpinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, |
148 | void *buf, size_t size, size_t nmembs) | 149 | void *buf, size_t size, size_t nmembs) |
149 | { | 150 | { |
150 | return nilfs_cpfile_get_cpinfo(nilfs->ns_cpfile, posp, flags, buf, | ||
151 | nmembs); | ||
152 | } | ||
153 | |||
154 | static int nilfs_ioctl_get_cpinfo(struct inode *inode, struct file *filp, | ||
155 | unsigned int cmd, void __user *argp) | ||
156 | { | ||
157 | struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs; | ||
158 | struct nilfs_argv argv; | ||
159 | int ret; | 151 | int ret; |
160 | 152 | ||
161 | if (copy_from_user(&argv, argp, sizeof(argv))) | ||
162 | return -EFAULT; | ||
163 | |||
164 | down_read(&nilfs->ns_segctor_sem); | 153 | down_read(&nilfs->ns_segctor_sem); |
165 | ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), | 154 | ret = nilfs_cpfile_get_cpinfo(nilfs->ns_cpfile, posp, flags, buf, |
166 | nilfs_ioctl_do_get_cpinfo); | 155 | nmembs); |
167 | up_read(&nilfs->ns_segctor_sem); | 156 | up_read(&nilfs->ns_segctor_sem); |
168 | if (ret < 0) | ||
169 | return ret; | ||
170 | |||
171 | if (copy_to_user(argp, &argv, sizeof(argv))) | ||
172 | ret = -EFAULT; | ||
173 | return ret; | 157 | return ret; |
174 | } | 158 | } |
175 | 159 | ||
@@ -195,28 +179,11 @@ static ssize_t | |||
195 | nilfs_ioctl_do_get_suinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, | 179 | nilfs_ioctl_do_get_suinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, |
196 | void *buf, size_t size, size_t nmembs) | 180 | void *buf, size_t size, size_t nmembs) |
197 | { | 181 | { |
198 | return nilfs_sufile_get_suinfo(nilfs->ns_sufile, *posp, buf, nmembs); | ||
199 | } | ||
200 | |||
201 | static int nilfs_ioctl_get_suinfo(struct inode *inode, struct file *filp, | ||
202 | unsigned int cmd, void __user *argp) | ||
203 | { | ||
204 | struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs; | ||
205 | struct nilfs_argv argv; | ||
206 | int ret; | 182 | int ret; |
207 | 183 | ||
208 | if (copy_from_user(&argv, argp, sizeof(argv))) | ||
209 | return -EFAULT; | ||
210 | |||
211 | down_read(&nilfs->ns_segctor_sem); | 184 | down_read(&nilfs->ns_segctor_sem); |
212 | ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), | 185 | ret = nilfs_sufile_get_suinfo(nilfs->ns_sufile, *posp, buf, nmembs); |
213 | nilfs_ioctl_do_get_suinfo); | ||
214 | up_read(&nilfs->ns_segctor_sem); | 186 | up_read(&nilfs->ns_segctor_sem); |
215 | if (ret < 0) | ||
216 | return ret; | ||
217 | |||
218 | if (copy_to_user(argp, &argv, sizeof(argv))) | ||
219 | ret = -EFAULT; | ||
220 | return ret; | 187 | return ret; |
221 | } | 188 | } |
222 | 189 | ||
@@ -242,28 +209,11 @@ static ssize_t | |||
242 | nilfs_ioctl_do_get_vinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, | 209 | nilfs_ioctl_do_get_vinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, |
243 | void *buf, size_t size, size_t nmembs) | 210 | void *buf, size_t size, size_t nmembs) |
244 | { | 211 | { |
245 | return nilfs_dat_get_vinfo(nilfs_dat_inode(nilfs), buf, nmembs); | ||
246 | } | ||
247 | |||
248 | static int nilfs_ioctl_get_vinfo(struct inode *inode, struct file *filp, | ||
249 | unsigned int cmd, void __user *argp) | ||
250 | { | ||
251 | struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs; | ||
252 | struct nilfs_argv argv; | ||
253 | int ret; | 212 | int ret; |
254 | 213 | ||
255 | if (copy_from_user(&argv, argp, sizeof(argv))) | ||
256 | return -EFAULT; | ||
257 | |||
258 | down_read(&nilfs->ns_segctor_sem); | 214 | down_read(&nilfs->ns_segctor_sem); |
259 | ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), | 215 | ret = nilfs_dat_get_vinfo(nilfs_dat_inode(nilfs), buf, nmembs); |
260 | nilfs_ioctl_do_get_vinfo); | ||
261 | up_read(&nilfs->ns_segctor_sem); | 216 | up_read(&nilfs->ns_segctor_sem); |
262 | if (ret < 0) | ||
263 | return ret; | ||
264 | |||
265 | if (copy_to_user(argp, &argv, sizeof(argv))) | ||
266 | ret = -EFAULT; | ||
267 | return ret; | 217 | return ret; |
268 | } | 218 | } |
269 | 219 | ||
@@ -276,17 +226,21 @@ nilfs_ioctl_do_get_bdescs(struct the_nilfs *nilfs, __u64 *posp, int flags, | |||
276 | struct nilfs_bdesc *bdescs = buf; | 226 | struct nilfs_bdesc *bdescs = buf; |
277 | int ret, i; | 227 | int ret, i; |
278 | 228 | ||
229 | down_read(&nilfs->ns_segctor_sem); | ||
279 | for (i = 0; i < nmembs; i++) { | 230 | for (i = 0; i < nmembs; i++) { |
280 | ret = nilfs_bmap_lookup_at_level(bmap, | 231 | ret = nilfs_bmap_lookup_at_level(bmap, |
281 | bdescs[i].bd_offset, | 232 | bdescs[i].bd_offset, |
282 | bdescs[i].bd_level + 1, | 233 | bdescs[i].bd_level + 1, |
283 | &bdescs[i].bd_blocknr); | 234 | &bdescs[i].bd_blocknr); |
284 | if (ret < 0) { | 235 | if (ret < 0) { |
285 | if (ret != -ENOENT) | 236 | if (ret != -ENOENT) { |
237 | up_read(&nilfs->ns_segctor_sem); | ||
286 | return ret; | 238 | return ret; |
239 | } | ||
287 | bdescs[i].bd_blocknr = 0; | 240 | bdescs[i].bd_blocknr = 0; |
288 | } | 241 | } |
289 | } | 242 | } |
243 | up_read(&nilfs->ns_segctor_sem); | ||
290 | return nmembs; | 244 | return nmembs; |
291 | } | 245 | } |
292 | 246 | ||
@@ -300,10 +254,11 @@ static int nilfs_ioctl_get_bdescs(struct inode *inode, struct file *filp, | |||
300 | if (copy_from_user(&argv, argp, sizeof(argv))) | 254 | if (copy_from_user(&argv, argp, sizeof(argv))) |
301 | return -EFAULT; | 255 | return -EFAULT; |
302 | 256 | ||
303 | down_read(&nilfs->ns_segctor_sem); | 257 | if (argv.v_size != sizeof(struct nilfs_bdesc)) |
258 | return -EINVAL; | ||
259 | |||
304 | ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), | 260 | ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), |
305 | nilfs_ioctl_do_get_bdescs); | 261 | nilfs_ioctl_do_get_bdescs); |
306 | up_read(&nilfs->ns_segctor_sem); | ||
307 | if (ret < 0) | 262 | if (ret < 0) |
308 | return ret; | 263 | return ret; |
309 | 264 | ||
@@ -346,10 +301,10 @@ static int nilfs_ioctl_move_inode_block(struct inode *inode, | |||
346 | return 0; | 301 | return 0; |
347 | } | 302 | } |
348 | 303 | ||
349 | static ssize_t | 304 | static int nilfs_ioctl_move_blocks(struct the_nilfs *nilfs, |
350 | nilfs_ioctl_do_move_blocks(struct the_nilfs *nilfs, __u64 *posp, int flags, | 305 | struct nilfs_argv *argv, void *buf) |
351 | void *buf, size_t size, size_t nmembs) | ||
352 | { | 306 | { |
307 | size_t nmembs = argv->v_nmembs; | ||
353 | struct inode *inode; | 308 | struct inode *inode; |
354 | struct nilfs_vdesc *vdesc; | 309 | struct nilfs_vdesc *vdesc; |
355 | struct buffer_head *bh, *n; | 310 | struct buffer_head *bh, *n; |
@@ -410,19 +365,10 @@ nilfs_ioctl_do_move_blocks(struct the_nilfs *nilfs, __u64 *posp, int flags, | |||
410 | return ret; | 365 | return ret; |
411 | } | 366 | } |
412 | 367 | ||
413 | static inline int nilfs_ioctl_move_blocks(struct the_nilfs *nilfs, | 368 | static int nilfs_ioctl_delete_checkpoints(struct the_nilfs *nilfs, |
414 | struct nilfs_argv *argv, | 369 | struct nilfs_argv *argv, void *buf) |
415 | int dir) | ||
416 | { | ||
417 | return nilfs_ioctl_wrap_copy(nilfs, argv, dir, | ||
418 | nilfs_ioctl_do_move_blocks); | ||
419 | } | ||
420 | |||
421 | static ssize_t | ||
422 | nilfs_ioctl_do_delete_checkpoints(struct the_nilfs *nilfs, __u64 *posp, | ||
423 | int flags, void *buf, size_t size, | ||
424 | size_t nmembs) | ||
425 | { | 370 | { |
371 | size_t nmembs = argv->v_nmembs; | ||
426 | struct inode *cpfile = nilfs->ns_cpfile; | 372 | struct inode *cpfile = nilfs->ns_cpfile; |
427 | struct nilfs_period *periods = buf; | 373 | struct nilfs_period *periods = buf; |
428 | int ret, i; | 374 | int ret, i; |
@@ -436,36 +382,21 @@ nilfs_ioctl_do_delete_checkpoints(struct the_nilfs *nilfs, __u64 *posp, | |||
436 | return nmembs; | 382 | return nmembs; |
437 | } | 383 | } |
438 | 384 | ||
439 | static inline int nilfs_ioctl_delete_checkpoints(struct the_nilfs *nilfs, | 385 | static int nilfs_ioctl_free_vblocknrs(struct the_nilfs *nilfs, |
440 | struct nilfs_argv *argv, | 386 | struct nilfs_argv *argv, void *buf) |
441 | int dir) | ||
442 | { | 387 | { |
443 | return nilfs_ioctl_wrap_copy(nilfs, argv, dir, | 388 | size_t nmembs = argv->v_nmembs; |
444 | nilfs_ioctl_do_delete_checkpoints); | 389 | int ret; |
445 | } | ||
446 | 390 | ||
447 | static ssize_t | 391 | ret = nilfs_dat_freev(nilfs_dat_inode(nilfs), buf, nmembs); |
448 | nilfs_ioctl_do_free_vblocknrs(struct the_nilfs *nilfs, __u64 *posp, int flags, | ||
449 | void *buf, size_t size, size_t nmembs) | ||
450 | { | ||
451 | int ret = nilfs_dat_freev(nilfs_dat_inode(nilfs), buf, nmembs); | ||
452 | 392 | ||
453 | return (ret < 0) ? ret : nmembs; | 393 | return (ret < 0) ? ret : nmembs; |
454 | } | 394 | } |
455 | 395 | ||
456 | static inline int nilfs_ioctl_free_vblocknrs(struct the_nilfs *nilfs, | 396 | static int nilfs_ioctl_mark_blocks_dirty(struct the_nilfs *nilfs, |
457 | struct nilfs_argv *argv, | 397 | struct nilfs_argv *argv, void *buf) |
458 | int dir) | ||
459 | { | ||
460 | return nilfs_ioctl_wrap_copy(nilfs, argv, dir, | ||
461 | nilfs_ioctl_do_free_vblocknrs); | ||
462 | } | ||
463 | |||
464 | static ssize_t | ||
465 | nilfs_ioctl_do_mark_blocks_dirty(struct the_nilfs *nilfs, __u64 *posp, | ||
466 | int flags, void *buf, size_t size, | ||
467 | size_t nmembs) | ||
468 | { | 398 | { |
399 | size_t nmembs = argv->v_nmembs; | ||
469 | struct inode *dat = nilfs_dat_inode(nilfs); | 400 | struct inode *dat = nilfs_dat_inode(nilfs); |
470 | struct nilfs_bmap *bmap = NILFS_I(dat)->i_bmap; | 401 | struct nilfs_bmap *bmap = NILFS_I(dat)->i_bmap; |
471 | struct nilfs_bdesc *bdescs = buf; | 402 | struct nilfs_bdesc *bdescs = buf; |
@@ -504,55 +435,37 @@ nilfs_ioctl_do_mark_blocks_dirty(struct the_nilfs *nilfs, __u64 *posp, | |||
504 | return nmembs; | 435 | return nmembs; |
505 | } | 436 | } |
506 | 437 | ||
507 | static inline int nilfs_ioctl_mark_blocks_dirty(struct the_nilfs *nilfs, | 438 | static int nilfs_ioctl_free_segments(struct the_nilfs *nilfs, |
508 | struct nilfs_argv *argv, | 439 | struct nilfs_argv *argv, void *buf) |
509 | int dir) | ||
510 | { | 440 | { |
511 | return nilfs_ioctl_wrap_copy(nilfs, argv, dir, | 441 | size_t nmembs = argv->v_nmembs; |
512 | nilfs_ioctl_do_mark_blocks_dirty); | 442 | struct nilfs_sb_info *sbi = nilfs->ns_writer; |
513 | } | ||
514 | |||
515 | static ssize_t | ||
516 | nilfs_ioctl_do_free_segments(struct the_nilfs *nilfs, __u64 *posp, int flags, | ||
517 | void *buf, size_t size, size_t nmembs) | ||
518 | { | ||
519 | struct nilfs_sb_info *sbi = nilfs_get_writer(nilfs); | ||
520 | int ret; | 443 | int ret; |
521 | 444 | ||
522 | if (unlikely(!sbi)) | 445 | if (unlikely(!sbi)) { |
446 | /* never happens because called for a writable mount */ | ||
447 | WARN_ON(1); | ||
523 | return -EROFS; | 448 | return -EROFS; |
449 | } | ||
524 | ret = nilfs_segctor_add_segments_to_be_freed( | 450 | ret = nilfs_segctor_add_segments_to_be_freed( |
525 | NILFS_SC(sbi), buf, nmembs); | 451 | NILFS_SC(sbi), buf, nmembs); |
526 | nilfs_put_writer(nilfs); | ||
527 | 452 | ||
528 | return (ret < 0) ? ret : nmembs; | 453 | return (ret < 0) ? ret : nmembs; |
529 | } | 454 | } |
530 | 455 | ||
531 | static inline int nilfs_ioctl_free_segments(struct the_nilfs *nilfs, | ||
532 | struct nilfs_argv *argv, | ||
533 | int dir) | ||
534 | { | ||
535 | return nilfs_ioctl_wrap_copy(nilfs, argv, dir, | ||
536 | nilfs_ioctl_do_free_segments); | ||
537 | } | ||
538 | |||
539 | int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs, | 456 | int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs, |
540 | void __user *argp) | 457 | struct nilfs_argv *argv, void **kbufs) |
541 | { | 458 | { |
542 | struct nilfs_argv argv[5]; | ||
543 | const char *msg; | 459 | const char *msg; |
544 | int dir, ret; | 460 | int ret; |
545 | |||
546 | if (copy_from_user(argv, argp, sizeof(argv))) | ||
547 | return -EFAULT; | ||
548 | 461 | ||
549 | dir = _IOC_WRITE; | 462 | ret = nilfs_ioctl_move_blocks(nilfs, &argv[0], kbufs[0]); |
550 | ret = nilfs_ioctl_move_blocks(nilfs, &argv[0], dir); | ||
551 | if (ret < 0) { | 463 | if (ret < 0) { |
552 | msg = "cannot read source blocks"; | 464 | msg = "cannot read source blocks"; |
553 | goto failed; | 465 | goto failed; |
554 | } | 466 | } |
555 | ret = nilfs_ioctl_delete_checkpoints(nilfs, &argv[1], dir); | 467 | |
468 | ret = nilfs_ioctl_delete_checkpoints(nilfs, &argv[1], kbufs[1]); | ||
556 | if (ret < 0) { | 469 | if (ret < 0) { |
557 | /* | 470 | /* |
558 | * can safely abort because checkpoints can be removed | 471 | * can safely abort because checkpoints can be removed |
@@ -561,7 +474,7 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs, | |||
561 | msg = "cannot delete checkpoints"; | 474 | msg = "cannot delete checkpoints"; |
562 | goto failed; | 475 | goto failed; |
563 | } | 476 | } |
564 | ret = nilfs_ioctl_free_vblocknrs(nilfs, &argv[2], dir); | 477 | ret = nilfs_ioctl_free_vblocknrs(nilfs, &argv[2], kbufs[2]); |
565 | if (ret < 0) { | 478 | if (ret < 0) { |
566 | /* | 479 | /* |
567 | * can safely abort because DAT file is updated atomically | 480 | * can safely abort because DAT file is updated atomically |
@@ -570,7 +483,7 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs, | |||
570 | msg = "cannot delete virtual blocks from DAT file"; | 483 | msg = "cannot delete virtual blocks from DAT file"; |
571 | goto failed; | 484 | goto failed; |
572 | } | 485 | } |
573 | ret = nilfs_ioctl_mark_blocks_dirty(nilfs, &argv[3], dir); | 486 | ret = nilfs_ioctl_mark_blocks_dirty(nilfs, &argv[3], kbufs[3]); |
574 | if (ret < 0) { | 487 | if (ret < 0) { |
575 | /* | 488 | /* |
576 | * can safely abort because the operation is nondestructive. | 489 | * can safely abort because the operation is nondestructive. |
@@ -578,7 +491,7 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs, | |||
578 | msg = "cannot mark copying blocks dirty"; | 491 | msg = "cannot mark copying blocks dirty"; |
579 | goto failed; | 492 | goto failed; |
580 | } | 493 | } |
581 | ret = nilfs_ioctl_free_segments(nilfs, &argv[4], dir); | 494 | ret = nilfs_ioctl_free_segments(nilfs, &argv[4], kbufs[4]); |
582 | if (ret < 0) { | 495 | if (ret < 0) { |
583 | /* | 496 | /* |
584 | * can safely abort because this operation is atomic. | 497 | * can safely abort because this operation is atomic. |
@@ -598,9 +511,75 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs, | |||
598 | static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp, | 511 | static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp, |
599 | unsigned int cmd, void __user *argp) | 512 | unsigned int cmd, void __user *argp) |
600 | { | 513 | { |
514 | struct nilfs_argv argv[5]; | ||
515 | const static size_t argsz[5] = { | ||
516 | sizeof(struct nilfs_vdesc), | ||
517 | sizeof(struct nilfs_period), | ||
518 | sizeof(__u64), | ||
519 | sizeof(struct nilfs_bdesc), | ||
520 | sizeof(__u64), | ||
521 | }; | ||
522 | void __user *base; | ||
523 | void *kbufs[5]; | ||
524 | struct the_nilfs *nilfs; | ||
525 | size_t len, nsegs; | ||
526 | int n, ret; | ||
527 | |||
601 | if (!capable(CAP_SYS_ADMIN)) | 528 | if (!capable(CAP_SYS_ADMIN)) |
602 | return -EPERM; | 529 | return -EPERM; |
603 | return nilfs_clean_segments(inode->i_sb, argp); | 530 | |
531 | if (copy_from_user(argv, argp, sizeof(argv))) | ||
532 | return -EFAULT; | ||
533 | |||
534 | nsegs = argv[4].v_nmembs; | ||
535 | if (argv[4].v_size != argsz[4]) | ||
536 | return -EINVAL; | ||
537 | /* | ||
538 | * argv[4] points to segment numbers this ioctl cleans. We | ||
539 | * use kmalloc() for its buffer because memory used for the | ||
540 | * segment numbers is enough small. | ||
541 | */ | ||
542 | kbufs[4] = memdup_user((void __user *)(unsigned long)argv[4].v_base, | ||
543 | nsegs * sizeof(__u64)); | ||
544 | if (IS_ERR(kbufs[4])) | ||
545 | return PTR_ERR(kbufs[4]); | ||
546 | |||
547 | nilfs = NILFS_SB(inode->i_sb)->s_nilfs; | ||
548 | |||
549 | for (n = 0; n < 4; n++) { | ||
550 | ret = -EINVAL; | ||
551 | if (argv[n].v_size != argsz[n]) | ||
552 | goto out_free; | ||
553 | |||
554 | if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment) | ||
555 | goto out_free; | ||
556 | |||
557 | len = argv[n].v_size * argv[n].v_nmembs; | ||
558 | base = (void __user *)(unsigned long)argv[n].v_base; | ||
559 | if (len == 0) { | ||
560 | kbufs[n] = NULL; | ||
561 | continue; | ||
562 | } | ||
563 | |||
564 | kbufs[n] = vmalloc(len); | ||
565 | if (!kbufs[n]) { | ||
566 | ret = -ENOMEM; | ||
567 | goto out_free; | ||
568 | } | ||
569 | if (copy_from_user(kbufs[n], base, len)) { | ||
570 | ret = -EFAULT; | ||
571 | vfree(kbufs[n]); | ||
572 | goto out_free; | ||
573 | } | ||
574 | } | ||
575 | |||
576 | ret = nilfs_clean_segments(inode->i_sb, argv, kbufs); | ||
577 | |||
578 | out_free: | ||
579 | while (--n >= 0) | ||
580 | vfree(kbufs[n]); | ||
581 | kfree(kbufs[4]); | ||
582 | return ret; | ||
604 | } | 583 | } |
605 | 584 | ||
606 | static int nilfs_ioctl_sync(struct inode *inode, struct file *filp, | 585 | static int nilfs_ioctl_sync(struct inode *inode, struct file *filp, |
@@ -621,6 +600,33 @@ static int nilfs_ioctl_sync(struct inode *inode, struct file *filp, | |||
621 | return 0; | 600 | return 0; |
622 | } | 601 | } |
623 | 602 | ||
603 | static int nilfs_ioctl_get_info(struct inode *inode, struct file *filp, | ||
604 | unsigned int cmd, void __user *argp, | ||
605 | size_t membsz, | ||
606 | ssize_t (*dofunc)(struct the_nilfs *, | ||
607 | __u64 *, int, | ||
608 | void *, size_t, size_t)) | ||
609 | |||
610 | { | ||
611 | struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs; | ||
612 | struct nilfs_argv argv; | ||
613 | int ret; | ||
614 | |||
615 | if (copy_from_user(&argv, argp, sizeof(argv))) | ||
616 | return -EFAULT; | ||
617 | |||
618 | if (argv.v_size != membsz) | ||
619 | return -EINVAL; | ||
620 | |||
621 | ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), dofunc); | ||
622 | if (ret < 0) | ||
623 | return ret; | ||
624 | |||
625 | if (copy_to_user(argp, &argv, sizeof(argv))) | ||
626 | ret = -EFAULT; | ||
627 | return ret; | ||
628 | } | ||
629 | |||
624 | long nilfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | 630 | long nilfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
625 | { | 631 | { |
626 | struct inode *inode = filp->f_dentry->d_inode; | 632 | struct inode *inode = filp->f_dentry->d_inode; |
@@ -632,16 +638,21 @@ long nilfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | |||
632 | case NILFS_IOCTL_DELETE_CHECKPOINT: | 638 | case NILFS_IOCTL_DELETE_CHECKPOINT: |
633 | return nilfs_ioctl_delete_checkpoint(inode, filp, cmd, argp); | 639 | return nilfs_ioctl_delete_checkpoint(inode, filp, cmd, argp); |
634 | case NILFS_IOCTL_GET_CPINFO: | 640 | case NILFS_IOCTL_GET_CPINFO: |
635 | return nilfs_ioctl_get_cpinfo(inode, filp, cmd, argp); | 641 | return nilfs_ioctl_get_info(inode, filp, cmd, argp, |
642 | sizeof(struct nilfs_cpinfo), | ||
643 | nilfs_ioctl_do_get_cpinfo); | ||
636 | case NILFS_IOCTL_GET_CPSTAT: | 644 | case NILFS_IOCTL_GET_CPSTAT: |
637 | return nilfs_ioctl_get_cpstat(inode, filp, cmd, argp); | 645 | return nilfs_ioctl_get_cpstat(inode, filp, cmd, argp); |
638 | case NILFS_IOCTL_GET_SUINFO: | 646 | case NILFS_IOCTL_GET_SUINFO: |
639 | return nilfs_ioctl_get_suinfo(inode, filp, cmd, argp); | 647 | return nilfs_ioctl_get_info(inode, filp, cmd, argp, |
648 | sizeof(struct nilfs_suinfo), | ||
649 | nilfs_ioctl_do_get_suinfo); | ||
640 | case NILFS_IOCTL_GET_SUSTAT: | 650 | case NILFS_IOCTL_GET_SUSTAT: |
641 | return nilfs_ioctl_get_sustat(inode, filp, cmd, argp); | 651 | return nilfs_ioctl_get_sustat(inode, filp, cmd, argp); |
642 | case NILFS_IOCTL_GET_VINFO: | 652 | case NILFS_IOCTL_GET_VINFO: |
643 | /* XXX: rename to ??? */ | 653 | return nilfs_ioctl_get_info(inode, filp, cmd, argp, |
644 | return nilfs_ioctl_get_vinfo(inode, filp, cmd, argp); | 654 | sizeof(struct nilfs_vinfo), |
655 | nilfs_ioctl_do_get_vinfo); | ||
645 | case NILFS_IOCTL_GET_BDESCS: | 656 | case NILFS_IOCTL_GET_BDESCS: |
646 | return nilfs_ioctl_get_bdescs(inode, filp, cmd, argp); | 657 | return nilfs_ioctl_get_bdescs(inode, filp, cmd, argp); |
647 | case NILFS_IOCTL_CLEAN_SEGMENTS: | 658 | case NILFS_IOCTL_CLEAN_SEGMENTS: |
diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c index 47dd815433fd..bb78745a0e30 100644 --- a/fs/nilfs2/mdt.c +++ b/fs/nilfs2/mdt.c | |||
@@ -77,19 +77,22 @@ static int nilfs_mdt_create_block(struct inode *inode, unsigned long block, | |||
77 | void *)) | 77 | void *)) |
78 | { | 78 | { |
79 | struct the_nilfs *nilfs = NILFS_MDT(inode)->mi_nilfs; | 79 | struct the_nilfs *nilfs = NILFS_MDT(inode)->mi_nilfs; |
80 | struct nilfs_sb_info *writer = NULL; | ||
81 | struct super_block *sb = inode->i_sb; | 80 | struct super_block *sb = inode->i_sb; |
82 | struct nilfs_transaction_info ti; | 81 | struct nilfs_transaction_info ti; |
83 | struct buffer_head *bh; | 82 | struct buffer_head *bh; |
84 | int err; | 83 | int err; |
85 | 84 | ||
86 | if (!sb) { | 85 | if (!sb) { |
87 | writer = nilfs_get_writer(nilfs); | 86 | /* |
88 | if (!writer) { | 87 | * Make sure this function is not called from any |
88 | * read-only context. | ||
89 | */ | ||
90 | if (!nilfs->ns_writer) { | ||
91 | WARN_ON(1); | ||
89 | err = -EROFS; | 92 | err = -EROFS; |
90 | goto out; | 93 | goto out; |
91 | } | 94 | } |
92 | sb = writer->s_super; | 95 | sb = nilfs->ns_writer->s_super; |
93 | } | 96 | } |
94 | 97 | ||
95 | nilfs_transaction_begin(sb, &ti, 0); | 98 | nilfs_transaction_begin(sb, &ti, 0); |
@@ -127,8 +130,6 @@ static int nilfs_mdt_create_block(struct inode *inode, unsigned long block, | |||
127 | err = nilfs_transaction_commit(sb); | 130 | err = nilfs_transaction_commit(sb); |
128 | else | 131 | else |
129 | nilfs_transaction_abort(sb); | 132 | nilfs_transaction_abort(sb); |
130 | if (writer) | ||
131 | nilfs_put_writer(nilfs); | ||
132 | out: | 133 | out: |
133 | return err; | 134 | return err; |
134 | } | 135 | } |
@@ -299,7 +300,7 @@ int nilfs_mdt_delete_block(struct inode *inode, unsigned long block) | |||
299 | int err; | 300 | int err; |
300 | 301 | ||
301 | err = nilfs_bmap_delete(ii->i_bmap, block); | 302 | err = nilfs_bmap_delete(ii->i_bmap, block); |
302 | if (likely(!err)) { | 303 | if (!err || err == -ENOENT) { |
303 | nilfs_mdt_mark_dirty(inode); | 304 | nilfs_mdt_mark_dirty(inode); |
304 | nilfs_mdt_forget_block(inode, block); | 305 | nilfs_mdt_forget_block(inode, block); |
305 | } | 306 | } |
diff --git a/fs/nilfs2/nilfs.h b/fs/nilfs2/nilfs.h index 3d0c18a16db1..da6fc0bba2e5 100644 --- a/fs/nilfs2/nilfs.h +++ b/fs/nilfs2/nilfs.h | |||
@@ -236,7 +236,8 @@ extern int nilfs_sync_file(struct file *, struct dentry *, int); | |||
236 | 236 | ||
237 | /* ioctl.c */ | 237 | /* ioctl.c */ |
238 | long nilfs_ioctl(struct file *, unsigned int, unsigned long); | 238 | long nilfs_ioctl(struct file *, unsigned int, unsigned long); |
239 | int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *, void __user *); | 239 | int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *, struct nilfs_argv *, |
240 | void **); | ||
240 | 241 | ||
241 | /* inode.c */ | 242 | /* inode.c */ |
242 | extern struct inode *nilfs_new_inode(struct inode *, int); | 243 | extern struct inode *nilfs_new_inode(struct inode *, int); |
diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c index 1bfbba9c0e9a..a2692bbc7b50 100644 --- a/fs/nilfs2/page.c +++ b/fs/nilfs2/page.c | |||
@@ -128,7 +128,8 @@ void nilfs_forget_buffer(struct buffer_head *bh) | |||
128 | 128 | ||
129 | lock_buffer(bh); | 129 | lock_buffer(bh); |
130 | clear_buffer_nilfs_volatile(bh); | 130 | clear_buffer_nilfs_volatile(bh); |
131 | if (test_clear_buffer_dirty(bh) && nilfs_page_buffers_clean(page)) | 131 | clear_buffer_dirty(bh); |
132 | if (nilfs_page_buffers_clean(page)) | ||
132 | __nilfs_clear_page_dirty(page); | 133 | __nilfs_clear_page_dirty(page); |
133 | 134 | ||
134 | clear_buffer_uptodate(bh); | 135 | clear_buffer_uptodate(bh); |
diff --git a/fs/nilfs2/recovery.c b/fs/nilfs2/recovery.c index 4fc081e47d70..57afa9d24061 100644 --- a/fs/nilfs2/recovery.c +++ b/fs/nilfs2/recovery.c | |||
@@ -407,6 +407,7 @@ void nilfs_dispose_segment_list(struct list_head *head) | |||
407 | } | 407 | } |
408 | 408 | ||
409 | static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs, | 409 | static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs, |
410 | struct nilfs_sb_info *sbi, | ||
410 | struct nilfs_recovery_info *ri) | 411 | struct nilfs_recovery_info *ri) |
411 | { | 412 | { |
412 | struct list_head *head = &ri->ri_used_segments; | 413 | struct list_head *head = &ri->ri_used_segments; |
@@ -421,6 +422,7 @@ static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs, | |||
421 | segnum[2] = ri->ri_segnum; | 422 | segnum[2] = ri->ri_segnum; |
422 | segnum[3] = ri->ri_nextnum; | 423 | segnum[3] = ri->ri_nextnum; |
423 | 424 | ||
425 | nilfs_attach_writer(nilfs, sbi); | ||
424 | /* | 426 | /* |
425 | * Releasing the next segment of the latest super root. | 427 | * Releasing the next segment of the latest super root. |
426 | * The next segment is invalidated by this recovery. | 428 | * The next segment is invalidated by this recovery. |
@@ -459,10 +461,10 @@ static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs, | |||
459 | nilfs->ns_pseg_offset = 0; | 461 | nilfs->ns_pseg_offset = 0; |
460 | nilfs->ns_seg_seq = ri->ri_seq + 2; | 462 | nilfs->ns_seg_seq = ri->ri_seq + 2; |
461 | nilfs->ns_nextnum = nilfs->ns_segnum = segnum[0]; | 463 | nilfs->ns_nextnum = nilfs->ns_segnum = segnum[0]; |
462 | return 0; | ||
463 | 464 | ||
464 | failed: | 465 | failed: |
465 | /* No need to recover sufile because it will be destroyed on error */ | 466 | /* No need to recover sufile because it will be destroyed on error */ |
467 | nilfs_detach_writer(nilfs, sbi); | ||
466 | return err; | 468 | return err; |
467 | } | 469 | } |
468 | 470 | ||
@@ -728,7 +730,7 @@ int nilfs_recover_logical_segments(struct the_nilfs *nilfs, | |||
728 | goto failed; | 730 | goto failed; |
729 | 731 | ||
730 | if (ri->ri_need_recovery == NILFS_RECOVERY_ROLLFORWARD_DONE) { | 732 | if (ri->ri_need_recovery == NILFS_RECOVERY_ROLLFORWARD_DONE) { |
731 | err = nilfs_prepare_segment_for_recovery(nilfs, ri); | 733 | err = nilfs_prepare_segment_for_recovery(nilfs, sbi, ri); |
732 | if (unlikely(err)) { | 734 | if (unlikely(err)) { |
733 | printk(KERN_ERR "NILFS: Error preparing segments for " | 735 | printk(KERN_ERR "NILFS: Error preparing segments for " |
734 | "recovery.\n"); | 736 | "recovery.\n"); |
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index fb70ec3be20e..22c7f65c2403 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c | |||
@@ -2589,7 +2589,8 @@ nilfs_remove_written_gcinodes(struct the_nilfs *nilfs, struct list_head *head) | |||
2589 | } | 2589 | } |
2590 | } | 2590 | } |
2591 | 2591 | ||
2592 | int nilfs_clean_segments(struct super_block *sb, void __user *argp) | 2592 | int nilfs_clean_segments(struct super_block *sb, struct nilfs_argv *argv, |
2593 | void **kbufs) | ||
2593 | { | 2594 | { |
2594 | struct nilfs_sb_info *sbi = NILFS_SB(sb); | 2595 | struct nilfs_sb_info *sbi = NILFS_SB(sb); |
2595 | struct nilfs_sc_info *sci = NILFS_SC(sbi); | 2596 | struct nilfs_sc_info *sci = NILFS_SC(sbi); |
@@ -2606,7 +2607,7 @@ int nilfs_clean_segments(struct super_block *sb, void __user *argp) | |||
2606 | err = nilfs_init_gcdat_inode(nilfs); | 2607 | err = nilfs_init_gcdat_inode(nilfs); |
2607 | if (unlikely(err)) | 2608 | if (unlikely(err)) |
2608 | goto out_unlock; | 2609 | goto out_unlock; |
2609 | err = nilfs_ioctl_prepare_clean_segments(nilfs, argp); | 2610 | err = nilfs_ioctl_prepare_clean_segments(nilfs, argv, kbufs); |
2610 | if (unlikely(err)) | 2611 | if (unlikely(err)) |
2611 | goto out_unlock; | 2612 | goto out_unlock; |
2612 | 2613 | ||
diff --git a/fs/nilfs2/segment.h b/fs/nilfs2/segment.h index a98fc1ed0bbb..476bdd5df5be 100644 --- a/fs/nilfs2/segment.h +++ b/fs/nilfs2/segment.h | |||
@@ -222,7 +222,8 @@ extern int nilfs_construct_segment(struct super_block *); | |||
222 | extern int nilfs_construct_dsync_segment(struct super_block *, struct inode *, | 222 | extern int nilfs_construct_dsync_segment(struct super_block *, struct inode *, |
223 | loff_t, loff_t); | 223 | loff_t, loff_t); |
224 | extern void nilfs_flush_segment(struct super_block *, ino_t); | 224 | extern void nilfs_flush_segment(struct super_block *, ino_t); |
225 | extern int nilfs_clean_segments(struct super_block *, void __user *); | 225 | extern int nilfs_clean_segments(struct super_block *, struct nilfs_argv *, |
226 | void **); | ||
226 | 227 | ||
227 | extern int nilfs_segctor_add_segments_to_be_freed(struct nilfs_sc_info *, | 228 | extern int nilfs_segctor_add_segments_to_be_freed(struct nilfs_sc_info *, |
228 | __u64 *, size_t); | 229 | __u64 *, size_t); |
diff --git a/fs/ocfs2/symlink.c b/fs/ocfs2/symlink.c index ed0a0cfd68d2..579dd1b1110f 100644 --- a/fs/ocfs2/symlink.c +++ b/fs/ocfs2/symlink.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/slab.h> | 39 | #include <linux/slab.h> |
40 | #include <linux/pagemap.h> | 40 | #include <linux/pagemap.h> |
41 | #include <linux/utsname.h> | 41 | #include <linux/utsname.h> |
42 | #include <linux/namei.h> | ||
42 | 43 | ||
43 | #define MLOG_MASK_PREFIX ML_NAMEI | 44 | #define MLOG_MASK_PREFIX ML_NAMEI |
44 | #include <cluster/masklog.h> | 45 | #include <cluster/masklog.h> |
@@ -54,26 +55,6 @@ | |||
54 | 55 | ||
55 | #include "buffer_head_io.h" | 56 | #include "buffer_head_io.h" |
56 | 57 | ||
57 | static char *ocfs2_page_getlink(struct dentry * dentry, | ||
58 | struct page **ppage); | ||
59 | static char *ocfs2_fast_symlink_getlink(struct inode *inode, | ||
60 | struct buffer_head **bh); | ||
61 | |||
62 | /* get the link contents into pagecache */ | ||
63 | static char *ocfs2_page_getlink(struct dentry * dentry, | ||
64 | struct page **ppage) | ||
65 | { | ||
66 | struct page * page; | ||
67 | struct address_space *mapping = dentry->d_inode->i_mapping; | ||
68 | page = read_mapping_page(mapping, 0, NULL); | ||
69 | if (IS_ERR(page)) | ||
70 | goto sync_fail; | ||
71 | *ppage = page; | ||
72 | return kmap(page); | ||
73 | |||
74 | sync_fail: | ||
75 | return (char*)page; | ||
76 | } | ||
77 | 58 | ||
78 | static char *ocfs2_fast_symlink_getlink(struct inode *inode, | 59 | static char *ocfs2_fast_symlink_getlink(struct inode *inode, |
79 | struct buffer_head **bh) | 60 | struct buffer_head **bh) |
@@ -128,40 +109,55 @@ out: | |||
128 | return ret; | 109 | return ret; |
129 | } | 110 | } |
130 | 111 | ||
131 | static void *ocfs2_follow_link(struct dentry *dentry, | 112 | static void *ocfs2_fast_follow_link(struct dentry *dentry, |
132 | struct nameidata *nd) | 113 | struct nameidata *nd) |
133 | { | 114 | { |
134 | int status; | 115 | int status = 0; |
135 | char *link; | 116 | int len; |
117 | char *target, *link = ERR_PTR(-ENOMEM); | ||
136 | struct inode *inode = dentry->d_inode; | 118 | struct inode *inode = dentry->d_inode; |
137 | struct page *page = NULL; | ||
138 | struct buffer_head *bh = NULL; | 119 | struct buffer_head *bh = NULL; |
139 | 120 | ||
140 | if (ocfs2_inode_is_fast_symlink(inode)) | 121 | mlog_entry_void(); |
141 | link = ocfs2_fast_symlink_getlink(inode, &bh); | 122 | |
142 | else | 123 | BUG_ON(!ocfs2_inode_is_fast_symlink(inode)); |
143 | link = ocfs2_page_getlink(dentry, &page); | 124 | target = ocfs2_fast_symlink_getlink(inode, &bh); |
144 | if (IS_ERR(link)) { | 125 | if (IS_ERR(target)) { |
145 | status = PTR_ERR(link); | 126 | status = PTR_ERR(target); |
146 | mlog_errno(status); | 127 | mlog_errno(status); |
147 | goto bail; | 128 | goto bail; |
148 | } | 129 | } |
149 | 130 | ||
150 | status = vfs_follow_link(nd, link); | 131 | /* Fast symlinks can't be large */ |
132 | len = strlen(target); | ||
133 | link = kzalloc(len + 1, GFP_NOFS); | ||
134 | if (!link) { | ||
135 | status = -ENOMEM; | ||
136 | mlog_errno(status); | ||
137 | goto bail; | ||
138 | } | ||
139 | |||
140 | memcpy(link, target, len); | ||
141 | nd_set_link(nd, link); | ||
151 | 142 | ||
152 | bail: | 143 | bail: |
153 | if (page) { | ||
154 | kunmap(page); | ||
155 | page_cache_release(page); | ||
156 | } | ||
157 | brelse(bh); | 144 | brelse(bh); |
158 | 145 | ||
159 | return ERR_PTR(status); | 146 | mlog_exit(status); |
147 | return status ? ERR_PTR(status) : link; | ||
148 | } | ||
149 | |||
150 | static void ocfs2_fast_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie) | ||
151 | { | ||
152 | char *link = cookie; | ||
153 | |||
154 | kfree(link); | ||
160 | } | 155 | } |
161 | 156 | ||
162 | const struct inode_operations ocfs2_symlink_inode_operations = { | 157 | const struct inode_operations ocfs2_symlink_inode_operations = { |
163 | .readlink = page_readlink, | 158 | .readlink = page_readlink, |
164 | .follow_link = ocfs2_follow_link, | 159 | .follow_link = page_follow_link_light, |
160 | .put_link = page_put_link, | ||
165 | .getattr = ocfs2_getattr, | 161 | .getattr = ocfs2_getattr, |
166 | .setattr = ocfs2_setattr, | 162 | .setattr = ocfs2_setattr, |
167 | .setxattr = generic_setxattr, | 163 | .setxattr = generic_setxattr, |
@@ -171,7 +167,8 @@ const struct inode_operations ocfs2_symlink_inode_operations = { | |||
171 | }; | 167 | }; |
172 | const struct inode_operations ocfs2_fast_symlink_inode_operations = { | 168 | const struct inode_operations ocfs2_fast_symlink_inode_operations = { |
173 | .readlink = ocfs2_readlink, | 169 | .readlink = ocfs2_readlink, |
174 | .follow_link = ocfs2_follow_link, | 170 | .follow_link = ocfs2_fast_follow_link, |
171 | .put_link = ocfs2_fast_put_link, | ||
175 | .getattr = ocfs2_getattr, | 172 | .getattr = ocfs2_getattr, |
176 | .setattr = ocfs2_setattr, | 173 | .setattr = ocfs2_setattr, |
177 | .setxattr = generic_setxattr, | 174 | .setxattr = generic_setxattr, |
@@ -1033,7 +1033,7 @@ long do_sys_open(int dfd, const char __user *filename, int flags, int mode) | |||
1033 | if (!IS_ERR(tmp)) { | 1033 | if (!IS_ERR(tmp)) { |
1034 | fd = get_unused_fd_flags(flags); | 1034 | fd = get_unused_fd_flags(flags); |
1035 | if (fd >= 0) { | 1035 | if (fd >= 0) { |
1036 | struct file *f = do_filp_open(dfd, tmp, flags, mode); | 1036 | struct file *f = do_filp_open(dfd, tmp, flags, mode, 0); |
1037 | if (IS_ERR(f)) { | 1037 | if (IS_ERR(f)) { |
1038 | put_unused_fd(fd); | 1038 | put_unused_fd(fd); |
1039 | fd = PTR_ERR(f); | 1039 | fd = PTR_ERR(f); |
diff --git a/fs/proc/base.c b/fs/proc/base.c index fb45615943c2..3326bbf9ab95 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c | |||
@@ -1956,7 +1956,7 @@ static struct dentry *proc_pident_instantiate(struct inode *dir, | |||
1956 | const struct pid_entry *p = ptr; | 1956 | const struct pid_entry *p = ptr; |
1957 | struct inode *inode; | 1957 | struct inode *inode; |
1958 | struct proc_inode *ei; | 1958 | struct proc_inode *ei; |
1959 | struct dentry *error = ERR_PTR(-EINVAL); | 1959 | struct dentry *error = ERR_PTR(-ENOENT); |
1960 | 1960 | ||
1961 | inode = proc_pid_make_inode(dir->i_sb, task); | 1961 | inode = proc_pid_make_inode(dir->i_sb, task); |
1962 | if (!inode) | 1962 | if (!inode) |
diff --git a/fs/proc/root.c b/fs/proc/root.c index 1e15a2b176e8..b080b791d9e3 100644 --- a/fs/proc/root.c +++ b/fs/proc/root.c | |||
@@ -67,8 +67,7 @@ static int proc_get_sb(struct file_system_type *fs_type, | |||
67 | sb->s_flags = flags; | 67 | sb->s_flags = flags; |
68 | err = proc_fill_super(sb); | 68 | err = proc_fill_super(sb); |
69 | if (err) { | 69 | if (err) { |
70 | up_write(&sb->s_umount); | 70 | deactivate_locked_super(sb); |
71 | deactivate_super(sb); | ||
72 | return err; | 71 | return err; |
73 | } | 72 | } |
74 | 73 | ||
diff --git a/fs/reiserfs/dir.c b/fs/reiserfs/dir.c index 67a80d7e59e2..45ee3d357c70 100644 --- a/fs/reiserfs/dir.c +++ b/fs/reiserfs/dir.c | |||
@@ -41,6 +41,18 @@ static int reiserfs_dir_fsync(struct file *filp, struct dentry *dentry, | |||
41 | 41 | ||
42 | #define store_ih(where,what) copy_item_head (where, what) | 42 | #define store_ih(where,what) copy_item_head (where, what) |
43 | 43 | ||
44 | static inline bool is_privroot_deh(struct dentry *dir, | ||
45 | struct reiserfs_de_head *deh) | ||
46 | { | ||
47 | int ret = 0; | ||
48 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
49 | struct dentry *privroot = REISERFS_SB(dir->d_sb)->priv_root; | ||
50 | ret = (dir == dir->d_parent && privroot->d_inode && | ||
51 | deh->deh_objectid == INODE_PKEY(privroot->d_inode)->k_objectid); | ||
52 | #endif | ||
53 | return ret; | ||
54 | } | ||
55 | |||
44 | int reiserfs_readdir_dentry(struct dentry *dentry, void *dirent, | 56 | int reiserfs_readdir_dentry(struct dentry *dentry, void *dirent, |
45 | filldir_t filldir, loff_t *pos) | 57 | filldir_t filldir, loff_t *pos) |
46 | { | 58 | { |
@@ -138,18 +150,8 @@ int reiserfs_readdir_dentry(struct dentry *dentry, void *dirent, | |||
138 | } | 150 | } |
139 | 151 | ||
140 | /* Ignore the .reiserfs_priv entry */ | 152 | /* Ignore the .reiserfs_priv entry */ |
141 | if (reiserfs_xattrs(inode->i_sb) && | 153 | if (is_privroot_deh(dentry, deh)) |
142 | !old_format_only(inode->i_sb) && | ||
143 | dentry == inode->i_sb->s_root && | ||
144 | REISERFS_SB(inode->i_sb)->priv_root && | ||
145 | REISERFS_SB(inode->i_sb)->priv_root->d_inode | ||
146 | && deh_objectid(deh) == | ||
147 | le32_to_cpu(INODE_PKEY | ||
148 | (REISERFS_SB(inode->i_sb)-> | ||
149 | priv_root->d_inode)-> | ||
150 | k_objectid)) { | ||
151 | continue; | 154 | continue; |
152 | } | ||
153 | 155 | ||
154 | d_off = deh_offset(deh); | 156 | d_off = deh_offset(deh); |
155 | *pos = d_off; | 157 | *pos = d_off; |
diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c index efd4d720718e..271579128634 100644 --- a/fs/reiserfs/namei.c +++ b/fs/reiserfs/namei.c | |||
@@ -338,21 +338,8 @@ static struct dentry *reiserfs_lookup(struct inode *dir, struct dentry *dentry, | |||
338 | &path_to_entry, &de); | 338 | &path_to_entry, &de); |
339 | pathrelse(&path_to_entry); | 339 | pathrelse(&path_to_entry); |
340 | if (retval == NAME_FOUND) { | 340 | if (retval == NAME_FOUND) { |
341 | /* Hide the .reiserfs_priv directory */ | 341 | inode = reiserfs_iget(dir->i_sb, |
342 | if (reiserfs_xattrs(dir->i_sb) && | 342 | (struct cpu_key *)&(de.de_dir_id)); |
343 | !old_format_only(dir->i_sb) && | ||
344 | REISERFS_SB(dir->i_sb)->priv_root && | ||
345 | REISERFS_SB(dir->i_sb)->priv_root->d_inode && | ||
346 | de.de_objectid == | ||
347 | le32_to_cpu(INODE_PKEY | ||
348 | (REISERFS_SB(dir->i_sb)->priv_root->d_inode)-> | ||
349 | k_objectid)) { | ||
350 | reiserfs_write_unlock(dir->i_sb); | ||
351 | return ERR_PTR(-EACCES); | ||
352 | } | ||
353 | |||
354 | inode = | ||
355 | reiserfs_iget(dir->i_sb, (struct cpu_key *)&(de.de_dir_id)); | ||
356 | if (!inode || IS_ERR(inode)) { | 343 | if (!inode || IS_ERR(inode)) { |
357 | reiserfs_write_unlock(dir->i_sb); | 344 | reiserfs_write_unlock(dir->i_sb); |
358 | return ERR_PTR(-EACCES); | 345 | return ERR_PTR(-EACCES); |
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 0ae6486d9046..3567fb9e3fb1 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c | |||
@@ -448,13 +448,11 @@ int remove_save_link(struct inode *inode, int truncate) | |||
448 | static void reiserfs_kill_sb(struct super_block *s) | 448 | static void reiserfs_kill_sb(struct super_block *s) |
449 | { | 449 | { |
450 | if (REISERFS_SB(s)) { | 450 | if (REISERFS_SB(s)) { |
451 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
452 | if (REISERFS_SB(s)->xattr_root) { | 451 | if (REISERFS_SB(s)->xattr_root) { |
453 | d_invalidate(REISERFS_SB(s)->xattr_root); | 452 | d_invalidate(REISERFS_SB(s)->xattr_root); |
454 | dput(REISERFS_SB(s)->xattr_root); | 453 | dput(REISERFS_SB(s)->xattr_root); |
455 | REISERFS_SB(s)->xattr_root = NULL; | 454 | REISERFS_SB(s)->xattr_root = NULL; |
456 | } | 455 | } |
457 | #endif | ||
458 | if (REISERFS_SB(s)->priv_root) { | 456 | if (REISERFS_SB(s)->priv_root) { |
459 | d_invalidate(REISERFS_SB(s)->priv_root); | 457 | d_invalidate(REISERFS_SB(s)->priv_root); |
460 | dput(REISERFS_SB(s)->priv_root); | 458 | dput(REISERFS_SB(s)->priv_root); |
@@ -1316,8 +1314,7 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg) | |||
1316 | } | 1314 | } |
1317 | 1315 | ||
1318 | out_ok: | 1316 | out_ok: |
1319 | kfree(s->s_options); | 1317 | replace_mount_options(s, new_opts); |
1320 | s->s_options = new_opts; | ||
1321 | return 0; | 1318 | return 0; |
1322 | 1319 | ||
1323 | out_err: | 1320 | out_err: |
@@ -1842,7 +1839,8 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent) | |||
1842 | goto error; | 1839 | goto error; |
1843 | } | 1840 | } |
1844 | 1841 | ||
1845 | if ((errval = reiserfs_xattr_init(s, s->s_flags))) { | 1842 | if ((errval = reiserfs_lookup_privroot(s)) || |
1843 | (errval = reiserfs_xattr_init(s, s->s_flags))) { | ||
1846 | dput(s->s_root); | 1844 | dput(s->s_root); |
1847 | s->s_root = NULL; | 1845 | s->s_root = NULL; |
1848 | goto error; | 1846 | goto error; |
@@ -1855,7 +1853,8 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent) | |||
1855 | reiserfs_info(s, "using 3.5.x disk format\n"); | 1853 | reiserfs_info(s, "using 3.5.x disk format\n"); |
1856 | } | 1854 | } |
1857 | 1855 | ||
1858 | if ((errval = reiserfs_xattr_init(s, s->s_flags))) { | 1856 | if ((errval = reiserfs_lookup_privroot(s)) || |
1857 | (errval = reiserfs_xattr_init(s, s->s_flags))) { | ||
1859 | dput(s->s_root); | 1858 | dput(s->s_root); |
1860 | s->s_root = NULL; | 1859 | s->s_root = NULL; |
1861 | goto error; | 1860 | goto error; |
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index f83f52bae390..8e7deb0e6964 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c | |||
@@ -113,41 +113,30 @@ static int xattr_rmdir(struct inode *dir, struct dentry *dentry) | |||
113 | 113 | ||
114 | #define xattr_may_create(flags) (!flags || flags & XATTR_CREATE) | 114 | #define xattr_may_create(flags) (!flags || flags & XATTR_CREATE) |
115 | 115 | ||
116 | /* Returns and possibly creates the xattr dir. */ | 116 | static struct dentry *open_xa_root(struct super_block *sb, int flags) |
117 | static struct dentry *lookup_or_create_dir(struct dentry *parent, | ||
118 | const char *name, int flags) | ||
119 | { | 117 | { |
120 | struct dentry *dentry; | 118 | struct dentry *privroot = REISERFS_SB(sb)->priv_root; |
121 | BUG_ON(!parent); | 119 | struct dentry *xaroot; |
122 | 120 | if (!privroot->d_inode) | |
123 | dentry = lookup_one_len(name, parent, strlen(name)); | 121 | return ERR_PTR(-ENODATA); |
124 | if (IS_ERR(dentry)) | ||
125 | return dentry; | ||
126 | else if (!dentry->d_inode) { | ||
127 | int err = -ENODATA; | ||
128 | 122 | ||
129 | if (xattr_may_create(flags)) { | 123 | mutex_lock_nested(&privroot->d_inode->i_mutex, I_MUTEX_XATTR); |
130 | mutex_lock_nested(&parent->d_inode->i_mutex, | ||
131 | I_MUTEX_XATTR); | ||
132 | err = xattr_mkdir(parent->d_inode, dentry, 0700); | ||
133 | mutex_unlock(&parent->d_inode->i_mutex); | ||
134 | } | ||
135 | 124 | ||
125 | xaroot = dget(REISERFS_SB(sb)->xattr_root); | ||
126 | if (!xaroot) | ||
127 | xaroot = ERR_PTR(-ENODATA); | ||
128 | else if (!xaroot->d_inode) { | ||
129 | int err = -ENODATA; | ||
130 | if (xattr_may_create(flags)) | ||
131 | err = xattr_mkdir(privroot->d_inode, xaroot, 0700); | ||
136 | if (err) { | 132 | if (err) { |
137 | dput(dentry); | 133 | dput(xaroot); |
138 | dentry = ERR_PTR(err); | 134 | xaroot = ERR_PTR(err); |
139 | } | 135 | } |
140 | } | 136 | } |
141 | 137 | ||
142 | return dentry; | 138 | mutex_unlock(&privroot->d_inode->i_mutex); |
143 | } | 139 | return xaroot; |
144 | |||
145 | static struct dentry *open_xa_root(struct super_block *sb, int flags) | ||
146 | { | ||
147 | struct dentry *privroot = REISERFS_SB(sb)->priv_root; | ||
148 | if (!privroot) | ||
149 | return ERR_PTR(-ENODATA); | ||
150 | return lookup_or_create_dir(privroot, XAROOT_NAME, flags); | ||
151 | } | 140 | } |
152 | 141 | ||
153 | static struct dentry *open_xa_dir(const struct inode *inode, int flags) | 142 | static struct dentry *open_xa_dir(const struct inode *inode, int flags) |
@@ -163,10 +152,22 @@ static struct dentry *open_xa_dir(const struct inode *inode, int flags) | |||
163 | le32_to_cpu(INODE_PKEY(inode)->k_objectid), | 152 | le32_to_cpu(INODE_PKEY(inode)->k_objectid), |
164 | inode->i_generation); | 153 | inode->i_generation); |
165 | 154 | ||
166 | xadir = lookup_or_create_dir(xaroot, namebuf, flags); | 155 | mutex_lock_nested(&xaroot->d_inode->i_mutex, I_MUTEX_XATTR); |
156 | |||
157 | xadir = lookup_one_len(namebuf, xaroot, strlen(namebuf)); | ||
158 | if (!IS_ERR(xadir) && !xadir->d_inode) { | ||
159 | int err = -ENODATA; | ||
160 | if (xattr_may_create(flags)) | ||
161 | err = xattr_mkdir(xaroot->d_inode, xadir, 0700); | ||
162 | if (err) { | ||
163 | dput(xadir); | ||
164 | xadir = ERR_PTR(err); | ||
165 | } | ||
166 | } | ||
167 | |||
168 | mutex_unlock(&xaroot->d_inode->i_mutex); | ||
167 | dput(xaroot); | 169 | dput(xaroot); |
168 | return xadir; | 170 | return xadir; |
169 | |||
170 | } | 171 | } |
171 | 172 | ||
172 | /* The following are side effects of other operations that aren't explicitly | 173 | /* The following are side effects of other operations that aren't explicitly |
@@ -184,6 +185,7 @@ fill_with_dentries(void *buf, const char *name, int namelen, loff_t offset, | |||
184 | { | 185 | { |
185 | struct reiserfs_dentry_buf *dbuf = buf; | 186 | struct reiserfs_dentry_buf *dbuf = buf; |
186 | struct dentry *dentry; | 187 | struct dentry *dentry; |
188 | WARN_ON_ONCE(!mutex_is_locked(&dbuf->xadir->d_inode->i_mutex)); | ||
187 | 189 | ||
188 | if (dbuf->count == ARRAY_SIZE(dbuf->dentries)) | 190 | if (dbuf->count == ARRAY_SIZE(dbuf->dentries)) |
189 | return -ENOSPC; | 191 | return -ENOSPC; |
@@ -349,6 +351,7 @@ static struct dentry *xattr_lookup(struct inode *inode, const char *name, | |||
349 | if (IS_ERR(xadir)) | 351 | if (IS_ERR(xadir)) |
350 | return ERR_CAST(xadir); | 352 | return ERR_CAST(xadir); |
351 | 353 | ||
354 | mutex_lock_nested(&xadir->d_inode->i_mutex, I_MUTEX_XATTR); | ||
352 | xafile = lookup_one_len(name, xadir, strlen(name)); | 355 | xafile = lookup_one_len(name, xadir, strlen(name)); |
353 | if (IS_ERR(xafile)) { | 356 | if (IS_ERR(xafile)) { |
354 | err = PTR_ERR(xafile); | 357 | err = PTR_ERR(xafile); |
@@ -360,18 +363,15 @@ static struct dentry *xattr_lookup(struct inode *inode, const char *name, | |||
360 | 363 | ||
361 | if (!xafile->d_inode) { | 364 | if (!xafile->d_inode) { |
362 | err = -ENODATA; | 365 | err = -ENODATA; |
363 | if (xattr_may_create(flags)) { | 366 | if (xattr_may_create(flags)) |
364 | mutex_lock_nested(&xadir->d_inode->i_mutex, | ||
365 | I_MUTEX_XATTR); | ||
366 | err = xattr_create(xadir->d_inode, xafile, | 367 | err = xattr_create(xadir->d_inode, xafile, |
367 | 0700|S_IFREG); | 368 | 0700|S_IFREG); |
368 | mutex_unlock(&xadir->d_inode->i_mutex); | ||
369 | } | ||
370 | } | 369 | } |
371 | 370 | ||
372 | if (err) | 371 | if (err) |
373 | dput(xafile); | 372 | dput(xafile); |
374 | out: | 373 | out: |
374 | mutex_unlock(&xadir->d_inode->i_mutex); | ||
375 | dput(xadir); | 375 | dput(xadir); |
376 | if (err) | 376 | if (err) |
377 | return ERR_PTR(err); | 377 | return ERR_PTR(err); |
@@ -435,6 +435,7 @@ static int lookup_and_delete_xattr(struct inode *inode, const char *name) | |||
435 | if (IS_ERR(xadir)) | 435 | if (IS_ERR(xadir)) |
436 | return PTR_ERR(xadir); | 436 | return PTR_ERR(xadir); |
437 | 437 | ||
438 | mutex_lock_nested(&xadir->d_inode->i_mutex, I_MUTEX_XATTR); | ||
438 | dentry = lookup_one_len(name, xadir, strlen(name)); | 439 | dentry = lookup_one_len(name, xadir, strlen(name)); |
439 | if (IS_ERR(dentry)) { | 440 | if (IS_ERR(dentry)) { |
440 | err = PTR_ERR(dentry); | 441 | err = PTR_ERR(dentry); |
@@ -442,14 +443,13 @@ static int lookup_and_delete_xattr(struct inode *inode, const char *name) | |||
442 | } | 443 | } |
443 | 444 | ||
444 | if (dentry->d_inode) { | 445 | if (dentry->d_inode) { |
445 | mutex_lock_nested(&xadir->d_inode->i_mutex, I_MUTEX_XATTR); | ||
446 | err = xattr_unlink(xadir->d_inode, dentry); | 446 | err = xattr_unlink(xadir->d_inode, dentry); |
447 | mutex_unlock(&xadir->d_inode->i_mutex); | ||
448 | update_ctime(inode); | 447 | update_ctime(inode); |
449 | } | 448 | } |
450 | 449 | ||
451 | dput(dentry); | 450 | dput(dentry); |
452 | out_dput: | 451 | out_dput: |
452 | mutex_unlock(&xadir->d_inode->i_mutex); | ||
453 | dput(xadir); | 453 | dput(xadir); |
454 | return err; | 454 | return err; |
455 | } | 455 | } |
@@ -687,20 +687,6 @@ out: | |||
687 | return err; | 687 | return err; |
688 | } | 688 | } |
689 | 689 | ||
690 | /* Actual operations that are exported to VFS-land */ | ||
691 | struct xattr_handler *reiserfs_xattr_handlers[] = { | ||
692 | &reiserfs_xattr_user_handler, | ||
693 | &reiserfs_xattr_trusted_handler, | ||
694 | #ifdef CONFIG_REISERFS_FS_SECURITY | ||
695 | &reiserfs_xattr_security_handler, | ||
696 | #endif | ||
697 | #ifdef CONFIG_REISERFS_FS_POSIX_ACL | ||
698 | &reiserfs_posix_acl_access_handler, | ||
699 | &reiserfs_posix_acl_default_handler, | ||
700 | #endif | ||
701 | NULL | ||
702 | }; | ||
703 | |||
704 | /* | 690 | /* |
705 | * In order to implement different sets of xattr operations for each xattr | 691 | * In order to implement different sets of xattr operations for each xattr |
706 | * prefix with the generic xattr API, a filesystem should create a | 692 | * prefix with the generic xattr API, a filesystem should create a |
@@ -843,7 +829,7 @@ ssize_t reiserfs_listxattr(struct dentry * dentry, char *buffer, size_t size) | |||
843 | if (!dentry->d_inode) | 829 | if (!dentry->d_inode) |
844 | return -EINVAL; | 830 | return -EINVAL; |
845 | 831 | ||
846 | if (!reiserfs_xattrs(dentry->d_sb) || | 832 | if (!dentry->d_sb->s_xattr || |
847 | get_inode_sd_version(dentry->d_inode) == STAT_DATA_V1) | 833 | get_inode_sd_version(dentry->d_inode) == STAT_DATA_V1) |
848 | return -EOPNOTSUPP; | 834 | return -EOPNOTSUPP; |
849 | 835 | ||
@@ -885,42 +871,50 @@ static int reiserfs_check_acl(struct inode *inode, int mask) | |||
885 | return error; | 871 | return error; |
886 | } | 872 | } |
887 | 873 | ||
888 | int reiserfs_permission(struct inode *inode, int mask) | ||
889 | { | ||
890 | /* | ||
891 | * We don't do permission checks on the internal objects. | ||
892 | * Permissions are determined by the "owning" object. | ||
893 | */ | ||
894 | if (IS_PRIVATE(inode)) | ||
895 | return 0; | ||
896 | /* | ||
897 | * Stat data v1 doesn't support ACLs. | ||
898 | */ | ||
899 | if (get_inode_sd_version(inode) == STAT_DATA_V1) | ||
900 | return generic_permission(inode, mask, NULL); | ||
901 | else | ||
902 | return generic_permission(inode, mask, reiserfs_check_acl); | ||
903 | } | ||
904 | |||
905 | static int create_privroot(struct dentry *dentry) | 874 | static int create_privroot(struct dentry *dentry) |
906 | { | 875 | { |
907 | int err; | 876 | int err; |
908 | struct inode *inode = dentry->d_parent->d_inode; | 877 | struct inode *inode = dentry->d_parent->d_inode; |
909 | mutex_lock_nested(&inode->i_mutex, I_MUTEX_XATTR); | 878 | WARN_ON_ONCE(!mutex_is_locked(&inode->i_mutex)); |
879 | |||
910 | err = xattr_mkdir(inode, dentry, 0700); | 880 | err = xattr_mkdir(inode, dentry, 0700); |
911 | mutex_unlock(&inode->i_mutex); | 881 | if (err || !dentry->d_inode) { |
912 | if (err) { | 882 | reiserfs_warning(dentry->d_sb, "jdm-20006", |
913 | dput(dentry); | 883 | "xattrs/ACLs enabled and couldn't " |
914 | dentry = NULL; | 884 | "find/create .reiserfs_priv. " |
885 | "Failing mount."); | ||
886 | return -EOPNOTSUPP; | ||
915 | } | 887 | } |
916 | 888 | ||
917 | if (dentry && dentry->d_inode) | 889 | dentry->d_inode->i_flags |= S_PRIVATE; |
918 | reiserfs_info(dentry->d_sb, "Created %s - reserved for xattr " | 890 | reiserfs_info(dentry->d_sb, "Created %s - reserved for xattr " |
919 | "storage.\n", PRIVROOT_NAME); | 891 | "storage.\n", PRIVROOT_NAME); |
920 | 892 | ||
921 | return err; | 893 | return 0; |
922 | } | 894 | } |
923 | 895 | ||
896 | #else | ||
897 | int __init reiserfs_xattr_register_handlers(void) { return 0; } | ||
898 | void reiserfs_xattr_unregister_handlers(void) {} | ||
899 | static int create_privroot(struct dentry *dentry) { return 0; } | ||
900 | #endif | ||
901 | |||
902 | /* Actual operations that are exported to VFS-land */ | ||
903 | struct xattr_handler *reiserfs_xattr_handlers[] = { | ||
904 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
905 | &reiserfs_xattr_user_handler, | ||
906 | &reiserfs_xattr_trusted_handler, | ||
907 | #endif | ||
908 | #ifdef CONFIG_REISERFS_FS_SECURITY | ||
909 | &reiserfs_xattr_security_handler, | ||
910 | #endif | ||
911 | #ifdef CONFIG_REISERFS_FS_POSIX_ACL | ||
912 | &reiserfs_posix_acl_access_handler, | ||
913 | &reiserfs_posix_acl_default_handler, | ||
914 | #endif | ||
915 | NULL | ||
916 | }; | ||
917 | |||
924 | static int xattr_mount_check(struct super_block *s) | 918 | static int xattr_mount_check(struct super_block *s) |
925 | { | 919 | { |
926 | /* We need generation numbers to ensure that the oid mapping is correct | 920 | /* We need generation numbers to ensure that the oid mapping is correct |
@@ -940,21 +934,33 @@ static int xattr_mount_check(struct super_block *s) | |||
940 | return 0; | 934 | return 0; |
941 | } | 935 | } |
942 | 936 | ||
943 | #else | 937 | int reiserfs_permission(struct inode *inode, int mask) |
944 | int __init reiserfs_xattr_register_handlers(void) { return 0; } | 938 | { |
945 | void reiserfs_xattr_unregister_handlers(void) {} | 939 | /* |
940 | * We don't do permission checks on the internal objects. | ||
941 | * Permissions are determined by the "owning" object. | ||
942 | */ | ||
943 | if (IS_PRIVATE(inode)) | ||
944 | return 0; | ||
945 | |||
946 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
947 | /* | ||
948 | * Stat data v1 doesn't support ACLs. | ||
949 | */ | ||
950 | if (get_inode_sd_version(inode) != STAT_DATA_V1) | ||
951 | return generic_permission(inode, mask, reiserfs_check_acl); | ||
946 | #endif | 952 | #endif |
953 | return generic_permission(inode, mask, NULL); | ||
954 | } | ||
947 | 955 | ||
948 | /* This will catch lookups from the fs root to .reiserfs_priv */ | 956 | /* This will catch lookups from the fs root to .reiserfs_priv */ |
949 | static int | 957 | static int |
950 | xattr_lookup_poison(struct dentry *dentry, struct qstr *q1, struct qstr *name) | 958 | xattr_lookup_poison(struct dentry *dentry, struct qstr *q1, struct qstr *name) |
951 | { | 959 | { |
952 | struct dentry *priv_root = REISERFS_SB(dentry->d_sb)->priv_root; | 960 | struct dentry *priv_root = REISERFS_SB(dentry->d_sb)->priv_root; |
953 | if (name->len == priv_root->d_name.len && | 961 | if (container_of(q1, struct dentry, d_name) == priv_root) |
954 | name->hash == priv_root->d_name.hash && | ||
955 | !memcmp(name->name, priv_root->d_name.name, name->len)) { | ||
956 | return -ENOENT; | 962 | return -ENOENT; |
957 | } else if (q1->len == name->len && | 963 | if (q1->len == name->len && |
958 | !memcmp(q1->name, name->name, name->len)) | 964 | !memcmp(q1->name, name->name, name->len)) |
959 | return 0; | 965 | return 0; |
960 | return 1; | 966 | return 1; |
@@ -964,73 +970,71 @@ static const struct dentry_operations xattr_lookup_poison_ops = { | |||
964 | .d_compare = xattr_lookup_poison, | 970 | .d_compare = xattr_lookup_poison, |
965 | }; | 971 | }; |
966 | 972 | ||
973 | int reiserfs_lookup_privroot(struct super_block *s) | ||
974 | { | ||
975 | struct dentry *dentry; | ||
976 | int err = 0; | ||
977 | |||
978 | /* If we don't have the privroot located yet - go find it */ | ||
979 | mutex_lock(&s->s_root->d_inode->i_mutex); | ||
980 | dentry = lookup_one_len(PRIVROOT_NAME, s->s_root, | ||
981 | strlen(PRIVROOT_NAME)); | ||
982 | if (!IS_ERR(dentry)) { | ||
983 | REISERFS_SB(s)->priv_root = dentry; | ||
984 | s->s_root->d_op = &xattr_lookup_poison_ops; | ||
985 | if (dentry->d_inode) | ||
986 | dentry->d_inode->i_flags |= S_PRIVATE; | ||
987 | } else | ||
988 | err = PTR_ERR(dentry); | ||
989 | mutex_unlock(&s->s_root->d_inode->i_mutex); | ||
990 | |||
991 | return err; | ||
992 | } | ||
993 | |||
967 | /* We need to take a copy of the mount flags since things like | 994 | /* We need to take a copy of the mount flags since things like |
968 | * MS_RDONLY don't get set until *after* we're called. | 995 | * MS_RDONLY don't get set until *after* we're called. |
969 | * mount_flags != mount_options */ | 996 | * mount_flags != mount_options */ |
970 | int reiserfs_xattr_init(struct super_block *s, int mount_flags) | 997 | int reiserfs_xattr_init(struct super_block *s, int mount_flags) |
971 | { | 998 | { |
972 | int err = 0; | 999 | int err = 0; |
1000 | struct dentry *privroot = REISERFS_SB(s)->priv_root; | ||
973 | 1001 | ||
974 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
975 | err = xattr_mount_check(s); | 1002 | err = xattr_mount_check(s); |
976 | if (err) | 1003 | if (err) |
977 | goto error; | 1004 | goto error; |
978 | #endif | ||
979 | 1005 | ||
980 | /* If we don't have the privroot located yet - go find it */ | 1006 | if (!privroot->d_inode && !(mount_flags & MS_RDONLY)) { |
981 | if (!REISERFS_SB(s)->priv_root) { | 1007 | mutex_lock(&s->s_root->d_inode->i_mutex); |
982 | struct dentry *dentry; | 1008 | err = create_privroot(REISERFS_SB(s)->priv_root); |
983 | dentry = lookup_one_len(PRIVROOT_NAME, s->s_root, | 1009 | mutex_unlock(&s->s_root->d_inode->i_mutex); |
984 | strlen(PRIVROOT_NAME)); | ||
985 | if (!IS_ERR(dentry)) { | ||
986 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
987 | if (!(mount_flags & MS_RDONLY) && !dentry->d_inode) | ||
988 | err = create_privroot(dentry); | ||
989 | #endif | ||
990 | if (!dentry->d_inode) { | ||
991 | dput(dentry); | ||
992 | dentry = NULL; | ||
993 | } | ||
994 | } else | ||
995 | err = PTR_ERR(dentry); | ||
996 | |||
997 | if (!err && dentry) { | ||
998 | s->s_root->d_op = &xattr_lookup_poison_ops; | ||
999 | dentry->d_inode->i_flags |= S_PRIVATE; | ||
1000 | REISERFS_SB(s)->priv_root = dentry; | ||
1001 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
1002 | /* xattrs are unavailable */ | ||
1003 | } else if (!(mount_flags & MS_RDONLY)) { | ||
1004 | /* If we're read-only it just means that the dir | ||
1005 | * hasn't been created. Not an error -- just no | ||
1006 | * xattrs on the fs. We'll check again if we | ||
1007 | * go read-write */ | ||
1008 | reiserfs_warning(s, "jdm-20006", | ||
1009 | "xattrs/ACLs enabled and couldn't " | ||
1010 | "find/create .reiserfs_priv. " | ||
1011 | "Failing mount."); | ||
1012 | err = -EOPNOTSUPP; | ||
1013 | #endif | ||
1014 | } | ||
1015 | } | 1010 | } |
1016 | 1011 | ||
1017 | #ifdef CONFIG_REISERFS_FS_XATTR | 1012 | if (privroot->d_inode) { |
1018 | if (!err) | ||
1019 | s->s_xattr = reiserfs_xattr_handlers; | 1013 | s->s_xattr = reiserfs_xattr_handlers; |
1014 | mutex_lock(&privroot->d_inode->i_mutex); | ||
1015 | if (!REISERFS_SB(s)->xattr_root) { | ||
1016 | struct dentry *dentry; | ||
1017 | dentry = lookup_one_len(XAROOT_NAME, privroot, | ||
1018 | strlen(XAROOT_NAME)); | ||
1019 | if (!IS_ERR(dentry)) | ||
1020 | REISERFS_SB(s)->xattr_root = dentry; | ||
1021 | else | ||
1022 | err = PTR_ERR(dentry); | ||
1023 | } | ||
1024 | mutex_unlock(&privroot->d_inode->i_mutex); | ||
1025 | } | ||
1020 | 1026 | ||
1021 | error: | 1027 | error: |
1022 | if (err) { | 1028 | if (err) { |
1023 | clear_bit(REISERFS_XATTRS_USER, &(REISERFS_SB(s)->s_mount_opt)); | 1029 | clear_bit(REISERFS_XATTRS_USER, &(REISERFS_SB(s)->s_mount_opt)); |
1024 | clear_bit(REISERFS_POSIXACL, &(REISERFS_SB(s)->s_mount_opt)); | 1030 | clear_bit(REISERFS_POSIXACL, &(REISERFS_SB(s)->s_mount_opt)); |
1025 | } | 1031 | } |
1026 | #endif | ||
1027 | 1032 | ||
1028 | /* The super_block MS_POSIXACL must mirror the (no)acl mount option. */ | 1033 | /* The super_block MS_POSIXACL must mirror the (no)acl mount option. */ |
1029 | s->s_flags = s->s_flags & ~MS_POSIXACL; | ||
1030 | #ifdef CONFIG_REISERFS_FS_POSIX_ACL | ||
1031 | if (reiserfs_posixacl(s)) | 1034 | if (reiserfs_posixacl(s)) |
1032 | s->s_flags |= MS_POSIXACL; | 1035 | s->s_flags |= MS_POSIXACL; |
1033 | #endif | 1036 | else |
1037 | s->s_flags &= ~MS_POSIXACL; | ||
1034 | 1038 | ||
1035 | return err; | 1039 | return err; |
1036 | } | 1040 | } |
diff --git a/fs/reiserfs/xattr_security.c b/fs/reiserfs/xattr_security.c index 4d3c20e787c3..a92c8792c0f6 100644 --- a/fs/reiserfs/xattr_security.c +++ b/fs/reiserfs/xattr_security.c | |||
@@ -55,8 +55,16 @@ int reiserfs_security_init(struct inode *dir, struct inode *inode, | |||
55 | struct reiserfs_security_handle *sec) | 55 | struct reiserfs_security_handle *sec) |
56 | { | 56 | { |
57 | int blocks = 0; | 57 | int blocks = 0; |
58 | int error = security_inode_init_security(inode, dir, &sec->name, | 58 | int error; |
59 | &sec->value, &sec->length); | 59 | |
60 | sec->name = NULL; | ||
61 | |||
62 | /* Don't add selinux attributes on xattrs - they'll never get used */ | ||
63 | if (IS_PRIVATE(dir)) | ||
64 | return 0; | ||
65 | |||
66 | error = security_inode_init_security(inode, dir, &sec->name, | ||
67 | &sec->value, &sec->length); | ||
60 | if (error) { | 68 | if (error) { |
61 | if (error == -EOPNOTSUPP) | 69 | if (error == -EOPNOTSUPP) |
62 | error = 0; | 70 | error = 0; |
diff --git a/fs/romfs/super.c b/fs/romfs/super.c index c53b5ef8a02f..4ab3c03d8f95 100644 --- a/fs/romfs/super.c +++ b/fs/romfs/super.c | |||
@@ -298,7 +298,8 @@ static struct inode *romfs_iget(struct super_block *sb, unsigned long pos) | |||
298 | struct romfs_inode ri; | 298 | struct romfs_inode ri; |
299 | struct inode *i; | 299 | struct inode *i; |
300 | unsigned long nlen; | 300 | unsigned long nlen; |
301 | unsigned nextfh, ret; | 301 | unsigned nextfh; |
302 | int ret; | ||
302 | umode_t mode; | 303 | umode_t mode; |
303 | 304 | ||
304 | /* we might have to traverse a chain of "hard link" file entries to get | 305 | /* we might have to traverse a chain of "hard link" file entries to get |
diff --git a/fs/squashfs/Makefile b/fs/squashfs/Makefile index 8258cf9a0317..70e3244fa30f 100644 --- a/fs/squashfs/Makefile +++ b/fs/squashfs/Makefile | |||
@@ -5,4 +5,3 @@ | |||
5 | obj-$(CONFIG_SQUASHFS) += squashfs.o | 5 | obj-$(CONFIG_SQUASHFS) += squashfs.o |
6 | squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o | 6 | squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o |
7 | squashfs-y += namei.o super.o symlink.o | 7 | squashfs-y += namei.o super.o symlink.o |
8 | #squashfs-y += squashfs2_0.o | ||
diff --git a/fs/squashfs/cache.c b/fs/squashfs/cache.c index 1c4739e33af6..40c98fa6b5d6 100644 --- a/fs/squashfs/cache.c +++ b/fs/squashfs/cache.c | |||
@@ -252,6 +252,7 @@ struct squashfs_cache *squashfs_cache_init(char *name, int entries, | |||
252 | cache->entries = entries; | 252 | cache->entries = entries; |
253 | cache->block_size = block_size; | 253 | cache->block_size = block_size; |
254 | cache->pages = block_size >> PAGE_CACHE_SHIFT; | 254 | cache->pages = block_size >> PAGE_CACHE_SHIFT; |
255 | cache->pages = cache->pages ? cache->pages : 1; | ||
255 | cache->name = name; | 256 | cache->name = name; |
256 | cache->num_waiters = 0; | 257 | cache->num_waiters = 0; |
257 | spin_lock_init(&cache->lock); | 258 | spin_lock_init(&cache->lock); |
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c index ffa6edcd2d0c..0adc624c956f 100644 --- a/fs/squashfs/super.c +++ b/fs/squashfs/super.c | |||
@@ -157,6 +157,16 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent) | |||
157 | if (msblk->block_size > SQUASHFS_FILE_MAX_SIZE) | 157 | if (msblk->block_size > SQUASHFS_FILE_MAX_SIZE) |
158 | goto failed_mount; | 158 | goto failed_mount; |
159 | 159 | ||
160 | /* | ||
161 | * Check the system page size is not larger than the filesystem | ||
162 | * block size (by default 128K). This is currently not supported. | ||
163 | */ | ||
164 | if (PAGE_CACHE_SIZE > msblk->block_size) { | ||
165 | ERROR("Page size > filesystem block size (%d). This is " | ||
166 | "currently not supported!\n", msblk->block_size); | ||
167 | goto failed_mount; | ||
168 | } | ||
169 | |||
160 | msblk->block_log = le16_to_cpu(sblk->block_log); | 170 | msblk->block_log = le16_to_cpu(sblk->block_log); |
161 | if (msblk->block_log > SQUASHFS_FILE_MAX_LOG) | 171 | if (msblk->block_log > SQUASHFS_FILE_MAX_LOG) |
162 | goto failed_mount; | 172 | goto failed_mount; |
diff --git a/fs/super.c b/fs/super.c index 786fe7d72790..1943fdf655fa 100644 --- a/fs/super.c +++ b/fs/super.c | |||
@@ -208,6 +208,34 @@ void deactivate_super(struct super_block *s) | |||
208 | EXPORT_SYMBOL(deactivate_super); | 208 | EXPORT_SYMBOL(deactivate_super); |
209 | 209 | ||
210 | /** | 210 | /** |
211 | * deactivate_locked_super - drop an active reference to superblock | ||
212 | * @s: superblock to deactivate | ||
213 | * | ||
214 | * Equivalent of up_write(&s->s_umount); deactivate_super(s);, except that | ||
215 | * it does not unlock it until it's all over. As the result, it's safe to | ||
216 | * use to dispose of new superblock on ->get_sb() failure exits - nobody | ||
217 | * will see the sucker until it's all over. Equivalent using up_write + | ||
218 | * deactivate_super is safe for that purpose only if superblock is either | ||
219 | * safe to use or has NULL ->s_root when we unlock. | ||
220 | */ | ||
221 | void deactivate_locked_super(struct super_block *s) | ||
222 | { | ||
223 | struct file_system_type *fs = s->s_type; | ||
224 | if (atomic_dec_and_lock(&s->s_active, &sb_lock)) { | ||
225 | s->s_count -= S_BIAS-1; | ||
226 | spin_unlock(&sb_lock); | ||
227 | vfs_dq_off(s, 0); | ||
228 | fs->kill_sb(s); | ||
229 | put_filesystem(fs); | ||
230 | put_super(s); | ||
231 | } else { | ||
232 | up_write(&s->s_umount); | ||
233 | } | ||
234 | } | ||
235 | |||
236 | EXPORT_SYMBOL(deactivate_locked_super); | ||
237 | |||
238 | /** | ||
211 | * grab_super - acquire an active reference | 239 | * grab_super - acquire an active reference |
212 | * @s: reference we are trying to make active | 240 | * @s: reference we are trying to make active |
213 | * | 241 | * |
@@ -797,8 +825,7 @@ int get_sb_ns(struct file_system_type *fs_type, int flags, void *data, | |||
797 | sb->s_flags = flags; | 825 | sb->s_flags = flags; |
798 | err = fill_super(sb, data, flags & MS_SILENT ? 1 : 0); | 826 | err = fill_super(sb, data, flags & MS_SILENT ? 1 : 0); |
799 | if (err) { | 827 | if (err) { |
800 | up_write(&sb->s_umount); | 828 | deactivate_locked_super(sb); |
801 | deactivate_super(sb); | ||
802 | return err; | 829 | return err; |
803 | } | 830 | } |
804 | 831 | ||
@@ -854,8 +881,7 @@ int get_sb_bdev(struct file_system_type *fs_type, | |||
854 | 881 | ||
855 | if (s->s_root) { | 882 | if (s->s_root) { |
856 | if ((flags ^ s->s_flags) & MS_RDONLY) { | 883 | if ((flags ^ s->s_flags) & MS_RDONLY) { |
857 | up_write(&s->s_umount); | 884 | deactivate_locked_super(s); |
858 | deactivate_super(s); | ||
859 | error = -EBUSY; | 885 | error = -EBUSY; |
860 | goto error_bdev; | 886 | goto error_bdev; |
861 | } | 887 | } |
@@ -870,8 +896,7 @@ int get_sb_bdev(struct file_system_type *fs_type, | |||
870 | sb_set_blocksize(s, block_size(bdev)); | 896 | sb_set_blocksize(s, block_size(bdev)); |
871 | error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); | 897 | error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); |
872 | if (error) { | 898 | if (error) { |
873 | up_write(&s->s_umount); | 899 | deactivate_locked_super(s); |
874 | deactivate_super(s); | ||
875 | goto error; | 900 | goto error; |
876 | } | 901 | } |
877 | 902 | ||
@@ -897,7 +922,7 @@ void kill_block_super(struct super_block *sb) | |||
897 | struct block_device *bdev = sb->s_bdev; | 922 | struct block_device *bdev = sb->s_bdev; |
898 | fmode_t mode = sb->s_mode; | 923 | fmode_t mode = sb->s_mode; |
899 | 924 | ||
900 | bdev->bd_super = 0; | 925 | bdev->bd_super = NULL; |
901 | generic_shutdown_super(sb); | 926 | generic_shutdown_super(sb); |
902 | sync_blockdev(bdev); | 927 | sync_blockdev(bdev); |
903 | close_bdev_exclusive(bdev, mode); | 928 | close_bdev_exclusive(bdev, mode); |
@@ -921,8 +946,7 @@ int get_sb_nodev(struct file_system_type *fs_type, | |||
921 | 946 | ||
922 | error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); | 947 | error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); |
923 | if (error) { | 948 | if (error) { |
924 | up_write(&s->s_umount); | 949 | deactivate_locked_super(s); |
925 | deactivate_super(s); | ||
926 | return error; | 950 | return error; |
927 | } | 951 | } |
928 | s->s_flags |= MS_ACTIVE; | 952 | s->s_flags |= MS_ACTIVE; |
@@ -952,8 +976,7 @@ int get_sb_single(struct file_system_type *fs_type, | |||
952 | s->s_flags = flags; | 976 | s->s_flags = flags; |
953 | error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); | 977 | error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); |
954 | if (error) { | 978 | if (error) { |
955 | up_write(&s->s_umount); | 979 | deactivate_locked_super(s); |
956 | deactivate_super(s); | ||
957 | return error; | 980 | return error; |
958 | } | 981 | } |
959 | s->s_flags |= MS_ACTIVE; | 982 | s->s_flags |= MS_ACTIVE; |
@@ -1006,8 +1029,7 @@ vfs_kern_mount(struct file_system_type *type, int flags, const char *name, void | |||
1006 | return mnt; | 1029 | return mnt; |
1007 | out_sb: | 1030 | out_sb: |
1008 | dput(mnt->mnt_root); | 1031 | dput(mnt->mnt_root); |
1009 | up_write(&mnt->mnt_sb->s_umount); | 1032 | deactivate_locked_super(mnt->mnt_sb); |
1010 | deactivate_super(mnt->mnt_sb); | ||
1011 | out_free_secdata: | 1033 | out_free_secdata: |
1012 | free_secdata(secdata); | 1034 | free_secdata(secdata); |
1013 | out_mnt: | 1035 | out_mnt: |
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index b1606e07b7a3..561a9c050cef 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c | |||
@@ -723,7 +723,7 @@ int sysfs_schedule_callback(struct kobject *kobj, void (*func)(void *), | |||
723 | mutex_unlock(&sysfs_workq_mutex); | 723 | mutex_unlock(&sysfs_workq_mutex); |
724 | 724 | ||
725 | if (sysfs_workqueue == NULL) { | 725 | if (sysfs_workqueue == NULL) { |
726 | sysfs_workqueue = create_workqueue("sysfsd"); | 726 | sysfs_workqueue = create_singlethread_workqueue("sysfsd"); |
727 | if (sysfs_workqueue == NULL) { | 727 | if (sysfs_workqueue == NULL) { |
728 | module_put(owner); | 728 | module_put(owner); |
729 | return -ENOMEM; | 729 | return -ENOMEM; |
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index faa44f90608a..e9f7a754c4f7 100644 --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c | |||
@@ -2055,8 +2055,7 @@ static int ubifs_get_sb(struct file_system_type *fs_type, int flags, | |||
2055 | return 0; | 2055 | return 0; |
2056 | 2056 | ||
2057 | out_deact: | 2057 | out_deact: |
2058 | up_write(&sb->s_umount); | 2058 | deactivate_locked_super(sb); |
2059 | deactivate_super(sb); | ||
2060 | out_close: | 2059 | out_close: |
2061 | ubi_close_volume(ubi); | 2060 | ubi_close_volume(ubi); |
2062 | return err; | 2061 | return err; |
diff --git a/fs/ufs/dir.c b/fs/ufs/dir.c index dbbbc4668769..6321b797061b 100644 --- a/fs/ufs/dir.c +++ b/fs/ufs/dir.c | |||
@@ -666,6 +666,6 @@ not_empty: | |||
666 | const struct file_operations ufs_dir_operations = { | 666 | const struct file_operations ufs_dir_operations = { |
667 | .read = generic_read_dir, | 667 | .read = generic_read_dir, |
668 | .readdir = ufs_readdir, | 668 | .readdir = ufs_readdir, |
669 | .fsync = file_fsync, | 669 | .fsync = ufs_sync_file, |
670 | .llseek = generic_file_llseek, | 670 | .llseek = generic_file_llseek, |
671 | }; | 671 | }; |
diff --git a/fs/ufs/file.c b/fs/ufs/file.c index 625ef17c6f83..2bd3a1615714 100644 --- a/fs/ufs/file.c +++ b/fs/ufs/file.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include "ufs.h" | 30 | #include "ufs.h" |
31 | 31 | ||
32 | 32 | ||
33 | static int ufs_sync_file(struct file *file, struct dentry *dentry, int datasync) | 33 | int ufs_sync_file(struct file *file, struct dentry *dentry, int datasync) |
34 | { | 34 | { |
35 | struct inode *inode = dentry->d_inode; | 35 | struct inode *inode = dentry->d_inode; |
36 | int err; | 36 | int err; |
diff --git a/fs/ufs/ufs.h b/fs/ufs/ufs.h index 69b3427d7885..d0c4acd4f1f3 100644 --- a/fs/ufs/ufs.h +++ b/fs/ufs/ufs.h | |||
@@ -98,8 +98,8 @@ extern void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de, | |||
98 | /* file.c */ | 98 | /* file.c */ |
99 | extern const struct inode_operations ufs_file_inode_operations; | 99 | extern const struct inode_operations ufs_file_inode_operations; |
100 | extern const struct file_operations ufs_file_operations; | 100 | extern const struct file_operations ufs_file_operations; |
101 | |||
102 | extern const struct address_space_operations ufs_aops; | 101 | extern const struct address_space_operations ufs_aops; |
102 | extern int ufs_sync_file(struct file *, struct dentry *, int); | ||
103 | 103 | ||
104 | /* ialloc.c */ | 104 | /* ialloc.c */ |
105 | extern void ufs_free_inode (struct inode *inode); | 105 | extern void ufs_free_inode (struct inode *inode); |
diff --git a/fs/xfs/linux-2.6/kmem.h b/fs/xfs/linux-2.6/kmem.h index af6843c7ee4b..179cbd630f69 100644 --- a/fs/xfs/linux-2.6/kmem.h +++ b/fs/xfs/linux-2.6/kmem.h | |||
@@ -103,7 +103,7 @@ extern void *kmem_zone_zalloc(kmem_zone_t *, unsigned int __nocast); | |||
103 | static inline int | 103 | static inline int |
104 | kmem_shake_allow(gfp_t gfp_mask) | 104 | kmem_shake_allow(gfp_t gfp_mask) |
105 | { | 105 | { |
106 | return (gfp_mask & __GFP_WAIT) != 0; | 106 | return ((gfp_mask & __GFP_WAIT) && (gfp_mask & __GFP_FS)); |
107 | } | 107 | } |
108 | 108 | ||
109 | #endif /* __XFS_SUPPORT_KMEM_H__ */ | 109 | #endif /* __XFS_SUPPORT_KMEM_H__ */ |
diff --git a/fs/xfs/xfs_dfrag.c b/fs/xfs/xfs_dfrag.c index e6d839bddbf0..7465f9ee125f 100644 --- a/fs/xfs/xfs_dfrag.c +++ b/fs/xfs/xfs_dfrag.c | |||
@@ -347,13 +347,15 @@ xfs_swap_extents( | |||
347 | 347 | ||
348 | error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); | 348 | error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); |
349 | 349 | ||
350 | out_unlock: | ||
351 | xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
352 | xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
353 | out: | 350 | out: |
354 | kmem_free(tempifp); | 351 | kmem_free(tempifp); |
355 | return error; | 352 | return error; |
356 | 353 | ||
354 | out_unlock: | ||
355 | xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
356 | xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
357 | goto out; | ||
358 | |||
357 | out_trans_cancel: | 359 | out_trans_cancel: |
358 | xfs_trans_cancel(tp, 0); | 360 | xfs_trans_cancel(tp, 0); |
359 | goto out_unlock; | 361 | goto out_unlock; |
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index 8379e3bca26c..cbd451bb4848 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c | |||
@@ -160,7 +160,7 @@ xfs_growfs_data_private( | |||
160 | nagcount = new + (nb_mod != 0); | 160 | nagcount = new + (nb_mod != 0); |
161 | if (nb_mod && nb_mod < XFS_MIN_AG_BLOCKS) { | 161 | if (nb_mod && nb_mod < XFS_MIN_AG_BLOCKS) { |
162 | nagcount--; | 162 | nagcount--; |
163 | nb = nagcount * mp->m_sb.sb_agblocks; | 163 | nb = (xfs_rfsblock_t)nagcount * mp->m_sb.sb_agblocks; |
164 | if (nb < mp->m_sb.sb_dblocks) | 164 | if (nb < mp->m_sb.sb_dblocks) |
165 | return XFS_ERROR(EINVAL); | 165 | return XFS_ERROR(EINVAL); |
166 | } | 166 | } |
diff --git a/include/asm-generic/local.h b/include/asm-generic/local.h index dbd6150763e9..fc218444e315 100644 --- a/include/asm-generic/local.h +++ b/include/asm-generic/local.h | |||
@@ -42,7 +42,7 @@ typedef struct | |||
42 | 42 | ||
43 | #define local_cmpxchg(l, o, n) atomic_long_cmpxchg((&(l)->a), (o), (n)) | 43 | #define local_cmpxchg(l, o, n) atomic_long_cmpxchg((&(l)->a), (o), (n)) |
44 | #define local_xchg(l, n) atomic_long_xchg((&(l)->a), (n)) | 44 | #define local_xchg(l, n) atomic_long_xchg((&(l)->a), (n)) |
45 | #define local_add_unless(l, a, u) atomic_long_add_unless((&(l)->a), (a), (u)) | 45 | #define local_add_unless(l, _a, u) atomic_long_add_unless((&(l)->a), (_a), (u)) |
46 | #define local_inc_not_zero(l) atomic_long_inc_not_zero(&(l)->a) | 46 | #define local_inc_not_zero(l) atomic_long_inc_not_zero(&(l)->a) |
47 | 47 | ||
48 | /* Non-atomic variants, ie. preemption disabled and won't be touched | 48 | /* Non-atomic variants, ie. preemption disabled and won't be touched |
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index c8c422151431..b84d8ae35e6f 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
@@ -1519,6 +1519,30 @@ static __inline__ void *drm_calloc(size_t nmemb, size_t size, int area) | |||
1519 | { | 1519 | { |
1520 | return kcalloc(nmemb, size, GFP_KERNEL); | 1520 | return kcalloc(nmemb, size, GFP_KERNEL); |
1521 | } | 1521 | } |
1522 | |||
1523 | static __inline__ void *drm_calloc_large(size_t nmemb, size_t size) | ||
1524 | { | ||
1525 | u8 *addr; | ||
1526 | |||
1527 | if (size <= PAGE_SIZE) | ||
1528 | return kcalloc(nmemb, size, GFP_KERNEL); | ||
1529 | |||
1530 | addr = vmalloc(nmemb * size); | ||
1531 | if (!addr) | ||
1532 | return NULL; | ||
1533 | |||
1534 | memset(addr, 0, nmemb * size); | ||
1535 | |||
1536 | return addr; | ||
1537 | } | ||
1538 | |||
1539 | static __inline void drm_free_large(void *ptr) | ||
1540 | { | ||
1541 | if (!is_vmalloc_addr(ptr)) | ||
1542 | return kfree(ptr); | ||
1543 | |||
1544 | vfree(ptr); | ||
1545 | } | ||
1522 | #else | 1546 | #else |
1523 | extern void *drm_alloc(size_t size, int area); | 1547 | extern void *drm_alloc(size_t size, int area); |
1524 | extern void drm_free(void *pt, size_t size, int area); | 1548 | extern void drm_free(void *pt, size_t size, int area); |
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 3c1924c010e8..7300fb866767 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h | |||
@@ -471,6 +471,9 @@ struct drm_connector { | |||
471 | u32 property_ids[DRM_CONNECTOR_MAX_PROPERTY]; | 471 | u32 property_ids[DRM_CONNECTOR_MAX_PROPERTY]; |
472 | uint64_t property_values[DRM_CONNECTOR_MAX_PROPERTY]; | 472 | uint64_t property_values[DRM_CONNECTOR_MAX_PROPERTY]; |
473 | 473 | ||
474 | /* requested DPMS state */ | ||
475 | int dpms; | ||
476 | |||
474 | void *helper_private; | 477 | void *helper_private; |
475 | 478 | ||
476 | uint32_t encoder_ids[DRM_CONNECTOR_MAX_ENCODER]; | 479 | uint32_t encoder_ids[DRM_CONNECTOR_MAX_ENCODER]; |
diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h index ec073d8288d9..6769ff6c1bc0 100644 --- a/include/drm/drm_crtc_helper.h +++ b/include/drm/drm_crtc_helper.h | |||
@@ -99,6 +99,8 @@ extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, | |||
99 | struct drm_framebuffer *old_fb); | 99 | struct drm_framebuffer *old_fb); |
100 | extern bool drm_helper_crtc_in_use(struct drm_crtc *crtc); | 100 | extern bool drm_helper_crtc_in_use(struct drm_crtc *crtc); |
101 | 101 | ||
102 | extern void drm_helper_connector_dpms(struct drm_connector *connector, int mode); | ||
103 | |||
102 | extern int drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb, | 104 | extern int drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb, |
103 | struct drm_mode_fb_cmd *mode_cmd); | 105 | struct drm_mode_fb_cmd *mode_cmd); |
104 | 106 | ||
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index 95962fa8398a..8e1e92583fbc 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h | |||
@@ -184,6 +184,7 @@ typedef struct _drm_i915_sarea { | |||
184 | #define DRM_I915_GEM_GET_TILING 0x22 | 184 | #define DRM_I915_GEM_GET_TILING 0x22 |
185 | #define DRM_I915_GEM_GET_APERTURE 0x23 | 185 | #define DRM_I915_GEM_GET_APERTURE 0x23 |
186 | #define DRM_I915_GEM_MMAP_GTT 0x24 | 186 | #define DRM_I915_GEM_MMAP_GTT 0x24 |
187 | #define DRM_I915_GET_PIPE_FROM_CRTC_ID 0x25 | ||
187 | 188 | ||
188 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) | 189 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) |
189 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) | 190 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) |
@@ -219,6 +220,7 @@ typedef struct _drm_i915_sarea { | |||
219 | #define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling) | 220 | #define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling) |
220 | #define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling) | 221 | #define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling) |
221 | #define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture) | 222 | #define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture) |
223 | #define DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GET_PIPE_FROM_CRTC_ID, struct drm_intel_get_pipe_from_crtc_id) | ||
222 | 224 | ||
223 | /* Allow drivers to submit batchbuffers directly to hardware, relying | 225 | /* Allow drivers to submit batchbuffers directly to hardware, relying |
224 | * on the security mechanisms provided by hardware. | 226 | * on the security mechanisms provided by hardware. |
@@ -657,4 +659,12 @@ struct drm_i915_gem_get_aperture { | |||
657 | __u64 aper_available_size; | 659 | __u64 aper_available_size; |
658 | }; | 660 | }; |
659 | 661 | ||
662 | struct drm_i915_get_pipe_from_crtc_id { | ||
663 | /** ID of CRTC being requested **/ | ||
664 | __u32 crtc_id; | ||
665 | |||
666 | /** pipe of requested CRTC **/ | ||
667 | __u32 pipe; | ||
668 | }; | ||
669 | |||
660 | #endif /* _I915_DRM_H_ */ | 670 | #endif /* _I915_DRM_H_ */ |
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index ca9b9b9bd331..3f0eaa397ef5 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -138,6 +138,7 @@ header-y += qnxtypes.h | |||
138 | header-y += radeonfb.h | 138 | header-y += radeonfb.h |
139 | header-y += raw.h | 139 | header-y += raw.h |
140 | header-y += resource.h | 140 | header-y += resource.h |
141 | header-y += romfs_fs.h | ||
141 | header-y += rose.h | 142 | header-y += rose.h |
142 | header-y += serial_reg.h | 143 | header-y += serial_reg.h |
143 | header-y += smbno.h | 144 | header-y += smbno.h |
@@ -314,7 +315,6 @@ unifdef-y += irqnr.h | |||
314 | unifdef-y += reboot.h | 315 | unifdef-y += reboot.h |
315 | unifdef-y += reiserfs_fs.h | 316 | unifdef-y += reiserfs_fs.h |
316 | unifdef-y += reiserfs_xattr.h | 317 | unifdef-y += reiserfs_xattr.h |
317 | unifdef-y += romfs_fs.h | ||
318 | unifdef-y += route.h | 318 | unifdef-y += route.h |
319 | unifdef-y += rtc.h | 319 | unifdef-y += rtc.h |
320 | unifdef-y += rtnetlink.h | 320 | unifdef-y += rtnetlink.h |
diff --git a/include/linux/amba/bus.h b/include/linux/amba/bus.h index 51e6e54b2aa1..9b93cafa82a0 100644 --- a/include/linux/amba/bus.h +++ b/include/linux/amba/bus.h | |||
@@ -28,7 +28,7 @@ struct amba_id { | |||
28 | 28 | ||
29 | struct amba_driver { | 29 | struct amba_driver { |
30 | struct device_driver drv; | 30 | struct device_driver drv; |
31 | int (*probe)(struct amba_device *, void *); | 31 | int (*probe)(struct amba_device *, struct amba_id *); |
32 | int (*remove)(struct amba_device *); | 32 | int (*remove)(struct amba_device *); |
33 | void (*shutdown)(struct amba_device *); | 33 | void (*shutdown)(struct amba_device *); |
34 | int (*suspend)(struct amba_device *, pm_message_t); | 34 | int (*suspend)(struct amba_device *, pm_message_t); |
diff --git a/include/linux/ata.h b/include/linux/ata.h index cb79b7a208e1..915da43edee1 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -730,6 +730,34 @@ static inline int ata_id_has_unload(const u16 *id) | |||
730 | return 0; | 730 | return 0; |
731 | } | 731 | } |
732 | 732 | ||
733 | static inline int ata_id_form_factor(const u16 *id) | ||
734 | { | ||
735 | u16 val = id[168]; | ||
736 | |||
737 | if (ata_id_major_version(id) < 7 || val == 0 || val == 0xffff) | ||
738 | return 0; | ||
739 | |||
740 | val &= 0xf; | ||
741 | |||
742 | if (val > 5) | ||
743 | return 0; | ||
744 | |||
745 | return val; | ||
746 | } | ||
747 | |||
748 | static inline int ata_id_rotation_rate(const u16 *id) | ||
749 | { | ||
750 | u16 val = id[217]; | ||
751 | |||
752 | if (ata_id_major_version(id) < 7 || val == 0 || val == 0xffff) | ||
753 | return 0; | ||
754 | |||
755 | if (val > 1 && val < 0x401) | ||
756 | return 0; | ||
757 | |||
758 | return val; | ||
759 | } | ||
760 | |||
733 | static inline int ata_id_has_trim(const u16 *id) | 761 | static inline int ata_id_has_trim(const u16 *id) |
734 | { | 762 | { |
735 | if (ata_id_major_version(id) >= 7 && | 763 | if (ata_id_major_version(id) >= 7 && |
diff --git a/include/linux/auto_fs.h b/include/linux/auto_fs.h index 63265852b7d1..7b09c8348fd3 100644 --- a/include/linux/auto_fs.h +++ b/include/linux/auto_fs.h | |||
@@ -14,13 +14,12 @@ | |||
14 | #ifndef _LINUX_AUTO_FS_H | 14 | #ifndef _LINUX_AUTO_FS_H |
15 | #define _LINUX_AUTO_FS_H | 15 | #define _LINUX_AUTO_FS_H |
16 | 16 | ||
17 | #include <linux/types.h> | ||
17 | #ifdef __KERNEL__ | 18 | #ifdef __KERNEL__ |
18 | #include <linux/fs.h> | 19 | #include <linux/fs.h> |
19 | #include <linux/limits.h> | 20 | #include <linux/limits.h> |
20 | #include <linux/types.h> | ||
21 | #include <linux/ioctl.h> | 21 | #include <linux/ioctl.h> |
22 | #else | 22 | #else |
23 | #include <asm/types.h> | ||
24 | #include <sys/ioctl.h> | 23 | #include <sys/ioctl.h> |
25 | #endif /* __KERNEL__ */ | 24 | #endif /* __KERNEL__ */ |
26 | 25 | ||
diff --git a/include/linux/cred.h b/include/linux/cred.h index 3282ee4318e7..4fa999696310 100644 --- a/include/linux/cred.h +++ b/include/linux/cred.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #define _LINUX_CRED_H | 13 | #define _LINUX_CRED_H |
14 | 14 | ||
15 | #include <linux/capability.h> | 15 | #include <linux/capability.h> |
16 | #include <linux/init.h> | ||
16 | #include <linux/key.h> | 17 | #include <linux/key.h> |
17 | #include <asm/atomic.h> | 18 | #include <asm/atomic.h> |
18 | 19 | ||
diff --git a/include/linux/device.h b/include/linux/device.h index 6a69caaac18a..5d5c197bad45 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -384,13 +384,8 @@ struct device { | |||
384 | struct device_driver *driver; /* which driver has allocated this | 384 | struct device_driver *driver; /* which driver has allocated this |
385 | device */ | 385 | device */ |
386 | void *driver_data; /* data private to the driver */ | 386 | void *driver_data; /* data private to the driver */ |
387 | 387 | void *platform_data; /* Platform specific data, device | |
388 | void *platform_data; /* We will remove platform_data | 388 | core doesn't touch it */ |
389 | field if all platform devices | ||
390 | pass its platform specific data | ||
391 | from platform_device->platform_data, | ||
392 | other kind of devices should not | ||
393 | use platform_data. */ | ||
394 | struct dev_pm_info power; | 389 | struct dev_pm_info power; |
395 | 390 | ||
396 | #ifdef CONFIG_NUMA | 391 | #ifdef CONFIG_NUMA |
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 2e2aa3df170c..ffefba81c818 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
@@ -78,12 +78,18 @@ enum dma_transaction_type { | |||
78 | * dependency chains | 78 | * dependency chains |
79 | * @DMA_COMPL_SKIP_SRC_UNMAP - set to disable dma-unmapping the source buffer(s) | 79 | * @DMA_COMPL_SKIP_SRC_UNMAP - set to disable dma-unmapping the source buffer(s) |
80 | * @DMA_COMPL_SKIP_DEST_UNMAP - set to disable dma-unmapping the destination(s) | 80 | * @DMA_COMPL_SKIP_DEST_UNMAP - set to disable dma-unmapping the destination(s) |
81 | * @DMA_COMPL_SRC_UNMAP_SINGLE - set to do the source dma-unmapping as single | ||
82 | * (if not set, do the source dma-unmapping as page) | ||
83 | * @DMA_COMPL_DEST_UNMAP_SINGLE - set to do the destination dma-unmapping as single | ||
84 | * (if not set, do the destination dma-unmapping as page) | ||
81 | */ | 85 | */ |
82 | enum dma_ctrl_flags { | 86 | enum dma_ctrl_flags { |
83 | DMA_PREP_INTERRUPT = (1 << 0), | 87 | DMA_PREP_INTERRUPT = (1 << 0), |
84 | DMA_CTRL_ACK = (1 << 1), | 88 | DMA_CTRL_ACK = (1 << 1), |
85 | DMA_COMPL_SKIP_SRC_UNMAP = (1 << 2), | 89 | DMA_COMPL_SKIP_SRC_UNMAP = (1 << 2), |
86 | DMA_COMPL_SKIP_DEST_UNMAP = (1 << 3), | 90 | DMA_COMPL_SKIP_DEST_UNMAP = (1 << 3), |
91 | DMA_COMPL_SRC_UNMAP_SINGLE = (1 << 4), | ||
92 | DMA_COMPL_DEST_UNMAP_SINGLE = (1 << 5), | ||
87 | }; | 93 | }; |
88 | 94 | ||
89 | /** | 95 | /** |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 5bed436f4353..3b534e527e09 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1775,6 +1775,7 @@ void kill_block_super(struct super_block *sb); | |||
1775 | void kill_anon_super(struct super_block *sb); | 1775 | void kill_anon_super(struct super_block *sb); |
1776 | void kill_litter_super(struct super_block *sb); | 1776 | void kill_litter_super(struct super_block *sb); |
1777 | void deactivate_super(struct super_block *sb); | 1777 | void deactivate_super(struct super_block *sb); |
1778 | void deactivate_locked_super(struct super_block *sb); | ||
1778 | int set_anon_super(struct super_block *s, void *data); | 1779 | int set_anon_super(struct super_block *s, void *data); |
1779 | struct super_block *sget(struct file_system_type *type, | 1780 | struct super_block *sget(struct file_system_type *type, |
1780 | int (*test)(struct super_block *,void *), | 1781 | int (*test)(struct super_block *,void *), |
@@ -2117,7 +2118,7 @@ extern struct file *create_write_pipe(int flags); | |||
2117 | extern void free_write_pipe(struct file *); | 2118 | extern void free_write_pipe(struct file *); |
2118 | 2119 | ||
2119 | extern struct file *do_filp_open(int dfd, const char *pathname, | 2120 | extern struct file *do_filp_open(int dfd, const char *pathname, |
2120 | int open_flag, int mode); | 2121 | int open_flag, int mode, int acc_mode); |
2121 | extern int may_open(struct path *, int, int); | 2122 | extern int may_open(struct path *, int, int); |
2122 | 2123 | ||
2123 | extern int kernel_read(struct file *, unsigned long, char *, unsigned long); | 2124 | extern int kernel_read(struct file *, unsigned long, char *, unsigned long); |
@@ -2367,6 +2368,7 @@ extern void file_update_time(struct file *file); | |||
2367 | 2368 | ||
2368 | extern int generic_show_options(struct seq_file *m, struct vfsmount *mnt); | 2369 | extern int generic_show_options(struct seq_file *m, struct vfsmount *mnt); |
2369 | extern void save_mount_options(struct super_block *sb, char *options); | 2370 | extern void save_mount_options(struct super_block *sb, char *options); |
2371 | extern void replace_mount_options(struct super_block *sb, char *options); | ||
2370 | 2372 | ||
2371 | static inline ino_t parent_ino(struct dentry *dentry) | 2373 | static inline ino_t parent_ino(struct dentry *dentry) |
2372 | { | 2374 | { |
diff --git a/include/linux/i7300_idle.h b/include/linux/i7300_idle.h index 05a80c44513c..1587b7dec505 100644 --- a/include/linux/i7300_idle.h +++ b/include/linux/i7300_idle.h | |||
@@ -16,35 +16,33 @@ | |||
16 | struct fbd_ioat { | 16 | struct fbd_ioat { |
17 | unsigned int vendor; | 17 | unsigned int vendor; |
18 | unsigned int ioat_dev; | 18 | unsigned int ioat_dev; |
19 | unsigned int enabled; | ||
19 | }; | 20 | }; |
20 | 21 | ||
21 | /* | 22 | /* |
22 | * The i5000 chip-set has the same hooks as the i7300 | 23 | * The i5000 chip-set has the same hooks as the i7300 |
23 | * but support is disabled by default because this driver | 24 | * but it is not enabled by default and must be manually |
24 | * has not been validated on that platform. | 25 | * manually enabled with "forceload=1" because it is |
26 | * only lightly validated. | ||
25 | */ | 27 | */ |
26 | #define SUPPORT_I5000 0 | ||
27 | 28 | ||
28 | static const struct fbd_ioat fbd_ioat_list[] = { | 29 | static const struct fbd_ioat fbd_ioat_list[] = { |
29 | {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB}, | 30 | {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB, 1}, |
30 | #if SUPPORT_I5000 | 31 | {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT, 0}, |
31 | {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT}, | ||
32 | #endif | ||
33 | {0, 0} | 32 | {0, 0} |
34 | }; | 33 | }; |
35 | 34 | ||
36 | /* table of devices that work with this driver */ | 35 | /* table of devices that work with this driver */ |
37 | static const struct pci_device_id pci_tbl[] = { | 36 | static const struct pci_device_id pci_tbl[] = { |
38 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_FBD_CNB) }, | 37 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_FBD_CNB) }, |
39 | #if SUPPORT_I5000 | ||
40 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5000_ERR) }, | 38 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5000_ERR) }, |
41 | #endif | ||
42 | { } /* Terminating entry */ | 39 | { } /* Terminating entry */ |
43 | }; | 40 | }; |
44 | 41 | ||
45 | /* Check for known platforms with I/O-AT */ | 42 | /* Check for known platforms with I/O-AT */ |
46 | static inline int i7300_idle_platform_probe(struct pci_dev **fbd_dev, | 43 | static inline int i7300_idle_platform_probe(struct pci_dev **fbd_dev, |
47 | struct pci_dev **ioat_dev) | 44 | struct pci_dev **ioat_dev, |
45 | int enable_all) | ||
48 | { | 46 | { |
49 | int i; | 47 | int i; |
50 | struct pci_dev *memdev, *dmadev; | 48 | struct pci_dev *memdev, *dmadev; |
@@ -69,6 +67,8 @@ static inline int i7300_idle_platform_probe(struct pci_dev **fbd_dev, | |||
69 | for (i = 0; fbd_ioat_list[i].vendor != 0; i++) { | 67 | for (i = 0; fbd_ioat_list[i].vendor != 0; i++) { |
70 | if (dmadev->vendor == fbd_ioat_list[i].vendor && | 68 | if (dmadev->vendor == fbd_ioat_list[i].vendor && |
71 | dmadev->device == fbd_ioat_list[i].ioat_dev) { | 69 | dmadev->device == fbd_ioat_list[i].ioat_dev) { |
70 | if (!(fbd_ioat_list[i].enabled || enable_all)) | ||
71 | continue; | ||
72 | if (fbd_dev) | 72 | if (fbd_dev) |
73 | *fbd_dev = memdev; | 73 | *fbd_dev = memdev; |
74 | if (ioat_dev) | 74 | if (ioat_dev) |
diff --git a/include/linux/ide.h b/include/linux/ide.h index ff65fffb078f..9fed365a598b 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1109,7 +1109,7 @@ void ide_fix_driveid(u16 *); | |||
1109 | 1109 | ||
1110 | extern void ide_fixstring(u8 *, const int, const int); | 1110 | extern void ide_fixstring(u8 *, const int, const int); |
1111 | 1111 | ||
1112 | int ide_busy_sleep(ide_hwif_t *, unsigned long, int); | 1112 | int ide_busy_sleep(ide_drive_t *, unsigned long, int); |
1113 | 1113 | ||
1114 | int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); | 1114 | int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); |
1115 | 1115 | ||
diff --git a/include/linux/input.h b/include/linux/input.h index 0e6ff5de3588..6fed4f6a9c9e 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -656,6 +656,7 @@ struct input_absinfo { | |||
656 | #define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */ | 656 | #define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */ |
657 | #define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */ | 657 | #define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */ |
658 | #define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */ | 658 | #define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */ |
659 | #define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */ | ||
659 | 660 | ||
660 | #define ABS_MAX 0x3f | 661 | #define ABS_MAX 0x3f |
661 | #define ABS_CNT (ABS_MAX+1) | 662 | #define ABS_CNT (ABS_MAX+1) |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 186ec6ab334d..a47c879e1304 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -1097,6 +1097,32 @@ unsigned long __init node_memmap_size_bytes(int, unsigned long, unsigned long); | |||
1097 | #define pfn_valid_within(pfn) (1) | 1097 | #define pfn_valid_within(pfn) (1) |
1098 | #endif | 1098 | #endif |
1099 | 1099 | ||
1100 | #ifdef CONFIG_ARCH_HAS_HOLES_MEMORYMODEL | ||
1101 | /* | ||
1102 | * pfn_valid() is meant to be able to tell if a given PFN has valid memmap | ||
1103 | * associated with it or not. In FLATMEM, it is expected that holes always | ||
1104 | * have valid memmap as long as there is valid PFNs either side of the hole. | ||
1105 | * In SPARSEMEM, it is assumed that a valid section has a memmap for the | ||
1106 | * entire section. | ||
1107 | * | ||
1108 | * However, an ARM, and maybe other embedded architectures in the future | ||
1109 | * free memmap backing holes to save memory on the assumption the memmap is | ||
1110 | * never used. The page_zone linkages are then broken even though pfn_valid() | ||
1111 | * returns true. A walker of the full memmap must then do this additional | ||
1112 | * check to ensure the memmap they are looking at is sane by making sure | ||
1113 | * the zone and PFN linkages are still valid. This is expensive, but walkers | ||
1114 | * of the full memmap are extremely rare. | ||
1115 | */ | ||
1116 | int memmap_valid_within(unsigned long pfn, | ||
1117 | struct page *page, struct zone *zone); | ||
1118 | #else | ||
1119 | static inline int memmap_valid_within(unsigned long pfn, | ||
1120 | struct page *page, struct zone *zone) | ||
1121 | { | ||
1122 | return 1; | ||
1123 | } | ||
1124 | #endif /* CONFIG_ARCH_HAS_HOLES_MEMORYMODEL */ | ||
1125 | |||
1100 | #endif /* !__GENERATING_BOUNDS.H */ | 1126 | #endif /* !__GENERATING_BOUNDS.H */ |
1101 | #endif /* !__ASSEMBLY__ */ | 1127 | #endif /* !__ASSEMBLY__ */ |
1102 | #endif /* _LINUX_MMZONE_H */ | 1128 | #endif /* _LINUX_MMZONE_H */ |
diff --git a/include/linux/namei.h b/include/linux/namei.h index fc2e03579877..518098fe63af 100644 --- a/include/linux/namei.h +++ b/include/linux/namei.h | |||
@@ -69,7 +69,6 @@ extern int path_lookup(const char *, unsigned, struct nameidata *); | |||
69 | extern int vfs_path_lookup(struct dentry *, struct vfsmount *, | 69 | extern int vfs_path_lookup(struct dentry *, struct vfsmount *, |
70 | const char *, unsigned int, struct nameidata *); | 70 | const char *, unsigned int, struct nameidata *); |
71 | 71 | ||
72 | extern int path_lookup_open(int dfd, const char *name, unsigned lookup_flags, struct nameidata *, int open_flags); | ||
73 | extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, | 72 | extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, |
74 | int (*open)(struct inode *, struct file *)); | 73 | int (*open)(struct inode *, struct file *)); |
75 | extern struct file *nameidata_to_filp(struct nameidata *nd, int flags); | 74 | extern struct file *nameidata_to_filp(struct nameidata *nd, int flags); |
diff --git a/include/linux/net_dropmon.h b/include/linux/net_dropmon.h index 0217fb81a630..0e2e100c44a2 100644 --- a/include/linux/net_dropmon.h +++ b/include/linux/net_dropmon.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __NET_DROPMON_H | 1 | #ifndef __NET_DROPMON_H |
2 | #define __NET_DROPMON_H | 2 | #define __NET_DROPMON_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/netlink.h> | 5 | #include <linux/netlink.h> |
5 | 6 | ||
6 | struct net_dm_drop_point { | 7 | struct net_dm_drop_point { |
diff --git a/include/linux/netfilter/nf_conntrack_tcp.h b/include/linux/netfilter/nf_conntrack_tcp.h index 3066789b972a..b2f384d42611 100644 --- a/include/linux/netfilter/nf_conntrack_tcp.h +++ b/include/linux/netfilter/nf_conntrack_tcp.h | |||
@@ -35,6 +35,9 @@ enum tcp_conntrack { | |||
35 | /* Has unacknowledged data */ | 35 | /* Has unacknowledged data */ |
36 | #define IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED 0x10 | 36 | #define IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED 0x10 |
37 | 37 | ||
38 | /* The field td_maxack has been set */ | ||
39 | #define IP_CT_TCP_FLAG_MAXACK_SET 0x20 | ||
40 | |||
38 | struct nf_ct_tcp_flags { | 41 | struct nf_ct_tcp_flags { |
39 | __u8 flags; | 42 | __u8 flags; |
40 | __u8 mask; | 43 | __u8 mask; |
@@ -46,6 +49,7 @@ struct ip_ct_tcp_state { | |||
46 | u_int32_t td_end; /* max of seq + len */ | 49 | u_int32_t td_end; /* max of seq + len */ |
47 | u_int32_t td_maxend; /* max of ack + max(win, 1) */ | 50 | u_int32_t td_maxend; /* max of ack + max(win, 1) */ |
48 | u_int32_t td_maxwin; /* max(win) */ | 51 | u_int32_t td_maxwin; /* max(win) */ |
52 | u_int32_t td_maxack; /* max of ack */ | ||
49 | u_int8_t td_scale; /* window scale factor */ | 53 | u_int8_t td_scale; /* window scale factor */ |
50 | u_int8_t flags; /* per direction options */ | 54 | u_int8_t flags; /* per direction options */ |
51 | }; | 55 | }; |
diff --git a/include/linux/netfilter/xt_LED.h b/include/linux/netfilter/xt_LED.h index 4c91a0d770d0..f5509e7524d3 100644 --- a/include/linux/netfilter/xt_LED.h +++ b/include/linux/netfilter/xt_LED.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _XT_LED_H | 1 | #ifndef _XT_LED_H |
2 | #define _XT_LED_H | 2 | #define _XT_LED_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
4 | struct xt_led_info { | 6 | struct xt_led_info { |
5 | char id[27]; /* Unique ID for this trigger in the LED class */ | 7 | char id[27]; /* Unique ID for this trigger in the LED class */ |
6 | __u8 always_blink; /* Blink even if the LED is already on */ | 8 | __u8 always_blink; /* Blink even if the LED is already on */ |
diff --git a/include/linux/netfilter/xt_cluster.h b/include/linux/netfilter/xt_cluster.h index 5e0a0d07b526..886682656f09 100644 --- a/include/linux/netfilter/xt_cluster.h +++ b/include/linux/netfilter/xt_cluster.h | |||
@@ -12,4 +12,6 @@ struct xt_cluster_match_info { | |||
12 | u_int32_t flags; | 12 | u_int32_t flags; |
13 | }; | 13 | }; |
14 | 14 | ||
15 | #define XT_CLUSTER_NODES_MAX 32 | ||
16 | |||
15 | #endif /* _XT_CLUSTER_MATCH_H */ | 17 | #endif /* _XT_CLUSTER_MATCH_H */ |
diff --git a/include/linux/parport.h b/include/linux/parport.h index e1f83c5065c5..38a423ed3c01 100644 --- a/include/linux/parport.h +++ b/include/linux/parport.h | |||
@@ -324,6 +324,10 @@ struct parport { | |||
324 | int spintime; | 324 | int spintime; |
325 | atomic_t ref_count; | 325 | atomic_t ref_count; |
326 | 326 | ||
327 | unsigned long devflags; | ||
328 | #define PARPORT_DEVPROC_REGISTERED 0 | ||
329 | struct pardevice *proc_device; /* Currently register proc device */ | ||
330 | |||
327 | struct list_head full_list; | 331 | struct list_head full_list; |
328 | struct parport *slaves[3]; | 332 | struct parport *slaves[3]; |
329 | }; | 333 | }; |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 06ba90c211a5..0f71812d67d3 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -1406,7 +1406,7 @@ | |||
1406 | #define PCI_DEVICE_ID_VIA_82C598_1 0x8598 | 1406 | #define PCI_DEVICE_ID_VIA_82C598_1 0x8598 |
1407 | #define PCI_DEVICE_ID_VIA_838X_1 0xB188 | 1407 | #define PCI_DEVICE_ID_VIA_838X_1 0xB188 |
1408 | #define PCI_DEVICE_ID_VIA_83_87XX_1 0xB198 | 1408 | #define PCI_DEVICE_ID_VIA_83_87XX_1 0xB198 |
1409 | #define PCI_DEVICE_ID_VIA_C409_IDE 0XC409 | 1409 | #define PCI_DEVICE_ID_VIA_VX855_IDE 0xC409 |
1410 | #define PCI_DEVICE_ID_VIA_ANON 0xFFFF | 1410 | #define PCI_DEVICE_ID_VIA_ANON 0xFFFF |
1411 | 1411 | ||
1412 | #define PCI_VENDOR_ID_SIEMENS 0x110A | 1412 | #define PCI_VENDOR_ID_SIEMENS 0x110A |
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h index 72736fd8223c..b67bb5d7b221 100644 --- a/include/linux/platform_device.h +++ b/include/linux/platform_device.h | |||
@@ -20,7 +20,6 @@ struct platform_device { | |||
20 | struct device dev; | 20 | struct device dev; |
21 | u32 num_resources; | 21 | u32 num_resources; |
22 | struct resource * resource; | 22 | struct resource * resource; |
23 | void *platform_data; | ||
24 | 23 | ||
25 | struct platform_device_id *id_entry; | 24 | struct platform_device_id *id_entry; |
26 | }; | 25 | }; |
diff --git a/include/linux/reiserfs_fs_sb.h b/include/linux/reiserfs_fs_sb.h index 6b361d23a499..6473650c28f1 100644 --- a/include/linux/reiserfs_fs_sb.h +++ b/include/linux/reiserfs_fs_sb.h | |||
@@ -402,7 +402,7 @@ struct reiserfs_sb_info { | |||
402 | int reserved_blocks; /* amount of blocks reserved for further allocations */ | 402 | int reserved_blocks; /* amount of blocks reserved for further allocations */ |
403 | spinlock_t bitmap_lock; /* this lock on now only used to protect reserved_blocks variable */ | 403 | spinlock_t bitmap_lock; /* this lock on now only used to protect reserved_blocks variable */ |
404 | struct dentry *priv_root; /* root of /.reiserfs_priv */ | 404 | struct dentry *priv_root; /* root of /.reiserfs_priv */ |
405 | struct dentry *xattr_root; /* root of /.reiserfs_priv/.xa */ | 405 | struct dentry *xattr_root; /* root of /.reiserfs_priv/xattrs */ |
406 | int j_errno; | 406 | int j_errno; |
407 | #ifdef CONFIG_QUOTA | 407 | #ifdef CONFIG_QUOTA |
408 | char *s_qf_names[MAXQUOTAS]; | 408 | char *s_qf_names[MAXQUOTAS]; |
@@ -488,7 +488,6 @@ enum reiserfs_mount_options { | |||
488 | #define reiserfs_data_log(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_LOG)) | 488 | #define reiserfs_data_log(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_LOG)) |
489 | #define reiserfs_data_ordered(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_ORDERED)) | 489 | #define reiserfs_data_ordered(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_ORDERED)) |
490 | #define reiserfs_data_writeback(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_WRITEBACK)) | 490 | #define reiserfs_data_writeback(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_WRITEBACK)) |
491 | #define reiserfs_xattrs(s) ((s)->s_xattr != NULL) | ||
492 | #define reiserfs_xattrs_user(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_XATTRS_USER)) | 491 | #define reiserfs_xattrs_user(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_XATTRS_USER)) |
493 | #define reiserfs_posixacl(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_POSIXACL)) | 492 | #define reiserfs_posixacl(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_POSIXACL)) |
494 | #define reiserfs_xattrs_optional(s) (reiserfs_xattrs_user(s) || reiserfs_posixacl(s)) | 493 | #define reiserfs_xattrs_optional(s) (reiserfs_xattrs_user(s) || reiserfs_posixacl(s)) |
diff --git a/include/linux/reiserfs_xattr.h b/include/linux/reiserfs_xattr.h index dcae01e63e40..99928dce37ea 100644 --- a/include/linux/reiserfs_xattr.h +++ b/include/linux/reiserfs_xattr.h | |||
@@ -38,8 +38,10 @@ struct nameidata; | |||
38 | int reiserfs_xattr_register_handlers(void) __init; | 38 | int reiserfs_xattr_register_handlers(void) __init; |
39 | void reiserfs_xattr_unregister_handlers(void); | 39 | void reiserfs_xattr_unregister_handlers(void); |
40 | int reiserfs_xattr_init(struct super_block *sb, int mount_flags); | 40 | int reiserfs_xattr_init(struct super_block *sb, int mount_flags); |
41 | int reiserfs_lookup_privroot(struct super_block *sb); | ||
41 | int reiserfs_delete_xattrs(struct inode *inode); | 42 | int reiserfs_delete_xattrs(struct inode *inode); |
42 | int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); | 43 | int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); |
44 | int reiserfs_permission(struct inode *inode, int mask); | ||
43 | 45 | ||
44 | #ifdef CONFIG_REISERFS_FS_XATTR | 46 | #ifdef CONFIG_REISERFS_FS_XATTR |
45 | #define has_xattr_dir(inode) (REISERFS_I(inode)->i_flags & i_has_xattr_dir) | 47 | #define has_xattr_dir(inode) (REISERFS_I(inode)->i_flags & i_has_xattr_dir) |
@@ -49,7 +51,6 @@ int reiserfs_setxattr(struct dentry *dentry, const char *name, | |||
49 | const void *value, size_t size, int flags); | 51 | const void *value, size_t size, int flags); |
50 | ssize_t reiserfs_listxattr(struct dentry *dentry, char *buffer, size_t size); | 52 | ssize_t reiserfs_listxattr(struct dentry *dentry, char *buffer, size_t size); |
51 | int reiserfs_removexattr(struct dentry *dentry, const char *name); | 53 | int reiserfs_removexattr(struct dentry *dentry, const char *name); |
52 | int reiserfs_permission(struct inode *inode, int mask); | ||
53 | 54 | ||
54 | int reiserfs_xattr_get(struct inode *, const char *, void *, size_t); | 55 | int reiserfs_xattr_get(struct inode *, const char *, void *, size_t); |
55 | int reiserfs_xattr_set(struct inode *, const char *, const void *, size_t, int); | 56 | int reiserfs_xattr_set(struct inode *, const char *, const void *, size_t, int); |
@@ -97,7 +98,7 @@ static inline size_t reiserfs_xattr_jcreate_nblocks(struct inode *inode) | |||
97 | 98 | ||
98 | if ((REISERFS_I(inode)->i_flags & i_has_xattr_dir) == 0) { | 99 | if ((REISERFS_I(inode)->i_flags & i_has_xattr_dir) == 0) { |
99 | nblocks += JOURNAL_BLOCKS_PER_OBJECT(inode->i_sb); | 100 | nblocks += JOURNAL_BLOCKS_PER_OBJECT(inode->i_sb); |
100 | if (REISERFS_SB(inode->i_sb)->xattr_root == NULL) | 101 | if (!REISERFS_SB(inode->i_sb)->xattr_root->d_inode) |
101 | nblocks += JOURNAL_BLOCKS_PER_OBJECT(inode->i_sb); | 102 | nblocks += JOURNAL_BLOCKS_PER_OBJECT(inode->i_sb); |
102 | } | 103 | } |
103 | 104 | ||
@@ -116,8 +117,6 @@ static inline void reiserfs_init_xattr_rwsem(struct inode *inode) | |||
116 | #define reiserfs_listxattr NULL | 117 | #define reiserfs_listxattr NULL |
117 | #define reiserfs_removexattr NULL | 118 | #define reiserfs_removexattr NULL |
118 | 119 | ||
119 | #define reiserfs_permission NULL | ||
120 | |||
121 | static inline void reiserfs_init_xattr_rwsem(struct inode *inode) | 120 | static inline void reiserfs_init_xattr_rwsem(struct inode *inode) |
122 | { | 121 | { |
123 | } | 122 | } |
diff --git a/include/linux/romfs_fs.h b/include/linux/romfs_fs.h index e20bbf9eb365..c490fbc43fe2 100644 --- a/include/linux/romfs_fs.h +++ b/include/linux/romfs_fs.h | |||
@@ -53,9 +53,4 @@ struct romfs_inode { | |||
53 | #define ROMFH_PAD (ROMFH_SIZE-1) | 53 | #define ROMFH_PAD (ROMFH_SIZE-1) |
54 | #define ROMFH_MASK (~ROMFH_PAD) | 54 | #define ROMFH_MASK (~ROMFH_PAD) |
55 | 55 | ||
56 | #ifdef __KERNEL__ | ||
57 | |||
58 | /* Not much now */ | ||
59 | |||
60 | #endif /* __KERNEL__ */ | ||
61 | #endif | 56 | #endif |
diff --git a/include/linux/swap.h b/include/linux/swap.h index 62d81435347a..d476aad3ff57 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -437,6 +437,11 @@ static inline int mem_cgroup_cache_charge_swapin(struct page *page, | |||
437 | return 0; | 437 | return 0; |
438 | } | 438 | } |
439 | 439 | ||
440 | static inline void | ||
441 | mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent) | ||
442 | { | ||
443 | } | ||
444 | |||
440 | #endif /* CONFIG_SWAP */ | 445 | #endif /* CONFIG_SWAP */ |
441 | #endif /* __KERNEL__*/ | 446 | #endif /* __KERNEL__*/ |
442 | #endif /* _LINUX_SWAP_H */ | 447 | #endif /* _LINUX_SWAP_H */ |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 40617c1d8976..30520844b8da 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -433,6 +433,7 @@ asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg); | |||
433 | asmlinkage long sys_fcntl64(unsigned int fd, | 433 | asmlinkage long sys_fcntl64(unsigned int fd, |
434 | unsigned int cmd, unsigned long arg); | 434 | unsigned int cmd, unsigned long arg); |
435 | #endif | 435 | #endif |
436 | asmlinkage long sys_pipe2(int __user *fildes, int flags); | ||
436 | asmlinkage long sys_dup(unsigned int fildes); | 437 | asmlinkage long sys_dup(unsigned int fildes); |
437 | asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd); | 438 | asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd); |
438 | asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags); | 439 | asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags); |
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 9c1ed1fb6ddb..93445477f86a 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
@@ -168,8 +168,6 @@ void writeback_set_ratelimit(void); | |||
168 | /* pdflush.c */ | 168 | /* pdflush.c */ |
169 | extern int nr_pdflush_threads; /* Global so it can be exported to sysctl | 169 | extern int nr_pdflush_threads; /* Global so it can be exported to sysctl |
170 | read-only. */ | 170 | read-only. */ |
171 | extern int nr_pdflush_threads_max; /* Global so it can be exported to sysctl */ | ||
172 | extern int nr_pdflush_threads_min; /* Global so it can be exported to sysctl */ | ||
173 | 171 | ||
174 | 172 | ||
175 | #endif /* WRITEBACK_H */ | 173 | #endif /* WRITEBACK_H */ |
diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h index c9184f756cad..68a8d873bbd9 100644 --- a/include/scsi/scsi_transport_fc.h +++ b/include/scsi/scsi_transport_fc.h | |||
@@ -680,7 +680,7 @@ fc_remote_port_chkready(struct fc_rport *rport) | |||
680 | if (rport->roles & FC_PORT_ROLE_FCP_TARGET) | 680 | if (rport->roles & FC_PORT_ROLE_FCP_TARGET) |
681 | result = 0; | 681 | result = 0; |
682 | else if (rport->flags & FC_RPORT_DEVLOSS_PENDING) | 682 | else if (rport->flags & FC_RPORT_DEVLOSS_PENDING) |
683 | result = DID_TRANSPORT_DISRUPTED << 16; | 683 | result = DID_IMM_RETRY << 16; |
684 | else | 684 | else |
685 | result = DID_NO_CONNECT << 16; | 685 | result = DID_NO_CONNECT << 16; |
686 | break; | 686 | break; |
@@ -688,7 +688,7 @@ fc_remote_port_chkready(struct fc_rport *rport) | |||
688 | if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT) | 688 | if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT) |
689 | result = DID_TRANSPORT_FAILFAST << 16; | 689 | result = DID_TRANSPORT_FAILFAST << 16; |
690 | else | 690 | else |
691 | result = DID_TRANSPORT_DISRUPTED << 16; | 691 | result = DID_IMM_RETRY << 16; |
692 | break; | 692 | break; |
693 | default: | 693 | default: |
694 | result = DID_NO_CONNECT << 16; | 694 | result = DID_NO_CONNECT << 16; |
diff --git a/include/sound/version.h b/include/sound/version.h index a7e74e23ad2e..456f1359e1c0 100644 --- a/include/sound/version.h +++ b/include/sound/version.h | |||
@@ -1,3 +1,3 @@ | |||
1 | /* include/version.h */ | 1 | /* include/version.h */ |
2 | #define CONFIG_SND_VERSION "1.0.19" | 2 | #define CONFIG_SND_VERSION "1.0.20" |
3 | #define CONFIG_SND_DATE "" | 3 | #define CONFIG_SND_DATE "" |
diff --git a/init/main.c b/init/main.c index 3bbf93be744c..d721dad05dd7 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -566,8 +566,7 @@ asmlinkage void __init start_kernel(void) | |||
566 | tick_init(); | 566 | tick_init(); |
567 | boot_cpu_init(); | 567 | boot_cpu_init(); |
568 | page_address_init(); | 568 | page_address_init(); |
569 | printk(KERN_NOTICE); | 569 | printk(KERN_NOTICE "%s", linux_banner); |
570 | printk(linux_banner); | ||
571 | setup_arch(&command_line); | 570 | setup_arch(&command_line); |
572 | mm_init_owner(&init_mm, &init_task); | 571 | mm_init_owner(&init_mm, &init_task); |
573 | setup_command_line(command_line); | 572 | setup_command_line(command_line); |
diff --git a/kernel/async.c b/kernel/async.c index 968ef9457d4e..50540301ed0f 100644 --- a/kernel/async.c +++ b/kernel/async.c | |||
@@ -92,19 +92,23 @@ extern int initcall_debug; | |||
92 | static async_cookie_t __lowest_in_progress(struct list_head *running) | 92 | static async_cookie_t __lowest_in_progress(struct list_head *running) |
93 | { | 93 | { |
94 | struct async_entry *entry; | 94 | struct async_entry *entry; |
95 | async_cookie_t ret = next_cookie; /* begin with "infinity" value */ | ||
96 | |||
95 | if (!list_empty(running)) { | 97 | if (!list_empty(running)) { |
96 | entry = list_first_entry(running, | 98 | entry = list_first_entry(running, |
97 | struct async_entry, list); | 99 | struct async_entry, list); |
98 | return entry->cookie; | 100 | ret = entry->cookie; |
99 | } else if (!list_empty(&async_pending)) { | ||
100 | entry = list_first_entry(&async_pending, | ||
101 | struct async_entry, list); | ||
102 | return entry->cookie; | ||
103 | } else { | ||
104 | /* nothing in progress... next_cookie is "infinity" */ | ||
105 | return next_cookie; | ||
106 | } | 101 | } |
107 | 102 | ||
103 | if (!list_empty(&async_pending)) { | ||
104 | list_for_each_entry(entry, &async_pending, list) | ||
105 | if (entry->running == running) { | ||
106 | ret = entry->cookie; | ||
107 | break; | ||
108 | } | ||
109 | } | ||
110 | |||
111 | return ret; | ||
108 | } | 112 | } |
109 | 113 | ||
110 | static async_cookie_t lowest_in_progress(struct list_head *running) | 114 | static async_cookie_t lowest_in_progress(struct list_head *running) |
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 382109b5baeb..a7267bfd3765 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
@@ -1133,8 +1133,7 @@ static int cgroup_get_sb(struct file_system_type *fs_type, | |||
1133 | free_cg_links: | 1133 | free_cg_links: |
1134 | free_cg_links(&tmp_cg_links); | 1134 | free_cg_links(&tmp_cg_links); |
1135 | drop_new_super: | 1135 | drop_new_super: |
1136 | up_write(&sb->s_umount); | 1136 | deactivate_locked_super(sb); |
1137 | deactivate_super(sb); | ||
1138 | return ret; | 1137 | return ret; |
1139 | } | 1138 | } |
1140 | 1139 | ||
diff --git a/kernel/futex.c b/kernel/futex.c index eef8cd26b5e5..d546b2d53a62 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
@@ -193,6 +193,7 @@ static void drop_futex_key_refs(union futex_key *key) | |||
193 | * @uaddr: virtual address of the futex | 193 | * @uaddr: virtual address of the futex |
194 | * @fshared: 0 for a PROCESS_PRIVATE futex, 1 for PROCESS_SHARED | 194 | * @fshared: 0 for a PROCESS_PRIVATE futex, 1 for PROCESS_SHARED |
195 | * @key: address where result is stored. | 195 | * @key: address where result is stored. |
196 | * @rw: mapping needs to be read/write (values: VERIFY_READ, VERIFY_WRITE) | ||
196 | * | 197 | * |
197 | * Returns a negative error code or 0 | 198 | * Returns a negative error code or 0 |
198 | * The key words are stored in *key on success. | 199 | * The key words are stored in *key on success. |
@@ -203,7 +204,8 @@ static void drop_futex_key_refs(union futex_key *key) | |||
203 | * | 204 | * |
204 | * lock_page() might sleep, the caller should not hold a spinlock. | 205 | * lock_page() might sleep, the caller should not hold a spinlock. |
205 | */ | 206 | */ |
206 | static int get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key) | 207 | static int |
208 | get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, int rw) | ||
207 | { | 209 | { |
208 | unsigned long address = (unsigned long)uaddr; | 210 | unsigned long address = (unsigned long)uaddr; |
209 | struct mm_struct *mm = current->mm; | 211 | struct mm_struct *mm = current->mm; |
@@ -226,7 +228,7 @@ static int get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key) | |||
226 | * but access_ok() should be faster than find_vma() | 228 | * but access_ok() should be faster than find_vma() |
227 | */ | 229 | */ |
228 | if (!fshared) { | 230 | if (!fshared) { |
229 | if (unlikely(!access_ok(VERIFY_WRITE, uaddr, sizeof(u32)))) | 231 | if (unlikely(!access_ok(rw, uaddr, sizeof(u32)))) |
230 | return -EFAULT; | 232 | return -EFAULT; |
231 | key->private.mm = mm; | 233 | key->private.mm = mm; |
232 | key->private.address = address; | 234 | key->private.address = address; |
@@ -235,7 +237,7 @@ static int get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key) | |||
235 | } | 237 | } |
236 | 238 | ||
237 | again: | 239 | again: |
238 | err = get_user_pages_fast(address, 1, 0, &page); | 240 | err = get_user_pages_fast(address, 1, rw == VERIFY_WRITE, &page); |
239 | if (err < 0) | 241 | if (err < 0) |
240 | return err; | 242 | return err; |
241 | 243 | ||
@@ -677,7 +679,7 @@ static int futex_wake(u32 __user *uaddr, int fshared, int nr_wake, u32 bitset) | |||
677 | if (!bitset) | 679 | if (!bitset) |
678 | return -EINVAL; | 680 | return -EINVAL; |
679 | 681 | ||
680 | ret = get_futex_key(uaddr, fshared, &key); | 682 | ret = get_futex_key(uaddr, fshared, &key, VERIFY_READ); |
681 | if (unlikely(ret != 0)) | 683 | if (unlikely(ret != 0)) |
682 | goto out; | 684 | goto out; |
683 | 685 | ||
@@ -723,10 +725,10 @@ futex_wake_op(u32 __user *uaddr1, int fshared, u32 __user *uaddr2, | |||
723 | int ret, op_ret; | 725 | int ret, op_ret; |
724 | 726 | ||
725 | retry: | 727 | retry: |
726 | ret = get_futex_key(uaddr1, fshared, &key1); | 728 | ret = get_futex_key(uaddr1, fshared, &key1, VERIFY_READ); |
727 | if (unlikely(ret != 0)) | 729 | if (unlikely(ret != 0)) |
728 | goto out; | 730 | goto out; |
729 | ret = get_futex_key(uaddr2, fshared, &key2); | 731 | ret = get_futex_key(uaddr2, fshared, &key2, VERIFY_WRITE); |
730 | if (unlikely(ret != 0)) | 732 | if (unlikely(ret != 0)) |
731 | goto out_put_key1; | 733 | goto out_put_key1; |
732 | 734 | ||
@@ -814,10 +816,10 @@ static int futex_requeue(u32 __user *uaddr1, int fshared, u32 __user *uaddr2, | |||
814 | int ret, drop_count = 0; | 816 | int ret, drop_count = 0; |
815 | 817 | ||
816 | retry: | 818 | retry: |
817 | ret = get_futex_key(uaddr1, fshared, &key1); | 819 | ret = get_futex_key(uaddr1, fshared, &key1, VERIFY_READ); |
818 | if (unlikely(ret != 0)) | 820 | if (unlikely(ret != 0)) |
819 | goto out; | 821 | goto out; |
820 | ret = get_futex_key(uaddr2, fshared, &key2); | 822 | ret = get_futex_key(uaddr2, fshared, &key2, VERIFY_READ); |
821 | if (unlikely(ret != 0)) | 823 | if (unlikely(ret != 0)) |
822 | goto out_put_key1; | 824 | goto out_put_key1; |
823 | 825 | ||
@@ -1140,7 +1142,7 @@ static int futex_wait(u32 __user *uaddr, int fshared, | |||
1140 | q.bitset = bitset; | 1142 | q.bitset = bitset; |
1141 | retry: | 1143 | retry: |
1142 | q.key = FUTEX_KEY_INIT; | 1144 | q.key = FUTEX_KEY_INIT; |
1143 | ret = get_futex_key(uaddr, fshared, &q.key); | 1145 | ret = get_futex_key(uaddr, fshared, &q.key, VERIFY_READ); |
1144 | if (unlikely(ret != 0)) | 1146 | if (unlikely(ret != 0)) |
1145 | goto out; | 1147 | goto out; |
1146 | 1148 | ||
@@ -1330,7 +1332,7 @@ static int futex_lock_pi(u32 __user *uaddr, int fshared, | |||
1330 | q.pi_state = NULL; | 1332 | q.pi_state = NULL; |
1331 | retry: | 1333 | retry: |
1332 | q.key = FUTEX_KEY_INIT; | 1334 | q.key = FUTEX_KEY_INIT; |
1333 | ret = get_futex_key(uaddr, fshared, &q.key); | 1335 | ret = get_futex_key(uaddr, fshared, &q.key, VERIFY_WRITE); |
1334 | if (unlikely(ret != 0)) | 1336 | if (unlikely(ret != 0)) |
1335 | goto out; | 1337 | goto out; |
1336 | 1338 | ||
@@ -1594,7 +1596,7 @@ retry: | |||
1594 | if ((uval & FUTEX_TID_MASK) != task_pid_vnr(current)) | 1596 | if ((uval & FUTEX_TID_MASK) != task_pid_vnr(current)) |
1595 | return -EPERM; | 1597 | return -EPERM; |
1596 | 1598 | ||
1597 | ret = get_futex_key(uaddr, fshared, &key); | 1599 | ret = get_futex_key(uaddr, fshared, &key, VERIFY_WRITE); |
1598 | if (unlikely(ret != 0)) | 1600 | if (unlikely(ret != 0)) |
1599 | goto out; | 1601 | goto out; |
1600 | 1602 | ||
diff --git a/kernel/kexec.c b/kernel/kexec.c index 5a758c6e4950..e4983770913b 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c | |||
@@ -1451,7 +1451,6 @@ int kernel_kexec(void) | |||
1451 | error = device_suspend(PMSG_FREEZE); | 1451 | error = device_suspend(PMSG_FREEZE); |
1452 | if (error) | 1452 | if (error) |
1453 | goto Resume_console; | 1453 | goto Resume_console; |
1454 | device_pm_lock(); | ||
1455 | /* At this point, device_suspend() has been called, | 1454 | /* At this point, device_suspend() has been called, |
1456 | * but *not* device_power_down(). We *must* | 1455 | * but *not* device_power_down(). We *must* |
1457 | * device_power_down() now. Otherwise, drivers for | 1456 | * device_power_down() now. Otherwise, drivers for |
@@ -1489,7 +1488,6 @@ int kernel_kexec(void) | |||
1489 | enable_nonboot_cpus(); | 1488 | enable_nonboot_cpus(); |
1490 | device_power_up(PMSG_RESTORE); | 1489 | device_power_up(PMSG_RESTORE); |
1491 | Resume_devices: | 1490 | Resume_devices: |
1492 | device_pm_unlock(); | ||
1493 | device_resume(PMSG_RESTORE); | 1491 | device_resume(PMSG_RESTORE); |
1494 | Resume_console: | 1492 | Resume_console: |
1495 | resume_console(); | 1493 | resume_console(); |
diff --git a/kernel/kgdb.c b/kernel/kgdb.c index e4dcfb2272a4..9147a3190c9d 100644 --- a/kernel/kgdb.c +++ b/kernel/kgdb.c | |||
@@ -1583,8 +1583,8 @@ static void sysrq_handle_gdb(int key, struct tty_struct *tty) | |||
1583 | 1583 | ||
1584 | static struct sysrq_key_op sysrq_gdb_op = { | 1584 | static struct sysrq_key_op sysrq_gdb_op = { |
1585 | .handler = sysrq_handle_gdb, | 1585 | .handler = sysrq_handle_gdb, |
1586 | .help_msg = "Gdb", | 1586 | .help_msg = "debug(G)", |
1587 | .action_msg = "GDB", | 1587 | .action_msg = "DEBUG", |
1588 | }; | 1588 | }; |
1589 | #endif | 1589 | #endif |
1590 | 1590 | ||
diff --git a/kernel/kmod.c b/kernel/kmod.c index b750675251e5..7e95bedb2bfc 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c | |||
@@ -370,8 +370,10 @@ struct subprocess_info *call_usermodehelper_setup(char *path, char **argv, | |||
370 | sub_info->argv = argv; | 370 | sub_info->argv = argv; |
371 | sub_info->envp = envp; | 371 | sub_info->envp = envp; |
372 | sub_info->cred = prepare_usermodehelper_creds(); | 372 | sub_info->cred = prepare_usermodehelper_creds(); |
373 | if (!sub_info->cred) | 373 | if (!sub_info->cred) { |
374 | kfree(sub_info); | ||
374 | return NULL; | 375 | return NULL; |
376 | } | ||
375 | 377 | ||
376 | out: | 378 | out: |
377 | return sub_info; | 379 | return sub_info; |
diff --git a/kernel/lockdep_internals.h b/kernel/lockdep_internals.h index a2cc7e9a6e84..699a2ac3a0d7 100644 --- a/kernel/lockdep_internals.h +++ b/kernel/lockdep_internals.h | |||
@@ -54,9 +54,9 @@ enum { | |||
54 | * table (if it's not there yet), and we check it for lock order | 54 | * table (if it's not there yet), and we check it for lock order |
55 | * conflicts and deadlocks. | 55 | * conflicts and deadlocks. |
56 | */ | 56 | */ |
57 | #define MAX_LOCKDEP_ENTRIES 8192UL | 57 | #define MAX_LOCKDEP_ENTRIES 16384UL |
58 | 58 | ||
59 | #define MAX_LOCKDEP_CHAINS_BITS 14 | 59 | #define MAX_LOCKDEP_CHAINS_BITS 15 |
60 | #define MAX_LOCKDEP_CHAINS (1UL << MAX_LOCKDEP_CHAINS_BITS) | 60 | #define MAX_LOCKDEP_CHAINS (1UL << MAX_LOCKDEP_CHAINS_BITS) |
61 | 61 | ||
62 | #define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5) | 62 | #define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5) |
diff --git a/kernel/panic.c b/kernel/panic.c index 874ecf1307ae..984b3ecbd72c 100644 --- a/kernel/panic.c +++ b/kernel/panic.c | |||
@@ -340,39 +340,44 @@ void oops_exit(void) | |||
340 | } | 340 | } |
341 | 341 | ||
342 | #ifdef WANT_WARN_ON_SLOWPATH | 342 | #ifdef WANT_WARN_ON_SLOWPATH |
343 | void warn_slowpath_fmt(const char *file, int line, const char *fmt, ...) | 343 | struct slowpath_args { |
344 | { | 344 | const char *fmt; |
345 | va_list args; | 345 | va_list args; |
346 | char function[KSYM_SYMBOL_LEN]; | 346 | }; |
347 | unsigned long caller = (unsigned long)__builtin_return_address(0); | ||
348 | const char *board; | ||
349 | 347 | ||
350 | sprint_symbol(function, caller); | 348 | static void warn_slowpath_common(const char *file, int line, void *caller, struct slowpath_args *args) |
349 | { | ||
350 | const char *board; | ||
351 | 351 | ||
352 | printk(KERN_WARNING "------------[ cut here ]------------\n"); | 352 | printk(KERN_WARNING "------------[ cut here ]------------\n"); |
353 | printk(KERN_WARNING "WARNING: at %s:%d %s()\n", file, | 353 | printk(KERN_WARNING "WARNING: at %s:%d %pS()\n", file, line, caller); |
354 | line, function); | ||
355 | board = dmi_get_system_info(DMI_PRODUCT_NAME); | 354 | board = dmi_get_system_info(DMI_PRODUCT_NAME); |
356 | if (board) | 355 | if (board) |
357 | printk(KERN_WARNING "Hardware name: %s\n", board); | 356 | printk(KERN_WARNING "Hardware name: %s\n", board); |
358 | 357 | ||
359 | if (*fmt) { | 358 | if (args) |
360 | va_start(args, fmt); | 359 | vprintk(args->fmt, args->args); |
361 | vprintk(fmt, args); | ||
362 | va_end(args); | ||
363 | } | ||
364 | 360 | ||
365 | print_modules(); | 361 | print_modules(); |
366 | dump_stack(); | 362 | dump_stack(); |
367 | print_oops_end_marker(); | 363 | print_oops_end_marker(); |
368 | add_taint(TAINT_WARN); | 364 | add_taint(TAINT_WARN); |
369 | } | 365 | } |
366 | |||
367 | void warn_slowpath_fmt(const char *file, int line, const char *fmt, ...) | ||
368 | { | ||
369 | struct slowpath_args args; | ||
370 | |||
371 | args.fmt = fmt; | ||
372 | va_start(args.args, fmt); | ||
373 | warn_slowpath_common(file, line, __builtin_return_address(0), &args); | ||
374 | va_end(args.args); | ||
375 | } | ||
370 | EXPORT_SYMBOL(warn_slowpath_fmt); | 376 | EXPORT_SYMBOL(warn_slowpath_fmt); |
371 | 377 | ||
372 | void warn_slowpath_null(const char *file, int line) | 378 | void warn_slowpath_null(const char *file, int line) |
373 | { | 379 | { |
374 | static const char *empty = ""; | 380 | warn_slowpath_common(file, line, __builtin_return_address(0), NULL); |
375 | warn_slowpath_fmt(file, line, empty); | ||
376 | } | 381 | } |
377 | EXPORT_SYMBOL(warn_slowpath_null); | 382 | EXPORT_SYMBOL(warn_slowpath_null); |
378 | #endif | 383 | #endif |
diff --git a/kernel/power/disk.c b/kernel/power/disk.c index e71ca9cd81b2..5cb080e7eebd 100644 --- a/kernel/power/disk.c +++ b/kernel/power/disk.c | |||
@@ -215,8 +215,6 @@ static int create_image(int platform_mode) | |||
215 | if (error) | 215 | if (error) |
216 | return error; | 216 | return error; |
217 | 217 | ||
218 | device_pm_lock(); | ||
219 | |||
220 | /* At this point, device_suspend() has been called, but *not* | 218 | /* At this point, device_suspend() has been called, but *not* |
221 | * device_power_down(). We *must* call device_power_down() now. | 219 | * device_power_down(). We *must* call device_power_down() now. |
222 | * Otherwise, drivers for some devices (e.g. interrupt controllers) | 220 | * Otherwise, drivers for some devices (e.g. interrupt controllers) |
@@ -227,7 +225,7 @@ static int create_image(int platform_mode) | |||
227 | if (error) { | 225 | if (error) { |
228 | printk(KERN_ERR "PM: Some devices failed to power down, " | 226 | printk(KERN_ERR "PM: Some devices failed to power down, " |
229 | "aborting hibernation\n"); | 227 | "aborting hibernation\n"); |
230 | goto Unlock; | 228 | return error; |
231 | } | 229 | } |
232 | 230 | ||
233 | error = platform_pre_snapshot(platform_mode); | 231 | error = platform_pre_snapshot(platform_mode); |
@@ -241,9 +239,9 @@ static int create_image(int platform_mode) | |||
241 | 239 | ||
242 | local_irq_disable(); | 240 | local_irq_disable(); |
243 | 241 | ||
244 | sysdev_suspend(PMSG_FREEZE); | 242 | error = sysdev_suspend(PMSG_FREEZE); |
245 | if (error) { | 243 | if (error) { |
246 | printk(KERN_ERR "PM: Some devices failed to power down, " | 244 | printk(KERN_ERR "PM: Some system devices failed to power down, " |
247 | "aborting hibernation\n"); | 245 | "aborting hibernation\n"); |
248 | goto Enable_irqs; | 246 | goto Enable_irqs; |
249 | } | 247 | } |
@@ -280,9 +278,6 @@ static int create_image(int platform_mode) | |||
280 | device_power_up(in_suspend ? | 278 | device_power_up(in_suspend ? |
281 | (error ? PMSG_RECOVER : PMSG_THAW) : PMSG_RESTORE); | 279 | (error ? PMSG_RECOVER : PMSG_THAW) : PMSG_RESTORE); |
282 | 280 | ||
283 | Unlock: | ||
284 | device_pm_unlock(); | ||
285 | |||
286 | return error; | 281 | return error; |
287 | } | 282 | } |
288 | 283 | ||
@@ -344,13 +339,11 @@ static int resume_target_kernel(bool platform_mode) | |||
344 | { | 339 | { |
345 | int error; | 340 | int error; |
346 | 341 | ||
347 | device_pm_lock(); | ||
348 | |||
349 | error = device_power_down(PMSG_QUIESCE); | 342 | error = device_power_down(PMSG_QUIESCE); |
350 | if (error) { | 343 | if (error) { |
351 | printk(KERN_ERR "PM: Some devices failed to power down, " | 344 | printk(KERN_ERR "PM: Some devices failed to power down, " |
352 | "aborting resume\n"); | 345 | "aborting resume\n"); |
353 | goto Unlock; | 346 | return error; |
354 | } | 347 | } |
355 | 348 | ||
356 | error = platform_pre_restore(platform_mode); | 349 | error = platform_pre_restore(platform_mode); |
@@ -403,9 +396,6 @@ static int resume_target_kernel(bool platform_mode) | |||
403 | 396 | ||
404 | device_power_up(PMSG_RECOVER); | 397 | device_power_up(PMSG_RECOVER); |
405 | 398 | ||
406 | Unlock: | ||
407 | device_pm_unlock(); | ||
408 | |||
409 | return error; | 399 | return error; |
410 | } | 400 | } |
411 | 401 | ||
@@ -464,11 +454,9 @@ int hibernation_platform_enter(void) | |||
464 | goto Resume_devices; | 454 | goto Resume_devices; |
465 | } | 455 | } |
466 | 456 | ||
467 | device_pm_lock(); | ||
468 | |||
469 | error = device_power_down(PMSG_HIBERNATE); | 457 | error = device_power_down(PMSG_HIBERNATE); |
470 | if (error) | 458 | if (error) |
471 | goto Unlock; | 459 | goto Resume_devices; |
472 | 460 | ||
473 | error = hibernation_ops->prepare(); | 461 | error = hibernation_ops->prepare(); |
474 | if (error) | 462 | if (error) |
@@ -493,9 +481,6 @@ int hibernation_platform_enter(void) | |||
493 | 481 | ||
494 | device_power_up(PMSG_RESTORE); | 482 | device_power_up(PMSG_RESTORE); |
495 | 483 | ||
496 | Unlock: | ||
497 | device_pm_unlock(); | ||
498 | |||
499 | Resume_devices: | 484 | Resume_devices: |
500 | entering_platform_hibernation = false; | 485 | entering_platform_hibernation = false; |
501 | device_resume(PMSG_RESTORE); | 486 | device_resume(PMSG_RESTORE); |
diff --git a/kernel/power/main.c b/kernel/power/main.c index f99ed6a75eac..868028280d13 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c | |||
@@ -289,12 +289,10 @@ static int suspend_enter(suspend_state_t state) | |||
289 | { | 289 | { |
290 | int error; | 290 | int error; |
291 | 291 | ||
292 | device_pm_lock(); | ||
293 | |||
294 | if (suspend_ops->prepare) { | 292 | if (suspend_ops->prepare) { |
295 | error = suspend_ops->prepare(); | 293 | error = suspend_ops->prepare(); |
296 | if (error) | 294 | if (error) |
297 | goto Done; | 295 | return error; |
298 | } | 296 | } |
299 | 297 | ||
300 | error = device_power_down(PMSG_SUSPEND); | 298 | error = device_power_down(PMSG_SUSPEND); |
@@ -343,9 +341,6 @@ static int suspend_enter(suspend_state_t state) | |||
343 | if (suspend_ops->finish) | 341 | if (suspend_ops->finish) |
344 | suspend_ops->finish(); | 342 | suspend_ops->finish(); |
345 | 343 | ||
346 | Done: | ||
347 | device_pm_unlock(); | ||
348 | |||
349 | return error; | 344 | return error; |
350 | } | 345 | } |
351 | 346 | ||
diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c index 819f17ac796e..e1d16c9a7680 100644 --- a/kernel/sched_clock.c +++ b/kernel/sched_clock.c | |||
@@ -38,7 +38,8 @@ | |||
38 | */ | 38 | */ |
39 | unsigned long long __attribute__((weak)) sched_clock(void) | 39 | unsigned long long __attribute__((weak)) sched_clock(void) |
40 | { | 40 | { |
41 | return (unsigned long long)jiffies * (NSEC_PER_SEC / HZ); | 41 | return (unsigned long long)(jiffies - INITIAL_JIFFIES) |
42 | * (NSEC_PER_SEC / HZ); | ||
42 | } | 43 | } |
43 | 44 | ||
44 | static __read_mostly int sched_clock_running; | 45 | static __read_mostly int sched_clock_running; |
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index ea78fa101ad6..b2970d56fb76 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
@@ -101,7 +101,6 @@ static int __maybe_unused one = 1; | |||
101 | static int __maybe_unused two = 2; | 101 | static int __maybe_unused two = 2; |
102 | static unsigned long one_ul = 1; | 102 | static unsigned long one_ul = 1; |
103 | static int one_hundred = 100; | 103 | static int one_hundred = 100; |
104 | static int one_thousand = 1000; | ||
105 | 104 | ||
106 | /* this is needed for the proc_doulongvec_minmax of vm_dirty_bytes */ | 105 | /* this is needed for the proc_doulongvec_minmax of vm_dirty_bytes */ |
107 | static unsigned long dirty_bytes_min = 2 * PAGE_SIZE; | 106 | static unsigned long dirty_bytes_min = 2 * PAGE_SIZE; |
@@ -1034,28 +1033,6 @@ static struct ctl_table vm_table[] = { | |||
1034 | .proc_handler = &proc_dointvec, | 1033 | .proc_handler = &proc_dointvec, |
1035 | }, | 1034 | }, |
1036 | { | 1035 | { |
1037 | .ctl_name = CTL_UNNUMBERED, | ||
1038 | .procname = "nr_pdflush_threads_min", | ||
1039 | .data = &nr_pdflush_threads_min, | ||
1040 | .maxlen = sizeof nr_pdflush_threads_min, | ||
1041 | .mode = 0644 /* read-write */, | ||
1042 | .proc_handler = &proc_dointvec_minmax, | ||
1043 | .strategy = &sysctl_intvec, | ||
1044 | .extra1 = &one, | ||
1045 | .extra2 = &nr_pdflush_threads_max, | ||
1046 | }, | ||
1047 | { | ||
1048 | .ctl_name = CTL_UNNUMBERED, | ||
1049 | .procname = "nr_pdflush_threads_max", | ||
1050 | .data = &nr_pdflush_threads_max, | ||
1051 | .maxlen = sizeof nr_pdflush_threads_max, | ||
1052 | .mode = 0644 /* read-write */, | ||
1053 | .proc_handler = &proc_dointvec_minmax, | ||
1054 | .strategy = &sysctl_intvec, | ||
1055 | .extra1 = &nr_pdflush_threads_min, | ||
1056 | .extra2 = &one_thousand, | ||
1057 | }, | ||
1058 | { | ||
1059 | .ctl_name = VM_SWAPPINESS, | 1036 | .ctl_name = VM_SWAPPINESS, |
1060 | .procname = "swappiness", | 1037 | .procname = "swappiness", |
1061 | .data = &vm_swappiness, | 1038 | .data = &vm_swappiness, |
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index a884c09006c4..cda81ec58d9f 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -2380,7 +2380,7 @@ static const char readme_msg[] = | |||
2380 | "# echo print-parent > /debug/tracing/trace_options\n" | 2380 | "# echo print-parent > /debug/tracing/trace_options\n" |
2381 | "# echo 1 > /debug/tracing/tracing_enabled\n" | 2381 | "# echo 1 > /debug/tracing/tracing_enabled\n" |
2382 | "# cat /debug/tracing/trace > /tmp/trace.txt\n" | 2382 | "# cat /debug/tracing/trace > /tmp/trace.txt\n" |
2383 | "echo 0 > /debug/tracing/tracing_enabled\n" | 2383 | "# echo 0 > /debug/tracing/tracing_enabled\n" |
2384 | ; | 2384 | ; |
2385 | 2385 | ||
2386 | static ssize_t | 2386 | static ssize_t |
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 812c28207baf..6cdcf38f2da9 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -891,7 +891,6 @@ config DYNAMIC_DEBUG | |||
891 | default n | 891 | default n |
892 | depends on PRINTK | 892 | depends on PRINTK |
893 | depends on DEBUG_FS | 893 | depends on DEBUG_FS |
894 | select PRINTK_DEBUG | ||
895 | help | 894 | help |
896 | 895 | ||
897 | Compiles debug level messages into the kernel, which would not | 896 | Compiles debug level messages into the kernel, which would not |
diff --git a/lib/dma-debug.c b/lib/dma-debug.c index cdd205d6bf7c..77053d9ef513 100644 --- a/lib/dma-debug.c +++ b/lib/dma-debug.c | |||
@@ -23,9 +23,11 @@ | |||
23 | #include <linux/dma-debug.h> | 23 | #include <linux/dma-debug.h> |
24 | #include <linux/spinlock.h> | 24 | #include <linux/spinlock.h> |
25 | #include <linux/debugfs.h> | 25 | #include <linux/debugfs.h> |
26 | #include <linux/uaccess.h> | ||
26 | #include <linux/device.h> | 27 | #include <linux/device.h> |
27 | #include <linux/types.h> | 28 | #include <linux/types.h> |
28 | #include <linux/sched.h> | 29 | #include <linux/sched.h> |
30 | #include <linux/ctype.h> | ||
29 | #include <linux/list.h> | 31 | #include <linux/list.h> |
30 | #include <linux/slab.h> | 32 | #include <linux/slab.h> |
31 | 33 | ||
@@ -98,6 +100,16 @@ static struct dentry *show_all_errors_dent __read_mostly; | |||
98 | static struct dentry *show_num_errors_dent __read_mostly; | 100 | static struct dentry *show_num_errors_dent __read_mostly; |
99 | static struct dentry *num_free_entries_dent __read_mostly; | 101 | static struct dentry *num_free_entries_dent __read_mostly; |
100 | static struct dentry *min_free_entries_dent __read_mostly; | 102 | static struct dentry *min_free_entries_dent __read_mostly; |
103 | static struct dentry *filter_dent __read_mostly; | ||
104 | |||
105 | /* per-driver filter related state */ | ||
106 | |||
107 | #define NAME_MAX_LEN 64 | ||
108 | |||
109 | static char current_driver_name[NAME_MAX_LEN] __read_mostly; | ||
110 | static struct device_driver *current_driver __read_mostly; | ||
111 | |||
112 | static DEFINE_RWLOCK(driver_name_lock); | ||
101 | 113 | ||
102 | static const char *type2name[4] = { "single", "page", | 114 | static const char *type2name[4] = { "single", "page", |
103 | "scather-gather", "coherent" }; | 115 | "scather-gather", "coherent" }; |
@@ -105,6 +117,11 @@ static const char *type2name[4] = { "single", "page", | |||
105 | static const char *dir2name[4] = { "DMA_BIDIRECTIONAL", "DMA_TO_DEVICE", | 117 | static const char *dir2name[4] = { "DMA_BIDIRECTIONAL", "DMA_TO_DEVICE", |
106 | "DMA_FROM_DEVICE", "DMA_NONE" }; | 118 | "DMA_FROM_DEVICE", "DMA_NONE" }; |
107 | 119 | ||
120 | /* little merge helper - remove it after the merge window */ | ||
121 | #ifndef BUS_NOTIFY_UNBOUND_DRIVER | ||
122 | #define BUS_NOTIFY_UNBOUND_DRIVER 0x0005 | ||
123 | #endif | ||
124 | |||
108 | /* | 125 | /* |
109 | * The access to some variables in this macro is racy. We can't use atomic_t | 126 | * The access to some variables in this macro is racy. We can't use atomic_t |
110 | * here because all these variables are exported to debugfs. Some of them even | 127 | * here because all these variables are exported to debugfs. Some of them even |
@@ -128,9 +145,48 @@ static inline void dump_entry_trace(struct dma_debug_entry *entry) | |||
128 | #endif | 145 | #endif |
129 | } | 146 | } |
130 | 147 | ||
148 | static bool driver_filter(struct device *dev) | ||
149 | { | ||
150 | /* driver filter off */ | ||
151 | if (likely(!current_driver_name[0])) | ||
152 | return true; | ||
153 | |||
154 | /* driver filter on and initialized */ | ||
155 | if (current_driver && dev->driver == current_driver) | ||
156 | return true; | ||
157 | |||
158 | /* driver filter on but not yet initialized */ | ||
159 | if (!current_driver && current_driver_name[0]) { | ||
160 | struct device_driver *drv = get_driver(dev->driver); | ||
161 | unsigned long flags; | ||
162 | bool ret = false; | ||
163 | |||
164 | if (!drv) | ||
165 | return false; | ||
166 | |||
167 | /* lock to protect against change of current_driver_name */ | ||
168 | read_lock_irqsave(&driver_name_lock, flags); | ||
169 | |||
170 | if (drv->name && | ||
171 | strncmp(current_driver_name, drv->name, | ||
172 | NAME_MAX_LEN-1) == 0) { | ||
173 | current_driver = drv; | ||
174 | ret = true; | ||
175 | } | ||
176 | |||
177 | read_unlock_irqrestore(&driver_name_lock, flags); | ||
178 | put_driver(drv); | ||
179 | |||
180 | return ret; | ||
181 | } | ||
182 | |||
183 | return false; | ||
184 | } | ||
185 | |||
131 | #define err_printk(dev, entry, format, arg...) do { \ | 186 | #define err_printk(dev, entry, format, arg...) do { \ |
132 | error_count += 1; \ | 187 | error_count += 1; \ |
133 | if (show_all_errors || show_num_errors > 0) { \ | 188 | if (driver_filter(dev) && \ |
189 | (show_all_errors || show_num_errors > 0)) { \ | ||
134 | WARN(1, "%s %s: " format, \ | 190 | WARN(1, "%s %s: " format, \ |
135 | dev_driver_string(dev), \ | 191 | dev_driver_string(dev), \ |
136 | dev_name(dev) , ## arg); \ | 192 | dev_name(dev) , ## arg); \ |
@@ -186,15 +242,50 @@ static void put_hash_bucket(struct hash_bucket *bucket, | |||
186 | static struct dma_debug_entry *hash_bucket_find(struct hash_bucket *bucket, | 242 | static struct dma_debug_entry *hash_bucket_find(struct hash_bucket *bucket, |
187 | struct dma_debug_entry *ref) | 243 | struct dma_debug_entry *ref) |
188 | { | 244 | { |
189 | struct dma_debug_entry *entry; | 245 | struct dma_debug_entry *entry, *ret = NULL; |
246 | int matches = 0, match_lvl, last_lvl = 0; | ||
190 | 247 | ||
191 | list_for_each_entry(entry, &bucket->list, list) { | 248 | list_for_each_entry(entry, &bucket->list, list) { |
192 | if ((entry->dev_addr == ref->dev_addr) && | 249 | if ((entry->dev_addr != ref->dev_addr) || |
193 | (entry->dev == ref->dev)) | 250 | (entry->dev != ref->dev)) |
251 | continue; | ||
252 | |||
253 | /* | ||
254 | * Some drivers map the same physical address multiple | ||
255 | * times. Without a hardware IOMMU this results in the | ||
256 | * same device addresses being put into the dma-debug | ||
257 | * hash multiple times too. This can result in false | ||
258 | * positives being reported. Therfore we implement a | ||
259 | * best-fit algorithm here which returns the entry from | ||
260 | * the hash which fits best to the reference value | ||
261 | * instead of the first-fit. | ||
262 | */ | ||
263 | matches += 1; | ||
264 | match_lvl = 0; | ||
265 | entry->size == ref->size ? ++match_lvl : match_lvl; | ||
266 | entry->type == ref->type ? ++match_lvl : match_lvl; | ||
267 | entry->direction == ref->direction ? ++match_lvl : match_lvl; | ||
268 | |||
269 | if (match_lvl == 3) { | ||
270 | /* perfect-fit - return the result */ | ||
194 | return entry; | 271 | return entry; |
272 | } else if (match_lvl > last_lvl) { | ||
273 | /* | ||
274 | * We found an entry that fits better then the | ||
275 | * previous one | ||
276 | */ | ||
277 | last_lvl = match_lvl; | ||
278 | ret = entry; | ||
279 | } | ||
195 | } | 280 | } |
196 | 281 | ||
197 | return NULL; | 282 | /* |
283 | * If we have multiple matches but no perfect-fit, just return | ||
284 | * NULL. | ||
285 | */ | ||
286 | ret = (matches == 1) ? ret : NULL; | ||
287 | |||
288 | return ret; | ||
198 | } | 289 | } |
199 | 290 | ||
200 | /* | 291 | /* |
@@ -407,6 +498,97 @@ out_err: | |||
407 | return -ENOMEM; | 498 | return -ENOMEM; |
408 | } | 499 | } |
409 | 500 | ||
501 | static ssize_t filter_read(struct file *file, char __user *user_buf, | ||
502 | size_t count, loff_t *ppos) | ||
503 | { | ||
504 | unsigned long flags; | ||
505 | char buf[NAME_MAX_LEN + 1]; | ||
506 | int len; | ||
507 | |||
508 | if (!current_driver_name[0]) | ||
509 | return 0; | ||
510 | |||
511 | /* | ||
512 | * We can't copy to userspace directly because current_driver_name can | ||
513 | * only be read under the driver_name_lock with irqs disabled. So | ||
514 | * create a temporary copy first. | ||
515 | */ | ||
516 | read_lock_irqsave(&driver_name_lock, flags); | ||
517 | len = scnprintf(buf, NAME_MAX_LEN + 1, "%s\n", current_driver_name); | ||
518 | read_unlock_irqrestore(&driver_name_lock, flags); | ||
519 | |||
520 | return simple_read_from_buffer(user_buf, count, ppos, buf, len); | ||
521 | } | ||
522 | |||
523 | static ssize_t filter_write(struct file *file, const char __user *userbuf, | ||
524 | size_t count, loff_t *ppos) | ||
525 | { | ||
526 | unsigned long flags; | ||
527 | char buf[NAME_MAX_LEN]; | ||
528 | size_t len = NAME_MAX_LEN - 1; | ||
529 | int i; | ||
530 | |||
531 | /* | ||
532 | * We can't copy from userspace directly. Access to | ||
533 | * current_driver_name is protected with a write_lock with irqs | ||
534 | * disabled. Since copy_from_user can fault and may sleep we | ||
535 | * need to copy to temporary buffer first | ||
536 | */ | ||
537 | len = min(count, len); | ||
538 | if (copy_from_user(buf, userbuf, len)) | ||
539 | return -EFAULT; | ||
540 | |||
541 | buf[len] = 0; | ||
542 | |||
543 | write_lock_irqsave(&driver_name_lock, flags); | ||
544 | |||
545 | /* Now handle the string we got from userspace very carefully. | ||
546 | * The rules are: | ||
547 | * - only use the first token we got | ||
548 | * - token delimiter is everything looking like a space | ||
549 | * character (' ', '\n', '\t' ...) | ||
550 | * | ||
551 | */ | ||
552 | if (!isalnum(buf[0])) { | ||
553 | /* | ||
554 | If the first character userspace gave us is not | ||
555 | * alphanumerical then assume the filter should be | ||
556 | * switched off. | ||
557 | */ | ||
558 | if (current_driver_name[0]) | ||
559 | printk(KERN_INFO "DMA-API: switching off dma-debug " | ||
560 | "driver filter\n"); | ||
561 | current_driver_name[0] = 0; | ||
562 | current_driver = NULL; | ||
563 | goto out_unlock; | ||
564 | } | ||
565 | |||
566 | /* | ||
567 | * Now parse out the first token and use it as the name for the | ||
568 | * driver to filter for. | ||
569 | */ | ||
570 | for (i = 0; i < NAME_MAX_LEN; ++i) { | ||
571 | current_driver_name[i] = buf[i]; | ||
572 | if (isspace(buf[i]) || buf[i] == ' ' || buf[i] == 0) | ||
573 | break; | ||
574 | } | ||
575 | current_driver_name[i] = 0; | ||
576 | current_driver = NULL; | ||
577 | |||
578 | printk(KERN_INFO "DMA-API: enable driver filter for driver [%s]\n", | ||
579 | current_driver_name); | ||
580 | |||
581 | out_unlock: | ||
582 | write_unlock_irqrestore(&driver_name_lock, flags); | ||
583 | |||
584 | return count; | ||
585 | } | ||
586 | |||
587 | const struct file_operations filter_fops = { | ||
588 | .read = filter_read, | ||
589 | .write = filter_write, | ||
590 | }; | ||
591 | |||
410 | static int dma_debug_fs_init(void) | 592 | static int dma_debug_fs_init(void) |
411 | { | 593 | { |
412 | dma_debug_dent = debugfs_create_dir("dma-api", NULL); | 594 | dma_debug_dent = debugfs_create_dir("dma-api", NULL); |
@@ -450,6 +632,11 @@ static int dma_debug_fs_init(void) | |||
450 | if (!min_free_entries_dent) | 632 | if (!min_free_entries_dent) |
451 | goto out_err; | 633 | goto out_err; |
452 | 634 | ||
635 | filter_dent = debugfs_create_file("driver_filter", 0644, | ||
636 | dma_debug_dent, NULL, &filter_fops); | ||
637 | if (!filter_dent) | ||
638 | goto out_err; | ||
639 | |||
453 | return 0; | 640 | return 0; |
454 | 641 | ||
455 | out_err: | 642 | out_err: |
@@ -458,9 +645,60 @@ out_err: | |||
458 | return -ENOMEM; | 645 | return -ENOMEM; |
459 | } | 646 | } |
460 | 647 | ||
648 | static int device_dma_allocations(struct device *dev) | ||
649 | { | ||
650 | struct dma_debug_entry *entry; | ||
651 | unsigned long flags; | ||
652 | int count = 0, i; | ||
653 | |||
654 | for (i = 0; i < HASH_SIZE; ++i) { | ||
655 | spin_lock_irqsave(&dma_entry_hash[i].lock, flags); | ||
656 | list_for_each_entry(entry, &dma_entry_hash[i].list, list) { | ||
657 | if (entry->dev == dev) | ||
658 | count += 1; | ||
659 | } | ||
660 | spin_unlock_irqrestore(&dma_entry_hash[i].lock, flags); | ||
661 | } | ||
662 | |||
663 | return count; | ||
664 | } | ||
665 | |||
666 | static int dma_debug_device_change(struct notifier_block *nb, | ||
667 | unsigned long action, void *data) | ||
668 | { | ||
669 | struct device *dev = data; | ||
670 | int count; | ||
671 | |||
672 | |||
673 | switch (action) { | ||
674 | case BUS_NOTIFY_UNBOUND_DRIVER: | ||
675 | count = device_dma_allocations(dev); | ||
676 | if (count == 0) | ||
677 | break; | ||
678 | err_printk(dev, NULL, "DMA-API: device driver has pending " | ||
679 | "DMA allocations while released from device " | ||
680 | "[count=%d]\n", count); | ||
681 | break; | ||
682 | default: | ||
683 | break; | ||
684 | } | ||
685 | |||
686 | return 0; | ||
687 | } | ||
688 | |||
461 | void dma_debug_add_bus(struct bus_type *bus) | 689 | void dma_debug_add_bus(struct bus_type *bus) |
462 | { | 690 | { |
463 | /* FIXME: register notifier */ | 691 | struct notifier_block *nb; |
692 | |||
693 | nb = kzalloc(sizeof(struct notifier_block), GFP_KERNEL); | ||
694 | if (nb == NULL) { | ||
695 | printk(KERN_ERR "dma_debug_add_bus: out of memory\n"); | ||
696 | return; | ||
697 | } | ||
698 | |||
699 | nb->notifier_call = dma_debug_device_change; | ||
700 | |||
701 | bus_register_notifier(bus, nb); | ||
464 | } | 702 | } |
465 | 703 | ||
466 | /* | 704 | /* |
@@ -783,15 +1021,15 @@ void debug_dma_map_sg(struct device *dev, struct scatterlist *sg, | |||
783 | entry->type = dma_debug_sg; | 1021 | entry->type = dma_debug_sg; |
784 | entry->dev = dev; | 1022 | entry->dev = dev; |
785 | entry->paddr = sg_phys(s); | 1023 | entry->paddr = sg_phys(s); |
786 | entry->size = s->length; | 1024 | entry->size = sg_dma_len(s); |
787 | entry->dev_addr = s->dma_address; | 1025 | entry->dev_addr = sg_dma_address(s); |
788 | entry->direction = direction; | 1026 | entry->direction = direction; |
789 | entry->sg_call_ents = nents; | 1027 | entry->sg_call_ents = nents; |
790 | entry->sg_mapped_ents = mapped_ents; | 1028 | entry->sg_mapped_ents = mapped_ents; |
791 | 1029 | ||
792 | if (!PageHighMem(sg_page(s))) { | 1030 | if (!PageHighMem(sg_page(s))) { |
793 | check_for_stack(dev, sg_virt(s)); | 1031 | check_for_stack(dev, sg_virt(s)); |
794 | check_for_illegal_area(dev, sg_virt(s), s->length); | 1032 | check_for_illegal_area(dev, sg_virt(s), sg_dma_len(s)); |
795 | } | 1033 | } |
796 | 1034 | ||
797 | add_dma_entry(entry); | 1035 | add_dma_entry(entry); |
@@ -799,13 +1037,32 @@ void debug_dma_map_sg(struct device *dev, struct scatterlist *sg, | |||
799 | } | 1037 | } |
800 | EXPORT_SYMBOL(debug_dma_map_sg); | 1038 | EXPORT_SYMBOL(debug_dma_map_sg); |
801 | 1039 | ||
1040 | static int get_nr_mapped_entries(struct device *dev, struct scatterlist *s) | ||
1041 | { | ||
1042 | struct dma_debug_entry *entry; | ||
1043 | struct hash_bucket *bucket; | ||
1044 | unsigned long flags; | ||
1045 | int mapped_ents = 0; | ||
1046 | struct dma_debug_entry ref; | ||
1047 | |||
1048 | ref.dev = dev; | ||
1049 | ref.dev_addr = sg_dma_address(s); | ||
1050 | ref.size = sg_dma_len(s), | ||
1051 | |||
1052 | bucket = get_hash_bucket(&ref, &flags); | ||
1053 | entry = hash_bucket_find(bucket, &ref); | ||
1054 | if (entry) | ||
1055 | mapped_ents = entry->sg_mapped_ents; | ||
1056 | put_hash_bucket(bucket, &flags); | ||
1057 | |||
1058 | return mapped_ents; | ||
1059 | } | ||
1060 | |||
802 | void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, | 1061 | void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, |
803 | int nelems, int dir) | 1062 | int nelems, int dir) |
804 | { | 1063 | { |
805 | struct dma_debug_entry *entry; | ||
806 | struct scatterlist *s; | 1064 | struct scatterlist *s; |
807 | int mapped_ents = 0, i; | 1065 | int mapped_ents = 0, i; |
808 | unsigned long flags; | ||
809 | 1066 | ||
810 | if (unlikely(global_disable)) | 1067 | if (unlikely(global_disable)) |
811 | return; | 1068 | return; |
@@ -816,8 +1073,8 @@ void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, | |||
816 | .type = dma_debug_sg, | 1073 | .type = dma_debug_sg, |
817 | .dev = dev, | 1074 | .dev = dev, |
818 | .paddr = sg_phys(s), | 1075 | .paddr = sg_phys(s), |
819 | .dev_addr = s->dma_address, | 1076 | .dev_addr = sg_dma_address(s), |
820 | .size = s->length, | 1077 | .size = sg_dma_len(s), |
821 | .direction = dir, | 1078 | .direction = dir, |
822 | .sg_call_ents = 0, | 1079 | .sg_call_ents = 0, |
823 | }; | 1080 | }; |
@@ -825,14 +1082,9 @@ void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, | |||
825 | if (mapped_ents && i >= mapped_ents) | 1082 | if (mapped_ents && i >= mapped_ents) |
826 | break; | 1083 | break; |
827 | 1084 | ||
828 | if (mapped_ents == 0) { | 1085 | if (!i) { |
829 | struct hash_bucket *bucket; | ||
830 | ref.sg_call_ents = nelems; | 1086 | ref.sg_call_ents = nelems; |
831 | bucket = get_hash_bucket(&ref, &flags); | 1087 | mapped_ents = get_nr_mapped_entries(dev, s); |
832 | entry = hash_bucket_find(bucket, &ref); | ||
833 | if (entry) | ||
834 | mapped_ents = entry->sg_mapped_ents; | ||
835 | put_hash_bucket(bucket, &flags); | ||
836 | } | 1088 | } |
837 | 1089 | ||
838 | check_unmap(&ref); | 1090 | check_unmap(&ref); |
@@ -934,14 +1186,20 @@ void debug_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, | |||
934 | int nelems, int direction) | 1186 | int nelems, int direction) |
935 | { | 1187 | { |
936 | struct scatterlist *s; | 1188 | struct scatterlist *s; |
937 | int i; | 1189 | int mapped_ents = 0, i; |
938 | 1190 | ||
939 | if (unlikely(global_disable)) | 1191 | if (unlikely(global_disable)) |
940 | return; | 1192 | return; |
941 | 1193 | ||
942 | for_each_sg(sg, s, nelems, i) { | 1194 | for_each_sg(sg, s, nelems, i) { |
943 | check_sync(dev, s->dma_address, s->dma_length, 0, | 1195 | if (!i) |
944 | direction, true); | 1196 | mapped_ents = get_nr_mapped_entries(dev, s); |
1197 | |||
1198 | if (i >= mapped_ents) | ||
1199 | break; | ||
1200 | |||
1201 | check_sync(dev, sg_dma_address(s), sg_dma_len(s), 0, | ||
1202 | direction, true); | ||
945 | } | 1203 | } |
946 | } | 1204 | } |
947 | EXPORT_SYMBOL(debug_dma_sync_sg_for_cpu); | 1205 | EXPORT_SYMBOL(debug_dma_sync_sg_for_cpu); |
@@ -950,15 +1208,39 @@ void debug_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, | |||
950 | int nelems, int direction) | 1208 | int nelems, int direction) |
951 | { | 1209 | { |
952 | struct scatterlist *s; | 1210 | struct scatterlist *s; |
953 | int i; | 1211 | int mapped_ents = 0, i; |
954 | 1212 | ||
955 | if (unlikely(global_disable)) | 1213 | if (unlikely(global_disable)) |
956 | return; | 1214 | return; |
957 | 1215 | ||
958 | for_each_sg(sg, s, nelems, i) { | 1216 | for_each_sg(sg, s, nelems, i) { |
959 | check_sync(dev, s->dma_address, s->dma_length, 0, | 1217 | if (!i) |
960 | direction, false); | 1218 | mapped_ents = get_nr_mapped_entries(dev, s); |
1219 | |||
1220 | if (i >= mapped_ents) | ||
1221 | break; | ||
1222 | |||
1223 | check_sync(dev, sg_dma_address(s), sg_dma_len(s), 0, | ||
1224 | direction, false); | ||
961 | } | 1225 | } |
962 | } | 1226 | } |
963 | EXPORT_SYMBOL(debug_dma_sync_sg_for_device); | 1227 | EXPORT_SYMBOL(debug_dma_sync_sg_for_device); |
964 | 1228 | ||
1229 | static int __init dma_debug_driver_setup(char *str) | ||
1230 | { | ||
1231 | int i; | ||
1232 | |||
1233 | for (i = 0; i < NAME_MAX_LEN - 1; ++i, ++str) { | ||
1234 | current_driver_name[i] = *str; | ||
1235 | if (*str == 0) | ||
1236 | break; | ||
1237 | } | ||
1238 | |||
1239 | if (current_driver_name[0]) | ||
1240 | printk(KERN_INFO "DMA-API: enable driver filter for " | ||
1241 | "driver [%s]\n", current_driver_name); | ||
1242 | |||
1243 | |||
1244 | return 1; | ||
1245 | } | ||
1246 | __setup("dma_debug_driver=", dma_debug_driver_setup); | ||
diff --git a/mm/filemap.c b/mm/filemap.c index 379ff0bcbf6e..1b60f30cebfa 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -121,7 +121,6 @@ void __remove_from_page_cache(struct page *page) | |||
121 | mapping->nrpages--; | 121 | mapping->nrpages--; |
122 | __dec_zone_page_state(page, NR_FILE_PAGES); | 122 | __dec_zone_page_state(page, NR_FILE_PAGES); |
123 | BUG_ON(page_mapped(page)); | 123 | BUG_ON(page_mapped(page)); |
124 | mem_cgroup_uncharge_cache_page(page); | ||
125 | 124 | ||
126 | /* | 125 | /* |
127 | * Some filesystems seem to re-dirty the page even after | 126 | * Some filesystems seem to re-dirty the page even after |
@@ -145,6 +144,7 @@ void remove_from_page_cache(struct page *page) | |||
145 | spin_lock_irq(&mapping->tree_lock); | 144 | spin_lock_irq(&mapping->tree_lock); |
146 | __remove_from_page_cache(page); | 145 | __remove_from_page_cache(page); |
147 | spin_unlock_irq(&mapping->tree_lock); | 146 | spin_unlock_irq(&mapping->tree_lock); |
147 | mem_cgroup_uncharge_cache_page(page); | ||
148 | } | 148 | } |
149 | 149 | ||
150 | static int sync_page(void *word) | 150 | static int sync_page(void *word) |
@@ -476,13 +476,13 @@ int add_to_page_cache_locked(struct page *page, struct address_space *mapping, | |||
476 | if (likely(!error)) { | 476 | if (likely(!error)) { |
477 | mapping->nrpages++; | 477 | mapping->nrpages++; |
478 | __inc_zone_page_state(page, NR_FILE_PAGES); | 478 | __inc_zone_page_state(page, NR_FILE_PAGES); |
479 | spin_unlock_irq(&mapping->tree_lock); | ||
479 | } else { | 480 | } else { |
480 | page->mapping = NULL; | 481 | page->mapping = NULL; |
482 | spin_unlock_irq(&mapping->tree_lock); | ||
481 | mem_cgroup_uncharge_cache_page(page); | 483 | mem_cgroup_uncharge_cache_page(page); |
482 | page_cache_release(page); | 484 | page_cache_release(page); |
483 | } | 485 | } |
484 | |||
485 | spin_unlock_irq(&mapping->tree_lock); | ||
486 | radix_tree_preload_end(); | 486 | radix_tree_preload_end(); |
487 | } else | 487 | } else |
488 | mem_cgroup_uncharge_cache_page(page); | 488 | mem_cgroup_uncharge_cache_page(page); |
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 28c655ba9353..e83ad2c9228c 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
@@ -316,7 +316,7 @@ static void resv_map_release(struct kref *ref) | |||
316 | static struct resv_map *vma_resv_map(struct vm_area_struct *vma) | 316 | static struct resv_map *vma_resv_map(struct vm_area_struct *vma) |
317 | { | 317 | { |
318 | VM_BUG_ON(!is_vm_hugetlb_page(vma)); | 318 | VM_BUG_ON(!is_vm_hugetlb_page(vma)); |
319 | if (!(vma->vm_flags & VM_SHARED)) | 319 | if (!(vma->vm_flags & VM_MAYSHARE)) |
320 | return (struct resv_map *)(get_vma_private_data(vma) & | 320 | return (struct resv_map *)(get_vma_private_data(vma) & |
321 | ~HPAGE_RESV_MASK); | 321 | ~HPAGE_RESV_MASK); |
322 | return NULL; | 322 | return NULL; |
@@ -325,7 +325,7 @@ static struct resv_map *vma_resv_map(struct vm_area_struct *vma) | |||
325 | static void set_vma_resv_map(struct vm_area_struct *vma, struct resv_map *map) | 325 | static void set_vma_resv_map(struct vm_area_struct *vma, struct resv_map *map) |
326 | { | 326 | { |
327 | VM_BUG_ON(!is_vm_hugetlb_page(vma)); | 327 | VM_BUG_ON(!is_vm_hugetlb_page(vma)); |
328 | VM_BUG_ON(vma->vm_flags & VM_SHARED); | 328 | VM_BUG_ON(vma->vm_flags & VM_MAYSHARE); |
329 | 329 | ||
330 | set_vma_private_data(vma, (get_vma_private_data(vma) & | 330 | set_vma_private_data(vma, (get_vma_private_data(vma) & |
331 | HPAGE_RESV_MASK) | (unsigned long)map); | 331 | HPAGE_RESV_MASK) | (unsigned long)map); |
@@ -334,7 +334,7 @@ static void set_vma_resv_map(struct vm_area_struct *vma, struct resv_map *map) | |||
334 | static void set_vma_resv_flags(struct vm_area_struct *vma, unsigned long flags) | 334 | static void set_vma_resv_flags(struct vm_area_struct *vma, unsigned long flags) |
335 | { | 335 | { |
336 | VM_BUG_ON(!is_vm_hugetlb_page(vma)); | 336 | VM_BUG_ON(!is_vm_hugetlb_page(vma)); |
337 | VM_BUG_ON(vma->vm_flags & VM_SHARED); | 337 | VM_BUG_ON(vma->vm_flags & VM_MAYSHARE); |
338 | 338 | ||
339 | set_vma_private_data(vma, get_vma_private_data(vma) | flags); | 339 | set_vma_private_data(vma, get_vma_private_data(vma) | flags); |
340 | } | 340 | } |
@@ -353,7 +353,7 @@ static void decrement_hugepage_resv_vma(struct hstate *h, | |||
353 | if (vma->vm_flags & VM_NORESERVE) | 353 | if (vma->vm_flags & VM_NORESERVE) |
354 | return; | 354 | return; |
355 | 355 | ||
356 | if (vma->vm_flags & VM_SHARED) { | 356 | if (vma->vm_flags & VM_MAYSHARE) { |
357 | /* Shared mappings always use reserves */ | 357 | /* Shared mappings always use reserves */ |
358 | h->resv_huge_pages--; | 358 | h->resv_huge_pages--; |
359 | } else if (is_vma_resv_set(vma, HPAGE_RESV_OWNER)) { | 359 | } else if (is_vma_resv_set(vma, HPAGE_RESV_OWNER)) { |
@@ -369,14 +369,14 @@ static void decrement_hugepage_resv_vma(struct hstate *h, | |||
369 | void reset_vma_resv_huge_pages(struct vm_area_struct *vma) | 369 | void reset_vma_resv_huge_pages(struct vm_area_struct *vma) |
370 | { | 370 | { |
371 | VM_BUG_ON(!is_vm_hugetlb_page(vma)); | 371 | VM_BUG_ON(!is_vm_hugetlb_page(vma)); |
372 | if (!(vma->vm_flags & VM_SHARED)) | 372 | if (!(vma->vm_flags & VM_MAYSHARE)) |
373 | vma->vm_private_data = (void *)0; | 373 | vma->vm_private_data = (void *)0; |
374 | } | 374 | } |
375 | 375 | ||
376 | /* Returns true if the VMA has associated reserve pages */ | 376 | /* Returns true if the VMA has associated reserve pages */ |
377 | static int vma_has_reserves(struct vm_area_struct *vma) | 377 | static int vma_has_reserves(struct vm_area_struct *vma) |
378 | { | 378 | { |
379 | if (vma->vm_flags & VM_SHARED) | 379 | if (vma->vm_flags & VM_MAYSHARE) |
380 | return 1; | 380 | return 1; |
381 | if (is_vma_resv_set(vma, HPAGE_RESV_OWNER)) | 381 | if (is_vma_resv_set(vma, HPAGE_RESV_OWNER)) |
382 | return 1; | 382 | return 1; |
@@ -924,7 +924,7 @@ static long vma_needs_reservation(struct hstate *h, | |||
924 | struct address_space *mapping = vma->vm_file->f_mapping; | 924 | struct address_space *mapping = vma->vm_file->f_mapping; |
925 | struct inode *inode = mapping->host; | 925 | struct inode *inode = mapping->host; |
926 | 926 | ||
927 | if (vma->vm_flags & VM_SHARED) { | 927 | if (vma->vm_flags & VM_MAYSHARE) { |
928 | pgoff_t idx = vma_hugecache_offset(h, vma, addr); | 928 | pgoff_t idx = vma_hugecache_offset(h, vma, addr); |
929 | return region_chg(&inode->i_mapping->private_list, | 929 | return region_chg(&inode->i_mapping->private_list, |
930 | idx, idx + 1); | 930 | idx, idx + 1); |
@@ -949,7 +949,7 @@ static void vma_commit_reservation(struct hstate *h, | |||
949 | struct address_space *mapping = vma->vm_file->f_mapping; | 949 | struct address_space *mapping = vma->vm_file->f_mapping; |
950 | struct inode *inode = mapping->host; | 950 | struct inode *inode = mapping->host; |
951 | 951 | ||
952 | if (vma->vm_flags & VM_SHARED) { | 952 | if (vma->vm_flags & VM_MAYSHARE) { |
953 | pgoff_t idx = vma_hugecache_offset(h, vma, addr); | 953 | pgoff_t idx = vma_hugecache_offset(h, vma, addr); |
954 | region_add(&inode->i_mapping->private_list, idx, idx + 1); | 954 | region_add(&inode->i_mapping->private_list, idx, idx + 1); |
955 | 955 | ||
@@ -1893,7 +1893,7 @@ retry_avoidcopy: | |||
1893 | * at the time of fork() could consume its reserves on COW instead | 1893 | * at the time of fork() could consume its reserves on COW instead |
1894 | * of the full address range. | 1894 | * of the full address range. |
1895 | */ | 1895 | */ |
1896 | if (!(vma->vm_flags & VM_SHARED) && | 1896 | if (!(vma->vm_flags & VM_MAYSHARE) && |
1897 | is_vma_resv_set(vma, HPAGE_RESV_OWNER) && | 1897 | is_vma_resv_set(vma, HPAGE_RESV_OWNER) && |
1898 | old_page != pagecache_page) | 1898 | old_page != pagecache_page) |
1899 | outside_reserve = 1; | 1899 | outside_reserve = 1; |
@@ -2000,7 +2000,7 @@ retry: | |||
2000 | clear_huge_page(page, address, huge_page_size(h)); | 2000 | clear_huge_page(page, address, huge_page_size(h)); |
2001 | __SetPageUptodate(page); | 2001 | __SetPageUptodate(page); |
2002 | 2002 | ||
2003 | if (vma->vm_flags & VM_SHARED) { | 2003 | if (vma->vm_flags & VM_MAYSHARE) { |
2004 | int err; | 2004 | int err; |
2005 | struct inode *inode = mapping->host; | 2005 | struct inode *inode = mapping->host; |
2006 | 2006 | ||
@@ -2104,7 +2104,7 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, | |||
2104 | goto out_mutex; | 2104 | goto out_mutex; |
2105 | } | 2105 | } |
2106 | 2106 | ||
2107 | if (!(vma->vm_flags & VM_SHARED)) | 2107 | if (!(vma->vm_flags & VM_MAYSHARE)) |
2108 | pagecache_page = hugetlbfs_pagecache_page(h, | 2108 | pagecache_page = hugetlbfs_pagecache_page(h, |
2109 | vma, address); | 2109 | vma, address); |
2110 | } | 2110 | } |
@@ -2289,7 +2289,7 @@ int hugetlb_reserve_pages(struct inode *inode, | |||
2289 | * to reserve the full area even if read-only as mprotect() may be | 2289 | * to reserve the full area even if read-only as mprotect() may be |
2290 | * called to make the mapping read-write. Assume !vma is a shm mapping | 2290 | * called to make the mapping read-write. Assume !vma is a shm mapping |
2291 | */ | 2291 | */ |
2292 | if (!vma || vma->vm_flags & VM_SHARED) | 2292 | if (!vma || vma->vm_flags & VM_MAYSHARE) |
2293 | chg = region_chg(&inode->i_mapping->private_list, from, to); | 2293 | chg = region_chg(&inode->i_mapping->private_list, from, to); |
2294 | else { | 2294 | else { |
2295 | struct resv_map *resv_map = resv_map_alloc(); | 2295 | struct resv_map *resv_map = resv_map_alloc(); |
@@ -2330,7 +2330,7 @@ int hugetlb_reserve_pages(struct inode *inode, | |||
2330 | * consumed reservations are stored in the map. Hence, nothing | 2330 | * consumed reservations are stored in the map. Hence, nothing |
2331 | * else has to be done for private mappings here | 2331 | * else has to be done for private mappings here |
2332 | */ | 2332 | */ |
2333 | if (!vma || vma->vm_flags & VM_SHARED) | 2333 | if (!vma || vma->vm_flags & VM_MAYSHARE) |
2334 | region_add(&inode->i_mapping->private_list, from, to); | 2334 | region_add(&inode->i_mapping->private_list, from, to); |
2335 | return 0; | 2335 | return 0; |
2336 | } | 2336 | } |
diff --git a/mm/madvise.c b/mm/madvise.c index 36d6ea2b6340..b9ce574827c8 100644 --- a/mm/madvise.c +++ b/mm/madvise.c | |||
@@ -112,14 +112,6 @@ static long madvise_willneed(struct vm_area_struct * vma, | |||
112 | if (!file) | 112 | if (!file) |
113 | return -EBADF; | 113 | return -EBADF; |
114 | 114 | ||
115 | /* | ||
116 | * Page cache readahead assumes page cache pages are order-0 which | ||
117 | * is not the case for hugetlbfs. Do not give a bad return value | ||
118 | * but ignore the advice. | ||
119 | */ | ||
120 | if (vma->vm_flags & VM_HUGETLB) | ||
121 | return 0; | ||
122 | |||
123 | if (file->f_mapping->a_ops->get_xip_mem) { | 115 | if (file->f_mapping->a_ops->get_xip_mem) { |
124 | /* no bad return value, but ignore advice */ | 116 | /* no bad return value, but ignore advice */ |
125 | return 0; | 117 | return 0; |
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 01c2d8f14685..78eb8552818b 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -314,14 +314,6 @@ static struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm) | |||
314 | return mem; | 314 | return mem; |
315 | } | 315 | } |
316 | 316 | ||
317 | static bool mem_cgroup_is_obsolete(struct mem_cgroup *mem) | ||
318 | { | ||
319 | if (!mem) | ||
320 | return true; | ||
321 | return css_is_removed(&mem->css); | ||
322 | } | ||
323 | |||
324 | |||
325 | /* | 317 | /* |
326 | * Call callback function against all cgroup under hierarchy tree. | 318 | * Call callback function against all cgroup under hierarchy tree. |
327 | */ | 319 | */ |
@@ -932,7 +924,7 @@ static int __mem_cgroup_try_charge(struct mm_struct *mm, | |||
932 | if (unlikely(!mem)) | 924 | if (unlikely(!mem)) |
933 | return 0; | 925 | return 0; |
934 | 926 | ||
935 | VM_BUG_ON(!mem || mem_cgroup_is_obsolete(mem)); | 927 | VM_BUG_ON(css_is_removed(&mem->css)); |
936 | 928 | ||
937 | while (1) { | 929 | while (1) { |
938 | int ret; | 930 | int ret; |
@@ -1488,8 +1480,9 @@ void mem_cgroup_uncharge_cache_page(struct page *page) | |||
1488 | __mem_cgroup_uncharge_common(page, MEM_CGROUP_CHARGE_TYPE_CACHE); | 1480 | __mem_cgroup_uncharge_common(page, MEM_CGROUP_CHARGE_TYPE_CACHE); |
1489 | } | 1481 | } |
1490 | 1482 | ||
1483 | #ifdef CONFIG_SWAP | ||
1491 | /* | 1484 | /* |
1492 | * called from __delete_from_swap_cache() and drop "page" account. | 1485 | * called after __delete_from_swap_cache() and drop "page" account. |
1493 | * memcg information is recorded to swap_cgroup of "ent" | 1486 | * memcg information is recorded to swap_cgroup of "ent" |
1494 | */ | 1487 | */ |
1495 | void mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent) | 1488 | void mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent) |
@@ -1506,6 +1499,7 @@ void mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent) | |||
1506 | if (memcg) | 1499 | if (memcg) |
1507 | css_put(&memcg->css); | 1500 | css_put(&memcg->css); |
1508 | } | 1501 | } |
1502 | #endif | ||
1509 | 1503 | ||
1510 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP | 1504 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP |
1511 | /* | 1505 | /* |
diff --git a/mm/mmzone.c b/mm/mmzone.c index 16ce8b955dcf..f5b7d1760213 100644 --- a/mm/mmzone.c +++ b/mm/mmzone.c | |||
@@ -6,6 +6,7 @@ | |||
6 | 6 | ||
7 | 7 | ||
8 | #include <linux/stddef.h> | 8 | #include <linux/stddef.h> |
9 | #include <linux/mm.h> | ||
9 | #include <linux/mmzone.h> | 10 | #include <linux/mmzone.h> |
10 | #include <linux/module.h> | 11 | #include <linux/module.h> |
11 | 12 | ||
@@ -72,3 +73,17 @@ struct zoneref *next_zones_zonelist(struct zoneref *z, | |||
72 | *zone = zonelist_zone(z); | 73 | *zone = zonelist_zone(z); |
73 | return z; | 74 | return z; |
74 | } | 75 | } |
76 | |||
77 | #ifdef CONFIG_ARCH_HAS_HOLES_MEMORYMODEL | ||
78 | int memmap_valid_within(unsigned long pfn, | ||
79 | struct page *page, struct zone *zone) | ||
80 | { | ||
81 | if (page_to_pfn(page) != pfn) | ||
82 | return 0; | ||
83 | |||
84 | if (page_zone(page) != zone) | ||
85 | return 0; | ||
86 | |||
87 | return 1; | ||
88 | } | ||
89 | #endif /* CONFIG_ARCH_HAS_HOLES_MEMORYMODEL */ | ||
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 92bcf1db16b2..a7b2460e922b 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c | |||
@@ -284,22 +284,28 @@ static void dump_tasks(const struct mem_cgroup *mem) | |||
284 | printk(KERN_INFO "[ pid ] uid tgid total_vm rss cpu oom_adj " | 284 | printk(KERN_INFO "[ pid ] uid tgid total_vm rss cpu oom_adj " |
285 | "name\n"); | 285 | "name\n"); |
286 | do_each_thread(g, p) { | 286 | do_each_thread(g, p) { |
287 | /* | 287 | struct mm_struct *mm; |
288 | * total_vm and rss sizes do not exist for tasks with a | 288 | |
289 | * detached mm so there's no need to report them. | ||
290 | */ | ||
291 | if (!p->mm) | ||
292 | continue; | ||
293 | if (mem && !task_in_mem_cgroup(p, mem)) | 289 | if (mem && !task_in_mem_cgroup(p, mem)) |
294 | continue; | 290 | continue; |
295 | if (!thread_group_leader(p)) | 291 | if (!thread_group_leader(p)) |
296 | continue; | 292 | continue; |
297 | 293 | ||
298 | task_lock(p); | 294 | task_lock(p); |
295 | mm = p->mm; | ||
296 | if (!mm) { | ||
297 | /* | ||
298 | * total_vm and rss sizes do not exist for tasks with no | ||
299 | * mm so there's no need to report them; they can't be | ||
300 | * oom killed anyway. | ||
301 | */ | ||
302 | task_unlock(p); | ||
303 | continue; | ||
304 | } | ||
299 | printk(KERN_INFO "[%5d] %5d %5d %8lu %8lu %3d %3d %s\n", | 305 | printk(KERN_INFO "[%5d] %5d %5d %8lu %8lu %3d %3d %s\n", |
300 | p->pid, __task_cred(p)->uid, p->tgid, | 306 | p->pid, __task_cred(p)->uid, p->tgid, mm->total_vm, |
301 | p->mm->total_vm, get_mm_rss(p->mm), (int)task_cpu(p), | 307 | get_mm_rss(mm), (int)task_cpu(p), p->oomkilladj, |
302 | p->oomkilladj, p->comm); | 308 | p->comm); |
303 | task_unlock(p); | 309 | task_unlock(p); |
304 | } while_each_thread(g, p); | 310 | } while_each_thread(g, p); |
305 | } | 311 | } |
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 30351f0063ac..bb553c3e955d 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -94,12 +94,12 @@ unsigned long vm_dirty_bytes; | |||
94 | /* | 94 | /* |
95 | * The interval between `kupdate'-style writebacks | 95 | * The interval between `kupdate'-style writebacks |
96 | */ | 96 | */ |
97 | unsigned int dirty_writeback_interval = 5 * 100; /* sentiseconds */ | 97 | unsigned int dirty_writeback_interval = 5 * 100; /* centiseconds */ |
98 | 98 | ||
99 | /* | 99 | /* |
100 | * The longest time for which data is allowed to remain dirty | 100 | * The longest time for which data is allowed to remain dirty |
101 | */ | 101 | */ |
102 | unsigned int dirty_expire_interval = 30 * 100; /* sentiseconds */ | 102 | unsigned int dirty_expire_interval = 30 * 100; /* centiseconds */ |
103 | 103 | ||
104 | /* | 104 | /* |
105 | * Flag that makes the machine dump writes/reads and block dirtyings. | 105 | * Flag that makes the machine dump writes/reads and block dirtyings. |
@@ -770,7 +770,7 @@ static void wb_kupdate(unsigned long arg) | |||
770 | 770 | ||
771 | sync_supers(); | 771 | sync_supers(); |
772 | 772 | ||
773 | oldest_jif = jiffies - msecs_to_jiffies(dirty_expire_interval); | 773 | oldest_jif = jiffies - msecs_to_jiffies(dirty_expire_interval * 10); |
774 | start_jif = jiffies; | 774 | start_jif = jiffies; |
775 | next_jif = start_jif + msecs_to_jiffies(dirty_writeback_interval * 10); | 775 | next_jif = start_jif + msecs_to_jiffies(dirty_writeback_interval * 10); |
776 | nr_to_write = global_page_state(NR_FILE_DIRTY) + | 776 | nr_to_write = global_page_state(NR_FILE_DIRTY) + |
diff --git a/mm/pdflush.c b/mm/pdflush.c index f2caf96993f8..235ac440c44e 100644 --- a/mm/pdflush.c +++ b/mm/pdflush.c | |||
@@ -58,14 +58,6 @@ static DEFINE_SPINLOCK(pdflush_lock); | |||
58 | int nr_pdflush_threads = 0; | 58 | int nr_pdflush_threads = 0; |
59 | 59 | ||
60 | /* | 60 | /* |
61 | * The max/min number of pdflush threads. R/W by sysctl at | ||
62 | * /proc/sys/vm/nr_pdflush_threads_max/min | ||
63 | */ | ||
64 | int nr_pdflush_threads_max __read_mostly = MAX_PDFLUSH_THREADS; | ||
65 | int nr_pdflush_threads_min __read_mostly = MIN_PDFLUSH_THREADS; | ||
66 | |||
67 | |||
68 | /* | ||
69 | * The time at which the pdflush thread pool last went empty | 61 | * The time at which the pdflush thread pool last went empty |
70 | */ | 62 | */ |
71 | static unsigned long last_empty_jifs; | 63 | static unsigned long last_empty_jifs; |
@@ -76,7 +68,7 @@ static unsigned long last_empty_jifs; | |||
76 | * Thread pool management algorithm: | 68 | * Thread pool management algorithm: |
77 | * | 69 | * |
78 | * - The minimum and maximum number of pdflush instances are bound | 70 | * - The minimum and maximum number of pdflush instances are bound |
79 | * by nr_pdflush_threads_min and nr_pdflush_threads_max. | 71 | * by MIN_PDFLUSH_THREADS and MAX_PDFLUSH_THREADS. |
80 | * | 72 | * |
81 | * - If there have been no idle pdflush instances for 1 second, create | 73 | * - If there have been no idle pdflush instances for 1 second, create |
82 | * a new one. | 74 | * a new one. |
@@ -142,13 +134,14 @@ static int __pdflush(struct pdflush_work *my_work) | |||
142 | * To throttle creation, we reset last_empty_jifs. | 134 | * To throttle creation, we reset last_empty_jifs. |
143 | */ | 135 | */ |
144 | if (time_after(jiffies, last_empty_jifs + 1 * HZ)) { | 136 | if (time_after(jiffies, last_empty_jifs + 1 * HZ)) { |
145 | if (list_empty(&pdflush_list) && | 137 | if (list_empty(&pdflush_list)) { |
146 | nr_pdflush_threads < nr_pdflush_threads_max) { | 138 | if (nr_pdflush_threads < MAX_PDFLUSH_THREADS) { |
147 | last_empty_jifs = jiffies; | 139 | last_empty_jifs = jiffies; |
148 | nr_pdflush_threads++; | 140 | nr_pdflush_threads++; |
149 | spin_unlock_irq(&pdflush_lock); | 141 | spin_unlock_irq(&pdflush_lock); |
150 | start_one_pdflush_thread(); | 142 | start_one_pdflush_thread(); |
151 | spin_lock_irq(&pdflush_lock); | 143 | spin_lock_irq(&pdflush_lock); |
144 | } | ||
152 | } | 145 | } |
153 | } | 146 | } |
154 | 147 | ||
@@ -160,7 +153,7 @@ static int __pdflush(struct pdflush_work *my_work) | |||
160 | */ | 153 | */ |
161 | if (list_empty(&pdflush_list)) | 154 | if (list_empty(&pdflush_list)) |
162 | continue; | 155 | continue; |
163 | if (nr_pdflush_threads <= nr_pdflush_threads_min) | 156 | if (nr_pdflush_threads <= MIN_PDFLUSH_THREADS) |
164 | continue; | 157 | continue; |
165 | pdf = list_entry(pdflush_list.prev, struct pdflush_work, list); | 158 | pdf = list_entry(pdflush_list.prev, struct pdflush_work, list); |
166 | if (time_after(jiffies, pdf->when_i_went_to_sleep + 1 * HZ)) { | 159 | if (time_after(jiffies, pdf->when_i_went_to_sleep + 1 * HZ)) { |
@@ -266,9 +259,9 @@ static int __init pdflush_init(void) | |||
266 | * Pre-set nr_pdflush_threads... If we fail to create, | 259 | * Pre-set nr_pdflush_threads... If we fail to create, |
267 | * the count will be decremented. | 260 | * the count will be decremented. |
268 | */ | 261 | */ |
269 | nr_pdflush_threads = nr_pdflush_threads_min; | 262 | nr_pdflush_threads = MIN_PDFLUSH_THREADS; |
270 | 263 | ||
271 | for (i = 0; i < nr_pdflush_threads_min; i++) | 264 | for (i = 0; i < MIN_PDFLUSH_THREADS; i++) |
272 | start_one_pdflush_thread(); | 265 | start_one_pdflush_thread(); |
273 | return 0; | 266 | return 0; |
274 | } | 267 | } |
@@ -14,7 +14,7 @@ | |||
14 | * Original design by Rik van Riel <riel@conectiva.com.br> 2001 | 14 | * Original design by Rik van Riel <riel@conectiva.com.br> 2001 |
15 | * File methods by Dave McCracken <dmccr@us.ibm.com> 2003, 2004 | 15 | * File methods by Dave McCracken <dmccr@us.ibm.com> 2003, 2004 |
16 | * Anonymous methods by Andrea Arcangeli <andrea@suse.de> 2004 | 16 | * Anonymous methods by Andrea Arcangeli <andrea@suse.de> 2004 |
17 | * Contributions by Hugh Dickins <hugh@veritas.com> 2003, 2004 | 17 | * Contributions by Hugh Dickins 2003, 2004 |
18 | */ | 18 | */ |
19 | 19 | ||
20 | /* | 20 | /* |
@@ -60,6 +60,7 @@ | |||
60 | #include <linux/kernel.h> | 60 | #include <linux/kernel.h> |
61 | #include <linux/slab.h> | 61 | #include <linux/slab.h> |
62 | #include <linux/mm.h> | 62 | #include <linux/mm.h> |
63 | #include <linux/swap.h> /* struct reclaim_state */ | ||
63 | #include <linux/cache.h> | 64 | #include <linux/cache.h> |
64 | #include <linux/init.h> | 65 | #include <linux/init.h> |
65 | #include <linux/module.h> | 66 | #include <linux/module.h> |
@@ -255,6 +256,8 @@ static void *slob_new_pages(gfp_t gfp, int order, int node) | |||
255 | 256 | ||
256 | static void slob_free_pages(void *b, int order) | 257 | static void slob_free_pages(void *b, int order) |
257 | { | 258 | { |
259 | if (current->reclaim_state) | ||
260 | current->reclaim_state->reclaimed_slab += 1 << order; | ||
258 | free_pages((unsigned long)b, order); | 261 | free_pages((unsigned long)b, order); |
259 | } | 262 | } |
260 | 263 | ||
@@ -407,7 +410,7 @@ static void slob_free(void *block, int size) | |||
407 | spin_unlock_irqrestore(&slob_lock, flags); | 410 | spin_unlock_irqrestore(&slob_lock, flags); |
408 | clear_slob_page(sp); | 411 | clear_slob_page(sp); |
409 | free_slob_page(sp); | 412 | free_slob_page(sp); |
410 | free_page((unsigned long)b); | 413 | slob_free_pages(b, 0); |
411 | return; | 414 | return; |
412 | } | 415 | } |
413 | 416 | ||
@@ -9,6 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/swap.h> /* struct reclaim_state */ | ||
12 | #include <linux/module.h> | 13 | #include <linux/module.h> |
13 | #include <linux/bit_spinlock.h> | 14 | #include <linux/bit_spinlock.h> |
14 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
@@ -1170,6 +1171,8 @@ static void __free_slab(struct kmem_cache *s, struct page *page) | |||
1170 | 1171 | ||
1171 | __ClearPageSlab(page); | 1172 | __ClearPageSlab(page); |
1172 | reset_page_mapcount(page); | 1173 | reset_page_mapcount(page); |
1174 | if (current->reclaim_state) | ||
1175 | current->reclaim_state->reclaimed_slab += pages; | ||
1173 | __free_pages(page, order); | 1176 | __free_pages(page, order); |
1174 | } | 1177 | } |
1175 | 1178 | ||
@@ -1909,7 +1912,7 @@ static inline int calculate_order(int size) | |||
1909 | * Doh this slab cannot be placed using slub_max_order. | 1912 | * Doh this slab cannot be placed using slub_max_order. |
1910 | */ | 1913 | */ |
1911 | order = slab_order(size, 1, MAX_ORDER, 1); | 1914 | order = slab_order(size, 1, MAX_ORDER, 1); |
1912 | if (order <= MAX_ORDER) | 1915 | if (order < MAX_ORDER) |
1913 | return order; | 1916 | return order; |
1914 | return -ENOSYS; | 1917 | return -ENOSYS; |
1915 | } | 1918 | } |
@@ -2522,6 +2525,7 @@ __setup("slub_min_order=", setup_slub_min_order); | |||
2522 | static int __init setup_slub_max_order(char *str) | 2525 | static int __init setup_slub_max_order(char *str) |
2523 | { | 2526 | { |
2524 | get_option(&str, &slub_max_order); | 2527 | get_option(&str, &slub_max_order); |
2528 | slub_max_order = min(slub_max_order, MAX_ORDER - 1); | ||
2525 | 2529 | ||
2526 | return 1; | 2530 | return 1; |
2527 | } | 2531 | } |
diff --git a/mm/swap_state.c b/mm/swap_state.c index 3ecea98ecb45..1416e7e9e02d 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c | |||
@@ -109,8 +109,6 @@ int add_to_swap_cache(struct page *page, swp_entry_t entry, gfp_t gfp_mask) | |||
109 | */ | 109 | */ |
110 | void __delete_from_swap_cache(struct page *page) | 110 | void __delete_from_swap_cache(struct page *page) |
111 | { | 111 | { |
112 | swp_entry_t ent = {.val = page_private(page)}; | ||
113 | |||
114 | VM_BUG_ON(!PageLocked(page)); | 112 | VM_BUG_ON(!PageLocked(page)); |
115 | VM_BUG_ON(!PageSwapCache(page)); | 113 | VM_BUG_ON(!PageSwapCache(page)); |
116 | VM_BUG_ON(PageWriteback(page)); | 114 | VM_BUG_ON(PageWriteback(page)); |
@@ -121,7 +119,6 @@ void __delete_from_swap_cache(struct page *page) | |||
121 | total_swapcache_pages--; | 119 | total_swapcache_pages--; |
122 | __dec_zone_page_state(page, NR_FILE_PAGES); | 120 | __dec_zone_page_state(page, NR_FILE_PAGES); |
123 | INC_CACHE_INFO(del_total); | 121 | INC_CACHE_INFO(del_total); |
124 | mem_cgroup_uncharge_swapcache(page, ent); | ||
125 | } | 122 | } |
126 | 123 | ||
127 | /** | 124 | /** |
@@ -191,6 +188,7 @@ void delete_from_swap_cache(struct page *page) | |||
191 | __delete_from_swap_cache(page); | 188 | __delete_from_swap_cache(page); |
192 | spin_unlock_irq(&swapper_space.tree_lock); | 189 | spin_unlock_irq(&swapper_space.tree_lock); |
193 | 190 | ||
191 | mem_cgroup_uncharge_swapcache(page, entry); | ||
194 | swap_free(entry); | 192 | swap_free(entry); |
195 | page_cache_release(page); | 193 | page_cache_release(page); |
196 | } | 194 | } |
diff --git a/mm/truncate.c b/mm/truncate.c index 55206fab7b99..12e1579f9165 100644 --- a/mm/truncate.c +++ b/mm/truncate.c | |||
@@ -359,6 +359,7 @@ invalidate_complete_page2(struct address_space *mapping, struct page *page) | |||
359 | BUG_ON(page_has_private(page)); | 359 | BUG_ON(page_has_private(page)); |
360 | __remove_from_page_cache(page); | 360 | __remove_from_page_cache(page); |
361 | spin_unlock_irq(&mapping->tree_lock); | 361 | spin_unlock_irq(&mapping->tree_lock); |
362 | mem_cgroup_uncharge_cache_page(page); | ||
362 | page_cache_release(page); /* pagecache ref */ | 363 | page_cache_release(page); /* pagecache ref */ |
363 | return 1; | 364 | return 1; |
364 | failed: | 365 | failed: |
diff --git a/mm/vmscan.c b/mm/vmscan.c index 5fa3eda1f03f..d254306562cd 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -470,10 +470,12 @@ static int __remove_mapping(struct address_space *mapping, struct page *page) | |||
470 | swp_entry_t swap = { .val = page_private(page) }; | 470 | swp_entry_t swap = { .val = page_private(page) }; |
471 | __delete_from_swap_cache(page); | 471 | __delete_from_swap_cache(page); |
472 | spin_unlock_irq(&mapping->tree_lock); | 472 | spin_unlock_irq(&mapping->tree_lock); |
473 | mem_cgroup_uncharge_swapcache(page, swap); | ||
473 | swap_free(swap); | 474 | swap_free(swap); |
474 | } else { | 475 | } else { |
475 | __remove_from_page_cache(page); | 476 | __remove_from_page_cache(page); |
476 | spin_unlock_irq(&mapping->tree_lock); | 477 | spin_unlock_irq(&mapping->tree_lock); |
478 | mem_cgroup_uncharge_cache_page(page); | ||
477 | } | 479 | } |
478 | 480 | ||
479 | return 1; | 481 | return 1; |
diff --git a/mm/vmstat.c b/mm/vmstat.c index 66f6130976cb..74d66dba0cbe 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -509,22 +509,11 @@ static void pagetypeinfo_showblockcount_print(struct seq_file *m, | |||
509 | continue; | 509 | continue; |
510 | 510 | ||
511 | page = pfn_to_page(pfn); | 511 | page = pfn_to_page(pfn); |
512 | #ifdef CONFIG_ARCH_FLATMEM_HAS_HOLES | 512 | |
513 | /* | 513 | /* Watch for unexpected holes punched in the memmap */ |
514 | * Ordinarily, memory holes in flatmem still have a valid | 514 | if (!memmap_valid_within(pfn, page, zone)) |
515 | * memmap for the PFN range. However, an architecture for | ||
516 | * embedded systems (e.g. ARM) can free up the memmap backing | ||
517 | * holes to save memory on the assumption the memmap is | ||
518 | * never used. The page_zone linkages are then broken even | ||
519 | * though pfn_valid() returns true. Skip the page if the | ||
520 | * linkages are broken. Even if this test passed, the impact | ||
521 | * is that the counters for the movable type are off but | ||
522 | * fragmentation monitoring is likely meaningless on small | ||
523 | * systems. | ||
524 | */ | ||
525 | if (page_zone(page) != zone) | ||
526 | continue; | 515 | continue; |
527 | #endif | 516 | |
528 | mtype = get_pageblock_migratetype(page); | 517 | mtype = get_pageblock_migratetype(page); |
529 | 518 | ||
530 | if (mtype < MIGRATE_TYPES) | 519 | if (mtype < MIGRATE_TYPES) |
diff --git a/net/Kconfig b/net/Kconfig index ce77db4fcec8..c19f549c8e74 100644 --- a/net/Kconfig +++ b/net/Kconfig | |||
@@ -119,12 +119,6 @@ menuconfig NETFILTER | |||
119 | <file:Documentation/Changes> under "iptables" for the location of | 119 | <file:Documentation/Changes> under "iptables" for the location of |
120 | these packages. | 120 | these packages. |
121 | 121 | ||
122 | Make sure to say N to "Fast switching" below if you intend to say Y | ||
123 | here, as Fast switching currently bypasses netfilter. | ||
124 | |||
125 | Chances are that you should say Y here if you compile a kernel which | ||
126 | will run as a router and N for regular hosts. If unsure, say N. | ||
127 | |||
128 | if NETFILTER | 122 | if NETFILTER |
129 | 123 | ||
130 | config NETFILTER_DEBUG | 124 | config NETFILTER_DEBUG |
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c index 61309b26f271..fa47d5d84f5c 100644 --- a/net/bluetooth/hci_conn.c +++ b/net/bluetooth/hci_conn.c | |||
@@ -171,10 +171,8 @@ static void hci_conn_timeout(unsigned long arg) | |||
171 | switch (conn->state) { | 171 | switch (conn->state) { |
172 | case BT_CONNECT: | 172 | case BT_CONNECT: |
173 | case BT_CONNECT2: | 173 | case BT_CONNECT2: |
174 | if (conn->type == ACL_LINK) | 174 | if (conn->type == ACL_LINK && conn->out) |
175 | hci_acl_connect_cancel(conn); | 175 | hci_acl_connect_cancel(conn); |
176 | else | ||
177 | hci_acl_disconn(conn, 0x13); | ||
178 | break; | 176 | break; |
179 | case BT_CONFIG: | 177 | case BT_CONFIG: |
180 | case BT_CONNECTED: | 178 | case BT_CONNECTED: |
@@ -292,6 +290,8 @@ int hci_conn_del(struct hci_conn *conn) | |||
292 | 290 | ||
293 | hci_conn_del_sysfs(conn); | 291 | hci_conn_del_sysfs(conn); |
294 | 292 | ||
293 | hci_dev_put(hdev); | ||
294 | |||
295 | return 0; | 295 | return 0; |
296 | } | 296 | } |
297 | 297 | ||
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 4e7cb88e5da9..184ba0a88ec0 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c | |||
@@ -1493,7 +1493,7 @@ static inline void hci_pin_code_request_evt(struct hci_dev *hdev, struct sk_buff | |||
1493 | hci_dev_lock(hdev); | 1493 | hci_dev_lock(hdev); |
1494 | 1494 | ||
1495 | conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); | 1495 | conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); |
1496 | if (conn) { | 1496 | if (conn && conn->state == BT_CONNECTED) { |
1497 | hci_conn_hold(conn); | 1497 | hci_conn_hold(conn); |
1498 | conn->disc_timeout = HCI_PAIRING_TIMEOUT; | 1498 | conn->disc_timeout = HCI_PAIRING_TIMEOUT; |
1499 | hci_conn_put(conn); | 1499 | hci_conn_put(conn); |
diff --git a/net/bluetooth/hci_sysfs.c b/net/bluetooth/hci_sysfs.c index 582d8877078c..95f7a7a544b4 100644 --- a/net/bluetooth/hci_sysfs.c +++ b/net/bluetooth/hci_sysfs.c | |||
@@ -88,14 +88,16 @@ static struct device_type bt_link = { | |||
88 | static void add_conn(struct work_struct *work) | 88 | static void add_conn(struct work_struct *work) |
89 | { | 89 | { |
90 | struct hci_conn *conn = container_of(work, struct hci_conn, work_add); | 90 | struct hci_conn *conn = container_of(work, struct hci_conn, work_add); |
91 | struct hci_dev *hdev = conn->hdev; | ||
91 | 92 | ||
92 | /* ensure previous del is complete */ | 93 | dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); |
93 | flush_work(&conn->work_del); | ||
94 | 94 | ||
95 | if (device_add(&conn->dev) < 0) { | 95 | if (device_add(&conn->dev) < 0) { |
96 | BT_ERR("Failed to register connection device"); | 96 | BT_ERR("Failed to register connection device"); |
97 | return; | 97 | return; |
98 | } | 98 | } |
99 | |||
100 | hci_dev_hold(hdev); | ||
99 | } | 101 | } |
100 | 102 | ||
101 | /* | 103 | /* |
@@ -113,9 +115,6 @@ static void del_conn(struct work_struct *work) | |||
113 | struct hci_conn *conn = container_of(work, struct hci_conn, work_del); | 115 | struct hci_conn *conn = container_of(work, struct hci_conn, work_del); |
114 | struct hci_dev *hdev = conn->hdev; | 116 | struct hci_dev *hdev = conn->hdev; |
115 | 117 | ||
116 | /* ensure previous add is complete */ | ||
117 | flush_work(&conn->work_add); | ||
118 | |||
119 | if (!device_is_registered(&conn->dev)) | 118 | if (!device_is_registered(&conn->dev)) |
120 | return; | 119 | return; |
121 | 120 | ||
@@ -131,6 +130,7 @@ static void del_conn(struct work_struct *work) | |||
131 | 130 | ||
132 | device_del(&conn->dev); | 131 | device_del(&conn->dev); |
133 | put_device(&conn->dev); | 132 | put_device(&conn->dev); |
133 | |||
134 | hci_dev_put(hdev); | 134 | hci_dev_put(hdev); |
135 | } | 135 | } |
136 | 136 | ||
@@ -154,12 +154,8 @@ void hci_conn_init_sysfs(struct hci_conn *conn) | |||
154 | 154 | ||
155 | void hci_conn_add_sysfs(struct hci_conn *conn) | 155 | void hci_conn_add_sysfs(struct hci_conn *conn) |
156 | { | 156 | { |
157 | struct hci_dev *hdev = conn->hdev; | ||
158 | |||
159 | BT_DBG("conn %p", conn); | 157 | BT_DBG("conn %p", conn); |
160 | 158 | ||
161 | dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); | ||
162 | |||
163 | queue_work(bt_workq, &conn->work_add); | 159 | queue_work(bt_workq, &conn->work_add); |
164 | } | 160 | } |
165 | 161 | ||
diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c index 30b88777c3df..5ee1a3682bf2 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c | |||
@@ -134,6 +134,10 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb) | |||
134 | if (skb->protocol == htons(ETH_P_PAUSE)) | 134 | if (skb->protocol == htons(ETH_P_PAUSE)) |
135 | goto drop; | 135 | goto drop; |
136 | 136 | ||
137 | /* If STP is turned off, then forward */ | ||
138 | if (p->br->stp_enabled == BR_NO_STP && dest[5] == 0) | ||
139 | goto forward; | ||
140 | |||
137 | if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev, | 141 | if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev, |
138 | NULL, br_handle_local_finish)) | 142 | NULL, br_handle_local_finish)) |
139 | return NULL; /* frame consumed by filter */ | 143 | return NULL; /* frame consumed by filter */ |
@@ -141,6 +145,7 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb) | |||
141 | return skb; /* continue processing */ | 145 | return skb; /* continue processing */ |
142 | } | 146 | } |
143 | 147 | ||
148 | forward: | ||
144 | switch (p->state) { | 149 | switch (p->state) { |
145 | case BR_STATE_FORWARDING: | 150 | case BR_STATE_FORWARDING: |
146 | rhook = rcu_dereference(br_should_route_hook); | 151 | rhook = rcu_dereference(br_should_route_hook); |
diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c index 6e63ec3f1fcf..0660515f3992 100644 --- a/net/bridge/br_stp.c +++ b/net/bridge/br_stp.c | |||
@@ -297,6 +297,9 @@ void br_topology_change_detection(struct net_bridge *br) | |||
297 | { | 297 | { |
298 | int isroot = br_is_root_bridge(br); | 298 | int isroot = br_is_root_bridge(br); |
299 | 299 | ||
300 | if (br->stp_enabled != BR_KERNEL_STP) | ||
301 | return; | ||
302 | |||
300 | pr_info("%s: topology change detected, %s\n", br->dev->name, | 303 | pr_info("%s: topology change detected, %s\n", br->dev->name, |
301 | isroot ? "propagating" : "sending tcn bpdu"); | 304 | isroot ? "propagating" : "sending tcn bpdu"); |
302 | 305 | ||
diff --git a/net/core/gen_estimator.c b/net/core/gen_estimator.c index 9cc9f95b109e..6d62d4618cfc 100644 --- a/net/core/gen_estimator.c +++ b/net/core/gen_estimator.c | |||
@@ -66,9 +66,9 @@ | |||
66 | 66 | ||
67 | NOTES. | 67 | NOTES. |
68 | 68 | ||
69 | * The stored value for avbps is scaled by 2^5, so that maximal | 69 | * avbps is scaled by 2^5, avpps is scaled by 2^10. |
70 | rate is ~1Gbit, avpps is scaled by 2^10. | 70 | * both values are reported as 32 bit unsigned values. bps can |
71 | 71 | overflow for fast links : max speed being 34360Mbit/sec | |
72 | * Minimal interval is HZ/4=250msec (it is the greatest common divisor | 72 | * Minimal interval is HZ/4=250msec (it is the greatest common divisor |
73 | for HZ=100 and HZ=1024 8)), maximal interval | 73 | for HZ=100 and HZ=1024 8)), maximal interval |
74 | is (HZ*2^EST_MAX_INTERVAL)/4 = 8sec. Shorter intervals | 74 | is (HZ*2^EST_MAX_INTERVAL)/4 = 8sec. Shorter intervals |
@@ -86,9 +86,9 @@ struct gen_estimator | |||
86 | spinlock_t *stats_lock; | 86 | spinlock_t *stats_lock; |
87 | int ewma_log; | 87 | int ewma_log; |
88 | u64 last_bytes; | 88 | u64 last_bytes; |
89 | u64 avbps; | ||
89 | u32 last_packets; | 90 | u32 last_packets; |
90 | u32 avpps; | 91 | u32 avpps; |
91 | u32 avbps; | ||
92 | struct rcu_head e_rcu; | 92 | struct rcu_head e_rcu; |
93 | struct rb_node node; | 93 | struct rb_node node; |
94 | }; | 94 | }; |
@@ -115,6 +115,7 @@ static void est_timer(unsigned long arg) | |||
115 | rcu_read_lock(); | 115 | rcu_read_lock(); |
116 | list_for_each_entry_rcu(e, &elist[idx].list, list) { | 116 | list_for_each_entry_rcu(e, &elist[idx].list, list) { |
117 | u64 nbytes; | 117 | u64 nbytes; |
118 | u64 brate; | ||
118 | u32 npackets; | 119 | u32 npackets; |
119 | u32 rate; | 120 | u32 rate; |
120 | 121 | ||
@@ -125,9 +126,9 @@ static void est_timer(unsigned long arg) | |||
125 | 126 | ||
126 | nbytes = e->bstats->bytes; | 127 | nbytes = e->bstats->bytes; |
127 | npackets = e->bstats->packets; | 128 | npackets = e->bstats->packets; |
128 | rate = (nbytes - e->last_bytes)<<(7 - idx); | 129 | brate = (nbytes - e->last_bytes)<<(7 - idx); |
129 | e->last_bytes = nbytes; | 130 | e->last_bytes = nbytes; |
130 | e->avbps += ((long)rate - (long)e->avbps) >> e->ewma_log; | 131 | e->avbps += ((s64)(brate - e->avbps)) >> e->ewma_log; |
131 | e->rate_est->bps = (e->avbps+0xF)>>5; | 132 | e->rate_est->bps = (e->avbps+0xF)>>5; |
132 | 133 | ||
133 | rate = (npackets - e->last_packets)<<(12 - idx); | 134 | rate = (npackets - e->last_packets)<<(12 - idx); |
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index b5873bdff612..64f51eec6576 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c | |||
@@ -175,9 +175,13 @@ static void service_arp_queue(struct netpoll_info *npi) | |||
175 | void netpoll_poll(struct netpoll *np) | 175 | void netpoll_poll(struct netpoll *np) |
176 | { | 176 | { |
177 | struct net_device *dev = np->dev; | 177 | struct net_device *dev = np->dev; |
178 | const struct net_device_ops *ops = dev->netdev_ops; | 178 | const struct net_device_ops *ops; |
179 | |||
180 | if (!dev || !netif_running(dev)) | ||
181 | return; | ||
179 | 182 | ||
180 | if (!dev || !netif_running(dev) || !ops->ndo_poll_controller) | 183 | ops = dev->netdev_ops; |
184 | if (!ops->ndo_poll_controller) | ||
181 | return; | 185 | return; |
182 | 186 | ||
183 | /* Process pending work on NIC */ | 187 | /* Process pending work on NIC */ |
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 3779c1438c11..0666a827bc62 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c | |||
@@ -2447,7 +2447,7 @@ static inline void free_SAs(struct pktgen_dev *pkt_dev) | |||
2447 | if (pkt_dev->cflows) { | 2447 | if (pkt_dev->cflows) { |
2448 | /* let go of the SAs if we have them */ | 2448 | /* let go of the SAs if we have them */ |
2449 | int i = 0; | 2449 | int i = 0; |
2450 | for (; i < pkt_dev->nflows; i++){ | 2450 | for (; i < pkt_dev->cflows; i++) { |
2451 | struct xfrm_state *x = pkt_dev->flows[i].x; | 2451 | struct xfrm_state *x = pkt_dev->flows[i].x; |
2452 | if (x) { | 2452 | if (x) { |
2453 | xfrm_state_put(x); | 2453 | xfrm_state_put(x); |
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index f091a5a845c1..e505b5392e1e 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -502,7 +502,9 @@ int skb_recycle_check(struct sk_buff *skb, int skb_size) | |||
502 | shinfo->gso_segs = 0; | 502 | shinfo->gso_segs = 0; |
503 | shinfo->gso_type = 0; | 503 | shinfo->gso_type = 0; |
504 | shinfo->ip6_frag_id = 0; | 504 | shinfo->ip6_frag_id = 0; |
505 | shinfo->tx_flags.flags = 0; | ||
505 | shinfo->frag_list = NULL; | 506 | shinfo->frag_list = NULL; |
507 | memset(&shinfo->hwtstamps, 0, sizeof(shinfo->hwtstamps)); | ||
506 | 508 | ||
507 | memset(skb, 0, offsetof(struct sk_buff, tail)); | 509 | memset(skb, 0, offsetof(struct sk_buff, tail)); |
508 | skb->data = skb->head + NET_SKB_PAD; | 510 | skb->data = skb->head + NET_SKB_PAD; |
@@ -2286,7 +2288,7 @@ unsigned int skb_seq_read(unsigned int consumed, const u8 **data, | |||
2286 | next_skb: | 2288 | next_skb: |
2287 | block_limit = skb_headlen(st->cur_skb) + st->stepped_offset; | 2289 | block_limit = skb_headlen(st->cur_skb) + st->stepped_offset; |
2288 | 2290 | ||
2289 | if (abs_offset < block_limit) { | 2291 | if (abs_offset < block_limit && !st->frag_data) { |
2290 | *data = st->cur_skb->data + (abs_offset - st->stepped_offset); | 2292 | *data = st->cur_skb->data + (abs_offset - st->stepped_offset); |
2291 | return block_limit - abs_offset; | 2293 | return block_limit - abs_offset; |
2292 | } | 2294 | } |
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig index b2cf91e4ccaa..5b919f7b45db 100644 --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig | |||
@@ -407,8 +407,8 @@ config INET_XFRM_MODE_BEET | |||
407 | If unsure, say Y. | 407 | If unsure, say Y. |
408 | 408 | ||
409 | config INET_LRO | 409 | config INET_LRO |
410 | tristate "Large Receive Offload (ipv4/tcp)" | 410 | bool "Large Receive Offload (ipv4/tcp)" |
411 | 411 | default y | |
412 | ---help--- | 412 | ---help--- |
413 | Support for Large Receive Offload (ipv4/tcp). | 413 | Support for Large Receive Offload (ipv4/tcp). |
414 | 414 | ||
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index ec0ae490f0b6..33c7c85dfe40 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -986,9 +986,12 @@ fib_find_node(struct trie *t, u32 key) | |||
986 | static struct node *trie_rebalance(struct trie *t, struct tnode *tn) | 986 | static struct node *trie_rebalance(struct trie *t, struct tnode *tn) |
987 | { | 987 | { |
988 | int wasfull; | 988 | int wasfull; |
989 | t_key cindex, key = tn->key; | 989 | t_key cindex, key; |
990 | struct tnode *tp; | 990 | struct tnode *tp; |
991 | 991 | ||
992 | preempt_disable(); | ||
993 | key = tn->key; | ||
994 | |||
992 | while (tn != NULL && (tp = node_parent((struct node *)tn)) != NULL) { | 995 | while (tn != NULL && (tp = node_parent((struct node *)tn)) != NULL) { |
993 | cindex = tkey_extract_bits(key, tp->pos, tp->bits); | 996 | cindex = tkey_extract_bits(key, tp->pos, tp->bits); |
994 | wasfull = tnode_full(tp, tnode_get_child(tp, cindex)); | 997 | wasfull = tnode_full(tp, tnode_get_child(tp, cindex)); |
@@ -1007,6 +1010,7 @@ static struct node *trie_rebalance(struct trie *t, struct tnode *tn) | |||
1007 | if (IS_TNODE(tn)) | 1010 | if (IS_TNODE(tn)) |
1008 | tn = (struct tnode *)resize(t, (struct tnode *)tn); | 1011 | tn = (struct tnode *)resize(t, (struct tnode *)tn); |
1009 | 1012 | ||
1013 | preempt_enable(); | ||
1010 | return (struct node *)tn; | 1014 | return (struct node *)tn; |
1011 | } | 1015 | } |
1012 | 1016 | ||
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index 90d22ae0a419..88bf051d0cbb 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c | |||
@@ -139,6 +139,8 @@ __be32 ic_servaddr = NONE; /* Boot server IP address */ | |||
139 | __be32 root_server_addr = NONE; /* Address of NFS server */ | 139 | __be32 root_server_addr = NONE; /* Address of NFS server */ |
140 | u8 root_server_path[256] = { 0, }; /* Path to mount as root */ | 140 | u8 root_server_path[256] = { 0, }; /* Path to mount as root */ |
141 | 141 | ||
142 | u32 ic_dev_xid; /* Device under configuration */ | ||
143 | |||
142 | /* vendor class identifier */ | 144 | /* vendor class identifier */ |
143 | static char vendor_class_identifier[253] __initdata; | 145 | static char vendor_class_identifier[253] __initdata; |
144 | 146 | ||
@@ -932,6 +934,13 @@ static int __init ic_bootp_recv(struct sk_buff *skb, struct net_device *dev, str | |||
932 | goto drop_unlock; | 934 | goto drop_unlock; |
933 | } | 935 | } |
934 | 936 | ||
937 | /* Is it a reply for the device we are configuring? */ | ||
938 | if (b->xid != ic_dev_xid) { | ||
939 | if (net_ratelimit()) | ||
940 | printk(KERN_ERR "DHCP/BOOTP: Ignoring delayed packet \n"); | ||
941 | goto drop_unlock; | ||
942 | } | ||
943 | |||
935 | /* Parse extensions */ | 944 | /* Parse extensions */ |
936 | if (ext_len >= 4 && | 945 | if (ext_len >= 4 && |
937 | !memcmp(b->exten, ic_bootp_cookie, 4)) { /* Check magic cookie */ | 946 | !memcmp(b->exten, ic_bootp_cookie, 4)) { /* Check magic cookie */ |
@@ -1115,6 +1124,9 @@ static int __init ic_dynamic(void) | |||
1115 | get_random_bytes(&timeout, sizeof(timeout)); | 1124 | get_random_bytes(&timeout, sizeof(timeout)); |
1116 | timeout = CONF_BASE_TIMEOUT + (timeout % (unsigned) CONF_TIMEOUT_RANDOM); | 1125 | timeout = CONF_BASE_TIMEOUT + (timeout % (unsigned) CONF_TIMEOUT_RANDOM); |
1117 | for (;;) { | 1126 | for (;;) { |
1127 | /* Track the device we are configuring */ | ||
1128 | ic_dev_xid = d->xid; | ||
1129 | |||
1118 | #ifdef IPCONFIG_BOOTP | 1130 | #ifdef IPCONFIG_BOOTP |
1119 | if (do_bootp && (d->able & IC_BOOTP)) | 1131 | if (do_bootp && (d->able & IC_BOOTP)) |
1120 | ic_bootp_send_if(d, jiffies - start_jiffies); | 1132 | ic_bootp_send_if(d, jiffies - start_jiffies); |
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index c4c60e9f068a..28205e5bfa9b 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c | |||
@@ -784,8 +784,8 @@ static void rt_check_expire(void) | |||
784 | { | 784 | { |
785 | static unsigned int rover; | 785 | static unsigned int rover; |
786 | unsigned int i = rover, goal; | 786 | unsigned int i = rover, goal; |
787 | struct rtable *rth, **rthp; | 787 | struct rtable *rth, *aux, **rthp; |
788 | unsigned long length = 0, samples = 0; | 788 | unsigned long samples = 0; |
789 | unsigned long sum = 0, sum2 = 0; | 789 | unsigned long sum = 0, sum2 = 0; |
790 | u64 mult; | 790 | u64 mult; |
791 | 791 | ||
@@ -795,9 +795,9 @@ static void rt_check_expire(void) | |||
795 | goal = (unsigned int)mult; | 795 | goal = (unsigned int)mult; |
796 | if (goal > rt_hash_mask) | 796 | if (goal > rt_hash_mask) |
797 | goal = rt_hash_mask + 1; | 797 | goal = rt_hash_mask + 1; |
798 | length = 0; | ||
799 | for (; goal > 0; goal--) { | 798 | for (; goal > 0; goal--) { |
800 | unsigned long tmo = ip_rt_gc_timeout; | 799 | unsigned long tmo = ip_rt_gc_timeout; |
800 | unsigned long length; | ||
801 | 801 | ||
802 | i = (i + 1) & rt_hash_mask; | 802 | i = (i + 1) & rt_hash_mask; |
803 | rthp = &rt_hash_table[i].chain; | 803 | rthp = &rt_hash_table[i].chain; |
@@ -809,8 +809,10 @@ static void rt_check_expire(void) | |||
809 | 809 | ||
810 | if (*rthp == NULL) | 810 | if (*rthp == NULL) |
811 | continue; | 811 | continue; |
812 | length = 0; | ||
812 | spin_lock_bh(rt_hash_lock_addr(i)); | 813 | spin_lock_bh(rt_hash_lock_addr(i)); |
813 | while ((rth = *rthp) != NULL) { | 814 | while ((rth = *rthp) != NULL) { |
815 | prefetch(rth->u.dst.rt_next); | ||
814 | if (rt_is_expired(rth)) { | 816 | if (rt_is_expired(rth)) { |
815 | *rthp = rth->u.dst.rt_next; | 817 | *rthp = rth->u.dst.rt_next; |
816 | rt_free(rth); | 818 | rt_free(rth); |
@@ -819,33 +821,30 @@ static void rt_check_expire(void) | |||
819 | if (rth->u.dst.expires) { | 821 | if (rth->u.dst.expires) { |
820 | /* Entry is expired even if it is in use */ | 822 | /* Entry is expired even if it is in use */ |
821 | if (time_before_eq(jiffies, rth->u.dst.expires)) { | 823 | if (time_before_eq(jiffies, rth->u.dst.expires)) { |
824 | nofree: | ||
822 | tmo >>= 1; | 825 | tmo >>= 1; |
823 | rthp = &rth->u.dst.rt_next; | 826 | rthp = &rth->u.dst.rt_next; |
824 | /* | 827 | /* |
825 | * Only bump our length if the hash | 828 | * We only count entries on |
826 | * inputs on entries n and n+1 are not | ||
827 | * the same, we only count entries on | ||
828 | * a chain with equal hash inputs once | 829 | * a chain with equal hash inputs once |
829 | * so that entries for different QOS | 830 | * so that entries for different QOS |
830 | * levels, and other non-hash input | 831 | * levels, and other non-hash input |
831 | * attributes don't unfairly skew | 832 | * attributes don't unfairly skew |
832 | * the length computation | 833 | * the length computation |
833 | */ | 834 | */ |
834 | if ((*rthp == NULL) || | 835 | for (aux = rt_hash_table[i].chain;;) { |
835 | !compare_hash_inputs(&(*rthp)->fl, | 836 | if (aux == rth) { |
836 | &rth->fl)) | 837 | length += ONE; |
837 | length += ONE; | 838 | break; |
839 | } | ||
840 | if (compare_hash_inputs(&aux->fl, &rth->fl)) | ||
841 | break; | ||
842 | aux = aux->u.dst.rt_next; | ||
843 | } | ||
838 | continue; | 844 | continue; |
839 | } | 845 | } |
840 | } else if (!rt_may_expire(rth, tmo, ip_rt_gc_timeout)) { | 846 | } else if (!rt_may_expire(rth, tmo, ip_rt_gc_timeout)) |
841 | tmo >>= 1; | 847 | goto nofree; |
842 | rthp = &rth->u.dst.rt_next; | ||
843 | if ((*rthp == NULL) || | ||
844 | !compare_hash_inputs(&(*rthp)->fl, | ||
845 | &rth->fl)) | ||
846 | length += ONE; | ||
847 | continue; | ||
848 | } | ||
849 | 848 | ||
850 | /* Cleanup aged off entries. */ | 849 | /* Cleanup aged off entries. */ |
851 | *rthp = rth->u.dst.rt_next; | 850 | *rthp = rth->u.dst.rt_next; |
@@ -1068,7 +1067,6 @@ out: return 0; | |||
1068 | static int rt_intern_hash(unsigned hash, struct rtable *rt, struct rtable **rp) | 1067 | static int rt_intern_hash(unsigned hash, struct rtable *rt, struct rtable **rp) |
1069 | { | 1068 | { |
1070 | struct rtable *rth, **rthp; | 1069 | struct rtable *rth, **rthp; |
1071 | struct rtable *rthi; | ||
1072 | unsigned long now; | 1070 | unsigned long now; |
1073 | struct rtable *cand, **candp; | 1071 | struct rtable *cand, **candp; |
1074 | u32 min_score; | 1072 | u32 min_score; |
@@ -1088,7 +1086,6 @@ restart: | |||
1088 | } | 1086 | } |
1089 | 1087 | ||
1090 | rthp = &rt_hash_table[hash].chain; | 1088 | rthp = &rt_hash_table[hash].chain; |
1091 | rthi = NULL; | ||
1092 | 1089 | ||
1093 | spin_lock_bh(rt_hash_lock_addr(hash)); | 1090 | spin_lock_bh(rt_hash_lock_addr(hash)); |
1094 | while ((rth = *rthp) != NULL) { | 1091 | while ((rth = *rthp) != NULL) { |
@@ -1134,17 +1131,6 @@ restart: | |||
1134 | chain_length++; | 1131 | chain_length++; |
1135 | 1132 | ||
1136 | rthp = &rth->u.dst.rt_next; | 1133 | rthp = &rth->u.dst.rt_next; |
1137 | |||
1138 | /* | ||
1139 | * check to see if the next entry in the chain | ||
1140 | * contains the same hash input values as rt. If it does | ||
1141 | * This is where we will insert into the list, instead of | ||
1142 | * at the head. This groups entries that differ by aspects not | ||
1143 | * relvant to the hash function together, which we use to adjust | ||
1144 | * our chain length | ||
1145 | */ | ||
1146 | if (*rthp && compare_hash_inputs(&(*rthp)->fl, &rt->fl)) | ||
1147 | rthi = rth; | ||
1148 | } | 1134 | } |
1149 | 1135 | ||
1150 | if (cand) { | 1136 | if (cand) { |
@@ -1205,10 +1191,7 @@ restart: | |||
1205 | } | 1191 | } |
1206 | } | 1192 | } |
1207 | 1193 | ||
1208 | if (rthi) | 1194 | rt->u.dst.rt_next = rt_hash_table[hash].chain; |
1209 | rt->u.dst.rt_next = rthi->u.dst.rt_next; | ||
1210 | else | ||
1211 | rt->u.dst.rt_next = rt_hash_table[hash].chain; | ||
1212 | 1195 | ||
1213 | #if RT_CACHE_DEBUG >= 2 | 1196 | #if RT_CACHE_DEBUG >= 2 |
1214 | if (rt->u.dst.rt_next) { | 1197 | if (rt->u.dst.rt_next) { |
@@ -1224,10 +1207,7 @@ restart: | |||
1224 | * previous writes to rt are comitted to memory | 1207 | * previous writes to rt are comitted to memory |
1225 | * before making rt visible to other CPUS. | 1208 | * before making rt visible to other CPUS. |
1226 | */ | 1209 | */ |
1227 | if (rthi) | 1210 | rcu_assign_pointer(rt_hash_table[hash].chain, rt); |
1228 | rcu_assign_pointer(rthi->u.dst.rt_next, rt); | ||
1229 | else | ||
1230 | rcu_assign_pointer(rt_hash_table[hash].chain, rt); | ||
1231 | 1211 | ||
1232 | spin_unlock_bh(rt_hash_lock_addr(hash)); | 1212 | spin_unlock_bh(rt_hash_lock_addr(hash)); |
1233 | *rp = rt; | 1213 | *rp = rt; |
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 1d7f49c6f0ca..7a0f0b27bf1f 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -1321,6 +1321,7 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | |||
1321 | struct task_struct *user_recv = NULL; | 1321 | struct task_struct *user_recv = NULL; |
1322 | int copied_early = 0; | 1322 | int copied_early = 0; |
1323 | struct sk_buff *skb; | 1323 | struct sk_buff *skb; |
1324 | u32 urg_hole = 0; | ||
1324 | 1325 | ||
1325 | lock_sock(sk); | 1326 | lock_sock(sk); |
1326 | 1327 | ||
@@ -1532,7 +1533,8 @@ do_prequeue: | |||
1532 | } | 1533 | } |
1533 | } | 1534 | } |
1534 | } | 1535 | } |
1535 | if ((flags & MSG_PEEK) && peek_seq != tp->copied_seq) { | 1536 | if ((flags & MSG_PEEK) && |
1537 | (peek_seq - copied - urg_hole != tp->copied_seq)) { | ||
1536 | if (net_ratelimit()) | 1538 | if (net_ratelimit()) |
1537 | printk(KERN_DEBUG "TCP(%s:%d): Application bug, race in MSG_PEEK.\n", | 1539 | printk(KERN_DEBUG "TCP(%s:%d): Application bug, race in MSG_PEEK.\n", |
1538 | current->comm, task_pid_nr(current)); | 1540 | current->comm, task_pid_nr(current)); |
@@ -1553,6 +1555,7 @@ do_prequeue: | |||
1553 | if (!urg_offset) { | 1555 | if (!urg_offset) { |
1554 | if (!sock_flag(sk, SOCK_URGINLINE)) { | 1556 | if (!sock_flag(sk, SOCK_URGINLINE)) { |
1555 | ++*seq; | 1557 | ++*seq; |
1558 | urg_hole++; | ||
1556 | offset++; | 1559 | offset++; |
1557 | used--; | 1560 | used--; |
1558 | if (!used) | 1561 | if (!used) |
diff --git a/net/ipv4/tcp_vegas.c b/net/ipv4/tcp_vegas.c index a453aac91bd3..c6743eec9b7d 100644 --- a/net/ipv4/tcp_vegas.c +++ b/net/ipv4/tcp_vegas.c | |||
@@ -158,6 +158,11 @@ void tcp_vegas_cwnd_event(struct sock *sk, enum tcp_ca_event event) | |||
158 | } | 158 | } |
159 | EXPORT_SYMBOL_GPL(tcp_vegas_cwnd_event); | 159 | EXPORT_SYMBOL_GPL(tcp_vegas_cwnd_event); |
160 | 160 | ||
161 | static inline u32 tcp_vegas_ssthresh(struct tcp_sock *tp) | ||
162 | { | ||
163 | return min(tp->snd_ssthresh, tp->snd_cwnd-1); | ||
164 | } | ||
165 | |||
161 | static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) | 166 | static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
162 | { | 167 | { |
163 | struct tcp_sock *tp = tcp_sk(sk); | 168 | struct tcp_sock *tp = tcp_sk(sk); |
@@ -221,11 +226,10 @@ static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) | |||
221 | */ | 226 | */ |
222 | diff = tp->snd_cwnd * (rtt-vegas->baseRTT) / vegas->baseRTT; | 227 | diff = tp->snd_cwnd * (rtt-vegas->baseRTT) / vegas->baseRTT; |
223 | 228 | ||
224 | if (diff > gamma && tp->snd_ssthresh > 2 ) { | 229 | if (diff > gamma && tp->snd_cwnd <= tp->snd_ssthresh) { |
225 | /* Going too fast. Time to slow down | 230 | /* Going too fast. Time to slow down |
226 | * and switch to congestion avoidance. | 231 | * and switch to congestion avoidance. |
227 | */ | 232 | */ |
228 | tp->snd_ssthresh = 2; | ||
229 | 233 | ||
230 | /* Set cwnd to match the actual rate | 234 | /* Set cwnd to match the actual rate |
231 | * exactly: | 235 | * exactly: |
@@ -235,6 +239,7 @@ static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) | |||
235 | * utilization. | 239 | * utilization. |
236 | */ | 240 | */ |
237 | tp->snd_cwnd = min(tp->snd_cwnd, (u32)target_cwnd+1); | 241 | tp->snd_cwnd = min(tp->snd_cwnd, (u32)target_cwnd+1); |
242 | tp->snd_ssthresh = tcp_vegas_ssthresh(tp); | ||
238 | 243 | ||
239 | } else if (tp->snd_cwnd <= tp->snd_ssthresh) { | 244 | } else if (tp->snd_cwnd <= tp->snd_ssthresh) { |
240 | /* Slow start. */ | 245 | /* Slow start. */ |
@@ -250,6 +255,8 @@ static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) | |||
250 | * we slow down. | 255 | * we slow down. |
251 | */ | 256 | */ |
252 | tp->snd_cwnd--; | 257 | tp->snd_cwnd--; |
258 | tp->snd_ssthresh | ||
259 | = tcp_vegas_ssthresh(tp); | ||
253 | } else if (diff < alpha) { | 260 | } else if (diff < alpha) { |
254 | /* We don't have enough extra packets | 261 | /* We don't have enough extra packets |
255 | * in the network, so speed up. | 262 | * in the network, so speed up. |
diff --git a/net/ipv6/netfilter/ip6t_ipv6header.c b/net/ipv6/netfilter/ip6t_ipv6header.c index 14e6724d5672..91490ad9302c 100644 --- a/net/ipv6/netfilter/ip6t_ipv6header.c +++ b/net/ipv6/netfilter/ip6t_ipv6header.c | |||
@@ -50,14 +50,14 @@ ipv6header_mt6(const struct sk_buff *skb, const struct xt_match_param *par) | |||
50 | struct ipv6_opt_hdr _hdr; | 50 | struct ipv6_opt_hdr _hdr; |
51 | int hdrlen; | 51 | int hdrlen; |
52 | 52 | ||
53 | /* Is there enough space for the next ext header? */ | ||
54 | if (len < (int)sizeof(struct ipv6_opt_hdr)) | ||
55 | return false; | ||
56 | /* No more exthdr -> evaluate */ | 53 | /* No more exthdr -> evaluate */ |
57 | if (nexthdr == NEXTHDR_NONE) { | 54 | if (nexthdr == NEXTHDR_NONE) { |
58 | temp |= MASK_NONE; | 55 | temp |= MASK_NONE; |
59 | break; | 56 | break; |
60 | } | 57 | } |
58 | /* Is there enough space for the next ext header? */ | ||
59 | if (len < (int)sizeof(struct ipv6_opt_hdr)) | ||
60 | return false; | ||
61 | /* ESP -> evaluate */ | 61 | /* ESP -> evaluate */ |
62 | if (nexthdr == NEXTHDR_ESP) { | 62 | if (nexthdr == NEXTHDR_ESP) { |
63 | temp |= MASK_ESP; | 63 | temp |= MASK_ESP; |
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 1394ddb6e35c..032a5ec391c5 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -137,6 +137,7 @@ static struct rt6_info ip6_null_entry_template = { | |||
137 | } | 137 | } |
138 | }, | 138 | }, |
139 | .rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP), | 139 | .rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP), |
140 | .rt6i_protocol = RTPROT_KERNEL, | ||
140 | .rt6i_metric = ~(u32) 0, | 141 | .rt6i_metric = ~(u32) 0, |
141 | .rt6i_ref = ATOMIC_INIT(1), | 142 | .rt6i_ref = ATOMIC_INIT(1), |
142 | }; | 143 | }; |
@@ -159,6 +160,7 @@ static struct rt6_info ip6_prohibit_entry_template = { | |||
159 | } | 160 | } |
160 | }, | 161 | }, |
161 | .rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP), | 162 | .rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP), |
163 | .rt6i_protocol = RTPROT_KERNEL, | ||
162 | .rt6i_metric = ~(u32) 0, | 164 | .rt6i_metric = ~(u32) 0, |
163 | .rt6i_ref = ATOMIC_INIT(1), | 165 | .rt6i_ref = ATOMIC_INIT(1), |
164 | }; | 166 | }; |
@@ -176,6 +178,7 @@ static struct rt6_info ip6_blk_hole_entry_template = { | |||
176 | } | 178 | } |
177 | }, | 179 | }, |
178 | .rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP), | 180 | .rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP), |
181 | .rt6i_protocol = RTPROT_KERNEL, | ||
179 | .rt6i_metric = ~(u32) 0, | 182 | .rt6i_metric = ~(u32) 0, |
180 | .rt6i_ref = ATOMIC_INIT(1), | 183 | .rt6i_ref = ATOMIC_INIT(1), |
181 | }; | 184 | }; |
diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c index 3824990d340b..d9233ec50610 100644 --- a/net/mac80211/rc80211_minstrel.c +++ b/net/mac80211/rc80211_minstrel.c | |||
@@ -476,8 +476,8 @@ minstrel_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp) | |||
476 | return NULL; | 476 | return NULL; |
477 | 477 | ||
478 | for (i = 0; i < IEEE80211_NUM_BANDS; i++) { | 478 | for (i = 0; i < IEEE80211_NUM_BANDS; i++) { |
479 | sband = hw->wiphy->bands[hw->conf.channel->band]; | 479 | sband = hw->wiphy->bands[i]; |
480 | if (sband->n_bitrates > max_rates) | 480 | if (sband && sband->n_bitrates > max_rates) |
481 | max_rates = sband->n_bitrates; | 481 | max_rates = sband->n_bitrates; |
482 | } | 482 | } |
483 | 483 | ||
diff --git a/net/mac80211/rc80211_pid_algo.c b/net/mac80211/rc80211_pid_algo.c index b16801cde06f..8bef9a1262ff 100644 --- a/net/mac80211/rc80211_pid_algo.c +++ b/net/mac80211/rc80211_pid_algo.c | |||
@@ -317,13 +317,44 @@ rate_control_pid_rate_init(void *priv, struct ieee80211_supported_band *sband, | |||
317 | struct ieee80211_sta *sta, void *priv_sta) | 317 | struct ieee80211_sta *sta, void *priv_sta) |
318 | { | 318 | { |
319 | struct rc_pid_sta_info *spinfo = priv_sta; | 319 | struct rc_pid_sta_info *spinfo = priv_sta; |
320 | struct rc_pid_info *pinfo = priv; | ||
321 | struct rc_pid_rateinfo *rinfo = pinfo->rinfo; | ||
320 | struct sta_info *si; | 322 | struct sta_info *si; |
323 | int i, j, tmp; | ||
324 | bool s; | ||
321 | 325 | ||
322 | /* TODO: This routine should consider using RSSI from previous packets | 326 | /* TODO: This routine should consider using RSSI from previous packets |
323 | * as we need to have IEEE 802.1X auth succeed immediately after assoc.. | 327 | * as we need to have IEEE 802.1X auth succeed immediately after assoc.. |
324 | * Until that method is implemented, we will use the lowest supported | 328 | * Until that method is implemented, we will use the lowest supported |
325 | * rate as a workaround. */ | 329 | * rate as a workaround. */ |
326 | 330 | ||
331 | /* Sort the rates. This is optimized for the most common case (i.e. | ||
332 | * almost-sorted CCK+OFDM rates). Kind of bubble-sort with reversed | ||
333 | * mapping too. */ | ||
334 | for (i = 0; i < sband->n_bitrates; i++) { | ||
335 | rinfo[i].index = i; | ||
336 | rinfo[i].rev_index = i; | ||
337 | if (RC_PID_FAST_START) | ||
338 | rinfo[i].diff = 0; | ||
339 | else | ||
340 | rinfo[i].diff = i * pinfo->norm_offset; | ||
341 | } | ||
342 | for (i = 1; i < sband->n_bitrates; i++) { | ||
343 | s = 0; | ||
344 | for (j = 0; j < sband->n_bitrates - i; j++) | ||
345 | if (unlikely(sband->bitrates[rinfo[j].index].bitrate > | ||
346 | sband->bitrates[rinfo[j + 1].index].bitrate)) { | ||
347 | tmp = rinfo[j].index; | ||
348 | rinfo[j].index = rinfo[j + 1].index; | ||
349 | rinfo[j + 1].index = tmp; | ||
350 | rinfo[rinfo[j].index].rev_index = j; | ||
351 | rinfo[rinfo[j + 1].index].rev_index = j + 1; | ||
352 | s = 1; | ||
353 | } | ||
354 | if (!s) | ||
355 | break; | ||
356 | } | ||
357 | |||
327 | spinfo->txrate_idx = rate_lowest_index(sband, sta); | 358 | spinfo->txrate_idx = rate_lowest_index(sband, sta); |
328 | /* HACK */ | 359 | /* HACK */ |
329 | si = container_of(sta, struct sta_info, sta); | 360 | si = container_of(sta, struct sta_info, sta); |
@@ -336,21 +367,22 @@ static void *rate_control_pid_alloc(struct ieee80211_hw *hw, | |||
336 | struct rc_pid_info *pinfo; | 367 | struct rc_pid_info *pinfo; |
337 | struct rc_pid_rateinfo *rinfo; | 368 | struct rc_pid_rateinfo *rinfo; |
338 | struct ieee80211_supported_band *sband; | 369 | struct ieee80211_supported_band *sband; |
339 | int i, j, tmp; | 370 | int i, max_rates = 0; |
340 | bool s; | ||
341 | #ifdef CONFIG_MAC80211_DEBUGFS | 371 | #ifdef CONFIG_MAC80211_DEBUGFS |
342 | struct rc_pid_debugfs_entries *de; | 372 | struct rc_pid_debugfs_entries *de; |
343 | #endif | 373 | #endif |
344 | 374 | ||
345 | sband = hw->wiphy->bands[hw->conf.channel->band]; | ||
346 | |||
347 | pinfo = kmalloc(sizeof(*pinfo), GFP_ATOMIC); | 375 | pinfo = kmalloc(sizeof(*pinfo), GFP_ATOMIC); |
348 | if (!pinfo) | 376 | if (!pinfo) |
349 | return NULL; | 377 | return NULL; |
350 | 378 | ||
351 | /* We can safely assume that sband won't change unless we get | 379 | for (i = 0; i < IEEE80211_NUM_BANDS; i++) { |
352 | * reinitialized. */ | 380 | sband = hw->wiphy->bands[i]; |
353 | rinfo = kmalloc(sizeof(*rinfo) * sband->n_bitrates, GFP_ATOMIC); | 381 | if (sband && sband->n_bitrates > max_rates) |
382 | max_rates = sband->n_bitrates; | ||
383 | } | ||
384 | |||
385 | rinfo = kmalloc(sizeof(*rinfo) * max_rates, GFP_ATOMIC); | ||
354 | if (!rinfo) { | 386 | if (!rinfo) { |
355 | kfree(pinfo); | 387 | kfree(pinfo); |
356 | return NULL; | 388 | return NULL; |
@@ -368,33 +400,6 @@ static void *rate_control_pid_alloc(struct ieee80211_hw *hw, | |||
368 | pinfo->rinfo = rinfo; | 400 | pinfo->rinfo = rinfo; |
369 | pinfo->oldrate = 0; | 401 | pinfo->oldrate = 0; |
370 | 402 | ||
371 | /* Sort the rates. This is optimized for the most common case (i.e. | ||
372 | * almost-sorted CCK+OFDM rates). Kind of bubble-sort with reversed | ||
373 | * mapping too. */ | ||
374 | for (i = 0; i < sband->n_bitrates; i++) { | ||
375 | rinfo[i].index = i; | ||
376 | rinfo[i].rev_index = i; | ||
377 | if (RC_PID_FAST_START) | ||
378 | rinfo[i].diff = 0; | ||
379 | else | ||
380 | rinfo[i].diff = i * pinfo->norm_offset; | ||
381 | } | ||
382 | for (i = 1; i < sband->n_bitrates; i++) { | ||
383 | s = 0; | ||
384 | for (j = 0; j < sband->n_bitrates - i; j++) | ||
385 | if (unlikely(sband->bitrates[rinfo[j].index].bitrate > | ||
386 | sband->bitrates[rinfo[j + 1].index].bitrate)) { | ||
387 | tmp = rinfo[j].index; | ||
388 | rinfo[j].index = rinfo[j + 1].index; | ||
389 | rinfo[j + 1].index = tmp; | ||
390 | rinfo[rinfo[j].index].rev_index = j; | ||
391 | rinfo[rinfo[j + 1].index].rev_index = j + 1; | ||
392 | s = 1; | ||
393 | } | ||
394 | if (!s) | ||
395 | break; | ||
396 | } | ||
397 | |||
398 | #ifdef CONFIG_MAC80211_DEBUGFS | 403 | #ifdef CONFIG_MAC80211_DEBUGFS |
399 | de = &pinfo->dentries; | 404 | de = &pinfo->dentries; |
400 | de->target = debugfs_create_u32("target_pf", S_IRUSR | S_IWUSR, | 405 | de->target = debugfs_create_u32("target_pf", S_IRUSR | S_IWUSR, |
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 3fb04a86444d..63656266d567 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -772,7 +772,7 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *tx) | |||
772 | hdrlen = ieee80211_hdrlen(hdr->frame_control); | 772 | hdrlen = ieee80211_hdrlen(hdr->frame_control); |
773 | 773 | ||
774 | /* internal error, why is TX_FRAGMENTED set? */ | 774 | /* internal error, why is TX_FRAGMENTED set? */ |
775 | if (WARN_ON(skb->len <= frag_threshold)) | 775 | if (WARN_ON(skb->len + FCS_LEN <= frag_threshold)) |
776 | return TX_DROP; | 776 | return TX_DROP; |
777 | 777 | ||
778 | /* | 778 | /* |
diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c index 60aba45023ff..77bfdfeb966e 100644 --- a/net/netfilter/ipvs/ip_vs_conn.c +++ b/net/netfilter/ipvs/ip_vs_conn.c | |||
@@ -260,7 +260,10 @@ struct ip_vs_conn *ip_vs_ct_in_get | |||
260 | list_for_each_entry(cp, &ip_vs_conn_tab[hash], c_list) { | 260 | list_for_each_entry(cp, &ip_vs_conn_tab[hash], c_list) { |
261 | if (cp->af == af && | 261 | if (cp->af == af && |
262 | ip_vs_addr_equal(af, s_addr, &cp->caddr) && | 262 | ip_vs_addr_equal(af, s_addr, &cp->caddr) && |
263 | ip_vs_addr_equal(af, d_addr, &cp->vaddr) && | 263 | /* protocol should only be IPPROTO_IP if |
264 | * d_addr is a fwmark */ | ||
265 | ip_vs_addr_equal(protocol == IPPROTO_IP ? AF_UNSPEC : af, | ||
266 | d_addr, &cp->vaddr) && | ||
264 | s_port == cp->cport && d_port == cp->vport && | 267 | s_port == cp->cport && d_port == cp->vport && |
265 | cp->flags & IP_VS_CONN_F_TEMPLATE && | 268 | cp->flags & IP_VS_CONN_F_TEMPLATE && |
266 | protocol == cp->protocol) { | 269 | protocol == cp->protocol) { |
@@ -698,7 +701,9 @@ ip_vs_conn_new(int af, int proto, const union nf_inet_addr *caddr, __be16 cport, | |||
698 | cp->cport = cport; | 701 | cp->cport = cport; |
699 | ip_vs_addr_copy(af, &cp->vaddr, vaddr); | 702 | ip_vs_addr_copy(af, &cp->vaddr, vaddr); |
700 | cp->vport = vport; | 703 | cp->vport = vport; |
701 | ip_vs_addr_copy(af, &cp->daddr, daddr); | 704 | /* proto should only be IPPROTO_IP if d_addr is a fwmark */ |
705 | ip_vs_addr_copy(proto == IPPROTO_IP ? AF_UNSPEC : af, | ||
706 | &cp->daddr, daddr); | ||
702 | cp->dport = dport; | 707 | cp->dport = dport; |
703 | cp->flags = flags; | 708 | cp->flags = flags; |
704 | spin_lock_init(&cp->lock); | 709 | spin_lock_init(&cp->lock); |
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c index cb3e031335eb..8dddb17a947a 100644 --- a/net/netfilter/ipvs/ip_vs_core.c +++ b/net/netfilter/ipvs/ip_vs_core.c | |||
@@ -278,7 +278,7 @@ ip_vs_sched_persist(struct ip_vs_service *svc, | |||
278 | */ | 278 | */ |
279 | if (svc->fwmark) { | 279 | if (svc->fwmark) { |
280 | union nf_inet_addr fwmark = { | 280 | union nf_inet_addr fwmark = { |
281 | .all = { 0, 0, 0, htonl(svc->fwmark) } | 281 | .ip = htonl(svc->fwmark) |
282 | }; | 282 | }; |
283 | 283 | ||
284 | ct = ip_vs_ct_in_get(svc->af, IPPROTO_IP, &snet, 0, | 284 | ct = ip_vs_ct_in_get(svc->af, IPPROTO_IP, &snet, 0, |
@@ -306,7 +306,7 @@ ip_vs_sched_persist(struct ip_vs_service *svc, | |||
306 | */ | 306 | */ |
307 | if (svc->fwmark) { | 307 | if (svc->fwmark) { |
308 | union nf_inet_addr fwmark = { | 308 | union nf_inet_addr fwmark = { |
309 | .all = { 0, 0, 0, htonl(svc->fwmark) } | 309 | .ip = htonl(svc->fwmark) |
310 | }; | 310 | }; |
311 | 311 | ||
312 | ct = ip_vs_conn_new(svc->af, IPPROTO_IP, | 312 | ct = ip_vs_conn_new(svc->af, IPPROTO_IP, |
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c index f13fc57e1ecb..c523f0b8cee5 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c | |||
@@ -1186,28 +1186,6 @@ ctnetlink_change_conntrack(struct nf_conn *ct, struct nlattr *cda[]) | |||
1186 | return 0; | 1186 | return 0; |
1187 | } | 1187 | } |
1188 | 1188 | ||
1189 | static inline void | ||
1190 | ctnetlink_event_report(struct nf_conn *ct, u32 pid, int report) | ||
1191 | { | ||
1192 | unsigned int events = 0; | ||
1193 | |||
1194 | if (test_bit(IPS_EXPECTED_BIT, &ct->status)) | ||
1195 | events |= IPCT_RELATED; | ||
1196 | else | ||
1197 | events |= IPCT_NEW; | ||
1198 | |||
1199 | nf_conntrack_event_report(IPCT_STATUS | | ||
1200 | IPCT_HELPER | | ||
1201 | IPCT_REFRESH | | ||
1202 | IPCT_PROTOINFO | | ||
1203 | IPCT_NATSEQADJ | | ||
1204 | IPCT_MARK | | ||
1205 | events, | ||
1206 | ct, | ||
1207 | pid, | ||
1208 | report); | ||
1209 | } | ||
1210 | |||
1211 | static struct nf_conn * | 1189 | static struct nf_conn * |
1212 | ctnetlink_create_conntrack(struct nlattr *cda[], | 1190 | ctnetlink_create_conntrack(struct nlattr *cda[], |
1213 | struct nf_conntrack_tuple *otuple, | 1191 | struct nf_conntrack_tuple *otuple, |
@@ -1373,6 +1351,7 @@ ctnetlink_new_conntrack(struct sock *ctnl, struct sk_buff *skb, | |||
1373 | err = -ENOENT; | 1351 | err = -ENOENT; |
1374 | if (nlh->nlmsg_flags & NLM_F_CREATE) { | 1352 | if (nlh->nlmsg_flags & NLM_F_CREATE) { |
1375 | struct nf_conn *ct; | 1353 | struct nf_conn *ct; |
1354 | enum ip_conntrack_events events; | ||
1376 | 1355 | ||
1377 | ct = ctnetlink_create_conntrack(cda, &otuple, | 1356 | ct = ctnetlink_create_conntrack(cda, &otuple, |
1378 | &rtuple, u3); | 1357 | &rtuple, u3); |
@@ -1383,9 +1362,18 @@ ctnetlink_new_conntrack(struct sock *ctnl, struct sk_buff *skb, | |||
1383 | err = 0; | 1362 | err = 0; |
1384 | nf_conntrack_get(&ct->ct_general); | 1363 | nf_conntrack_get(&ct->ct_general); |
1385 | spin_unlock_bh(&nf_conntrack_lock); | 1364 | spin_unlock_bh(&nf_conntrack_lock); |
1386 | ctnetlink_event_report(ct, | 1365 | if (test_bit(IPS_EXPECTED_BIT, &ct->status)) |
1387 | NETLINK_CB(skb).pid, | 1366 | events = IPCT_RELATED; |
1388 | nlmsg_report(nlh)); | 1367 | else |
1368 | events = IPCT_NEW; | ||
1369 | |||
1370 | nf_conntrack_event_report(IPCT_STATUS | | ||
1371 | IPCT_HELPER | | ||
1372 | IPCT_PROTOINFO | | ||
1373 | IPCT_NATSEQADJ | | ||
1374 | IPCT_MARK | events, | ||
1375 | ct, NETLINK_CB(skb).pid, | ||
1376 | nlmsg_report(nlh)); | ||
1389 | nf_ct_put(ct); | 1377 | nf_ct_put(ct); |
1390 | } else | 1378 | } else |
1391 | spin_unlock_bh(&nf_conntrack_lock); | 1379 | spin_unlock_bh(&nf_conntrack_lock); |
@@ -1404,9 +1392,13 @@ ctnetlink_new_conntrack(struct sock *ctnl, struct sk_buff *skb, | |||
1404 | if (err == 0) { | 1392 | if (err == 0) { |
1405 | nf_conntrack_get(&ct->ct_general); | 1393 | nf_conntrack_get(&ct->ct_general); |
1406 | spin_unlock_bh(&nf_conntrack_lock); | 1394 | spin_unlock_bh(&nf_conntrack_lock); |
1407 | ctnetlink_event_report(ct, | 1395 | nf_conntrack_event_report(IPCT_STATUS | |
1408 | NETLINK_CB(skb).pid, | 1396 | IPCT_HELPER | |
1409 | nlmsg_report(nlh)); | 1397 | IPCT_PROTOINFO | |
1398 | IPCT_NATSEQADJ | | ||
1399 | IPCT_MARK, | ||
1400 | ct, NETLINK_CB(skb).pid, | ||
1401 | nlmsg_report(nlh)); | ||
1410 | nf_ct_put(ct); | 1402 | nf_ct_put(ct); |
1411 | } else | 1403 | } else |
1412 | spin_unlock_bh(&nf_conntrack_lock); | 1404 | spin_unlock_bh(&nf_conntrack_lock); |
diff --git a/net/netfilter/nf_conntrack_proto_dccp.c b/net/netfilter/nf_conntrack_proto_dccp.c index 8e757dd53396..aee0d6bea309 100644 --- a/net/netfilter/nf_conntrack_proto_dccp.c +++ b/net/netfilter/nf_conntrack_proto_dccp.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/netfilter/nfnetlink_conntrack.h> | 22 | #include <linux/netfilter/nfnetlink_conntrack.h> |
23 | #include <net/netfilter/nf_conntrack.h> | 23 | #include <net/netfilter/nf_conntrack.h> |
24 | #include <net/netfilter/nf_conntrack_l4proto.h> | 24 | #include <net/netfilter/nf_conntrack_l4proto.h> |
25 | #include <net/netfilter/nf_conntrack_ecache.h> | ||
25 | #include <net/netfilter/nf_log.h> | 26 | #include <net/netfilter/nf_log.h> |
26 | 27 | ||
27 | static DEFINE_RWLOCK(dccp_lock); | 28 | static DEFINE_RWLOCK(dccp_lock); |
@@ -553,6 +554,9 @@ static int dccp_packet(struct nf_conn *ct, const struct sk_buff *skb, | |||
553 | ct->proto.dccp.state = new_state; | 554 | ct->proto.dccp.state = new_state; |
554 | write_unlock_bh(&dccp_lock); | 555 | write_unlock_bh(&dccp_lock); |
555 | 556 | ||
557 | if (new_state != old_state) | ||
558 | nf_conntrack_event_cache(IPCT_PROTOINFO, ct); | ||
559 | |||
556 | dn = dccp_pernet(net); | 560 | dn = dccp_pernet(net); |
557 | nf_ct_refresh_acct(ct, ctinfo, skb, dn->dccp_timeout[new_state]); | 561 | nf_ct_refresh_acct(ct, ctinfo, skb, dn->dccp_timeout[new_state]); |
558 | 562 | ||
diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c index b5ccf2b4b2e7..97a6e93d742e 100644 --- a/net/netfilter/nf_conntrack_proto_tcp.c +++ b/net/netfilter/nf_conntrack_proto_tcp.c | |||
@@ -634,6 +634,14 @@ static bool tcp_in_window(const struct nf_conn *ct, | |||
634 | sender->td_end = end; | 634 | sender->td_end = end; |
635 | sender->flags |= IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED; | 635 | sender->flags |= IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED; |
636 | } | 636 | } |
637 | if (tcph->ack) { | ||
638 | if (!(sender->flags & IP_CT_TCP_FLAG_MAXACK_SET)) { | ||
639 | sender->td_maxack = ack; | ||
640 | sender->flags |= IP_CT_TCP_FLAG_MAXACK_SET; | ||
641 | } else if (after(ack, sender->td_maxack)) | ||
642 | sender->td_maxack = ack; | ||
643 | } | ||
644 | |||
637 | /* | 645 | /* |
638 | * Update receiver data. | 646 | * Update receiver data. |
639 | */ | 647 | */ |
@@ -919,6 +927,16 @@ static int tcp_packet(struct nf_conn *ct, | |||
919 | return -NF_ACCEPT; | 927 | return -NF_ACCEPT; |
920 | case TCP_CONNTRACK_CLOSE: | 928 | case TCP_CONNTRACK_CLOSE: |
921 | if (index == TCP_RST_SET | 929 | if (index == TCP_RST_SET |
930 | && (ct->proto.tcp.seen[!dir].flags & IP_CT_TCP_FLAG_MAXACK_SET) | ||
931 | && before(ntohl(th->seq), ct->proto.tcp.seen[!dir].td_maxack)) { | ||
932 | /* Invalid RST */ | ||
933 | write_unlock_bh(&tcp_lock); | ||
934 | if (LOG_INVALID(net, IPPROTO_TCP)) | ||
935 | nf_log_packet(pf, 0, skb, NULL, NULL, NULL, | ||
936 | "nf_ct_tcp: invalid RST "); | ||
937 | return -NF_ACCEPT; | ||
938 | } | ||
939 | if (index == TCP_RST_SET | ||
922 | && ((test_bit(IPS_SEEN_REPLY_BIT, &ct->status) | 940 | && ((test_bit(IPS_SEEN_REPLY_BIT, &ct->status) |
923 | && ct->proto.tcp.last_index == TCP_SYN_SET) | 941 | && ct->proto.tcp.last_index == TCP_SYN_SET) |
924 | || (!test_bit(IPS_ASSURED_BIT, &ct->status) | 942 | || (!test_bit(IPS_ASSURED_BIT, &ct->status) |
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c index fd326ac27ec8..66a6dd5c519a 100644 --- a/net/netfilter/nfnetlink_log.c +++ b/net/netfilter/nfnetlink_log.c | |||
@@ -581,6 +581,12 @@ nfulnl_log_packet(u_int8_t pf, | |||
581 | + nla_total_size(sizeof(struct nfulnl_msg_packet_hw)) | 581 | + nla_total_size(sizeof(struct nfulnl_msg_packet_hw)) |
582 | + nla_total_size(sizeof(struct nfulnl_msg_packet_timestamp)); | 582 | + nla_total_size(sizeof(struct nfulnl_msg_packet_timestamp)); |
583 | 583 | ||
584 | if (in && skb_mac_header_was_set(skb)) { | ||
585 | size += nla_total_size(skb->dev->hard_header_len) | ||
586 | + nla_total_size(sizeof(u_int16_t)) /* hwtype */ | ||
587 | + nla_total_size(sizeof(u_int16_t)); /* hwlen */ | ||
588 | } | ||
589 | |||
584 | spin_lock_bh(&inst->lock); | 590 | spin_lock_bh(&inst->lock); |
585 | 591 | ||
586 | if (inst->flags & NFULNL_CFG_F_SEQ) | 592 | if (inst->flags & NFULNL_CFG_F_SEQ) |
diff --git a/net/netfilter/xt_cluster.c b/net/netfilter/xt_cluster.c index 6c4847662b85..69a639f35403 100644 --- a/net/netfilter/xt_cluster.c +++ b/net/netfilter/xt_cluster.c | |||
@@ -135,7 +135,13 @@ static bool xt_cluster_mt_checkentry(const struct xt_mtchk_param *par) | |||
135 | { | 135 | { |
136 | struct xt_cluster_match_info *info = par->matchinfo; | 136 | struct xt_cluster_match_info *info = par->matchinfo; |
137 | 137 | ||
138 | if (info->node_mask >= (1 << info->total_nodes)) { | 138 | if (info->total_nodes > XT_CLUSTER_NODES_MAX) { |
139 | printk(KERN_ERR "xt_cluster: you have exceeded the maximum " | ||
140 | "number of cluster nodes (%u > %u)\n", | ||
141 | info->total_nodes, XT_CLUSTER_NODES_MAX); | ||
142 | return false; | ||
143 | } | ||
144 | if (info->node_mask >= (1ULL << info->total_nodes)) { | ||
139 | printk(KERN_ERR "xt_cluster: this node mask cannot be " | 145 | printk(KERN_ERR "xt_cluster: this node mask cannot be " |
140 | "higher than the total number of nodes\n"); | 146 | "higher than the total number of nodes\n"); |
141 | return false; | 147 | return false; |
diff --git a/net/netfilter/xt_hashlimit.c b/net/netfilter/xt_hashlimit.c index a5b5369c30f9..219dcdbe388c 100644 --- a/net/netfilter/xt_hashlimit.c +++ b/net/netfilter/xt_hashlimit.c | |||
@@ -926,7 +926,7 @@ static int dl_seq_show(struct seq_file *s, void *v) | |||
926 | if (!hlist_empty(&htable->hash[*bucket])) { | 926 | if (!hlist_empty(&htable->hash[*bucket])) { |
927 | hlist_for_each_entry(ent, pos, &htable->hash[*bucket], node) | 927 | hlist_for_each_entry(ent, pos, &htable->hash[*bucket], node) |
928 | if (dl_seq_real_show(ent, htable->family, s)) | 928 | if (dl_seq_real_show(ent, htable->family, s)) |
929 | return 1; | 929 | return -1; |
930 | } | 930 | } |
931 | return 0; | 931 | return 0; |
932 | } | 932 | } |
diff --git a/net/rxrpc/ar-connection.c b/net/rxrpc/ar-connection.c index 0f1218b8d289..67e38a056240 100644 --- a/net/rxrpc/ar-connection.c +++ b/net/rxrpc/ar-connection.c | |||
@@ -343,9 +343,9 @@ static int rxrpc_connect_exclusive(struct rxrpc_sock *rx, | |||
343 | /* not yet present - create a candidate for a new connection | 343 | /* not yet present - create a candidate for a new connection |
344 | * and then redo the check */ | 344 | * and then redo the check */ |
345 | conn = rxrpc_alloc_connection(gfp); | 345 | conn = rxrpc_alloc_connection(gfp); |
346 | if (IS_ERR(conn)) { | 346 | if (!conn) { |
347 | _leave(" = %ld", PTR_ERR(conn)); | 347 | _leave(" = -ENOMEM"); |
348 | return PTR_ERR(conn); | 348 | return -ENOMEM; |
349 | } | 349 | } |
350 | 350 | ||
351 | conn->trans = trans; | 351 | conn->trans = trans; |
@@ -508,9 +508,9 @@ int rxrpc_connect_call(struct rxrpc_sock *rx, | |||
508 | /* not yet present - create a candidate for a new connection and then | 508 | /* not yet present - create a candidate for a new connection and then |
509 | * redo the check */ | 509 | * redo the check */ |
510 | candidate = rxrpc_alloc_connection(gfp); | 510 | candidate = rxrpc_alloc_connection(gfp); |
511 | if (IS_ERR(candidate)) { | 511 | if (!candidate) { |
512 | _leave(" = %ld", PTR_ERR(candidate)); | 512 | _leave(" = -ENOMEM"); |
513 | return PTR_ERR(candidate); | 513 | return -ENOMEM; |
514 | } | 514 | } |
515 | 515 | ||
516 | candidate->trans = trans; | 516 | candidate->trans = trans; |
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 0759f32e9dca..09cdcdfe7e91 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c | |||
@@ -135,6 +135,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n, void *arg) | |||
135 | unsigned long cl; | 135 | unsigned long cl; |
136 | unsigned long fh; | 136 | unsigned long fh; |
137 | int err; | 137 | int err; |
138 | int tp_created = 0; | ||
138 | 139 | ||
139 | if (net != &init_net) | 140 | if (net != &init_net) |
140 | return -EINVAL; | 141 | return -EINVAL; |
@@ -266,10 +267,7 @@ replay: | |||
266 | goto errout; | 267 | goto errout; |
267 | } | 268 | } |
268 | 269 | ||
269 | spin_lock_bh(root_lock); | 270 | tp_created = 1; |
270 | tp->next = *back; | ||
271 | *back = tp; | ||
272 | spin_unlock_bh(root_lock); | ||
273 | 271 | ||
274 | } else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) | 272 | } else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) |
275 | goto errout; | 273 | goto errout; |
@@ -296,8 +294,11 @@ replay: | |||
296 | switch (n->nlmsg_type) { | 294 | switch (n->nlmsg_type) { |
297 | case RTM_NEWTFILTER: | 295 | case RTM_NEWTFILTER: |
298 | err = -EEXIST; | 296 | err = -EEXIST; |
299 | if (n->nlmsg_flags & NLM_F_EXCL) | 297 | if (n->nlmsg_flags & NLM_F_EXCL) { |
298 | if (tp_created) | ||
299 | tcf_destroy(tp); | ||
300 | goto errout; | 300 | goto errout; |
301 | } | ||
301 | break; | 302 | break; |
302 | case RTM_DELTFILTER: | 303 | case RTM_DELTFILTER: |
303 | err = tp->ops->delete(tp, fh); | 304 | err = tp->ops->delete(tp, fh); |
@@ -314,8 +315,18 @@ replay: | |||
314 | } | 315 | } |
315 | 316 | ||
316 | err = tp->ops->change(tp, cl, t->tcm_handle, tca, &fh); | 317 | err = tp->ops->change(tp, cl, t->tcm_handle, tca, &fh); |
317 | if (err == 0) | 318 | if (err == 0) { |
319 | if (tp_created) { | ||
320 | spin_lock_bh(root_lock); | ||
321 | tp->next = *back; | ||
322 | *back = tp; | ||
323 | spin_unlock_bh(root_lock); | ||
324 | } | ||
318 | tfilter_notify(skb, n, tp, fh, RTM_NEWTFILTER); | 325 | tfilter_notify(skb, n, tp, fh, RTM_NEWTFILTER); |
326 | } else { | ||
327 | if (tp_created) | ||
328 | tcf_destroy(tp); | ||
329 | } | ||
319 | 330 | ||
320 | errout: | 331 | errout: |
321 | if (cl) | 332 | if (cl) |
diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c index 91a3db4a76f8..cc29b44b1500 100644 --- a/net/sched/cls_cgroup.c +++ b/net/sched/cls_cgroup.c | |||
@@ -104,8 +104,7 @@ static int cls_cgroup_classify(struct sk_buff *skb, struct tcf_proto *tp, | |||
104 | struct tcf_result *res) | 104 | struct tcf_result *res) |
105 | { | 105 | { |
106 | struct cls_cgroup_head *head = tp->root; | 106 | struct cls_cgroup_head *head = tp->root; |
107 | struct cgroup_cls_state *cs; | 107 | u32 classid; |
108 | int ret = 0; | ||
109 | 108 | ||
110 | /* | 109 | /* |
111 | * Due to the nature of the classifier it is required to ignore all | 110 | * Due to the nature of the classifier it is required to ignore all |
@@ -121,17 +120,18 @@ static int cls_cgroup_classify(struct sk_buff *skb, struct tcf_proto *tp, | |||
121 | return -1; | 120 | return -1; |
122 | 121 | ||
123 | rcu_read_lock(); | 122 | rcu_read_lock(); |
124 | cs = task_cls_state(current); | 123 | classid = task_cls_state(current)->classid; |
125 | if (cs->classid && tcf_em_tree_match(skb, &head->ematches, NULL)) { | ||
126 | res->classid = cs->classid; | ||
127 | res->class = 0; | ||
128 | ret = tcf_exts_exec(skb, &head->exts, res); | ||
129 | } else | ||
130 | ret = -1; | ||
131 | |||
132 | rcu_read_unlock(); | 124 | rcu_read_unlock(); |
133 | 125 | ||
134 | return ret; | 126 | if (!classid) |
127 | return -1; | ||
128 | |||
129 | if (!tcf_em_tree_match(skb, &head->ematches, NULL)) | ||
130 | return -1; | ||
131 | |||
132 | res->classid = classid; | ||
133 | res->class = 0; | ||
134 | return tcf_exts_exec(skb, &head->exts, res); | ||
135 | } | 135 | } |
136 | 136 | ||
137 | static unsigned long cls_cgroup_get(struct tcf_proto *tp, u32 handle) | 137 | static unsigned long cls_cgroup_get(struct tcf_proto *tp, u32 handle) |
diff --git a/net/sched/sch_fifo.c b/net/sched/sch_fifo.c index 92cfc9d7e3b9..69188e8358b4 100644 --- a/net/sched/sch_fifo.c +++ b/net/sched/sch_fifo.c | |||
@@ -51,7 +51,7 @@ static int fifo_init(struct Qdisc *sch, struct nlattr *opt) | |||
51 | u32 limit = qdisc_dev(sch)->tx_queue_len ? : 1; | 51 | u32 limit = qdisc_dev(sch)->tx_queue_len ? : 1; |
52 | 52 | ||
53 | if (sch->ops == &bfifo_qdisc_ops) | 53 | if (sch->ops == &bfifo_qdisc_ops) |
54 | limit *= qdisc_dev(sch)->mtu; | 54 | limit *= psched_mtu(qdisc_dev(sch)); |
55 | 55 | ||
56 | q->limit = limit; | 56 | q->limit = limit; |
57 | } else { | 57 | } else { |
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c index ec697cebb63b..3b6418297231 100644 --- a/net/sched/sch_teql.c +++ b/net/sched/sch_teql.c | |||
@@ -303,6 +303,8 @@ restart: | |||
303 | switch (teql_resolve(skb, skb_res, slave)) { | 303 | switch (teql_resolve(skb, skb_res, slave)) { |
304 | case 0: | 304 | case 0: |
305 | if (__netif_tx_trylock(slave_txq)) { | 305 | if (__netif_tx_trylock(slave_txq)) { |
306 | unsigned int length = qdisc_pkt_len(skb); | ||
307 | |||
306 | if (!netif_tx_queue_stopped(slave_txq) && | 308 | if (!netif_tx_queue_stopped(slave_txq) && |
307 | !netif_tx_queue_frozen(slave_txq) && | 309 | !netif_tx_queue_frozen(slave_txq) && |
308 | slave_ops->ndo_start_xmit(skb, slave) == 0) { | 310 | slave_ops->ndo_start_xmit(skb, slave) == 0) { |
@@ -310,8 +312,7 @@ restart: | |||
310 | master->slaves = NEXT_SLAVE(q); | 312 | master->slaves = NEXT_SLAVE(q); |
311 | netif_wake_queue(dev); | 313 | netif_wake_queue(dev); |
312 | master->stats.tx_packets++; | 314 | master->stats.tx_packets++; |
313 | master->stats.tx_bytes += | 315 | master->stats.tx_bytes += length; |
314 | qdisc_pkt_len(skb); | ||
315 | return 0; | 316 | return 0; |
316 | } | 317 | } |
317 | __netif_tx_unlock(slave_txq); | 318 | __netif_tx_unlock(slave_txq); |
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index af3198814c15..9d504234af4a 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c | |||
@@ -345,6 +345,7 @@ static void svc_sock_setbufsize(struct socket *sock, unsigned int snd, | |||
345 | lock_sock(sock->sk); | 345 | lock_sock(sock->sk); |
346 | sock->sk->sk_sndbuf = snd * 2; | 346 | sock->sk->sk_sndbuf = snd * 2; |
347 | sock->sk->sk_rcvbuf = rcv * 2; | 347 | sock->sk->sk_rcvbuf = rcv * 2; |
348 | sock->sk->sk_userlocks |= SOCK_SNDBUF_LOCK|SOCK_RCVBUF_LOCK; | ||
348 | release_sock(sock->sk); | 349 | release_sock(sock->sk); |
349 | #endif | 350 | #endif |
350 | } | 351 | } |
@@ -796,6 +797,23 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp) | |||
796 | test_bit(XPT_CONN, &svsk->sk_xprt.xpt_flags), | 797 | test_bit(XPT_CONN, &svsk->sk_xprt.xpt_flags), |
797 | test_bit(XPT_CLOSE, &svsk->sk_xprt.xpt_flags)); | 798 | test_bit(XPT_CLOSE, &svsk->sk_xprt.xpt_flags)); |
798 | 799 | ||
800 | if (test_and_clear_bit(XPT_CHNGBUF, &svsk->sk_xprt.xpt_flags)) | ||
801 | /* sndbuf needs to have room for one request | ||
802 | * per thread, otherwise we can stall even when the | ||
803 | * network isn't a bottleneck. | ||
804 | * | ||
805 | * We count all threads rather than threads in a | ||
806 | * particular pool, which provides an upper bound | ||
807 | * on the number of threads which will access the socket. | ||
808 | * | ||
809 | * rcvbuf just needs to be able to hold a few requests. | ||
810 | * Normally they will be removed from the queue | ||
811 | * as soon a a complete request arrives. | ||
812 | */ | ||
813 | svc_sock_setbufsize(svsk->sk_sock, | ||
814 | (serv->sv_nrthreads+3) * serv->sv_max_mesg, | ||
815 | 3 * serv->sv_max_mesg); | ||
816 | |||
799 | clear_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); | 817 | clear_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); |
800 | 818 | ||
801 | /* Receive data. If we haven't got the record length yet, get | 819 | /* Receive data. If we haven't got the record length yet, get |
@@ -1043,6 +1061,15 @@ static void svc_tcp_init(struct svc_sock *svsk, struct svc_serv *serv) | |||
1043 | 1061 | ||
1044 | tcp_sk(sk)->nonagle |= TCP_NAGLE_OFF; | 1062 | tcp_sk(sk)->nonagle |= TCP_NAGLE_OFF; |
1045 | 1063 | ||
1064 | /* initialise setting must have enough space to | ||
1065 | * receive and respond to one request. | ||
1066 | * svc_tcp_recvfrom will re-adjust if necessary | ||
1067 | */ | ||
1068 | svc_sock_setbufsize(svsk->sk_sock, | ||
1069 | 3 * svsk->sk_xprt.xpt_server->sv_max_mesg, | ||
1070 | 3 * svsk->sk_xprt.xpt_server->sv_max_mesg); | ||
1071 | |||
1072 | set_bit(XPT_CHNGBUF, &svsk->sk_xprt.xpt_flags); | ||
1046 | set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); | 1073 | set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); |
1047 | if (sk->sk_state != TCP_ESTABLISHED) | 1074 | if (sk->sk_state != TCP_ESTABLISHED) |
1048 | set_bit(XPT_CLOSE, &svsk->sk_xprt.xpt_flags); | 1075 | set_bit(XPT_CLOSE, &svsk->sk_xprt.xpt_flags); |
@@ -1112,14 +1139,8 @@ static struct svc_sock *svc_setup_socket(struct svc_serv *serv, | |||
1112 | /* Initialize the socket */ | 1139 | /* Initialize the socket */ |
1113 | if (sock->type == SOCK_DGRAM) | 1140 | if (sock->type == SOCK_DGRAM) |
1114 | svc_udp_init(svsk, serv); | 1141 | svc_udp_init(svsk, serv); |
1115 | else { | 1142 | else |
1116 | /* initialise setting must have enough space to | ||
1117 | * receive and respond to one request. | ||
1118 | */ | ||
1119 | svc_sock_setbufsize(svsk->sk_sock, 4 * serv->sv_max_mesg, | ||
1120 | 4 * serv->sv_max_mesg); | ||
1121 | svc_tcp_init(svsk, serv); | 1143 | svc_tcp_init(svsk, serv); |
1122 | } | ||
1123 | 1144 | ||
1124 | dprintk("svc: svc_setup_socket created %p (inet %p)\n", | 1145 | dprintk("svc: svc_setup_socket created %p (inet %p)\n", |
1125 | svsk, svsk->sk_sk); | 1146 | svsk, svsk->sk_sk); |
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c index 629a28764da9..42a6f9f20285 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c +++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | |||
@@ -265,7 +265,7 @@ static int fast_reg_read_chunks(struct svcxprt_rdma *xprt, | |||
265 | frmr->page_list->page_list[page_no] = | 265 | frmr->page_list->page_list[page_no] = |
266 | ib_dma_map_single(xprt->sc_cm_id->device, | 266 | ib_dma_map_single(xprt->sc_cm_id->device, |
267 | page_address(rqstp->rq_arg.pages[page_no]), | 267 | page_address(rqstp->rq_arg.pages[page_no]), |
268 | PAGE_SIZE, DMA_TO_DEVICE); | 268 | PAGE_SIZE, DMA_FROM_DEVICE); |
269 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, | 269 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, |
270 | frmr->page_list->page_list[page_no])) | 270 | frmr->page_list->page_list[page_no])) |
271 | goto fatal_err; | 271 | goto fatal_err; |
diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c index 6c26a675435a..f11be72a1a80 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c | |||
@@ -128,7 +128,8 @@ static int fast_reg_xdr(struct svcxprt_rdma *xprt, | |||
128 | page_bytes -= sge_bytes; | 128 | page_bytes -= sge_bytes; |
129 | 129 | ||
130 | frmr->page_list->page_list[page_no] = | 130 | frmr->page_list->page_list[page_no] = |
131 | ib_dma_map_page(xprt->sc_cm_id->device, page, 0, | 131 | ib_dma_map_single(xprt->sc_cm_id->device, |
132 | page_address(page), | ||
132 | PAGE_SIZE, DMA_TO_DEVICE); | 133 | PAGE_SIZE, DMA_TO_DEVICE); |
133 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, | 134 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, |
134 | frmr->page_list->page_list[page_no])) | 135 | frmr->page_list->page_list[page_no])) |
@@ -183,6 +184,7 @@ static int fast_reg_xdr(struct svcxprt_rdma *xprt, | |||
183 | 184 | ||
184 | fatal_err: | 185 | fatal_err: |
185 | printk("svcrdma: Error fast registering memory for xprt %p\n", xprt); | 186 | printk("svcrdma: Error fast registering memory for xprt %p\n", xprt); |
187 | vec->frmr = NULL; | ||
186 | svc_rdma_put_frmr(xprt, frmr); | 188 | svc_rdma_put_frmr(xprt, frmr); |
187 | return -EIO; | 189 | return -EIO; |
188 | } | 190 | } |
@@ -516,6 +518,7 @@ static int send_reply(struct svcxprt_rdma *rdma, | |||
516 | "svcrdma: could not post a receive buffer, err=%d." | 518 | "svcrdma: could not post a receive buffer, err=%d." |
517 | "Closing transport %p.\n", ret, rdma); | 519 | "Closing transport %p.\n", ret, rdma); |
518 | set_bit(XPT_CLOSE, &rdma->sc_xprt.xpt_flags); | 520 | set_bit(XPT_CLOSE, &rdma->sc_xprt.xpt_flags); |
521 | svc_rdma_put_frmr(rdma, vec->frmr); | ||
519 | svc_rdma_put_context(ctxt, 0); | 522 | svc_rdma_put_context(ctxt, 0); |
520 | return -ENOTCONN; | 523 | return -ENOTCONN; |
521 | } | 524 | } |
@@ -530,18 +533,17 @@ static int send_reply(struct svcxprt_rdma *rdma, | |||
530 | clear_bit(RDMACTXT_F_FAST_UNREG, &ctxt->flags); | 533 | clear_bit(RDMACTXT_F_FAST_UNREG, &ctxt->flags); |
531 | 534 | ||
532 | /* Prepare the SGE for the RPCRDMA Header */ | 535 | /* Prepare the SGE for the RPCRDMA Header */ |
536 | ctxt->sge[0].lkey = rdma->sc_dma_lkey; | ||
537 | ctxt->sge[0].length = svc_rdma_xdr_get_reply_hdr_len(rdma_resp); | ||
533 | ctxt->sge[0].addr = | 538 | ctxt->sge[0].addr = |
534 | ib_dma_map_page(rdma->sc_cm_id->device, | 539 | ib_dma_map_single(rdma->sc_cm_id->device, page_address(page), |
535 | page, 0, PAGE_SIZE, DMA_TO_DEVICE); | 540 | ctxt->sge[0].length, DMA_TO_DEVICE); |
536 | if (ib_dma_mapping_error(rdma->sc_cm_id->device, ctxt->sge[0].addr)) | 541 | if (ib_dma_mapping_error(rdma->sc_cm_id->device, ctxt->sge[0].addr)) |
537 | goto err; | 542 | goto err; |
538 | atomic_inc(&rdma->sc_dma_used); | 543 | atomic_inc(&rdma->sc_dma_used); |
539 | 544 | ||
540 | ctxt->direction = DMA_TO_DEVICE; | 545 | ctxt->direction = DMA_TO_DEVICE; |
541 | 546 | ||
542 | ctxt->sge[0].length = svc_rdma_xdr_get_reply_hdr_len(rdma_resp); | ||
543 | ctxt->sge[0].lkey = rdma->sc_dma_lkey; | ||
544 | |||
545 | /* Determine how many of our SGE are to be transmitted */ | 547 | /* Determine how many of our SGE are to be transmitted */ |
546 | for (sge_no = 1; byte_count && sge_no < vec->count; sge_no++) { | 548 | for (sge_no = 1; byte_count && sge_no < vec->count; sge_no++) { |
547 | sge_bytes = min_t(size_t, vec->sge[sge_no].iov_len, byte_count); | 549 | sge_bytes = min_t(size_t, vec->sge[sge_no].iov_len, byte_count); |
@@ -606,6 +608,7 @@ static int send_reply(struct svcxprt_rdma *rdma, | |||
606 | return 0; | 608 | return 0; |
607 | 609 | ||
608 | err: | 610 | err: |
611 | svc_rdma_unmap_dma(ctxt); | ||
609 | svc_rdma_put_frmr(rdma, vec->frmr); | 612 | svc_rdma_put_frmr(rdma, vec->frmr); |
610 | svc_rdma_put_context(ctxt, 1); | 613 | svc_rdma_put_context(ctxt, 1); |
611 | return -EIO; | 614 | return -EIO; |
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c index 3d810e7df3fb..5151f9f6c573 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c | |||
@@ -500,8 +500,8 @@ int svc_rdma_post_recv(struct svcxprt_rdma *xprt) | |||
500 | BUG_ON(sge_no >= xprt->sc_max_sge); | 500 | BUG_ON(sge_no >= xprt->sc_max_sge); |
501 | page = svc_rdma_get_page(); | 501 | page = svc_rdma_get_page(); |
502 | ctxt->pages[sge_no] = page; | 502 | ctxt->pages[sge_no] = page; |
503 | pa = ib_dma_map_page(xprt->sc_cm_id->device, | 503 | pa = ib_dma_map_single(xprt->sc_cm_id->device, |
504 | page, 0, PAGE_SIZE, | 504 | page_address(page), PAGE_SIZE, |
505 | DMA_FROM_DEVICE); | 505 | DMA_FROM_DEVICE); |
506 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, pa)) | 506 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, pa)) |
507 | goto err_put_ctxt; | 507 | goto err_put_ctxt; |
@@ -520,8 +520,9 @@ int svc_rdma_post_recv(struct svcxprt_rdma *xprt) | |||
520 | svc_xprt_get(&xprt->sc_xprt); | 520 | svc_xprt_get(&xprt->sc_xprt); |
521 | ret = ib_post_recv(xprt->sc_qp, &recv_wr, &bad_recv_wr); | 521 | ret = ib_post_recv(xprt->sc_qp, &recv_wr, &bad_recv_wr); |
522 | if (ret) { | 522 | if (ret) { |
523 | svc_xprt_put(&xprt->sc_xprt); | 523 | svc_rdma_unmap_dma(ctxt); |
524 | svc_rdma_put_context(ctxt, 1); | 524 | svc_rdma_put_context(ctxt, 1); |
525 | svc_xprt_put(&xprt->sc_xprt); | ||
525 | } | 526 | } |
526 | return ret; | 527 | return ret; |
527 | 528 | ||
@@ -1314,8 +1315,8 @@ void svc_rdma_send_error(struct svcxprt_rdma *xprt, struct rpcrdma_msg *rmsgp, | |||
1314 | length = svc_rdma_xdr_encode_error(xprt, rmsgp, err, va); | 1315 | length = svc_rdma_xdr_encode_error(xprt, rmsgp, err, va); |
1315 | 1316 | ||
1316 | /* Prepare SGE for local address */ | 1317 | /* Prepare SGE for local address */ |
1317 | sge.addr = ib_dma_map_page(xprt->sc_cm_id->device, | 1318 | sge.addr = ib_dma_map_single(xprt->sc_cm_id->device, |
1318 | p, 0, PAGE_SIZE, DMA_FROM_DEVICE); | 1319 | page_address(p), PAGE_SIZE, DMA_FROM_DEVICE); |
1319 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, sge.addr)) { | 1320 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, sge.addr)) { |
1320 | put_page(p); | 1321 | put_page(p); |
1321 | return; | 1322 | return; |
@@ -1342,7 +1343,7 @@ void svc_rdma_send_error(struct svcxprt_rdma *xprt, struct rpcrdma_msg *rmsgp, | |||
1342 | if (ret) { | 1343 | if (ret) { |
1343 | dprintk("svcrdma: Error %d posting send for protocol error\n", | 1344 | dprintk("svcrdma: Error %d posting send for protocol error\n", |
1344 | ret); | 1345 | ret); |
1345 | ib_dma_unmap_page(xprt->sc_cm_id->device, | 1346 | ib_dma_unmap_single(xprt->sc_cm_id->device, |
1346 | sge.addr, PAGE_SIZE, | 1347 | sge.addr, PAGE_SIZE, |
1347 | DMA_FROM_DEVICE); | 1348 | DMA_FROM_DEVICE); |
1348 | svc_rdma_put_context(ctxt, 1); | 1349 | svc_rdma_put_context(ctxt, 1); |
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index 3b21e0cc5e69..465aafc2007f 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c | |||
@@ -1495,7 +1495,8 @@ rpcrdma_register_frmr_external(struct rpcrdma_mr_seg *seg, | |||
1495 | frmr_wr.wr.fast_reg.page_shift = PAGE_SHIFT; | 1495 | frmr_wr.wr.fast_reg.page_shift = PAGE_SHIFT; |
1496 | frmr_wr.wr.fast_reg.length = i << PAGE_SHIFT; | 1496 | frmr_wr.wr.fast_reg.length = i << PAGE_SHIFT; |
1497 | frmr_wr.wr.fast_reg.access_flags = (writing ? | 1497 | frmr_wr.wr.fast_reg.access_flags = (writing ? |
1498 | IB_ACCESS_REMOTE_WRITE : IB_ACCESS_REMOTE_READ); | 1498 | IB_ACCESS_REMOTE_WRITE | IB_ACCESS_LOCAL_WRITE : |
1499 | IB_ACCESS_REMOTE_READ); | ||
1499 | frmr_wr.wr.fast_reg.rkey = seg1->mr_chunk.rl_mw->r.frmr.fr_mr->rkey; | 1500 | frmr_wr.wr.fast_reg.rkey = seg1->mr_chunk.rl_mw->r.frmr.fr_mr->rkey; |
1500 | DECR_CQCOUNT(&r_xprt->rx_ep); | 1501 | DECR_CQCOUNT(&r_xprt->rx_ep); |
1501 | 1502 | ||
diff --git a/net/wimax/op-msg.c b/net/wimax/op-msg.c index 5d149c1b5f0d..9ad4d893a566 100644 --- a/net/wimax/op-msg.c +++ b/net/wimax/op-msg.c | |||
@@ -149,7 +149,8 @@ struct sk_buff *wimax_msg_alloc(struct wimax_dev *wimax_dev, | |||
149 | } | 149 | } |
150 | result = nla_put(skb, WIMAX_GNL_MSG_DATA, size, msg); | 150 | result = nla_put(skb, WIMAX_GNL_MSG_DATA, size, msg); |
151 | if (result < 0) { | 151 | if (result < 0) { |
152 | dev_err(dev, "no memory to add payload in attribute\n"); | 152 | dev_err(dev, "no memory to add payload (msg %p size %zu) in " |
153 | "attribute: %d\n", msg, size, result); | ||
153 | goto error_nla_put; | 154 | goto error_nla_put; |
154 | } | 155 | } |
155 | genlmsg_end(skb, genl_msg); | 156 | genlmsg_end(skb, genl_msg); |
@@ -299,10 +300,10 @@ int wimax_msg(struct wimax_dev *wimax_dev, const char *pipe_name, | |||
299 | struct sk_buff *skb; | 300 | struct sk_buff *skb; |
300 | 301 | ||
301 | skb = wimax_msg_alloc(wimax_dev, pipe_name, buf, size, gfp_flags); | 302 | skb = wimax_msg_alloc(wimax_dev, pipe_name, buf, size, gfp_flags); |
302 | if (skb == NULL) | 303 | if (IS_ERR(skb)) |
303 | goto error_msg_new; | 304 | result = PTR_ERR(skb); |
304 | result = wimax_msg_send(wimax_dev, skb); | 305 | else |
305 | error_msg_new: | 306 | result = wimax_msg_send(wimax_dev, skb); |
306 | return result; | 307 | return result; |
307 | } | 308 | } |
308 | EXPORT_SYMBOL_GPL(wimax_msg); | 309 | EXPORT_SYMBOL_GPL(wimax_msg); |
diff --git a/net/wimax/stack.c b/net/wimax/stack.c index a0ee76b52510..933e1422b09f 100644 --- a/net/wimax/stack.c +++ b/net/wimax/stack.c | |||
@@ -338,8 +338,21 @@ out: | |||
338 | */ | 338 | */ |
339 | void wimax_state_change(struct wimax_dev *wimax_dev, enum wimax_st new_state) | 339 | void wimax_state_change(struct wimax_dev *wimax_dev, enum wimax_st new_state) |
340 | { | 340 | { |
341 | /* | ||
342 | * A driver cannot take the wimax_dev out of the | ||
343 | * __WIMAX_ST_NULL state unless by calling wimax_dev_add(). If | ||
344 | * the wimax_dev's state is still NULL, we ignore any request | ||
345 | * to change its state because it means it hasn't been yet | ||
346 | * registered. | ||
347 | * | ||
348 | * There is no need to complain about it, as routines that | ||
349 | * call this might be shared from different code paths that | ||
350 | * are called before or after wimax_dev_add() has done its | ||
351 | * job. | ||
352 | */ | ||
341 | mutex_lock(&wimax_dev->mutex); | 353 | mutex_lock(&wimax_dev->mutex); |
342 | __wimax_state_change(wimax_dev, new_state); | 354 | if (wimax_dev->state > __WIMAX_ST_NULL) |
355 | __wimax_state_change(wimax_dev, new_state); | ||
343 | mutex_unlock(&wimax_dev->mutex); | 356 | mutex_unlock(&wimax_dev->mutex); |
344 | return; | 357 | return; |
345 | } | 358 | } |
@@ -376,7 +389,7 @@ EXPORT_SYMBOL_GPL(wimax_state_get); | |||
376 | void wimax_dev_init(struct wimax_dev *wimax_dev) | 389 | void wimax_dev_init(struct wimax_dev *wimax_dev) |
377 | { | 390 | { |
378 | INIT_LIST_HEAD(&wimax_dev->id_table_node); | 391 | INIT_LIST_HEAD(&wimax_dev->id_table_node); |
379 | __wimax_state_set(wimax_dev, WIMAX_ST_UNINITIALIZED); | 392 | __wimax_state_set(wimax_dev, __WIMAX_ST_NULL); |
380 | mutex_init(&wimax_dev->mutex); | 393 | mutex_init(&wimax_dev->mutex); |
381 | mutex_init(&wimax_dev->mutex_reset); | 394 | mutex_init(&wimax_dev->mutex_reset); |
382 | } | 395 | } |
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 6c1993d99902..487cb627ddba 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c | |||
@@ -907,6 +907,7 @@ EXPORT_SYMBOL(freq_reg_info); | |||
907 | int freq_reg_info(struct wiphy *wiphy, u32 center_freq, u32 *bandwidth, | 907 | int freq_reg_info(struct wiphy *wiphy, u32 center_freq, u32 *bandwidth, |
908 | const struct ieee80211_reg_rule **reg_rule) | 908 | const struct ieee80211_reg_rule **reg_rule) |
909 | { | 909 | { |
910 | assert_cfg80211_lock(); | ||
910 | return freq_reg_info_regd(wiphy, center_freq, | 911 | return freq_reg_info_regd(wiphy, center_freq, |
911 | bandwidth, reg_rule, NULL); | 912 | bandwidth, reg_rule, NULL); |
912 | } | 913 | } |
@@ -1133,7 +1134,8 @@ static bool reg_is_world_roaming(struct wiphy *wiphy) | |||
1133 | if (is_world_regdom(cfg80211_regdomain->alpha2) || | 1134 | if (is_world_regdom(cfg80211_regdomain->alpha2) || |
1134 | (wiphy->regd && is_world_regdom(wiphy->regd->alpha2))) | 1135 | (wiphy->regd && is_world_regdom(wiphy->regd->alpha2))) |
1135 | return true; | 1136 | return true; |
1136 | if (last_request->initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE && | 1137 | if (last_request && |
1138 | last_request->initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE && | ||
1137 | wiphy->custom_regulatory) | 1139 | wiphy->custom_regulatory) |
1138 | return true; | 1140 | return true; |
1139 | return false; | 1141 | return false; |
@@ -1142,6 +1144,12 @@ static bool reg_is_world_roaming(struct wiphy *wiphy) | |||
1142 | /* Reap the advantages of previously found beacons */ | 1144 | /* Reap the advantages of previously found beacons */ |
1143 | static void reg_process_beacons(struct wiphy *wiphy) | 1145 | static void reg_process_beacons(struct wiphy *wiphy) |
1144 | { | 1146 | { |
1147 | /* | ||
1148 | * Means we are just firing up cfg80211, so no beacons would | ||
1149 | * have been processed yet. | ||
1150 | */ | ||
1151 | if (!last_request) | ||
1152 | return; | ||
1145 | if (!reg_is_world_roaming(wiphy)) | 1153 | if (!reg_is_world_roaming(wiphy)) |
1146 | return; | 1154 | return; |
1147 | wiphy_update_beacon_reg(wiphy); | 1155 | wiphy_update_beacon_reg(wiphy); |
@@ -1176,6 +1184,8 @@ static void handle_channel_custom(struct wiphy *wiphy, | |||
1176 | struct ieee80211_supported_band *sband; | 1184 | struct ieee80211_supported_band *sband; |
1177 | struct ieee80211_channel *chan; | 1185 | struct ieee80211_channel *chan; |
1178 | 1186 | ||
1187 | assert_cfg80211_lock(); | ||
1188 | |||
1179 | sband = wiphy->bands[band]; | 1189 | sband = wiphy->bands[band]; |
1180 | BUG_ON(chan_idx >= sband->n_channels); | 1190 | BUG_ON(chan_idx >= sband->n_channels); |
1181 | chan = &sband->channels[chan_idx]; | 1191 | chan = &sband->channels[chan_idx]; |
@@ -1214,10 +1224,13 @@ void wiphy_apply_custom_regulatory(struct wiphy *wiphy, | |||
1214 | const struct ieee80211_regdomain *regd) | 1224 | const struct ieee80211_regdomain *regd) |
1215 | { | 1225 | { |
1216 | enum ieee80211_band band; | 1226 | enum ieee80211_band band; |
1227 | |||
1228 | mutex_lock(&cfg80211_mutex); | ||
1217 | for (band = 0; band < IEEE80211_NUM_BANDS; band++) { | 1229 | for (band = 0; band < IEEE80211_NUM_BANDS; band++) { |
1218 | if (wiphy->bands[band]) | 1230 | if (wiphy->bands[band]) |
1219 | handle_band_custom(wiphy, band, regd); | 1231 | handle_band_custom(wiphy, band, regd); |
1220 | } | 1232 | } |
1233 | mutex_unlock(&cfg80211_mutex); | ||
1221 | } | 1234 | } |
1222 | EXPORT_SYMBOL(wiphy_apply_custom_regulatory); | 1235 | EXPORT_SYMBOL(wiphy_apply_custom_regulatory); |
1223 | 1236 | ||
@@ -1423,7 +1436,7 @@ new_request: | |||
1423 | return call_crda(last_request->alpha2); | 1436 | return call_crda(last_request->alpha2); |
1424 | } | 1437 | } |
1425 | 1438 | ||
1426 | /* This currently only processes user and driver regulatory hints */ | 1439 | /* This processes *all* regulatory hints */ |
1427 | static void reg_process_hint(struct regulatory_request *reg_request) | 1440 | static void reg_process_hint(struct regulatory_request *reg_request) |
1428 | { | 1441 | { |
1429 | int r = 0; | 1442 | int r = 0; |
@@ -1538,6 +1551,13 @@ static int regulatory_hint_core(const char *alpha2) | |||
1538 | 1551 | ||
1539 | queue_regulatory_request(request); | 1552 | queue_regulatory_request(request); |
1540 | 1553 | ||
1554 | /* | ||
1555 | * This ensures last_request is populated once modules | ||
1556 | * come swinging in and calling regulatory hints and | ||
1557 | * wiphy_apply_custom_regulatory(). | ||
1558 | */ | ||
1559 | flush_scheduled_work(); | ||
1560 | |||
1541 | return 0; | 1561 | return 0; |
1542 | } | 1562 | } |
1543 | 1563 | ||
diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 2ae65b39b529..1f260c40b6ca 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c | |||
@@ -395,6 +395,7 @@ cfg80211_bss_update(struct cfg80211_registered_device *dev, | |||
395 | memcpy(ies, res->pub.information_elements, ielen); | 395 | memcpy(ies, res->pub.information_elements, ielen); |
396 | found->ies_allocated = true; | 396 | found->ies_allocated = true; |
397 | found->pub.information_elements = ies; | 397 | found->pub.information_elements = ies; |
398 | found->pub.len_information_elements = ielen; | ||
398 | } | 399 | } |
399 | } | 400 | } |
400 | } | 401 | } |
diff --git a/net/wireless/wext.c b/net/wireless/wext.c index cb6a5bb85d80..0e59f9ae9b81 100644 --- a/net/wireless/wext.c +++ b/net/wireless/wext.c | |||
@@ -786,6 +786,13 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd, | |||
786 | err = -EFAULT; | 786 | err = -EFAULT; |
787 | goto out; | 787 | goto out; |
788 | } | 788 | } |
789 | |||
790 | if (cmd == SIOCSIWENCODEEXT) { | ||
791 | struct iw_encode_ext *ee = (void *) extra; | ||
792 | |||
793 | if (iwp->length < sizeof(*ee) + ee->key_len) | ||
794 | return -EFAULT; | ||
795 | } | ||
789 | } | 796 | } |
790 | 797 | ||
791 | err = handler(dev, info, (union iwreq_data *) iwp, extra); | 798 | err = handler(dev, info, (union iwreq_data *) iwp, extra); |
diff --git a/scripts/setlocalversion b/scripts/setlocalversion index 32c8554f3946..00790472f641 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion | |||
@@ -1,5 +1,13 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # Print additional version information for non-release trees. | 2 | # |
3 | # This scripts adds local version information from the version | ||
4 | # control systems git, mercurial (hg) and subversion (svn). | ||
5 | # | ||
6 | # If something goes wrong, send a mail the kernel build mailinglist | ||
7 | # (see MAINTAINERS) and CC Nico Schottelius | ||
8 | # <nico-linuxsetlocalversion -at- schottelius.org>. | ||
9 | # | ||
10 | # | ||
3 | 11 | ||
4 | usage() { | 12 | usage() { |
5 | echo "Usage: $0 [srctree]" >&2 | 13 | echo "Usage: $0 [srctree]" >&2 |
@@ -10,12 +18,20 @@ cd "${1:-.}" || usage | |||
10 | 18 | ||
11 | # Check for git and a git repo. | 19 | # Check for git and a git repo. |
12 | if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then | 20 | if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then |
13 | # Do we have an untagged tag? | 21 | |
14 | if atag=`git describe 2>/dev/null`; then | 22 | # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore it, |
15 | echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' | 23 | # because this version is defined in the top level Makefile. |
16 | # add -g${head}, if there is no usable tag | 24 | if [ -z "`git describe --exact-match 2>/dev/null`" ]; then |
17 | else | 25 | |
18 | printf '%s%s' -g $head | 26 | # If we are past a tagged commit (like "v2.6.30-rc5-302-g72357d5"), |
27 | # we pretty print it. | ||
28 | if atag="`git describe 2>/dev/null`"; then | ||
29 | echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' | ||
30 | |||
31 | # If we don't have a tag at all we print -g{commitish}. | ||
32 | else | ||
33 | printf '%s%s' -g $head | ||
34 | fi | ||
19 | fi | 35 | fi |
20 | 36 | ||
21 | # Is this git on svn? | 37 | # Is this git on svn? |
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c index d4d41b3efc7c..ddfb9cccf468 100644 --- a/security/tomoyo/common.c +++ b/security/tomoyo/common.c | |||
@@ -1720,14 +1720,14 @@ static bool tomoyo_policy_loader_exists(void) | |||
1720 | * policies are not loaded yet. | 1720 | * policies are not loaded yet. |
1721 | * Thus, let do_execve() call this function everytime. | 1721 | * Thus, let do_execve() call this function everytime. |
1722 | */ | 1722 | */ |
1723 | struct nameidata nd; | 1723 | struct path path; |
1724 | 1724 | ||
1725 | if (path_lookup(tomoyo_loader, LOOKUP_FOLLOW, &nd)) { | 1725 | if (kern_path(tomoyo_loader, LOOKUP_FOLLOW, &path)) { |
1726 | printk(KERN_INFO "Not activating Mandatory Access Control now " | 1726 | printk(KERN_INFO "Not activating Mandatory Access Control now " |
1727 | "since %s doesn't exist.\n", tomoyo_loader); | 1727 | "since %s doesn't exist.\n", tomoyo_loader); |
1728 | return false; | 1728 | return false; |
1729 | } | 1729 | } |
1730 | path_put(&nd.path); | 1730 | path_put(&path); |
1731 | return true; | 1731 | return true; |
1732 | } | 1732 | } |
1733 | 1733 | ||
diff --git a/security/tomoyo/realpath.c b/security/tomoyo/realpath.c index bf8e2b451687..40927a84cb6e 100644 --- a/security/tomoyo/realpath.c +++ b/security/tomoyo/realpath.c | |||
@@ -165,11 +165,11 @@ char *tomoyo_realpath_from_path(struct path *path) | |||
165 | */ | 165 | */ |
166 | char *tomoyo_realpath(const char *pathname) | 166 | char *tomoyo_realpath(const char *pathname) |
167 | { | 167 | { |
168 | struct nameidata nd; | 168 | struct path path; |
169 | 169 | ||
170 | if (pathname && path_lookup(pathname, LOOKUP_FOLLOW, &nd) == 0) { | 170 | if (pathname && kern_path(pathname, LOOKUP_FOLLOW, &path) == 0) { |
171 | char *buf = tomoyo_realpath_from_path(&nd.path); | 171 | char *buf = tomoyo_realpath_from_path(&path); |
172 | path_put(&nd.path); | 172 | path_put(&path); |
173 | return buf; | 173 | return buf; |
174 | } | 174 | } |
175 | return NULL; | 175 | return NULL; |
@@ -184,11 +184,11 @@ char *tomoyo_realpath(const char *pathname) | |||
184 | */ | 184 | */ |
185 | char *tomoyo_realpath_nofollow(const char *pathname) | 185 | char *tomoyo_realpath_nofollow(const char *pathname) |
186 | { | 186 | { |
187 | struct nameidata nd; | 187 | struct path path; |
188 | 188 | ||
189 | if (pathname && path_lookup(pathname, 0, &nd) == 0) { | 189 | if (pathname && kern_path(pathname, 0, &path) == 0) { |
190 | char *buf = tomoyo_realpath_from_path(&nd.path); | 190 | char *buf = tomoyo_realpath_from_path(&path); |
191 | path_put(&nd.path); | 191 | path_put(&path); |
192 | return buf; | 192 | return buf; |
193 | } | 193 | } |
194 | return NULL; | 194 | return NULL; |
diff --git a/security/tomoyo/tomoyo.c b/security/tomoyo/tomoyo.c index 5b481912752a..e42be5c4f055 100644 --- a/security/tomoyo/tomoyo.c +++ b/security/tomoyo/tomoyo.c | |||
@@ -27,6 +27,12 @@ static int tomoyo_cred_prepare(struct cred *new, const struct cred *old, | |||
27 | 27 | ||
28 | static int tomoyo_bprm_set_creds(struct linux_binprm *bprm) | 28 | static int tomoyo_bprm_set_creds(struct linux_binprm *bprm) |
29 | { | 29 | { |
30 | int rc; | ||
31 | |||
32 | rc = cap_bprm_set_creds(bprm); | ||
33 | if (rc) | ||
34 | return rc; | ||
35 | |||
30 | /* | 36 | /* |
31 | * Do only if this function is called for the first time of an execve | 37 | * Do only if this function is called for the first time of an execve |
32 | * operation. | 38 | * operation. |
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c index 7fbd68fab944..5c48e36038f2 100644 --- a/sound/arm/aaci.c +++ b/sound/arm/aaci.c | |||
@@ -1074,7 +1074,7 @@ static unsigned int __devinit aaci_size_fifo(struct aaci *aaci) | |||
1074 | return i; | 1074 | return i; |
1075 | } | 1075 | } |
1076 | 1076 | ||
1077 | static int __devinit aaci_probe(struct amba_device *dev, void *id) | 1077 | static int __devinit aaci_probe(struct amba_device *dev, struct amba_id *id) |
1078 | { | 1078 | { |
1079 | struct aaci *aaci; | 1079 | struct aaci *aaci; |
1080 | int ret, i; | 1080 | int ret, i; |
diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c index a2c12d105c9a..6fdca97186e7 100644 --- a/sound/arm/pxa2xx-ac97-lib.c +++ b/sound/arm/pxa2xx-ac97-lib.c | |||
@@ -65,7 +65,7 @@ static void set_resetgpio_mode(int resetgpio_action) | |||
65 | switch (resetgpio_action) { | 65 | switch (resetgpio_action) { |
66 | case RESETGPIO_NORMAL_ALTFUNC: | 66 | case RESETGPIO_NORMAL_ALTFUNC: |
67 | if (reset_gpio == 113) | 67 | if (reset_gpio == 113) |
68 | mode = 113 | GPIO_OUT | GPIO_DFLT_LOW; | 68 | mode = 113 | GPIO_ALT_FN_2_OUT; |
69 | if (reset_gpio == 95) | 69 | if (reset_gpio == 95) |
70 | mode = 95 | GPIO_ALT_FN_1_OUT; | 70 | mode = 95 | GPIO_ALT_FN_1_OUT; |
71 | break; | 71 | break; |
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index a2a792c18c40..d659995ac3ac 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c | |||
@@ -249,6 +249,11 @@ static int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *substream) | |||
249 | new_hw_ptr = hw_base + pos; | 249 | new_hw_ptr = hw_base + pos; |
250 | } | 250 | } |
251 | } | 251 | } |
252 | |||
253 | /* Do jiffies check only in xrun_debug mode */ | ||
254 | if (!xrun_debug(substream)) | ||
255 | goto no_jiffies_check; | ||
256 | |||
252 | /* Skip the jiffies check for hardwares with BATCH flag. | 257 | /* Skip the jiffies check for hardwares with BATCH flag. |
253 | * Such hardware usually just increases the position at each IRQ, | 258 | * Such hardware usually just increases the position at each IRQ, |
254 | * thus it can't give any strange position. | 259 | * thus it can't give any strange position. |
@@ -336,7 +341,9 @@ int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream) | |||
336 | hw_base = 0; | 341 | hw_base = 0; |
337 | new_hw_ptr = hw_base + pos; | 342 | new_hw_ptr = hw_base + pos; |
338 | } | 343 | } |
339 | if (((delta * HZ) / runtime->rate) > jdelta + HZ/100) { | 344 | /* Do jiffies check only in xrun_debug mode */ |
345 | if (xrun_debug(substream) && | ||
346 | ((delta * HZ) / runtime->rate) > jdelta + HZ/100) { | ||
340 | hw_ptr_error(substream, | 347 | hw_ptr_error(substream, |
341 | "hw_ptr skipping! " | 348 | "hw_ptr skipping! " |
342 | "(pos=%ld, delta=%ld, period=%ld, jdelta=%lu/%lu)\n", | 349 | "(pos=%ld, delta=%ld, period=%ld, jdelta=%lu/%lu)\n", |
@@ -1478,7 +1485,6 @@ static int snd_pcm_lib_ioctl_reset(struct snd_pcm_substream *substream, | |||
1478 | runtime->status->hw_ptr %= runtime->buffer_size; | 1485 | runtime->status->hw_ptr %= runtime->buffer_size; |
1479 | else | 1486 | else |
1480 | runtime->status->hw_ptr = 0; | 1487 | runtime->status->hw_ptr = 0; |
1481 | runtime->hw_ptr_jiffies = jiffies; | ||
1482 | snd_pcm_stream_unlock_irqrestore(substream, flags); | 1488 | snd_pcm_stream_unlock_irqrestore(substream, flags); |
1483 | return 0; | 1489 | return 0; |
1484 | } | 1490 | } |
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index fc6f98e257df..b5da656d1ece 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c | |||
@@ -848,6 +848,7 @@ static void snd_pcm_post_start(struct snd_pcm_substream *substream, int state) | |||
848 | { | 848 | { |
849 | struct snd_pcm_runtime *runtime = substream->runtime; | 849 | struct snd_pcm_runtime *runtime = substream->runtime; |
850 | snd_pcm_trigger_tstamp(substream); | 850 | snd_pcm_trigger_tstamp(substream); |
851 | runtime->hw_ptr_jiffies = jiffies; | ||
851 | runtime->status->state = state; | 852 | runtime->status->state = state; |
852 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && | 853 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && |
853 | runtime->silence_size > 0) | 854 | runtime->silence_size > 0) |
@@ -961,6 +962,11 @@ static int snd_pcm_do_pause(struct snd_pcm_substream *substream, int push) | |||
961 | { | 962 | { |
962 | if (substream->runtime->trigger_master != substream) | 963 | if (substream->runtime->trigger_master != substream) |
963 | return 0; | 964 | return 0; |
965 | /* The jiffies check in snd_pcm_update_hw_ptr*() is done by | ||
966 | * a delta betwen the current jiffies, this gives a large enough | ||
967 | * delta, effectively to skip the check once. | ||
968 | */ | ||
969 | substream->runtime->hw_ptr_jiffies = jiffies - HZ * 1000; | ||
964 | return substream->ops->trigger(substream, | 970 | return substream->ops->trigger(substream, |
965 | push ? SNDRV_PCM_TRIGGER_PAUSE_PUSH : | 971 | push ? SNDRV_PCM_TRIGGER_PAUSE_PUSH : |
966 | SNDRV_PCM_TRIGGER_PAUSE_RELEASE); | 972 | SNDRV_PCM_TRIGGER_PAUSE_RELEASE); |
diff --git a/sound/drivers/pcsp/pcsp_mixer.c b/sound/drivers/pcsp/pcsp_mixer.c index caeb0f57fcca..199b03377142 100644 --- a/sound/drivers/pcsp/pcsp_mixer.c +++ b/sound/drivers/pcsp/pcsp_mixer.c | |||
@@ -50,8 +50,8 @@ static int pcsp_treble_info(struct snd_kcontrol *kcontrol, | |||
50 | uinfo->value.enumerated.items = chip->max_treble + 1; | 50 | uinfo->value.enumerated.items = chip->max_treble + 1; |
51 | if (uinfo->value.enumerated.item > chip->max_treble) | 51 | if (uinfo->value.enumerated.item > chip->max_treble) |
52 | uinfo->value.enumerated.item = chip->max_treble; | 52 | uinfo->value.enumerated.item = chip->max_treble; |
53 | sprintf(uinfo->value.enumerated.name, "%d", | 53 | sprintf(uinfo->value.enumerated.name, "%lu", |
54 | PCSP_CALC_RATE(uinfo->value.enumerated.item)); | 54 | (unsigned long)PCSP_CALC_RATE(uinfo->value.enumerated.item)); |
55 | return 0; | 55 | return 0; |
56 | } | 56 | } |
57 | 57 | ||
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c index b2b6d50c9425..a25fb7b1f441 100644 --- a/sound/drivers/serial-u16550.c +++ b/sound/drivers/serial-u16550.c | |||
@@ -963,16 +963,11 @@ static int __devinit snd_serial_probe(struct platform_device *devptr) | |||
963 | if (err < 0) | 963 | if (err < 0) |
964 | goto _err; | 964 | goto _err; |
965 | 965 | ||
966 | sprintf(card->longname, "%s at 0x%lx, irq %d speed %d div %d outs %d ins %d adaptor %s droponfull %d", | 966 | sprintf(card->longname, "%s [%s] at %#lx, irq %d", |
967 | card->shortname, | 967 | card->shortname, |
968 | uart->base, | ||
969 | uart->irq, | ||
970 | uart->speed, | ||
971 | (int)uart->divisor, | ||
972 | outs[dev], | ||
973 | ins[dev], | ||
974 | adaptor_names[uart->adaptor], | 968 | adaptor_names[uart->adaptor], |
975 | uart->drop_on_full); | 969 | uart->base, |
970 | uart->irq); | ||
976 | 971 | ||
977 | snd_card_set_dev(card, &devptr->dev); | 972 | snd_card_set_dev(card, &devptr->dev); |
978 | 973 | ||
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c index 81bc93e5f1e3..7337abdbe4e3 100644 --- a/sound/pci/ac97/ac97_patch.c +++ b/sound/pci/ac97/ac97_patch.c | |||
@@ -958,10 +958,13 @@ static int patch_sigmatel_stac9708_3d(struct snd_ac97 * ac97) | |||
958 | } | 958 | } |
959 | 959 | ||
960 | static const struct snd_kcontrol_new snd_ac97_sigmatel_4speaker = | 960 | static const struct snd_kcontrol_new snd_ac97_sigmatel_4speaker = |
961 | AC97_SINGLE("Sigmatel 4-Speaker Stereo Playback Switch", AC97_SIGMATEL_DAC2INVERT, 2, 1, 0); | 961 | AC97_SINGLE("Sigmatel 4-Speaker Stereo Playback Switch", |
962 | AC97_SIGMATEL_DAC2INVERT, 2, 1, 0); | ||
962 | 963 | ||
964 | /* "Sigmatel " removed due to excessive name length: */ | ||
963 | static const struct snd_kcontrol_new snd_ac97_sigmatel_phaseinvert = | 965 | static const struct snd_kcontrol_new snd_ac97_sigmatel_phaseinvert = |
964 | AC97_SINGLE("Sigmatel Surround Phase Inversion Playback Switch", AC97_SIGMATEL_DAC2INVERT, 3, 1, 0); | 966 | AC97_SINGLE("Surround Phase Inversion Playback Switch", |
967 | AC97_SIGMATEL_DAC2INVERT, 3, 1, 0); | ||
965 | 968 | ||
966 | static const struct snd_kcontrol_new snd_ac97_sigmatel_controls[] = { | 969 | static const struct snd_kcontrol_new snd_ac97_sigmatel_controls[] = { |
967 | AC97_SINGLE("Sigmatel DAC 6dB Attenuate", AC97_SIGMATEL_ANALOG, 1, 1, 0), | 970 | AC97_SINGLE("Sigmatel DAC 6dB Attenuate", AC97_SIGMATEL_ANALOG, 1, 1, 0), |
diff --git a/sound/pci/ca0106/ca0106_mixer.c b/sound/pci/ca0106/ca0106_mixer.c index ad2888705d2a..c111efe61c3c 100644 --- a/sound/pci/ca0106/ca0106_mixer.c +++ b/sound/pci/ca0106/ca0106_mixer.c | |||
@@ -800,7 +800,7 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu) | |||
800 | "Capture Volume", | 800 | "Capture Volume", |
801 | "External Amplifier", | 801 | "External Amplifier", |
802 | "Sigmatel 4-Speaker Stereo Playback Switch", | 802 | "Sigmatel 4-Speaker Stereo Playback Switch", |
803 | "Sigmatel Surround Phase Inversion Playback ", | 803 | "Surround Phase Inversion Playback Switch", |
804 | NULL | 804 | NULL |
805 | }; | 805 | }; |
806 | static char *ca0106_rename_ctls[] = { | 806 | static char *ca0106_rename_ctls[] = { |
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 21e99cfa8c49..3128e1a6bc65 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -2141,6 +2141,7 @@ static struct snd_pci_quirk probe_mask_list[] __devinitdata = { | |||
2141 | /* including bogus ALC268 in slot#2 that conflicts with ALC888 */ | 2141 | /* including bogus ALC268 in slot#2 that conflicts with ALC888 */ |
2142 | SND_PCI_QUIRK(0x17c0, 0x4085, "Medion MD96630", 0x01), | 2142 | SND_PCI_QUIRK(0x17c0, 0x4085, "Medion MD96630", 0x01), |
2143 | /* forced codec slots */ | 2143 | /* forced codec slots */ |
2144 | SND_PCI_QUIRK(0x1043, 0x1262, "ASUS W5Fm", 0x103), | ||
2144 | SND_PCI_QUIRK(0x1046, 0x1262, "ASUS W5F", 0x103), | 2145 | SND_PCI_QUIRK(0x1046, 0x1262, "ASUS W5F", 0x103), |
2145 | {} | 2146 | {} |
2146 | }; | 2147 | }; |
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 56ce19e68cb5..4fcbe21829ab 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c | |||
@@ -1848,6 +1848,7 @@ static const char *cxt5051_models[CXT5051_MODELS] = { | |||
1848 | 1848 | ||
1849 | static struct snd_pci_quirk cxt5051_cfg_tbl[] = { | 1849 | static struct snd_pci_quirk cxt5051_cfg_tbl[] = { |
1850 | SND_PCI_QUIRK(0x103c, 0x30cf, "HP DV6736", CXT5051_HP_DV6736), | 1850 | SND_PCI_QUIRK(0x103c, 0x30cf, "HP DV6736", CXT5051_HP_DV6736), |
1851 | SND_PCI_QUIRK(0x103c, 0x360b, "Compaq Presario CQ60", CXT5051_HP), | ||
1851 | SND_PCI_QUIRK(0x14f1, 0x0101, "Conexant Reference board", | 1852 | SND_PCI_QUIRK(0x14f1, 0x0101, "Conexant Reference board", |
1852 | CXT5051_LAPTOP), | 1853 | CXT5051_LAPTOP), |
1853 | SND_PCI_QUIRK(0x14f1, 0x5051, "HP Spartan 1.1", CXT5051_HP), | 1854 | SND_PCI_QUIRK(0x14f1, 0x5051, "HP Spartan 1.1", CXT5051_HP), |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index b8a0d3e79272..0fd258eba3a5 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -776,6 +776,12 @@ static void alc_set_input_pin(struct hda_codec *codec, hda_nid_t nid, | |||
776 | pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT; | 776 | pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT; |
777 | if (pincap & AC_PINCAP_VREF_80) | 777 | if (pincap & AC_PINCAP_VREF_80) |
778 | val = PIN_VREF80; | 778 | val = PIN_VREF80; |
779 | else if (pincap & AC_PINCAP_VREF_50) | ||
780 | val = PIN_VREF50; | ||
781 | else if (pincap & AC_PINCAP_VREF_100) | ||
782 | val = PIN_VREF100; | ||
783 | else if (pincap & AC_PINCAP_VREF_GRD) | ||
784 | val = PIN_VREFGRD; | ||
779 | } | 785 | } |
780 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val); | 786 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val); |
781 | } | 787 | } |
@@ -12058,6 +12064,7 @@ static struct snd_pci_quirk alc268_cfg_tbl[] = { | |||
12058 | SND_PCI_QUIRK(0x1028, 0x0253, "Dell OEM", ALC268_DELL), | 12064 | SND_PCI_QUIRK(0x1028, 0x0253, "Dell OEM", ALC268_DELL), |
12059 | SND_PCI_QUIRK(0x1028, 0x02b0, "Dell Inspiron Mini9", ALC268_DELL), | 12065 | SND_PCI_QUIRK(0x1028, 0x02b0, "Dell Inspiron Mini9", ALC268_DELL), |
12060 | SND_PCI_QUIRK(0x103c, 0x30cc, "TOSHIBA", ALC268_TOSHIBA), | 12066 | SND_PCI_QUIRK(0x103c, 0x30cc, "TOSHIBA", ALC268_TOSHIBA), |
12067 | SND_PCI_QUIRK(0x103c, 0x30f1, "HP TX25xx series", ALC268_TOSHIBA), | ||
12061 | SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC268_3ST), | 12068 | SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC268_3ST), |
12062 | SND_PCI_QUIRK(0x1179, 0xff10, "TOSHIBA A205", ALC268_TOSHIBA), | 12069 | SND_PCI_QUIRK(0x1179, 0xff10, "TOSHIBA A205", ALC268_TOSHIBA), |
12063 | SND_PCI_QUIRK(0x1179, 0xff50, "TOSHIBA A305", ALC268_TOSHIBA), | 12070 | SND_PCI_QUIRK(0x1179, 0xff50, "TOSHIBA A305", ALC268_TOSHIBA), |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 917bc5d3ac2c..d2fd8ef6aef8 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -150,6 +150,7 @@ enum { | |||
150 | STAC_D965_REF, | 150 | STAC_D965_REF, |
151 | STAC_D965_3ST, | 151 | STAC_D965_3ST, |
152 | STAC_D965_5ST, | 152 | STAC_D965_5ST, |
153 | STAC_D965_5ST_NO_FP, | ||
153 | STAC_DELL_3ST, | 154 | STAC_DELL_3ST, |
154 | STAC_DELL_BIOS, | 155 | STAC_DELL_BIOS, |
155 | STAC_927X_MODELS | 156 | STAC_927X_MODELS |
@@ -2154,6 +2155,13 @@ static unsigned int d965_5st_pin_configs[14] = { | |||
2154 | 0x40000100, 0x40000100 | 2155 | 0x40000100, 0x40000100 |
2155 | }; | 2156 | }; |
2156 | 2157 | ||
2158 | static unsigned int d965_5st_no_fp_pin_configs[14] = { | ||
2159 | 0x40000100, 0x40000100, 0x0181304e, 0x01014010, | ||
2160 | 0x01a19040, 0x01011012, 0x01016011, 0x40000100, | ||
2161 | 0x40000100, 0x40000100, 0x40000100, 0x01442070, | ||
2162 | 0x40000100, 0x40000100 | ||
2163 | }; | ||
2164 | |||
2157 | static unsigned int dell_3st_pin_configs[14] = { | 2165 | static unsigned int dell_3st_pin_configs[14] = { |
2158 | 0x02211230, 0x02a11220, 0x01a19040, 0x01114210, | 2166 | 0x02211230, 0x02a11220, 0x01a19040, 0x01114210, |
2159 | 0x01111212, 0x01116211, 0x01813050, 0x01112214, | 2167 | 0x01111212, 0x01116211, 0x01813050, 0x01112214, |
@@ -2166,6 +2174,7 @@ static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = { | |||
2166 | [STAC_D965_REF] = ref927x_pin_configs, | 2174 | [STAC_D965_REF] = ref927x_pin_configs, |
2167 | [STAC_D965_3ST] = d965_3st_pin_configs, | 2175 | [STAC_D965_3ST] = d965_3st_pin_configs, |
2168 | [STAC_D965_5ST] = d965_5st_pin_configs, | 2176 | [STAC_D965_5ST] = d965_5st_pin_configs, |
2177 | [STAC_D965_5ST_NO_FP] = d965_5st_no_fp_pin_configs, | ||
2169 | [STAC_DELL_3ST] = dell_3st_pin_configs, | 2178 | [STAC_DELL_3ST] = dell_3st_pin_configs, |
2170 | [STAC_DELL_BIOS] = NULL, | 2179 | [STAC_DELL_BIOS] = NULL, |
2171 | }; | 2180 | }; |
@@ -2176,6 +2185,7 @@ static const char *stac927x_models[STAC_927X_MODELS] = { | |||
2176 | [STAC_D965_REF] = "ref", | 2185 | [STAC_D965_REF] = "ref", |
2177 | [STAC_D965_3ST] = "3stack", | 2186 | [STAC_D965_3ST] = "3stack", |
2178 | [STAC_D965_5ST] = "5stack", | 2187 | [STAC_D965_5ST] = "5stack", |
2188 | [STAC_D965_5ST_NO_FP] = "5stack-no-fp", | ||
2179 | [STAC_DELL_3ST] = "dell-3stack", | 2189 | [STAC_DELL_3ST] = "dell-3stack", |
2180 | [STAC_DELL_BIOS] = "dell-bios", | 2190 | [STAC_DELL_BIOS] = "dell-bios", |
2181 | }; | 2191 | }; |
@@ -4079,7 +4089,12 @@ static int stac92xx_init(struct hda_codec *codec) | |||
4079 | pinctl = snd_hda_codec_read(codec, nid, 0, | 4089 | pinctl = snd_hda_codec_read(codec, nid, 0, |
4080 | AC_VERB_GET_PIN_WIDGET_CONTROL, 0); | 4090 | AC_VERB_GET_PIN_WIDGET_CONTROL, 0); |
4081 | /* if PINCTL already set then skip */ | 4091 | /* if PINCTL already set then skip */ |
4082 | if (!(pinctl & AC_PINCTL_IN_EN)) { | 4092 | /* Also, if both INPUT and OUTPUT are set, |
4093 | * it must be a BIOS bug; need to override, too | ||
4094 | */ | ||
4095 | if (!(pinctl & AC_PINCTL_IN_EN) || | ||
4096 | (pinctl & AC_PINCTL_OUT_EN)) { | ||
4097 | pinctl &= ~AC_PINCTL_OUT_EN; | ||
4083 | pinctl |= AC_PINCTL_IN_EN; | 4098 | pinctl |= AC_PINCTL_IN_EN; |
4084 | stac92xx_auto_set_pinctl(codec, nid, | 4099 | stac92xx_auto_set_pinctl(codec, nid, |
4085 | pinctl); | 4100 | pinctl); |
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c index 6f1034417a02..e51a5ef1954d 100644 --- a/sound/pci/riptide/riptide.c +++ b/sound/pci/riptide/riptide.c | |||
@@ -889,7 +889,7 @@ static int sendcmd(struct cmdif *cif, u32 flags, u32 cmd, u32 parm, | |||
889 | spin_lock_irqsave(&cif->lock, irqflags); | 889 | spin_lock_irqsave(&cif->lock, irqflags); |
890 | while (i++ < CMDIF_TIMEOUT && !IS_READY(cif->hwport)) | 890 | while (i++ < CMDIF_TIMEOUT && !IS_READY(cif->hwport)) |
891 | udelay(10); | 891 | udelay(10); |
892 | if (i >= CMDIF_TIMEOUT) { | 892 | if (i > CMDIF_TIMEOUT) { |
893 | err = -EBUSY; | 893 | err = -EBUSY; |
894 | goto errout; | 894 | goto errout; |
895 | } | 895 | } |
@@ -907,8 +907,10 @@ static int sendcmd(struct cmdif *cif, u32 flags, u32 cmd, u32 parm, | |||
907 | WRITE_PORT_ULONG(cmdport->data1, cmd); /* write cmd */ | 907 | WRITE_PORT_ULONG(cmdport->data1, cmd); /* write cmd */ |
908 | if ((flags & RESP) && ret) { | 908 | if ((flags & RESP) && ret) { |
909 | while (!IS_DATF(cmdport) && | 909 | while (!IS_DATF(cmdport) && |
910 | time++ < CMDIF_TIMEOUT) | 910 | time < CMDIF_TIMEOUT) { |
911 | udelay(10); | 911 | udelay(10); |
912 | time++; | ||
913 | } | ||
912 | if (time < CMDIF_TIMEOUT) { /* read response */ | 914 | if (time < CMDIF_TIMEOUT) { /* read response */ |
913 | ret->retlongs[0] = | 915 | ret->retlongs[0] = |
914 | READ_PORT_ULONG(cmdport->data1); | 916 | READ_PORT_ULONG(cmdport->data1); |
@@ -1454,7 +1456,7 @@ static int snd_riptide_trigger(struct snd_pcm_substream *substream, int cmd) | |||
1454 | SEND_GPOS(cif, 0, data->id, &rptr); | 1456 | SEND_GPOS(cif, 0, data->id, &rptr); |
1455 | udelay(1); | 1457 | udelay(1); |
1456 | } while (i != rptr.retlongs[1] && j++ < MAX_WRITE_RETRY); | 1458 | } while (i != rptr.retlongs[1] && j++ < MAX_WRITE_RETRY); |
1457 | if (j >= MAX_WRITE_RETRY) | 1459 | if (j > MAX_WRITE_RETRY) |
1458 | snd_printk(KERN_ERR "Riptide: Could not stop stream!"); | 1460 | snd_printk(KERN_ERR "Riptide: Could not stop stream!"); |
1459 | break; | 1461 | break; |
1460 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: | 1462 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: |
@@ -1783,7 +1785,7 @@ snd_riptide_codec_write(struct snd_ac97 *ac97, unsigned short reg, | |||
1783 | SEND_SACR(cif, val, reg); | 1785 | SEND_SACR(cif, val, reg); |
1784 | SEND_RACR(cif, reg, &rptr); | 1786 | SEND_RACR(cif, reg, &rptr); |
1785 | } while (rptr.retwords[1] != val && i++ < MAX_WRITE_RETRY); | 1787 | } while (rptr.retwords[1] != val && i++ < MAX_WRITE_RETRY); |
1786 | if (i == MAX_WRITE_RETRY) | 1788 | if (i > MAX_WRITE_RETRY) |
1787 | snd_printdd("Write AC97 reg failed\n"); | 1789 | snd_printdd("Write AC97 reg failed\n"); |
1788 | } | 1790 | } |
1789 | 1791 | ||
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c index 809b233dd4a3..1ef58c51c213 100644 --- a/sound/pci/via82xx.c +++ b/sound/pci/via82xx.c | |||
@@ -1687,7 +1687,7 @@ static int snd_via8233_pcmdxs_volume_put(struct snd_kcontrol *kcontrol, | |||
1687 | return change; | 1687 | return change; |
1688 | } | 1688 | } |
1689 | 1689 | ||
1690 | static const DECLARE_TLV_DB_SCALE(db_scale_dxs, -9450, 150, 1); | 1690 | static const DECLARE_TLV_DB_SCALE(db_scale_dxs, -4650, 150, 1); |
1691 | 1691 | ||
1692 | static struct snd_kcontrol_new snd_via8233_pcmdxs_volume_control __devinitdata = { | 1692 | static struct snd_kcontrol_new snd_via8233_pcmdxs_volume_control __devinitdata = { |
1693 | .name = "PCM Playback Volume", | 1693 | .name = "PCM Playback Volume", |
diff --git a/sound/soc/codecs/wm8990.c b/sound/soc/codecs/wm8990.c index c518c3e5aa3f..40cd274eb1ef 100644 --- a/sound/soc/codecs/wm8990.c +++ b/sound/soc/codecs/wm8990.c | |||
@@ -729,7 +729,7 @@ SND_SOC_DAPM_MIXER_E("INMIXL", WM8990_INTDRIVBITS, WM8990_INMIXL_PWR_BIT, 0, | |||
729 | inmixer_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), | 729 | inmixer_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), |
730 | 730 | ||
731 | /* AINLMUX */ | 731 | /* AINLMUX */ |
732 | SND_SOC_DAPM_MUX_E("AILNMUX", WM8990_INTDRIVBITS, WM8990_AINLMUX_PWR_BIT, 0, | 732 | SND_SOC_DAPM_MUX_E("AINLMUX", WM8990_INTDRIVBITS, WM8990_AINLMUX_PWR_BIT, 0, |
733 | &wm8990_dapm_ainlmux_controls, inmixer_event, | 733 | &wm8990_dapm_ainlmux_controls, inmixer_event, |
734 | SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), | 734 | SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), |
735 | 735 | ||
@@ -740,7 +740,7 @@ SND_SOC_DAPM_MIXER_E("INMIXR", WM8990_INTDRIVBITS, WM8990_INMIXR_PWR_BIT, 0, | |||
740 | inmixer_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), | 740 | inmixer_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), |
741 | 741 | ||
742 | /* AINRMUX */ | 742 | /* AINRMUX */ |
743 | SND_SOC_DAPM_MUX_E("AIRNMUX", WM8990_INTDRIVBITS, WM8990_AINRMUX_PWR_BIT, 0, | 743 | SND_SOC_DAPM_MUX_E("AINRMUX", WM8990_INTDRIVBITS, WM8990_AINRMUX_PWR_BIT, 0, |
744 | &wm8990_dapm_ainrmux_controls, inmixer_event, | 744 | &wm8990_dapm_ainrmux_controls, inmixer_event, |
745 | SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), | 745 | SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), |
746 | 746 | ||
@@ -848,40 +848,40 @@ static const struct snd_soc_dapm_route audio_map[] = { | |||
848 | {"LIN12 PGA", "LIN2 Switch", "LIN2"}, | 848 | {"LIN12 PGA", "LIN2 Switch", "LIN2"}, |
849 | /* LIN34 PGA */ | 849 | /* LIN34 PGA */ |
850 | {"LIN34 PGA", "LIN3 Switch", "LIN3"}, | 850 | {"LIN34 PGA", "LIN3 Switch", "LIN3"}, |
851 | {"LIN34 PGA", "LIN4 Switch", "LIN4"}, | 851 | {"LIN34 PGA", "LIN4 Switch", "LIN4/RXN"}, |
852 | /* INMIXL */ | 852 | /* INMIXL */ |
853 | {"INMIXL", "Record Left Volume", "LOMIX"}, | 853 | {"INMIXL", "Record Left Volume", "LOMIX"}, |
854 | {"INMIXL", "LIN2 Volume", "LIN2"}, | 854 | {"INMIXL", "LIN2 Volume", "LIN2"}, |
855 | {"INMIXL", "LINPGA12 Switch", "LIN12 PGA"}, | 855 | {"INMIXL", "LINPGA12 Switch", "LIN12 PGA"}, |
856 | {"INMIXL", "LINPGA34 Switch", "LIN34 PGA"}, | 856 | {"INMIXL", "LINPGA34 Switch", "LIN34 PGA"}, |
857 | /* AILNMUX */ | 857 | /* AINLMUX */ |
858 | {"AILNMUX", "INMIXL Mix", "INMIXL"}, | 858 | {"AINLMUX", "INMIXL Mix", "INMIXL"}, |
859 | {"AILNMUX", "DIFFINL Mix", "LIN12PGA"}, | 859 | {"AINLMUX", "DIFFINL Mix", "LIN12 PGA"}, |
860 | {"AILNMUX", "DIFFINL Mix", "LIN34PGA"}, | 860 | {"AINLMUX", "DIFFINL Mix", "LIN34 PGA"}, |
861 | {"AILNMUX", "RXVOICE Mix", "LIN4/RXN"}, | 861 | {"AINLMUX", "RXVOICE Mix", "LIN4/RXN"}, |
862 | {"AILNMUX", "RXVOICE Mix", "RIN4/RXP"}, | 862 | {"AINLMUX", "RXVOICE Mix", "RIN4/RXP"}, |
863 | /* ADC */ | 863 | /* ADC */ |
864 | {"Left ADC", NULL, "AILNMUX"}, | 864 | {"Left ADC", NULL, "AINLMUX"}, |
865 | 865 | ||
866 | /* RIN12 PGA */ | 866 | /* RIN12 PGA */ |
867 | {"RIN12 PGA", "RIN1 Switch", "RIN1"}, | 867 | {"RIN12 PGA", "RIN1 Switch", "RIN1"}, |
868 | {"RIN12 PGA", "RIN2 Switch", "RIN2"}, | 868 | {"RIN12 PGA", "RIN2 Switch", "RIN2"}, |
869 | /* RIN34 PGA */ | 869 | /* RIN34 PGA */ |
870 | {"RIN34 PGA", "RIN3 Switch", "RIN3"}, | 870 | {"RIN34 PGA", "RIN3 Switch", "RIN3"}, |
871 | {"RIN34 PGA", "RIN4 Switch", "RIN4"}, | 871 | {"RIN34 PGA", "RIN4 Switch", "RIN4/RXP"}, |
872 | /* INMIXL */ | 872 | /* INMIXL */ |
873 | {"INMIXR", "Record Right Volume", "ROMIX"}, | 873 | {"INMIXR", "Record Right Volume", "ROMIX"}, |
874 | {"INMIXR", "RIN2 Volume", "RIN2"}, | 874 | {"INMIXR", "RIN2 Volume", "RIN2"}, |
875 | {"INMIXR", "RINPGA12 Switch", "RIN12 PGA"}, | 875 | {"INMIXR", "RINPGA12 Switch", "RIN12 PGA"}, |
876 | {"INMIXR", "RINPGA34 Switch", "RIN34 PGA"}, | 876 | {"INMIXR", "RINPGA34 Switch", "RIN34 PGA"}, |
877 | /* AIRNMUX */ | 877 | /* AINRMUX */ |
878 | {"AIRNMUX", "INMIXR Mix", "INMIXR"}, | 878 | {"AINRMUX", "INMIXR Mix", "INMIXR"}, |
879 | {"AIRNMUX", "DIFFINR Mix", "RIN12PGA"}, | 879 | {"AINRMUX", "DIFFINR Mix", "RIN12 PGA"}, |
880 | {"AIRNMUX", "DIFFINR Mix", "RIN34PGA"}, | 880 | {"AINRMUX", "DIFFINR Mix", "RIN34 PGA"}, |
881 | {"AIRNMUX", "RXVOICE Mix", "RIN4/RXN"}, | 881 | {"AINRMUX", "RXVOICE Mix", "LIN4/RXN"}, |
882 | {"AIRNMUX", "RXVOICE Mix", "RIN4/RXP"}, | 882 | {"AINRMUX", "RXVOICE Mix", "RIN4/RXP"}, |
883 | /* ADC */ | 883 | /* ADC */ |
884 | {"Right ADC", NULL, "AIRNMUX"}, | 884 | {"Right ADC", NULL, "AINRMUX"}, |
885 | 885 | ||
886 | /* LOMIX */ | 886 | /* LOMIX */ |
887 | {"LOMIX", "LOMIX RIN3 Bypass Switch", "RIN3"}, | 887 | {"LOMIX", "LOMIX RIN3 Bypass Switch", "RIN3"}, |
@@ -922,7 +922,7 @@ static const struct snd_soc_dapm_route audio_map[] = { | |||
922 | {"LOPMIX", "LOPMIX Left Mixer PGA Switch", "LOPGA"}, | 922 | {"LOPMIX", "LOPMIX Left Mixer PGA Switch", "LOPGA"}, |
923 | 923 | ||
924 | /* OUT3MIX */ | 924 | /* OUT3MIX */ |
925 | {"OUT3MIX", "OUT3MIX LIN4/RXP Bypass Switch", "LIN4/RXP"}, | 925 | {"OUT3MIX", "OUT3MIX LIN4/RXP Bypass Switch", "LIN4/RXN"}, |
926 | {"OUT3MIX", "OUT3MIX Left Out PGA Switch", "LOPGA"}, | 926 | {"OUT3MIX", "OUT3MIX Left Out PGA Switch", "LOPGA"}, |
927 | 927 | ||
928 | /* OUT4MIX */ | 928 | /* OUT4MIX */ |
@@ -949,7 +949,7 @@ static const struct snd_soc_dapm_route audio_map[] = { | |||
949 | /* Output Pins */ | 949 | /* Output Pins */ |
950 | {"LON", NULL, "LONMIX"}, | 950 | {"LON", NULL, "LONMIX"}, |
951 | {"LOP", NULL, "LOPMIX"}, | 951 | {"LOP", NULL, "LOPMIX"}, |
952 | {"OUT", NULL, "OUT3MIX"}, | 952 | {"OUT3", NULL, "OUT3MIX"}, |
953 | {"LOUT", NULL, "LOUT PGA"}, | 953 | {"LOUT", NULL, "LOUT PGA"}, |
954 | {"SPKN", NULL, "SPKMIX"}, | 954 | {"SPKN", NULL, "SPKMIX"}, |
955 | {"ROUT", NULL, "ROUT PGA"}, | 955 | {"ROUT", NULL, "ROUT PGA"}, |
diff --git a/sound/soc/davinci/Kconfig b/sound/soc/davinci/Kconfig index bd7392c9657e..411a710be660 100644 --- a/sound/soc/davinci/Kconfig +++ b/sound/soc/davinci/Kconfig | |||
@@ -10,13 +10,14 @@ config SND_DAVINCI_SOC_I2S | |||
10 | tristate | 10 | tristate |
11 | 11 | ||
12 | config SND_DAVINCI_SOC_EVM | 12 | config SND_DAVINCI_SOC_EVM |
13 | tristate "SoC Audio support for DaVinci EVM" | 13 | tristate "SoC Audio support for DaVinci DM6446 or DM355 EVM" |
14 | depends on SND_DAVINCI_SOC && MACH_DAVINCI_EVM | 14 | depends on SND_DAVINCI_SOC |
15 | depends on MACH_DAVINCI_EVM || MACH_DAVINCI_DM355_EVM | ||
15 | select SND_DAVINCI_SOC_I2S | 16 | select SND_DAVINCI_SOC_I2S |
16 | select SND_SOC_TLV320AIC3X | 17 | select SND_SOC_TLV320AIC3X |
17 | help | 18 | help |
18 | Say Y if you want to add support for SoC audio on TI | 19 | Say Y if you want to add support for SoC audio on TI |
19 | DaVinci EVM platform. | 20 | DaVinci DM6446 or DM355 EVM platforms. |
20 | 21 | ||
21 | config SND_DAVINCI_SOC_SFFSDR | 22 | config SND_DAVINCI_SOC_SFFSDR |
22 | tristate "SoC Audio support for SFFSDR" | 23 | tristate "SoC Audio support for SFFSDR" |
diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c index 9b90b347007c..58fd1cbedd88 100644 --- a/sound/soc/davinci/davinci-evm.c +++ b/sound/soc/davinci/davinci-evm.c | |||
@@ -20,7 +20,11 @@ | |||
20 | #include <sound/soc-dapm.h> | 20 | #include <sound/soc-dapm.h> |
21 | 21 | ||
22 | #include <asm/dma.h> | 22 | #include <asm/dma.h> |
23 | #include <mach/hardware.h> | 23 | #include <asm/mach-types.h> |
24 | |||
25 | #include <mach/asp.h> | ||
26 | #include <mach/edma.h> | ||
27 | #include <mach/mux.h> | ||
24 | 28 | ||
25 | #include "../codecs/tlv320aic3x.h" | 29 | #include "../codecs/tlv320aic3x.h" |
26 | #include "davinci-pcm.h" | 30 | #include "davinci-pcm.h" |
@@ -150,7 +154,7 @@ static struct snd_soc_card snd_soc_card_evm = { | |||
150 | 154 | ||
151 | /* evm audio private data */ | 155 | /* evm audio private data */ |
152 | static struct aic3x_setup_data evm_aic3x_setup = { | 156 | static struct aic3x_setup_data evm_aic3x_setup = { |
153 | .i2c_bus = 0, | 157 | .i2c_bus = 1, |
154 | .i2c_address = 0x1b, | 158 | .i2c_address = 0x1b, |
155 | }; | 159 | }; |
156 | 160 | ||
@@ -161,36 +165,73 @@ static struct snd_soc_device evm_snd_devdata = { | |||
161 | .codec_data = &evm_aic3x_setup, | 165 | .codec_data = &evm_aic3x_setup, |
162 | }; | 166 | }; |
163 | 167 | ||
168 | /* DM6446 EVM uses ASP0; line-out is a pair of RCA jacks */ | ||
164 | static struct resource evm_snd_resources[] = { | 169 | static struct resource evm_snd_resources[] = { |
165 | { | 170 | { |
166 | .start = DAVINCI_MCBSP_BASE, | 171 | .start = DAVINCI_ASP0_BASE, |
167 | .end = DAVINCI_MCBSP_BASE + SZ_8K - 1, | 172 | .end = DAVINCI_ASP0_BASE + SZ_8K - 1, |
168 | .flags = IORESOURCE_MEM, | 173 | .flags = IORESOURCE_MEM, |
169 | }, | 174 | }, |
170 | }; | 175 | }; |
171 | 176 | ||
172 | static struct evm_snd_platform_data evm_snd_data = { | 177 | static struct evm_snd_platform_data evm_snd_data = { |
173 | .tx_dma_ch = DM644X_DMACH_MCBSP_TX, | 178 | .tx_dma_ch = DAVINCI_DMA_ASP0_TX, |
174 | .rx_dma_ch = DM644X_DMACH_MCBSP_RX, | 179 | .rx_dma_ch = DAVINCI_DMA_ASP0_RX, |
180 | }; | ||
181 | |||
182 | /* DM335 EVM uses ASP1; line-out is a stereo mini-jack */ | ||
183 | static struct resource dm335evm_snd_resources[] = { | ||
184 | { | ||
185 | .start = DAVINCI_ASP1_BASE, | ||
186 | .end = DAVINCI_ASP1_BASE + SZ_8K - 1, | ||
187 | .flags = IORESOURCE_MEM, | ||
188 | }, | ||
189 | }; | ||
190 | |||
191 | static struct evm_snd_platform_data dm335evm_snd_data = { | ||
192 | .tx_dma_ch = DAVINCI_DMA_ASP1_TX, | ||
193 | .rx_dma_ch = DAVINCI_DMA_ASP1_RX, | ||
175 | }; | 194 | }; |
176 | 195 | ||
177 | static struct platform_device *evm_snd_device; | 196 | static struct platform_device *evm_snd_device; |
178 | 197 | ||
179 | static int __init evm_init(void) | 198 | static int __init evm_init(void) |
180 | { | 199 | { |
200 | struct resource *resources; | ||
201 | unsigned num_resources; | ||
202 | struct evm_snd_platform_data *data; | ||
203 | int index; | ||
181 | int ret; | 204 | int ret; |
182 | 205 | ||
183 | evm_snd_device = platform_device_alloc("soc-audio", 0); | 206 | if (machine_is_davinci_evm()) { |
207 | davinci_cfg_reg(DM644X_MCBSP); | ||
208 | |||
209 | resources = evm_snd_resources; | ||
210 | num_resources = ARRAY_SIZE(evm_snd_resources); | ||
211 | data = &evm_snd_data; | ||
212 | index = 0; | ||
213 | } else if (machine_is_davinci_dm355_evm()) { | ||
214 | /* we don't use ASP1 IRQs, or we'd need to mux them ... */ | ||
215 | davinci_cfg_reg(DM355_EVT8_ASP1_TX); | ||
216 | davinci_cfg_reg(DM355_EVT9_ASP1_RX); | ||
217 | |||
218 | resources = dm335evm_snd_resources; | ||
219 | num_resources = ARRAY_SIZE(dm335evm_snd_resources); | ||
220 | data = &dm335evm_snd_data; | ||
221 | index = 1; | ||
222 | } else | ||
223 | return -EINVAL; | ||
224 | |||
225 | evm_snd_device = platform_device_alloc("soc-audio", index); | ||
184 | if (!evm_snd_device) | 226 | if (!evm_snd_device) |
185 | return -ENOMEM; | 227 | return -ENOMEM; |
186 | 228 | ||
187 | platform_set_drvdata(evm_snd_device, &evm_snd_devdata); | 229 | platform_set_drvdata(evm_snd_device, &evm_snd_devdata); |
188 | evm_snd_devdata.dev = &evm_snd_device->dev; | 230 | evm_snd_devdata.dev = &evm_snd_device->dev; |
189 | platform_device_add_data(evm_snd_device, &evm_snd_data, | 231 | platform_device_add_data(evm_snd_device, data, sizeof(*data)); |
190 | sizeof(evm_snd_data)); | ||
191 | 232 | ||
192 | ret = platform_device_add_resources(evm_snd_device, evm_snd_resources, | 233 | ret = platform_device_add_resources(evm_snd_device, resources, |
193 | ARRAY_SIZE(evm_snd_resources)); | 234 | num_resources); |
194 | if (ret) { | 235 | if (ret) { |
195 | platform_device_put(evm_snd_device); | 236 | platform_device_put(evm_snd_device); |
196 | return ret; | 237 | return ret; |
diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c index ffdb9439d3d8..b1ea52fc83c7 100644 --- a/sound/soc/davinci/davinci-i2s.c +++ b/sound/soc/davinci/davinci-i2s.c | |||
@@ -24,6 +24,26 @@ | |||
24 | 24 | ||
25 | #include "davinci-pcm.h" | 25 | #include "davinci-pcm.h" |
26 | 26 | ||
27 | |||
28 | /* | ||
29 | * NOTE: terminology here is confusing. | ||
30 | * | ||
31 | * - This driver supports the "Audio Serial Port" (ASP), | ||
32 | * found on dm6446, dm355, and other DaVinci chips. | ||
33 | * | ||
34 | * - But it labels it a "Multi-channel Buffered Serial Port" | ||
35 | * (McBSP) as on older chips like the dm642 ... which was | ||
36 | * backward-compatible, possibly explaining that confusion. | ||
37 | * | ||
38 | * - OMAP chips have a controller called McBSP, which is | ||
39 | * incompatible with the DaVinci flavor of McBSP. | ||
40 | * | ||
41 | * - Newer DaVinci chips have a controller called McASP, | ||
42 | * incompatible with ASP and with either McBSP. | ||
43 | * | ||
44 | * In short: this uses ASP to implement I2S, not McBSP. | ||
45 | * And it won't be the only DaVinci implemention of I2S. | ||
46 | */ | ||
27 | #define DAVINCI_MCBSP_DRR_REG 0x00 | 47 | #define DAVINCI_MCBSP_DRR_REG 0x00 |
28 | #define DAVINCI_MCBSP_DXR_REG 0x04 | 48 | #define DAVINCI_MCBSP_DXR_REG 0x04 |
29 | #define DAVINCI_MCBSP_SPCR_REG 0x08 | 49 | #define DAVINCI_MCBSP_SPCR_REG 0x08 |
@@ -421,7 +441,7 @@ static int davinci_i2s_probe(struct platform_device *pdev, | |||
421 | { | 441 | { |
422 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); | 442 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); |
423 | struct snd_soc_card *card = socdev->card; | 443 | struct snd_soc_card *card = socdev->card; |
424 | struct snd_soc_dai *cpu_dai = card->dai_link[pdev->id].cpu_dai; | 444 | struct snd_soc_dai *cpu_dai = card->dai_link->cpu_dai; |
425 | struct davinci_mcbsp_dev *dev; | 445 | struct davinci_mcbsp_dev *dev; |
426 | struct resource *mem, *ioarea; | 446 | struct resource *mem, *ioarea; |
427 | struct evm_snd_platform_data *pdata; | 447 | struct evm_snd_platform_data *pdata; |
@@ -448,7 +468,7 @@ static int davinci_i2s_probe(struct platform_device *pdev, | |||
448 | 468 | ||
449 | cpu_dai->private_data = dev; | 469 | cpu_dai->private_data = dev; |
450 | 470 | ||
451 | dev->clk = clk_get(&pdev->dev, "McBSPCLK"); | 471 | dev->clk = clk_get(&pdev->dev, NULL); |
452 | if (IS_ERR(dev->clk)) { | 472 | if (IS_ERR(dev->clk)) { |
453 | ret = -ENODEV; | 473 | ret = -ENODEV; |
454 | goto err_free_mem; | 474 | goto err_free_mem; |
@@ -483,7 +503,7 @@ static void davinci_i2s_remove(struct platform_device *pdev, | |||
483 | { | 503 | { |
484 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); | 504 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); |
485 | struct snd_soc_card *card = socdev->card; | 505 | struct snd_soc_card *card = socdev->card; |
486 | struct snd_soc_dai *cpu_dai = card->dai_link[pdev->id].cpu_dai; | 506 | struct snd_soc_dai *cpu_dai = card->dai_link->cpu_dai; |
487 | struct davinci_mcbsp_dev *dev = cpu_dai->private_data; | 507 | struct davinci_mcbsp_dev *dev = cpu_dai->private_data; |
488 | struct resource *mem; | 508 | struct resource *mem; |
489 | 509 | ||
diff --git a/sound/soc/davinci/davinci-pcm.c b/sound/soc/davinci/davinci-pcm.c index 7af3b5b3a53d..a05996588489 100644 --- a/sound/soc/davinci/davinci-pcm.c +++ b/sound/soc/davinci/davinci-pcm.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <sound/soc.h> | 22 | #include <sound/soc.h> |
23 | 23 | ||
24 | #include <asm/dma.h> | 24 | #include <asm/dma.h> |
25 | #include <mach/edma.h> | ||
25 | 26 | ||
26 | #include "davinci-pcm.h" | 27 | #include "davinci-pcm.h" |
27 | 28 | ||
@@ -51,7 +52,7 @@ struct davinci_runtime_data { | |||
51 | spinlock_t lock; | 52 | spinlock_t lock; |
52 | int period; /* current DMA period */ | 53 | int period; /* current DMA period */ |
53 | int master_lch; /* Master DMA channel */ | 54 | int master_lch; /* Master DMA channel */ |
54 | int slave_lch; /* Slave DMA channel */ | 55 | int slave_lch; /* linked parameter RAM reload slot */ |
55 | struct davinci_pcm_dma_params *params; /* DMA params */ | 56 | struct davinci_pcm_dma_params *params; /* DMA params */ |
56 | }; | 57 | }; |
57 | 58 | ||
@@ -90,18 +91,18 @@ static void davinci_pcm_enqueue_dma(struct snd_pcm_substream *substream) | |||
90 | dst_bidx = data_type; | 91 | dst_bidx = data_type; |
91 | } | 92 | } |
92 | 93 | ||
93 | davinci_set_dma_src_params(lch, src, INCR, W8BIT); | 94 | edma_set_src(lch, src, INCR, W8BIT); |
94 | davinci_set_dma_dest_params(lch, dst, INCR, W8BIT); | 95 | edma_set_dest(lch, dst, INCR, W8BIT); |
95 | davinci_set_dma_src_index(lch, src_bidx, 0); | 96 | edma_set_src_index(lch, src_bidx, 0); |
96 | davinci_set_dma_dest_index(lch, dst_bidx, 0); | 97 | edma_set_dest_index(lch, dst_bidx, 0); |
97 | davinci_set_dma_transfer_params(lch, data_type, count, 1, 0, ASYNC); | 98 | edma_set_transfer_params(lch, data_type, count, 1, 0, ASYNC); |
98 | 99 | ||
99 | prtd->period++; | 100 | prtd->period++; |
100 | if (unlikely(prtd->period >= runtime->periods)) | 101 | if (unlikely(prtd->period >= runtime->periods)) |
101 | prtd->period = 0; | 102 | prtd->period = 0; |
102 | } | 103 | } |
103 | 104 | ||
104 | static void davinci_pcm_dma_irq(int lch, u16 ch_status, void *data) | 105 | static void davinci_pcm_dma_irq(unsigned lch, u16 ch_status, void *data) |
105 | { | 106 | { |
106 | struct snd_pcm_substream *substream = data; | 107 | struct snd_pcm_substream *substream = data; |
107 | struct davinci_runtime_data *prtd = substream->runtime->private_data; | 108 | struct davinci_runtime_data *prtd = substream->runtime->private_data; |
@@ -125,7 +126,7 @@ static int davinci_pcm_dma_request(struct snd_pcm_substream *substream) | |||
125 | struct davinci_runtime_data *prtd = substream->runtime->private_data; | 126 | struct davinci_runtime_data *prtd = substream->runtime->private_data; |
126 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 127 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
127 | struct davinci_pcm_dma_params *dma_data = rtd->dai->cpu_dai->dma_data; | 128 | struct davinci_pcm_dma_params *dma_data = rtd->dai->cpu_dai->dma_data; |
128 | int tcc = TCC_ANY; | 129 | struct edmacc_param p_ram; |
129 | int ret; | 130 | int ret; |
130 | 131 | ||
131 | if (!dma_data) | 132 | if (!dma_data) |
@@ -134,22 +135,34 @@ static int davinci_pcm_dma_request(struct snd_pcm_substream *substream) | |||
134 | prtd->params = dma_data; | 135 | prtd->params = dma_data; |
135 | 136 | ||
136 | /* Request master DMA channel */ | 137 | /* Request master DMA channel */ |
137 | ret = davinci_request_dma(prtd->params->channel, prtd->params->name, | 138 | ret = edma_alloc_channel(prtd->params->channel, |
138 | davinci_pcm_dma_irq, substream, | 139 | davinci_pcm_dma_irq, substream, |
139 | &prtd->master_lch, &tcc, EVENTQ_0); | 140 | EVENTQ_0); |
140 | if (ret) | 141 | if (ret < 0) |
141 | return ret; | 142 | return ret; |
143 | prtd->master_lch = ret; | ||
142 | 144 | ||
143 | /* Request slave DMA channel */ | 145 | /* Request parameter RAM reload slot */ |
144 | ret = davinci_request_dma(PARAM_ANY, "Link", | 146 | ret = edma_alloc_slot(EDMA_SLOT_ANY); |
145 | NULL, NULL, &prtd->slave_lch, &tcc, EVENTQ_0); | 147 | if (ret < 0) { |
146 | if (ret) { | 148 | edma_free_channel(prtd->master_lch); |
147 | davinci_free_dma(prtd->master_lch); | ||
148 | return ret; | 149 | return ret; |
149 | } | 150 | } |
150 | 151 | prtd->slave_lch = ret; | |
151 | /* Link slave DMA channel in loopback */ | 152 | |
152 | davinci_dma_link_lch(prtd->slave_lch, prtd->slave_lch); | 153 | /* Issue transfer completion IRQ when the channel completes a |
154 | * transfer, then always reload from the same slot (by a kind | ||
155 | * of loopback link). The completion IRQ handler will update | ||
156 | * the reload slot with a new buffer. | ||
157 | * | ||
158 | * REVISIT save p_ram here after setting up everything except | ||
159 | * the buffer and its length (ccnt) ... use it as a template | ||
160 | * so davinci_pcm_enqueue_dma() takes less time in IRQ. | ||
161 | */ | ||
162 | edma_read_slot(prtd->slave_lch, &p_ram); | ||
163 | p_ram.opt |= TCINTEN | EDMA_TCC(prtd->master_lch); | ||
164 | p_ram.link_bcntrld = prtd->slave_lch << 5; | ||
165 | edma_write_slot(prtd->slave_lch, &p_ram); | ||
153 | 166 | ||
154 | return 0; | 167 | return 0; |
155 | } | 168 | } |
@@ -165,12 +178,12 @@ static int davinci_pcm_trigger(struct snd_pcm_substream *substream, int cmd) | |||
165 | case SNDRV_PCM_TRIGGER_START: | 178 | case SNDRV_PCM_TRIGGER_START: |
166 | case SNDRV_PCM_TRIGGER_RESUME: | 179 | case SNDRV_PCM_TRIGGER_RESUME: |
167 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: | 180 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: |
168 | davinci_start_dma(prtd->master_lch); | 181 | edma_start(prtd->master_lch); |
169 | break; | 182 | break; |
170 | case SNDRV_PCM_TRIGGER_STOP: | 183 | case SNDRV_PCM_TRIGGER_STOP: |
171 | case SNDRV_PCM_TRIGGER_SUSPEND: | 184 | case SNDRV_PCM_TRIGGER_SUSPEND: |
172 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: | 185 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: |
173 | davinci_stop_dma(prtd->master_lch); | 186 | edma_stop(prtd->master_lch); |
174 | break; | 187 | break; |
175 | default: | 188 | default: |
176 | ret = -EINVAL; | 189 | ret = -EINVAL; |
@@ -185,14 +198,14 @@ static int davinci_pcm_trigger(struct snd_pcm_substream *substream, int cmd) | |||
185 | static int davinci_pcm_prepare(struct snd_pcm_substream *substream) | 198 | static int davinci_pcm_prepare(struct snd_pcm_substream *substream) |
186 | { | 199 | { |
187 | struct davinci_runtime_data *prtd = substream->runtime->private_data; | 200 | struct davinci_runtime_data *prtd = substream->runtime->private_data; |
188 | struct paramentry_descriptor temp; | 201 | struct edmacc_param temp; |
189 | 202 | ||
190 | prtd->period = 0; | 203 | prtd->period = 0; |
191 | davinci_pcm_enqueue_dma(substream); | 204 | davinci_pcm_enqueue_dma(substream); |
192 | 205 | ||
193 | /* Get slave channel dma params for master channel startup */ | 206 | /* Copy self-linked parameter RAM entry into master channel */ |
194 | davinci_get_dma_params(prtd->slave_lch, &temp); | 207 | edma_read_slot(prtd->slave_lch, &temp); |
195 | davinci_set_dma_params(prtd->master_lch, &temp); | 208 | edma_write_slot(prtd->master_lch, &temp); |
196 | 209 | ||
197 | return 0; | 210 | return 0; |
198 | } | 211 | } |
@@ -208,7 +221,7 @@ davinci_pcm_pointer(struct snd_pcm_substream *substream) | |||
208 | 221 | ||
209 | spin_lock(&prtd->lock); | 222 | spin_lock(&prtd->lock); |
210 | 223 | ||
211 | davinci_dma_getposition(prtd->master_lch, &src, &dst); | 224 | edma_get_position(prtd->master_lch, &src, &dst); |
212 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) | 225 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) |
213 | count = src - runtime->dma_addr; | 226 | count = src - runtime->dma_addr; |
214 | else | 227 | else |
@@ -253,10 +266,10 @@ static int davinci_pcm_close(struct snd_pcm_substream *substream) | |||
253 | struct snd_pcm_runtime *runtime = substream->runtime; | 266 | struct snd_pcm_runtime *runtime = substream->runtime; |
254 | struct davinci_runtime_data *prtd = runtime->private_data; | 267 | struct davinci_runtime_data *prtd = runtime->private_data; |
255 | 268 | ||
256 | davinci_dma_unlink_lch(prtd->slave_lch, prtd->slave_lch); | 269 | edma_unlink(prtd->slave_lch); |
257 | 270 | ||
258 | davinci_free_dma(prtd->slave_lch); | 271 | edma_free_slot(prtd->slave_lch); |
259 | davinci_free_dma(prtd->master_lch); | 272 | edma_free_channel(prtd->master_lch); |
260 | 273 | ||
261 | kfree(prtd); | 274 | kfree(prtd); |
262 | 275 | ||
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 99712f652d0d..1cd149b9ce69 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -954,6 +954,9 @@ static int soc_remove(struct platform_device *pdev) | |||
954 | struct snd_soc_platform *platform = card->platform; | 954 | struct snd_soc_platform *platform = card->platform; |
955 | struct snd_soc_codec_device *codec_dev = socdev->codec_dev; | 955 | struct snd_soc_codec_device *codec_dev = socdev->codec_dev; |
956 | 956 | ||
957 | if (!card->instantiated) | ||
958 | return 0; | ||
959 | |||
957 | run_delayed_work(&card->delayed_work); | 960 | run_delayed_work(&card->delayed_work); |
958 | 961 | ||
959 | if (platform->remove) | 962 | if (platform->remove) |
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index 823296d7d578..a6b88482637b 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c | |||
@@ -3347,7 +3347,7 @@ static int snd_usb_create_quirk(struct snd_usb_audio *chip, | |||
3347 | [QUIRK_MIDI_YAMAHA] = snd_usb_create_midi_interface, | 3347 | [QUIRK_MIDI_YAMAHA] = snd_usb_create_midi_interface, |
3348 | [QUIRK_MIDI_MIDIMAN] = snd_usb_create_midi_interface, | 3348 | [QUIRK_MIDI_MIDIMAN] = snd_usb_create_midi_interface, |
3349 | [QUIRK_MIDI_NOVATION] = snd_usb_create_midi_interface, | 3349 | [QUIRK_MIDI_NOVATION] = snd_usb_create_midi_interface, |
3350 | [QUIRK_MIDI_RAW] = snd_usb_create_midi_interface, | 3350 | [QUIRK_MIDI_FASTLANE] = snd_usb_create_midi_interface, |
3351 | [QUIRK_MIDI_EMAGIC] = snd_usb_create_midi_interface, | 3351 | [QUIRK_MIDI_EMAGIC] = snd_usb_create_midi_interface, |
3352 | [QUIRK_MIDI_CME] = snd_usb_create_midi_interface, | 3352 | [QUIRK_MIDI_CME] = snd_usb_create_midi_interface, |
3353 | [QUIRK_AUDIO_STANDARD_INTERFACE] = create_standard_audio_quirk, | 3353 | [QUIRK_AUDIO_STANDARD_INTERFACE] = create_standard_audio_quirk, |
diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h index 36e4f7a29adc..8e7f78941ba6 100644 --- a/sound/usb/usbaudio.h +++ b/sound/usb/usbaudio.h | |||
@@ -153,7 +153,7 @@ enum quirk_type { | |||
153 | QUIRK_MIDI_YAMAHA, | 153 | QUIRK_MIDI_YAMAHA, |
154 | QUIRK_MIDI_MIDIMAN, | 154 | QUIRK_MIDI_MIDIMAN, |
155 | QUIRK_MIDI_NOVATION, | 155 | QUIRK_MIDI_NOVATION, |
156 | QUIRK_MIDI_RAW, | 156 | QUIRK_MIDI_FASTLANE, |
157 | QUIRK_MIDI_EMAGIC, | 157 | QUIRK_MIDI_EMAGIC, |
158 | QUIRK_MIDI_CME, | 158 | QUIRK_MIDI_CME, |
159 | QUIRK_MIDI_US122L, | 159 | QUIRK_MIDI_US122L, |
diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c index 26bad373fe65..2fb35cc22a30 100644 --- a/sound/usb/usbmidi.c +++ b/sound/usb/usbmidi.c | |||
@@ -1778,8 +1778,18 @@ int snd_usb_create_midi_interface(struct snd_usb_audio* chip, | |||
1778 | umidi->usb_protocol_ops = &snd_usbmidi_novation_ops; | 1778 | umidi->usb_protocol_ops = &snd_usbmidi_novation_ops; |
1779 | err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); | 1779 | err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); |
1780 | break; | 1780 | break; |
1781 | case QUIRK_MIDI_RAW: | 1781 | case QUIRK_MIDI_FASTLANE: |
1782 | umidi->usb_protocol_ops = &snd_usbmidi_raw_ops; | 1782 | umidi->usb_protocol_ops = &snd_usbmidi_raw_ops; |
1783 | /* | ||
1784 | * Interface 1 contains isochronous endpoints, but with the same | ||
1785 | * numbers as in interface 0. Since it is interface 1 that the | ||
1786 | * USB core has most recently seen, these descriptors are now | ||
1787 | * associated with the endpoint numbers. This will foul up our | ||
1788 | * attempts to submit bulk/interrupt URBs to the endpoints in | ||
1789 | * interface 0, so we have to make sure that the USB core looks | ||
1790 | * again at interface 0 by calling usb_set_interface() on it. | ||
1791 | */ | ||
1792 | usb_set_interface(umidi->chip->dev, 0, 0); | ||
1783 | err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); | 1793 | err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); |
1784 | break; | 1794 | break; |
1785 | case QUIRK_MIDI_EMAGIC: | 1795 | case QUIRK_MIDI_EMAGIC: |
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index 647ef5029651..5d955aaad85f 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h | |||
@@ -1868,7 +1868,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
1868 | .data = & (const struct snd_usb_audio_quirk[]) { | 1868 | .data = & (const struct snd_usb_audio_quirk[]) { |
1869 | { | 1869 | { |
1870 | .ifnum = 0, | 1870 | .ifnum = 0, |
1871 | .type = QUIRK_MIDI_RAW | 1871 | .type = QUIRK_MIDI_FASTLANE |
1872 | }, | 1872 | }, |
1873 | { | 1873 | { |
1874 | .ifnum = 1, | 1874 | .ifnum = 1, |