diff options
author | Dave Jones <davej@redhat.com> | 2005-11-21 09:56:52 -0500 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2005-11-21 09:56:52 -0500 |
commit | e7e37ee9c547213d726b29c2510cbb6696050405 (patch) | |
tree | 50c45625de666b23f209d79eb1bfae05c64feee9 | |
parent | c243f1f1f6545985afcc6adf1fc085729029c3ee (diff) | |
parent | db93a82fa9d8b4d6e31c227922eaae829253bb88 (diff) |
Merge ../linus/
404 files changed, 8168 insertions, 10892 deletions
@@ -611,8 +611,7 @@ S: USA | |||
611 | N: Randolph Chung | 611 | N: Randolph Chung |
612 | E: tausq@debian.org | 612 | E: tausq@debian.org |
613 | D: Linux/PA-RISC hacker | 613 | D: Linux/PA-RISC hacker |
614 | S: Los Altos, CA 94022 | 614 | S: Hong Kong |
615 | S: USA | ||
616 | 615 | ||
617 | N: Juan Jose Ciarlante | 616 | N: Juan Jose Ciarlante |
618 | W: http://juanjox.kernelnotes.org/ | 617 | W: http://juanjox.kernelnotes.org/ |
@@ -3405,6 +3404,15 @@ S: Chudenicka 8 | |||
3405 | S: 10200 Prague 10, Hostivar | 3404 | S: 10200 Prague 10, Hostivar |
3406 | S: Czech Republic | 3405 | S: Czech Republic |
3407 | 3406 | ||
3407 | N: Thibaut Varene | ||
3408 | E: T-Bone@parisc-linux.org | ||
3409 | W: http://www.parisc-linux.org/ | ||
3410 | P: 1024D/B7D2F063 E67C 0D43 A75E 12A5 BB1C FA2F 1E32 C3DA B7D2 F063 | ||
3411 | D: PA-RISC port minion, PDC and GSCPS2 drivers, debuglocks and other bits | ||
3412 | D: Some bits in an ARM port, S1D13XXX FB driver, random patches here and there | ||
3413 | D: AD1889 sound driver | ||
3414 | S: Paris, France | ||
3415 | |||
3408 | N: Heikki Vatiainen | 3416 | N: Heikki Vatiainen |
3409 | E: hessu@cs.tut.fi | 3417 | E: hessu@cs.tut.fi |
3410 | D: Co-author of Multi-Protocol Over ATM (MPOA), some LANE hacks | 3418 | D: Co-author of Multi-Protocol Over ATM (MPOA), some LANE hacks |
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 433cf5e9ae04..5f7f7d7f77d2 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
@@ -24,6 +24,8 @@ DMA-mapping.txt | |||
24 | - info for PCI drivers using DMA portably across all platforms. | 24 | - info for PCI drivers using DMA portably across all platforms. |
25 | DocBook/ | 25 | DocBook/ |
26 | - directory with DocBook templates etc. for kernel documentation. | 26 | - directory with DocBook templates etc. for kernel documentation. |
27 | HOWTO | ||
28 | - The process and procedures of how to do Linux kernel development. | ||
27 | IO-mapping.txt | 29 | IO-mapping.txt |
28 | - how to access I/O mapped memory from within device drivers. | 30 | - how to access I/O mapped memory from within device drivers. |
29 | IPMI.txt | 31 | IPMI.txt |
@@ -256,6 +258,10 @@ specialix.txt | |||
256 | - info on hardware/driver for specialix IO8+ multiport serial card. | 258 | - info on hardware/driver for specialix IO8+ multiport serial card. |
257 | spinlocks.txt | 259 | spinlocks.txt |
258 | - info on using spinlocks to provide exclusive access in kernel. | 260 | - info on using spinlocks to provide exclusive access in kernel. |
261 | stable_api_nonsense.txt | ||
262 | - info on why the kernel does not have a stable in-kernel api or abi. | ||
263 | stable_kernel_rules.txt | ||
264 | - rules and procedures for the -stable kernel releases. | ||
259 | stallion.txt | 265 | stallion.txt |
260 | - info on using the Stallion multiport serial driver. | 266 | - info on using the Stallion multiport serial driver. |
261 | svga.txt | 267 | svga.txt |
diff --git a/Documentation/HOWTO b/Documentation/HOWTO new file mode 100644 index 000000000000..6c9e746267da --- /dev/null +++ b/Documentation/HOWTO | |||
@@ -0,0 +1,618 @@ | |||
1 | HOWTO do Linux kernel development | ||
2 | --------------------------------- | ||
3 | |||
4 | This is the be-all, end-all document on this topic. It contains | ||
5 | instructions on how to become a Linux kernel developer and how to learn | ||
6 | to work with the Linux kernel development community. It tries to not | ||
7 | contain anything related to the technical aspects of kernel programming, | ||
8 | but will help point you in the right direction for that. | ||
9 | |||
10 | If anything in this document becomes out of date, please send in patches | ||
11 | to the maintainer of this file, who is listed at the bottom of the | ||
12 | document. | ||
13 | |||
14 | |||
15 | Introduction | ||
16 | ------------ | ||
17 | |||
18 | So, you want to learn how to become a Linux kernel developer? Or you | ||
19 | have been told by your manager, "Go write a Linux driver for this | ||
20 | device." This document's goal is to teach you everything you need to | ||
21 | know to achieve this by describing the process you need to go through, | ||
22 | and hints on how to work with the community. It will also try to | ||
23 | explain some of the reasons why the community works like it does. | ||
24 | |||
25 | The kernel is written mostly in C, with some architecture-dependent | ||
26 | parts written in assembly. A good understanding of C is required for | ||
27 | kernel development. Assembly (any architecture) is not required unless | ||
28 | you plan to do low-level development for that architecture. Though they | ||
29 | are not a good substitute for a solid C education and/or years of | ||
30 | experience, the following books are good for, if anything, reference: | ||
31 | - "The C Programming Language" by Kernighan and Ritchie [Prentice Hall] | ||
32 | - "Practical C Programming" by Steve Oualline [O'Reilly] | ||
33 | |||
34 | The kernel is written using GNU C and the GNU toolchain. While it | ||
35 | adheres to the ISO C89 standard, it uses a number of extensions that are | ||
36 | not featured in the standard. The kernel is a freestanding C | ||
37 | environment, with no reliance on the standard C library, so some | ||
38 | portions of the C standard are not supported. Arbitrary long long | ||
39 | divisions and floating point are not allowed. It can sometimes be | ||
40 | difficult to understand the assumptions the kernel has on the toolchain | ||
41 | and the extensions that it uses, and unfortunately there is no | ||
42 | definitive reference for them. Please check the gcc info pages (`info | ||
43 | gcc`) for some information on them. | ||
44 | |||
45 | Please remember that you are trying to learn how to work with the | ||
46 | existing development community. It is a diverse group of people, with | ||
47 | high standards for coding, style and procedure. These standards have | ||
48 | been created over time based on what they have found to work best for | ||
49 | such a large and geographically dispersed team. Try to learn as much as | ||
50 | possible about these standards ahead of time, as they are well | ||
51 | documented; do not expect people to adapt to you or your company's way | ||
52 | of doing things. | ||
53 | |||
54 | |||
55 | Legal Issues | ||
56 | ------------ | ||
57 | |||
58 | The Linux kernel source code is released under the GPL. Please see the | ||
59 | file, COPYING, in the main directory of the source tree, for details on | ||
60 | the license. If you have further questions about the license, please | ||
61 | contact a lawyer, and do not ask on the Linux kernel mailing list. The | ||
62 | people on the mailing lists are not lawyers, and you should not rely on | ||
63 | their statements on legal matters. | ||
64 | |||
65 | For common questions and answers about the GPL, please see: | ||
66 | http://www.gnu.org/licenses/gpl-faq.html | ||
67 | |||
68 | |||
69 | Documentation | ||
70 | ------------ | ||
71 | |||
72 | The Linux kernel source tree has a large range of documents that are | ||
73 | invaluable for learning how to interact with the kernel community. When | ||
74 | new features are added to the kernel, it is recommended that new | ||
75 | documentation files are also added which explain how to use the feature. | ||
76 | When a kernel change causes the interface that the kernel exposes to | ||
77 | userspace to change, it is recommended that you send the information or | ||
78 | a patch to the manual pages explaining the change to the manual pages | ||
79 | maintainer at mtk-manpages@gmx.net. | ||
80 | |||
81 | Here is a list of files that are in the kernel source tree that are | ||
82 | required reading: | ||
83 | README | ||
84 | This file gives a short background on the Linux kernel and describes | ||
85 | what is necessary to do to configure and build the kernel. People | ||
86 | who are new to the kernel should start here. | ||
87 | |||
88 | Documentation/Changes | ||
89 | This file gives a list of the minimum levels of various software | ||
90 | packages that are necessary to build and run the kernel | ||
91 | successfully. | ||
92 | |||
93 | Documentation/CodingStyle | ||
94 | This describes the Linux kernel coding style, and some of the | ||
95 | rationale behind it. All new code is expected to follow the | ||
96 | guidelines in this document. Most maintainers will only accept | ||
97 | patches if these rules are followed, and many people will only | ||
98 | review code if it is in the proper style. | ||
99 | |||
100 | Documentation/SubmittingPatches | ||
101 | Documentation/SubmittingDrivers | ||
102 | These files describe in explicit detail how to successfully create | ||
103 | and send a patch, including (but not limited to): | ||
104 | - Email contents | ||
105 | - Email format | ||
106 | - Who to send it to | ||
107 | Following these rules will not guarantee success (as all patches are | ||
108 | subject to scrutiny for content and style), but not following them | ||
109 | will almost always prevent it. | ||
110 | |||
111 | Other excellent descriptions of how to create patches properly are: | ||
112 | "The Perfect Patch" | ||
113 | http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt | ||
114 | "Linux kernel patch submission format" | ||
115 | http://linux.yyz.us/patch-format.html | ||
116 | |||
117 | Documentation/stable_api_nonsense.txt | ||
118 | This file describes the rationale behind the conscious decision to | ||
119 | not have a stable API within the kernel, including things like: | ||
120 | - Subsystem shim-layers (for compatibility?) | ||
121 | - Driver portability between Operating Systems. | ||
122 | - Mitigating rapid change within the kernel source tree (or | ||
123 | preventing rapid change) | ||
124 | This document is crucial for understanding the Linux development | ||
125 | philosophy and is very important for people moving to Linux from | ||
126 | development on other Operating Systems. | ||
127 | |||
128 | Documentation/SecurityBugs | ||
129 | If you feel you have found a security problem in the Linux kernel, | ||
130 | please follow the steps in this document to help notify the kernel | ||
131 | developers, and help solve the issue. | ||
132 | |||
133 | Documentation/ManagementStyle | ||
134 | This document describes how Linux kernel maintainers operate and the | ||
135 | shared ethos behind their methodologies. This is important reading | ||
136 | for anyone new to kernel development (or anyone simply curious about | ||
137 | it), as it resolves a lot of common misconceptions and confusion | ||
138 | about the unique behavior of kernel maintainers. | ||
139 | |||
140 | Documentation/stable_kernel_rules.txt | ||
141 | This file describes the rules on how the stable kernel releases | ||
142 | happen, and what to do if you want to get a change into one of these | ||
143 | releases. | ||
144 | |||
145 | Documentation/kernel-docs.txt | ||
146 | A list of external documentation that pertains to kernel | ||
147 | development. Please consult this list if you do not find what you | ||
148 | are looking for within the in-kernel documentation. | ||
149 | |||
150 | Documentation/applying-patches.txt | ||
151 | A good introduction describing exactly what a patch is and how to | ||
152 | apply it to the different development branches of the kernel. | ||
153 | |||
154 | The kernel also has a large number of documents that can be | ||
155 | automatically generated from the source code itself. This includes a | ||
156 | full description of the in-kernel API, and rules on how to handle | ||
157 | locking properly. The documents will be created in the | ||
158 | Documentation/DocBook/ directory and can be generated as PDF, | ||
159 | Postscript, HTML, and man pages by running: | ||
160 | make pdfdocs | ||
161 | make psdocs | ||
162 | make htmldocs | ||
163 | make mandocs | ||
164 | respectively from the main kernel source directory. | ||
165 | |||
166 | |||
167 | Becoming A Kernel Developer | ||
168 | --------------------------- | ||
169 | |||
170 | If you do not know anything about Linux kernel development, you should | ||
171 | look at the Linux KernelNewbies project: | ||
172 | http://kernelnewbies.org | ||
173 | It consists of a helpful mailing list where you can ask almost any type | ||
174 | of basic kernel development question (make sure to search the archives | ||
175 | first, before asking something that has already been answered in the | ||
176 | past.) It also has an IRC channel that you can use to ask questions in | ||
177 | real-time, and a lot of helpful documentation that is useful for | ||
178 | learning about Linux kernel development. | ||
179 | |||
180 | The website has basic information about code organization, subsystems, | ||
181 | and current projects (both in-tree and out-of-tree). It also describes | ||
182 | some basic logistical information, like how to compile a kernel and | ||
183 | apply a patch. | ||
184 | |||
185 | If you do not know where you want to start, but you want to look for | ||
186 | some task to start doing to join into the kernel development community, | ||
187 | go to the Linux Kernel Janitor's project: | ||
188 | http://janitor.kernelnewbies.org/ | ||
189 | It is a great place to start. It describes a list of relatively simple | ||
190 | problems that need to be cleaned up and fixed within the Linux kernel | ||
191 | source tree. Working with the developers in charge of this project, you | ||
192 | will learn the basics of getting your patch into the Linux kernel tree, | ||
193 | and possibly be pointed in the direction of what to go work on next, if | ||
194 | you do not already have an idea. | ||
195 | |||
196 | If you already have a chunk of code that you want to put into the kernel | ||
197 | tree, but need some help getting it in the proper form, the | ||
198 | kernel-mentors project was created to help you out with this. It is a | ||
199 | mailing list, and can be found at: | ||
200 | http://selenic.com/mailman/listinfo/kernel-mentors | ||
201 | |||
202 | Before making any actual modifications to the Linux kernel code, it is | ||
203 | imperative to understand how the code in question works. For this | ||
204 | purpose, nothing is better than reading through it directly (most tricky | ||
205 | bits are commented well), perhaps even with the help of specialized | ||
206 | tools. One such tool that is particularly recommended is the Linux | ||
207 | Cross-Reference project, which is able to present source code in a | ||
208 | self-referential, indexed webpage format. An excellent up-to-date | ||
209 | repository of the kernel code may be found at: | ||
210 | http://sosdg.org/~coywolf/lxr/ | ||
211 | |||
212 | |||
213 | The development process | ||
214 | ----------------------- | ||
215 | |||
216 | Linux kernel development process currently consists of a few different | ||
217 | main kernel "branches" and lots of different subsystem-specific kernel | ||
218 | branches. These different branches are: | ||
219 | - main 2.6.x kernel tree | ||
220 | - 2.6.x.y -stable kernel tree | ||
221 | - 2.6.x -git kernel patches | ||
222 | - 2.6.x -mm kernel patches | ||
223 | - subsystem specific kernel trees and patches | ||
224 | |||
225 | 2.6.x kernel tree | ||
226 | ----------------- | ||
227 | 2.6.x kernels are maintained by Linus Torvalds, and can be found on | ||
228 | kernel.org in the pub/linux/kernel/v2.6/ directory. Its development | ||
229 | process is as follows: | ||
230 | - As soon as a new kernel is released a two weeks window is open, | ||
231 | during this period of time maintainers can submit big diffs to | ||
232 | Linus, usually the patches that have already been included in the | ||
233 | -mm kernel for a few weeks. The preferred way to submit big changes | ||
234 | is using git (the kernel's source management tool, more information | ||
235 | can be found at http://git.or.cz/) but plain patches are also just | ||
236 | fine. | ||
237 | - After two weeks a -rc1 kernel is released it is now possible to push | ||
238 | only patches that do not include new features that could affect the | ||
239 | stability of the whole kernel. Please note that a whole new driver | ||
240 | (or filesystem) might be accepted after -rc1 because there is no | ||
241 | risk of causing regressions with such a change as long as the change | ||
242 | is self-contained and does not affect areas outside of the code that | ||
243 | is being added. git can be used to send patches to Linus after -rc1 | ||
244 | is released, but the patches need to also be sent to a public | ||
245 | mailing list for review. | ||
246 | - A new -rc is released whenever Linus deems the current git tree to | ||
247 | be in a reasonably sane state adequate for testing. The goal is to | ||
248 | release a new -rc kernel every week. | ||
249 | - Process continues until the kernel is considered "ready", the | ||
250 | process should last around 6 weeks. | ||
251 | |||
252 | It is worth mentioning what Andrew Morton wrote on the linux-kernel | ||
253 | mailing list about kernel releases: | ||
254 | "Nobody knows when a kernel will be released, because it's | ||
255 | released according to perceived bug status, not according to a | ||
256 | preconceived timeline." | ||
257 | |||
258 | 2.6.x.y -stable kernel tree | ||
259 | --------------------------- | ||
260 | Kernels with 4 digit versions are -stable kernels. They contain | ||
261 | relatively small and critical fixes for security problems or significant | ||
262 | regressions discovered in a given 2.6.x kernel. | ||
263 | |||
264 | This is the recommended branch for users who want the most recent stable | ||
265 | kernel and are not interested in helping test development/experimental | ||
266 | versions. | ||
267 | |||
268 | If no 2.6.x.y kernel is available, then the highest numbered 2.6.x | ||
269 | kernel is the current stable kernel. | ||
270 | |||
271 | 2.6.x.y are maintained by the "stable" team <stable@kernel.org>, and are | ||
272 | released almost every other week. | ||
273 | |||
274 | The file Documentation/stable_kernel_rules.txt in the kernel tree | ||
275 | documents what kinds of changes are acceptable for the -stable tree, and | ||
276 | how the release process works. | ||
277 | |||
278 | 2.6.x -git patches | ||
279 | ------------------ | ||
280 | These are daily snapshots of Linus' kernel tree which are managed in a | ||
281 | git repository (hence the name.) These patches are usually released | ||
282 | daily and represent the current state of Linus' tree. They are more | ||
283 | experimental than -rc kernels since they are generated automatically | ||
284 | without even a cursory glance to see if they are sane. | ||
285 | |||
286 | 2.6.x -mm kernel patches | ||
287 | ------------------------ | ||
288 | These are experimental kernel patches released by Andrew Morton. Andrew | ||
289 | takes all of the different subsystem kernel trees and patches and mushes | ||
290 | them together, along with a lot of patches that have been plucked from | ||
291 | the linux-kernel mailing list. This tree serves as a proving ground for | ||
292 | new features and patches. Once a patch has proved its worth in -mm for | ||
293 | a while Andrew or the subsystem maintainer pushes it on to Linus for | ||
294 | inclusion in mainline. | ||
295 | |||
296 | It is heavily encouraged that all new patches get tested in the -mm tree | ||
297 | before they are sent to Linus for inclusion in the main kernel tree. | ||
298 | |||
299 | These kernels are not appropriate for use on systems that are supposed | ||
300 | to be stable and they are more risky to run than any of the other | ||
301 | branches. | ||
302 | |||
303 | If you wish to help out with the kernel development process, please test | ||
304 | and use these kernel releases and provide feedback to the linux-kernel | ||
305 | mailing list if you have any problems, and if everything works properly. | ||
306 | |||
307 | In addition to all the other experimental patches, these kernels usually | ||
308 | also contain any changes in the mainline -git kernels available at the | ||
309 | time of release. | ||
310 | |||
311 | The -mm kernels are not released on a fixed schedule, but usually a few | ||
312 | -mm kernels are released in between each -rc kernel (1 to 3 is common). | ||
313 | |||
314 | Subsystem Specific kernel trees and patches | ||
315 | ------------------------------------------- | ||
316 | A number of the different kernel subsystem developers expose their | ||
317 | development trees so that others can see what is happening in the | ||
318 | different areas of the kernel. These trees are pulled into the -mm | ||
319 | kernel releases as described above. | ||
320 | |||
321 | Here is a list of some of the different kernel trees available: | ||
322 | git trees: | ||
323 | - Kbuild development tree, Sam Ravnborg <sam@ravnborg.org> | ||
324 | kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git | ||
325 | |||
326 | - ACPI development tree, Len Brown <len.brown@intel.com> | ||
327 | kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git | ||
328 | |||
329 | - Block development tree, Jens Axboe <axboe@suse.de> | ||
330 | kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git | ||
331 | |||
332 | - DRM development tree, Dave Airlie <airlied@linux.ie> | ||
333 | kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git | ||
334 | |||
335 | - ia64 development tree, Tony Luck <tony.luck@intel.com> | ||
336 | kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git | ||
337 | |||
338 | - ieee1394 development tree, Jody McIntyre <scjody@modernduck.com> | ||
339 | kernel.org:/pub/scm/linux/kernel/git/scjody/ieee1394.git | ||
340 | |||
341 | - infiniband, Roland Dreier <rolandd@cisco.com> | ||
342 | kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git | ||
343 | |||
344 | - libata, Jeff Garzik <jgarzik@pobox.com> | ||
345 | kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git | ||
346 | |||
347 | - network drivers, Jeff Garzik <jgarzik@pobox.com> | ||
348 | kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git | ||
349 | |||
350 | - pcmcia, Dominik Brodowski <linux@dominikbrodowski.net> | ||
351 | kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git | ||
352 | |||
353 | - SCSI, James Bottomley <James.Bottomley@SteelEye.com> | ||
354 | kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git | ||
355 | |||
356 | Other git kernel trees can be found listed at http://kernel.org/git | ||
357 | |||
358 | quilt trees: | ||
359 | - USB, PCI, Driver Core, and I2C, Greg Kroah-Hartman <gregkh@suse.de> | ||
360 | kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ | ||
361 | |||
362 | |||
363 | Bug Reporting | ||
364 | ------------- | ||
365 | |||
366 | bugzilla.kernel.org is where the Linux kernel developers track kernel | ||
367 | bugs. Users are encouraged to report all bugs that they find in this | ||
368 | tool. For details on how to use the kernel bugzilla, please see: | ||
369 | http://test.kernel.org/bugzilla/faq.html | ||
370 | |||
371 | The file REPORTING-BUGS in the main kernel source directory has a good | ||
372 | template for how to report a possible kernel bug, and details what kind | ||
373 | of information is needed by the kernel developers to help track down the | ||
374 | problem. | ||
375 | |||
376 | |||
377 | Mailing lists | ||
378 | ------------- | ||
379 | |||
380 | As some of the above documents describe, the majority of the core kernel | ||
381 | developers participate on the Linux Kernel Mailing list. Details on how | ||
382 | to subscribe and unsubscribe from the list can be found at: | ||
383 | http://vger.kernel.org/vger-lists.html#linux-kernel | ||
384 | There are archives of the mailing list on the web in many different | ||
385 | places. Use a search engine to find these archives. For example: | ||
386 | http://dir.gmane.org/gmane.linux.kernel | ||
387 | It is highly recommended that you search the archives about the topic | ||
388 | you want to bring up, before you post it to the list. A lot of things | ||
389 | already discussed in detail are only recorded at the mailing list | ||
390 | archives. | ||
391 | |||
392 | Most of the individual kernel subsystems also have their own separate | ||
393 | mailing list where they do their development efforts. See the | ||
394 | MAINTAINERS file for a list of what these lists are for the different | ||
395 | groups. | ||
396 | |||
397 | Many of the lists are hosted on kernel.org. Information on them can be | ||
398 | found at: | ||
399 | http://vger.kernel.org/vger-lists.html | ||
400 | |||
401 | Please remember to follow good behavioral habits when using the lists. | ||
402 | Though a bit cheesy, the following URL has some simple guidelines for | ||
403 | interacting with the list (or any list): | ||
404 | http://www.albion.com/netiquette/ | ||
405 | |||
406 | If multiple people respond to your mail, the CC: list of recipients may | ||
407 | get pretty large. Don't remove anybody from the CC: list without a good | ||
408 | reason, or don't reply only to the list address. Get used to receiving the | ||
409 | mail twice, one from the sender and the one from the list, and don't try | ||
410 | to tune that by adding fancy mail-headers, people will not like it. | ||
411 | |||
412 | Remember to keep the context and the attribution of your replies intact, | ||
413 | keep the "John Kernelhacker wrote ...:" lines at the top of your reply, and | ||
414 | add your statements between the individual quoted sections instead of | ||
415 | writing at the top of the mail. | ||
416 | |||
417 | If you add patches to your mail, make sure they are plain readable text | ||
418 | as stated in Documentation/SubmittingPatches. Kernel developers don't | ||
419 | want to deal with attachments or compressed patches; they may want | ||
420 | to comment on individual lines of your patch, which works only that way. | ||
421 | Make sure you use a mail program that does not mangle spaces and tab | ||
422 | characters. A good first test is to send the mail to yourself and try | ||
423 | to apply your own patch by yourself. If that doesn't work, get your | ||
424 | mail program fixed or change it until it works. | ||
425 | |||
426 | Above all, please remember to show respect to other subscribers. | ||
427 | |||
428 | |||
429 | Working with the community | ||
430 | -------------------------- | ||
431 | |||
432 | The goal of the kernel community is to provide the best possible kernel | ||
433 | there is. When you submit a patch for acceptance, it will be reviewed | ||
434 | on its technical merits and those alone. So, what should you be | ||
435 | expecting? | ||
436 | - criticism | ||
437 | - comments | ||
438 | - requests for change | ||
439 | - requests for justification | ||
440 | - silence | ||
441 | |||
442 | Remember, this is part of getting your patch into the kernel. You have | ||
443 | to be able to take criticism and comments about your patches, evaluate | ||
444 | them at a technical level and either rework your patches or provide | ||
445 | clear and concise reasoning as to why those changes should not be made. | ||
446 | If there are no responses to your posting, wait a few days and try | ||
447 | again, sometimes things get lost in the huge volume. | ||
448 | |||
449 | What should you not do? | ||
450 | - expect your patch to be accepted without question | ||
451 | - become defensive | ||
452 | - ignore comments | ||
453 | - resubmit the patch without making any of the requested changes | ||
454 | |||
455 | In a community that is looking for the best technical solution possible, | ||
456 | there will always be differing opinions on how beneficial a patch is. | ||
457 | You have to be cooperative, and willing to adapt your idea to fit within | ||
458 | the kernel. Or at least be willing to prove your idea is worth it. | ||
459 | Remember, being wrong is acceptable as long as you are willing to work | ||
460 | toward a solution that is right. | ||
461 | |||
462 | It is normal that the answers to your first patch might simply be a list | ||
463 | of a dozen things you should correct. This does _not_ imply that your | ||
464 | patch will not be accepted, and it is _not_ meant against you | ||
465 | personally. Simply correct all issues raised against your patch and | ||
466 | resend it. | ||
467 | |||
468 | |||
469 | Differences between the kernel community and corporate structures | ||
470 | ----------------------------------------------------------------- | ||
471 | |||
472 | The kernel community works differently than most traditional corporate | ||
473 | development environments. Here are a list of things that you can try to | ||
474 | do to try to avoid problems: | ||
475 | Good things to say regarding your proposed changes: | ||
476 | - "This solves multiple problems." | ||
477 | - "This deletes 2000 lines of code." | ||
478 | - "Here is a patch that explains what I am trying to describe." | ||
479 | - "I tested it on 5 different architectures..." | ||
480 | - "Here is a series of small patches that..." | ||
481 | - "This increases performance on typical machines..." | ||
482 | |||
483 | Bad things you should avoid saying: | ||
484 | - "We did it this way in AIX/ptx/Solaris, so therefore it must be | ||
485 | good..." | ||
486 | - "I've being doing this for 20 years, so..." | ||
487 | - "This is required for my company to make money" | ||
488 | - "This is for our Enterprise product line." | ||
489 | - "Here is my 1000 page design document that describes my idea" | ||
490 | - "I've been working on this for 6 months..." | ||
491 | - "Here's a 5000 line patch that..." | ||
492 | - "I rewrote all of the current mess, and here it is..." | ||
493 | - "I have a deadline, and this patch needs to be applied now." | ||
494 | |||
495 | Another way the kernel community is different than most traditional | ||
496 | software engineering work environments is the faceless nature of | ||
497 | interaction. One benefit of using email and irc as the primary forms of | ||
498 | communication is the lack of discrimination based on gender or race. | ||
499 | The Linux kernel work environment is accepting of women and minorities | ||
500 | because all you are is an email address. The international aspect also | ||
501 | helps to level the playing field because you can't guess gender based on | ||
502 | a person's name. A man may be named Andrea and a woman may be named Pat. | ||
503 | Most women who have worked in the Linux kernel and have expressed an | ||
504 | opinion have had positive experiences. | ||
505 | |||
506 | The language barrier can cause problems for some people who are not | ||
507 | comfortable with English. A good grasp of the language can be needed in | ||
508 | order to get ideas across properly on mailing lists, so it is | ||
509 | recommended that you check your emails to make sure they make sense in | ||
510 | English before sending them. | ||
511 | |||
512 | |||
513 | Break up your changes | ||
514 | --------------------- | ||
515 | |||
516 | The Linux kernel community does not gladly accept large chunks of code | ||
517 | dropped on it all at once. The changes need to be properly introduced, | ||
518 | discussed, and broken up into tiny, individual portions. This is almost | ||
519 | the exact opposite of what companies are used to doing. Your proposal | ||
520 | should also be introduced very early in the development process, so that | ||
521 | you can receive feedback on what you are doing. It also lets the | ||
522 | community feel that you are working with them, and not simply using them | ||
523 | as a dumping ground for your feature. However, don't send 50 emails at | ||
524 | one time to a mailing list, your patch series should be smaller than | ||
525 | that almost all of the time. | ||
526 | |||
527 | The reasons for breaking things up are the following: | ||
528 | |||
529 | 1) Small patches increase the likelihood that your patches will be | ||
530 | applied, since they don't take much time or effort to verify for | ||
531 | correctness. A 5 line patch can be applied by a maintainer with | ||
532 | barely a second glance. However, a 500 line patch may take hours to | ||
533 | review for correctness (the time it takes is exponentially | ||
534 | proportional to the size of the patch, or something). | ||
535 | |||
536 | Small patches also make it very easy to debug when something goes | ||
537 | wrong. It's much easier to back out patches one by one than it is | ||
538 | to dissect a very large patch after it's been applied (and broken | ||
539 | something). | ||
540 | |||
541 | 2) It's important not only to send small patches, but also to rewrite | ||
542 | and simplify (or simply re-order) patches before submitting them. | ||
543 | |||
544 | Here is an analogy from kernel developer Al Viro: | ||
545 | "Think of a teacher grading homework from a math student. The | ||
546 | teacher does not want to see the student's trials and errors | ||
547 | before they came up with the solution. They want to see the | ||
548 | cleanest, most elegant answer. A good student knows this, and | ||
549 | would never submit her intermediate work before the final | ||
550 | solution." | ||
551 | |||
552 | The same is true of kernel development. The maintainers and | ||
553 | reviewers do not want to see the thought process behind the | ||
554 | solution to the problem one is solving. They want to see a | ||
555 | simple and elegant solution." | ||
556 | |||
557 | It may be challenging to keep the balance between presenting an elegant | ||
558 | solution and working together with the community and discussing your | ||
559 | unfinished work. Therefore it is good to get early in the process to | ||
560 | get feedback to improve your work, but also keep your changes in small | ||
561 | chunks that they may get already accepted, even when your whole task is | ||
562 | not ready for inclusion now. | ||
563 | |||
564 | Also realize that it is not acceptable to send patches for inclusion | ||
565 | that are unfinished and will be "fixed up later." | ||
566 | |||
567 | |||
568 | Justify your change | ||
569 | ------------------- | ||
570 | |||
571 | Along with breaking up your patches, it is very important for you to let | ||
572 | the Linux community know why they should add this change. New features | ||
573 | must be justified as being needed and useful. | ||
574 | |||
575 | |||
576 | Document your change | ||
577 | -------------------- | ||
578 | |||
579 | When sending in your patches, pay special attention to what you say in | ||
580 | the text in your email. This information will become the ChangeLog | ||
581 | information for the patch, and will be preserved for everyone to see for | ||
582 | all time. It should describe the patch completely, containing: | ||
583 | - why the change is necessary | ||
584 | - the overall design approach in the patch | ||
585 | - implementation details | ||
586 | - testing results | ||
587 | |||
588 | For more details on what this should all look like, please see the | ||
589 | ChangeLog section of the document: | ||
590 | "The Perfect Patch" | ||
591 | http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt | ||
592 | |||
593 | |||
594 | |||
595 | |||
596 | All of these things are sometimes very hard to do. It can take years to | ||
597 | perfect these practices (if at all). It's a continuous process of | ||
598 | improvement that requires a lot of patience and determination. But | ||
599 | don't give up, it's possible. Many have done it before, and each had to | ||
600 | start exactly where you are now. | ||
601 | |||
602 | |||
603 | |||
604 | |||
605 | ---------- | ||
606 | Thanks to Paolo Ciarrocchi who allowed the "Development Process" section | ||
607 | to be based on text he had written, and to Randy Dunlap and Gerrit | ||
608 | Huizenga for some of the list of things you should and should not say. | ||
609 | Also thanks to Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers, | ||
610 | Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi | ||
611 | Kleen, Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop, | ||
612 | David A. Wheeler, Junio Hamano, Michael Kerrisk, and Alex Shepard for | ||
613 | their review, comments, and contributions. Without their help, this | ||
614 | document would not have been possible. | ||
615 | |||
616 | |||
617 | |||
618 | Maintainer: Greg Kroah-Hartman <greg@kroah.com> | ||
diff --git a/Documentation/arm/memory.txt b/Documentation/arm/memory.txt index 4b1c93a8177b..dc6045577a8b 100644 --- a/Documentation/arm/memory.txt +++ b/Documentation/arm/memory.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | Kernel Memory Layout on ARM Linux | 1 | Kernel Memory Layout on ARM Linux |
2 | 2 | ||
3 | Russell King <rmk@arm.linux.org.uk> | 3 | Russell King <rmk@arm.linux.org.uk> |
4 | May 21, 2004 (2.6.6) | 4 | November 17, 2005 (2.6.15) |
5 | 5 | ||
6 | This document describes the virtual memory layout which the Linux | 6 | This document describes the virtual memory layout which the Linux |
7 | kernel uses for ARM processors. It indicates which regions are | 7 | kernel uses for ARM processors. It indicates which regions are |
@@ -37,6 +37,8 @@ ff000000 ffbfffff Reserved for future expansion of DMA | |||
37 | mapping region. | 37 | mapping region. |
38 | 38 | ||
39 | VMALLOC_END feffffff Free for platform use, recommended. | 39 | VMALLOC_END feffffff Free for platform use, recommended. |
40 | VMALLOC_END must be aligned to a 2MB | ||
41 | boundary. | ||
40 | 42 | ||
41 | VMALLOC_START VMALLOC_END-1 vmalloc() / ioremap() space. | 43 | VMALLOC_START VMALLOC_END-1 vmalloc() / ioremap() space. |
42 | Memory returned by vmalloc/ioremap will | 44 | Memory returned by vmalloc/ioremap will |
diff --git a/Documentation/devices.txt b/Documentation/devices.txt index 0f515175c72a..3c406acd4dfa 100644 --- a/Documentation/devices.txt +++ b/Documentation/devices.txt | |||
@@ -2903,14 +2903,14 @@ Your cooperation is appreciated. | |||
2903 | 196 = /dev/dvb/adapter3/video0 first video decoder of fourth card | 2903 | 196 = /dev/dvb/adapter3/video0 first video decoder of fourth card |
2904 | 2904 | ||
2905 | 2905 | ||
2906 | 216 char USB BlueTooth devices | 2906 | 216 char Bluetooth RFCOMM TTY devices |
2907 | 0 = /dev/ttyUB0 First USB BlueTooth device | 2907 | 0 = /dev/rfcomm0 First Bluetooth RFCOMM TTY device |
2908 | 1 = /dev/ttyUB1 Second USB BlueTooth device | 2908 | 1 = /dev/rfcomm1 Second Bluetooth RFCOMM TTY device |
2909 | ... | 2909 | ... |
2910 | 2910 | ||
2911 | 217 char USB BlueTooth devices (alternate devices) | 2911 | 217 char Bluetooth RFCOMM TTY devices (alternate devices) |
2912 | 0 = /dev/cuub0 Callout device for ttyUB0 | 2912 | 0 = /dev/curf0 Callout device for rfcomm0 |
2913 | 1 = /dev/cuub1 Callout device for ttyUB1 | 2913 | 1 = /dev/curf1 Callout device for rfcomm1 |
2914 | ... | 2914 | ... |
2915 | 2915 | ||
2916 | 218 char The Logical Company bus Unibus/Qbus adapters | 2916 | 218 char The Logical Company bus Unibus/Qbus adapters |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 24fe8edad304..9b743198f77a 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -149,3 +149,13 @@ Files: drivers/md/md.c | |||
149 | Why: Not reliable by design - can fail when most needed. | 149 | Why: Not reliable by design - can fail when most needed. |
150 | Alternatives exist | 150 | Alternatives exist |
151 | Who: NeilBrown <neilb@suse.de> | 151 | Who: NeilBrown <neilb@suse.de> |
152 | |||
153 | --------------------------- | ||
154 | |||
155 | What: au1x00_uart driver | ||
156 | When: January 2006 | ||
157 | Why: The 8250 serial driver now has the ability to deal with the differences | ||
158 | between the standard 8250 family of UARTs and their slightly strange | ||
159 | brother on Alchemy SOCs. The loss of features is not considered an | ||
160 | issue. | ||
161 | Who: Ralf Baechle <ralf@linux-mips.org> | ||
diff --git a/Documentation/usb/bluetooth.txt b/Documentation/usb/bluetooth.txt deleted file mode 100644 index 774f5d3835cc..000000000000 --- a/Documentation/usb/bluetooth.txt +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | INTRODUCTION | ||
2 | |||
3 | The USB Bluetooth driver supports any USB Bluetooth device. | ||
4 | It currently works well with the Linux USB Bluetooth stack from Axis | ||
5 | (available at http://developer.axis.com/software/bluetooth/ ) and | ||
6 | has been rumored to work with other Linux USB Bluetooth stacks. | ||
7 | |||
8 | |||
9 | CONFIGURATION | ||
10 | |||
11 | Currently the driver can handle up to 256 different USB Bluetooth | ||
12 | devices at once. | ||
13 | |||
14 | If you are not using devfs: | ||
15 | The major number that the driver uses is 216 so to use the driver, | ||
16 | create the following nodes: | ||
17 | mknod /dev/ttyUB0 c 216 0 | ||
18 | mknod /dev/ttyUB1 c 216 1 | ||
19 | mknod /dev/ttyUB2 c 216 2 | ||
20 | mknod /dev/ttyUB3 c 216 3 | ||
21 | . | ||
22 | . | ||
23 | . | ||
24 | mknod /dev/ttyUB254 c 216 254 | ||
25 | mknod /dev/ttyUB255 c 216 255 | ||
26 | |||
27 | If you are using devfs: | ||
28 | The devices supported by this driver will show up as | ||
29 | /dev/usb/ttub/{0,1,...} | ||
30 | |||
31 | When the device is connected and recognized by the driver, the driver | ||
32 | will print to the system log, which node the device has been bound to. | ||
33 | |||
34 | |||
35 | CONTACT: | ||
36 | |||
37 | If anyone has any problems using this driver, please contact me, or | ||
38 | join the Linux-USB mailing list (information on joining the mailing | ||
39 | list, as well as a link to its searchable archive is at | ||
40 | http://www.linux-usb.org/ ) | ||
41 | |||
42 | |||
43 | Greg Kroah-Hartman | ||
44 | greg@kroah.com | ||
diff --git a/MAINTAINERS b/MAINTAINERS index 509927e40bbb..c5cf7d7e58b2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -58,6 +58,7 @@ P: Person | |||
58 | M: Mail patches to | 58 | M: Mail patches to |
59 | L: Mailing list that is relevant to this area | 59 | L: Mailing list that is relevant to this area |
60 | W: Web-page with status/info | 60 | W: Web-page with status/info |
61 | T: SCM tree type and URL. Type is one of: git, hg, quilt. | ||
61 | S: Status, one of the following: | 62 | S: Status, one of the following: |
62 | 63 | ||
63 | Supported: Someone is actually paid to look after this. | 64 | Supported: Someone is actually paid to look after this. |
@@ -183,6 +184,7 @@ P: Len Brown | |||
183 | M: len.brown@intel.com | 184 | M: len.brown@intel.com |
184 | L: acpi-devel@lists.sourceforge.net | 185 | L: acpi-devel@lists.sourceforge.net |
185 | W: http://acpi.sourceforge.net/ | 186 | W: http://acpi.sourceforge.net/ |
187 | T: git kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git | ||
186 | S: Maintained | 188 | S: Maintained |
187 | 189 | ||
188 | AD1816 SOUND DRIVER | 190 | AD1816 SOUND DRIVER |
@@ -418,6 +420,7 @@ BLOCK LAYER | |||
418 | P: Jens Axboe | 420 | P: Jens Axboe |
419 | M: axboe@suse.de | 421 | M: axboe@suse.de |
420 | L: linux-kernel@vger.kernel.org | 422 | L: linux-kernel@vger.kernel.org |
423 | T: git kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git | ||
421 | S: Maintained | 424 | S: Maintained |
422 | 425 | ||
423 | BLUETOOTH SUBSYSTEM | 426 | BLUETOOTH SUBSYSTEM |
@@ -803,12 +806,14 @@ DRIVER CORE, KOBJECTS, AND SYSFS | |||
803 | P: Greg Kroah-Hartman | 806 | P: Greg Kroah-Hartman |
804 | M: gregkh@suse.de | 807 | M: gregkh@suse.de |
805 | L: linux-kernel@vger.kernel.org | 808 | L: linux-kernel@vger.kernel.org |
809 | T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ | ||
806 | S: Supported | 810 | S: Supported |
807 | 811 | ||
808 | DRM DRIVERS | 812 | DRM DRIVERS |
809 | P: David Airlie | 813 | P: David Airlie |
810 | M: airlied@linux.ie | 814 | M: airlied@linux.ie |
811 | L: dri-devel@lists.sourceforge.net | 815 | L: dri-devel@lists.sourceforge.net |
816 | T: git kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git | ||
812 | S: Maintained | 817 | S: Maintained |
813 | 818 | ||
814 | DSCC4 DRIVER | 819 | DSCC4 DRIVER |
@@ -1113,6 +1118,7 @@ P: Jean Delvare | |||
1113 | M: khali@linux-fr.org | 1118 | M: khali@linux-fr.org |
1114 | L: lm-sensors@lm-sensors.org | 1119 | L: lm-sensors@lm-sensors.org |
1115 | W: http://www.lm-sensors.nu/ | 1120 | W: http://www.lm-sensors.nu/ |
1121 | T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ | ||
1116 | S: Maintained | 1122 | S: Maintained |
1117 | 1123 | ||
1118 | I2O | 1124 | I2O |
@@ -1145,6 +1151,7 @@ P: Tony Luck | |||
1145 | M: tony.luck@intel.com | 1151 | M: tony.luck@intel.com |
1146 | L: linux-ia64@vger.kernel.org | 1152 | L: linux-ia64@vger.kernel.org |
1147 | W: http://www.ia64-linux.org/ | 1153 | W: http://www.ia64-linux.org/ |
1154 | T: git kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git | ||
1148 | S: Maintained | 1155 | S: Maintained |
1149 | 1156 | ||
1150 | SN-IA64 (Itanium) SUB-PLATFORM | 1157 | SN-IA64 (Itanium) SUB-PLATFORM |
@@ -1212,6 +1219,7 @@ P: Jody McIntyre | |||
1212 | M: scjody@steamballoon.com | 1219 | M: scjody@steamballoon.com |
1213 | L: linux1394-devel@lists.sourceforge.net | 1220 | L: linux1394-devel@lists.sourceforge.net |
1214 | W: http://www.linux1394.org/ | 1221 | W: http://www.linux1394.org/ |
1222 | T: git kernel.org:/pub/scm/linux/kernel/git/scjody/ieee1394.git | ||
1215 | S: Maintained | 1223 | S: Maintained |
1216 | 1224 | ||
1217 | IEEE 1394 OHCI DRIVER | 1225 | IEEE 1394 OHCI DRIVER |
@@ -1263,6 +1271,7 @@ P: Hal Rosenstock | |||
1263 | M: halr@voltaire.com | 1271 | M: halr@voltaire.com |
1264 | L: openib-general@openib.org | 1272 | L: openib-general@openib.org |
1265 | W: http://www.openib.org/ | 1273 | W: http://www.openib.org/ |
1274 | T: git kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git | ||
1266 | S: Supported | 1275 | S: Supported |
1267 | 1276 | ||
1268 | INPUT (KEYBOARD, MOUSE, JOYSTICK) DRIVERS | 1277 | INPUT (KEYBOARD, MOUSE, JOYSTICK) DRIVERS |
@@ -1436,6 +1445,7 @@ P: Kai Germaschewski | |||
1436 | M: kai@germaschewski.name | 1445 | M: kai@germaschewski.name |
1437 | P: Sam Ravnborg | 1446 | P: Sam Ravnborg |
1438 | M: sam@ravnborg.org | 1447 | M: sam@ravnborg.org |
1448 | T: git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git | ||
1439 | S: Maintained | 1449 | S: Maintained |
1440 | 1450 | ||
1441 | KERNEL JANITORS | 1451 | KERNEL JANITORS |
@@ -1782,6 +1792,7 @@ M: akpm@osdl.org | |||
1782 | P: Jeff Garzik | 1792 | P: Jeff Garzik |
1783 | M: jgarzik@pobox.com | 1793 | M: jgarzik@pobox.com |
1784 | L: netdev@vger.kernel.org | 1794 | L: netdev@vger.kernel.org |
1795 | T: git kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git | ||
1785 | S: Maintained | 1796 | S: Maintained |
1786 | 1797 | ||
1787 | NETWORKING [GENERAL] | 1798 | NETWORKING [GENERAL] |
@@ -1959,6 +1970,7 @@ P: Greg Kroah-Hartman | |||
1959 | M: gregkh@suse.de | 1970 | M: gregkh@suse.de |
1960 | L: linux-kernel@vger.kernel.org | 1971 | L: linux-kernel@vger.kernel.org |
1961 | L: linux-pci@atrey.karlin.mff.cuni.cz | 1972 | L: linux-pci@atrey.karlin.mff.cuni.cz |
1973 | T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ | ||
1962 | S: Supported | 1974 | S: Supported |
1963 | 1975 | ||
1964 | PCI HOTPLUG CORE | 1976 | PCI HOTPLUG CORE |
@@ -1980,6 +1992,7 @@ S: Maintained | |||
1980 | PCMCIA SUBSYSTEM | 1992 | PCMCIA SUBSYSTEM |
1981 | P: Linux PCMCIA Team | 1993 | P: Linux PCMCIA Team |
1982 | L: http://lists.infradead.org/mailman/listinfo/linux-pcmcia | 1994 | L: http://lists.infradead.org/mailman/listinfo/linux-pcmcia |
1995 | T: git kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git | ||
1983 | S: Maintained | 1996 | S: Maintained |
1984 | 1997 | ||
1985 | PCNET32 NETWORK DRIVER | 1998 | PCNET32 NETWORK DRIVER |
@@ -2189,6 +2202,7 @@ SCSI SUBSYSTEM | |||
2189 | P: James E.J. Bottomley | 2202 | P: James E.J. Bottomley |
2190 | M: James.Bottomley@SteelEye.com | 2203 | M: James.Bottomley@SteelEye.com |
2191 | L: linux-scsi@vger.kernel.org | 2204 | L: linux-scsi@vger.kernel.org |
2205 | T: git kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git | ||
2192 | S: Maintained | 2206 | S: Maintained |
2193 | 2207 | ||
2194 | SCSI TAPE DRIVER | 2208 | SCSI TAPE DRIVER |
@@ -2228,6 +2242,7 @@ SERIAL ATA (SATA) SUBSYSTEM: | |||
2228 | P: Jeff Garzik | 2242 | P: Jeff Garzik |
2229 | M: jgarzik@pobox.com | 2243 | M: jgarzik@pobox.com |
2230 | L: linux-ide@vger.kernel.org | 2244 | L: linux-ide@vger.kernel.org |
2245 | T: git kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git | ||
2231 | S: Supported | 2246 | S: Supported |
2232 | 2247 | ||
2233 | SGI SN-IA64 (Altix) SERIAL CONSOLE DRIVER | 2248 | SGI SN-IA64 (Altix) SERIAL CONSOLE DRIVER |
@@ -2749,6 +2764,7 @@ M: gregkh@suse.de | |||
2749 | L: linux-usb-users@lists.sourceforge.net | 2764 | L: linux-usb-users@lists.sourceforge.net |
2750 | L: linux-usb-devel@lists.sourceforge.net | 2765 | L: linux-usb-devel@lists.sourceforge.net |
2751 | W: http://www.linux-usb.org | 2766 | W: http://www.linux-usb.org |
2767 | T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ | ||
2752 | S: Supported | 2768 | S: Supported |
2753 | 2769 | ||
2754 | USB UHCI DRIVER | 2770 | USB UHCI DRIVER |
@@ -2891,6 +2907,11 @@ M: zaga@fly.cc.fer.hr | |||
2891 | L: linux-scsi@vger.kernel.org | 2907 | L: linux-scsi@vger.kernel.org |
2892 | S: Maintained | 2908 | S: Maintained |
2893 | 2909 | ||
2910 | WISTRON LAPTOP BUTTON DRIVER | ||
2911 | P: Miloslav Trmac | ||
2912 | M: mitr@volny.cz | ||
2913 | S: Maintained | ||
2914 | |||
2894 | WL3501 WIRELESS PCMCIA CARD DRIVER | 2915 | WL3501 WIRELESS PCMCIA CARD DRIVER |
2895 | P: Arnaldo Carvalho de Melo | 2916 | P: Arnaldo Carvalho de Melo |
2896 | M: acme@conectiva.com.br | 2917 | M: acme@conectiva.com.br |
@@ -1,7 +1,7 @@ | |||
1 | VERSION = 2 | 1 | VERSION = 2 |
2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
3 | SUBLEVEL = 15 | 3 | SUBLEVEL = 15 |
4 | EXTRAVERSION =-rc1 | 4 | EXTRAVERSION =-rc2 |
5 | NAME=Affluent Albatross | 5 | NAME=Affluent Albatross |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 7c7f475e213e..6abafb6f1844 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S | |||
@@ -19,38 +19,28 @@ | |||
19 | */ | 19 | */ |
20 | #ifdef DEBUG | 20 | #ifdef DEBUG |
21 | 21 | ||
22 | #include <asm/arch/debug-macro.S> | ||
23 | |||
24 | #if defined(CONFIG_DEBUG_ICEDCC) | 22 | #if defined(CONFIG_DEBUG_ICEDCC) |
25 | .macro loadsp, rb | 23 | .macro loadsp, rb |
26 | .endm | 24 | .endm |
27 | .macro writeb, ch, rb | 25 | .macro writeb, ch, rb |
28 | mcr p14, 0, \ch, c0, c1, 0 | 26 | mcr p14, 0, \ch, c0, c1, 0 |
29 | .endm | 27 | .endm |
30 | #else | 28 | #else |
29 | |||
30 | #include <asm/arch/debug-macro.S> | ||
31 | |||
31 | .macro writeb, ch, rb | 32 | .macro writeb, ch, rb |
32 | senduart \ch, \rb | 33 | senduart \ch, \rb |
33 | .endm | 34 | .endm |
34 | 35 | ||
35 | #if defined(CONFIG_FOOTBRIDGE) || \ | 36 | #if defined(CONFIG_ARCH_SA1100) |
36 | defined(CONFIG_ARCH_RPC) || \ | ||
37 | defined(CONFIG_ARCH_INTEGRATOR) || \ | ||
38 | defined(CONFIG_ARCH_PXA) || \ | ||
39 | defined(CONFIG_ARCH_IXP4XX) || \ | ||
40 | defined(CONFIG_ARCH_IXP2000) || \ | ||
41 | defined(CONFIG_ARCH_LH7A40X) || \ | ||
42 | defined(CONFIG_ARCH_OMAP) | ||
43 | .macro loadsp, rb | ||
44 | addruart \rb | ||
45 | .endm | ||
46 | #elif defined(CONFIG_ARCH_SA1100) | ||
47 | .macro loadsp, rb | 37 | .macro loadsp, rb |
48 | mov \rb, #0x80000000 @ physical base address | 38 | mov \rb, #0x80000000 @ physical base address |
49 | # if defined(CONFIG_DEBUG_LL_SER3) | 39 | #ifdef CONFIG_DEBUG_LL_SER3 |
50 | add \rb, \rb, #0x00050000 @ Ser3 | 40 | add \rb, \rb, #0x00050000 @ Ser3 |
51 | # else | 41 | #else |
52 | add \rb, \rb, #0x00010000 @ Ser1 | 42 | add \rb, \rb, #0x00010000 @ Ser1 |
53 | # endif | 43 | #endif |
54 | .endm | 44 | .endm |
55 | #elif defined(CONFIG_ARCH_IOP331) | 45 | #elif defined(CONFIG_ARCH_IOP331) |
56 | .macro loadsp, rb | 46 | .macro loadsp, rb |
@@ -64,7 +54,9 @@ | |||
64 | add \rb, \rb, #0x4000 * CONFIG_S3C2410_LOWLEVEL_UART_PORT | 54 | add \rb, \rb, #0x4000 * CONFIG_S3C2410_LOWLEVEL_UART_PORT |
65 | .endm | 55 | .endm |
66 | #else | 56 | #else |
67 | #error no serial architecture defined | 57 | .macro loadsp, rb |
58 | addruart \rb | ||
59 | .endm | ||
68 | #endif | 60 | #endif |
69 | #endif | 61 | #endif |
70 | #endif | 62 | #endif |
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 39a6eea300a2..d0d6e6d2d649 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <asm/io.h> | 32 | #include <asm/io.h> |
33 | #include <asm/irq.h> | 33 | #include <asm/irq.h> |
34 | #include <asm/mach/irq.h> | 34 | #include <asm/mach/irq.h> |
35 | #include <asm/sizes.h> | ||
35 | 36 | ||
36 | #include <asm/hardware/sa1111.h> | 37 | #include <asm/hardware/sa1111.h> |
37 | 38 | ||
@@ -132,6 +133,17 @@ static struct sa1111_dev_info sa1111_devices[] = { | |||
132 | }, | 133 | }, |
133 | }; | 134 | }; |
134 | 135 | ||
136 | void __init sa1111_adjust_zones(int node, unsigned long *size, unsigned long *holes) | ||
137 | { | ||
138 | unsigned int sz = SZ_1M >> PAGE_SHIFT; | ||
139 | |||
140 | if (node != 0) | ||
141 | sz = 0; | ||
142 | |||
143 | size[1] = size[0] - sz; | ||
144 | size[0] = sz; | ||
145 | } | ||
146 | |||
135 | /* | 147 | /* |
136 | * SA1111 interrupt support. Since clearing an IRQ while there are | 148 | * SA1111 interrupt support. Since clearing an IRQ while there are |
137 | * active IRQs causes the interrupt output to pulse, the upper levels | 149 | * active IRQs causes the interrupt output to pulse, the upper levels |
diff --git a/arch/arm/configs/s3c2410_defconfig b/arch/arm/configs/s3c2410_defconfig index 756348bf5170..3f97590c91f2 100644 --- a/arch/arm/configs/s3c2410_defconfig +++ b/arch/arm/configs/s3c2410_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.13-git8 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Sep 8 19:24:02 2005 | 4 | # Sun Nov 13 17:41:24 2005 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -62,6 +62,23 @@ CONFIG_OBSOLETE_MODPARM=y | |||
62 | CONFIG_KMOD=y | 62 | CONFIG_KMOD=y |
63 | 63 | ||
64 | # | 64 | # |
65 | # Block layer | ||
66 | # | ||
67 | |||
68 | # | ||
69 | # IO Schedulers | ||
70 | # | ||
71 | CONFIG_IOSCHED_NOOP=y | ||
72 | CONFIG_IOSCHED_AS=y | ||
73 | CONFIG_IOSCHED_DEADLINE=y | ||
74 | CONFIG_IOSCHED_CFQ=y | ||
75 | CONFIG_DEFAULT_AS=y | ||
76 | # CONFIG_DEFAULT_DEADLINE is not set | ||
77 | # CONFIG_DEFAULT_CFQ is not set | ||
78 | # CONFIG_DEFAULT_NOOP is not set | ||
79 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
80 | |||
81 | # | ||
65 | # System Type | 82 | # System Type |
66 | # | 83 | # |
67 | # CONFIG_ARCH_CLPS7500 is not set | 84 | # CONFIG_ARCH_CLPS7500 is not set |
@@ -83,6 +100,7 @@ CONFIG_ARCH_S3C2410=y | |||
83 | # CONFIG_ARCH_LH7A40X is not set | 100 | # CONFIG_ARCH_LH7A40X is not set |
84 | # CONFIG_ARCH_OMAP is not set | 101 | # CONFIG_ARCH_OMAP is not set |
85 | # CONFIG_ARCH_VERSATILE is not set | 102 | # CONFIG_ARCH_VERSATILE is not set |
103 | # CONFIG_ARCH_REALVIEW is not set | ||
86 | # CONFIG_ARCH_IMX is not set | 104 | # CONFIG_ARCH_IMX is not set |
87 | # CONFIG_ARCH_H720X is not set | 105 | # CONFIG_ARCH_H720X is not set |
88 | # CONFIG_ARCH_AAEC2000 is not set | 106 | # CONFIG_ARCH_AAEC2000 is not set |
@@ -108,6 +126,7 @@ CONFIG_CPU_S3C2440=y | |||
108 | # S3C2410 Boot | 126 | # S3C2410 Boot |
109 | # | 127 | # |
110 | # CONFIG_S3C2410_BOOT_WATCHDOG is not set | 128 | # CONFIG_S3C2410_BOOT_WATCHDOG is not set |
129 | # CONFIG_S3C2410_BOOT_ERROR_RESET is not set | ||
111 | 130 | ||
112 | # | 131 | # |
113 | # S3C2410 Setup | 132 | # S3C2410 Setup |
@@ -142,6 +161,7 @@ CONFIG_CPU_TLB_V4WBI=y | |||
142 | # | 161 | # |
143 | # Bus support | 162 | # Bus support |
144 | # | 163 | # |
164 | CONFIG_ISA=y | ||
145 | CONFIG_ISA_DMA_API=y | 165 | CONFIG_ISA_DMA_API=y |
146 | 166 | ||
147 | # | 167 | # |
@@ -152,7 +172,6 @@ CONFIG_ISA_DMA_API=y | |||
152 | # | 172 | # |
153 | # Kernel Features | 173 | # Kernel Features |
154 | # | 174 | # |
155 | # CONFIG_SMP is not set | ||
156 | # CONFIG_PREEMPT is not set | 175 | # CONFIG_PREEMPT is not set |
157 | # CONFIG_NO_IDLE_HZ is not set | 176 | # CONFIG_NO_IDLE_HZ is not set |
158 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 177 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
@@ -163,6 +182,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
163 | CONFIG_FLATMEM=y | 182 | CONFIG_FLATMEM=y |
164 | CONFIG_FLAT_NODE_MEM_MAP=y | 183 | CONFIG_FLAT_NODE_MEM_MAP=y |
165 | # CONFIG_SPARSEMEM_STATIC is not set | 184 | # CONFIG_SPARSEMEM_STATIC is not set |
185 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
166 | CONFIG_ALIGNMENT_TRAP=y | 186 | CONFIG_ALIGNMENT_TRAP=y |
167 | 187 | ||
168 | # | 188 | # |
@@ -253,6 +273,10 @@ CONFIG_TCP_CONG_BIC=y | |||
253 | # CONFIG_NET_DIVERT is not set | 273 | # CONFIG_NET_DIVERT is not set |
254 | # CONFIG_ECONET is not set | 274 | # CONFIG_ECONET is not set |
255 | # CONFIG_WAN_ROUTER is not set | 275 | # CONFIG_WAN_ROUTER is not set |
276 | |||
277 | # | ||
278 | # QoS and/or fair queueing | ||
279 | # | ||
256 | # CONFIG_NET_SCHED is not set | 280 | # CONFIG_NET_SCHED is not set |
257 | # CONFIG_NET_CLS_ROUTE is not set | 281 | # CONFIG_NET_CLS_ROUTE is not set |
258 | 282 | ||
@@ -260,7 +284,6 @@ CONFIG_TCP_CONG_BIC=y | |||
260 | # Network testing | 284 | # Network testing |
261 | # | 285 | # |
262 | # CONFIG_NET_PKTGEN is not set | 286 | # CONFIG_NET_PKTGEN is not set |
263 | # CONFIG_NETFILTER_NETLINK is not set | ||
264 | # CONFIG_HAMRADIO is not set | 287 | # CONFIG_HAMRADIO is not set |
265 | # CONFIG_IRDA is not set | 288 | # CONFIG_IRDA is not set |
266 | # CONFIG_BT is not set | 289 | # CONFIG_BT is not set |
@@ -300,6 +323,7 @@ CONFIG_MTD_BLOCK=y | |||
300 | # CONFIG_FTL is not set | 323 | # CONFIG_FTL is not set |
301 | # CONFIG_NFTL is not set | 324 | # CONFIG_NFTL is not set |
302 | # CONFIG_INFTL is not set | 325 | # CONFIG_INFTL is not set |
326 | # CONFIG_RFD_FTL is not set | ||
303 | 327 | ||
304 | # | 328 | # |
305 | # RAM/ROM/Flash chip drivers | 329 | # RAM/ROM/Flash chip drivers |
@@ -335,7 +359,6 @@ CONFIG_MTD_ROM=y | |||
335 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 359 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
336 | # CONFIG_MTD_PHYSMAP is not set | 360 | # CONFIG_MTD_PHYSMAP is not set |
337 | # CONFIG_MTD_ARM_INTEGRATOR is not set | 361 | # CONFIG_MTD_ARM_INTEGRATOR is not set |
338 | # CONFIG_MTD_EDB7312 is not set | ||
339 | # CONFIG_MTD_IMPA7 is not set | 362 | # CONFIG_MTD_IMPA7 is not set |
340 | CONFIG_MTD_BAST=y | 363 | CONFIG_MTD_BAST=y |
341 | CONFIG_MTD_BAST_MAXSIZE=4 | 364 | CONFIG_MTD_BAST_MAXSIZE=4 |
@@ -370,6 +393,11 @@ CONFIG_MTD_NAND_S3C2410=y | |||
370 | # CONFIG_MTD_NAND_NANDSIM is not set | 393 | # CONFIG_MTD_NAND_NANDSIM is not set |
371 | 394 | ||
372 | # | 395 | # |
396 | # OneNAND Flash Device Drivers | ||
397 | # | ||
398 | # CONFIG_MTD_ONENAND is not set | ||
399 | |||
400 | # | ||
373 | # Parallel port support | 401 | # Parallel port support |
374 | # | 402 | # |
375 | CONFIG_PARPORT=y | 403 | CONFIG_PARPORT=y |
@@ -381,10 +409,12 @@ CONFIG_PARPORT_1284=y | |||
381 | # | 409 | # |
382 | # Plug and Play support | 410 | # Plug and Play support |
383 | # | 411 | # |
412 | # CONFIG_PNP is not set | ||
384 | 413 | ||
385 | # | 414 | # |
386 | # Block devices | 415 | # Block devices |
387 | # | 416 | # |
417 | # CONFIG_BLK_DEV_XD is not set | ||
388 | # CONFIG_PARIDE is not set | 418 | # CONFIG_PARIDE is not set |
389 | # CONFIG_BLK_DEV_COW_COMMON is not set | 419 | # CONFIG_BLK_DEV_COW_COMMON is not set |
390 | CONFIG_BLK_DEV_LOOP=y | 420 | CONFIG_BLK_DEV_LOOP=y |
@@ -395,14 +425,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16 | |||
395 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 425 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
396 | CONFIG_BLK_DEV_INITRD=y | 426 | CONFIG_BLK_DEV_INITRD=y |
397 | # CONFIG_CDROM_PKTCDVD is not set | 427 | # CONFIG_CDROM_PKTCDVD is not set |
398 | |||
399 | # | ||
400 | # IO Schedulers | ||
401 | # | ||
402 | CONFIG_IOSCHED_NOOP=y | ||
403 | CONFIG_IOSCHED_AS=y | ||
404 | CONFIG_IOSCHED_DEADLINE=y | ||
405 | CONFIG_IOSCHED_CFQ=y | ||
406 | CONFIG_ATA_OVER_ETH=m | 428 | CONFIG_ATA_OVER_ETH=m |
407 | 429 | ||
408 | # | 430 | # |
@@ -428,6 +450,7 @@ CONFIG_BLK_DEV_IDEFLOPPY=m | |||
428 | CONFIG_IDE_GENERIC=y | 450 | CONFIG_IDE_GENERIC=y |
429 | # CONFIG_IDE_ARM is not set | 451 | # CONFIG_IDE_ARM is not set |
430 | CONFIG_BLK_DEV_IDE_BAST=y | 452 | CONFIG_BLK_DEV_IDE_BAST=y |
453 | # CONFIG_IDE_CHIPSETS is not set | ||
431 | # CONFIG_BLK_DEV_IDEDMA is not set | 454 | # CONFIG_BLK_DEV_IDEDMA is not set |
432 | # CONFIG_IDEDMA_AUTO is not set | 455 | # CONFIG_IDEDMA_AUTO is not set |
433 | # CONFIG_BLK_DEV_HD is not set | 456 | # CONFIG_BLK_DEV_HD is not set |
@@ -467,6 +490,11 @@ CONFIG_NETDEVICES=y | |||
467 | # CONFIG_TUN is not set | 490 | # CONFIG_TUN is not set |
468 | 491 | ||
469 | # | 492 | # |
493 | # ARCnet devices | ||
494 | # | ||
495 | # CONFIG_ARCNET is not set | ||
496 | |||
497 | # | ||
470 | # PHY device support | 498 | # PHY device support |
471 | # | 499 | # |
472 | # CONFIG_PHYLIB is not set | 500 | # CONFIG_PHYLIB is not set |
@@ -475,9 +503,19 @@ CONFIG_NETDEVICES=y | |||
475 | # Ethernet (10 or 100Mbit) | 503 | # Ethernet (10 or 100Mbit) |
476 | # | 504 | # |
477 | CONFIG_NET_ETHERNET=y | 505 | CONFIG_NET_ETHERNET=y |
478 | CONFIG_MII=m | 506 | CONFIG_MII=y |
507 | # CONFIG_NET_VENDOR_3COM is not set | ||
508 | # CONFIG_LANCE is not set | ||
509 | # CONFIG_NET_VENDOR_SMC is not set | ||
479 | # CONFIG_SMC91X is not set | 510 | # CONFIG_SMC91X is not set |
480 | CONFIG_DM9000=m | 511 | CONFIG_DM9000=y |
512 | # CONFIG_NET_VENDOR_RACAL is not set | ||
513 | # CONFIG_AT1700 is not set | ||
514 | # CONFIG_DEPCA is not set | ||
515 | # CONFIG_HP100 is not set | ||
516 | # CONFIG_NET_ISA is not set | ||
517 | # CONFIG_NET_PCI is not set | ||
518 | # CONFIG_NET_POCKET is not set | ||
481 | 519 | ||
482 | # | 520 | # |
483 | # Ethernet (1000 Mbit) | 521 | # Ethernet (1000 Mbit) |
@@ -490,6 +528,7 @@ CONFIG_DM9000=m | |||
490 | # | 528 | # |
491 | # Token Ring devices | 529 | # Token Ring devices |
492 | # | 530 | # |
531 | # CONFIG_TR is not set | ||
493 | 532 | ||
494 | # | 533 | # |
495 | # Wireless LAN (non-hamradio) | 534 | # Wireless LAN (non-hamradio) |
@@ -542,6 +581,9 @@ CONFIG_KEYBOARD_ATKBD=y | |||
542 | CONFIG_INPUT_MOUSE=y | 581 | CONFIG_INPUT_MOUSE=y |
543 | CONFIG_MOUSE_PS2=y | 582 | CONFIG_MOUSE_PS2=y |
544 | # CONFIG_MOUSE_SERIAL is not set | 583 | # CONFIG_MOUSE_SERIAL is not set |
584 | # CONFIG_MOUSE_INPORT is not set | ||
585 | # CONFIG_MOUSE_LOGIBM is not set | ||
586 | # CONFIG_MOUSE_PC110PAD is not set | ||
545 | # CONFIG_MOUSE_VSXXXAA is not set | 587 | # CONFIG_MOUSE_VSXXXAA is not set |
546 | # CONFIG_INPUT_JOYSTICK is not set | 588 | # CONFIG_INPUT_JOYSTICK is not set |
547 | # CONFIG_INPUT_TOUCHSCREEN is not set | 589 | # CONFIG_INPUT_TOUCHSCREEN is not set |
@@ -568,6 +610,7 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
568 | # CONFIG_ROCKETPORT is not set | 610 | # CONFIG_ROCKETPORT is not set |
569 | # CONFIG_CYCLADES is not set | 611 | # CONFIG_CYCLADES is not set |
570 | # CONFIG_DIGIEPCA is not set | 612 | # CONFIG_DIGIEPCA is not set |
613 | # CONFIG_ESPSERIAL is not set | ||
571 | # CONFIG_MOXA_INTELLIO is not set | 614 | # CONFIG_MOXA_INTELLIO is not set |
572 | # CONFIG_MOXA_SMARTIO is not set | 615 | # CONFIG_MOXA_SMARTIO is not set |
573 | # CONFIG_ISI is not set | 616 | # CONFIG_ISI is not set |
@@ -590,6 +633,10 @@ CONFIG_SERIAL_8250_MANY_PORTS=y | |||
590 | CONFIG_SERIAL_8250_SHARE_IRQ=y | 633 | CONFIG_SERIAL_8250_SHARE_IRQ=y |
591 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set | 634 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set |
592 | # CONFIG_SERIAL_8250_RSA is not set | 635 | # CONFIG_SERIAL_8250_RSA is not set |
636 | # CONFIG_SERIAL_8250_FOURPORT is not set | ||
637 | # CONFIG_SERIAL_8250_ACCENT is not set | ||
638 | # CONFIG_SERIAL_8250_BOCA is not set | ||
639 | # CONFIG_SERIAL_8250_HUB6 is not set | ||
593 | 640 | ||
594 | # | 641 | # |
595 | # Non-8250 serial port support | 642 | # Non-8250 serial port support |
@@ -622,6 +669,13 @@ CONFIG_WATCHDOG=y | |||
622 | # | 669 | # |
623 | # CONFIG_SOFT_WATCHDOG is not set | 670 | # CONFIG_SOFT_WATCHDOG is not set |
624 | CONFIG_S3C2410_WATCHDOG=y | 671 | CONFIG_S3C2410_WATCHDOG=y |
672 | |||
673 | # | ||
674 | # ISA-based Watchdog Cards | ||
675 | # | ||
676 | # CONFIG_PCWATCHDOG is not set | ||
677 | # CONFIG_MIXCOMWD is not set | ||
678 | # CONFIG_WDT is not set | ||
625 | # CONFIG_NVRAM is not set | 679 | # CONFIG_NVRAM is not set |
626 | # CONFIG_RTC is not set | 680 | # CONFIG_RTC is not set |
627 | CONFIG_S3C2410_RTC=y | 681 | CONFIG_S3C2410_RTC=y |
@@ -636,6 +690,7 @@ CONFIG_S3C2410_RTC=y | |||
636 | # | 690 | # |
637 | # TPM devices | 691 | # TPM devices |
638 | # | 692 | # |
693 | # CONFIG_TELCLOCK is not set | ||
639 | 694 | ||
640 | # | 695 | # |
641 | # I2C support | 696 | # I2C support |
@@ -653,6 +708,7 @@ CONFIG_I2C_ALGOBIT=m | |||
653 | # | 708 | # |
654 | # I2C Hardware Bus support | 709 | # I2C Hardware Bus support |
655 | # | 710 | # |
711 | # CONFIG_I2C_ELEKTOR is not set | ||
656 | CONFIG_I2C_ISA=m | 712 | CONFIG_I2C_ISA=m |
657 | # CONFIG_I2C_PARPORT is not set | 713 | # CONFIG_I2C_PARPORT is not set |
658 | # CONFIG_I2C_PARPORT_LIGHT is not set | 714 | # CONFIG_I2C_PARPORT_LIGHT is not set |
@@ -671,6 +727,7 @@ CONFIG_SENSORS_EEPROM=m | |||
671 | # CONFIG_SENSORS_PCF8591 is not set | 727 | # CONFIG_SENSORS_PCF8591 is not set |
672 | # CONFIG_SENSORS_RTC8564 is not set | 728 | # CONFIG_SENSORS_RTC8564 is not set |
673 | # CONFIG_SENSORS_MAX6875 is not set | 729 | # CONFIG_SENSORS_MAX6875 is not set |
730 | # CONFIG_RTC_X1205_I2C is not set | ||
674 | # CONFIG_I2C_DEBUG_CORE is not set | 731 | # CONFIG_I2C_DEBUG_CORE is not set |
675 | # CONFIG_I2C_DEBUG_ALGO is not set | 732 | # CONFIG_I2C_DEBUG_ALGO is not set |
676 | # CONFIG_I2C_DEBUG_BUS is not set | 733 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -737,22 +794,28 @@ CONFIG_SENSORS_LM85=m | |||
737 | # Graphics support | 794 | # Graphics support |
738 | # | 795 | # |
739 | CONFIG_FB=y | 796 | CONFIG_FB=y |
740 | # CONFIG_FB_CFB_FILLRECT is not set | 797 | CONFIG_FB_CFB_FILLRECT=y |
741 | # CONFIG_FB_CFB_COPYAREA is not set | 798 | CONFIG_FB_CFB_COPYAREA=y |
742 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 799 | CONFIG_FB_CFB_IMAGEBLIT=y |
743 | # CONFIG_FB_SOFT_CURSOR is not set | ||
744 | # CONFIG_FB_MACMODES is not set | 800 | # CONFIG_FB_MACMODES is not set |
745 | CONFIG_FB_MODE_HELPERS=y | 801 | CONFIG_FB_MODE_HELPERS=y |
746 | # CONFIG_FB_TILEBLITTING is not set | 802 | # CONFIG_FB_TILEBLITTING is not set |
747 | # CONFIG_FB_S1D13XXX is not set | 803 | # CONFIG_FB_S1D13XXX is not set |
804 | CONFIG_FB_S3C2410=y | ||
805 | # CONFIG_FB_S3C2410_DEBUG is not set | ||
748 | # CONFIG_FB_VIRTUAL is not set | 806 | # CONFIG_FB_VIRTUAL is not set |
749 | 807 | ||
750 | # | 808 | # |
751 | # Console display driver support | 809 | # Console display driver support |
752 | # | 810 | # |
753 | # CONFIG_VGA_CONSOLE is not set | 811 | # CONFIG_VGA_CONSOLE is not set |
812 | # CONFIG_MDA_CONSOLE is not set | ||
754 | CONFIG_DUMMY_CONSOLE=y | 813 | CONFIG_DUMMY_CONSOLE=y |
755 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 814 | CONFIG_FRAMEBUFFER_CONSOLE=y |
815 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
816 | # CONFIG_FONTS is not set | ||
817 | CONFIG_FONT_8x8=y | ||
818 | CONFIG_FONT_8x16=y | ||
756 | 819 | ||
757 | # | 820 | # |
758 | # Logo configuration | 821 | # Logo configuration |
@@ -773,6 +836,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
773 | # CONFIG_USB is not set | 836 | # CONFIG_USB is not set |
774 | 837 | ||
775 | # | 838 | # |
839 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
840 | # | ||
841 | |||
842 | # | ||
776 | # USB Gadget Support | 843 | # USB Gadget Support |
777 | # | 844 | # |
778 | # CONFIG_USB_GADGET is not set | 845 | # CONFIG_USB_GADGET is not set |
@@ -798,10 +865,6 @@ CONFIG_FS_MBCACHE=y | |||
798 | # CONFIG_REISERFS_FS is not set | 865 | # CONFIG_REISERFS_FS is not set |
799 | # CONFIG_JFS_FS is not set | 866 | # CONFIG_JFS_FS is not set |
800 | # CONFIG_FS_POSIX_ACL is not set | 867 | # CONFIG_FS_POSIX_ACL is not set |
801 | |||
802 | # | ||
803 | # XFS support | ||
804 | # | ||
805 | # CONFIG_XFS_FS is not set | 868 | # CONFIG_XFS_FS is not set |
806 | # CONFIG_MINIX_FS is not set | 869 | # CONFIG_MINIX_FS is not set |
807 | CONFIG_ROMFS_FS=y | 870 | CONFIG_ROMFS_FS=y |
@@ -810,6 +873,7 @@ CONFIG_INOTIFY=y | |||
810 | CONFIG_DNOTIFY=y | 873 | CONFIG_DNOTIFY=y |
811 | # CONFIG_AUTOFS_FS is not set | 874 | # CONFIG_AUTOFS_FS is not set |
812 | # CONFIG_AUTOFS4_FS is not set | 875 | # CONFIG_AUTOFS4_FS is not set |
876 | # CONFIG_FUSE_FS is not set | ||
813 | 877 | ||
814 | # | 878 | # |
815 | # CD-ROM/DVD Filesystems | 879 | # CD-ROM/DVD Filesystems |
@@ -854,6 +918,7 @@ CONFIG_JFFS_FS_VERBOSE=0 | |||
854 | CONFIG_JFFS2_FS=y | 918 | CONFIG_JFFS2_FS=y |
855 | CONFIG_JFFS2_FS_DEBUG=0 | 919 | CONFIG_JFFS2_FS_DEBUG=0 |
856 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 920 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
921 | # CONFIG_JFFS2_SUMMARY is not set | ||
857 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 922 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
858 | CONFIG_JFFS2_ZLIB=y | 923 | CONFIG_JFFS2_ZLIB=y |
859 | CONFIG_JFFS2_RTIME=y | 924 | CONFIG_JFFS2_RTIME=y |
@@ -884,6 +949,7 @@ CONFIG_SUNRPC=y | |||
884 | # CONFIG_NCP_FS is not set | 949 | # CONFIG_NCP_FS is not set |
885 | # CONFIG_CODA_FS is not set | 950 | # CONFIG_CODA_FS is not set |
886 | # CONFIG_AFS_FS is not set | 951 | # CONFIG_AFS_FS is not set |
952 | # CONFIG_9P_FS is not set | ||
887 | 953 | ||
888 | # | 954 | # |
889 | # Partition Types | 955 | # Partition Types |
@@ -959,7 +1025,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
959 | # | 1025 | # |
960 | # CONFIG_PRINTK_TIME is not set | 1026 | # CONFIG_PRINTK_TIME is not set |
961 | CONFIG_DEBUG_KERNEL=y | 1027 | CONFIG_DEBUG_KERNEL=y |
962 | # CONFIG_MAGIC_SYSRQ is not set | 1028 | CONFIG_MAGIC_SYSRQ=y |
963 | CONFIG_LOG_BUF_SHIFT=16 | 1029 | CONFIG_LOG_BUF_SHIFT=16 |
964 | CONFIG_DETECT_SOFTLOCKUP=y | 1030 | CONFIG_DETECT_SOFTLOCKUP=y |
965 | # CONFIG_SCHEDSTATS is not set | 1031 | # CONFIG_SCHEDSTATS is not set |
@@ -970,7 +1036,9 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
970 | CONFIG_DEBUG_BUGVERBOSE=y | 1036 | CONFIG_DEBUG_BUGVERBOSE=y |
971 | CONFIG_DEBUG_INFO=y | 1037 | CONFIG_DEBUG_INFO=y |
972 | # CONFIG_DEBUG_FS is not set | 1038 | # CONFIG_DEBUG_FS is not set |
1039 | # CONFIG_DEBUG_VM is not set | ||
973 | CONFIG_FRAME_POINTER=y | 1040 | CONFIG_FRAME_POINTER=y |
1041 | # CONFIG_RCU_TORTURE_TEST is not set | ||
974 | CONFIG_DEBUG_USER=y | 1042 | CONFIG_DEBUG_USER=y |
975 | # CONFIG_DEBUG_WAITQ is not set | 1043 | # CONFIG_DEBUG_WAITQ is not set |
976 | # CONFIG_DEBUG_ERRORS is not set | 1044 | # CONFIG_DEBUG_ERRORS is not set |
@@ -998,6 +1066,7 @@ CONFIG_DEBUG_S3C2410_UART=0 | |||
998 | # Library routines | 1066 | # Library routines |
999 | # | 1067 | # |
1000 | # CONFIG_CRC_CCITT is not set | 1068 | # CONFIG_CRC_CCITT is not set |
1069 | # CONFIG_CRC16 is not set | ||
1001 | CONFIG_CRC32=y | 1070 | CONFIG_CRC32=y |
1002 | # CONFIG_LIBCRC32C is not set | 1071 | # CONFIG_LIBCRC32C is not set |
1003 | CONFIG_ZLIB_INFLATE=y | 1072 | CONFIG_ZLIB_INFLATE=y |
diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c index 7a3261f0bf79..9997098009a9 100644 --- a/arch/arm/kernel/armksyms.c +++ b/arch/arm/kernel/armksyms.c | |||
@@ -120,7 +120,6 @@ EXPORT_SYMBOL(__arch_strncpy_from_user); | |||
120 | EXPORT_SYMBOL(__get_user_1); | 120 | EXPORT_SYMBOL(__get_user_1); |
121 | EXPORT_SYMBOL(__get_user_2); | 121 | EXPORT_SYMBOL(__get_user_2); |
122 | EXPORT_SYMBOL(__get_user_4); | 122 | EXPORT_SYMBOL(__get_user_4); |
123 | EXPORT_SYMBOL(__get_user_8); | ||
124 | 123 | ||
125 | EXPORT_SYMBOL(__put_user_1); | 124 | EXPORT_SYMBOL(__put_user_1); |
126 | EXPORT_SYMBOL(__put_user_2); | 125 | EXPORT_SYMBOL(__put_user_2); |
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 066597f4345a..f7f183075237 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S | |||
@@ -48,8 +48,7 @@ work_pending: | |||
48 | mov r0, sp @ 'regs' | 48 | mov r0, sp @ 'regs' |
49 | mov r2, why @ 'syscall' | 49 | mov r2, why @ 'syscall' |
50 | bl do_notify_resume | 50 | bl do_notify_resume |
51 | disable_irq @ disable interrupts | 51 | b ret_slow_syscall @ Check work again |
52 | b no_work_pending | ||
53 | 52 | ||
54 | work_resched: | 53 | work_resched: |
55 | bl schedule | 54 | bl schedule |
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index a917e3dd3666..765922bcf9e7 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c | |||
@@ -595,23 +595,22 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, | |||
595 | */ | 595 | */ |
596 | ret |= !valid_user_regs(regs); | 596 | ret |= !valid_user_regs(regs); |
597 | 597 | ||
598 | /* | ||
599 | * Block the signal if we were unsuccessful. | ||
600 | */ | ||
601 | if (ret != 0) { | 598 | if (ret != 0) { |
602 | spin_lock_irq(&tsk->sighand->siglock); | 599 | force_sigsegv(sig, tsk); |
603 | sigorsets(&tsk->blocked, &tsk->blocked, | 600 | return; |
604 | &ka->sa.sa_mask); | ||
605 | if (!(ka->sa.sa_flags & SA_NODEFER)) | ||
606 | sigaddset(&tsk->blocked, sig); | ||
607 | recalc_sigpending(); | ||
608 | spin_unlock_irq(&tsk->sighand->siglock); | ||
609 | } | 601 | } |
610 | 602 | ||
611 | if (ret == 0) | 603 | /* |
612 | return; | 604 | * Block the signal if we were successful. |
605 | */ | ||
606 | spin_lock_irq(&tsk->sighand->siglock); | ||
607 | sigorsets(&tsk->blocked, &tsk->blocked, | ||
608 | &ka->sa.sa_mask); | ||
609 | if (!(ka->sa.sa_flags & SA_NODEFER)) | ||
610 | sigaddset(&tsk->blocked, sig); | ||
611 | recalc_sigpending(); | ||
612 | spin_unlock_irq(&tsk->sighand->siglock); | ||
613 | 613 | ||
614 | force_sigsegv(sig, tsk); | ||
615 | } | 614 | } |
616 | 615 | ||
617 | /* | 616 | /* |
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 80c8e4c8cefa..9a47770114d4 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
@@ -172,6 +172,10 @@ SECTIONS | |||
172 | .comment 0 : { *(.comment) } | 172 | .comment 0 : { *(.comment) } |
173 | } | 173 | } |
174 | 174 | ||
175 | /* those must never be empty */ | 175 | /* |
176 | * These must never be empty | ||
177 | * If you have to comment these two assert statements out, your | ||
178 | * binutils is too old (for other reasons as well) | ||
179 | */ | ||
176 | ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support") | 180 | ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support") |
177 | ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined") | 181 | ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined") |
diff --git a/arch/arm/lib/getuser.S b/arch/arm/lib/getuser.S index d204018070a4..c03ea8e666ba 100644 --- a/arch/arm/lib/getuser.S +++ b/arch/arm/lib/getuser.S | |||
@@ -54,15 +54,6 @@ __get_user_4: | |||
54 | mov r0, #0 | 54 | mov r0, #0 |
55 | mov pc, lr | 55 | mov pc, lr |
56 | 56 | ||
57 | .global __get_user_8 | ||
58 | __get_user_8: | ||
59 | 5: ldrt r2, [r0], #4 | ||
60 | 6: ldrt r3, [r0] | ||
61 | mov r0, #0 | ||
62 | mov pc, lr | ||
63 | |||
64 | __get_user_bad_8: | ||
65 | mov r3, #0 | ||
66 | __get_user_bad: | 57 | __get_user_bad: |
67 | mov r2, #0 | 58 | mov r2, #0 |
68 | mov r0, #-EFAULT | 59 | mov r0, #-EFAULT |
@@ -73,6 +64,4 @@ __get_user_bad: | |||
73 | .long 2b, __get_user_bad | 64 | .long 2b, __get_user_bad |
74 | .long 3b, __get_user_bad | 65 | .long 3b, __get_user_bad |
75 | .long 4b, __get_user_bad | 66 | .long 4b, __get_user_bad |
76 | .long 5b, __get_user_bad_8 | ||
77 | .long 6b, __get_user_bad_8 | ||
78 | .previous | 67 | .previous |
diff --git a/arch/arm/mach-pxa/corgi_lcd.c b/arch/arm/mach-pxa/corgi_lcd.c index 698eb06545c4..6dbcaf114ad7 100644 --- a/arch/arm/mach-pxa/corgi_lcd.c +++ b/arch/arm/mach-pxa/corgi_lcd.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/string.h> | 22 | #include <linux/string.h> |
23 | #include <asm/arch/akita.h> | 23 | #include <asm/arch/akita.h> |
24 | #include <asm/arch/corgi.h> | 24 | #include <asm/arch/corgi.h> |
25 | #include <asm/arch/hardware.h> | 25 | #include <asm/hardware.h> |
26 | #include <asm/arch/pxa-regs.h> | 26 | #include <asm/arch/pxa-regs.h> |
27 | #include <asm/arch/sharpsl.h> | 27 | #include <asm/arch/sharpsl.h> |
28 | #include <asm/arch/spitz.h> | 28 | #include <asm/arch/spitz.h> |
diff --git a/arch/arm/mach-realview/core.h b/arch/arm/mach-realview/core.h index d83e8bad2038..c06e6041df41 100644 --- a/arch/arm/mach-realview/core.h +++ b/arch/arm/mach-realview/core.h | |||
@@ -26,8 +26,6 @@ | |||
26 | #include <asm/leds.h> | 26 | #include <asm/leds.h> |
27 | #include <asm/io.h> | 27 | #include <asm/io.h> |
28 | 28 | ||
29 | #define __io_address(n) __io(IO_ADDRESS(n)) | ||
30 | |||
31 | extern struct sys_timer realview_timer; | 29 | extern struct sys_timer realview_timer; |
32 | 30 | ||
33 | #define AMBA_DEVICE(name,busid,base,plat) \ | 31 | #define AMBA_DEVICE(name,busid,base,plat) \ |
diff --git a/arch/arm/mach-realview/localtimer.c b/arch/arm/mach-realview/localtimer.c index 5e917e37d095..c9d7c596b200 100644 --- a/arch/arm/mach-realview/localtimer.c +++ b/arch/arm/mach-realview/localtimer.c | |||
@@ -21,8 +21,6 @@ | |||
21 | #include <asm/io.h> | 21 | #include <asm/io.h> |
22 | #include <asm/irq.h> | 22 | #include <asm/irq.h> |
23 | 23 | ||
24 | #include "core.h" | ||
25 | |||
26 | #define TWD_BASE(cpu) (__io_address(REALVIEW_TWD_BASE) + \ | 24 | #define TWD_BASE(cpu) (__io_address(REALVIEW_TWD_BASE) + \ |
27 | ((cpu) * REALVIEW_TWD_SIZE)) | 25 | ((cpu) * REALVIEW_TWD_SIZE)) |
28 | 26 | ||
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c index 0c7d4ac9a7b3..a8fbd76d8be5 100644 --- a/arch/arm/mach-realview/platsmp.c +++ b/arch/arm/mach-realview/platsmp.c | |||
@@ -17,8 +17,7 @@ | |||
17 | #include <asm/cacheflush.h> | 17 | #include <asm/cacheflush.h> |
18 | #include <asm/hardware/arm_scu.h> | 18 | #include <asm/hardware/arm_scu.h> |
19 | #include <asm/hardware.h> | 19 | #include <asm/hardware.h> |
20 | 20 | #include <asm/io.h> | |
21 | #include "core.h" | ||
22 | 21 | ||
23 | extern void realview_secondary_startup(void); | 22 | extern void realview_secondary_startup(void); |
24 | 23 | ||
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index 1be2567a7486..4d962717fdf7 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -203,7 +203,7 @@ static struct s3c24xx_uart_clksrc bast_serial_clocks[] = { | |||
203 | .name = "pclk", | 203 | .name = "pclk", |
204 | .divisor = 1, | 204 | .divisor = 1, |
205 | .min_baud = 0, | 205 | .min_baud = 0, |
206 | .max_baud = 0. | 206 | .max_baud = 0, |
207 | } | 207 | } |
208 | }; | 208 | }; |
209 | 209 | ||
@@ -216,7 +216,7 @@ static struct s3c2410_uartcfg bast_uartcfgs[] = { | |||
216 | .ulcon = ULCON, | 216 | .ulcon = ULCON, |
217 | .ufcon = UFCON, | 217 | .ufcon = UFCON, |
218 | .clocks = bast_serial_clocks, | 218 | .clocks = bast_serial_clocks, |
219 | .clocks_size = ARRAY_SIZE(bast_serial_clocks) | 219 | .clocks_size = ARRAY_SIZE(bast_serial_clocks), |
220 | }, | 220 | }, |
221 | [1] = { | 221 | [1] = { |
222 | .hwport = 1, | 222 | .hwport = 1, |
@@ -225,7 +225,7 @@ static struct s3c2410_uartcfg bast_uartcfgs[] = { | |||
225 | .ulcon = ULCON, | 225 | .ulcon = ULCON, |
226 | .ufcon = UFCON, | 226 | .ufcon = UFCON, |
227 | .clocks = bast_serial_clocks, | 227 | .clocks = bast_serial_clocks, |
228 | .clocks_size = ARRAY_SIZE(bast_serial_clocks) | 228 | .clocks_size = ARRAY_SIZE(bast_serial_clocks), |
229 | }, | 229 | }, |
230 | /* port 2 is not actually used */ | 230 | /* port 2 is not actually used */ |
231 | [2] = { | 231 | [2] = { |
@@ -235,7 +235,7 @@ static struct s3c2410_uartcfg bast_uartcfgs[] = { | |||
235 | .ulcon = ULCON, | 235 | .ulcon = ULCON, |
236 | .ufcon = UFCON, | 236 | .ufcon = UFCON, |
237 | .clocks = bast_serial_clocks, | 237 | .clocks = bast_serial_clocks, |
238 | .clocks_size = ARRAY_SIZE(bast_serial_clocks) | 238 | .clocks_size = ARRAY_SIZE(bast_serial_clocks), |
239 | } | 239 | } |
240 | }; | 240 | }; |
241 | 241 | ||
@@ -268,7 +268,7 @@ static struct mtd_partition bast_default_nand_part[] = { | |||
268 | [0] = { | 268 | [0] = { |
269 | .name = "Boot Agent", | 269 | .name = "Boot Agent", |
270 | .size = SZ_16K, | 270 | .size = SZ_16K, |
271 | .offset = 0 | 271 | .offset = 0, |
272 | }, | 272 | }, |
273 | [1] = { | 273 | [1] = { |
274 | .name = "/boot", | 274 | .name = "/boot", |
@@ -296,28 +296,28 @@ static struct s3c2410_nand_set bast_nand_sets[] = { | |||
296 | .nr_chips = 1, | 296 | .nr_chips = 1, |
297 | .nr_map = smartmedia_map, | 297 | .nr_map = smartmedia_map, |
298 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), | 298 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), |
299 | .partitions = bast_default_nand_part | 299 | .partitions = bast_default_nand_part, |
300 | }, | 300 | }, |
301 | [1] = { | 301 | [1] = { |
302 | .name = "chip0", | 302 | .name = "chip0", |
303 | .nr_chips = 1, | 303 | .nr_chips = 1, |
304 | .nr_map = chip0_map, | 304 | .nr_map = chip0_map, |
305 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), | 305 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), |
306 | .partitions = bast_default_nand_part | 306 | .partitions = bast_default_nand_part, |
307 | }, | 307 | }, |
308 | [2] = { | 308 | [2] = { |
309 | .name = "chip1", | 309 | .name = "chip1", |
310 | .nr_chips = 1, | 310 | .nr_chips = 1, |
311 | .nr_map = chip1_map, | 311 | .nr_map = chip1_map, |
312 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), | 312 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), |
313 | .partitions = bast_default_nand_part | 313 | .partitions = bast_default_nand_part, |
314 | }, | 314 | }, |
315 | [3] = { | 315 | [3] = { |
316 | .name = "chip2", | 316 | .name = "chip2", |
317 | .nr_chips = 1, | 317 | .nr_chips = 1, |
318 | .nr_map = chip2_map, | 318 | .nr_map = chip2_map, |
319 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), | 319 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), |
320 | .partitions = bast_default_nand_part | 320 | .partitions = bast_default_nand_part, |
321 | } | 321 | } |
322 | }; | 322 | }; |
323 | 323 | ||
@@ -355,17 +355,17 @@ static struct resource bast_dm9k_resource[] = { | |||
355 | [0] = { | 355 | [0] = { |
356 | .start = S3C2410_CS5 + BAST_PA_DM9000, | 356 | .start = S3C2410_CS5 + BAST_PA_DM9000, |
357 | .end = S3C2410_CS5 + BAST_PA_DM9000 + 3, | 357 | .end = S3C2410_CS5 + BAST_PA_DM9000 + 3, |
358 | .flags = IORESOURCE_MEM | 358 | .flags = IORESOURCE_MEM, |
359 | }, | 359 | }, |
360 | [1] = { | 360 | [1] = { |
361 | .start = S3C2410_CS5 + BAST_PA_DM9000 + 0x40, | 361 | .start = S3C2410_CS5 + BAST_PA_DM9000 + 0x40, |
362 | .end = S3C2410_CS5 + BAST_PA_DM9000 + 0x40 + 0x3f, | 362 | .end = S3C2410_CS5 + BAST_PA_DM9000 + 0x40 + 0x3f, |
363 | .flags = IORESOURCE_MEM | 363 | .flags = IORESOURCE_MEM, |
364 | }, | 364 | }, |
365 | [2] = { | 365 | [2] = { |
366 | .start = IRQ_DM9000, | 366 | .start = IRQ_DM9000, |
367 | .end = IRQ_DM9000, | 367 | .end = IRQ_DM9000, |
368 | .flags = IORESOURCE_IRQ | 368 | .flags = IORESOURCE_IRQ, |
369 | } | 369 | } |
370 | 370 | ||
371 | }; | 371 | }; |
@@ -375,7 +375,7 @@ static struct resource bast_dm9k_resource[] = { | |||
375 | */ | 375 | */ |
376 | 376 | ||
377 | static struct dm9000_plat_data bast_dm9k_platdata = { | 377 | static struct dm9000_plat_data bast_dm9k_platdata = { |
378 | .flags = DM9000_PLATF_16BITONLY | 378 | .flags = DM9000_PLATF_16BITONLY, |
379 | }; | 379 | }; |
380 | 380 | ||
381 | static struct platform_device bast_device_dm9k = { | 381 | static struct platform_device bast_device_dm9k = { |
@@ -492,7 +492,7 @@ static struct s3c24xx_board bast_board __initdata = { | |||
492 | .devices = bast_devices, | 492 | .devices = bast_devices, |
493 | .devices_count = ARRAY_SIZE(bast_devices), | 493 | .devices_count = ARRAY_SIZE(bast_devices), |
494 | .clocks = bast_clocks, | 494 | .clocks = bast_clocks, |
495 | .clocks_count = ARRAY_SIZE(bast_clocks) | 495 | .clocks_count = ARRAY_SIZE(bast_clocks), |
496 | }; | 496 | }; |
497 | 497 | ||
498 | static void __init bast_map_io(void) | 498 | static void __init bast_map_io(void) |
diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile index 59f47d4c2dfe..ffe73ba2bf17 100644 --- a/arch/arm/mm/Makefile +++ b/arch/arm/mm/Makefile | |||
@@ -51,4 +51,4 @@ obj-$(CONFIG_CPU_ARM1026) += proc-arm1026.o | |||
51 | obj-$(CONFIG_CPU_SA110) += proc-sa110.o | 51 | obj-$(CONFIG_CPU_SA110) += proc-sa110.o |
52 | obj-$(CONFIG_CPU_SA1100) += proc-sa1100.o | 52 | obj-$(CONFIG_CPU_SA1100) += proc-sa1100.o |
53 | obj-$(CONFIG_CPU_XSCALE) += proc-xscale.o | 53 | obj-$(CONFIG_CPU_XSCALE) += proc-xscale.o |
54 | obj-$(CONFIG_CPU_V6) += proc-v6.o blockops.o | 54 | obj-$(CONFIG_CPU_V6) += proc-v6.o |
diff --git a/arch/arm/mm/blockops.c b/arch/arm/mm/blockops.c deleted file mode 100644 index 4f5ee2d08996..000000000000 --- a/arch/arm/mm/blockops.c +++ /dev/null | |||
@@ -1,185 +0,0 @@ | |||
1 | #include <linux/kernel.h> | ||
2 | #include <linux/init.h> | ||
3 | #include <linux/errno.h> | ||
4 | #include <linux/mm.h> | ||
5 | |||
6 | #include <asm/memory.h> | ||
7 | #include <asm/ptrace.h> | ||
8 | #include <asm/cacheflush.h> | ||
9 | #include <asm/traps.h> | ||
10 | |||
11 | extern struct cpu_cache_fns blk_cache_fns; | ||
12 | |||
13 | #define HARVARD_CACHE | ||
14 | |||
15 | /* | ||
16 | * blk_flush_kern_dcache_page(kaddr) | ||
17 | * | ||
18 | * Ensure that the data held in the page kaddr is written back | ||
19 | * to the page in question. | ||
20 | * | ||
21 | * - kaddr - kernel address (guaranteed to be page aligned) | ||
22 | */ | ||
23 | static void __attribute__((naked)) | ||
24 | blk_flush_kern_dcache_page(void *kaddr) | ||
25 | { | ||
26 | asm( | ||
27 | "add r1, r0, %0 \n\ | ||
28 | sub r1, r1, %1 \n\ | ||
29 | 1: .word 0xec401f0e @ mcrr p15, 0, r0, r1, c14, 0 @ blocking \n\ | ||
30 | mov r0, #0 \n\ | ||
31 | mcr p15, 0, r0, c7, c5, 0 \n\ | ||
32 | mcr p15, 0, r0, c7, c10, 4 \n\ | ||
33 | mov pc, lr" | ||
34 | : | ||
35 | : "I" (PAGE_SIZE), "I" (L1_CACHE_BYTES)); | ||
36 | } | ||
37 | |||
38 | /* | ||
39 | * blk_dma_inv_range(start,end) | ||
40 | * | ||
41 | * Invalidate the data cache within the specified region; we will | ||
42 | * be performing a DMA operation in this region and we want to | ||
43 | * purge old data in the cache. | ||
44 | * | ||
45 | * - start - virtual start address of region | ||
46 | * - end - virtual end address of region | ||
47 | */ | ||
48 | static void __attribute__((naked)) | ||
49 | blk_dma_inv_range_unified(unsigned long start, unsigned long end) | ||
50 | { | ||
51 | asm( | ||
52 | "tst r0, %0 \n\ | ||
53 | mcrne p15, 0, r0, c7, c11, 1 @ clean unified line \n\ | ||
54 | tst r1, %0 \n\ | ||
55 | mcrne p15, 0, r1, c7, c15, 1 @ clean & invalidate unified line\n\ | ||
56 | .word 0xec401f06 @ mcrr p15, 0, r1, r0, c6, 0 @ blocking \n\ | ||
57 | mov r0, #0 \n\ | ||
58 | mcr p15, 0, r0, c7, c10, 4 @ drain write buffer \n\ | ||
59 | mov pc, lr" | ||
60 | : | ||
61 | : "I" (L1_CACHE_BYTES - 1)); | ||
62 | } | ||
63 | |||
64 | static void __attribute__((naked)) | ||
65 | blk_dma_inv_range_harvard(unsigned long start, unsigned long end) | ||
66 | { | ||
67 | asm( | ||
68 | "tst r0, %0 \n\ | ||
69 | mcrne p15, 0, r0, c7, c10, 1 @ clean D line \n\ | ||
70 | tst r1, %0 \n\ | ||
71 | mcrne p15, 0, r1, c7, c14, 1 @ clean & invalidate D line \n\ | ||
72 | .word 0xec401f06 @ mcrr p15, 0, r1, r0, c6, 0 @ blocking \n\ | ||
73 | mov r0, #0 \n\ | ||
74 | mcr p15, 0, r0, c7, c10, 4 @ drain write buffer \n\ | ||
75 | mov pc, lr" | ||
76 | : | ||
77 | : "I" (L1_CACHE_BYTES - 1)); | ||
78 | } | ||
79 | |||
80 | /* | ||
81 | * blk_dma_clean_range(start,end) | ||
82 | * - start - virtual start address of region | ||
83 | * - end - virtual end address of region | ||
84 | */ | ||
85 | static void __attribute__((naked)) | ||
86 | blk_dma_clean_range(unsigned long start, unsigned long end) | ||
87 | { | ||
88 | asm( | ||
89 | ".word 0xec401f0c @ mcrr p15, 0, r1, r0, c12, 0 @ blocking \n\ | ||
90 | mov r0, #0 \n\ | ||
91 | mcr p15, 0, r0, c7, c10, 4 @ drain write buffer \n\ | ||
92 | mov pc, lr"); | ||
93 | } | ||
94 | |||
95 | /* | ||
96 | * blk_dma_flush_range(start,end) | ||
97 | * - start - virtual start address of region | ||
98 | * - end - virtual end address of region | ||
99 | */ | ||
100 | static void __attribute__((naked)) | ||
101 | blk_dma_flush_range(unsigned long start, unsigned long end) | ||
102 | { | ||
103 | asm( | ||
104 | ".word 0xec401f0e @ mcrr p15, 0, r1, r0, c14, 0 @ blocking \n\ | ||
105 | mov pc, lr"); | ||
106 | } | ||
107 | |||
108 | static int blockops_trap(struct pt_regs *regs, unsigned int instr) | ||
109 | { | ||
110 | regs->ARM_r4 |= regs->ARM_r2; | ||
111 | regs->ARM_pc += 4; | ||
112 | return 0; | ||
113 | } | ||
114 | |||
115 | static char *func[] = { | ||
116 | "Prefetch data range", | ||
117 | "Clean+Invalidate data range", | ||
118 | "Clean data range", | ||
119 | "Invalidate data range", | ||
120 | "Invalidate instr range" | ||
121 | }; | ||
122 | |||
123 | static struct undef_hook blockops_hook __initdata = { | ||
124 | .instr_mask = 0x0fffffd0, | ||
125 | .instr_val = 0x0c401f00, | ||
126 | .cpsr_mask = PSR_T_BIT, | ||
127 | .cpsr_val = 0, | ||
128 | .fn = blockops_trap, | ||
129 | }; | ||
130 | |||
131 | static int __init blockops_check(void) | ||
132 | { | ||
133 | register unsigned int err asm("r4") = 0; | ||
134 | unsigned int err_pos = 1; | ||
135 | unsigned int cache_type; | ||
136 | int i; | ||
137 | |||
138 | asm("mrc p15, 0, %0, c0, c0, 1" : "=r" (cache_type)); | ||
139 | |||
140 | printk("Checking V6 block cache operations:\n"); | ||
141 | register_undef_hook(&blockops_hook); | ||
142 | |||
143 | __asm__ ("mov r0, %0\n\t" | ||
144 | "mov r1, %1\n\t" | ||
145 | "mov r2, #1\n\t" | ||
146 | ".word 0xec401f2c @ mcrr p15, 0, r1, r0, c12, 2\n\t" | ||
147 | "mov r2, #2\n\t" | ||
148 | ".word 0xec401f0e @ mcrr p15, 0, r1, r0, c14, 0\n\t" | ||
149 | "mov r2, #4\n\t" | ||
150 | ".word 0xec401f0c @ mcrr p15, 0, r1, r0, c12, 0\n\t" | ||
151 | "mov r2, #8\n\t" | ||
152 | ".word 0xec401f06 @ mcrr p15, 0, r1, r0, c6, 0\n\t" | ||
153 | "mov r2, #16\n\t" | ||
154 | ".word 0xec401f05 @ mcrr p15, 0, r1, r0, c5, 0\n\t" | ||
155 | : | ||
156 | : "r" (PAGE_OFFSET), "r" (PAGE_OFFSET + 128) | ||
157 | : "r0", "r1", "r2"); | ||
158 | |||
159 | unregister_undef_hook(&blockops_hook); | ||
160 | |||
161 | for (i = 0; i < ARRAY_SIZE(func); i++, err_pos <<= 1) | ||
162 | printk("%30s: %ssupported\n", func[i], err & err_pos ? "not " : ""); | ||
163 | |||
164 | if ((err & 8) == 0) { | ||
165 | printk(" --> Using %s block cache invalidate\n", | ||
166 | cache_type & (1 << 24) ? "harvard" : "unified"); | ||
167 | if (cache_type & (1 << 24)) | ||
168 | cpu_cache.dma_inv_range = blk_dma_inv_range_harvard; | ||
169 | else | ||
170 | cpu_cache.dma_inv_range = blk_dma_inv_range_unified; | ||
171 | } | ||
172 | if ((err & 4) == 0) { | ||
173 | printk(" --> Using block cache clean\n"); | ||
174 | cpu_cache.dma_clean_range = blk_dma_clean_range; | ||
175 | } | ||
176 | if ((err & 2) == 0) { | ||
177 | printk(" --> Using block cache clean+invalidate\n"); | ||
178 | cpu_cache.dma_flush_range = blk_dma_flush_range; | ||
179 | cpu_cache.flush_kern_dcache_page = blk_flush_kern_dcache_page; | ||
180 | } | ||
181 | |||
182 | return 0; | ||
183 | } | ||
184 | |||
185 | __initcall(blockops_check); | ||
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index c168f322ef8c..8b276ee38acf 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c | |||
@@ -420,7 +420,8 @@ static void __init bootmem_init(struct meminfo *mi) | |||
420 | * Set up device the mappings. Since we clear out the page tables for all | 420 | * Set up device the mappings. Since we clear out the page tables for all |
421 | * mappings above VMALLOC_END, we will remove any debug device mappings. | 421 | * mappings above VMALLOC_END, we will remove any debug device mappings. |
422 | * This means you have to be careful how you debug this function, or any | 422 | * This means you have to be careful how you debug this function, or any |
423 | * called function. (Do it by code inspection!) | 423 | * called function. This means you can't use any function or debugging |
424 | * method which may touch any device, otherwise the kernel _will_ crash. | ||
424 | */ | 425 | */ |
425 | static void __init devicemaps_init(struct machine_desc *mdesc) | 426 | static void __init devicemaps_init(struct machine_desc *mdesc) |
426 | { | 427 | { |
@@ -428,6 +429,12 @@ static void __init devicemaps_init(struct machine_desc *mdesc) | |||
428 | unsigned long addr; | 429 | unsigned long addr; |
429 | void *vectors; | 430 | void *vectors; |
430 | 431 | ||
432 | /* | ||
433 | * Allocate the vector page early. | ||
434 | */ | ||
435 | vectors = alloc_bootmem_low_pages(PAGE_SIZE); | ||
436 | BUG_ON(!vectors); | ||
437 | |||
431 | for (addr = VMALLOC_END; addr; addr += PGDIR_SIZE) | 438 | for (addr = VMALLOC_END; addr; addr += PGDIR_SIZE) |
432 | pmd_clear(pmd_off_k(addr)); | 439 | pmd_clear(pmd_off_k(addr)); |
433 | 440 | ||
@@ -461,12 +468,6 @@ static void __init devicemaps_init(struct machine_desc *mdesc) | |||
461 | create_mapping(&map); | 468 | create_mapping(&map); |
462 | #endif | 469 | #endif |
463 | 470 | ||
464 | flush_cache_all(); | ||
465 | local_flush_tlb_all(); | ||
466 | |||
467 | vectors = alloc_bootmem_low_pages(PAGE_SIZE); | ||
468 | BUG_ON(!vectors); | ||
469 | |||
470 | /* | 471 | /* |
471 | * Create a mapping for the machine vectors at the high-vectors | 472 | * Create a mapping for the machine vectors at the high-vectors |
472 | * location (0xffff0000). If we aren't using high-vectors, also | 473 | * location (0xffff0000). If we aren't using high-vectors, also |
@@ -491,12 +492,13 @@ static void __init devicemaps_init(struct machine_desc *mdesc) | |||
491 | mdesc->map_io(); | 492 | mdesc->map_io(); |
492 | 493 | ||
493 | /* | 494 | /* |
494 | * Finally flush the tlb again - this ensures that we're in a | 495 | * Finally flush the caches and tlb to ensure that we're in a |
495 | * consistent state wrt the writebuffer if the writebuffer needs | 496 | * consistent state wrt the writebuffer. This also ensures that |
496 | * draining. After this point, we can start to touch devices | 497 | * any write-allocated cache lines in the vector page are written |
497 | * again. | 498 | * back. After this point, we can start to touch devices again. |
498 | */ | 499 | */ |
499 | local_flush_tlb_all(); | 500 | local_flush_tlb_all(); |
501 | flush_cache_all(); | ||
500 | } | 502 | } |
501 | 503 | ||
502 | /* | 504 | /* |
diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c index 0f128c28fee4..10901398e4a2 100644 --- a/arch/arm/mm/ioremap.c +++ b/arch/arm/mm/ioremap.c | |||
@@ -130,8 +130,7 @@ remap_area_pages(unsigned long start, unsigned long phys_addr, | |||
130 | * mapping. See include/asm-arm/proc-armv/pgtable.h for more information. | 130 | * mapping. See include/asm-arm/proc-armv/pgtable.h for more information. |
131 | */ | 131 | */ |
132 | void __iomem * | 132 | void __iomem * |
133 | __ioremap(unsigned long phys_addr, size_t size, unsigned long flags, | 133 | __ioremap(unsigned long phys_addr, size_t size, unsigned long flags) |
134 | unsigned long align) | ||
135 | { | 134 | { |
136 | void * addr; | 135 | void * addr; |
137 | struct vm_struct * area; | 136 | struct vm_struct * area; |
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c index a1468d7326eb..38d7ebf87920 100644 --- a/arch/arm/plat-omap/dmtimer.c +++ b/arch/arm/plat-omap/dmtimer.c | |||
@@ -26,7 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | #include <linux/init.h> | 28 | #include <linux/init.h> |
29 | #include <asm/arch/hardware.h> | 29 | #include <asm/hardware.h> |
30 | #include <asm/arch/dmtimer.h> | 30 | #include <asm/arch/dmtimer.h> |
31 | #include <asm/io.h> | 31 | #include <asm/io.h> |
32 | #include <asm/arch/irqs.h> | 32 | #include <asm/arch/irqs.h> |
diff --git a/arch/arm/plat-omap/ocpi.c b/arch/arm/plat-omap/ocpi.c index 2ede2ee8cae4..b86148227480 100644 --- a/arch/arm/plat-omap/ocpi.c +++ b/arch/arm/plat-omap/ocpi.c | |||
@@ -34,7 +34,7 @@ | |||
34 | 34 | ||
35 | #include <asm/io.h> | 35 | #include <asm/io.h> |
36 | #include <asm/hardware/clock.h> | 36 | #include <asm/hardware/clock.h> |
37 | #include <asm/arch/hardware.h> | 37 | #include <asm/hardware.h> |
38 | 38 | ||
39 | #define OCPI_BASE 0xfffec320 | 39 | #define OCPI_BASE 0xfffec320 |
40 | #define OCPI_FAULT (OCPI_BASE + 0x00) | 40 | #define OCPI_FAULT (OCPI_BASE + 0x00) |
diff --git a/arch/arm/plat-omap/pm.c b/arch/arm/plat-omap/pm.c index 966cca031ca7..1a24e2c10714 100644 --- a/arch/arm/plat-omap/pm.c +++ b/arch/arm/plat-omap/pm.c | |||
@@ -509,7 +509,7 @@ static void omap_pm_init_proc(void) | |||
509 | * @state: suspend state we're entering. | 509 | * @state: suspend state we're entering. |
510 | * | 510 | * |
511 | */ | 511 | */ |
512 | //#include <asm/arch/hardware.h> | 512 | //#include <asm/hardware.h> |
513 | 513 | ||
514 | static int omap_pm_prepare(suspend_state_t state) | 514 | static int omap_pm_prepare(suspend_state_t state) |
515 | { | 515 | { |
diff --git a/arch/arm/plat-omap/sram-fn.S b/arch/arm/plat-omap/sram-fn.S index 4bea36964a00..66414cc8e6e3 100644 --- a/arch/arm/plat-omap/sram-fn.S +++ b/arch/arm/plat-omap/sram-fn.S | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/linkage.h> | 12 | #include <linux/linkage.h> |
13 | #include <asm/assembler.h> | 13 | #include <asm/assembler.h> |
14 | #include <asm/arch/io.h> | 14 | #include <asm/arch/io.h> |
15 | #include <asm/arch/hardware.h> | 15 | #include <asm/hardware.h> |
16 | 16 | ||
17 | .text | 17 | .text |
18 | 18 | ||
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c index f36677241ecd..76b1135d401a 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c | |||
@@ -248,9 +248,7 @@ acpi_parse_lapic(acpi_table_entry_header * header, const unsigned long end) | |||
248 | 248 | ||
249 | acpi_table_print_madt_entry(header); | 249 | acpi_table_print_madt_entry(header); |
250 | 250 | ||
251 | /* no utility in registering a disabled processor */ | 251 | /* Register even disabled CPUs for cpu hotplug */ |
252 | if (processor->flags.enabled == 0) | ||
253 | return 0; | ||
254 | 252 | ||
255 | x86_acpiid_to_apicid[processor->acpi_id] = processor->id; | 253 | x86_acpiid_to_apicid[processor->acpi_id] = processor->id; |
256 | 254 | ||
diff --git a/arch/i386/kernel/mpparse.c b/arch/i386/kernel/mpparse.c index 8f767d9aa45d..1ca5269b1e86 100644 --- a/arch/i386/kernel/mpparse.c +++ b/arch/i386/kernel/mpparse.c | |||
@@ -220,8 +220,9 @@ static void __devinit MP_processor_info (struct mpc_config_processor *m) | |||
220 | num_processors++; | 220 | num_processors++; |
221 | 221 | ||
222 | if ((num_processors > 8) && | 222 | if ((num_processors > 8) && |
223 | APIC_XAPIC(ver) && | 223 | ((APIC_XAPIC(ver) && |
224 | (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)) | 224 | (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)) || |
225 | (boot_cpu_data.x86_vendor == X86_VENDOR_AMD))) | ||
225 | def_to_bigsmp = 1; | 226 | def_to_bigsmp = 1; |
226 | else | 227 | else |
227 | def_to_bigsmp = 0; | 228 | def_to_bigsmp = 0; |
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S index e06f21f60dc5..301f2e9d262e 100644 --- a/arch/ia64/kernel/ivt.S +++ b/arch/ia64/kernel/ivt.S | |||
@@ -91,16 +91,17 @@ ENTRY(vhpt_miss) | |||
91 | * (the "original") TLB miss, which may either be caused by an instruction | 91 | * (the "original") TLB miss, which may either be caused by an instruction |
92 | * fetch or a data access (or non-access). | 92 | * fetch or a data access (or non-access). |
93 | * | 93 | * |
94 | * What we do here is normal TLB miss handing for the _original_ miss, followed | 94 | * What we do here is normal TLB miss handing for the _original_ miss, |
95 | * by inserting the TLB entry for the virtual page table page that the VHPT | 95 | * followed by inserting the TLB entry for the virtual page table page |
96 | * walker was attempting to access. The latter gets inserted as long | 96 | * that the VHPT walker was attempting to access. The latter gets |
97 | * as both L1 and L2 have valid mappings for the faulting address. | 97 | * inserted as long as page table entry above pte level have valid |
98 | * The TLB entry for the original miss gets inserted only if | 98 | * mappings for the faulting address. The TLB entry for the original |
99 | * the L3 entry indicates that the page is present. | 99 | * miss gets inserted only if the pte entry indicates that the page is |
100 | * present. | ||
100 | * | 101 | * |
101 | * do_page_fault gets invoked in the following cases: | 102 | * do_page_fault gets invoked in the following cases: |
102 | * - the faulting virtual address uses unimplemented address bits | 103 | * - the faulting virtual address uses unimplemented address bits |
103 | * - the faulting virtual address has no L1, L2, or L3 mapping | 104 | * - the faulting virtual address has no valid page table mapping |
104 | */ | 105 | */ |
105 | mov r16=cr.ifa // get address that caused the TLB miss | 106 | mov r16=cr.ifa // get address that caused the TLB miss |
106 | #ifdef CONFIG_HUGETLB_PAGE | 107 | #ifdef CONFIG_HUGETLB_PAGE |
@@ -126,7 +127,7 @@ ENTRY(vhpt_miss) | |||
126 | #endif | 127 | #endif |
127 | ;; | 128 | ;; |
128 | cmp.eq p6,p7=5,r17 // is IFA pointing into to region 5? | 129 | cmp.eq p6,p7=5,r17 // is IFA pointing into to region 5? |
129 | shr.u r18=r22,PGDIR_SHIFT // get bits 33-63 of the faulting address | 130 | shr.u r18=r22,PGDIR_SHIFT // get bottom portion of pgd index bit |
130 | ;; | 131 | ;; |
131 | (p7) dep r17=r17,r19,(PAGE_SHIFT-3),3 // put region number bits in place | 132 | (p7) dep r17=r17,r19,(PAGE_SHIFT-3),3 // put region number bits in place |
132 | 133 | ||
@@ -137,38 +138,38 @@ ENTRY(vhpt_miss) | |||
137 | (p6) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT | 138 | (p6) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT |
138 | (p7) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT-3 | 139 | (p7) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT-3 |
139 | ;; | 140 | ;; |
140 | (p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=PTA + IFA(33,42)*8 | 141 | (p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=pgd_offset for region 5 |
141 | (p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=PTA + (((IFA(61,63) << 7) | IFA(33,39))*8) | 142 | (p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=pgd_offset for region[0-4] |
142 | cmp.eq p7,p6=0,r21 // unused address bits all zeroes? | 143 | cmp.eq p7,p6=0,r21 // unused address bits all zeroes? |
143 | #ifdef CONFIG_PGTABLE_4 | 144 | #ifdef CONFIG_PGTABLE_4 |
144 | shr.u r28=r22,PUD_SHIFT // shift L2 index into position | 145 | shr.u r28=r22,PUD_SHIFT // shift pud index into position |
145 | #else | 146 | #else |
146 | shr.u r18=r22,PMD_SHIFT // shift L3 index into position | 147 | shr.u r18=r22,PMD_SHIFT // shift pmd index into position |
147 | #endif | 148 | #endif |
148 | ;; | 149 | ;; |
149 | ld8 r17=[r17] // fetch the L1 entry (may be 0) | 150 | ld8 r17=[r17] // get *pgd (may be 0) |
150 | ;; | 151 | ;; |
151 | (p7) cmp.eq p6,p7=r17,r0 // was L1 entry NULL? | 152 | (p7) cmp.eq p6,p7=r17,r0 // was pgd_present(*pgd) == NULL? |
152 | #ifdef CONFIG_PGTABLE_4 | 153 | #ifdef CONFIG_PGTABLE_4 |
153 | dep r28=r28,r17,3,(PAGE_SHIFT-3) // compute address of L2 page table entry | 154 | dep r28=r28,r17,3,(PAGE_SHIFT-3) // r28=pud_offset(pgd,addr) |
154 | ;; | 155 | ;; |
155 | shr.u r18=r22,PMD_SHIFT // shift L3 index into position | 156 | shr.u r18=r22,PMD_SHIFT // shift pmd index into position |
156 | (p7) ld8 r29=[r28] // fetch the L2 entry (may be 0) | 157 | (p7) ld8 r29=[r28] // get *pud (may be 0) |
157 | ;; | 158 | ;; |
158 | (p7) cmp.eq.or.andcm p6,p7=r29,r0 // was L2 entry NULL? | 159 | (p7) cmp.eq.or.andcm p6,p7=r29,r0 // was pud_present(*pud) == NULL? |
159 | dep r17=r18,r29,3,(PAGE_SHIFT-3) // compute address of L3 page table entry | 160 | dep r17=r18,r29,3,(PAGE_SHIFT-3) // r17=pmd_offset(pud,addr) |
160 | #else | 161 | #else |
161 | dep r17=r18,r17,3,(PAGE_SHIFT-3) // compute address of L3 page table entry | 162 | dep r17=r18,r17,3,(PAGE_SHIFT-3) // r17=pmd_offset(pgd,addr) |
162 | #endif | 163 | #endif |
163 | ;; | 164 | ;; |
164 | (p7) ld8 r20=[r17] // fetch the L3 entry (may be 0) | 165 | (p7) ld8 r20=[r17] // get *pmd (may be 0) |
165 | shr.u r19=r22,PAGE_SHIFT // shift L4 index into position | 166 | shr.u r19=r22,PAGE_SHIFT // shift pte index into position |
166 | ;; | 167 | ;; |
167 | (p7) cmp.eq.or.andcm p6,p7=r20,r0 // was L3 entry NULL? | 168 | (p7) cmp.eq.or.andcm p6,p7=r20,r0 // was pmd_present(*pmd) == NULL? |
168 | dep r21=r19,r20,3,(PAGE_SHIFT-3) // compute address of L4 page table entry | 169 | dep r21=r19,r20,3,(PAGE_SHIFT-3) // r21=pte_offset(pmd,addr) |
169 | ;; | 170 | ;; |
170 | (p7) ld8 r18=[r21] // read the L4 PTE | 171 | (p7) ld8 r18=[r21] // read *pte |
171 | mov r19=cr.isr // cr.isr bit 0 tells us if this is an insn miss | 172 | mov r19=cr.isr // cr.isr bit 32 tells us if this is an insn miss |
172 | ;; | 173 | ;; |
173 | (p7) tbit.z p6,p7=r18,_PAGE_P_BIT // page present bit cleared? | 174 | (p7) tbit.z p6,p7=r18,_PAGE_P_BIT // page present bit cleared? |
174 | mov r22=cr.iha // get the VHPT address that caused the TLB miss | 175 | mov r22=cr.iha // get the VHPT address that caused the TLB miss |
@@ -202,25 +203,33 @@ ENTRY(vhpt_miss) | |||
202 | dv_serialize_data | 203 | dv_serialize_data |
203 | 204 | ||
204 | /* | 205 | /* |
205 | * Re-check L2 and L3 pagetable. If they changed, we may have received a ptc.g | 206 | * Re-check pagetable entry. If they changed, we may have received a ptc.g |
206 | * between reading the pagetable and the "itc". If so, flush the entry we | 207 | * between reading the pagetable and the "itc". If so, flush the entry we |
207 | * inserted and retry. | 208 | * inserted and retry. At this point, we have: |
209 | * | ||
210 | * r28 = equivalent of pud_offset(pgd, ifa) | ||
211 | * r17 = equivalent of pmd_offset(pud, ifa) | ||
212 | * r21 = equivalent of pte_offset(pmd, ifa) | ||
213 | * | ||
214 | * r29 = *pud | ||
215 | * r20 = *pmd | ||
216 | * r18 = *pte | ||
208 | */ | 217 | */ |
209 | ld8 r25=[r21] // read L4 entry again | 218 | ld8 r25=[r21] // read *pte again |
210 | ld8 r26=[r17] // read L3 PTE again | 219 | ld8 r26=[r17] // read *pmd again |
211 | #ifdef CONFIG_PGTABLE_4 | 220 | #ifdef CONFIG_PGTABLE_4 |
212 | ld8 r18=[r28] // read L2 entry again | 221 | ld8 r19=[r28] // read *pud again |
213 | #endif | 222 | #endif |
214 | cmp.ne p6,p7=r0,r0 | 223 | cmp.ne p6,p7=r0,r0 |
215 | ;; | 224 | ;; |
216 | cmp.ne.or.andcm p6,p7=r26,r20 // did L3 entry change | 225 | cmp.ne.or.andcm p6,p7=r26,r20 // did *pmd change |
217 | #ifdef CONFIG_PGTABLE_4 | 226 | #ifdef CONFIG_PGTABLE_4 |
218 | cmp.ne.or.andcm p6,p7=r29,r18 // did L4 PTE change | 227 | cmp.ne.or.andcm p6,p7=r19,r29 // did *pud change |
219 | #endif | 228 | #endif |
220 | mov r27=PAGE_SHIFT<<2 | 229 | mov r27=PAGE_SHIFT<<2 |
221 | ;; | 230 | ;; |
222 | (p6) ptc.l r22,r27 // purge PTE page translation | 231 | (p6) ptc.l r22,r27 // purge PTE page translation |
223 | (p7) cmp.ne.or.andcm p6,p7=r25,r18 // did L4 PTE change | 232 | (p7) cmp.ne.or.andcm p6,p7=r25,r18 // did *pte change |
224 | ;; | 233 | ;; |
225 | (p6) ptc.l r16,r27 // purge translation | 234 | (p6) ptc.l r16,r27 // purge translation |
226 | #endif | 235 | #endif |
@@ -235,19 +244,19 @@ END(vhpt_miss) | |||
235 | ENTRY(itlb_miss) | 244 | ENTRY(itlb_miss) |
236 | DBG_FAULT(1) | 245 | DBG_FAULT(1) |
237 | /* | 246 | /* |
238 | * The ITLB handler accesses the L3 PTE via the virtually mapped linear | 247 | * The ITLB handler accesses the PTE via the virtually mapped linear |
239 | * page table. If a nested TLB miss occurs, we switch into physical | 248 | * page table. If a nested TLB miss occurs, we switch into physical |
240 | * mode, walk the page table, and then re-execute the L3 PTE read | 249 | * mode, walk the page table, and then re-execute the PTE read and |
241 | * and go on normally after that. | 250 | * go on normally after that. |
242 | */ | 251 | */ |
243 | mov r16=cr.ifa // get virtual address | 252 | mov r16=cr.ifa // get virtual address |
244 | mov r29=b0 // save b0 | 253 | mov r29=b0 // save b0 |
245 | mov r31=pr // save predicates | 254 | mov r31=pr // save predicates |
246 | .itlb_fault: | 255 | .itlb_fault: |
247 | mov r17=cr.iha // get virtual address of L3 PTE | 256 | mov r17=cr.iha // get virtual address of PTE |
248 | movl r30=1f // load nested fault continuation point | 257 | movl r30=1f // load nested fault continuation point |
249 | ;; | 258 | ;; |
250 | 1: ld8 r18=[r17] // read L3 PTE | 259 | 1: ld8 r18=[r17] // read *pte |
251 | ;; | 260 | ;; |
252 | mov b0=r29 | 261 | mov b0=r29 |
253 | tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared? | 262 | tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared? |
@@ -262,7 +271,7 @@ ENTRY(itlb_miss) | |||
262 | */ | 271 | */ |
263 | dv_serialize_data | 272 | dv_serialize_data |
264 | 273 | ||
265 | ld8 r19=[r17] // read L3 PTE again and see if same | 274 | ld8 r19=[r17] // read *pte again and see if same |
266 | mov r20=PAGE_SHIFT<<2 // setup page size for purge | 275 | mov r20=PAGE_SHIFT<<2 // setup page size for purge |
267 | ;; | 276 | ;; |
268 | cmp.ne p7,p0=r18,r19 | 277 | cmp.ne p7,p0=r18,r19 |
@@ -279,19 +288,19 @@ END(itlb_miss) | |||
279 | ENTRY(dtlb_miss) | 288 | ENTRY(dtlb_miss) |
280 | DBG_FAULT(2) | 289 | DBG_FAULT(2) |
281 | /* | 290 | /* |
282 | * The DTLB handler accesses the L3 PTE via the virtually mapped linear | 291 | * The DTLB handler accesses the PTE via the virtually mapped linear |
283 | * page table. If a nested TLB miss occurs, we switch into physical | 292 | * page table. If a nested TLB miss occurs, we switch into physical |
284 | * mode, walk the page table, and then re-execute the L3 PTE read | 293 | * mode, walk the page table, and then re-execute the PTE read and |
285 | * and go on normally after that. | 294 | * go on normally after that. |
286 | */ | 295 | */ |
287 | mov r16=cr.ifa // get virtual address | 296 | mov r16=cr.ifa // get virtual address |
288 | mov r29=b0 // save b0 | 297 | mov r29=b0 // save b0 |
289 | mov r31=pr // save predicates | 298 | mov r31=pr // save predicates |
290 | dtlb_fault: | 299 | dtlb_fault: |
291 | mov r17=cr.iha // get virtual address of L3 PTE | 300 | mov r17=cr.iha // get virtual address of PTE |
292 | movl r30=1f // load nested fault continuation point | 301 | movl r30=1f // load nested fault continuation point |
293 | ;; | 302 | ;; |
294 | 1: ld8 r18=[r17] // read L3 PTE | 303 | 1: ld8 r18=[r17] // read *pte |
295 | ;; | 304 | ;; |
296 | mov b0=r29 | 305 | mov b0=r29 |
297 | tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared? | 306 | tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared? |
@@ -306,7 +315,7 @@ dtlb_fault: | |||
306 | */ | 315 | */ |
307 | dv_serialize_data | 316 | dv_serialize_data |
308 | 317 | ||
309 | ld8 r19=[r17] // read L3 PTE again and see if same | 318 | ld8 r19=[r17] // read *pte again and see if same |
310 | mov r20=PAGE_SHIFT<<2 // setup page size for purge | 319 | mov r20=PAGE_SHIFT<<2 // setup page size for purge |
311 | ;; | 320 | ;; |
312 | cmp.ne p7,p0=r18,r19 | 321 | cmp.ne p7,p0=r18,r19 |
@@ -420,7 +429,7 @@ ENTRY(nested_dtlb_miss) | |||
420 | * r30: continuation address | 429 | * r30: continuation address |
421 | * r31: saved pr | 430 | * r31: saved pr |
422 | * | 431 | * |
423 | * Output: r17: physical address of L3 PTE of faulting address | 432 | * Output: r17: physical address of PTE of faulting address |
424 | * r29: saved b0 | 433 | * r29: saved b0 |
425 | * r30: continuation address | 434 | * r30: continuation address |
426 | * r31: saved pr | 435 | * r31: saved pr |
@@ -450,33 +459,33 @@ ENTRY(nested_dtlb_miss) | |||
450 | (p6) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT | 459 | (p6) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT |
451 | (p7) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT-3 | 460 | (p7) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT-3 |
452 | ;; | 461 | ;; |
453 | (p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=PTA + IFA(33,42)*8 | 462 | (p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=pgd_offset for region 5 |
454 | (p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=PTA + (((IFA(61,63) << 7) | IFA(33,39))*8) | 463 | (p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=pgd_offset for region[0-4] |
455 | cmp.eq p7,p6=0,r21 // unused address bits all zeroes? | 464 | cmp.eq p7,p6=0,r21 // unused address bits all zeroes? |
456 | #ifdef CONFIG_PGTABLE_4 | 465 | #ifdef CONFIG_PGTABLE_4 |
457 | shr.u r18=r22,PUD_SHIFT // shift L2 index into position | 466 | shr.u r18=r22,PUD_SHIFT // shift pud index into position |
458 | #else | 467 | #else |
459 | shr.u r18=r22,PMD_SHIFT // shift L3 index into position | 468 | shr.u r18=r22,PMD_SHIFT // shift pmd index into position |
460 | #endif | 469 | #endif |
461 | ;; | 470 | ;; |
462 | ld8 r17=[r17] // fetch the L1 entry (may be 0) | 471 | ld8 r17=[r17] // get *pgd (may be 0) |
463 | ;; | 472 | ;; |
464 | (p7) cmp.eq p6,p7=r17,r0 // was L1 entry NULL? | 473 | (p7) cmp.eq p6,p7=r17,r0 // was pgd_present(*pgd) == NULL? |
465 | dep r17=r18,r17,3,(PAGE_SHIFT-3) // compute address of L2 page table entry | 474 | dep r17=r18,r17,3,(PAGE_SHIFT-3) // r17=p[u|m]d_offset(pgd,addr) |
466 | ;; | 475 | ;; |
467 | #ifdef CONFIG_PGTABLE_4 | 476 | #ifdef CONFIG_PGTABLE_4 |
468 | (p7) ld8 r17=[r17] // fetch the L2 entry (may be 0) | 477 | (p7) ld8 r17=[r17] // get *pud (may be 0) |
469 | shr.u r18=r22,PMD_SHIFT // shift L3 index into position | 478 | shr.u r18=r22,PMD_SHIFT // shift pmd index into position |
470 | ;; | 479 | ;; |
471 | (p7) cmp.eq.or.andcm p6,p7=r17,r0 // was L2 entry NULL? | 480 | (p7) cmp.eq.or.andcm p6,p7=r17,r0 // was pud_present(*pud) == NULL? |
472 | dep r17=r18,r17,3,(PAGE_SHIFT-3) // compute address of L2 page table entry | 481 | dep r17=r18,r17,3,(PAGE_SHIFT-3) // r17=pmd_offset(pud,addr) |
473 | ;; | 482 | ;; |
474 | #endif | 483 | #endif |
475 | (p7) ld8 r17=[r17] // fetch the L3 entry (may be 0) | 484 | (p7) ld8 r17=[r17] // get *pmd (may be 0) |
476 | shr.u r19=r22,PAGE_SHIFT // shift L4 index into position | 485 | shr.u r19=r22,PAGE_SHIFT // shift pte index into position |
477 | ;; | 486 | ;; |
478 | (p7) cmp.eq.or.andcm p6,p7=r17,r0 // was L3 entry NULL? | 487 | (p7) cmp.eq.or.andcm p6,p7=r17,r0 // was pmd_present(*pmd) == NULL? |
479 | dep r17=r19,r17,3,(PAGE_SHIFT-3) // compute address of L4 page table entry | 488 | dep r17=r19,r17,3,(PAGE_SHIFT-3) // r17=pte_offset(pmd,addr); |
480 | (p6) br.cond.spnt page_fault | 489 | (p6) br.cond.spnt page_fault |
481 | mov b0=r30 | 490 | mov b0=r30 |
482 | br.sptk.many b0 // return to continuation point | 491 | br.sptk.many b0 // return to continuation point |
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 02692027730a..e14ba5e01a36 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
@@ -700,6 +700,7 @@ load-$(CONFIG_SNI_RM200_PCI) += 0xffffffff80600000 | |||
700 | # | 700 | # |
701 | core-$(CONFIG_TOSHIBA_JMR3927) += arch/mips/jmr3927/rbhma3100/ \ | 701 | core-$(CONFIG_TOSHIBA_JMR3927) += arch/mips/jmr3927/rbhma3100/ \ |
702 | arch/mips/jmr3927/common/ | 702 | arch/mips/jmr3927/common/ |
703 | cflags-$(CONFIG_TOSHIBA_JMR3927) += -Iinclude/asm-mips/mach-jmr3927 | ||
703 | load-$(CONFIG_TOSHIBA_JMR3927) += 0xffffffff80050000 | 704 | load-$(CONFIG_TOSHIBA_JMR3927) += 0xffffffff80050000 |
704 | 705 | ||
705 | # | 706 | # |
diff --git a/arch/mips/au1000/common/setup.c b/arch/mips/au1000/common/setup.c index 4f21f42d096b..08c8c855cc9c 100644 --- a/arch/mips/au1000/common/setup.c +++ b/arch/mips/au1000/common/setup.c | |||
@@ -93,7 +93,7 @@ void __init plat_setup(void) | |||
93 | 93 | ||
94 | argptr = prom_getcmdline(); | 94 | argptr = prom_getcmdline(); |
95 | 95 | ||
96 | #ifdef CONFIG_SERIAL_AU1X00_CONSOLE | 96 | #if defined(CONFIG_SERIAL_AU1X00_CONSOLE) || defined(CONFIG_SERIAL_8250_CONSOLE) |
97 | if ((argptr = strstr(argptr, "console=")) == NULL) { | 97 | if ((argptr = strstr(argptr, "console=")) == NULL) { |
98 | argptr = prom_getcmdline(); | 98 | argptr = prom_getcmdline(); |
99 | strcat(argptr, " console=ttyS0,115200"); | 99 | strcat(argptr, " console=ttyS0,115200"); |
diff --git a/arch/mips/configs/atlas_defconfig b/arch/mips/configs/atlas_defconfig index 132ec3dac63f..74990758154b 100644 --- a/arch/mips/configs/atlas_defconfig +++ b/arch/mips/configs/atlas_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:13 2005 | 4 | # Thu Nov 10 12:14:02 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -191,6 +209,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
191 | CONFIG_FLATMEM=y | 209 | CONFIG_FLATMEM=y |
192 | CONFIG_FLAT_NODE_MEM_MAP=y | 210 | CONFIG_FLAT_NODE_MEM_MAP=y |
193 | # CONFIG_SPARSEMEM_STATIC is not set | 211 | # CONFIG_SPARSEMEM_STATIC is not set |
212 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
194 | CONFIG_PREEMPT_NONE=y | 213 | CONFIG_PREEMPT_NONE=y |
195 | # CONFIG_PREEMPT_VOLUNTARY is not set | 214 | # CONFIG_PREEMPT_VOLUNTARY is not set |
196 | # CONFIG_PREEMPT is not set | 215 | # CONFIG_PREEMPT is not set |
@@ -309,6 +328,10 @@ CONFIG_IPV6_TUNNEL=m | |||
309 | CONFIG_NETFILTER=y | 328 | CONFIG_NETFILTER=y |
310 | # CONFIG_NETFILTER_DEBUG is not set | 329 | # CONFIG_NETFILTER_DEBUG is not set |
311 | CONFIG_BRIDGE_NETFILTER=y | 330 | CONFIG_BRIDGE_NETFILTER=y |
331 | |||
332 | # | ||
333 | # Core Netfilter Configuration | ||
334 | # | ||
312 | CONFIG_NETFILTER_NETLINK=m | 335 | CONFIG_NETFILTER_NETLINK=m |
313 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 336 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
314 | CONFIG_NETFILTER_NETLINK_LOG=m | 337 | CONFIG_NETFILTER_NETLINK_LOG=m |
@@ -363,6 +386,7 @@ CONFIG_IP_NF_TARGET_REJECT=m | |||
363 | CONFIG_IP_NF_TARGET_LOG=m | 386 | CONFIG_IP_NF_TARGET_LOG=m |
364 | CONFIG_IP_NF_TARGET_ULOG=m | 387 | CONFIG_IP_NF_TARGET_ULOG=m |
365 | CONFIG_IP_NF_TARGET_TCPMSS=m | 388 | CONFIG_IP_NF_TARGET_TCPMSS=m |
389 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
366 | CONFIG_IP_NF_NAT=m | 390 | CONFIG_IP_NF_NAT=m |
367 | CONFIG_IP_NF_NAT_NEEDED=y | 391 | CONFIG_IP_NF_NAT_NEEDED=y |
368 | CONFIG_IP_NF_TARGET_MASQUERADE=m | 392 | CONFIG_IP_NF_TARGET_MASQUERADE=m |
@@ -412,6 +436,7 @@ CONFIG_IP6_NF_MATCH_PHYSDEV=m | |||
412 | CONFIG_IP6_NF_FILTER=m | 436 | CONFIG_IP6_NF_FILTER=m |
413 | CONFIG_IP6_NF_TARGET_LOG=m | 437 | CONFIG_IP6_NF_TARGET_LOG=m |
414 | CONFIG_IP6_NF_TARGET_REJECT=m | 438 | CONFIG_IP6_NF_TARGET_REJECT=m |
439 | CONFIG_IP6_NF_TARGET_NFQUEUE=m | ||
415 | CONFIG_IP6_NF_MANGLE=m | 440 | CONFIG_IP6_NF_MANGLE=m |
416 | CONFIG_IP6_NF_TARGET_MARK=m | 441 | CONFIG_IP6_NF_TARGET_MARK=m |
417 | CONFIG_IP6_NF_TARGET_HL=m | 442 | CONFIG_IP6_NF_TARGET_HL=m |
@@ -472,10 +497,18 @@ CONFIG_IPDDP_DECAP=y | |||
472 | CONFIG_NET_DIVERT=y | 497 | CONFIG_NET_DIVERT=y |
473 | # CONFIG_ECONET is not set | 498 | # CONFIG_ECONET is not set |
474 | # CONFIG_WAN_ROUTER is not set | 499 | # CONFIG_WAN_ROUTER is not set |
500 | |||
501 | # | ||
502 | # QoS and/or fair queueing | ||
503 | # | ||
475 | CONFIG_NET_SCHED=y | 504 | CONFIG_NET_SCHED=y |
476 | CONFIG_NET_SCH_CLK_JIFFIES=y | 505 | CONFIG_NET_SCH_CLK_JIFFIES=y |
477 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set | 506 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set |
478 | # CONFIG_NET_SCH_CLK_CPU is not set | 507 | # CONFIG_NET_SCH_CLK_CPU is not set |
508 | |||
509 | # | ||
510 | # Queueing/Scheduling | ||
511 | # | ||
479 | CONFIG_NET_SCH_CBQ=m | 512 | CONFIG_NET_SCH_CBQ=m |
480 | CONFIG_NET_SCH_HTB=m | 513 | CONFIG_NET_SCH_HTB=m |
481 | CONFIG_NET_SCH_HFSC=m | 514 | CONFIG_NET_SCH_HFSC=m |
@@ -488,8 +521,10 @@ CONFIG_NET_SCH_GRED=m | |||
488 | CONFIG_NET_SCH_DSMARK=m | 521 | CONFIG_NET_SCH_DSMARK=m |
489 | CONFIG_NET_SCH_NETEM=m | 522 | CONFIG_NET_SCH_NETEM=m |
490 | CONFIG_NET_SCH_INGRESS=m | 523 | CONFIG_NET_SCH_INGRESS=m |
491 | CONFIG_NET_QOS=y | 524 | |
492 | CONFIG_NET_ESTIMATOR=y | 525 | # |
526 | # Classification | ||
527 | # | ||
493 | CONFIG_NET_CLS=y | 528 | CONFIG_NET_CLS=y |
494 | CONFIG_NET_CLS_BASIC=m | 529 | CONFIG_NET_CLS_BASIC=m |
495 | CONFIG_NET_CLS_TCINDEX=m | 530 | CONFIG_NET_CLS_TCINDEX=m |
@@ -498,13 +533,14 @@ CONFIG_NET_CLS_ROUTE=y | |||
498 | CONFIG_NET_CLS_FW=m | 533 | CONFIG_NET_CLS_FW=m |
499 | CONFIG_NET_CLS_U32=m | 534 | CONFIG_NET_CLS_U32=m |
500 | # CONFIG_CLS_U32_PERF is not set | 535 | # CONFIG_CLS_U32_PERF is not set |
501 | CONFIG_NET_CLS_IND=y | ||
502 | # CONFIG_CLS_U32_MARK is not set | 536 | # CONFIG_CLS_U32_MARK is not set |
503 | CONFIG_NET_CLS_RSVP=m | 537 | CONFIG_NET_CLS_RSVP=m |
504 | CONFIG_NET_CLS_RSVP6=m | 538 | CONFIG_NET_CLS_RSVP6=m |
505 | # CONFIG_NET_EMATCH is not set | 539 | # CONFIG_NET_EMATCH is not set |
506 | # CONFIG_NET_CLS_ACT is not set | 540 | # CONFIG_NET_CLS_ACT is not set |
507 | CONFIG_NET_CLS_POLICE=y | 541 | CONFIG_NET_CLS_POLICE=y |
542 | CONFIG_NET_CLS_IND=y | ||
543 | CONFIG_NET_ESTIMATOR=y | ||
508 | 544 | ||
509 | # | 545 | # |
510 | # Network testing | 546 | # Network testing |
@@ -565,18 +601,9 @@ CONFIG_BLK_DEV_RAM=y | |||
565 | CONFIG_BLK_DEV_RAM_COUNT=16 | 601 | CONFIG_BLK_DEV_RAM_COUNT=16 |
566 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 602 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
567 | # CONFIG_BLK_DEV_INITRD is not set | 603 | # CONFIG_BLK_DEV_INITRD is not set |
568 | # CONFIG_LBD is not set | ||
569 | CONFIG_CDROM_PKTCDVD=m | 604 | CONFIG_CDROM_PKTCDVD=m |
570 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 605 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
571 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 606 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
572 | |||
573 | # | ||
574 | # IO Schedulers | ||
575 | # | ||
576 | CONFIG_IOSCHED_NOOP=y | ||
577 | CONFIG_IOSCHED_AS=y | ||
578 | CONFIG_IOSCHED_DEADLINE=y | ||
579 | CONFIG_IOSCHED_CFQ=y | ||
580 | CONFIG_ATA_OVER_ETH=m | 607 | CONFIG_ATA_OVER_ETH=m |
581 | 608 | ||
582 | # | 609 | # |
@@ -643,6 +670,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
643 | # | 670 | # |
644 | # SCSI low-level drivers | 671 | # SCSI low-level drivers |
645 | # | 672 | # |
673 | CONFIG_ISCSI_TCP=m | ||
646 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 674 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
647 | # CONFIG_SCSI_3W_9XXX is not set | 675 | # CONFIG_SCSI_3W_9XXX is not set |
648 | # CONFIG_SCSI_ACARD is not set | 676 | # CONFIG_SCSI_ACARD is not set |
@@ -653,6 +681,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
653 | # CONFIG_SCSI_DPT_I2O is not set | 681 | # CONFIG_SCSI_DPT_I2O is not set |
654 | # CONFIG_MEGARAID_NEWGEN is not set | 682 | # CONFIG_MEGARAID_NEWGEN is not set |
655 | # CONFIG_MEGARAID_LEGACY is not set | 683 | # CONFIG_MEGARAID_LEGACY is not set |
684 | # CONFIG_MEGARAID_SAS is not set | ||
656 | # CONFIG_SCSI_SATA is not set | 685 | # CONFIG_SCSI_SATA is not set |
657 | # CONFIG_SCSI_DMX3191D is not set | 686 | # CONFIG_SCSI_DMX3191D is not set |
658 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 687 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -707,6 +736,7 @@ CONFIG_DM_MULTIPATH_EMC=m | |||
707 | # CONFIG_FUSION is not set | 736 | # CONFIG_FUSION is not set |
708 | # CONFIG_FUSION_SPI is not set | 737 | # CONFIG_FUSION_SPI is not set |
709 | # CONFIG_FUSION_FC is not set | 738 | # CONFIG_FUSION_FC is not set |
739 | # CONFIG_FUSION_SAS is not set | ||
710 | 740 | ||
711 | # | 741 | # |
712 | # IEEE 1394 (FireWire) support | 742 | # IEEE 1394 (FireWire) support |
@@ -736,7 +766,6 @@ CONFIG_TUN=m | |||
736 | # PHY device support | 766 | # PHY device support |
737 | # | 767 | # |
738 | CONFIG_PHYLIB=m | 768 | CONFIG_PHYLIB=m |
739 | CONFIG_PHYCONTROL=y | ||
740 | 769 | ||
741 | # | 770 | # |
742 | # MII PHY device drivers | 771 | # MII PHY device drivers |
@@ -754,6 +783,7 @@ CONFIG_NET_ETHERNET=y | |||
754 | CONFIG_MII=y | 783 | CONFIG_MII=y |
755 | # CONFIG_HAPPYMEAL is not set | 784 | # CONFIG_HAPPYMEAL is not set |
756 | # CONFIG_SUNGEM is not set | 785 | # CONFIG_SUNGEM is not set |
786 | # CONFIG_CASSINI is not set | ||
757 | # CONFIG_NET_VENDOR_3COM is not set | 787 | # CONFIG_NET_VENDOR_3COM is not set |
758 | 788 | ||
759 | # | 789 | # |
@@ -933,6 +963,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
933 | # TPM devices | 963 | # TPM devices |
934 | # | 964 | # |
935 | # CONFIG_TCG_TPM is not set | 965 | # CONFIG_TCG_TPM is not set |
966 | # CONFIG_TELCLOCK is not set | ||
936 | 967 | ||
937 | # | 968 | # |
938 | # I2C support | 969 | # I2C support |
@@ -992,6 +1023,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
992 | # CONFIG_USB is not set | 1023 | # CONFIG_USB is not set |
993 | 1024 | ||
994 | # | 1025 | # |
1026 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
1027 | # | ||
1028 | |||
1029 | # | ||
995 | # USB Gadget Support | 1030 | # USB Gadget Support |
996 | # | 1031 | # |
997 | # CONFIG_USB_GADGET is not set | 1032 | # CONFIG_USB_GADGET is not set |
@@ -1037,7 +1072,7 @@ CONFIG_JFS_SECURITY=y | |||
1037 | CONFIG_FS_POSIX_ACL=y | 1072 | CONFIG_FS_POSIX_ACL=y |
1038 | CONFIG_XFS_FS=m | 1073 | CONFIG_XFS_FS=m |
1039 | CONFIG_XFS_EXPORT=y | 1074 | CONFIG_XFS_EXPORT=y |
1040 | CONFIG_XFS_QUOTA=m | 1075 | CONFIG_XFS_QUOTA=y |
1041 | CONFIG_XFS_SECURITY=y | 1076 | CONFIG_XFS_SECURITY=y |
1042 | CONFIG_XFS_POSIX_ACL=y | 1077 | CONFIG_XFS_POSIX_ACL=y |
1043 | # CONFIG_XFS_RT is not set | 1078 | # CONFIG_XFS_RT is not set |
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig index 25e8a08e68be..ea4b75604c23 100644 --- a/arch/mips/configs/bigsur_defconfig +++ b/arch/mips/configs/bigsur_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:17 2005 | 4 | # Mon Nov 7 23:04:36 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -61,6 +61,23 @@ CONFIG_KMOD=y | |||
61 | CONFIG_STOP_MACHINE=y | 61 | CONFIG_STOP_MACHINE=y |
62 | 62 | ||
63 | # | 63 | # |
64 | # Block layer | ||
65 | # | ||
66 | |||
67 | # | ||
68 | # IO Schedulers | ||
69 | # | ||
70 | CONFIG_IOSCHED_NOOP=y | ||
71 | CONFIG_IOSCHED_AS=y | ||
72 | CONFIG_IOSCHED_DEADLINE=y | ||
73 | CONFIG_IOSCHED_CFQ=y | ||
74 | CONFIG_DEFAULT_AS=y | ||
75 | # CONFIG_DEFAULT_DEADLINE is not set | ||
76 | # CONFIG_DEFAULT_CFQ is not set | ||
77 | # CONFIG_DEFAULT_NOOP is not set | ||
78 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
79 | |||
80 | # | ||
64 | # Machine selection | 81 | # Machine selection |
65 | # | 82 | # |
66 | # CONFIG_MIPS_MTX1 is not set | 83 | # CONFIG_MIPS_MTX1 is not set |
@@ -127,8 +144,8 @@ CONFIG_SIBYTE_SB1xxx_SOC=y | |||
127 | # CONFIG_CPU_SB1_PASS_2_112x is not set | 144 | # CONFIG_CPU_SB1_PASS_2_112x is not set |
128 | # CONFIG_CPU_SB1_PASS_3 is not set | 145 | # CONFIG_CPU_SB1_PASS_3 is not set |
129 | # CONFIG_SIMULATION is not set | 146 | # CONFIG_SIMULATION is not set |
130 | # CONFIG_CONFIG_SB1_CEX_ALWAYS_FATAL is not set | 147 | # CONFIG_SB1_CEX_ALWAYS_FATAL is not set |
131 | # CONFIG_CONFIG_SB1_CERR_STALL is not set | 148 | # CONFIG_SB1_CERR_STALL is not set |
132 | CONFIG_SIBYTE_CFE=y | 149 | CONFIG_SIBYTE_CFE=y |
133 | # CONFIG_SIBYTE_CFE_CONSOLE is not set | 150 | # CONFIG_SIBYTE_CFE_CONSOLE is not set |
134 | # CONFIG_SIBYTE_BUS_WATCHER is not set | 151 | # CONFIG_SIBYTE_BUS_WATCHER is not set |
@@ -198,6 +215,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
198 | CONFIG_FLATMEM=y | 215 | CONFIG_FLATMEM=y |
199 | CONFIG_FLAT_NODE_MEM_MAP=y | 216 | CONFIG_FLAT_NODE_MEM_MAP=y |
200 | # CONFIG_SPARSEMEM_STATIC is not set | 217 | # CONFIG_SPARSEMEM_STATIC is not set |
218 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
201 | CONFIG_SMP=y | 219 | CONFIG_SMP=y |
202 | CONFIG_NR_CPUS=4 | 220 | CONFIG_NR_CPUS=4 |
203 | CONFIG_PREEMPT_NONE=y | 221 | CONFIG_PREEMPT_NONE=y |
@@ -295,6 +313,10 @@ CONFIG_TCP_CONG_BIC=y | |||
295 | # CONFIG_NET_DIVERT is not set | 313 | # CONFIG_NET_DIVERT is not set |
296 | # CONFIG_ECONET is not set | 314 | # CONFIG_ECONET is not set |
297 | # CONFIG_WAN_ROUTER is not set | 315 | # CONFIG_WAN_ROUTER is not set |
316 | |||
317 | # | ||
318 | # QoS and/or fair queueing | ||
319 | # | ||
298 | # CONFIG_NET_SCHED is not set | 320 | # CONFIG_NET_SCHED is not set |
299 | # CONFIG_NET_CLS_ROUTE is not set | 321 | # CONFIG_NET_CLS_ROUTE is not set |
300 | 322 | ||
@@ -353,14 +375,6 @@ CONFIG_BLK_DEV_NBD=m | |||
353 | # CONFIG_BLK_DEV_RAM is not set | 375 | # CONFIG_BLK_DEV_RAM is not set |
354 | CONFIG_BLK_DEV_RAM_COUNT=16 | 376 | CONFIG_BLK_DEV_RAM_COUNT=16 |
355 | # CONFIG_CDROM_PKTCDVD is not set | 377 | # CONFIG_CDROM_PKTCDVD is not set |
356 | |||
357 | # | ||
358 | # IO Schedulers | ||
359 | # | ||
360 | CONFIG_IOSCHED_NOOP=y | ||
361 | CONFIG_IOSCHED_AS=y | ||
362 | CONFIG_IOSCHED_DEADLINE=y | ||
363 | CONFIG_IOSCHED_CFQ=y | ||
364 | # CONFIG_ATA_OVER_ETH is not set | 378 | # CONFIG_ATA_OVER_ETH is not set |
365 | 379 | ||
366 | # | 380 | # |
@@ -443,6 +457,7 @@ CONFIG_NET_ETHERNET=y | |||
443 | CONFIG_MII=y | 457 | CONFIG_MII=y |
444 | # CONFIG_HAPPYMEAL is not set | 458 | # CONFIG_HAPPYMEAL is not set |
445 | # CONFIG_SUNGEM is not set | 459 | # CONFIG_SUNGEM is not set |
460 | # CONFIG_CASSINI is not set | ||
446 | # CONFIG_NET_VENDOR_3COM is not set | 461 | # CONFIG_NET_VENDOR_3COM is not set |
447 | 462 | ||
448 | # | 463 | # |
@@ -582,6 +597,7 @@ CONFIG_GEN_RTC=y | |||
582 | # TPM devices | 597 | # TPM devices |
583 | # | 598 | # |
584 | # CONFIG_TCG_TPM is not set | 599 | # CONFIG_TCG_TPM is not set |
600 | # CONFIG_TELCLOCK is not set | ||
585 | 601 | ||
586 | # | 602 | # |
587 | # I2C support | 603 | # I2C support |
@@ -634,6 +650,7 @@ CONFIG_SENSORS_PCA9539=y | |||
634 | CONFIG_SENSORS_PCF8591=y | 650 | CONFIG_SENSORS_PCF8591=y |
635 | CONFIG_SENSORS_RTC8564=y | 651 | CONFIG_SENSORS_RTC8564=y |
636 | CONFIG_SENSORS_MAX6875=y | 652 | CONFIG_SENSORS_MAX6875=y |
653 | # CONFIG_RTC_X1205_I2C is not set | ||
637 | CONFIG_I2C_DEBUG_CORE=y | 654 | CONFIG_I2C_DEBUG_CORE=y |
638 | CONFIG_I2C_DEBUG_ALGO=y | 655 | CONFIG_I2C_DEBUG_ALGO=y |
639 | CONFIG_I2C_DEBUG_BUS=y | 656 | CONFIG_I2C_DEBUG_BUS=y |
@@ -686,6 +703,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
686 | # CONFIG_USB is not set | 703 | # CONFIG_USB is not set |
687 | 704 | ||
688 | # | 705 | # |
706 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
707 | # | ||
708 | |||
709 | # | ||
689 | # USB Gadget Support | 710 | # USB Gadget Support |
690 | # | 711 | # |
691 | # CONFIG_USB_GADGET is not set | 712 | # CONFIG_USB_GADGET is not set |
@@ -823,6 +844,8 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
823 | # CONFIG_DEBUG_KOBJECT is not set | 844 | # CONFIG_DEBUG_KOBJECT is not set |
824 | # CONFIG_DEBUG_INFO is not set | 845 | # CONFIG_DEBUG_INFO is not set |
825 | # CONFIG_DEBUG_FS is not set | 846 | # CONFIG_DEBUG_FS is not set |
847 | # CONFIG_DEBUG_VM is not set | ||
848 | # CONFIG_RCU_TORTURE_TEST is not set | ||
826 | CONFIG_CROSSCOMPILE=y | 849 | CONFIG_CROSSCOMPILE=y |
827 | CONFIG_CMDLINE="" | 850 | CONFIG_CMDLINE="" |
828 | # CONFIG_DEBUG_STACK_USAGE is not set | 851 | # CONFIG_DEBUG_STACK_USAGE is not set |
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig index bfbaa08c47cb..a86cc9d9bdae 100644 --- a/arch/mips/configs/capcella_defconfig +++ b/arch/mips/configs/capcella_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:20 2005 | 4 | # Mon Nov 7 23:04:39 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -182,6 +200,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
182 | CONFIG_FLATMEM=y | 200 | CONFIG_FLATMEM=y |
183 | CONFIG_FLAT_NODE_MEM_MAP=y | 201 | CONFIG_FLAT_NODE_MEM_MAP=y |
184 | # CONFIG_SPARSEMEM_STATIC is not set | 202 | # CONFIG_SPARSEMEM_STATIC is not set |
203 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
185 | CONFIG_PREEMPT_NONE=y | 204 | CONFIG_PREEMPT_NONE=y |
186 | # CONFIG_PREEMPT_VOLUNTARY is not set | 205 | # CONFIG_PREEMPT_VOLUNTARY is not set |
187 | # CONFIG_PREEMPT is not set | 206 | # CONFIG_PREEMPT is not set |
@@ -270,6 +289,10 @@ CONFIG_TCP_CONG_BIC=y | |||
270 | # CONFIG_NET_DIVERT is not set | 289 | # CONFIG_NET_DIVERT is not set |
271 | # CONFIG_ECONET is not set | 290 | # CONFIG_ECONET is not set |
272 | # CONFIG_WAN_ROUTER is not set | 291 | # CONFIG_WAN_ROUTER is not set |
292 | |||
293 | # | ||
294 | # QoS and/or fair queueing | ||
295 | # | ||
273 | # CONFIG_NET_SCHED is not set | 296 | # CONFIG_NET_SCHED is not set |
274 | # CONFIG_NET_CLS_ROUTE is not set | 297 | # CONFIG_NET_CLS_ROUTE is not set |
275 | 298 | ||
@@ -329,16 +352,7 @@ CONFIG_CONNECTOR=m | |||
329 | # CONFIG_BLK_DEV_SX8 is not set | 352 | # CONFIG_BLK_DEV_SX8 is not set |
330 | # CONFIG_BLK_DEV_RAM is not set | 353 | # CONFIG_BLK_DEV_RAM is not set |
331 | CONFIG_BLK_DEV_RAM_COUNT=16 | 354 | CONFIG_BLK_DEV_RAM_COUNT=16 |
332 | # CONFIG_LBD is not set | ||
333 | # CONFIG_CDROM_PKTCDVD is not set | 355 | # CONFIG_CDROM_PKTCDVD is not set |
334 | |||
335 | # | ||
336 | # IO Schedulers | ||
337 | # | ||
338 | CONFIG_IOSCHED_NOOP=y | ||
339 | CONFIG_IOSCHED_AS=y | ||
340 | CONFIG_IOSCHED_DEADLINE=y | ||
341 | CONFIG_IOSCHED_CFQ=y | ||
342 | CONFIG_ATA_OVER_ETH=m | 356 | CONFIG_ATA_OVER_ETH=m |
343 | 357 | ||
344 | # | 358 | # |
@@ -412,7 +426,6 @@ CONFIG_NETDEVICES=y | |||
412 | # PHY device support | 426 | # PHY device support |
413 | # | 427 | # |
414 | CONFIG_PHYLIB=m | 428 | CONFIG_PHYLIB=m |
415 | CONFIG_PHYCONTROL=y | ||
416 | 429 | ||
417 | # | 430 | # |
418 | # MII PHY device drivers | 431 | # MII PHY device drivers |
@@ -430,6 +443,7 @@ CONFIG_NET_ETHERNET=y | |||
430 | CONFIG_MII=y | 443 | CONFIG_MII=y |
431 | # CONFIG_HAPPYMEAL is not set | 444 | # CONFIG_HAPPYMEAL is not set |
432 | # CONFIG_SUNGEM is not set | 445 | # CONFIG_SUNGEM is not set |
446 | # CONFIG_CASSINI is not set | ||
433 | # CONFIG_NET_VENDOR_3COM is not set | 447 | # CONFIG_NET_VENDOR_3COM is not set |
434 | 448 | ||
435 | # | 449 | # |
@@ -586,6 +600,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
586 | # CONFIG_WATCHDOG is not set | 600 | # CONFIG_WATCHDOG is not set |
587 | # CONFIG_RTC is not set | 601 | # CONFIG_RTC is not set |
588 | # CONFIG_GEN_RTC is not set | 602 | # CONFIG_GEN_RTC is not set |
603 | # CONFIG_RTC_VR41XX is not set | ||
589 | # CONFIG_DTLK is not set | 604 | # CONFIG_DTLK is not set |
590 | # CONFIG_R3964 is not set | 605 | # CONFIG_R3964 is not set |
591 | # CONFIG_APPLICOM is not set | 606 | # CONFIG_APPLICOM is not set |
@@ -601,6 +616,7 @@ CONFIG_GPIO_VR41XX=y | |||
601 | # TPM devices | 616 | # TPM devices |
602 | # | 617 | # |
603 | # CONFIG_TCG_TPM is not set | 618 | # CONFIG_TCG_TPM is not set |
619 | # CONFIG_TELCLOCK is not set | ||
604 | 620 | ||
605 | # | 621 | # |
606 | # I2C support | 622 | # I2C support |
@@ -660,6 +676,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
660 | # CONFIG_USB is not set | 676 | # CONFIG_USB is not set |
661 | 677 | ||
662 | # | 678 | # |
679 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
680 | # | ||
681 | |||
682 | # | ||
663 | # USB Gadget Support | 683 | # USB Gadget Support |
664 | # | 684 | # |
665 | # CONFIG_USB_GADGET is not set | 685 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig index 4b4d1ddb3d42..3558c79b0eb7 100644 --- a/arch/mips/configs/cobalt_defconfig +++ b/arch/mips/configs/cobalt_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:23 2005 | 4 | # Mon Nov 7 23:04:42 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -51,6 +51,24 @@ CONFIG_BASE_SMALL=0 | |||
51 | # CONFIG_MODULES is not set | 51 | # CONFIG_MODULES is not set |
52 | 52 | ||
53 | # | 53 | # |
54 | # Block layer | ||
55 | # | ||
56 | # CONFIG_LBD is not set | ||
57 | |||
58 | # | ||
59 | # IO Schedulers | ||
60 | # | ||
61 | CONFIG_IOSCHED_NOOP=y | ||
62 | CONFIG_IOSCHED_AS=y | ||
63 | CONFIG_IOSCHED_DEADLINE=y | ||
64 | CONFIG_IOSCHED_CFQ=y | ||
65 | CONFIG_DEFAULT_AS=y | ||
66 | # CONFIG_DEFAULT_DEADLINE is not set | ||
67 | # CONFIG_DEFAULT_CFQ is not set | ||
68 | # CONFIG_DEFAULT_NOOP is not set | ||
69 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
70 | |||
71 | # | ||
54 | # Machine selection | 72 | # Machine selection |
55 | # | 73 | # |
56 | # CONFIG_MIPS_MTX1 is not set | 74 | # CONFIG_MIPS_MTX1 is not set |
@@ -172,6 +190,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
172 | CONFIG_FLATMEM=y | 190 | CONFIG_FLATMEM=y |
173 | CONFIG_FLAT_NODE_MEM_MAP=y | 191 | CONFIG_FLAT_NODE_MEM_MAP=y |
174 | # CONFIG_SPARSEMEM_STATIC is not set | 192 | # CONFIG_SPARSEMEM_STATIC is not set |
193 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
175 | CONFIG_PREEMPT_NONE=y | 194 | CONFIG_PREEMPT_NONE=y |
176 | # CONFIG_PREEMPT_VOLUNTARY is not set | 195 | # CONFIG_PREEMPT_VOLUNTARY is not set |
177 | # CONFIG_PREEMPT is not set | 196 | # CONFIG_PREEMPT is not set |
@@ -256,6 +275,10 @@ CONFIG_TCP_CONG_BIC=y | |||
256 | # CONFIG_NET_DIVERT is not set | 275 | # CONFIG_NET_DIVERT is not set |
257 | # CONFIG_ECONET is not set | 276 | # CONFIG_ECONET is not set |
258 | # CONFIG_WAN_ROUTER is not set | 277 | # CONFIG_WAN_ROUTER is not set |
278 | |||
279 | # | ||
280 | # QoS and/or fair queueing | ||
281 | # | ||
259 | # CONFIG_NET_SCHED is not set | 282 | # CONFIG_NET_SCHED is not set |
260 | # CONFIG_NET_CLS_ROUTE is not set | 283 | # CONFIG_NET_CLS_ROUTE is not set |
261 | 284 | ||
@@ -287,6 +310,7 @@ CONFIG_FW_LOADER=y | |||
287 | # Connector - unified userspace <-> kernelspace linker | 310 | # Connector - unified userspace <-> kernelspace linker |
288 | # | 311 | # |
289 | CONFIG_CONNECTOR=y | 312 | CONFIG_CONNECTOR=y |
313 | CONFIG_PROC_EVENTS=y | ||
290 | 314 | ||
291 | # | 315 | # |
292 | # Memory Technology Devices (MTD) | 316 | # Memory Technology Devices (MTD) |
@@ -316,18 +340,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
316 | # CONFIG_BLK_DEV_SX8 is not set | 340 | # CONFIG_BLK_DEV_SX8 is not set |
317 | # CONFIG_BLK_DEV_RAM is not set | 341 | # CONFIG_BLK_DEV_RAM is not set |
318 | CONFIG_BLK_DEV_RAM_COUNT=16 | 342 | CONFIG_BLK_DEV_RAM_COUNT=16 |
319 | # CONFIG_LBD is not set | ||
320 | CONFIG_CDROM_PKTCDVD=y | 343 | CONFIG_CDROM_PKTCDVD=y |
321 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 344 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
322 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 345 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
323 | |||
324 | # | ||
325 | # IO Schedulers | ||
326 | # | ||
327 | CONFIG_IOSCHED_NOOP=y | ||
328 | CONFIG_IOSCHED_AS=y | ||
329 | CONFIG_IOSCHED_DEADLINE=y | ||
330 | CONFIG_IOSCHED_CFQ=y | ||
331 | CONFIG_ATA_OVER_ETH=y | 346 | CONFIG_ATA_OVER_ETH=y |
332 | 347 | ||
333 | # | 348 | # |
@@ -401,7 +416,6 @@ CONFIG_NETDEVICES=y | |||
401 | # PHY device support | 416 | # PHY device support |
402 | # | 417 | # |
403 | CONFIG_PHYLIB=y | 418 | CONFIG_PHYLIB=y |
404 | CONFIG_PHYCONTROL=y | ||
405 | 419 | ||
406 | # | 420 | # |
407 | # MII PHY device drivers | 421 | # MII PHY device drivers |
@@ -419,6 +433,7 @@ CONFIG_NET_ETHERNET=y | |||
419 | # CONFIG_MII is not set | 433 | # CONFIG_MII is not set |
420 | # CONFIG_HAPPYMEAL is not set | 434 | # CONFIG_HAPPYMEAL is not set |
421 | # CONFIG_SUNGEM is not set | 435 | # CONFIG_SUNGEM is not set |
436 | # CONFIG_CASSINI is not set | ||
422 | # CONFIG_NET_VENDOR_3COM is not set | 437 | # CONFIG_NET_VENDOR_3COM is not set |
423 | 438 | ||
424 | # | 439 | # |
@@ -574,6 +589,7 @@ CONFIG_COBALT_LCD=y | |||
574 | # TPM devices | 589 | # TPM devices |
575 | # | 590 | # |
576 | # CONFIG_TCG_TPM is not set | 591 | # CONFIG_TCG_TPM is not set |
592 | # CONFIG_TELCLOCK is not set | ||
577 | 593 | ||
578 | # | 594 | # |
579 | # I2C support | 595 | # I2C support |
@@ -633,6 +649,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
633 | # CONFIG_USB is not set | 649 | # CONFIG_USB is not set |
634 | 650 | ||
635 | # | 651 | # |
652 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
653 | # | ||
654 | |||
655 | # | ||
636 | # USB Gadget Support | 656 | # USB Gadget Support |
637 | # | 657 | # |
638 | # CONFIG_USB_GADGET is not set | 658 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig index 6501144ec612..3b103fec7b86 100644 --- a/arch/mips/configs/db1000_defconfig +++ b/arch/mips/configs/db1000_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:25:26 2005 | 4 | # Tue Nov 15 11:11:04 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -178,6 +196,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
178 | CONFIG_FLATMEM=y | 196 | CONFIG_FLATMEM=y |
179 | CONFIG_FLAT_NODE_MEM_MAP=y | 197 | CONFIG_FLAT_NODE_MEM_MAP=y |
180 | # CONFIG_SPARSEMEM_STATIC is not set | 198 | # CONFIG_SPARSEMEM_STATIC is not set |
199 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
181 | CONFIG_PREEMPT_NONE=y | 200 | CONFIG_PREEMPT_NONE=y |
182 | # CONFIG_PREEMPT_VOLUNTARY is not set | 201 | # CONFIG_PREEMPT_VOLUNTARY is not set |
183 | # CONFIG_PREEMPT is not set | 202 | # CONFIG_PREEMPT is not set |
@@ -201,7 +220,6 @@ CONFIG_PCMCIA_IOCTL=y | |||
201 | # | 220 | # |
202 | # PC-card bridges | 221 | # PC-card bridges |
203 | # | 222 | # |
204 | # CONFIG_TCIC is not set | ||
205 | # CONFIG_PCMCIA_AU1X00 is not set | 223 | # CONFIG_PCMCIA_AU1X00 is not set |
206 | 224 | ||
207 | # | 225 | # |
@@ -259,15 +277,19 @@ CONFIG_TCP_CONG_BIC=y | |||
259 | # CONFIG_IPV6 is not set | 277 | # CONFIG_IPV6 is not set |
260 | CONFIG_NETFILTER=y | 278 | CONFIG_NETFILTER=y |
261 | # CONFIG_NETFILTER_DEBUG is not set | 279 | # CONFIG_NETFILTER_DEBUG is not set |
280 | |||
281 | # | ||
282 | # Core Netfilter Configuration | ||
283 | # | ||
262 | CONFIG_NETFILTER_NETLINK=m | 284 | CONFIG_NETFILTER_NETLINK=m |
263 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 285 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
264 | CONFIG_NETFILTER_NETLINK_LOG=m | 286 | CONFIG_NETFILTER_NETLINK_LOG=m |
287 | # CONFIG_NF_CONNTRACK is not set | ||
265 | 288 | ||
266 | # | 289 | # |
267 | # IP: Netfilter Configuration | 290 | # IP: Netfilter Configuration |
268 | # | 291 | # |
269 | # CONFIG_IP_NF_CONNTRACK is not set | 292 | # CONFIG_IP_NF_CONNTRACK is not set |
270 | CONFIG_IP_NF_PPTP=m | ||
271 | # CONFIG_IP_NF_QUEUE is not set | 293 | # CONFIG_IP_NF_QUEUE is not set |
272 | # CONFIG_IP_NF_IPTABLES is not set | 294 | # CONFIG_IP_NF_IPTABLES is not set |
273 | # CONFIG_IP_NF_ARPTABLES is not set | 295 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -293,6 +315,10 @@ CONFIG_IP_NF_PPTP=m | |||
293 | # CONFIG_NET_DIVERT is not set | 315 | # CONFIG_NET_DIVERT is not set |
294 | # CONFIG_ECONET is not set | 316 | # CONFIG_ECONET is not set |
295 | # CONFIG_WAN_ROUTER is not set | 317 | # CONFIG_WAN_ROUTER is not set |
318 | |||
319 | # | ||
320 | # QoS and/or fair queueing | ||
321 | # | ||
296 | # CONFIG_NET_SCHED is not set | 322 | # CONFIG_NET_SCHED is not set |
297 | # CONFIG_NET_CLS_ROUTE is not set | 323 | # CONFIG_NET_CLS_ROUTE is not set |
298 | 324 | ||
@@ -343,6 +369,7 @@ CONFIG_MTD_BLOCK=y | |||
343 | # CONFIG_FTL is not set | 369 | # CONFIG_FTL is not set |
344 | # CONFIG_NFTL is not set | 370 | # CONFIG_NFTL is not set |
345 | # CONFIG_INFTL is not set | 371 | # CONFIG_INFTL is not set |
372 | # CONFIG_RFD_FTL is not set | ||
346 | 373 | ||
347 | # | 374 | # |
348 | # RAM/ROM/Flash chip drivers | 375 | # RAM/ROM/Flash chip drivers |
@@ -400,6 +427,11 @@ CONFIG_MTD_ALCHEMY=y | |||
400 | # CONFIG_MTD_NAND is not set | 427 | # CONFIG_MTD_NAND is not set |
401 | 428 | ||
402 | # | 429 | # |
430 | # OneNAND Flash Device Drivers | ||
431 | # | ||
432 | # CONFIG_MTD_ONENAND is not set | ||
433 | |||
434 | # | ||
403 | # Parallel port support | 435 | # Parallel port support |
404 | # | 436 | # |
405 | # CONFIG_PARPORT is not set | 437 | # CONFIG_PARPORT is not set |
@@ -417,18 +449,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
417 | # CONFIG_BLK_DEV_NBD is not set | 449 | # CONFIG_BLK_DEV_NBD is not set |
418 | # CONFIG_BLK_DEV_RAM is not set | 450 | # CONFIG_BLK_DEV_RAM is not set |
419 | CONFIG_BLK_DEV_RAM_COUNT=16 | 451 | CONFIG_BLK_DEV_RAM_COUNT=16 |
420 | # CONFIG_LBD is not set | ||
421 | CONFIG_CDROM_PKTCDVD=m | 452 | CONFIG_CDROM_PKTCDVD=m |
422 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 453 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
423 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 454 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
424 | |||
425 | # | ||
426 | # IO Schedulers | ||
427 | # | ||
428 | CONFIG_IOSCHED_NOOP=y | ||
429 | CONFIG_IOSCHED_AS=y | ||
430 | CONFIG_IOSCHED_DEADLINE=y | ||
431 | CONFIG_IOSCHED_CFQ=y | ||
432 | CONFIG_ATA_OVER_ETH=m | 455 | CONFIG_ATA_OVER_ETH=m |
433 | 456 | ||
434 | # | 457 | # |
@@ -473,7 +496,6 @@ CONFIG_NETDEVICES=y | |||
473 | # PHY device support | 496 | # PHY device support |
474 | # | 497 | # |
475 | CONFIG_PHYLIB=m | 498 | CONFIG_PHYLIB=m |
476 | CONFIG_PHYCONTROL=y | ||
477 | 499 | ||
478 | # | 500 | # |
479 | # MII PHY device drivers | 501 | # MII PHY device drivers |
@@ -490,6 +512,7 @@ CONFIG_CICADA_PHY=m | |||
490 | CONFIG_NET_ETHERNET=y | 512 | CONFIG_NET_ETHERNET=y |
491 | CONFIG_MII=m | 513 | CONFIG_MII=m |
492 | CONFIG_MIPS_AU1X00_ENET=y | 514 | CONFIG_MIPS_AU1X00_ENET=y |
515 | # CONFIG_SMC91X is not set | ||
493 | 516 | ||
494 | # | 517 | # |
495 | # Ethernet (1000 Mbit) | 518 | # Ethernet (1000 Mbit) |
@@ -532,6 +555,7 @@ CONFIG_PPP_ASYNC=m | |||
532 | # CONFIG_PPP_SYNC_TTY is not set | 555 | # CONFIG_PPP_SYNC_TTY is not set |
533 | CONFIG_PPP_DEFLATE=m | 556 | CONFIG_PPP_DEFLATE=m |
534 | # CONFIG_PPP_BSDCOMP is not set | 557 | # CONFIG_PPP_BSDCOMP is not set |
558 | CONFIG_PPP_MPPE=m | ||
535 | CONFIG_PPPOE=m | 559 | CONFIG_PPPOE=m |
536 | # CONFIG_SLIP is not set | 560 | # CONFIG_SLIP is not set |
537 | # CONFIG_SHAPER is not set | 561 | # CONFIG_SHAPER is not set |
@@ -598,13 +622,17 @@ CONFIG_HW_CONSOLE=y | |||
598 | # | 622 | # |
599 | # Serial drivers | 623 | # Serial drivers |
600 | # | 624 | # |
601 | # CONFIG_SERIAL_8250 is not set | 625 | CONFIG_SERIAL_8250=y |
626 | CONFIG_SERIAL_8250_CONSOLE=y | ||
627 | CONFIG_SERIAL_8250_CS=m | ||
628 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
629 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
630 | CONFIG_SERIAL_8250_AU1X00=y | ||
602 | 631 | ||
603 | # | 632 | # |
604 | # Non-8250 serial port support | 633 | # Non-8250 serial port support |
605 | # | 634 | # |
606 | CONFIG_SERIAL_AU1X00=y | 635 | # CONFIG_SERIAL_AU1X00 is not set |
607 | CONFIG_SERIAL_AU1X00_CONSOLE=y | ||
608 | CONFIG_SERIAL_CORE=y | 636 | CONFIG_SERIAL_CORE=y |
609 | CONFIG_SERIAL_CORE_CONSOLE=y | 637 | CONFIG_SERIAL_CORE_CONSOLE=y |
610 | CONFIG_UNIX98_PTYS=y | 638 | CONFIG_UNIX98_PTYS=y |
@@ -633,11 +661,14 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
633 | # PCMCIA character devices | 661 | # PCMCIA character devices |
634 | # | 662 | # |
635 | CONFIG_SYNCLINK_CS=m | 663 | CONFIG_SYNCLINK_CS=m |
664 | # CONFIG_CARDMAN_4000 is not set | ||
665 | # CONFIG_CARDMAN_4040 is not set | ||
636 | # CONFIG_RAW_DRIVER is not set | 666 | # CONFIG_RAW_DRIVER is not set |
637 | 667 | ||
638 | # | 668 | # |
639 | # TPM devices | 669 | # TPM devices |
640 | # | 670 | # |
671 | # CONFIG_TELCLOCK is not set | ||
641 | 672 | ||
642 | # | 673 | # |
643 | # I2C support | 674 | # I2C support |
@@ -697,6 +728,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
697 | # CONFIG_USB is not set | 728 | # CONFIG_USB is not set |
698 | 729 | ||
699 | # | 730 | # |
731 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
732 | # | ||
733 | |||
734 | # | ||
700 | # USB Gadget Support | 735 | # USB Gadget Support |
701 | # | 736 | # |
702 | # CONFIG_USB_GADGET is not set | 737 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig index b8cd2cd923dd..79cdd940c6a8 100644 --- a/arch/mips/configs/db1100_defconfig +++ b/arch/mips/configs/db1100_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:25:29 2005 | 4 | # Tue Nov 15 11:11:07 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -178,6 +196,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
178 | CONFIG_FLATMEM=y | 196 | CONFIG_FLATMEM=y |
179 | CONFIG_FLAT_NODE_MEM_MAP=y | 197 | CONFIG_FLAT_NODE_MEM_MAP=y |
180 | # CONFIG_SPARSEMEM_STATIC is not set | 198 | # CONFIG_SPARSEMEM_STATIC is not set |
199 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
181 | CONFIG_PREEMPT_NONE=y | 200 | CONFIG_PREEMPT_NONE=y |
182 | # CONFIG_PREEMPT_VOLUNTARY is not set | 201 | # CONFIG_PREEMPT_VOLUNTARY is not set |
183 | # CONFIG_PREEMPT is not set | 202 | # CONFIG_PREEMPT is not set |
@@ -247,15 +266,19 @@ CONFIG_TCP_CONG_BIC=y | |||
247 | # CONFIG_IPV6 is not set | 266 | # CONFIG_IPV6 is not set |
248 | CONFIG_NETFILTER=y | 267 | CONFIG_NETFILTER=y |
249 | # CONFIG_NETFILTER_DEBUG is not set | 268 | # CONFIG_NETFILTER_DEBUG is not set |
269 | |||
270 | # | ||
271 | # Core Netfilter Configuration | ||
272 | # | ||
250 | CONFIG_NETFILTER_NETLINK=m | 273 | CONFIG_NETFILTER_NETLINK=m |
251 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 274 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
252 | CONFIG_NETFILTER_NETLINK_LOG=m | 275 | CONFIG_NETFILTER_NETLINK_LOG=m |
276 | # CONFIG_NF_CONNTRACK is not set | ||
253 | 277 | ||
254 | # | 278 | # |
255 | # IP: Netfilter Configuration | 279 | # IP: Netfilter Configuration |
256 | # | 280 | # |
257 | # CONFIG_IP_NF_CONNTRACK is not set | 281 | # CONFIG_IP_NF_CONNTRACK is not set |
258 | CONFIG_IP_NF_PPTP=m | ||
259 | # CONFIG_IP_NF_QUEUE is not set | 282 | # CONFIG_IP_NF_QUEUE is not set |
260 | # CONFIG_IP_NF_IPTABLES is not set | 283 | # CONFIG_IP_NF_IPTABLES is not set |
261 | # CONFIG_IP_NF_ARPTABLES is not set | 284 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -281,6 +304,10 @@ CONFIG_IP_NF_PPTP=m | |||
281 | # CONFIG_NET_DIVERT is not set | 304 | # CONFIG_NET_DIVERT is not set |
282 | # CONFIG_ECONET is not set | 305 | # CONFIG_ECONET is not set |
283 | # CONFIG_WAN_ROUTER is not set | 306 | # CONFIG_WAN_ROUTER is not set |
307 | |||
308 | # | ||
309 | # QoS and/or fair queueing | ||
310 | # | ||
284 | # CONFIG_NET_SCHED is not set | 311 | # CONFIG_NET_SCHED is not set |
285 | # CONFIG_NET_CLS_ROUTE is not set | 312 | # CONFIG_NET_CLS_ROUTE is not set |
286 | 313 | ||
@@ -331,6 +358,7 @@ CONFIG_MTD_BLOCK=y | |||
331 | # CONFIG_FTL is not set | 358 | # CONFIG_FTL is not set |
332 | # CONFIG_NFTL is not set | 359 | # CONFIG_NFTL is not set |
333 | # CONFIG_INFTL is not set | 360 | # CONFIG_INFTL is not set |
361 | # CONFIG_RFD_FTL is not set | ||
334 | 362 | ||
335 | # | 363 | # |
336 | # RAM/ROM/Flash chip drivers | 364 | # RAM/ROM/Flash chip drivers |
@@ -388,6 +416,11 @@ CONFIG_MTD_ALCHEMY=y | |||
388 | # CONFIG_MTD_NAND is not set | 416 | # CONFIG_MTD_NAND is not set |
389 | 417 | ||
390 | # | 418 | # |
419 | # OneNAND Flash Device Drivers | ||
420 | # | ||
421 | # CONFIG_MTD_ONENAND is not set | ||
422 | |||
423 | # | ||
391 | # Parallel port support | 424 | # Parallel port support |
392 | # | 425 | # |
393 | # CONFIG_PARPORT is not set | 426 | # CONFIG_PARPORT is not set |
@@ -405,18 +438,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
405 | # CONFIG_BLK_DEV_NBD is not set | 438 | # CONFIG_BLK_DEV_NBD is not set |
406 | # CONFIG_BLK_DEV_RAM is not set | 439 | # CONFIG_BLK_DEV_RAM is not set |
407 | CONFIG_BLK_DEV_RAM_COUNT=16 | 440 | CONFIG_BLK_DEV_RAM_COUNT=16 |
408 | # CONFIG_LBD is not set | ||
409 | CONFIG_CDROM_PKTCDVD=m | 441 | CONFIG_CDROM_PKTCDVD=m |
410 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 442 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
411 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 443 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
412 | |||
413 | # | ||
414 | # IO Schedulers | ||
415 | # | ||
416 | CONFIG_IOSCHED_NOOP=y | ||
417 | CONFIG_IOSCHED_AS=y | ||
418 | CONFIG_IOSCHED_DEADLINE=y | ||
419 | CONFIG_IOSCHED_CFQ=y | ||
420 | CONFIG_ATA_OVER_ETH=m | 444 | CONFIG_ATA_OVER_ETH=m |
421 | 445 | ||
422 | # | 446 | # |
@@ -461,7 +485,6 @@ CONFIG_NETDEVICES=y | |||
461 | # PHY device support | 485 | # PHY device support |
462 | # | 486 | # |
463 | CONFIG_PHYLIB=m | 487 | CONFIG_PHYLIB=m |
464 | CONFIG_PHYCONTROL=y | ||
465 | 488 | ||
466 | # | 489 | # |
467 | # MII PHY device drivers | 490 | # MII PHY device drivers |
@@ -478,6 +501,7 @@ CONFIG_CICADA_PHY=m | |||
478 | CONFIG_NET_ETHERNET=y | 501 | CONFIG_NET_ETHERNET=y |
479 | CONFIG_MII=m | 502 | CONFIG_MII=m |
480 | CONFIG_MIPS_AU1X00_ENET=y | 503 | CONFIG_MIPS_AU1X00_ENET=y |
504 | # CONFIG_SMC91X is not set | ||
481 | 505 | ||
482 | # | 506 | # |
483 | # Ethernet (1000 Mbit) | 507 | # Ethernet (1000 Mbit) |
@@ -507,6 +531,7 @@ CONFIG_PPP_ASYNC=m | |||
507 | # CONFIG_PPP_SYNC_TTY is not set | 531 | # CONFIG_PPP_SYNC_TTY is not set |
508 | CONFIG_PPP_DEFLATE=m | 532 | CONFIG_PPP_DEFLATE=m |
509 | # CONFIG_PPP_BSDCOMP is not set | 533 | # CONFIG_PPP_BSDCOMP is not set |
534 | CONFIG_PPP_MPPE=m | ||
510 | CONFIG_PPPOE=m | 535 | CONFIG_PPPOE=m |
511 | # CONFIG_SLIP is not set | 536 | # CONFIG_SLIP is not set |
512 | # CONFIG_SHAPER is not set | 537 | # CONFIG_SHAPER is not set |
@@ -573,13 +598,16 @@ CONFIG_HW_CONSOLE=y | |||
573 | # | 598 | # |
574 | # Serial drivers | 599 | # Serial drivers |
575 | # | 600 | # |
576 | # CONFIG_SERIAL_8250 is not set | 601 | CONFIG_SERIAL_8250=y |
602 | CONFIG_SERIAL_8250_CONSOLE=y | ||
603 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
604 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
605 | CONFIG_SERIAL_8250_AU1X00=y | ||
577 | 606 | ||
578 | # | 607 | # |
579 | # Non-8250 serial port support | 608 | # Non-8250 serial port support |
580 | # | 609 | # |
581 | CONFIG_SERIAL_AU1X00=y | 610 | # CONFIG_SERIAL_AU1X00 is not set |
582 | CONFIG_SERIAL_AU1X00_CONSOLE=y | ||
583 | CONFIG_SERIAL_CORE=y | 611 | CONFIG_SERIAL_CORE=y |
584 | CONFIG_SERIAL_CORE_CONSOLE=y | 612 | CONFIG_SERIAL_CORE_CONSOLE=y |
585 | CONFIG_UNIX98_PTYS=y | 613 | CONFIG_UNIX98_PTYS=y |
@@ -608,6 +636,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
608 | # | 636 | # |
609 | # TPM devices | 637 | # TPM devices |
610 | # | 638 | # |
639 | # CONFIG_TELCLOCK is not set | ||
611 | 640 | ||
612 | # | 641 | # |
613 | # I2C support | 642 | # I2C support |
@@ -650,12 +679,11 @@ CONFIG_FB=y | |||
650 | CONFIG_FB_CFB_FILLRECT=y | 679 | CONFIG_FB_CFB_FILLRECT=y |
651 | CONFIG_FB_CFB_COPYAREA=y | 680 | CONFIG_FB_CFB_COPYAREA=y |
652 | CONFIG_FB_CFB_IMAGEBLIT=y | 681 | CONFIG_FB_CFB_IMAGEBLIT=y |
653 | CONFIG_FB_SOFT_CURSOR=y | ||
654 | # CONFIG_FB_MACMODES is not set | 682 | # CONFIG_FB_MACMODES is not set |
655 | # CONFIG_FB_MODE_HELPERS is not set | 683 | # CONFIG_FB_MODE_HELPERS is not set |
656 | # CONFIG_FB_TILEBLITTING is not set | 684 | # CONFIG_FB_TILEBLITTING is not set |
657 | CONFIG_FB_AU1100=y | ||
658 | # CONFIG_FB_S1D13XXX is not set | 685 | # CONFIG_FB_S1D13XXX is not set |
686 | CONFIG_FB_AU1100=y | ||
659 | # CONFIG_FB_VIRTUAL is not set | 687 | # CONFIG_FB_VIRTUAL is not set |
660 | 688 | ||
661 | # | 689 | # |
@@ -664,6 +692,7 @@ CONFIG_FB_AU1100=y | |||
664 | # CONFIG_VGA_CONSOLE is not set | 692 | # CONFIG_VGA_CONSOLE is not set |
665 | CONFIG_DUMMY_CONSOLE=y | 693 | CONFIG_DUMMY_CONSOLE=y |
666 | CONFIG_FRAMEBUFFER_CONSOLE=y | 694 | CONFIG_FRAMEBUFFER_CONSOLE=y |
695 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
667 | CONFIG_FONTS=y | 696 | CONFIG_FONTS=y |
668 | CONFIG_FONT_8x8=y | 697 | CONFIG_FONT_8x8=y |
669 | CONFIG_FONT_8x16=y | 698 | CONFIG_FONT_8x16=y |
@@ -698,6 +727,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
698 | # CONFIG_USB is not set | 727 | # CONFIG_USB is not set |
699 | 728 | ||
700 | # | 729 | # |
730 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
731 | # | ||
732 | |||
733 | # | ||
701 | # USB Gadget Support | 734 | # USB Gadget Support |
702 | # | 735 | # |
703 | # CONFIG_USB_GADGET is not set | 736 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig index 530b6c2d99f6..b6bad69398e1 100644 --- a/arch/mips/configs/db1200_defconfig +++ b/arch/mips/configs/db1200_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:25:32 2005 | 4 | # Tue Nov 15 11:11:10 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -179,6 +197,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
179 | CONFIG_FLATMEM=y | 197 | CONFIG_FLATMEM=y |
180 | CONFIG_FLAT_NODE_MEM_MAP=y | 198 | CONFIG_FLAT_NODE_MEM_MAP=y |
181 | # CONFIG_SPARSEMEM_STATIC is not set | 199 | # CONFIG_SPARSEMEM_STATIC is not set |
200 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
182 | CONFIG_PREEMPT_NONE=y | 201 | CONFIG_PREEMPT_NONE=y |
183 | # CONFIG_PREEMPT_VOLUNTARY is not set | 202 | # CONFIG_PREEMPT_VOLUNTARY is not set |
184 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
@@ -200,7 +219,6 @@ CONFIG_PCMCIA_IOCTL=y | |||
200 | # | 219 | # |
201 | # PC-card bridges | 220 | # PC-card bridges |
202 | # | 221 | # |
203 | # CONFIG_TCIC is not set | ||
204 | CONFIG_PCMCIA_AU1X00=m | 222 | CONFIG_PCMCIA_AU1X00=m |
205 | 223 | ||
206 | # | 224 | # |
@@ -255,13 +273,17 @@ CONFIG_TCP_CONG_BIC=y | |||
255 | # CONFIG_IPV6 is not set | 273 | # CONFIG_IPV6 is not set |
256 | CONFIG_NETFILTER=y | 274 | CONFIG_NETFILTER=y |
257 | # CONFIG_NETFILTER_DEBUG is not set | 275 | # CONFIG_NETFILTER_DEBUG is not set |
276 | |||
277 | # | ||
278 | # Core Netfilter Configuration | ||
279 | # | ||
258 | # CONFIG_NETFILTER_NETLINK is not set | 280 | # CONFIG_NETFILTER_NETLINK is not set |
281 | # CONFIG_NF_CONNTRACK is not set | ||
259 | 282 | ||
260 | # | 283 | # |
261 | # IP: Netfilter Configuration | 284 | # IP: Netfilter Configuration |
262 | # | 285 | # |
263 | # CONFIG_IP_NF_CONNTRACK is not set | 286 | # CONFIG_IP_NF_CONNTRACK is not set |
264 | CONFIG_IP_NF_PPTP=m | ||
265 | # CONFIG_IP_NF_QUEUE is not set | 287 | # CONFIG_IP_NF_QUEUE is not set |
266 | # CONFIG_IP_NF_IPTABLES is not set | 288 | # CONFIG_IP_NF_IPTABLES is not set |
267 | # CONFIG_IP_NF_ARPTABLES is not set | 289 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -287,6 +309,10 @@ CONFIG_IP_NF_PPTP=m | |||
287 | # CONFIG_NET_DIVERT is not set | 309 | # CONFIG_NET_DIVERT is not set |
288 | # CONFIG_ECONET is not set | 310 | # CONFIG_ECONET is not set |
289 | # CONFIG_WAN_ROUTER is not set | 311 | # CONFIG_WAN_ROUTER is not set |
312 | |||
313 | # | ||
314 | # QoS and/or fair queueing | ||
315 | # | ||
290 | # CONFIG_NET_SCHED is not set | 316 | # CONFIG_NET_SCHED is not set |
291 | # CONFIG_NET_CLS_ROUTE is not set | 317 | # CONFIG_NET_CLS_ROUTE is not set |
292 | 318 | ||
@@ -333,6 +359,7 @@ CONFIG_MTD_BLOCK=y | |||
333 | # CONFIG_FTL is not set | 359 | # CONFIG_FTL is not set |
334 | # CONFIG_NFTL is not set | 360 | # CONFIG_NFTL is not set |
335 | # CONFIG_INFTL is not set | 361 | # CONFIG_INFTL is not set |
362 | # CONFIG_RFD_FTL is not set | ||
336 | 363 | ||
337 | # | 364 | # |
338 | # RAM/ROM/Flash chip drivers | 365 | # RAM/ROM/Flash chip drivers |
@@ -395,6 +422,11 @@ CONFIG_MTD_NAND_IDS=y | |||
395 | # CONFIG_MTD_NAND_NANDSIM is not set | 422 | # CONFIG_MTD_NAND_NANDSIM is not set |
396 | 423 | ||
397 | # | 424 | # |
425 | # OneNAND Flash Device Drivers | ||
426 | # | ||
427 | # CONFIG_MTD_ONENAND is not set | ||
428 | |||
429 | # | ||
398 | # Parallel port support | 430 | # Parallel port support |
399 | # | 431 | # |
400 | # CONFIG_PARPORT is not set | 432 | # CONFIG_PARPORT is not set |
@@ -414,16 +446,7 @@ CONFIG_BLK_DEV_RAM=y | |||
414 | CONFIG_BLK_DEV_RAM_COUNT=16 | 446 | CONFIG_BLK_DEV_RAM_COUNT=16 |
415 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 447 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
416 | # CONFIG_BLK_DEV_INITRD is not set | 448 | # CONFIG_BLK_DEV_INITRD is not set |
417 | # CONFIG_LBD is not set | ||
418 | # CONFIG_CDROM_PKTCDVD is not set | 449 | # CONFIG_CDROM_PKTCDVD is not set |
419 | |||
420 | # | ||
421 | # IO Schedulers | ||
422 | # | ||
423 | CONFIG_IOSCHED_NOOP=y | ||
424 | CONFIG_IOSCHED_AS=y | ||
425 | CONFIG_IOSCHED_DEADLINE=y | ||
426 | CONFIG_IOSCHED_CFQ=y | ||
427 | # CONFIG_ATA_OVER_ETH is not set | 450 | # CONFIG_ATA_OVER_ETH is not set |
428 | 451 | ||
429 | # | 452 | # |
@@ -495,6 +518,7 @@ CONFIG_SCSI_MULTI_LUN=y | |||
495 | # | 518 | # |
496 | # SCSI low-level drivers | 519 | # SCSI low-level drivers |
497 | # | 520 | # |
521 | # CONFIG_ISCSI_TCP is not set | ||
498 | # CONFIG_SCSI_SATA is not set | 522 | # CONFIG_SCSI_SATA is not set |
499 | # CONFIG_SCSI_DEBUG is not set | 523 | # CONFIG_SCSI_DEBUG is not set |
500 | 524 | ||
@@ -545,6 +569,7 @@ CONFIG_NETDEVICES=y | |||
545 | CONFIG_NET_ETHERNET=y | 569 | CONFIG_NET_ETHERNET=y |
546 | CONFIG_MII=m | 570 | CONFIG_MII=m |
547 | # CONFIG_MIPS_AU1X00_ENET is not set | 571 | # CONFIG_MIPS_AU1X00_ENET is not set |
572 | # CONFIG_SMC91X is not set | ||
548 | 573 | ||
549 | # | 574 | # |
550 | # Ethernet (1000 Mbit) | 575 | # Ethernet (1000 Mbit) |
@@ -638,13 +663,17 @@ CONFIG_HW_CONSOLE=y | |||
638 | # | 663 | # |
639 | # Serial drivers | 664 | # Serial drivers |
640 | # | 665 | # |
641 | # CONFIG_SERIAL_8250 is not set | 666 | CONFIG_SERIAL_8250=y |
667 | CONFIG_SERIAL_8250_CONSOLE=y | ||
668 | # CONFIG_SERIAL_8250_CS is not set | ||
669 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
670 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
671 | CONFIG_SERIAL_8250_AU1X00=y | ||
642 | 672 | ||
643 | # | 673 | # |
644 | # Non-8250 serial port support | 674 | # Non-8250 serial port support |
645 | # | 675 | # |
646 | CONFIG_SERIAL_AU1X00=y | 676 | # CONFIG_SERIAL_AU1X00 is not set |
647 | CONFIG_SERIAL_AU1X00_CONSOLE=y | ||
648 | CONFIG_SERIAL_CORE=y | 677 | CONFIG_SERIAL_CORE=y |
649 | CONFIG_SERIAL_CORE_CONSOLE=y | 678 | CONFIG_SERIAL_CORE_CONSOLE=y |
650 | CONFIG_UNIX98_PTYS=y | 679 | CONFIG_UNIX98_PTYS=y |
@@ -673,11 +702,14 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
673 | # PCMCIA character devices | 702 | # PCMCIA character devices |
674 | # | 703 | # |
675 | # CONFIG_SYNCLINK_CS is not set | 704 | # CONFIG_SYNCLINK_CS is not set |
705 | # CONFIG_CARDMAN_4000 is not set | ||
706 | # CONFIG_CARDMAN_4040 is not set | ||
676 | # CONFIG_RAW_DRIVER is not set | 707 | # CONFIG_RAW_DRIVER is not set |
677 | 708 | ||
678 | # | 709 | # |
679 | # TPM devices | 710 | # TPM devices |
680 | # | 711 | # |
712 | # CONFIG_TELCLOCK is not set | ||
681 | 713 | ||
682 | # | 714 | # |
683 | # I2C support | 715 | # I2C support |
@@ -720,12 +752,11 @@ CONFIG_FB=y | |||
720 | CONFIG_FB_CFB_FILLRECT=y | 752 | CONFIG_FB_CFB_FILLRECT=y |
721 | CONFIG_FB_CFB_COPYAREA=y | 753 | CONFIG_FB_CFB_COPYAREA=y |
722 | CONFIG_FB_CFB_IMAGEBLIT=y | 754 | CONFIG_FB_CFB_IMAGEBLIT=y |
723 | CONFIG_FB_SOFT_CURSOR=y | ||
724 | # CONFIG_FB_MACMODES is not set | 755 | # CONFIG_FB_MACMODES is not set |
725 | # CONFIG_FB_MODE_HELPERS is not set | 756 | # CONFIG_FB_MODE_HELPERS is not set |
726 | # CONFIG_FB_TILEBLITTING is not set | 757 | # CONFIG_FB_TILEBLITTING is not set |
727 | CONFIG_FB_AU1200=y | ||
728 | # CONFIG_FB_S1D13XXX is not set | 758 | # CONFIG_FB_S1D13XXX is not set |
759 | CONFIG_FB_AU1200=y | ||
729 | # CONFIG_FB_VIRTUAL is not set | 760 | # CONFIG_FB_VIRTUAL is not set |
730 | 761 | ||
731 | # | 762 | # |
@@ -757,6 +788,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
757 | # CONFIG_USB is not set | 788 | # CONFIG_USB is not set |
758 | 789 | ||
759 | # | 790 | # |
791 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
792 | # | ||
793 | |||
794 | # | ||
760 | # USB Gadget Support | 795 | # USB Gadget Support |
761 | # | 796 | # |
762 | CONFIG_USB_GADGET=m | 797 | CONFIG_USB_GADGET=m |
@@ -862,6 +897,7 @@ CONFIG_RAMFS=y | |||
862 | CONFIG_JFFS2_FS=y | 897 | CONFIG_JFFS2_FS=y |
863 | CONFIG_JFFS2_FS_DEBUG=0 | 898 | CONFIG_JFFS2_FS_DEBUG=0 |
864 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 899 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
900 | # CONFIG_JFFS2_SUMMARY is not set | ||
865 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 901 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
866 | CONFIG_JFFS2_ZLIB=y | 902 | CONFIG_JFFS2_ZLIB=y |
867 | CONFIG_JFFS2_RTIME=y | 903 | CONFIG_JFFS2_RTIME=y |
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig index 1c2784dee697..dbaf189fc9c0 100644 --- a/arch/mips/configs/db1500_defconfig +++ b/arch/mips/configs/db1500_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:25:36 2005 | 4 | # Tue Nov 15 11:11:15 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -180,6 +198,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
180 | CONFIG_FLATMEM=y | 198 | CONFIG_FLATMEM=y |
181 | CONFIG_FLAT_NODE_MEM_MAP=y | 199 | CONFIG_FLAT_NODE_MEM_MAP=y |
182 | # CONFIG_SPARSEMEM_STATIC is not set | 200 | # CONFIG_SPARSEMEM_STATIC is not set |
201 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
183 | CONFIG_PREEMPT_NONE=y | 202 | CONFIG_PREEMPT_NONE=y |
184 | # CONFIG_PREEMPT_VOLUNTARY is not set | 203 | # CONFIG_PREEMPT_VOLUNTARY is not set |
185 | # CONFIG_PREEMPT is not set | 204 | # CONFIG_PREEMPT is not set |
@@ -208,7 +227,6 @@ CONFIG_CARDBUS=y | |||
208 | # CONFIG_YENTA is not set | 227 | # CONFIG_YENTA is not set |
209 | # CONFIG_PD6729 is not set | 228 | # CONFIG_PD6729 is not set |
210 | # CONFIG_I82092 is not set | 229 | # CONFIG_I82092 is not set |
211 | # CONFIG_TCIC is not set | ||
212 | CONFIG_PCMCIA_AU1X00=m | 230 | CONFIG_PCMCIA_AU1X00=m |
213 | 231 | ||
214 | # | 232 | # |
@@ -267,15 +285,19 @@ CONFIG_TCP_CONG_BIC=y | |||
267 | # CONFIG_IPV6 is not set | 285 | # CONFIG_IPV6 is not set |
268 | CONFIG_NETFILTER=y | 286 | CONFIG_NETFILTER=y |
269 | # CONFIG_NETFILTER_DEBUG is not set | 287 | # CONFIG_NETFILTER_DEBUG is not set |
288 | |||
289 | # | ||
290 | # Core Netfilter Configuration | ||
291 | # | ||
270 | CONFIG_NETFILTER_NETLINK=m | 292 | CONFIG_NETFILTER_NETLINK=m |
271 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 293 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
272 | CONFIG_NETFILTER_NETLINK_LOG=m | 294 | CONFIG_NETFILTER_NETLINK_LOG=m |
295 | # CONFIG_NF_CONNTRACK is not set | ||
273 | 296 | ||
274 | # | 297 | # |
275 | # IP: Netfilter Configuration | 298 | # IP: Netfilter Configuration |
276 | # | 299 | # |
277 | # CONFIG_IP_NF_CONNTRACK is not set | 300 | # CONFIG_IP_NF_CONNTRACK is not set |
278 | CONFIG_IP_NF_PPTP=m | ||
279 | # CONFIG_IP_NF_QUEUE is not set | 301 | # CONFIG_IP_NF_QUEUE is not set |
280 | # CONFIG_IP_NF_IPTABLES is not set | 302 | # CONFIG_IP_NF_IPTABLES is not set |
281 | # CONFIG_IP_NF_ARPTABLES is not set | 303 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -301,6 +323,10 @@ CONFIG_IP_NF_PPTP=m | |||
301 | # CONFIG_NET_DIVERT is not set | 323 | # CONFIG_NET_DIVERT is not set |
302 | # CONFIG_ECONET is not set | 324 | # CONFIG_ECONET is not set |
303 | # CONFIG_WAN_ROUTER is not set | 325 | # CONFIG_WAN_ROUTER is not set |
326 | |||
327 | # | ||
328 | # QoS and/or fair queueing | ||
329 | # | ||
304 | # CONFIG_NET_SCHED is not set | 330 | # CONFIG_NET_SCHED is not set |
305 | # CONFIG_NET_CLS_ROUTE is not set | 331 | # CONFIG_NET_CLS_ROUTE is not set |
306 | 332 | ||
@@ -351,6 +377,7 @@ CONFIG_MTD_BLOCK=y | |||
351 | # CONFIG_FTL is not set | 377 | # CONFIG_FTL is not set |
352 | # CONFIG_NFTL is not set | 378 | # CONFIG_NFTL is not set |
353 | # CONFIG_INFTL is not set | 379 | # CONFIG_INFTL is not set |
380 | # CONFIG_RFD_FTL is not set | ||
354 | 381 | ||
355 | # | 382 | # |
356 | # RAM/ROM/Flash chip drivers | 383 | # RAM/ROM/Flash chip drivers |
@@ -409,6 +436,11 @@ CONFIG_MTD_ALCHEMY=y | |||
409 | # CONFIG_MTD_NAND is not set | 436 | # CONFIG_MTD_NAND is not set |
410 | 437 | ||
411 | # | 438 | # |
439 | # OneNAND Flash Device Drivers | ||
440 | # | ||
441 | # CONFIG_MTD_ONENAND is not set | ||
442 | |||
443 | # | ||
412 | # Parallel port support | 444 | # Parallel port support |
413 | # | 445 | # |
414 | # CONFIG_PARPORT is not set | 446 | # CONFIG_PARPORT is not set |
@@ -432,18 +464,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
432 | # CONFIG_BLK_DEV_UB is not set | 464 | # CONFIG_BLK_DEV_UB is not set |
433 | # CONFIG_BLK_DEV_RAM is not set | 465 | # CONFIG_BLK_DEV_RAM is not set |
434 | CONFIG_BLK_DEV_RAM_COUNT=16 | 466 | CONFIG_BLK_DEV_RAM_COUNT=16 |
435 | # CONFIG_LBD is not set | ||
436 | CONFIG_CDROM_PKTCDVD=m | 467 | CONFIG_CDROM_PKTCDVD=m |
437 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 468 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
438 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 469 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
439 | |||
440 | # | ||
441 | # IO Schedulers | ||
442 | # | ||
443 | CONFIG_IOSCHED_NOOP=y | ||
444 | CONFIG_IOSCHED_AS=y | ||
445 | CONFIG_IOSCHED_DEADLINE=y | ||
446 | CONFIG_IOSCHED_CFQ=y | ||
447 | CONFIG_ATA_OVER_ETH=m | 470 | CONFIG_ATA_OVER_ETH=m |
448 | 471 | ||
449 | # | 472 | # |
@@ -518,7 +541,6 @@ CONFIG_NETDEVICES=y | |||
518 | # PHY device support | 541 | # PHY device support |
519 | # | 542 | # |
520 | CONFIG_PHYLIB=m | 543 | CONFIG_PHYLIB=m |
521 | CONFIG_PHYCONTROL=y | ||
522 | 544 | ||
523 | # | 545 | # |
524 | # MII PHY device drivers | 546 | # MII PHY device drivers |
@@ -537,7 +559,9 @@ CONFIG_NET_ETHERNET=y | |||
537 | CONFIG_MIPS_AU1X00_ENET=y | 559 | CONFIG_MIPS_AU1X00_ENET=y |
538 | # CONFIG_HAPPYMEAL is not set | 560 | # CONFIG_HAPPYMEAL is not set |
539 | # CONFIG_SUNGEM is not set | 561 | # CONFIG_SUNGEM is not set |
562 | # CONFIG_CASSINI is not set | ||
540 | # CONFIG_NET_VENDOR_3COM is not set | 563 | # CONFIG_NET_VENDOR_3COM is not set |
564 | # CONFIG_SMC91X is not set | ||
541 | 565 | ||
542 | # | 566 | # |
543 | # Tulip family network device support | 567 | # Tulip family network device support |
@@ -599,6 +623,7 @@ CONFIG_PPP_ASYNC=m | |||
599 | # CONFIG_PPP_SYNC_TTY is not set | 623 | # CONFIG_PPP_SYNC_TTY is not set |
600 | CONFIG_PPP_DEFLATE=m | 624 | CONFIG_PPP_DEFLATE=m |
601 | # CONFIG_PPP_BSDCOMP is not set | 625 | # CONFIG_PPP_BSDCOMP is not set |
626 | CONFIG_PPP_MPPE=m | ||
602 | CONFIG_PPPOE=m | 627 | CONFIG_PPPOE=m |
603 | # CONFIG_SLIP is not set | 628 | # CONFIG_SLIP is not set |
604 | # CONFIG_SHAPER is not set | 629 | # CONFIG_SHAPER is not set |
@@ -664,13 +689,17 @@ CONFIG_SERIO_RAW=m | |||
664 | # | 689 | # |
665 | # Serial drivers | 690 | # Serial drivers |
666 | # | 691 | # |
667 | # CONFIG_SERIAL_8250 is not set | 692 | CONFIG_SERIAL_8250=y |
693 | CONFIG_SERIAL_8250_CONSOLE=y | ||
694 | # CONFIG_SERIAL_8250_CS is not set | ||
695 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
696 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
697 | CONFIG_SERIAL_8250_AU1X00=y | ||
668 | 698 | ||
669 | # | 699 | # |
670 | # Non-8250 serial port support | 700 | # Non-8250 serial port support |
671 | # | 701 | # |
672 | CONFIG_SERIAL_AU1X00=y | 702 | # CONFIG_SERIAL_AU1X00 is not set |
673 | CONFIG_SERIAL_AU1X00_CONSOLE=y | ||
674 | CONFIG_SERIAL_CORE=y | 703 | CONFIG_SERIAL_CORE=y |
675 | CONFIG_SERIAL_CORE_CONSOLE=y | 704 | CONFIG_SERIAL_CORE_CONSOLE=y |
676 | # CONFIG_SERIAL_JSM is not set | 705 | # CONFIG_SERIAL_JSM is not set |
@@ -702,12 +731,15 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
702 | # PCMCIA character devices | 731 | # PCMCIA character devices |
703 | # | 732 | # |
704 | CONFIG_SYNCLINK_CS=m | 733 | CONFIG_SYNCLINK_CS=m |
734 | # CONFIG_CARDMAN_4000 is not set | ||
735 | # CONFIG_CARDMAN_4040 is not set | ||
705 | # CONFIG_RAW_DRIVER is not set | 736 | # CONFIG_RAW_DRIVER is not set |
706 | 737 | ||
707 | # | 738 | # |
708 | # TPM devices | 739 | # TPM devices |
709 | # | 740 | # |
710 | # CONFIG_TCG_TPM is not set | 741 | # CONFIG_TCG_TPM is not set |
742 | # CONFIG_TELCLOCK is not set | ||
711 | 743 | ||
712 | # | 744 | # |
713 | # I2C support | 745 | # I2C support |
@@ -756,12 +788,94 @@ CONFIG_SOUND=y | |||
756 | # | 788 | # |
757 | # Advanced Linux Sound Architecture | 789 | # Advanced Linux Sound Architecture |
758 | # | 790 | # |
759 | # CONFIG_SND is not set | 791 | CONFIG_SND=m |
792 | CONFIG_SND_AC97_CODEC=m | ||
793 | CONFIG_SND_AC97_BUS=m | ||
794 | CONFIG_SND_TIMER=m | ||
795 | CONFIG_SND_PCM=m | ||
796 | CONFIG_SND_RAWMIDI=m | ||
797 | CONFIG_SND_SEQUENCER=m | ||
798 | CONFIG_SND_SEQ_DUMMY=m | ||
799 | CONFIG_SND_OSSEMUL=y | ||
800 | CONFIG_SND_MIXER_OSS=m | ||
801 | CONFIG_SND_PCM_OSS=m | ||
802 | CONFIG_SND_SEQUENCER_OSS=y | ||
803 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
804 | # CONFIG_SND_DEBUG is not set | ||
805 | CONFIG_SND_GENERIC_DRIVER=y | ||
806 | |||
807 | # | ||
808 | # Generic devices | ||
809 | # | ||
810 | # CONFIG_SND_DUMMY is not set | ||
811 | CONFIG_SND_VIRMIDI=m | ||
812 | CONFIG_SND_MTPAV=m | ||
813 | # CONFIG_SND_SERIAL_U16550 is not set | ||
814 | # CONFIG_SND_MPU401 is not set | ||
815 | |||
816 | # | ||
817 | # PCI devices | ||
818 | # | ||
819 | # CONFIG_SND_ALI5451 is not set | ||
820 | # CONFIG_SND_ATIIXP is not set | ||
821 | # CONFIG_SND_ATIIXP_MODEM is not set | ||
822 | # CONFIG_SND_AU8810 is not set | ||
823 | # CONFIG_SND_AU8820 is not set | ||
824 | # CONFIG_SND_AU8830 is not set | ||
825 | # CONFIG_SND_AZT3328 is not set | ||
826 | # CONFIG_SND_BT87X is not set | ||
827 | # CONFIG_SND_CS46XX is not set | ||
828 | # CONFIG_SND_CS4281 is not set | ||
829 | # CONFIG_SND_EMU10K1 is not set | ||
830 | # CONFIG_SND_EMU10K1X is not set | ||
831 | # CONFIG_SND_CA0106 is not set | ||
832 | # CONFIG_SND_KORG1212 is not set | ||
833 | # CONFIG_SND_MIXART is not set | ||
834 | # CONFIG_SND_NM256 is not set | ||
835 | # CONFIG_SND_RME32 is not set | ||
836 | # CONFIG_SND_RME96 is not set | ||
837 | # CONFIG_SND_RME9652 is not set | ||
838 | # CONFIG_SND_HDSP is not set | ||
839 | # CONFIG_SND_HDSPM is not set | ||
840 | # CONFIG_SND_TRIDENT is not set | ||
841 | # CONFIG_SND_YMFPCI is not set | ||
842 | # CONFIG_SND_AD1889 is not set | ||
843 | # CONFIG_SND_CMIPCI is not set | ||
844 | # CONFIG_SND_ENS1370 is not set | ||
845 | # CONFIG_SND_ENS1371 is not set | ||
846 | # CONFIG_SND_ES1938 is not set | ||
847 | # CONFIG_SND_ES1968 is not set | ||
848 | # CONFIG_SND_MAESTRO3 is not set | ||
849 | # CONFIG_SND_FM801 is not set | ||
850 | # CONFIG_SND_ICE1712 is not set | ||
851 | # CONFIG_SND_ICE1724 is not set | ||
852 | # CONFIG_SND_INTEL8X0 is not set | ||
853 | # CONFIG_SND_INTEL8X0M is not set | ||
854 | # CONFIG_SND_SONICVIBES is not set | ||
855 | # CONFIG_SND_VIA82XX is not set | ||
856 | # CONFIG_SND_VIA82XX_MODEM is not set | ||
857 | # CONFIG_SND_VX222 is not set | ||
858 | # CONFIG_SND_HDA_INTEL is not set | ||
859 | |||
860 | # | ||
861 | # ALSA MIPS devices | ||
862 | # | ||
863 | CONFIG_SND_AU1X00=m | ||
864 | |||
865 | # | ||
866 | # USB devices | ||
867 | # | ||
868 | # CONFIG_SND_USB_AUDIO is not set | ||
869 | |||
870 | # | ||
871 | # PCMCIA devices | ||
872 | # | ||
760 | 873 | ||
761 | # | 874 | # |
762 | # Open Sound System | 875 | # Open Sound System |
763 | # | 876 | # |
764 | CONFIG_SOUND_PRIME=y | 877 | CONFIG_SOUND_PRIME=y |
878 | CONFIG_OBSOLETE_OSS_DRIVER=y | ||
765 | # CONFIG_SOUND_BT878 is not set | 879 | # CONFIG_SOUND_BT878 is not set |
766 | # CONFIG_SOUND_CMPCI is not set | 880 | # CONFIG_SOUND_CMPCI is not set |
767 | # CONFIG_SOUND_EMU10K1 is not set | 881 | # CONFIG_SOUND_EMU10K1 is not set |
@@ -774,7 +888,7 @@ CONFIG_SOUND_PRIME=y | |||
774 | # CONFIG_SOUND_MAESTRO3 is not set | 888 | # CONFIG_SOUND_MAESTRO3 is not set |
775 | # CONFIG_SOUND_ICH is not set | 889 | # CONFIG_SOUND_ICH is not set |
776 | # CONFIG_SOUND_SONICVIBES is not set | 890 | # CONFIG_SOUND_SONICVIBES is not set |
777 | CONFIG_SOUND_AU1000=y | 891 | # CONFIG_SOUND_AU1000 is not set |
778 | # CONFIG_SOUND_TRIDENT is not set | 892 | # CONFIG_SOUND_TRIDENT is not set |
779 | # CONFIG_SOUND_MSNDCLAS is not set | 893 | # CONFIG_SOUND_MSNDCLAS is not set |
780 | # CONFIG_SOUND_MSNDPIN is not set | 894 | # CONFIG_SOUND_MSNDPIN is not set |
@@ -815,12 +929,15 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
815 | # USB Device Class drivers | 929 | # USB Device Class drivers |
816 | # | 930 | # |
817 | # CONFIG_OBSOLETE_OSS_USB_DRIVER is not set | 931 | # CONFIG_OBSOLETE_OSS_USB_DRIVER is not set |
818 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
819 | # CONFIG_USB_ACM is not set | 932 | # CONFIG_USB_ACM is not set |
820 | # CONFIG_USB_PRINTER is not set | 933 | # CONFIG_USB_PRINTER is not set |
821 | 934 | ||
822 | # | 935 | # |
823 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 936 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
937 | # | ||
938 | |||
939 | # | ||
940 | # may also be needed; see USB_STORAGE Help for more information | ||
824 | # | 941 | # |
825 | # CONFIG_USB_STORAGE is not set | 942 | # CONFIG_USB_STORAGE is not set |
826 | 943 | ||
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig index 64248e2e924a..59c1ef214fc0 100644 --- a/arch/mips/configs/db1550_defconfig +++ b/arch/mips/configs/db1550_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:25:39 2005 | 4 | # Tue Nov 15 11:11:18 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -179,6 +197,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
179 | CONFIG_FLATMEM=y | 197 | CONFIG_FLATMEM=y |
180 | CONFIG_FLAT_NODE_MEM_MAP=y | 198 | CONFIG_FLAT_NODE_MEM_MAP=y |
181 | # CONFIG_SPARSEMEM_STATIC is not set | 199 | # CONFIG_SPARSEMEM_STATIC is not set |
200 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
182 | CONFIG_PREEMPT_NONE=y | 201 | CONFIG_PREEMPT_NONE=y |
183 | # CONFIG_PREEMPT_VOLUNTARY is not set | 202 | # CONFIG_PREEMPT_VOLUNTARY is not set |
184 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
@@ -207,7 +226,6 @@ CONFIG_CARDBUS=y | |||
207 | # CONFIG_YENTA is not set | 226 | # CONFIG_YENTA is not set |
208 | # CONFIG_PD6729 is not set | 227 | # CONFIG_PD6729 is not set |
209 | # CONFIG_I82092 is not set | 228 | # CONFIG_I82092 is not set |
210 | # CONFIG_TCIC is not set | ||
211 | CONFIG_PCMCIA_AU1X00=m | 229 | CONFIG_PCMCIA_AU1X00=m |
212 | 230 | ||
213 | # | 231 | # |
@@ -266,15 +284,19 @@ CONFIG_TCP_CONG_BIC=y | |||
266 | # CONFIG_IPV6 is not set | 284 | # CONFIG_IPV6 is not set |
267 | CONFIG_NETFILTER=y | 285 | CONFIG_NETFILTER=y |
268 | # CONFIG_NETFILTER_DEBUG is not set | 286 | # CONFIG_NETFILTER_DEBUG is not set |
287 | |||
288 | # | ||
289 | # Core Netfilter Configuration | ||
290 | # | ||
269 | CONFIG_NETFILTER_NETLINK=m | 291 | CONFIG_NETFILTER_NETLINK=m |
270 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 292 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
271 | CONFIG_NETFILTER_NETLINK_LOG=m | 293 | CONFIG_NETFILTER_NETLINK_LOG=m |
294 | # CONFIG_NF_CONNTRACK is not set | ||
272 | 295 | ||
273 | # | 296 | # |
274 | # IP: Netfilter Configuration | 297 | # IP: Netfilter Configuration |
275 | # | 298 | # |
276 | # CONFIG_IP_NF_CONNTRACK is not set | 299 | # CONFIG_IP_NF_CONNTRACK is not set |
277 | CONFIG_IP_NF_PPTP=m | ||
278 | # CONFIG_IP_NF_QUEUE is not set | 300 | # CONFIG_IP_NF_QUEUE is not set |
279 | # CONFIG_IP_NF_IPTABLES is not set | 301 | # CONFIG_IP_NF_IPTABLES is not set |
280 | # CONFIG_IP_NF_ARPTABLES is not set | 302 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -300,6 +322,10 @@ CONFIG_IP_NF_PPTP=m | |||
300 | # CONFIG_NET_DIVERT is not set | 322 | # CONFIG_NET_DIVERT is not set |
301 | # CONFIG_ECONET is not set | 323 | # CONFIG_ECONET is not set |
302 | # CONFIG_WAN_ROUTER is not set | 324 | # CONFIG_WAN_ROUTER is not set |
325 | |||
326 | # | ||
327 | # QoS and/or fair queueing | ||
328 | # | ||
303 | # CONFIG_NET_SCHED is not set | 329 | # CONFIG_NET_SCHED is not set |
304 | # CONFIG_NET_CLS_ROUTE is not set | 330 | # CONFIG_NET_CLS_ROUTE is not set |
305 | 331 | ||
@@ -350,6 +376,7 @@ CONFIG_MTD_BLOCK=y | |||
350 | # CONFIG_FTL is not set | 376 | # CONFIG_FTL is not set |
351 | # CONFIG_NFTL is not set | 377 | # CONFIG_NFTL is not set |
352 | # CONFIG_INFTL is not set | 378 | # CONFIG_INFTL is not set |
379 | # CONFIG_RFD_FTL is not set | ||
353 | 380 | ||
354 | # | 381 | # |
355 | # RAM/ROM/Flash chip drivers | 382 | # RAM/ROM/Flash chip drivers |
@@ -413,6 +440,11 @@ CONFIG_MTD_NAND_AU1550=m | |||
413 | # CONFIG_MTD_NAND_NANDSIM is not set | 440 | # CONFIG_MTD_NAND_NANDSIM is not set |
414 | 441 | ||
415 | # | 442 | # |
443 | # OneNAND Flash Device Drivers | ||
444 | # | ||
445 | # CONFIG_MTD_ONENAND is not set | ||
446 | |||
447 | # | ||
416 | # Parallel port support | 448 | # Parallel port support |
417 | # | 449 | # |
418 | # CONFIG_PARPORT is not set | 450 | # CONFIG_PARPORT is not set |
@@ -435,18 +467,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
435 | # CONFIG_BLK_DEV_SX8 is not set | 467 | # CONFIG_BLK_DEV_SX8 is not set |
436 | # CONFIG_BLK_DEV_RAM is not set | 468 | # CONFIG_BLK_DEV_RAM is not set |
437 | CONFIG_BLK_DEV_RAM_COUNT=16 | 469 | CONFIG_BLK_DEV_RAM_COUNT=16 |
438 | # CONFIG_LBD is not set | ||
439 | CONFIG_CDROM_PKTCDVD=m | 470 | CONFIG_CDROM_PKTCDVD=m |
440 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 471 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
441 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 472 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
442 | |||
443 | # | ||
444 | # IO Schedulers | ||
445 | # | ||
446 | CONFIG_IOSCHED_NOOP=y | ||
447 | CONFIG_IOSCHED_AS=y | ||
448 | CONFIG_IOSCHED_DEADLINE=y | ||
449 | CONFIG_IOSCHED_CFQ=y | ||
450 | CONFIG_ATA_OVER_ETH=m | 473 | CONFIG_ATA_OVER_ETH=m |
451 | 474 | ||
452 | # | 475 | # |
@@ -550,7 +573,6 @@ CONFIG_NETDEVICES=y | |||
550 | # PHY device support | 573 | # PHY device support |
551 | # | 574 | # |
552 | CONFIG_PHYLIB=m | 575 | CONFIG_PHYLIB=m |
553 | CONFIG_PHYCONTROL=y | ||
554 | 576 | ||
555 | # | 577 | # |
556 | # MII PHY device drivers | 578 | # MII PHY device drivers |
@@ -569,7 +591,9 @@ CONFIG_MII=m | |||
569 | CONFIG_MIPS_AU1X00_ENET=y | 591 | CONFIG_MIPS_AU1X00_ENET=y |
570 | # CONFIG_HAPPYMEAL is not set | 592 | # CONFIG_HAPPYMEAL is not set |
571 | # CONFIG_SUNGEM is not set | 593 | # CONFIG_SUNGEM is not set |
594 | # CONFIG_CASSINI is not set | ||
572 | # CONFIG_NET_VENDOR_3COM is not set | 595 | # CONFIG_NET_VENDOR_3COM is not set |
596 | # CONFIG_SMC91X is not set | ||
573 | 597 | ||
574 | # | 598 | # |
575 | # Tulip family network device support | 599 | # Tulip family network device support |
@@ -639,6 +663,7 @@ CONFIG_PPP_ASYNC=m | |||
639 | # CONFIG_PPP_SYNC_TTY is not set | 663 | # CONFIG_PPP_SYNC_TTY is not set |
640 | CONFIG_PPP_DEFLATE=m | 664 | CONFIG_PPP_DEFLATE=m |
641 | # CONFIG_PPP_BSDCOMP is not set | 665 | # CONFIG_PPP_BSDCOMP is not set |
666 | CONFIG_PPP_MPPE=m | ||
642 | CONFIG_PPPOE=m | 667 | CONFIG_PPPOE=m |
643 | # CONFIG_SLIP is not set | 668 | # CONFIG_SLIP is not set |
644 | # CONFIG_SHAPER is not set | 669 | # CONFIG_SHAPER is not set |
@@ -704,13 +729,17 @@ CONFIG_SERIO_RAW=m | |||
704 | # | 729 | # |
705 | # Serial drivers | 730 | # Serial drivers |
706 | # | 731 | # |
707 | # CONFIG_SERIAL_8250 is not set | 732 | CONFIG_SERIAL_8250=y |
733 | CONFIG_SERIAL_8250_CONSOLE=y | ||
734 | # CONFIG_SERIAL_8250_CS is not set | ||
735 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
736 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
737 | CONFIG_SERIAL_8250_AU1X00=y | ||
708 | 738 | ||
709 | # | 739 | # |
710 | # Non-8250 serial port support | 740 | # Non-8250 serial port support |
711 | # | 741 | # |
712 | CONFIG_SERIAL_AU1X00=y | 742 | # CONFIG_SERIAL_AU1X00 is not set |
713 | CONFIG_SERIAL_AU1X00_CONSOLE=y | ||
714 | CONFIG_SERIAL_CORE=y | 743 | CONFIG_SERIAL_CORE=y |
715 | CONFIG_SERIAL_CORE_CONSOLE=y | 744 | CONFIG_SERIAL_CORE_CONSOLE=y |
716 | # CONFIG_SERIAL_JSM is not set | 745 | # CONFIG_SERIAL_JSM is not set |
@@ -742,12 +771,15 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
742 | # PCMCIA character devices | 771 | # PCMCIA character devices |
743 | # | 772 | # |
744 | CONFIG_SYNCLINK_CS=m | 773 | CONFIG_SYNCLINK_CS=m |
774 | # CONFIG_CARDMAN_4000 is not set | ||
775 | # CONFIG_CARDMAN_4040 is not set | ||
745 | # CONFIG_RAW_DRIVER is not set | 776 | # CONFIG_RAW_DRIVER is not set |
746 | 777 | ||
747 | # | 778 | # |
748 | # TPM devices | 779 | # TPM devices |
749 | # | 780 | # |
750 | # CONFIG_TCG_TPM is not set | 781 | # CONFIG_TCG_TPM is not set |
782 | # CONFIG_TELCLOCK is not set | ||
751 | 783 | ||
752 | # | 784 | # |
753 | # I2C support | 785 | # I2C support |
@@ -801,6 +833,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
801 | # CONFIG_USB is not set | 833 | # CONFIG_USB is not set |
802 | 834 | ||
803 | # | 835 | # |
836 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
837 | # | ||
838 | |||
839 | # | ||
804 | # USB Gadget Support | 840 | # USB Gadget Support |
805 | # | 841 | # |
806 | # CONFIG_USB_GADGET is not set | 842 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ddb5476_defconfig b/arch/mips/configs/ddb5476_defconfig index 326f3aa63741..4ba29e612bdf 100644 --- a/arch/mips/configs/ddb5476_defconfig +++ b/arch/mips/configs/ddb5476_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:42 2005 | 4 | # Mon Nov 7 23:05:04 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -51,6 +51,24 @@ CONFIG_BASE_SMALL=0 | |||
51 | # CONFIG_MODULES is not set | 51 | # CONFIG_MODULES is not set |
52 | 52 | ||
53 | # | 53 | # |
54 | # Block layer | ||
55 | # | ||
56 | # CONFIG_LBD is not set | ||
57 | |||
58 | # | ||
59 | # IO Schedulers | ||
60 | # | ||
61 | CONFIG_IOSCHED_NOOP=y | ||
62 | CONFIG_IOSCHED_AS=y | ||
63 | CONFIG_IOSCHED_DEADLINE=y | ||
64 | CONFIG_IOSCHED_CFQ=y | ||
65 | CONFIG_DEFAULT_AS=y | ||
66 | # CONFIG_DEFAULT_DEADLINE is not set | ||
67 | # CONFIG_DEFAULT_CFQ is not set | ||
68 | # CONFIG_DEFAULT_NOOP is not set | ||
69 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
70 | |||
71 | # | ||
54 | # Machine selection | 72 | # Machine selection |
55 | # | 73 | # |
56 | # CONFIG_MIPS_MTX1 is not set | 74 | # CONFIG_MIPS_MTX1 is not set |
@@ -173,6 +191,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
173 | CONFIG_FLATMEM=y | 191 | CONFIG_FLATMEM=y |
174 | CONFIG_FLAT_NODE_MEM_MAP=y | 192 | CONFIG_FLAT_NODE_MEM_MAP=y |
175 | # CONFIG_SPARSEMEM_STATIC is not set | 193 | # CONFIG_SPARSEMEM_STATIC is not set |
194 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
176 | CONFIG_PREEMPT_NONE=y | 195 | CONFIG_PREEMPT_NONE=y |
177 | # CONFIG_PREEMPT_VOLUNTARY is not set | 196 | # CONFIG_PREEMPT_VOLUNTARY is not set |
178 | # CONFIG_PREEMPT is not set | 197 | # CONFIG_PREEMPT is not set |
@@ -261,6 +280,10 @@ CONFIG_TCP_CONG_BIC=y | |||
261 | # CONFIG_NET_DIVERT is not set | 280 | # CONFIG_NET_DIVERT is not set |
262 | # CONFIG_ECONET is not set | 281 | # CONFIG_ECONET is not set |
263 | # CONFIG_WAN_ROUTER is not set | 282 | # CONFIG_WAN_ROUTER is not set |
283 | |||
284 | # | ||
285 | # QoS and/or fair queueing | ||
286 | # | ||
264 | # CONFIG_NET_SCHED is not set | 287 | # CONFIG_NET_SCHED is not set |
265 | # CONFIG_NET_CLS_ROUTE is not set | 288 | # CONFIG_NET_CLS_ROUTE is not set |
266 | 289 | ||
@@ -292,6 +315,7 @@ CONFIG_FW_LOADER=y | |||
292 | # Connector - unified userspace <-> kernelspace linker | 315 | # Connector - unified userspace <-> kernelspace linker |
293 | # | 316 | # |
294 | CONFIG_CONNECTOR=y | 317 | CONFIG_CONNECTOR=y |
318 | CONFIG_PROC_EVENTS=y | ||
295 | 319 | ||
296 | # | 320 | # |
297 | # Memory Technology Devices (MTD) | 321 | # Memory Technology Devices (MTD) |
@@ -321,18 +345,9 @@ CONFIG_CONNECTOR=y | |||
321 | # CONFIG_BLK_DEV_SX8 is not set | 345 | # CONFIG_BLK_DEV_SX8 is not set |
322 | # CONFIG_BLK_DEV_RAM is not set | 346 | # CONFIG_BLK_DEV_RAM is not set |
323 | CONFIG_BLK_DEV_RAM_COUNT=16 | 347 | CONFIG_BLK_DEV_RAM_COUNT=16 |
324 | # CONFIG_LBD is not set | ||
325 | CONFIG_CDROM_PKTCDVD=y | 348 | CONFIG_CDROM_PKTCDVD=y |
326 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 349 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
327 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 350 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
328 | |||
329 | # | ||
330 | # IO Schedulers | ||
331 | # | ||
332 | CONFIG_IOSCHED_NOOP=y | ||
333 | CONFIG_IOSCHED_AS=y | ||
334 | CONFIG_IOSCHED_DEADLINE=y | ||
335 | CONFIG_IOSCHED_CFQ=y | ||
336 | CONFIG_ATA_OVER_ETH=y | 351 | CONFIG_ATA_OVER_ETH=y |
337 | 352 | ||
338 | # | 353 | # |
@@ -412,7 +427,6 @@ CONFIG_NETDEVICES=y | |||
412 | # PHY device support | 427 | # PHY device support |
413 | # | 428 | # |
414 | CONFIG_PHYLIB=y | 429 | CONFIG_PHYLIB=y |
415 | CONFIG_PHYCONTROL=y | ||
416 | 430 | ||
417 | # | 431 | # |
418 | # MII PHY device drivers | 432 | # MII PHY device drivers |
@@ -430,6 +444,7 @@ CONFIG_NET_ETHERNET=y | |||
430 | # CONFIG_MII is not set | 444 | # CONFIG_MII is not set |
431 | # CONFIG_HAPPYMEAL is not set | 445 | # CONFIG_HAPPYMEAL is not set |
432 | # CONFIG_SUNGEM is not set | 446 | # CONFIG_SUNGEM is not set |
447 | # CONFIG_CASSINI is not set | ||
433 | # CONFIG_NET_VENDOR_3COM is not set | 448 | # CONFIG_NET_VENDOR_3COM is not set |
434 | # CONFIG_NET_VENDOR_SMC is not set | 449 | # CONFIG_NET_VENDOR_SMC is not set |
435 | # CONFIG_NET_VENDOR_RACAL is not set | 450 | # CONFIG_NET_VENDOR_RACAL is not set |
@@ -443,7 +458,6 @@ CONFIG_NET_ETHERNET=y | |||
443 | # CONFIG_HP100 is not set | 458 | # CONFIG_HP100 is not set |
444 | # CONFIG_NET_ISA is not set | 459 | # CONFIG_NET_ISA is not set |
445 | # CONFIG_NET_PCI is not set | 460 | # CONFIG_NET_PCI is not set |
446 | # CONFIG_NET_POCKET is not set | ||
447 | 461 | ||
448 | # | 462 | # |
449 | # Ethernet (1000 Mbit) | 463 | # Ethernet (1000 Mbit) |
@@ -591,6 +605,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
591 | # TPM devices | 605 | # TPM devices |
592 | # | 606 | # |
593 | # CONFIG_TCG_TPM is not set | 607 | # CONFIG_TCG_TPM is not set |
608 | # CONFIG_TELCLOCK is not set | ||
594 | 609 | ||
595 | # | 610 | # |
596 | # I2C support | 611 | # I2C support |
@@ -633,7 +648,6 @@ CONFIG_FB=y | |||
633 | # CONFIG_FB_CFB_FILLRECT is not set | 648 | # CONFIG_FB_CFB_FILLRECT is not set |
634 | # CONFIG_FB_CFB_COPYAREA is not set | 649 | # CONFIG_FB_CFB_COPYAREA is not set |
635 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 650 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
636 | # CONFIG_FB_SOFT_CURSOR is not set | ||
637 | # CONFIG_FB_MACMODES is not set | 651 | # CONFIG_FB_MACMODES is not set |
638 | # CONFIG_FB_MODE_HELPERS is not set | 652 | # CONFIG_FB_MODE_HELPERS is not set |
639 | # CONFIG_FB_TILEBLITTING is not set | 653 | # CONFIG_FB_TILEBLITTING is not set |
@@ -642,6 +656,7 @@ CONFIG_FB=y | |||
642 | # CONFIG_FB_CYBER2000 is not set | 656 | # CONFIG_FB_CYBER2000 is not set |
643 | # CONFIG_FB_ASILIANT is not set | 657 | # CONFIG_FB_ASILIANT is not set |
644 | # CONFIG_FB_IMSTT is not set | 658 | # CONFIG_FB_IMSTT is not set |
659 | # CONFIG_FB_S1D13XXX is not set | ||
645 | # CONFIG_FB_NVIDIA is not set | 660 | # CONFIG_FB_NVIDIA is not set |
646 | # CONFIG_FB_RIVA is not set | 661 | # CONFIG_FB_RIVA is not set |
647 | # CONFIG_FB_MATROX is not set | 662 | # CONFIG_FB_MATROX is not set |
@@ -658,7 +673,6 @@ CONFIG_FB=y | |||
658 | # CONFIG_FB_SMIVGX is not set | 673 | # CONFIG_FB_SMIVGX is not set |
659 | # CONFIG_FB_CYBLA is not set | 674 | # CONFIG_FB_CYBLA is not set |
660 | # CONFIG_FB_TRIDENT is not set | 675 | # CONFIG_FB_TRIDENT is not set |
661 | # CONFIG_FB_S1D13XXX is not set | ||
662 | # CONFIG_FB_VIRTUAL is not set | 676 | # CONFIG_FB_VIRTUAL is not set |
663 | 677 | ||
664 | # | 678 | # |
@@ -688,6 +702,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
688 | # CONFIG_USB is not set | 702 | # CONFIG_USB is not set |
689 | 703 | ||
690 | # | 704 | # |
705 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
706 | # | ||
707 | |||
708 | # | ||
691 | # USB Gadget Support | 709 | # USB Gadget Support |
692 | # | 710 | # |
693 | # CONFIG_USB_GADGET is not set | 711 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ddb5477_defconfig b/arch/mips/configs/ddb5477_defconfig index c2a01df3c8df..ea4e9046bbee 100644 --- a/arch/mips/configs/ddb5477_defconfig +++ b/arch/mips/configs/ddb5477_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:45 2005 | 4 | # Mon Nov 7 23:05:08 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -51,6 +51,24 @@ CONFIG_BASE_SMALL=0 | |||
51 | # CONFIG_MODULES is not set | 51 | # CONFIG_MODULES is not set |
52 | 52 | ||
53 | # | 53 | # |
54 | # Block layer | ||
55 | # | ||
56 | # CONFIG_LBD is not set | ||
57 | |||
58 | # | ||
59 | # IO Schedulers | ||
60 | # | ||
61 | CONFIG_IOSCHED_NOOP=y | ||
62 | CONFIG_IOSCHED_AS=y | ||
63 | CONFIG_IOSCHED_DEADLINE=y | ||
64 | CONFIG_IOSCHED_CFQ=y | ||
65 | CONFIG_DEFAULT_AS=y | ||
66 | # CONFIG_DEFAULT_DEADLINE is not set | ||
67 | # CONFIG_DEFAULT_CFQ is not set | ||
68 | # CONFIG_DEFAULT_NOOP is not set | ||
69 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
70 | |||
71 | # | ||
54 | # Machine selection | 72 | # Machine selection |
55 | # | 73 | # |
56 | # CONFIG_MIPS_MTX1 is not set | 74 | # CONFIG_MIPS_MTX1 is not set |
@@ -173,6 +191,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
173 | CONFIG_FLATMEM=y | 191 | CONFIG_FLATMEM=y |
174 | CONFIG_FLAT_NODE_MEM_MAP=y | 192 | CONFIG_FLAT_NODE_MEM_MAP=y |
175 | # CONFIG_SPARSEMEM_STATIC is not set | 193 | # CONFIG_SPARSEMEM_STATIC is not set |
194 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
176 | CONFIG_PREEMPT_NONE=y | 195 | CONFIG_PREEMPT_NONE=y |
177 | # CONFIG_PREEMPT_VOLUNTARY is not set | 196 | # CONFIG_PREEMPT_VOLUNTARY is not set |
178 | # CONFIG_PREEMPT is not set | 197 | # CONFIG_PREEMPT is not set |
@@ -260,6 +279,10 @@ CONFIG_TCP_CONG_BIC=y | |||
260 | # CONFIG_NET_DIVERT is not set | 279 | # CONFIG_NET_DIVERT is not set |
261 | # CONFIG_ECONET is not set | 280 | # CONFIG_ECONET is not set |
262 | # CONFIG_WAN_ROUTER is not set | 281 | # CONFIG_WAN_ROUTER is not set |
282 | |||
283 | # | ||
284 | # QoS and/or fair queueing | ||
285 | # | ||
263 | # CONFIG_NET_SCHED is not set | 286 | # CONFIG_NET_SCHED is not set |
264 | # CONFIG_NET_CLS_ROUTE is not set | 287 | # CONFIG_NET_CLS_ROUTE is not set |
265 | 288 | ||
@@ -291,6 +314,7 @@ CONFIG_FW_LOADER=y | |||
291 | # Connector - unified userspace <-> kernelspace linker | 314 | # Connector - unified userspace <-> kernelspace linker |
292 | # | 315 | # |
293 | CONFIG_CONNECTOR=y | 316 | CONFIG_CONNECTOR=y |
317 | CONFIG_PROC_EVENTS=y | ||
294 | 318 | ||
295 | # | 319 | # |
296 | # Memory Technology Devices (MTD) | 320 | # Memory Technology Devices (MTD) |
@@ -319,18 +343,9 @@ CONFIG_CONNECTOR=y | |||
319 | # CONFIG_BLK_DEV_SX8 is not set | 343 | # CONFIG_BLK_DEV_SX8 is not set |
320 | # CONFIG_BLK_DEV_RAM is not set | 344 | # CONFIG_BLK_DEV_RAM is not set |
321 | CONFIG_BLK_DEV_RAM_COUNT=16 | 345 | CONFIG_BLK_DEV_RAM_COUNT=16 |
322 | # CONFIG_LBD is not set | ||
323 | CONFIG_CDROM_PKTCDVD=y | 346 | CONFIG_CDROM_PKTCDVD=y |
324 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 347 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
325 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 348 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
326 | |||
327 | # | ||
328 | # IO Schedulers | ||
329 | # | ||
330 | CONFIG_IOSCHED_NOOP=y | ||
331 | CONFIG_IOSCHED_AS=y | ||
332 | CONFIG_IOSCHED_DEADLINE=y | ||
333 | CONFIG_IOSCHED_CFQ=y | ||
334 | CONFIG_ATA_OVER_ETH=y | 349 | CONFIG_ATA_OVER_ETH=y |
335 | 350 | ||
336 | # | 351 | # |
@@ -382,7 +397,6 @@ CONFIG_NETDEVICES=y | |||
382 | # PHY device support | 397 | # PHY device support |
383 | # | 398 | # |
384 | CONFIG_PHYLIB=y | 399 | CONFIG_PHYLIB=y |
385 | CONFIG_PHYCONTROL=y | ||
386 | 400 | ||
387 | # | 401 | # |
388 | # MII PHY device drivers | 402 | # MII PHY device drivers |
@@ -400,6 +414,7 @@ CONFIG_NET_ETHERNET=y | |||
400 | CONFIG_MII=y | 414 | CONFIG_MII=y |
401 | # CONFIG_HAPPYMEAL is not set | 415 | # CONFIG_HAPPYMEAL is not set |
402 | # CONFIG_SUNGEM is not set | 416 | # CONFIG_SUNGEM is not set |
417 | # CONFIG_CASSINI is not set | ||
403 | # CONFIG_NET_VENDOR_3COM is not set | 418 | # CONFIG_NET_VENDOR_3COM is not set |
404 | 419 | ||
405 | # | 420 | # |
@@ -575,6 +590,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
575 | # TPM devices | 590 | # TPM devices |
576 | # | 591 | # |
577 | # CONFIG_TCG_TPM is not set | 592 | # CONFIG_TCG_TPM is not set |
593 | # CONFIG_TELCLOCK is not set | ||
578 | 594 | ||
579 | # | 595 | # |
580 | # I2C support | 596 | # I2C support |
@@ -634,6 +650,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
634 | # CONFIG_USB is not set | 650 | # CONFIG_USB is not set |
635 | 651 | ||
636 | # | 652 | # |
653 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
654 | # | ||
655 | |||
656 | # | ||
637 | # USB Gadget Support | 657 | # USB Gadget Support |
638 | # | 658 | # |
639 | # CONFIG_USB_GADGET is not set | 659 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig index 5bc885b72d14..1ac6c9b7ef96 100644 --- a/arch/mips/configs/decstation_defconfig +++ b/arch/mips/configs/decstation_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:48 2005 | 4 | # Fri Nov 11 13:29:30 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -178,6 +196,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
178 | CONFIG_FLATMEM=y | 196 | CONFIG_FLATMEM=y |
179 | CONFIG_FLAT_NODE_MEM_MAP=y | 197 | CONFIG_FLAT_NODE_MEM_MAP=y |
180 | # CONFIG_SPARSEMEM_STATIC is not set | 198 | # CONFIG_SPARSEMEM_STATIC is not set |
199 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
181 | CONFIG_PREEMPT_NONE=y | 200 | CONFIG_PREEMPT_NONE=y |
182 | # CONFIG_PREEMPT_VOLUNTARY is not set | 201 | # CONFIG_PREEMPT_VOLUNTARY is not set |
183 | # CONFIG_PREEMPT is not set | 202 | # CONFIG_PREEMPT is not set |
@@ -262,6 +281,10 @@ CONFIG_TCP_CONG_BIC=y | |||
262 | # CONFIG_NET_DIVERT is not set | 281 | # CONFIG_NET_DIVERT is not set |
263 | # CONFIG_ECONET is not set | 282 | # CONFIG_ECONET is not set |
264 | # CONFIG_WAN_ROUTER is not set | 283 | # CONFIG_WAN_ROUTER is not set |
284 | |||
285 | # | ||
286 | # QoS and/or fair queueing | ||
287 | # | ||
265 | # CONFIG_NET_SCHED is not set | 288 | # CONFIG_NET_SCHED is not set |
266 | # CONFIG_NET_CLS_ROUTE is not set | 289 | # CONFIG_NET_CLS_ROUTE is not set |
267 | 290 | ||
@@ -318,16 +341,7 @@ CONFIG_BLK_DEV_LOOP=m | |||
318 | # CONFIG_BLK_DEV_NBD is not set | 341 | # CONFIG_BLK_DEV_NBD is not set |
319 | # CONFIG_BLK_DEV_RAM is not set | 342 | # CONFIG_BLK_DEV_RAM is not set |
320 | CONFIG_BLK_DEV_RAM_COUNT=16 | 343 | CONFIG_BLK_DEV_RAM_COUNT=16 |
321 | # CONFIG_LBD is not set | ||
322 | # CONFIG_CDROM_PKTCDVD is not set | 344 | # CONFIG_CDROM_PKTCDVD is not set |
323 | |||
324 | # | ||
325 | # IO Schedulers | ||
326 | # | ||
327 | CONFIG_IOSCHED_NOOP=y | ||
328 | CONFIG_IOSCHED_AS=y | ||
329 | CONFIG_IOSCHED_DEADLINE=y | ||
330 | CONFIG_IOSCHED_CFQ=y | ||
331 | # CONFIG_ATA_OVER_ETH is not set | 345 | # CONFIG_ATA_OVER_ETH is not set |
332 | 346 | ||
333 | # | 347 | # |
@@ -365,12 +379,13 @@ CONFIG_SCSI_CONSTANTS=y | |||
365 | # | 379 | # |
366 | CONFIG_SCSI_SPI_ATTRS=m | 380 | CONFIG_SCSI_SPI_ATTRS=m |
367 | # CONFIG_SCSI_FC_ATTRS is not set | 381 | # CONFIG_SCSI_FC_ATTRS is not set |
368 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 382 | CONFIG_SCSI_ISCSI_ATTRS=m |
369 | CONFIG_SCSI_SAS_ATTRS=m | 383 | CONFIG_SCSI_SAS_ATTRS=m |
370 | 384 | ||
371 | # | 385 | # |
372 | # SCSI low-level drivers | 386 | # SCSI low-level drivers |
373 | # | 387 | # |
388 | CONFIG_ISCSI_TCP=m | ||
374 | CONFIG_SCSI_DECNCR=y | 389 | CONFIG_SCSI_DECNCR=y |
375 | # CONFIG_SCSI_DECSII is not set | 390 | # CONFIG_SCSI_DECSII is not set |
376 | # CONFIG_SCSI_SATA is not set | 391 | # CONFIG_SCSI_SATA is not set |
@@ -407,7 +422,6 @@ CONFIG_NETDEVICES=y | |||
407 | # PHY device support | 422 | # PHY device support |
408 | # | 423 | # |
409 | CONFIG_PHYLIB=m | 424 | CONFIG_PHYLIB=m |
410 | CONFIG_PHYCONTROL=y | ||
411 | 425 | ||
412 | # | 426 | # |
413 | # MII PHY device drivers | 427 | # MII PHY device drivers |
@@ -491,10 +505,7 @@ CONFIG_ZS=y | |||
491 | # | 505 | # |
492 | # Non-8250 serial port support | 506 | # Non-8250 serial port support |
493 | # | 507 | # |
494 | CONFIG_SERIAL_DZ=y | 508 | # CONFIG_SERIAL_DZ is not set |
495 | CONFIG_SERIAL_DZ_CONSOLE=y | ||
496 | CONFIG_SERIAL_CORE=y | ||
497 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
498 | CONFIG_UNIX98_PTYS=y | 509 | CONFIG_UNIX98_PTYS=y |
499 | CONFIG_LEGACY_PTYS=y | 510 | CONFIG_LEGACY_PTYS=y |
500 | CONFIG_LEGACY_PTY_COUNT=256 | 511 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -520,6 +531,7 @@ CONFIG_RTC=y | |||
520 | # | 531 | # |
521 | # TPM devices | 532 | # TPM devices |
522 | # | 533 | # |
534 | # CONFIG_TELCLOCK is not set | ||
523 | 535 | ||
524 | # | 536 | # |
525 | # I2C support | 537 | # I2C support |
@@ -562,15 +574,14 @@ CONFIG_FB=y | |||
562 | CONFIG_FB_CFB_FILLRECT=y | 574 | CONFIG_FB_CFB_FILLRECT=y |
563 | CONFIG_FB_CFB_COPYAREA=y | 575 | CONFIG_FB_CFB_COPYAREA=y |
564 | CONFIG_FB_CFB_IMAGEBLIT=y | 576 | CONFIG_FB_CFB_IMAGEBLIT=y |
565 | CONFIG_FB_SOFT_CURSOR=y | ||
566 | # CONFIG_FB_MACMODES is not set | 577 | # CONFIG_FB_MACMODES is not set |
567 | # CONFIG_FB_MODE_HELPERS is not set | 578 | # CONFIG_FB_MODE_HELPERS is not set |
568 | # CONFIG_FB_TILEBLITTING is not set | 579 | # CONFIG_FB_TILEBLITTING is not set |
580 | # CONFIG_FB_S1D13XXX is not set | ||
569 | # CONFIG_FB_PMAG_AA is not set | 581 | # CONFIG_FB_PMAG_AA is not set |
570 | CONFIG_FB_PMAG_BA=y | 582 | CONFIG_FB_PMAG_BA=y |
571 | CONFIG_FB_PMAGB_B=y | 583 | CONFIG_FB_PMAGB_B=y |
572 | # CONFIG_FB_MAXINE is not set | 584 | # CONFIG_FB_MAXINE is not set |
573 | # CONFIG_FB_S1D13XXX is not set | ||
574 | # CONFIG_FB_VIRTUAL is not set | 585 | # CONFIG_FB_VIRTUAL is not set |
575 | 586 | ||
576 | # | 587 | # |
@@ -595,6 +606,10 @@ CONFIG_LOGO_DEC_CLUT224=y | |||
595 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 606 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
596 | 607 | ||
597 | # | 608 | # |
609 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
610 | # | ||
611 | |||
612 | # | ||
598 | # USB Gadget Support | 613 | # USB Gadget Support |
599 | # | 614 | # |
600 | # CONFIG_USB_GADGET is not set | 615 | # CONFIG_USB_GADGET is not set |
@@ -746,6 +761,8 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
746 | # CONFIG_DEBUG_KOBJECT is not set | 761 | # CONFIG_DEBUG_KOBJECT is not set |
747 | # CONFIG_DEBUG_INFO is not set | 762 | # CONFIG_DEBUG_INFO is not set |
748 | # CONFIG_DEBUG_FS is not set | 763 | # CONFIG_DEBUG_FS is not set |
764 | # CONFIG_DEBUG_VM is not set | ||
765 | # CONFIG_RCU_TORTURE_TEST is not set | ||
749 | CONFIG_CROSSCOMPILE=y | 766 | CONFIG_CROSSCOMPILE=y |
750 | CONFIG_CMDLINE="" | 767 | CONFIG_CMDLINE="" |
751 | # CONFIG_DEBUG_STACK_USAGE is not set | 768 | # CONFIG_DEBUG_STACK_USAGE is not set |
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig index c0d06ea5566c..a89d2f66cdfa 100644 --- a/arch/mips/configs/e55_defconfig +++ b/arch/mips/configs/e55_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:51 2005 | 4 | # Mon Nov 7 23:05:15 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -180,6 +198,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
180 | CONFIG_FLATMEM=y | 198 | CONFIG_FLATMEM=y |
181 | CONFIG_FLAT_NODE_MEM_MAP=y | 199 | CONFIG_FLAT_NODE_MEM_MAP=y |
182 | # CONFIG_SPARSEMEM_STATIC is not set | 200 | # CONFIG_SPARSEMEM_STATIC is not set |
201 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
183 | CONFIG_PREEMPT_NONE=y | 202 | CONFIG_PREEMPT_NONE=y |
184 | # CONFIG_PREEMPT_VOLUNTARY is not set | 203 | # CONFIG_PREEMPT_VOLUNTARY is not set |
185 | # CONFIG_PREEMPT is not set | 204 | # CONFIG_PREEMPT is not set |
@@ -262,6 +281,10 @@ CONFIG_TCP_CONG_BIC=y | |||
262 | # CONFIG_NET_DIVERT is not set | 281 | # CONFIG_NET_DIVERT is not set |
263 | # CONFIG_ECONET is not set | 282 | # CONFIG_ECONET is not set |
264 | # CONFIG_WAN_ROUTER is not set | 283 | # CONFIG_WAN_ROUTER is not set |
284 | |||
285 | # | ||
286 | # QoS and/or fair queueing | ||
287 | # | ||
265 | # CONFIG_NET_SCHED is not set | 288 | # CONFIG_NET_SCHED is not set |
266 | # CONFIG_NET_CLS_ROUTE is not set | 289 | # CONFIG_NET_CLS_ROUTE is not set |
267 | 290 | ||
@@ -317,16 +340,7 @@ CONFIG_CONNECTOR=m | |||
317 | # CONFIG_BLK_DEV_NBD is not set | 340 | # CONFIG_BLK_DEV_NBD is not set |
318 | # CONFIG_BLK_DEV_RAM is not set | 341 | # CONFIG_BLK_DEV_RAM is not set |
319 | CONFIG_BLK_DEV_RAM_COUNT=16 | 342 | CONFIG_BLK_DEV_RAM_COUNT=16 |
320 | # CONFIG_LBD is not set | ||
321 | # CONFIG_CDROM_PKTCDVD is not set | 343 | # CONFIG_CDROM_PKTCDVD is not set |
322 | |||
323 | # | ||
324 | # IO Schedulers | ||
325 | # | ||
326 | CONFIG_IOSCHED_NOOP=y | ||
327 | CONFIG_IOSCHED_AS=y | ||
328 | CONFIG_IOSCHED_DEADLINE=y | ||
329 | CONFIG_IOSCHED_CFQ=y | ||
330 | # CONFIG_ATA_OVER_ETH is not set | 344 | # CONFIG_ATA_OVER_ETH is not set |
331 | 345 | ||
332 | # | 346 | # |
@@ -403,7 +417,6 @@ CONFIG_NETDEVICES=y | |||
403 | # PHY device support | 417 | # PHY device support |
404 | # | 418 | # |
405 | CONFIG_PHYLIB=m | 419 | CONFIG_PHYLIB=m |
406 | CONFIG_PHYCONTROL=y | ||
407 | 420 | ||
408 | # | 421 | # |
409 | # MII PHY device drivers | 422 | # MII PHY device drivers |
@@ -427,7 +440,6 @@ CONFIG_NET_ETHERNET=y | |||
427 | # CONFIG_HP100 is not set | 440 | # CONFIG_HP100 is not set |
428 | # CONFIG_NET_ISA is not set | 441 | # CONFIG_NET_ISA is not set |
429 | # CONFIG_NET_PCI is not set | 442 | # CONFIG_NET_PCI is not set |
430 | # CONFIG_NET_POCKET is not set | ||
431 | 443 | ||
432 | # | 444 | # |
433 | # Ethernet (1000 Mbit) | 445 | # Ethernet (1000 Mbit) |
@@ -552,6 +564,7 @@ CONFIG_WATCHDOG=y | |||
552 | # CONFIG_WDT is not set | 564 | # CONFIG_WDT is not set |
553 | # CONFIG_RTC is not set | 565 | # CONFIG_RTC is not set |
554 | # CONFIG_GEN_RTC is not set | 566 | # CONFIG_GEN_RTC is not set |
567 | # CONFIG_RTC_VR41XX is not set | ||
555 | # CONFIG_DTLK is not set | 568 | # CONFIG_DTLK is not set |
556 | # CONFIG_R3964 is not set | 569 | # CONFIG_R3964 is not set |
557 | 570 | ||
@@ -564,6 +577,7 @@ CONFIG_GPIO_VR41XX=y | |||
564 | # | 577 | # |
565 | # TPM devices | 578 | # TPM devices |
566 | # | 579 | # |
580 | # CONFIG_TELCLOCK is not set | ||
567 | 581 | ||
568 | # | 582 | # |
569 | # I2C support | 583 | # I2C support |
@@ -623,6 +637,10 @@ CONFIG_DUMMY_CONSOLE=y | |||
623 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 637 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
624 | 638 | ||
625 | # | 639 | # |
640 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
641 | # | ||
642 | |||
643 | # | ||
626 | # USB Gadget Support | 644 | # USB Gadget Support |
627 | # | 645 | # |
628 | # CONFIG_USB_GADGET is not set | 646 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ev64120_defconfig b/arch/mips/configs/ev64120_defconfig index f1309d84d2fe..e6c3c27f41fe 100644 --- a/arch/mips/configs/ev64120_defconfig +++ b/arch/mips/configs/ev64120_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:54 2005 | 4 | # Wed Nov 9 11:05:12 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | # CONFIG_KMOD is not set | 57 | # CONFIG_KMOD is not set |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -181,6 +199,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
181 | CONFIG_FLATMEM=y | 199 | CONFIG_FLATMEM=y |
182 | CONFIG_FLAT_NODE_MEM_MAP=y | 200 | CONFIG_FLAT_NODE_MEM_MAP=y |
183 | # CONFIG_SPARSEMEM_STATIC is not set | 201 | # CONFIG_SPARSEMEM_STATIC is not set |
202 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
184 | CONFIG_PREEMPT_NONE=y | 203 | CONFIG_PREEMPT_NONE=y |
185 | # CONFIG_PREEMPT_VOLUNTARY is not set | 204 | # CONFIG_PREEMPT_VOLUNTARY is not set |
186 | # CONFIG_PREEMPT is not set | 205 | # CONFIG_PREEMPT is not set |
@@ -267,6 +286,10 @@ CONFIG_TCP_CONG_BIC=y | |||
267 | # CONFIG_NET_DIVERT is not set | 286 | # CONFIG_NET_DIVERT is not set |
268 | # CONFIG_ECONET is not set | 287 | # CONFIG_ECONET is not set |
269 | # CONFIG_WAN_ROUTER is not set | 288 | # CONFIG_WAN_ROUTER is not set |
289 | |||
290 | # | ||
291 | # QoS and/or fair queueing | ||
292 | # | ||
270 | # CONFIG_NET_SCHED is not set | 293 | # CONFIG_NET_SCHED is not set |
271 | # CONFIG_NET_CLS_ROUTE is not set | 294 | # CONFIG_NET_CLS_ROUTE is not set |
272 | 295 | ||
@@ -326,18 +349,9 @@ CONFIG_CONNECTOR=m | |||
326 | # CONFIG_BLK_DEV_SX8 is not set | 349 | # CONFIG_BLK_DEV_SX8 is not set |
327 | # CONFIG_BLK_DEV_RAM is not set | 350 | # CONFIG_BLK_DEV_RAM is not set |
328 | CONFIG_BLK_DEV_RAM_COUNT=16 | 351 | CONFIG_BLK_DEV_RAM_COUNT=16 |
329 | # CONFIG_LBD is not set | ||
330 | CONFIG_CDROM_PKTCDVD=m | 352 | CONFIG_CDROM_PKTCDVD=m |
331 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 353 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
332 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 354 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
333 | |||
334 | # | ||
335 | # IO Schedulers | ||
336 | # | ||
337 | CONFIG_IOSCHED_NOOP=y | ||
338 | CONFIG_IOSCHED_AS=y | ||
339 | CONFIG_IOSCHED_DEADLINE=y | ||
340 | CONFIG_IOSCHED_CFQ=y | ||
341 | CONFIG_ATA_OVER_ETH=m | 355 | CONFIG_ATA_OVER_ETH=m |
342 | 356 | ||
343 | # | 357 | # |
@@ -389,7 +403,6 @@ CONFIG_NETDEVICES=y | |||
389 | # PHY device support | 403 | # PHY device support |
390 | # | 404 | # |
391 | CONFIG_PHYLIB=m | 405 | CONFIG_PHYLIB=m |
392 | CONFIG_PHYCONTROL=y | ||
393 | 406 | ||
394 | # | 407 | # |
395 | # MII PHY device drivers | 408 | # MII PHY device drivers |
@@ -407,6 +420,7 @@ CONFIG_NET_ETHERNET=y | |||
407 | # CONFIG_MII is not set | 420 | # CONFIG_MII is not set |
408 | # CONFIG_HAPPYMEAL is not set | 421 | # CONFIG_HAPPYMEAL is not set |
409 | # CONFIG_SUNGEM is not set | 422 | # CONFIG_SUNGEM is not set |
423 | # CONFIG_CASSINI is not set | ||
410 | # CONFIG_NET_VENDOR_3COM is not set | 424 | # CONFIG_NET_VENDOR_3COM is not set |
411 | 425 | ||
412 | # | 426 | # |
@@ -464,6 +478,7 @@ CONFIG_PPP_ASYNC=y | |||
464 | # CONFIG_PPP_SYNC_TTY is not set | 478 | # CONFIG_PPP_SYNC_TTY is not set |
465 | # CONFIG_PPP_DEFLATE is not set | 479 | # CONFIG_PPP_DEFLATE is not set |
466 | # CONFIG_PPP_BSDCOMP is not set | 480 | # CONFIG_PPP_BSDCOMP is not set |
481 | CONFIG_PPP_MPPE=m | ||
467 | # CONFIG_PPPOE is not set | 482 | # CONFIG_PPPOE is not set |
468 | # CONFIG_SLIP is not set | 483 | # CONFIG_SLIP is not set |
469 | # CONFIG_SHAPER is not set | 484 | # CONFIG_SHAPER is not set |
@@ -569,6 +584,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
569 | # TPM devices | 584 | # TPM devices |
570 | # | 585 | # |
571 | # CONFIG_TCG_TPM is not set | 586 | # CONFIG_TCG_TPM is not set |
587 | # CONFIG_TELCLOCK is not set | ||
572 | 588 | ||
573 | # | 589 | # |
574 | # I2C support | 590 | # I2C support |
@@ -628,6 +644,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
628 | # CONFIG_USB is not set | 644 | # CONFIG_USB is not set |
629 | 645 | ||
630 | # | 646 | # |
647 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
648 | # | ||
649 | |||
650 | # | ||
631 | # USB Gadget Support | 651 | # USB Gadget Support |
632 | # | 652 | # |
633 | # CONFIG_USB_GADGET is not set | 653 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ev96100_defconfig b/arch/mips/configs/ev96100_defconfig index 8ac55b7acc01..52ca6bf5be66 100644 --- a/arch/mips/configs/ev96100_defconfig +++ b/arch/mips/configs/ev96100_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:57 2005 | 4 | # Mon Nov 7 23:05:22 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | # CONFIG_KMOD is not set | 57 | # CONFIG_KMOD is not set |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -185,6 +203,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
185 | CONFIG_FLATMEM=y | 203 | CONFIG_FLATMEM=y |
186 | CONFIG_FLAT_NODE_MEM_MAP=y | 204 | CONFIG_FLAT_NODE_MEM_MAP=y |
187 | # CONFIG_SPARSEMEM_STATIC is not set | 205 | # CONFIG_SPARSEMEM_STATIC is not set |
206 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
188 | CONFIG_PREEMPT_NONE=y | 207 | CONFIG_PREEMPT_NONE=y |
189 | # CONFIG_PREEMPT_VOLUNTARY is not set | 208 | # CONFIG_PREEMPT_VOLUNTARY is not set |
190 | # CONFIG_PREEMPT is not set | 209 | # CONFIG_PREEMPT is not set |
@@ -269,6 +288,10 @@ CONFIG_TCP_CONG_BIC=y | |||
269 | # CONFIG_NET_DIVERT is not set | 288 | # CONFIG_NET_DIVERT is not set |
270 | # CONFIG_ECONET is not set | 289 | # CONFIG_ECONET is not set |
271 | # CONFIG_WAN_ROUTER is not set | 290 | # CONFIG_WAN_ROUTER is not set |
291 | |||
292 | # | ||
293 | # QoS and/or fair queueing | ||
294 | # | ||
272 | # CONFIG_NET_SCHED is not set | 295 | # CONFIG_NET_SCHED is not set |
273 | # CONFIG_NET_CLS_ROUTE is not set | 296 | # CONFIG_NET_CLS_ROUTE is not set |
274 | 297 | ||
@@ -323,18 +346,9 @@ CONFIG_CONNECTOR=m | |||
323 | # CONFIG_BLK_DEV_NBD is not set | 346 | # CONFIG_BLK_DEV_NBD is not set |
324 | # CONFIG_BLK_DEV_RAM is not set | 347 | # CONFIG_BLK_DEV_RAM is not set |
325 | CONFIG_BLK_DEV_RAM_COUNT=16 | 348 | CONFIG_BLK_DEV_RAM_COUNT=16 |
326 | # CONFIG_LBD is not set | ||
327 | CONFIG_CDROM_PKTCDVD=m | 349 | CONFIG_CDROM_PKTCDVD=m |
328 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 350 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
329 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 351 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
330 | |||
331 | # | ||
332 | # IO Schedulers | ||
333 | # | ||
334 | CONFIG_IOSCHED_NOOP=y | ||
335 | CONFIG_IOSCHED_AS=y | ||
336 | CONFIG_IOSCHED_DEADLINE=y | ||
337 | CONFIG_IOSCHED_CFQ=y | ||
338 | CONFIG_ATA_OVER_ETH=m | 352 | CONFIG_ATA_OVER_ETH=m |
339 | 353 | ||
340 | # | 354 | # |
@@ -379,7 +393,6 @@ CONFIG_NETDEVICES=y | |||
379 | # PHY device support | 393 | # PHY device support |
380 | # | 394 | # |
381 | CONFIG_PHYLIB=m | 395 | CONFIG_PHYLIB=m |
382 | CONFIG_PHYCONTROL=y | ||
383 | 396 | ||
384 | # | 397 | # |
385 | # MII PHY device drivers | 398 | # MII PHY device drivers |
@@ -518,6 +531,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
518 | # | 531 | # |
519 | # TPM devices | 532 | # TPM devices |
520 | # | 533 | # |
534 | # CONFIG_TELCLOCK is not set | ||
521 | 535 | ||
522 | # | 536 | # |
523 | # I2C support | 537 | # I2C support |
@@ -576,6 +590,10 @@ CONFIG_DUMMY_CONSOLE=y | |||
576 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 590 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
577 | 591 | ||
578 | # | 592 | # |
593 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
594 | # | ||
595 | |||
596 | # | ||
579 | # USB Gadget Support | 597 | # USB Gadget Support |
580 | # | 598 | # |
581 | # CONFIG_USB_GADGET is not set | 599 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig index 3ae3838f283c..79e3fe7e2d54 100644 --- a/arch/mips/configs/ip22_defconfig +++ b/arch/mips/configs/ip22_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:01 2005 | 4 | # Thu Nov 10 13:38:41 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -187,6 +205,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
187 | CONFIG_FLATMEM=y | 205 | CONFIG_FLATMEM=y |
188 | CONFIG_FLAT_NODE_MEM_MAP=y | 206 | CONFIG_FLAT_NODE_MEM_MAP=y |
189 | # CONFIG_SPARSEMEM_STATIC is not set | 207 | # CONFIG_SPARSEMEM_STATIC is not set |
208 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
190 | # CONFIG_PREEMPT_NONE is not set | 209 | # CONFIG_PREEMPT_NONE is not set |
191 | CONFIG_PREEMPT_VOLUNTARY=y | 210 | CONFIG_PREEMPT_VOLUNTARY=y |
192 | # CONFIG_PREEMPT is not set | 211 | # CONFIG_PREEMPT is not set |
@@ -292,6 +311,10 @@ CONFIG_INET6_TUNNEL=m | |||
292 | CONFIG_IPV6_TUNNEL=m | 311 | CONFIG_IPV6_TUNNEL=m |
293 | CONFIG_NETFILTER=y | 312 | CONFIG_NETFILTER=y |
294 | # CONFIG_NETFILTER_DEBUG is not set | 313 | # CONFIG_NETFILTER_DEBUG is not set |
314 | |||
315 | # | ||
316 | # Core Netfilter Configuration | ||
317 | # | ||
295 | CONFIG_NETFILTER_NETLINK=m | 318 | CONFIG_NETFILTER_NETLINK=m |
296 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 319 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
297 | CONFIG_NETFILTER_NETLINK_LOG=m | 320 | CONFIG_NETFILTER_NETLINK_LOG=m |
@@ -345,6 +368,7 @@ CONFIG_IP_NF_TARGET_REJECT=m | |||
345 | CONFIG_IP_NF_TARGET_LOG=m | 368 | CONFIG_IP_NF_TARGET_LOG=m |
346 | CONFIG_IP_NF_TARGET_ULOG=m | 369 | CONFIG_IP_NF_TARGET_ULOG=m |
347 | CONFIG_IP_NF_TARGET_TCPMSS=m | 370 | CONFIG_IP_NF_TARGET_TCPMSS=m |
371 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
348 | CONFIG_IP_NF_NAT=m | 372 | CONFIG_IP_NF_NAT=m |
349 | CONFIG_IP_NF_NAT_NEEDED=y | 373 | CONFIG_IP_NF_NAT_NEEDED=y |
350 | CONFIG_IP_NF_TARGET_MASQUERADE=m | 374 | CONFIG_IP_NF_TARGET_MASQUERADE=m |
@@ -393,6 +417,7 @@ CONFIG_IP6_NF_MATCH_EUI64=m | |||
393 | CONFIG_IP6_NF_FILTER=m | 417 | CONFIG_IP6_NF_FILTER=m |
394 | CONFIG_IP6_NF_TARGET_LOG=m | 418 | CONFIG_IP6_NF_TARGET_LOG=m |
395 | CONFIG_IP6_NF_TARGET_REJECT=m | 419 | CONFIG_IP6_NF_TARGET_REJECT=m |
420 | CONFIG_IP6_NF_TARGET_NFQUEUE=m | ||
396 | CONFIG_IP6_NF_MANGLE=m | 421 | CONFIG_IP6_NF_MANGLE=m |
397 | CONFIG_IP6_NF_TARGET_MARK=m | 422 | CONFIG_IP6_NF_TARGET_MARK=m |
398 | CONFIG_IP6_NF_TARGET_HL=m | 423 | CONFIG_IP6_NF_TARGET_HL=m |
@@ -424,10 +449,18 @@ CONFIG_SCTP_HMAC_MD5=y | |||
424 | CONFIG_NET_DIVERT=y | 449 | CONFIG_NET_DIVERT=y |
425 | # CONFIG_ECONET is not set | 450 | # CONFIG_ECONET is not set |
426 | # CONFIG_WAN_ROUTER is not set | 451 | # CONFIG_WAN_ROUTER is not set |
452 | |||
453 | # | ||
454 | # QoS and/or fair queueing | ||
455 | # | ||
427 | CONFIG_NET_SCHED=y | 456 | CONFIG_NET_SCHED=y |
428 | # CONFIG_NET_SCH_CLK_JIFFIES is not set | 457 | # CONFIG_NET_SCH_CLK_JIFFIES is not set |
429 | CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y | 458 | CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y |
430 | # CONFIG_NET_SCH_CLK_CPU is not set | 459 | # CONFIG_NET_SCH_CLK_CPU is not set |
460 | |||
461 | # | ||
462 | # Queueing/Scheduling | ||
463 | # | ||
431 | CONFIG_NET_SCH_CBQ=m | 464 | CONFIG_NET_SCH_CBQ=m |
432 | CONFIG_NET_SCH_HTB=m | 465 | CONFIG_NET_SCH_HTB=m |
433 | CONFIG_NET_SCH_HFSC=m | 466 | CONFIG_NET_SCH_HFSC=m |
@@ -440,8 +473,10 @@ CONFIG_NET_SCH_GRED=m | |||
440 | CONFIG_NET_SCH_DSMARK=m | 473 | CONFIG_NET_SCH_DSMARK=m |
441 | CONFIG_NET_SCH_NETEM=m | 474 | CONFIG_NET_SCH_NETEM=m |
442 | CONFIG_NET_SCH_INGRESS=m | 475 | CONFIG_NET_SCH_INGRESS=m |
443 | CONFIG_NET_QOS=y | 476 | |
444 | CONFIG_NET_ESTIMATOR=y | 477 | # |
478 | # Classification | ||
479 | # | ||
445 | CONFIG_NET_CLS=y | 480 | CONFIG_NET_CLS=y |
446 | CONFIG_NET_CLS_BASIC=m | 481 | CONFIG_NET_CLS_BASIC=m |
447 | CONFIG_NET_CLS_TCINDEX=m | 482 | CONFIG_NET_CLS_TCINDEX=m |
@@ -450,13 +485,14 @@ CONFIG_NET_CLS_ROUTE=y | |||
450 | CONFIG_NET_CLS_FW=m | 485 | CONFIG_NET_CLS_FW=m |
451 | CONFIG_NET_CLS_U32=m | 486 | CONFIG_NET_CLS_U32=m |
452 | # CONFIG_CLS_U32_PERF is not set | 487 | # CONFIG_CLS_U32_PERF is not set |
453 | # CONFIG_NET_CLS_IND is not set | ||
454 | # CONFIG_CLS_U32_MARK is not set | 488 | # CONFIG_CLS_U32_MARK is not set |
455 | CONFIG_NET_CLS_RSVP=m | 489 | CONFIG_NET_CLS_RSVP=m |
456 | CONFIG_NET_CLS_RSVP6=m | 490 | CONFIG_NET_CLS_RSVP6=m |
457 | # CONFIG_NET_EMATCH is not set | 491 | # CONFIG_NET_EMATCH is not set |
458 | # CONFIG_NET_CLS_ACT is not set | 492 | # CONFIG_NET_CLS_ACT is not set |
459 | CONFIG_NET_CLS_POLICE=y | 493 | CONFIG_NET_CLS_POLICE=y |
494 | # CONFIG_NET_CLS_IND is not set | ||
495 | CONFIG_NET_ESTIMATOR=y | ||
460 | 496 | ||
461 | # | 497 | # |
462 | # Network testing | 498 | # Network testing |
@@ -509,18 +545,9 @@ CONFIG_CONNECTOR=m | |||
509 | # CONFIG_BLK_DEV_NBD is not set | 545 | # CONFIG_BLK_DEV_NBD is not set |
510 | # CONFIG_BLK_DEV_RAM is not set | 546 | # CONFIG_BLK_DEV_RAM is not set |
511 | CONFIG_BLK_DEV_RAM_COUNT=16 | 547 | CONFIG_BLK_DEV_RAM_COUNT=16 |
512 | # CONFIG_LBD is not set | ||
513 | CONFIG_CDROM_PKTCDVD=m | 548 | CONFIG_CDROM_PKTCDVD=m |
514 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 549 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
515 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 550 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
516 | |||
517 | # | ||
518 | # IO Schedulers | ||
519 | # | ||
520 | CONFIG_IOSCHED_NOOP=y | ||
521 | CONFIG_IOSCHED_AS=y | ||
522 | CONFIG_IOSCHED_DEADLINE=y | ||
523 | CONFIG_IOSCHED_CFQ=y | ||
524 | CONFIG_ATA_OVER_ETH=m | 551 | CONFIG_ATA_OVER_ETH=m |
525 | 552 | ||
526 | # | 553 | # |
@@ -564,6 +591,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
564 | # | 591 | # |
565 | # SCSI low-level drivers | 592 | # SCSI low-level drivers |
566 | # | 593 | # |
594 | CONFIG_ISCSI_TCP=m | ||
567 | CONFIG_SGIWD93_SCSI=y | 595 | CONFIG_SGIWD93_SCSI=y |
568 | # CONFIG_SCSI_SATA is not set | 596 | # CONFIG_SCSI_SATA is not set |
569 | # CONFIG_SCSI_DEBUG is not set | 597 | # CONFIG_SCSI_DEBUG is not set |
@@ -599,7 +627,6 @@ CONFIG_TUN=m | |||
599 | # PHY device support | 627 | # PHY device support |
600 | # | 628 | # |
601 | CONFIG_PHYLIB=m | 629 | CONFIG_PHYLIB=m |
602 | CONFIG_PHYCONTROL=y | ||
603 | 630 | ||
604 | # | 631 | # |
605 | # MII PHY device drivers | 632 | # MII PHY device drivers |
@@ -752,6 +779,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
752 | # | 779 | # |
753 | # TPM devices | 780 | # TPM devices |
754 | # | 781 | # |
782 | # CONFIG_TELCLOCK is not set | ||
755 | 783 | ||
756 | # | 784 | # |
757 | # I2C support | 785 | # I2C support |
@@ -821,6 +849,10 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
821 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 849 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
822 | 850 | ||
823 | # | 851 | # |
852 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
853 | # | ||
854 | |||
855 | # | ||
824 | # USB Gadget Support | 856 | # USB Gadget Support |
825 | # | 857 | # |
826 | # CONFIG_USB_GADGET is not set | 858 | # CONFIG_USB_GADGET is not set |
@@ -856,7 +888,7 @@ CONFIG_FS_MBCACHE=y | |||
856 | CONFIG_FS_POSIX_ACL=y | 888 | CONFIG_FS_POSIX_ACL=y |
857 | CONFIG_XFS_FS=m | 889 | CONFIG_XFS_FS=m |
858 | CONFIG_XFS_EXPORT=y | 890 | CONFIG_XFS_EXPORT=y |
859 | CONFIG_XFS_QUOTA=m | 891 | CONFIG_XFS_QUOTA=y |
860 | CONFIG_XFS_SECURITY=y | 892 | CONFIG_XFS_SECURITY=y |
861 | # CONFIG_XFS_POSIX_ACL is not set | 893 | # CONFIG_XFS_POSIX_ACL is not set |
862 | # CONFIG_XFS_RT is not set | 894 | # CONFIG_XFS_RT is not set |
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig index d962f61d5b98..72998ec35b0b 100644 --- a/arch/mips/configs/ip27_defconfig +++ b/arch/mips/configs/ip27_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:26:04 2005 | 4 | # Sun Nov 13 23:56:52 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -60,6 +60,23 @@ CONFIG_KMOD=y | |||
60 | CONFIG_STOP_MACHINE=y | 60 | CONFIG_STOP_MACHINE=y |
61 | 61 | ||
62 | # | 62 | # |
63 | # Block layer | ||
64 | # | ||
65 | |||
66 | # | ||
67 | # IO Schedulers | ||
68 | # | ||
69 | CONFIG_IOSCHED_NOOP=y | ||
70 | CONFIG_IOSCHED_AS=y | ||
71 | CONFIG_IOSCHED_DEADLINE=y | ||
72 | CONFIG_IOSCHED_CFQ=y | ||
73 | CONFIG_DEFAULT_AS=y | ||
74 | # CONFIG_DEFAULT_DEADLINE is not set | ||
75 | # CONFIG_DEFAULT_CFQ is not set | ||
76 | # CONFIG_DEFAULT_NOOP is not set | ||
77 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
78 | |||
79 | # | ||
63 | # Machine selection | 80 | # Machine selection |
64 | # | 81 | # |
65 | # CONFIG_MIPS_MTX1 is not set | 82 | # CONFIG_MIPS_MTX1 is not set |
@@ -186,6 +203,7 @@ CONFIG_DISCONTIGMEM=y | |||
186 | CONFIG_FLAT_NODE_MEM_MAP=y | 203 | CONFIG_FLAT_NODE_MEM_MAP=y |
187 | CONFIG_NEED_MULTIPLE_NODES=y | 204 | CONFIG_NEED_MULTIPLE_NODES=y |
188 | # CONFIG_SPARSEMEM_STATIC is not set | 205 | # CONFIG_SPARSEMEM_STATIC is not set |
206 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
189 | CONFIG_SMP=y | 207 | CONFIG_SMP=y |
190 | CONFIG_NR_CPUS=64 | 208 | CONFIG_NR_CPUS=64 |
191 | CONFIG_PREEMPT_NONE=y | 209 | CONFIG_PREEMPT_NONE=y |
@@ -284,10 +302,18 @@ CONFIG_TCP_CONG_BIC=y | |||
284 | # CONFIG_NET_DIVERT is not set | 302 | # CONFIG_NET_DIVERT is not set |
285 | # CONFIG_ECONET is not set | 303 | # CONFIG_ECONET is not set |
286 | # CONFIG_WAN_ROUTER is not set | 304 | # CONFIG_WAN_ROUTER is not set |
305 | |||
306 | # | ||
307 | # QoS and/or fair queueing | ||
308 | # | ||
287 | CONFIG_NET_SCHED=y | 309 | CONFIG_NET_SCHED=y |
288 | # CONFIG_NET_SCH_CLK_JIFFIES is not set | 310 | # CONFIG_NET_SCH_CLK_JIFFIES is not set |
289 | CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y | 311 | CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y |
290 | # CONFIG_NET_SCH_CLK_CPU is not set | 312 | # CONFIG_NET_SCH_CLK_CPU is not set |
313 | |||
314 | # | ||
315 | # Queueing/Scheduling | ||
316 | # | ||
291 | CONFIG_NET_SCH_CBQ=m | 317 | CONFIG_NET_SCH_CBQ=m |
292 | CONFIG_NET_SCH_HTB=m | 318 | CONFIG_NET_SCH_HTB=m |
293 | CONFIG_NET_SCH_HFSC=m | 319 | CONFIG_NET_SCH_HFSC=m |
@@ -300,8 +326,10 @@ CONFIG_NET_SCH_GRED=m | |||
300 | CONFIG_NET_SCH_DSMARK=m | 326 | CONFIG_NET_SCH_DSMARK=m |
301 | CONFIG_NET_SCH_NETEM=m | 327 | CONFIG_NET_SCH_NETEM=m |
302 | CONFIG_NET_SCH_INGRESS=m | 328 | CONFIG_NET_SCH_INGRESS=m |
303 | CONFIG_NET_QOS=y | 329 | |
304 | CONFIG_NET_ESTIMATOR=y | 330 | # |
331 | # Classification | ||
332 | # | ||
305 | CONFIG_NET_CLS=y | 333 | CONFIG_NET_CLS=y |
306 | CONFIG_NET_CLS_BASIC=m | 334 | CONFIG_NET_CLS_BASIC=m |
307 | CONFIG_NET_CLS_TCINDEX=m | 335 | CONFIG_NET_CLS_TCINDEX=m |
@@ -310,12 +338,13 @@ CONFIG_NET_CLS_ROUTE=y | |||
310 | CONFIG_NET_CLS_FW=m | 338 | CONFIG_NET_CLS_FW=m |
311 | CONFIG_NET_CLS_U32=m | 339 | CONFIG_NET_CLS_U32=m |
312 | # CONFIG_CLS_U32_PERF is not set | 340 | # CONFIG_CLS_U32_PERF is not set |
313 | # CONFIG_NET_CLS_IND is not set | ||
314 | CONFIG_NET_CLS_RSVP=m | 341 | CONFIG_NET_CLS_RSVP=m |
315 | CONFIG_NET_CLS_RSVP6=m | 342 | CONFIG_NET_CLS_RSVP6=m |
316 | # CONFIG_NET_EMATCH is not set | 343 | # CONFIG_NET_EMATCH is not set |
317 | # CONFIG_NET_CLS_ACT is not set | 344 | # CONFIG_NET_CLS_ACT is not set |
318 | CONFIG_NET_CLS_POLICE=y | 345 | CONFIG_NET_CLS_POLICE=y |
346 | # CONFIG_NET_CLS_IND is not set | ||
347 | CONFIG_NET_ESTIMATOR=y | ||
319 | 348 | ||
320 | # | 349 | # |
321 | # Network testing | 350 | # Network testing |
@@ -377,14 +406,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16 | |||
377 | CONFIG_CDROM_PKTCDVD=m | 406 | CONFIG_CDROM_PKTCDVD=m |
378 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 407 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
379 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 408 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
380 | |||
381 | # | ||
382 | # IO Schedulers | ||
383 | # | ||
384 | CONFIG_IOSCHED_NOOP=y | ||
385 | CONFIG_IOSCHED_AS=y | ||
386 | CONFIG_IOSCHED_DEADLINE=y | ||
387 | CONFIG_IOSCHED_CFQ=y | ||
388 | CONFIG_ATA_OVER_ETH=m | 409 | CONFIG_ATA_OVER_ETH=m |
389 | 410 | ||
390 | # | 411 | # |
@@ -428,6 +449,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
428 | # | 449 | # |
429 | # SCSI low-level drivers | 450 | # SCSI low-level drivers |
430 | # | 451 | # |
452 | CONFIG_ISCSI_TCP=m | ||
431 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 453 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
432 | # CONFIG_SCSI_3W_9XXX is not set | 454 | # CONFIG_SCSI_3W_9XXX is not set |
433 | # CONFIG_SCSI_ACARD is not set | 455 | # CONFIG_SCSI_ACARD is not set |
@@ -437,6 +459,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
437 | # CONFIG_SCSI_AIC79XX is not set | 459 | # CONFIG_SCSI_AIC79XX is not set |
438 | # CONFIG_MEGARAID_NEWGEN is not set | 460 | # CONFIG_MEGARAID_NEWGEN is not set |
439 | # CONFIG_MEGARAID_LEGACY is not set | 461 | # CONFIG_MEGARAID_LEGACY is not set |
462 | # CONFIG_MEGARAID_SAS is not set | ||
440 | # CONFIG_SCSI_SATA is not set | 463 | # CONFIG_SCSI_SATA is not set |
441 | # CONFIG_SCSI_DMX3191D is not set | 464 | # CONFIG_SCSI_DMX3191D is not set |
442 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 465 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -447,7 +470,6 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
447 | # CONFIG_SCSI_IPR is not set | 470 | # CONFIG_SCSI_IPR is not set |
448 | # CONFIG_SCSI_QLOGIC_FC is not set | 471 | # CONFIG_SCSI_QLOGIC_FC is not set |
449 | CONFIG_SCSI_QLOGIC_1280=y | 472 | CONFIG_SCSI_QLOGIC_1280=y |
450 | CONFIG_SCSI_QLOGIC_1280_1040=y | ||
451 | CONFIG_SCSI_QLA2XXX=y | 473 | CONFIG_SCSI_QLA2XXX=y |
452 | # CONFIG_SCSI_QLA21XX is not set | 474 | # CONFIG_SCSI_QLA21XX is not set |
453 | # CONFIG_SCSI_QLA22XX is not set | 475 | # CONFIG_SCSI_QLA22XX is not set |
@@ -487,6 +509,7 @@ CONFIG_DM_MULTIPATH_EMC=m | |||
487 | # CONFIG_FUSION is not set | 509 | # CONFIG_FUSION is not set |
488 | # CONFIG_FUSION_SPI is not set | 510 | # CONFIG_FUSION_SPI is not set |
489 | # CONFIG_FUSION_FC is not set | 511 | # CONFIG_FUSION_FC is not set |
512 | # CONFIG_FUSION_SAS is not set | ||
490 | 513 | ||
491 | # | 514 | # |
492 | # IEEE 1394 (FireWire) support | 515 | # IEEE 1394 (FireWire) support |
@@ -516,7 +539,6 @@ CONFIG_NETDEVICES=y | |||
516 | # PHY device support | 539 | # PHY device support |
517 | # | 540 | # |
518 | CONFIG_PHYLIB=m | 541 | CONFIG_PHYLIB=m |
519 | CONFIG_PHYCONTROL=y | ||
520 | 542 | ||
521 | # | 543 | # |
522 | # MII PHY device drivers | 544 | # MII PHY device drivers |
@@ -532,8 +554,12 @@ CONFIG_CICADA_PHY=m | |||
532 | # | 554 | # |
533 | CONFIG_NET_ETHERNET=y | 555 | CONFIG_NET_ETHERNET=y |
534 | CONFIG_MII=y | 556 | CONFIG_MII=y |
557 | CONFIG_SGI_IOC3_ETH=y | ||
558 | CONFIG_SGI_IOC3_ETH_HW_RX_CSUM=y | ||
559 | CONFIG_SGI_IOC3_ETH_HW_TX_CSUM=y | ||
535 | # CONFIG_HAPPYMEAL is not set | 560 | # CONFIG_HAPPYMEAL is not set |
536 | # CONFIG_SUNGEM is not set | 561 | # CONFIG_SUNGEM is not set |
562 | # CONFIG_CASSINI is not set | ||
537 | # CONFIG_NET_VENDOR_3COM is not set | 563 | # CONFIG_NET_VENDOR_3COM is not set |
538 | 564 | ||
539 | # | 565 | # |
@@ -672,6 +698,7 @@ CONFIG_SGI_IP27_RTC=y | |||
672 | # TPM devices | 698 | # TPM devices |
673 | # | 699 | # |
674 | # CONFIG_TCG_TPM is not set | 700 | # CONFIG_TCG_TPM is not set |
701 | # CONFIG_TELCLOCK is not set | ||
675 | 702 | ||
676 | # | 703 | # |
677 | # I2C support | 704 | # I2C support |
@@ -725,6 +752,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
725 | # CONFIG_USB is not set | 752 | # CONFIG_USB is not set |
726 | 753 | ||
727 | # | 754 | # |
755 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
756 | # | ||
757 | |||
758 | # | ||
728 | # USB Gadget Support | 759 | # USB Gadget Support |
729 | # | 760 | # |
730 | # CONFIG_USB_GADGET is not set | 761 | # CONFIG_USB_GADGET is not set |
@@ -762,7 +793,7 @@ CONFIG_FS_MBCACHE=y | |||
762 | # CONFIG_JFS_FS is not set | 793 | # CONFIG_JFS_FS is not set |
763 | CONFIG_FS_POSIX_ACL=y | 794 | CONFIG_FS_POSIX_ACL=y |
764 | CONFIG_XFS_FS=m | 795 | CONFIG_XFS_FS=m |
765 | CONFIG_XFS_QUOTA=m | 796 | CONFIG_XFS_QUOTA=y |
766 | CONFIG_XFS_SECURITY=y | 797 | CONFIG_XFS_SECURITY=y |
767 | CONFIG_XFS_POSIX_ACL=y | 798 | CONFIG_XFS_POSIX_ACL=y |
768 | # CONFIG_XFS_RT is not set | 799 | # CONFIG_XFS_RT is not set |
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig index bf8fb95b21dc..955e30f1b1ad 100644 --- a/arch/mips/configs/ip32_defconfig +++ b/arch/mips/configs/ip32_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:07 2005 | 4 | # Mon Nov 7 23:05:32 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -52,6 +52,23 @@ CONFIG_BASE_SMALL=0 | |||
52 | # CONFIG_MODULES is not set | 52 | # CONFIG_MODULES is not set |
53 | 53 | ||
54 | # | 54 | # |
55 | # Block layer | ||
56 | # | ||
57 | |||
58 | # | ||
59 | # IO Schedulers | ||
60 | # | ||
61 | CONFIG_IOSCHED_NOOP=y | ||
62 | CONFIG_IOSCHED_AS=y | ||
63 | CONFIG_IOSCHED_DEADLINE=y | ||
64 | CONFIG_IOSCHED_CFQ=y | ||
65 | CONFIG_DEFAULT_AS=y | ||
66 | # CONFIG_DEFAULT_DEADLINE is not set | ||
67 | # CONFIG_DEFAULT_CFQ is not set | ||
68 | # CONFIG_DEFAULT_NOOP is not set | ||
69 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
70 | |||
71 | # | ||
55 | # Machine selection | 72 | # Machine selection |
56 | # | 73 | # |
57 | # CONFIG_MIPS_MTX1 is not set | 74 | # CONFIG_MIPS_MTX1 is not set |
@@ -179,6 +196,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
179 | CONFIG_FLATMEM=y | 196 | CONFIG_FLATMEM=y |
180 | CONFIG_FLAT_NODE_MEM_MAP=y | 197 | CONFIG_FLAT_NODE_MEM_MAP=y |
181 | # CONFIG_SPARSEMEM_STATIC is not set | 198 | # CONFIG_SPARSEMEM_STATIC is not set |
199 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
182 | # CONFIG_PREEMPT_NONE is not set | 200 | # CONFIG_PREEMPT_NONE is not set |
183 | CONFIG_PREEMPT_VOLUNTARY=y | 201 | CONFIG_PREEMPT_VOLUNTARY=y |
184 | # CONFIG_PREEMPT is not set | 202 | # CONFIG_PREEMPT is not set |
@@ -271,6 +289,10 @@ CONFIG_TCP_CONG_BIC=y | |||
271 | # CONFIG_NET_DIVERT is not set | 289 | # CONFIG_NET_DIVERT is not set |
272 | # CONFIG_ECONET is not set | 290 | # CONFIG_ECONET is not set |
273 | # CONFIG_WAN_ROUTER is not set | 291 | # CONFIG_WAN_ROUTER is not set |
292 | |||
293 | # | ||
294 | # QoS and/or fair queueing | ||
295 | # | ||
274 | # CONFIG_NET_SCHED is not set | 296 | # CONFIG_NET_SCHED is not set |
275 | # CONFIG_NET_CLS_ROUTE is not set | 297 | # CONFIG_NET_CLS_ROUTE is not set |
276 | 298 | ||
@@ -302,6 +324,7 @@ CONFIG_FW_LOADER=y | |||
302 | # Connector - unified userspace <-> kernelspace linker | 324 | # Connector - unified userspace <-> kernelspace linker |
303 | # | 325 | # |
304 | CONFIG_CONNECTOR=y | 326 | CONFIG_CONNECTOR=y |
327 | CONFIG_PROC_EVENTS=y | ||
305 | 328 | ||
306 | # | 329 | # |
307 | # Memory Technology Devices (MTD) | 330 | # Memory Technology Devices (MTD) |
@@ -334,14 +357,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16 | |||
334 | CONFIG_CDROM_PKTCDVD=y | 357 | CONFIG_CDROM_PKTCDVD=y |
335 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 358 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
336 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 359 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
337 | |||
338 | # | ||
339 | # IO Schedulers | ||
340 | # | ||
341 | CONFIG_IOSCHED_NOOP=y | ||
342 | CONFIG_IOSCHED_AS=y | ||
343 | CONFIG_IOSCHED_DEADLINE=y | ||
344 | CONFIG_IOSCHED_CFQ=y | ||
345 | CONFIG_ATA_OVER_ETH=y | 360 | CONFIG_ATA_OVER_ETH=y |
346 | 361 | ||
347 | # | 362 | # |
@@ -385,6 +400,7 @@ CONFIG_SCSI_SAS_ATTRS=y | |||
385 | # | 400 | # |
386 | # SCSI low-level drivers | 401 | # SCSI low-level drivers |
387 | # | 402 | # |
403 | # CONFIG_ISCSI_TCP is not set | ||
388 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 404 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
389 | # CONFIG_SCSI_3W_9XXX is not set | 405 | # CONFIG_SCSI_3W_9XXX is not set |
390 | # CONFIG_SCSI_ACARD is not set | 406 | # CONFIG_SCSI_ACARD is not set |
@@ -399,6 +415,7 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | |||
399 | # CONFIG_SCSI_AIC79XX is not set | 415 | # CONFIG_SCSI_AIC79XX is not set |
400 | # CONFIG_MEGARAID_NEWGEN is not set | 416 | # CONFIG_MEGARAID_NEWGEN is not set |
401 | # CONFIG_MEGARAID_LEGACY is not set | 417 | # CONFIG_MEGARAID_LEGACY is not set |
418 | # CONFIG_MEGARAID_SAS is not set | ||
402 | # CONFIG_SCSI_SATA is not set | 419 | # CONFIG_SCSI_SATA is not set |
403 | # CONFIG_SCSI_DMX3191D is not set | 420 | # CONFIG_SCSI_DMX3191D is not set |
404 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 421 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -432,6 +449,7 @@ CONFIG_SCSI_QLA2XXX=y | |||
432 | # CONFIG_FUSION is not set | 449 | # CONFIG_FUSION is not set |
433 | # CONFIG_FUSION_SPI is not set | 450 | # CONFIG_FUSION_SPI is not set |
434 | # CONFIG_FUSION_FC is not set | 451 | # CONFIG_FUSION_FC is not set |
452 | # CONFIG_FUSION_SAS is not set | ||
435 | 453 | ||
436 | # | 454 | # |
437 | # IEEE 1394 (FireWire) support | 455 | # IEEE 1394 (FireWire) support |
@@ -461,7 +479,6 @@ CONFIG_NETDEVICES=y | |||
461 | # PHY device support | 479 | # PHY device support |
462 | # | 480 | # |
463 | CONFIG_PHYLIB=y | 481 | CONFIG_PHYLIB=y |
464 | CONFIG_PHYCONTROL=y | ||
465 | 482 | ||
466 | # | 483 | # |
467 | # MII PHY device drivers | 484 | # MII PHY device drivers |
@@ -480,6 +497,7 @@ CONFIG_NET_ETHERNET=y | |||
480 | CONFIG_SGI_O2MACE_ETH=y | 497 | CONFIG_SGI_O2MACE_ETH=y |
481 | # CONFIG_HAPPYMEAL is not set | 498 | # CONFIG_HAPPYMEAL is not set |
482 | # CONFIG_SUNGEM is not set | 499 | # CONFIG_SUNGEM is not set |
500 | # CONFIG_CASSINI is not set | ||
483 | # CONFIG_NET_VENDOR_3COM is not set | 501 | # CONFIG_NET_VENDOR_3COM is not set |
484 | 502 | ||
485 | # | 503 | # |
@@ -637,6 +655,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
637 | # TPM devices | 655 | # TPM devices |
638 | # | 656 | # |
639 | # CONFIG_TCG_TPM is not set | 657 | # CONFIG_TCG_TPM is not set |
658 | # CONFIG_TELCLOCK is not set | ||
640 | 659 | ||
641 | # | 660 | # |
642 | # I2C support | 661 | # I2C support |
@@ -696,6 +715,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
696 | # CONFIG_USB is not set | 715 | # CONFIG_USB is not set |
697 | 716 | ||
698 | # | 717 | # |
718 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
719 | # | ||
720 | |||
721 | # | ||
699 | # USB Gadget Support | 722 | # USB Gadget Support |
700 | # | 723 | # |
701 | # CONFIG_USB_GADGET is not set | 724 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/it8172_defconfig b/arch/mips/configs/it8172_defconfig index 0940771bafb1..f631385217db 100644 --- a/arch/mips/configs/it8172_defconfig +++ b/arch/mips/configs/it8172_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:09 2005 | 4 | # Thu Nov 10 13:42:45 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -181,6 +199,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
181 | CONFIG_FLATMEM=y | 199 | CONFIG_FLATMEM=y |
182 | CONFIG_FLAT_NODE_MEM_MAP=y | 200 | CONFIG_FLAT_NODE_MEM_MAP=y |
183 | # CONFIG_SPARSEMEM_STATIC is not set | 201 | # CONFIG_SPARSEMEM_STATIC is not set |
202 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
184 | CONFIG_PREEMPT_NONE=y | 203 | CONFIG_PREEMPT_NONE=y |
185 | # CONFIG_PREEMPT_VOLUNTARY is not set | 204 | # CONFIG_PREEMPT_VOLUNTARY is not set |
186 | # CONFIG_PREEMPT is not set | 205 | # CONFIG_PREEMPT is not set |
@@ -266,6 +285,10 @@ CONFIG_TCP_CONG_BIC=y | |||
266 | # CONFIG_NET_DIVERT is not set | 285 | # CONFIG_NET_DIVERT is not set |
267 | # CONFIG_ECONET is not set | 286 | # CONFIG_ECONET is not set |
268 | # CONFIG_WAN_ROUTER is not set | 287 | # CONFIG_WAN_ROUTER is not set |
288 | |||
289 | # | ||
290 | # QoS and/or fair queueing | ||
291 | # | ||
269 | # CONFIG_NET_SCHED is not set | 292 | # CONFIG_NET_SCHED is not set |
270 | # CONFIG_NET_CLS_ROUTE is not set | 293 | # CONFIG_NET_CLS_ROUTE is not set |
271 | 294 | ||
@@ -315,6 +338,7 @@ CONFIG_MTD_CHAR=y | |||
315 | # CONFIG_FTL is not set | 338 | # CONFIG_FTL is not set |
316 | # CONFIG_NFTL is not set | 339 | # CONFIG_NFTL is not set |
317 | # CONFIG_INFTL is not set | 340 | # CONFIG_INFTL is not set |
341 | # CONFIG_RFD_FTL is not set | ||
318 | 342 | ||
319 | # | 343 | # |
320 | # RAM/ROM/Flash chip drivers | 344 | # RAM/ROM/Flash chip drivers |
@@ -373,6 +397,11 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
373 | # CONFIG_MTD_NAND is not set | 397 | # CONFIG_MTD_NAND is not set |
374 | 398 | ||
375 | # | 399 | # |
400 | # OneNAND Flash Device Drivers | ||
401 | # | ||
402 | # CONFIG_MTD_ONENAND is not set | ||
403 | |||
404 | # | ||
376 | # Parallel port support | 405 | # Parallel port support |
377 | # | 406 | # |
378 | # CONFIG_PARPORT is not set | 407 | # CONFIG_PARPORT is not set |
@@ -390,18 +419,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
390 | # CONFIG_BLK_DEV_NBD is not set | 419 | # CONFIG_BLK_DEV_NBD is not set |
391 | # CONFIG_BLK_DEV_RAM is not set | 420 | # CONFIG_BLK_DEV_RAM is not set |
392 | CONFIG_BLK_DEV_RAM_COUNT=16 | 421 | CONFIG_BLK_DEV_RAM_COUNT=16 |
393 | # CONFIG_LBD is not set | ||
394 | CONFIG_CDROM_PKTCDVD=m | 422 | CONFIG_CDROM_PKTCDVD=m |
395 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 423 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
396 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 424 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
397 | |||
398 | # | ||
399 | # IO Schedulers | ||
400 | # | ||
401 | CONFIG_IOSCHED_NOOP=y | ||
402 | CONFIG_IOSCHED_AS=y | ||
403 | CONFIG_IOSCHED_DEADLINE=y | ||
404 | CONFIG_IOSCHED_CFQ=y | ||
405 | CONFIG_ATA_OVER_ETH=m | 425 | CONFIG_ATA_OVER_ETH=m |
406 | 426 | ||
407 | # | 427 | # |
@@ -467,7 +487,6 @@ CONFIG_NETDEVICES=y | |||
467 | # PHY device support | 487 | # PHY device support |
468 | # | 488 | # |
469 | CONFIG_PHYLIB=m | 489 | CONFIG_PHYLIB=m |
470 | CONFIG_PHYCONTROL=y | ||
471 | 490 | ||
472 | # | 491 | # |
473 | # MII PHY device drivers | 492 | # MII PHY device drivers |
@@ -609,6 +628,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
609 | # | 628 | # |
610 | # TPM devices | 629 | # TPM devices |
611 | # | 630 | # |
631 | # CONFIG_TELCLOCK is not set | ||
612 | 632 | ||
613 | # | 633 | # |
614 | # I2C support | 634 | # I2C support |
@@ -669,10 +689,10 @@ CONFIG_SOUND=y | |||
669 | # Open Sound System | 689 | # Open Sound System |
670 | # | 690 | # |
671 | CONFIG_SOUND_PRIME=y | 691 | CONFIG_SOUND_PRIME=y |
692 | # CONFIG_OBSOLETE_OSS_DRIVER is not set | ||
672 | CONFIG_SOUND_IT8172=y | 693 | CONFIG_SOUND_IT8172=y |
673 | # CONFIG_SOUND_MSNDCLAS is not set | 694 | # CONFIG_SOUND_MSNDCLAS is not set |
674 | # CONFIG_SOUND_MSNDPIN is not set | 695 | # CONFIG_SOUND_MSNDPIN is not set |
675 | # CONFIG_SOUND_AD1980 is not set | ||
676 | 696 | ||
677 | # | 697 | # |
678 | # USB support | 698 | # USB support |
@@ -681,6 +701,10 @@ CONFIG_SOUND_IT8172=y | |||
681 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 701 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
682 | 702 | ||
683 | # | 703 | # |
704 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
705 | # | ||
706 | |||
707 | # | ||
684 | # USB Gadget Support | 708 | # USB Gadget Support |
685 | # | 709 | # |
686 | # CONFIG_USB_GADGET is not set | 710 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ivr_defconfig b/arch/mips/configs/ivr_defconfig index 9ba61dfc490d..8d94ac753e78 100644 --- a/arch/mips/configs/ivr_defconfig +++ b/arch/mips/configs/ivr_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:12 2005 | 4 | # Mon Nov 7 23:05:38 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -178,6 +196,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
178 | CONFIG_FLATMEM=y | 196 | CONFIG_FLATMEM=y |
179 | CONFIG_FLAT_NODE_MEM_MAP=y | 197 | CONFIG_FLAT_NODE_MEM_MAP=y |
180 | # CONFIG_SPARSEMEM_STATIC is not set | 198 | # CONFIG_SPARSEMEM_STATIC is not set |
199 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
181 | CONFIG_PREEMPT_NONE=y | 200 | CONFIG_PREEMPT_NONE=y |
182 | # CONFIG_PREEMPT_VOLUNTARY is not set | 201 | # CONFIG_PREEMPT_VOLUNTARY is not set |
183 | # CONFIG_PREEMPT is not set | 202 | # CONFIG_PREEMPT is not set |
@@ -265,6 +284,10 @@ CONFIG_TCP_CONG_BIC=y | |||
265 | # CONFIG_NET_DIVERT is not set | 284 | # CONFIG_NET_DIVERT is not set |
266 | # CONFIG_ECONET is not set | 285 | # CONFIG_ECONET is not set |
267 | # CONFIG_WAN_ROUTER is not set | 286 | # CONFIG_WAN_ROUTER is not set |
287 | |||
288 | # | ||
289 | # QoS and/or fair queueing | ||
290 | # | ||
268 | # CONFIG_NET_SCHED is not set | 291 | # CONFIG_NET_SCHED is not set |
269 | # CONFIG_NET_CLS_ROUTE is not set | 292 | # CONFIG_NET_CLS_ROUTE is not set |
270 | 293 | ||
@@ -324,18 +347,9 @@ CONFIG_CONNECTOR=m | |||
324 | # CONFIG_BLK_DEV_SX8 is not set | 347 | # CONFIG_BLK_DEV_SX8 is not set |
325 | # CONFIG_BLK_DEV_RAM is not set | 348 | # CONFIG_BLK_DEV_RAM is not set |
326 | CONFIG_BLK_DEV_RAM_COUNT=16 | 349 | CONFIG_BLK_DEV_RAM_COUNT=16 |
327 | # CONFIG_LBD is not set | ||
328 | CONFIG_CDROM_PKTCDVD=m | 350 | CONFIG_CDROM_PKTCDVD=m |
329 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 351 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
330 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 352 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
331 | |||
332 | # | ||
333 | # IO Schedulers | ||
334 | # | ||
335 | CONFIG_IOSCHED_NOOP=y | ||
336 | CONFIG_IOSCHED_AS=y | ||
337 | CONFIG_IOSCHED_DEADLINE=y | ||
338 | CONFIG_IOSCHED_CFQ=y | ||
339 | CONFIG_ATA_OVER_ETH=m | 353 | CONFIG_ATA_OVER_ETH=m |
340 | 354 | ||
341 | # | 355 | # |
@@ -409,7 +423,6 @@ CONFIG_NETDEVICES=y | |||
409 | # PHY device support | 423 | # PHY device support |
410 | # | 424 | # |
411 | CONFIG_PHYLIB=m | 425 | CONFIG_PHYLIB=m |
412 | CONFIG_PHYCONTROL=y | ||
413 | 426 | ||
414 | # | 427 | # |
415 | # MII PHY device drivers | 428 | # MII PHY device drivers |
@@ -427,6 +440,7 @@ CONFIG_NET_ETHERNET=y | |||
427 | # CONFIG_MII is not set | 440 | # CONFIG_MII is not set |
428 | # CONFIG_HAPPYMEAL is not set | 441 | # CONFIG_HAPPYMEAL is not set |
429 | # CONFIG_SUNGEM is not set | 442 | # CONFIG_SUNGEM is not set |
443 | # CONFIG_CASSINI is not set | ||
430 | # CONFIG_NET_VENDOR_3COM is not set | 444 | # CONFIG_NET_VENDOR_3COM is not set |
431 | 445 | ||
432 | # | 446 | # |
@@ -539,7 +553,8 @@ CONFIG_VT_CONSOLE=y | |||
539 | CONFIG_HW_CONSOLE=y | 553 | CONFIG_HW_CONSOLE=y |
540 | # CONFIG_SERIAL_NONSTANDARD is not set | 554 | # CONFIG_SERIAL_NONSTANDARD is not set |
541 | CONFIG_QTRONIX_KEYBOARD=y | 555 | CONFIG_QTRONIX_KEYBOARD=y |
542 | # CONFIG_IT8172_SCR0 is not set | 556 | CONFIG_IT8172_SCR0=y |
557 | CONFIG_IT8172_SCR1=y | ||
543 | 558 | ||
544 | # | 559 | # |
545 | # Serial drivers | 560 | # Serial drivers |
@@ -583,6 +598,7 @@ CONFIG_RTC=y | |||
583 | # TPM devices | 598 | # TPM devices |
584 | # | 599 | # |
585 | # CONFIG_TCG_TPM is not set | 600 | # CONFIG_TCG_TPM is not set |
601 | # CONFIG_TELCLOCK is not set | ||
586 | 602 | ||
587 | # | 603 | # |
588 | # I2C support | 604 | # I2C support |
@@ -642,6 +658,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
642 | # CONFIG_USB is not set | 658 | # CONFIG_USB is not set |
643 | 659 | ||
644 | # | 660 | # |
661 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
662 | # | ||
663 | |||
664 | # | ||
645 | # USB Gadget Support | 665 | # USB Gadget Support |
646 | # | 666 | # |
647 | # CONFIG_USB_GADGET is not set | 667 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/jaguar-atx_defconfig b/arch/mips/configs/jaguar-atx_defconfig index 21b2b8042f91..a8b4c9a9a63b 100644 --- a/arch/mips/configs/jaguar-atx_defconfig +++ b/arch/mips/configs/jaguar-atx_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:14 2005 | 4 | # Mon Nov 7 23:05:41 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -55,6 +55,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
55 | CONFIG_KMOD=y | 55 | CONFIG_KMOD=y |
56 | 56 | ||
57 | # | 57 | # |
58 | # Block layer | ||
59 | # | ||
60 | # CONFIG_LBD is not set | ||
61 | |||
62 | # | ||
63 | # IO Schedulers | ||
64 | # | ||
65 | CONFIG_IOSCHED_NOOP=y | ||
66 | CONFIG_IOSCHED_AS=y | ||
67 | CONFIG_IOSCHED_DEADLINE=y | ||
68 | CONFIG_IOSCHED_CFQ=y | ||
69 | CONFIG_DEFAULT_AS=y | ||
70 | # CONFIG_DEFAULT_DEADLINE is not set | ||
71 | # CONFIG_DEFAULT_CFQ is not set | ||
72 | # CONFIG_DEFAULT_NOOP is not set | ||
73 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
74 | |||
75 | # | ||
58 | # Machine selection | 76 | # Machine selection |
59 | # | 77 | # |
60 | # CONFIG_MIPS_MTX1 is not set | 78 | # CONFIG_MIPS_MTX1 is not set |
@@ -184,6 +202,7 @@ CONFIG_ARCH_FLATMEM_ENABLE=y | |||
184 | CONFIG_FLATMEM=y | 202 | CONFIG_FLATMEM=y |
185 | CONFIG_FLAT_NODE_MEM_MAP=y | 203 | CONFIG_FLAT_NODE_MEM_MAP=y |
186 | # CONFIG_SPARSEMEM_STATIC is not set | 204 | # CONFIG_SPARSEMEM_STATIC is not set |
205 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
187 | # CONFIG_SMP is not set | 206 | # CONFIG_SMP is not set |
188 | CONFIG_PREEMPT_NONE=y | 207 | CONFIG_PREEMPT_NONE=y |
189 | # CONFIG_PREEMPT_VOLUNTARY is not set | 208 | # CONFIG_PREEMPT_VOLUNTARY is not set |
@@ -259,6 +278,10 @@ CONFIG_IPV6_TUNNEL=m | |||
259 | # CONFIG_LLC2 is not set | 278 | # CONFIG_LLC2 is not set |
260 | # CONFIG_IPX is not set | 279 | # CONFIG_IPX is not set |
261 | # CONFIG_ATALK is not set | 280 | # CONFIG_ATALK is not set |
281 | |||
282 | # | ||
283 | # QoS and/or fair queueing | ||
284 | # | ||
262 | # CONFIG_NET_SCHED is not set | 285 | # CONFIG_NET_SCHED is not set |
263 | # CONFIG_NET_CLS_ROUTE is not set | 286 | # CONFIG_NET_CLS_ROUTE is not set |
264 | 287 | ||
@@ -317,18 +340,9 @@ CONFIG_CONNECTOR=m | |||
317 | # CONFIG_BLK_DEV_SX8 is not set | 340 | # CONFIG_BLK_DEV_SX8 is not set |
318 | # CONFIG_BLK_DEV_RAM is not set | 341 | # CONFIG_BLK_DEV_RAM is not set |
319 | CONFIG_BLK_DEV_RAM_COUNT=16 | 342 | CONFIG_BLK_DEV_RAM_COUNT=16 |
320 | # CONFIG_LBD is not set | ||
321 | CONFIG_CDROM_PKTCDVD=m | 343 | CONFIG_CDROM_PKTCDVD=m |
322 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 344 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
323 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 345 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
324 | |||
325 | # | ||
326 | # IO Schedulers | ||
327 | # | ||
328 | CONFIG_IOSCHED_NOOP=y | ||
329 | CONFIG_IOSCHED_AS=y | ||
330 | CONFIG_IOSCHED_DEADLINE=y | ||
331 | CONFIG_IOSCHED_CFQ=y | ||
332 | CONFIG_ATA_OVER_ETH=m | 346 | CONFIG_ATA_OVER_ETH=m |
333 | 347 | ||
334 | # | 348 | # |
@@ -380,7 +394,6 @@ CONFIG_NETDEVICES=y | |||
380 | # PHY device support | 394 | # PHY device support |
381 | # | 395 | # |
382 | CONFIG_PHYLIB=m | 396 | CONFIG_PHYLIB=m |
383 | CONFIG_PHYCONTROL=y | ||
384 | 397 | ||
385 | # | 398 | # |
386 | # MII PHY device drivers | 399 | # MII PHY device drivers |
@@ -398,6 +411,7 @@ CONFIG_NET_ETHERNET=y | |||
398 | CONFIG_MII=y | 411 | CONFIG_MII=y |
399 | # CONFIG_HAPPYMEAL is not set | 412 | # CONFIG_HAPPYMEAL is not set |
400 | # CONFIG_SUNGEM is not set | 413 | # CONFIG_SUNGEM is not set |
414 | # CONFIG_CASSINI is not set | ||
401 | # CONFIG_NET_VENDOR_3COM is not set | 415 | # CONFIG_NET_VENDOR_3COM is not set |
402 | 416 | ||
403 | # | 417 | # |
@@ -592,6 +606,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
592 | # CONFIG_USB is not set | 606 | # CONFIG_USB is not set |
593 | 607 | ||
594 | # | 608 | # |
609 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
610 | # | ||
611 | |||
612 | # | ||
595 | # USB Gadget Support | 613 | # USB Gadget Support |
596 | # | 614 | # |
597 | # CONFIG_USB_GADGET is not set | 615 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig index 6390a753e80b..c0ac5c793ec7 100644 --- a/arch/mips/configs/jmr3927_defconfig +++ b/arch/mips/configs/jmr3927_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:17 2005 | 4 | # Mon Nov 7 23:05:44 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -51,6 +51,24 @@ CONFIG_BASE_SMALL=0 | |||
51 | # CONFIG_MODULES is not set | 51 | # CONFIG_MODULES is not set |
52 | 52 | ||
53 | # | 53 | # |
54 | # Block layer | ||
55 | # | ||
56 | # CONFIG_LBD is not set | ||
57 | |||
58 | # | ||
59 | # IO Schedulers | ||
60 | # | ||
61 | CONFIG_IOSCHED_NOOP=y | ||
62 | CONFIG_IOSCHED_AS=y | ||
63 | CONFIG_IOSCHED_DEADLINE=y | ||
64 | CONFIG_IOSCHED_CFQ=y | ||
65 | CONFIG_DEFAULT_AS=y | ||
66 | # CONFIG_DEFAULT_DEADLINE is not set | ||
67 | # CONFIG_DEFAULT_CFQ is not set | ||
68 | # CONFIG_DEFAULT_NOOP is not set | ||
69 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
70 | |||
71 | # | ||
54 | # Machine selection | 72 | # Machine selection |
55 | # | 73 | # |
56 | # CONFIG_MIPS_MTX1 is not set | 74 | # CONFIG_MIPS_MTX1 is not set |
@@ -168,6 +186,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
168 | CONFIG_FLATMEM=y | 186 | CONFIG_FLATMEM=y |
169 | CONFIG_FLAT_NODE_MEM_MAP=y | 187 | CONFIG_FLAT_NODE_MEM_MAP=y |
170 | # CONFIG_SPARSEMEM_STATIC is not set | 188 | # CONFIG_SPARSEMEM_STATIC is not set |
189 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
171 | CONFIG_PREEMPT_NONE=y | 190 | CONFIG_PREEMPT_NONE=y |
172 | # CONFIG_PREEMPT_VOLUNTARY is not set | 191 | # CONFIG_PREEMPT_VOLUNTARY is not set |
173 | # CONFIG_PREEMPT is not set | 192 | # CONFIG_PREEMPT is not set |
@@ -256,6 +275,10 @@ CONFIG_TCP_CONG_BIC=y | |||
256 | # CONFIG_NET_DIVERT is not set | 275 | # CONFIG_NET_DIVERT is not set |
257 | # CONFIG_ECONET is not set | 276 | # CONFIG_ECONET is not set |
258 | # CONFIG_WAN_ROUTER is not set | 277 | # CONFIG_WAN_ROUTER is not set |
278 | |||
279 | # | ||
280 | # QoS and/or fair queueing | ||
281 | # | ||
259 | # CONFIG_NET_SCHED is not set | 282 | # CONFIG_NET_SCHED is not set |
260 | # CONFIG_NET_CLS_ROUTE is not set | 283 | # CONFIG_NET_CLS_ROUTE is not set |
261 | 284 | ||
@@ -287,6 +310,7 @@ CONFIG_FW_LOADER=y | |||
287 | # Connector - unified userspace <-> kernelspace linker | 310 | # Connector - unified userspace <-> kernelspace linker |
288 | # | 311 | # |
289 | CONFIG_CONNECTOR=y | 312 | CONFIG_CONNECTOR=y |
313 | CONFIG_PROC_EVENTS=y | ||
290 | 314 | ||
291 | # | 315 | # |
292 | # Memory Technology Devices (MTD) | 316 | # Memory Technology Devices (MTD) |
@@ -315,18 +339,9 @@ CONFIG_CONNECTOR=y | |||
315 | # CONFIG_BLK_DEV_SX8 is not set | 339 | # CONFIG_BLK_DEV_SX8 is not set |
316 | # CONFIG_BLK_DEV_RAM is not set | 340 | # CONFIG_BLK_DEV_RAM is not set |
317 | CONFIG_BLK_DEV_RAM_COUNT=16 | 341 | CONFIG_BLK_DEV_RAM_COUNT=16 |
318 | # CONFIG_LBD is not set | ||
319 | CONFIG_CDROM_PKTCDVD=y | 342 | CONFIG_CDROM_PKTCDVD=y |
320 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 343 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
321 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 344 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
322 | |||
323 | # | ||
324 | # IO Schedulers | ||
325 | # | ||
326 | CONFIG_IOSCHED_NOOP=y | ||
327 | CONFIG_IOSCHED_AS=y | ||
328 | CONFIG_IOSCHED_DEADLINE=y | ||
329 | CONFIG_IOSCHED_CFQ=y | ||
330 | CONFIG_ATA_OVER_ETH=y | 345 | CONFIG_ATA_OVER_ETH=y |
331 | 346 | ||
332 | # | 347 | # |
@@ -378,7 +393,6 @@ CONFIG_NETDEVICES=y | |||
378 | # PHY device support | 393 | # PHY device support |
379 | # | 394 | # |
380 | CONFIG_PHYLIB=y | 395 | CONFIG_PHYLIB=y |
381 | CONFIG_PHYCONTROL=y | ||
382 | 396 | ||
383 | # | 397 | # |
384 | # MII PHY device drivers | 398 | # MII PHY device drivers |
@@ -396,6 +410,7 @@ CONFIG_NET_ETHERNET=y | |||
396 | # CONFIG_MII is not set | 410 | # CONFIG_MII is not set |
397 | # CONFIG_HAPPYMEAL is not set | 411 | # CONFIG_HAPPYMEAL is not set |
398 | # CONFIG_SUNGEM is not set | 412 | # CONFIG_SUNGEM is not set |
413 | # CONFIG_CASSINI is not set | ||
399 | # CONFIG_NET_VENDOR_3COM is not set | 414 | # CONFIG_NET_VENDOR_3COM is not set |
400 | 415 | ||
401 | # | 416 | # |
@@ -561,6 +576,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
561 | # TPM devices | 576 | # TPM devices |
562 | # | 577 | # |
563 | # CONFIG_TCG_TPM is not set | 578 | # CONFIG_TCG_TPM is not set |
579 | # CONFIG_TELCLOCK is not set | ||
564 | 580 | ||
565 | # | 581 | # |
566 | # I2C support | 582 | # I2C support |
@@ -603,7 +619,6 @@ CONFIG_FB=y | |||
603 | # CONFIG_FB_CFB_FILLRECT is not set | 619 | # CONFIG_FB_CFB_FILLRECT is not set |
604 | # CONFIG_FB_CFB_COPYAREA is not set | 620 | # CONFIG_FB_CFB_COPYAREA is not set |
605 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 621 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
606 | # CONFIG_FB_SOFT_CURSOR is not set | ||
607 | # CONFIG_FB_MACMODES is not set | 622 | # CONFIG_FB_MACMODES is not set |
608 | # CONFIG_FB_MODE_HELPERS is not set | 623 | # CONFIG_FB_MODE_HELPERS is not set |
609 | # CONFIG_FB_TILEBLITTING is not set | 624 | # CONFIG_FB_TILEBLITTING is not set |
@@ -612,6 +627,7 @@ CONFIG_FB=y | |||
612 | # CONFIG_FB_CYBER2000 is not set | 627 | # CONFIG_FB_CYBER2000 is not set |
613 | # CONFIG_FB_ASILIANT is not set | 628 | # CONFIG_FB_ASILIANT is not set |
614 | # CONFIG_FB_IMSTT is not set | 629 | # CONFIG_FB_IMSTT is not set |
630 | # CONFIG_FB_S1D13XXX is not set | ||
615 | # CONFIG_FB_NVIDIA is not set | 631 | # CONFIG_FB_NVIDIA is not set |
616 | # CONFIG_FB_RIVA is not set | 632 | # CONFIG_FB_RIVA is not set |
617 | # CONFIG_FB_MATROX is not set | 633 | # CONFIG_FB_MATROX is not set |
@@ -628,7 +644,6 @@ CONFIG_FB=y | |||
628 | # CONFIG_FB_SMIVGX is not set | 644 | # CONFIG_FB_SMIVGX is not set |
629 | # CONFIG_FB_CYBLA is not set | 645 | # CONFIG_FB_CYBLA is not set |
630 | # CONFIG_FB_TRIDENT is not set | 646 | # CONFIG_FB_TRIDENT is not set |
631 | # CONFIG_FB_S1D13XXX is not set | ||
632 | # CONFIG_FB_VIRTUAL is not set | 647 | # CONFIG_FB_VIRTUAL is not set |
633 | 648 | ||
634 | # | 649 | # |
@@ -657,6 +672,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
657 | # CONFIG_USB is not set | 672 | # CONFIG_USB is not set |
658 | 673 | ||
659 | # | 674 | # |
675 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
676 | # | ||
677 | |||
678 | # | ||
660 | # USB Gadget Support | 679 | # USB Gadget Support |
661 | # | 680 | # |
662 | # CONFIG_USB_GADGET is not set | 681 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/lasat200_defconfig b/arch/mips/configs/lasat200_defconfig index 03cd0ca6e639..f2bd620ff0fa 100644 --- a/arch/mips/configs/lasat200_defconfig +++ b/arch/mips/configs/lasat200_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:19 2005 | 4 | # Mon Nov 7 23:05:47 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -184,6 +202,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
184 | CONFIG_FLATMEM=y | 202 | CONFIG_FLATMEM=y |
185 | CONFIG_FLAT_NODE_MEM_MAP=y | 203 | CONFIG_FLAT_NODE_MEM_MAP=y |
186 | # CONFIG_SPARSEMEM_STATIC is not set | 204 | # CONFIG_SPARSEMEM_STATIC is not set |
205 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
187 | CONFIG_PREEMPT_NONE=y | 206 | CONFIG_PREEMPT_NONE=y |
188 | # CONFIG_PREEMPT_VOLUNTARY is not set | 207 | # CONFIG_PREEMPT_VOLUNTARY is not set |
189 | # CONFIG_PREEMPT is not set | 208 | # CONFIG_PREEMPT is not set |
@@ -267,6 +286,10 @@ CONFIG_TCP_CONG_BIC=y | |||
267 | # CONFIG_NET_DIVERT is not set | 286 | # CONFIG_NET_DIVERT is not set |
268 | # CONFIG_ECONET is not set | 287 | # CONFIG_ECONET is not set |
269 | # CONFIG_WAN_ROUTER is not set | 288 | # CONFIG_WAN_ROUTER is not set |
289 | |||
290 | # | ||
291 | # QoS and/or fair queueing | ||
292 | # | ||
270 | # CONFIG_NET_SCHED is not set | 293 | # CONFIG_NET_SCHED is not set |
271 | # CONFIG_NET_CLS_ROUTE is not set | 294 | # CONFIG_NET_CLS_ROUTE is not set |
272 | 295 | ||
@@ -317,6 +340,7 @@ CONFIG_MTD_BLOCK=y | |||
317 | # CONFIG_FTL is not set | 340 | # CONFIG_FTL is not set |
318 | # CONFIG_NFTL is not set | 341 | # CONFIG_NFTL is not set |
319 | # CONFIG_INFTL is not set | 342 | # CONFIG_INFTL is not set |
343 | # CONFIG_RFD_FTL is not set | ||
320 | 344 | ||
321 | # | 345 | # |
322 | # RAM/ROM/Flash chip drivers | 346 | # RAM/ROM/Flash chip drivers |
@@ -375,6 +399,11 @@ CONFIG_MTD_LASAT=y | |||
375 | # CONFIG_MTD_NAND is not set | 399 | # CONFIG_MTD_NAND is not set |
376 | 400 | ||
377 | # | 401 | # |
402 | # OneNAND Flash Device Drivers | ||
403 | # | ||
404 | # CONFIG_MTD_ONENAND is not set | ||
405 | |||
406 | # | ||
378 | # Parallel port support | 407 | # Parallel port support |
379 | # | 408 | # |
380 | # CONFIG_PARPORT is not set | 409 | # CONFIG_PARPORT is not set |
@@ -396,18 +425,9 @@ CONFIG_MTD_LASAT=y | |||
396 | # CONFIG_BLK_DEV_SX8 is not set | 425 | # CONFIG_BLK_DEV_SX8 is not set |
397 | # CONFIG_BLK_DEV_RAM is not set | 426 | # CONFIG_BLK_DEV_RAM is not set |
398 | CONFIG_BLK_DEV_RAM_COUNT=16 | 427 | CONFIG_BLK_DEV_RAM_COUNT=16 |
399 | # CONFIG_LBD is not set | ||
400 | CONFIG_CDROM_PKTCDVD=m | 428 | CONFIG_CDROM_PKTCDVD=m |
401 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 429 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
402 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 430 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
403 | |||
404 | # | ||
405 | # IO Schedulers | ||
406 | # | ||
407 | CONFIG_IOSCHED_NOOP=y | ||
408 | CONFIG_IOSCHED_AS=y | ||
409 | CONFIG_IOSCHED_DEADLINE=y | ||
410 | CONFIG_IOSCHED_CFQ=y | ||
411 | CONFIG_ATA_OVER_ETH=m | 431 | CONFIG_ATA_OVER_ETH=m |
412 | 432 | ||
413 | # | 433 | # |
@@ -511,7 +531,6 @@ CONFIG_NETDEVICES=y | |||
511 | # PHY device support | 531 | # PHY device support |
512 | # | 532 | # |
513 | CONFIG_PHYLIB=m | 533 | CONFIG_PHYLIB=m |
514 | CONFIG_PHYCONTROL=y | ||
515 | 534 | ||
516 | # | 535 | # |
517 | # MII PHY device drivers | 536 | # MII PHY device drivers |
@@ -529,6 +548,7 @@ CONFIG_NET_ETHERNET=y | |||
529 | # CONFIG_MII is not set | 548 | # CONFIG_MII is not set |
530 | # CONFIG_HAPPYMEAL is not set | 549 | # CONFIG_HAPPYMEAL is not set |
531 | # CONFIG_SUNGEM is not set | 550 | # CONFIG_SUNGEM is not set |
551 | # CONFIG_CASSINI is not set | ||
532 | # CONFIG_NET_VENDOR_3COM is not set | 552 | # CONFIG_NET_VENDOR_3COM is not set |
533 | 553 | ||
534 | # | 554 | # |
@@ -684,6 +704,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
684 | # TPM devices | 704 | # TPM devices |
685 | # | 705 | # |
686 | # CONFIG_TCG_TPM is not set | 706 | # CONFIG_TCG_TPM is not set |
707 | # CONFIG_TELCLOCK is not set | ||
687 | 708 | ||
688 | # | 709 | # |
689 | # I2C support | 710 | # I2C support |
@@ -743,6 +764,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
743 | # CONFIG_USB is not set | 764 | # CONFIG_USB is not set |
744 | 765 | ||
745 | # | 766 | # |
767 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
768 | # | ||
769 | |||
770 | # | ||
746 | # USB Gadget Support | 771 | # USB Gadget Support |
747 | # | 772 | # |
748 | # CONFIG_USB_GADGET is not set | 773 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig index 2acdec959dd0..e48e1de442b4 100644 --- a/arch/mips/configs/malta_defconfig +++ b/arch/mips/configs/malta_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:22 2005 | 4 | # Thu Nov 10 13:42:55 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -197,6 +215,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
197 | CONFIG_FLATMEM=y | 215 | CONFIG_FLATMEM=y |
198 | CONFIG_FLAT_NODE_MEM_MAP=y | 216 | CONFIG_FLAT_NODE_MEM_MAP=y |
199 | # CONFIG_SPARSEMEM_STATIC is not set | 217 | # CONFIG_SPARSEMEM_STATIC is not set |
218 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
200 | CONFIG_PREEMPT_NONE=y | 219 | CONFIG_PREEMPT_NONE=y |
201 | # CONFIG_PREEMPT_VOLUNTARY is not set | 220 | # CONFIG_PREEMPT_VOLUNTARY is not set |
202 | # CONFIG_PREEMPT is not set | 221 | # CONFIG_PREEMPT is not set |
@@ -315,6 +334,10 @@ CONFIG_IPV6_TUNNEL=m | |||
315 | CONFIG_NETFILTER=y | 334 | CONFIG_NETFILTER=y |
316 | # CONFIG_NETFILTER_DEBUG is not set | 335 | # CONFIG_NETFILTER_DEBUG is not set |
317 | CONFIG_BRIDGE_NETFILTER=y | 336 | CONFIG_BRIDGE_NETFILTER=y |
337 | |||
338 | # | ||
339 | # Core Netfilter Configuration | ||
340 | # | ||
318 | CONFIG_NETFILTER_NETLINK=m | 341 | CONFIG_NETFILTER_NETLINK=m |
319 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 342 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
320 | CONFIG_NETFILTER_NETLINK_LOG=m | 343 | CONFIG_NETFILTER_NETLINK_LOG=m |
@@ -369,6 +392,7 @@ CONFIG_IP_NF_TARGET_REJECT=m | |||
369 | CONFIG_IP_NF_TARGET_LOG=m | 392 | CONFIG_IP_NF_TARGET_LOG=m |
370 | CONFIG_IP_NF_TARGET_ULOG=m | 393 | CONFIG_IP_NF_TARGET_ULOG=m |
371 | CONFIG_IP_NF_TARGET_TCPMSS=m | 394 | CONFIG_IP_NF_TARGET_TCPMSS=m |
395 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
372 | CONFIG_IP_NF_NAT=m | 396 | CONFIG_IP_NF_NAT=m |
373 | CONFIG_IP_NF_NAT_NEEDED=y | 397 | CONFIG_IP_NF_NAT_NEEDED=y |
374 | CONFIG_IP_NF_TARGET_MASQUERADE=m | 398 | CONFIG_IP_NF_TARGET_MASQUERADE=m |
@@ -418,6 +442,7 @@ CONFIG_IP6_NF_MATCH_PHYSDEV=m | |||
418 | CONFIG_IP6_NF_FILTER=m | 442 | CONFIG_IP6_NF_FILTER=m |
419 | CONFIG_IP6_NF_TARGET_LOG=m | 443 | CONFIG_IP6_NF_TARGET_LOG=m |
420 | CONFIG_IP6_NF_TARGET_REJECT=m | 444 | CONFIG_IP6_NF_TARGET_REJECT=m |
445 | CONFIG_IP6_NF_TARGET_NFQUEUE=m | ||
421 | CONFIG_IP6_NF_MANGLE=m | 446 | CONFIG_IP6_NF_MANGLE=m |
422 | CONFIG_IP6_NF_TARGET_MARK=m | 447 | CONFIG_IP6_NF_TARGET_MARK=m |
423 | CONFIG_IP6_NF_TARGET_HL=m | 448 | CONFIG_IP6_NF_TARGET_HL=m |
@@ -478,10 +503,18 @@ CONFIG_IPDDP_DECAP=y | |||
478 | CONFIG_NET_DIVERT=y | 503 | CONFIG_NET_DIVERT=y |
479 | # CONFIG_ECONET is not set | 504 | # CONFIG_ECONET is not set |
480 | # CONFIG_WAN_ROUTER is not set | 505 | # CONFIG_WAN_ROUTER is not set |
506 | |||
507 | # | ||
508 | # QoS and/or fair queueing | ||
509 | # | ||
481 | CONFIG_NET_SCHED=y | 510 | CONFIG_NET_SCHED=y |
482 | CONFIG_NET_SCH_CLK_JIFFIES=y | 511 | CONFIG_NET_SCH_CLK_JIFFIES=y |
483 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set | 512 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set |
484 | # CONFIG_NET_SCH_CLK_CPU is not set | 513 | # CONFIG_NET_SCH_CLK_CPU is not set |
514 | |||
515 | # | ||
516 | # Queueing/Scheduling | ||
517 | # | ||
485 | CONFIG_NET_SCH_CBQ=m | 518 | CONFIG_NET_SCH_CBQ=m |
486 | CONFIG_NET_SCH_HTB=m | 519 | CONFIG_NET_SCH_HTB=m |
487 | CONFIG_NET_SCH_HFSC=m | 520 | CONFIG_NET_SCH_HFSC=m |
@@ -494,8 +527,10 @@ CONFIG_NET_SCH_GRED=m | |||
494 | CONFIG_NET_SCH_DSMARK=m | 527 | CONFIG_NET_SCH_DSMARK=m |
495 | CONFIG_NET_SCH_NETEM=m | 528 | CONFIG_NET_SCH_NETEM=m |
496 | CONFIG_NET_SCH_INGRESS=m | 529 | CONFIG_NET_SCH_INGRESS=m |
497 | CONFIG_NET_QOS=y | 530 | |
498 | CONFIG_NET_ESTIMATOR=y | 531 | # |
532 | # Classification | ||
533 | # | ||
499 | CONFIG_NET_CLS=y | 534 | CONFIG_NET_CLS=y |
500 | CONFIG_NET_CLS_BASIC=m | 535 | CONFIG_NET_CLS_BASIC=m |
501 | CONFIG_NET_CLS_TCINDEX=m | 536 | CONFIG_NET_CLS_TCINDEX=m |
@@ -504,13 +539,14 @@ CONFIG_NET_CLS_ROUTE=y | |||
504 | CONFIG_NET_CLS_FW=m | 539 | CONFIG_NET_CLS_FW=m |
505 | CONFIG_NET_CLS_U32=m | 540 | CONFIG_NET_CLS_U32=m |
506 | # CONFIG_CLS_U32_PERF is not set | 541 | # CONFIG_CLS_U32_PERF is not set |
507 | CONFIG_NET_CLS_IND=y | ||
508 | # CONFIG_CLS_U32_MARK is not set | 542 | # CONFIG_CLS_U32_MARK is not set |
509 | CONFIG_NET_CLS_RSVP=m | 543 | CONFIG_NET_CLS_RSVP=m |
510 | CONFIG_NET_CLS_RSVP6=m | 544 | CONFIG_NET_CLS_RSVP6=m |
511 | # CONFIG_NET_EMATCH is not set | 545 | # CONFIG_NET_EMATCH is not set |
512 | # CONFIG_NET_CLS_ACT is not set | 546 | # CONFIG_NET_CLS_ACT is not set |
513 | CONFIG_NET_CLS_POLICE=y | 547 | CONFIG_NET_CLS_POLICE=y |
548 | CONFIG_NET_CLS_IND=y | ||
549 | CONFIG_NET_ESTIMATOR=y | ||
514 | 550 | ||
515 | # | 551 | # |
516 | # Network testing | 552 | # Network testing |
@@ -572,18 +608,9 @@ CONFIG_BLK_DEV_RAM=y | |||
572 | CONFIG_BLK_DEV_RAM_COUNT=16 | 608 | CONFIG_BLK_DEV_RAM_COUNT=16 |
573 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 609 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
574 | # CONFIG_BLK_DEV_INITRD is not set | 610 | # CONFIG_BLK_DEV_INITRD is not set |
575 | # CONFIG_LBD is not set | ||
576 | CONFIG_CDROM_PKTCDVD=m | 611 | CONFIG_CDROM_PKTCDVD=m |
577 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 612 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
578 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 613 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
579 | |||
580 | # | ||
581 | # IO Schedulers | ||
582 | # | ||
583 | CONFIG_IOSCHED_NOOP=y | ||
584 | CONFIG_IOSCHED_AS=y | ||
585 | CONFIG_IOSCHED_DEADLINE=y | ||
586 | CONFIG_IOSCHED_CFQ=y | ||
587 | CONFIG_ATA_OVER_ETH=m | 614 | CONFIG_ATA_OVER_ETH=m |
588 | 615 | ||
589 | # | 616 | # |
@@ -680,6 +707,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
680 | # | 707 | # |
681 | # SCSI low-level drivers | 708 | # SCSI low-level drivers |
682 | # | 709 | # |
710 | CONFIG_ISCSI_TCP=m | ||
683 | CONFIG_BLK_DEV_3W_XXXX_RAID=m | 711 | CONFIG_BLK_DEV_3W_XXXX_RAID=m |
684 | CONFIG_SCSI_3W_9XXX=m | 712 | CONFIG_SCSI_3W_9XXX=m |
685 | CONFIG_SCSI_ACARD=m | 713 | CONFIG_SCSI_ACARD=m |
@@ -695,6 +723,7 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | |||
695 | # CONFIG_SCSI_DPT_I2O is not set | 723 | # CONFIG_SCSI_DPT_I2O is not set |
696 | # CONFIG_MEGARAID_NEWGEN is not set | 724 | # CONFIG_MEGARAID_NEWGEN is not set |
697 | # CONFIG_MEGARAID_LEGACY is not set | 725 | # CONFIG_MEGARAID_LEGACY is not set |
726 | # CONFIG_MEGARAID_SAS is not set | ||
698 | # CONFIG_SCSI_SATA is not set | 727 | # CONFIG_SCSI_SATA is not set |
699 | # CONFIG_SCSI_DMX3191D is not set | 728 | # CONFIG_SCSI_DMX3191D is not set |
700 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 729 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -745,6 +774,7 @@ CONFIG_DM_MULTIPATH_EMC=m | |||
745 | # CONFIG_FUSION is not set | 774 | # CONFIG_FUSION is not set |
746 | # CONFIG_FUSION_SPI is not set | 775 | # CONFIG_FUSION_SPI is not set |
747 | # CONFIG_FUSION_FC is not set | 776 | # CONFIG_FUSION_FC is not set |
777 | # CONFIG_FUSION_SAS is not set | ||
748 | 778 | ||
749 | # | 779 | # |
750 | # IEEE 1394 (FireWire) support | 780 | # IEEE 1394 (FireWire) support |
@@ -774,7 +804,6 @@ CONFIG_TUN=m | |||
774 | # PHY device support | 804 | # PHY device support |
775 | # | 805 | # |
776 | CONFIG_PHYLIB=m | 806 | CONFIG_PHYLIB=m |
777 | CONFIG_PHYCONTROL=y | ||
778 | 807 | ||
779 | # | 808 | # |
780 | # MII PHY device drivers | 809 | # MII PHY device drivers |
@@ -792,6 +821,7 @@ CONFIG_NET_ETHERNET=y | |||
792 | CONFIG_MII=y | 821 | CONFIG_MII=y |
793 | # CONFIG_HAPPYMEAL is not set | 822 | # CONFIG_HAPPYMEAL is not set |
794 | # CONFIG_SUNGEM is not set | 823 | # CONFIG_SUNGEM is not set |
824 | # CONFIG_CASSINI is not set | ||
795 | # CONFIG_NET_VENDOR_3COM is not set | 825 | # CONFIG_NET_VENDOR_3COM is not set |
796 | 826 | ||
797 | # | 827 | # |
@@ -967,6 +997,7 @@ CONFIG_RTC=y | |||
967 | # TPM devices | 997 | # TPM devices |
968 | # | 998 | # |
969 | # CONFIG_TCG_TPM is not set | 999 | # CONFIG_TCG_TPM is not set |
1000 | # CONFIG_TELCLOCK is not set | ||
970 | 1001 | ||
971 | # | 1002 | # |
972 | # I2C support | 1003 | # I2C support |
@@ -1026,6 +1057,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
1026 | # CONFIG_USB is not set | 1057 | # CONFIG_USB is not set |
1027 | 1058 | ||
1028 | # | 1059 | # |
1060 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
1061 | # | ||
1062 | |||
1063 | # | ||
1029 | # USB Gadget Support | 1064 | # USB Gadget Support |
1030 | # | 1065 | # |
1031 | # CONFIG_USB_GADGET is not set | 1066 | # CONFIG_USB_GADGET is not set |
@@ -1071,7 +1106,7 @@ CONFIG_JFS_SECURITY=y | |||
1071 | CONFIG_FS_POSIX_ACL=y | 1106 | CONFIG_FS_POSIX_ACL=y |
1072 | CONFIG_XFS_FS=m | 1107 | CONFIG_XFS_FS=m |
1073 | CONFIG_XFS_EXPORT=y | 1108 | CONFIG_XFS_EXPORT=y |
1074 | CONFIG_XFS_QUOTA=m | 1109 | CONFIG_XFS_QUOTA=y |
1075 | CONFIG_XFS_SECURITY=y | 1110 | CONFIG_XFS_SECURITY=y |
1076 | CONFIG_XFS_POSIX_ACL=y | 1111 | CONFIG_XFS_POSIX_ACL=y |
1077 | # CONFIG_XFS_RT is not set | 1112 | # CONFIG_XFS_RT is not set |
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig index fb9bdd9e3151..04abd1b3202b 100644 --- a/arch/mips/configs/mipssim_defconfig +++ b/arch/mips/configs/mipssim_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:25 2005 | 4 | # Mon Nov 7 23:05:55 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -184,6 +202,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
184 | CONFIG_FLATMEM=y | 202 | CONFIG_FLATMEM=y |
185 | CONFIG_FLAT_NODE_MEM_MAP=y | 203 | CONFIG_FLAT_NODE_MEM_MAP=y |
186 | # CONFIG_SPARSEMEM_STATIC is not set | 204 | # CONFIG_SPARSEMEM_STATIC is not set |
205 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
187 | CONFIG_PREEMPT_NONE=y | 206 | CONFIG_PREEMPT_NONE=y |
188 | # CONFIG_PREEMPT_VOLUNTARY is not set | 207 | # CONFIG_PREEMPT_VOLUNTARY is not set |
189 | # CONFIG_PREEMPT is not set | 208 | # CONFIG_PREEMPT is not set |
@@ -281,10 +300,18 @@ CONFIG_SCTP_HMAC_MD5=y | |||
281 | CONFIG_NET_DIVERT=y | 300 | CONFIG_NET_DIVERT=y |
282 | # CONFIG_ECONET is not set | 301 | # CONFIG_ECONET is not set |
283 | # CONFIG_WAN_ROUTER is not set | 302 | # CONFIG_WAN_ROUTER is not set |
303 | |||
304 | # | ||
305 | # QoS and/or fair queueing | ||
306 | # | ||
284 | CONFIG_NET_SCHED=y | 307 | CONFIG_NET_SCHED=y |
285 | CONFIG_NET_SCH_CLK_JIFFIES=y | 308 | CONFIG_NET_SCH_CLK_JIFFIES=y |
286 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set | 309 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set |
287 | # CONFIG_NET_SCH_CLK_CPU is not set | 310 | # CONFIG_NET_SCH_CLK_CPU is not set |
311 | |||
312 | # | ||
313 | # Queueing/Scheduling | ||
314 | # | ||
288 | CONFIG_NET_SCH_CBQ=m | 315 | CONFIG_NET_SCH_CBQ=m |
289 | CONFIG_NET_SCH_HTB=m | 316 | CONFIG_NET_SCH_HTB=m |
290 | CONFIG_NET_SCH_HFSC=m | 317 | CONFIG_NET_SCH_HFSC=m |
@@ -297,8 +324,10 @@ CONFIG_NET_SCH_GRED=m | |||
297 | CONFIG_NET_SCH_DSMARK=m | 324 | CONFIG_NET_SCH_DSMARK=m |
298 | CONFIG_NET_SCH_NETEM=m | 325 | CONFIG_NET_SCH_NETEM=m |
299 | CONFIG_NET_SCH_INGRESS=m | 326 | CONFIG_NET_SCH_INGRESS=m |
300 | CONFIG_NET_QOS=y | 327 | |
301 | CONFIG_NET_ESTIMATOR=y | 328 | # |
329 | # Classification | ||
330 | # | ||
302 | CONFIG_NET_CLS=y | 331 | CONFIG_NET_CLS=y |
303 | CONFIG_NET_CLS_BASIC=m | 332 | CONFIG_NET_CLS_BASIC=m |
304 | CONFIG_NET_CLS_TCINDEX=m | 333 | CONFIG_NET_CLS_TCINDEX=m |
@@ -311,6 +340,7 @@ CONFIG_NET_CLS_ROUTE=y | |||
311 | # CONFIG_NET_EMATCH is not set | 340 | # CONFIG_NET_EMATCH is not set |
312 | # CONFIG_NET_CLS_ACT is not set | 341 | # CONFIG_NET_CLS_ACT is not set |
313 | # CONFIG_NET_CLS_POLICE is not set | 342 | # CONFIG_NET_CLS_POLICE is not set |
343 | CONFIG_NET_ESTIMATOR=y | ||
314 | 344 | ||
315 | # | 345 | # |
316 | # Network testing | 346 | # Network testing |
@@ -361,16 +391,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
361 | CONFIG_BLK_DEV_NBD=y | 391 | CONFIG_BLK_DEV_NBD=y |
362 | # CONFIG_BLK_DEV_RAM is not set | 392 | # CONFIG_BLK_DEV_RAM is not set |
363 | CONFIG_BLK_DEV_RAM_COUNT=16 | 393 | CONFIG_BLK_DEV_RAM_COUNT=16 |
364 | # CONFIG_LBD is not set | ||
365 | # CONFIG_CDROM_PKTCDVD is not set | 394 | # CONFIG_CDROM_PKTCDVD is not set |
366 | |||
367 | # | ||
368 | # IO Schedulers | ||
369 | # | ||
370 | CONFIG_IOSCHED_NOOP=y | ||
371 | CONFIG_IOSCHED_AS=y | ||
372 | CONFIG_IOSCHED_DEADLINE=y | ||
373 | CONFIG_IOSCHED_CFQ=y | ||
374 | # CONFIG_ATA_OVER_ETH is not set | 395 | # CONFIG_ATA_OVER_ETH is not set |
375 | 396 | ||
376 | # | 397 | # |
@@ -537,6 +558,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
537 | # | 558 | # |
538 | # TPM devices | 559 | # TPM devices |
539 | # | 560 | # |
561 | # CONFIG_TELCLOCK is not set | ||
540 | 562 | ||
541 | # | 563 | # |
542 | # I2C support | 564 | # I2C support |
@@ -589,6 +611,10 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
589 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 611 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
590 | 612 | ||
591 | # | 613 | # |
614 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
615 | # | ||
616 | |||
617 | # | ||
592 | # USB Gadget Support | 618 | # USB Gadget Support |
593 | # | 619 | # |
594 | # CONFIG_USB_GADGET is not set | 620 | # CONFIG_USB_GADGET is not set |
@@ -721,6 +747,8 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
721 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 747 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
722 | # CONFIG_DEBUG_KOBJECT is not set | 748 | # CONFIG_DEBUG_KOBJECT is not set |
723 | CONFIG_DEBUG_INFO=y | 749 | CONFIG_DEBUG_INFO=y |
750 | # CONFIG_DEBUG_VM is not set | ||
751 | # CONFIG_RCU_TORTURE_TEST is not set | ||
724 | CONFIG_CROSSCOMPILE=y | 752 | CONFIG_CROSSCOMPILE=y |
725 | CONFIG_CMDLINE="nfsroot=192.168.192.169:/u1/mipsel,timeo=20 ip=dhcp" | 753 | CONFIG_CMDLINE="nfsroot=192.168.192.169:/u1/mipsel,timeo=20 ip=dhcp" |
726 | # CONFIG_DEBUG_STACK_USAGE is not set | 754 | # CONFIG_DEBUG_STACK_USAGE is not set |
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig index e2c082128532..46814be0ac38 100644 --- a/arch/mips/configs/mpc30x_defconfig +++ b/arch/mips/configs/mpc30x_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:26:28 2005 | 4 | # Tue Nov 15 11:12:01 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -182,6 +200,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
182 | CONFIG_FLATMEM=y | 200 | CONFIG_FLATMEM=y |
183 | CONFIG_FLAT_NODE_MEM_MAP=y | 201 | CONFIG_FLAT_NODE_MEM_MAP=y |
184 | # CONFIG_SPARSEMEM_STATIC is not set | 202 | # CONFIG_SPARSEMEM_STATIC is not set |
203 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
185 | CONFIG_PREEMPT_NONE=y | 204 | CONFIG_PREEMPT_NONE=y |
186 | # CONFIG_PREEMPT_VOLUNTARY is not set | 205 | # CONFIG_PREEMPT_VOLUNTARY is not set |
187 | # CONFIG_PREEMPT is not set | 206 | # CONFIG_PREEMPT is not set |
@@ -210,7 +229,6 @@ CONFIG_PCMCIA_IOCTL=y | |||
210 | # CONFIG_YENTA is not set | 229 | # CONFIG_YENTA is not set |
211 | # CONFIG_PD6729 is not set | 230 | # CONFIG_PD6729 is not set |
212 | # CONFIG_I82092 is not set | 231 | # CONFIG_I82092 is not set |
213 | # CONFIG_TCIC is not set | ||
214 | CONFIG_PCMCIA_VRC4173=y | 232 | CONFIG_PCMCIA_VRC4173=y |
215 | 233 | ||
216 | # | 234 | # |
@@ -281,6 +299,10 @@ CONFIG_TCP_CONG_BIC=y | |||
281 | # CONFIG_NET_DIVERT is not set | 299 | # CONFIG_NET_DIVERT is not set |
282 | # CONFIG_ECONET is not set | 300 | # CONFIG_ECONET is not set |
283 | # CONFIG_WAN_ROUTER is not set | 301 | # CONFIG_WAN_ROUTER is not set |
302 | |||
303 | # | ||
304 | # QoS and/or fair queueing | ||
305 | # | ||
284 | # CONFIG_NET_SCHED is not set | 306 | # CONFIG_NET_SCHED is not set |
285 | # CONFIG_NET_CLS_ROUTE is not set | 307 | # CONFIG_NET_CLS_ROUTE is not set |
286 | 308 | ||
@@ -341,16 +363,7 @@ CONFIG_CONNECTOR=m | |||
341 | # CONFIG_BLK_DEV_UB is not set | 363 | # CONFIG_BLK_DEV_UB is not set |
342 | # CONFIG_BLK_DEV_RAM is not set | 364 | # CONFIG_BLK_DEV_RAM is not set |
343 | CONFIG_BLK_DEV_RAM_COUNT=16 | 365 | CONFIG_BLK_DEV_RAM_COUNT=16 |
344 | # CONFIG_LBD is not set | ||
345 | # CONFIG_CDROM_PKTCDVD is not set | 366 | # CONFIG_CDROM_PKTCDVD is not set |
346 | |||
347 | # | ||
348 | # IO Schedulers | ||
349 | # | ||
350 | CONFIG_IOSCHED_NOOP=y | ||
351 | CONFIG_IOSCHED_AS=y | ||
352 | CONFIG_IOSCHED_DEADLINE=y | ||
353 | CONFIG_IOSCHED_CFQ=y | ||
354 | CONFIG_ATA_OVER_ETH=m | 367 | CONFIG_ATA_OVER_ETH=m |
355 | 368 | ||
356 | # | 369 | # |
@@ -612,6 +625,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
612 | # CONFIG_WATCHDOG is not set | 625 | # CONFIG_WATCHDOG is not set |
613 | # CONFIG_RTC is not set | 626 | # CONFIG_RTC is not set |
614 | # CONFIG_GEN_RTC is not set | 627 | # CONFIG_GEN_RTC is not set |
628 | # CONFIG_RTC_VR41XX is not set | ||
615 | # CONFIG_DTLK is not set | 629 | # CONFIG_DTLK is not set |
616 | # CONFIG_R3964 is not set | 630 | # CONFIG_R3964 is not set |
617 | # CONFIG_APPLICOM is not set | 631 | # CONFIG_APPLICOM is not set |
@@ -625,6 +639,8 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
625 | # PCMCIA character devices | 639 | # PCMCIA character devices |
626 | # | 640 | # |
627 | # CONFIG_SYNCLINK_CS is not set | 641 | # CONFIG_SYNCLINK_CS is not set |
642 | # CONFIG_CARDMAN_4000 is not set | ||
643 | # CONFIG_CARDMAN_4040 is not set | ||
628 | CONFIG_GPIO_VR41XX=y | 644 | CONFIG_GPIO_VR41XX=y |
629 | # CONFIG_RAW_DRIVER is not set | 645 | # CONFIG_RAW_DRIVER is not set |
630 | 646 | ||
@@ -632,6 +648,7 @@ CONFIG_GPIO_VR41XX=y | |||
632 | # TPM devices | 648 | # TPM devices |
633 | # | 649 | # |
634 | # CONFIG_TCG_TPM is not set | 650 | # CONFIG_TCG_TPM is not set |
651 | # CONFIG_TELCLOCK is not set | ||
635 | 652 | ||
636 | # | 653 | # |
637 | # I2C support | 654 | # I2C support |
@@ -713,12 +730,15 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
713 | # | 730 | # |
714 | # USB Device Class drivers | 731 | # USB Device Class drivers |
715 | # | 732 | # |
716 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
717 | # CONFIG_USB_ACM is not set | 733 | # CONFIG_USB_ACM is not set |
718 | # CONFIG_USB_PRINTER is not set | 734 | # CONFIG_USB_PRINTER is not set |
719 | 735 | ||
720 | # | 736 | # |
721 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 737 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
738 | # | ||
739 | |||
740 | # | ||
741 | # may also be needed; see USB_STORAGE Help for more information | ||
722 | # | 742 | # |
723 | # CONFIG_USB_STORAGE is not set | 743 | # CONFIG_USB_STORAGE is not set |
724 | 744 | ||
diff --git a/arch/mips/configs/ocelot_3_defconfig b/arch/mips/configs/ocelot_3_defconfig index f18d05c2ca77..e12118c30db4 100644 --- a/arch/mips/configs/ocelot_3_defconfig +++ b/arch/mips/configs/ocelot_3_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:30 2005 | 4 | # Thu Nov 10 14:01:36 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_MODVERSIONS=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -187,6 +205,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
187 | CONFIG_FLATMEM=y | 205 | CONFIG_FLATMEM=y |
188 | CONFIG_FLAT_NODE_MEM_MAP=y | 206 | CONFIG_FLAT_NODE_MEM_MAP=y |
189 | # CONFIG_SPARSEMEM_STATIC is not set | 207 | # CONFIG_SPARSEMEM_STATIC is not set |
208 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
190 | # CONFIG_SMP is not set | 209 | # CONFIG_SMP is not set |
191 | CONFIG_PREEMPT_NONE=y | 210 | CONFIG_PREEMPT_NONE=y |
192 | # CONFIG_PREEMPT_VOLUNTARY is not set | 211 | # CONFIG_PREEMPT_VOLUNTARY is not set |
@@ -265,15 +284,19 @@ CONFIG_IPV6=m | |||
265 | # CONFIG_IPV6_TUNNEL is not set | 284 | # CONFIG_IPV6_TUNNEL is not set |
266 | CONFIG_NETFILTER=y | 285 | CONFIG_NETFILTER=y |
267 | # CONFIG_NETFILTER_DEBUG is not set | 286 | # CONFIG_NETFILTER_DEBUG is not set |
287 | |||
288 | # | ||
289 | # Core Netfilter Configuration | ||
290 | # | ||
268 | CONFIG_NETFILTER_NETLINK=m | 291 | CONFIG_NETFILTER_NETLINK=m |
269 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 292 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
270 | CONFIG_NETFILTER_NETLINK_LOG=m | 293 | CONFIG_NETFILTER_NETLINK_LOG=m |
294 | # CONFIG_NF_CONNTRACK is not set | ||
271 | 295 | ||
272 | # | 296 | # |
273 | # IP: Netfilter Configuration | 297 | # IP: Netfilter Configuration |
274 | # | 298 | # |
275 | # CONFIG_IP_NF_CONNTRACK is not set | 299 | # CONFIG_IP_NF_CONNTRACK is not set |
276 | CONFIG_IP_NF_PPTP=m | ||
277 | # CONFIG_IP_NF_QUEUE is not set | 300 | # CONFIG_IP_NF_QUEUE is not set |
278 | # CONFIG_IP_NF_IPTABLES is not set | 301 | # CONFIG_IP_NF_IPTABLES is not set |
279 | # CONFIG_IP_NF_ARPTABLES is not set | 302 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -305,6 +328,10 @@ CONFIG_IP_NF_PPTP=m | |||
305 | # CONFIG_NET_DIVERT is not set | 328 | # CONFIG_NET_DIVERT is not set |
306 | # CONFIG_ECONET is not set | 329 | # CONFIG_ECONET is not set |
307 | # CONFIG_WAN_ROUTER is not set | 330 | # CONFIG_WAN_ROUTER is not set |
331 | |||
332 | # | ||
333 | # QoS and/or fair queueing | ||
334 | # | ||
308 | # CONFIG_NET_SCHED is not set | 335 | # CONFIG_NET_SCHED is not set |
309 | # CONFIG_NET_CLS_ROUTE is not set | 336 | # CONFIG_NET_CLS_ROUTE is not set |
310 | 337 | ||
@@ -365,16 +392,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
365 | # CONFIG_BLK_DEV_SX8 is not set | 392 | # CONFIG_BLK_DEV_SX8 is not set |
366 | # CONFIG_BLK_DEV_RAM is not set | 393 | # CONFIG_BLK_DEV_RAM is not set |
367 | CONFIG_BLK_DEV_RAM_COUNT=16 | 394 | CONFIG_BLK_DEV_RAM_COUNT=16 |
368 | # CONFIG_LBD is not set | ||
369 | # CONFIG_CDROM_PKTCDVD is not set | 395 | # CONFIG_CDROM_PKTCDVD is not set |
370 | |||
371 | # | ||
372 | # IO Schedulers | ||
373 | # | ||
374 | CONFIG_IOSCHED_NOOP=y | ||
375 | CONFIG_IOSCHED_AS=y | ||
376 | CONFIG_IOSCHED_DEADLINE=y | ||
377 | CONFIG_IOSCHED_CFQ=y | ||
378 | CONFIG_ATA_OVER_ETH=m | 396 | CONFIG_ATA_OVER_ETH=m |
379 | 397 | ||
380 | # | 398 | # |
@@ -411,12 +429,13 @@ CONFIG_SCSI_PROC_FS=y | |||
411 | # | 429 | # |
412 | # CONFIG_SCSI_SPI_ATTRS is not set | 430 | # CONFIG_SCSI_SPI_ATTRS is not set |
413 | # CONFIG_SCSI_FC_ATTRS is not set | 431 | # CONFIG_SCSI_FC_ATTRS is not set |
414 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 432 | CONFIG_SCSI_ISCSI_ATTRS=m |
415 | CONFIG_SCSI_SAS_ATTRS=m | 433 | CONFIG_SCSI_SAS_ATTRS=m |
416 | 434 | ||
417 | # | 435 | # |
418 | # SCSI low-level drivers | 436 | # SCSI low-level drivers |
419 | # | 437 | # |
438 | CONFIG_ISCSI_TCP=m | ||
420 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 439 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
421 | # CONFIG_SCSI_3W_9XXX is not set | 440 | # CONFIG_SCSI_3W_9XXX is not set |
422 | # CONFIG_SCSI_ACARD is not set | 441 | # CONFIG_SCSI_ACARD is not set |
@@ -427,6 +446,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
427 | # CONFIG_SCSI_DPT_I2O is not set | 446 | # CONFIG_SCSI_DPT_I2O is not set |
428 | # CONFIG_MEGARAID_NEWGEN is not set | 447 | # CONFIG_MEGARAID_NEWGEN is not set |
429 | # CONFIG_MEGARAID_LEGACY is not set | 448 | # CONFIG_MEGARAID_LEGACY is not set |
449 | # CONFIG_MEGARAID_SAS is not set | ||
430 | # CONFIG_SCSI_SATA is not set | 450 | # CONFIG_SCSI_SATA is not set |
431 | # CONFIG_SCSI_DMX3191D is not set | 451 | # CONFIG_SCSI_DMX3191D is not set |
432 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 452 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -461,6 +481,7 @@ CONFIG_SCSI_QLA2XXX=m | |||
461 | # CONFIG_FUSION is not set | 481 | # CONFIG_FUSION is not set |
462 | # CONFIG_FUSION_SPI is not set | 482 | # CONFIG_FUSION_SPI is not set |
463 | # CONFIG_FUSION_FC is not set | 483 | # CONFIG_FUSION_FC is not set |
484 | # CONFIG_FUSION_SAS is not set | ||
464 | 485 | ||
465 | # | 486 | # |
466 | # IEEE 1394 (FireWire) support | 487 | # IEEE 1394 (FireWire) support |
@@ -490,7 +511,6 @@ CONFIG_TUN=m | |||
490 | # PHY device support | 511 | # PHY device support |
491 | # | 512 | # |
492 | CONFIG_PHYLIB=m | 513 | CONFIG_PHYLIB=m |
493 | CONFIG_PHYCONTROL=y | ||
494 | 514 | ||
495 | # | 515 | # |
496 | # MII PHY device drivers | 516 | # MII PHY device drivers |
@@ -508,6 +528,7 @@ CONFIG_NET_ETHERNET=y | |||
508 | CONFIG_MII=y | 528 | CONFIG_MII=y |
509 | # CONFIG_HAPPYMEAL is not set | 529 | # CONFIG_HAPPYMEAL is not set |
510 | # CONFIG_SUNGEM is not set | 530 | # CONFIG_SUNGEM is not set |
531 | # CONFIG_CASSINI is not set | ||
511 | # CONFIG_NET_VENDOR_3COM is not set | 532 | # CONFIG_NET_VENDOR_3COM is not set |
512 | 533 | ||
513 | # | 534 | # |
@@ -589,6 +610,7 @@ CONFIG_PPP_ASYNC=m | |||
589 | CONFIG_PPP_SYNC_TTY=m | 610 | CONFIG_PPP_SYNC_TTY=m |
590 | CONFIG_PPP_DEFLATE=m | 611 | CONFIG_PPP_DEFLATE=m |
591 | # CONFIG_PPP_BSDCOMP is not set | 612 | # CONFIG_PPP_BSDCOMP is not set |
613 | CONFIG_PPP_MPPE=m | ||
592 | CONFIG_PPPOE=m | 614 | CONFIG_PPPOE=m |
593 | # CONFIG_SLIP is not set | 615 | # CONFIG_SLIP is not set |
594 | # CONFIG_NET_FC is not set | 616 | # CONFIG_NET_FC is not set |
@@ -691,6 +713,7 @@ CONFIG_RTC=y | |||
691 | # TPM devices | 713 | # TPM devices |
692 | # | 714 | # |
693 | # CONFIG_TCG_TPM is not set | 715 | # CONFIG_TCG_TPM is not set |
716 | # CONFIG_TELCLOCK is not set | ||
694 | 717 | ||
695 | # | 718 | # |
696 | # I2C support | 719 | # I2C support |
@@ -733,7 +756,6 @@ CONFIG_FB=y | |||
733 | # CONFIG_FB_CFB_FILLRECT is not set | 756 | # CONFIG_FB_CFB_FILLRECT is not set |
734 | # CONFIG_FB_CFB_COPYAREA is not set | 757 | # CONFIG_FB_CFB_COPYAREA is not set |
735 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 758 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
736 | # CONFIG_FB_SOFT_CURSOR is not set | ||
737 | # CONFIG_FB_MACMODES is not set | 759 | # CONFIG_FB_MACMODES is not set |
738 | CONFIG_FB_MODE_HELPERS=y | 760 | CONFIG_FB_MODE_HELPERS=y |
739 | # CONFIG_FB_TILEBLITTING is not set | 761 | # CONFIG_FB_TILEBLITTING is not set |
@@ -742,6 +764,7 @@ CONFIG_FB_MODE_HELPERS=y | |||
742 | # CONFIG_FB_CYBER2000 is not set | 764 | # CONFIG_FB_CYBER2000 is not set |
743 | # CONFIG_FB_ASILIANT is not set | 765 | # CONFIG_FB_ASILIANT is not set |
744 | # CONFIG_FB_IMSTT is not set | 766 | # CONFIG_FB_IMSTT is not set |
767 | # CONFIG_FB_S1D13XXX is not set | ||
745 | # CONFIG_FB_NVIDIA is not set | 768 | # CONFIG_FB_NVIDIA is not set |
746 | # CONFIG_FB_RIVA is not set | 769 | # CONFIG_FB_RIVA is not set |
747 | # CONFIG_FB_MATROX is not set | 770 | # CONFIG_FB_MATROX is not set |
@@ -758,7 +781,6 @@ CONFIG_FB_MODE_HELPERS=y | |||
758 | # CONFIG_FB_SMIVGX is not set | 781 | # CONFIG_FB_SMIVGX is not set |
759 | # CONFIG_FB_CYBLA is not set | 782 | # CONFIG_FB_CYBLA is not set |
760 | # CONFIG_FB_TRIDENT is not set | 783 | # CONFIG_FB_TRIDENT is not set |
761 | # CONFIG_FB_S1D13XXX is not set | ||
762 | # CONFIG_FB_VIRTUAL is not set | 784 | # CONFIG_FB_VIRTUAL is not set |
763 | 785 | ||
764 | # | 786 | # |
@@ -767,6 +789,7 @@ CONFIG_FB_MODE_HELPERS=y | |||
767 | # CONFIG_VGA_CONSOLE is not set | 789 | # CONFIG_VGA_CONSOLE is not set |
768 | CONFIG_DUMMY_CONSOLE=y | 790 | CONFIG_DUMMY_CONSOLE=y |
769 | CONFIG_FRAMEBUFFER_CONSOLE=y | 791 | CONFIG_FRAMEBUFFER_CONSOLE=y |
792 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
770 | # CONFIG_FONTS is not set | 793 | # CONFIG_FONTS is not set |
771 | CONFIG_FONT_8x8=y | 794 | CONFIG_FONT_8x8=y |
772 | CONFIG_FONT_8x16=y | 795 | CONFIG_FONT_8x16=y |
@@ -793,6 +816,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
793 | # CONFIG_USB is not set | 816 | # CONFIG_USB is not set |
794 | 817 | ||
795 | # | 818 | # |
819 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
820 | # | ||
821 | |||
822 | # | ||
796 | # USB Gadget Support | 823 | # USB Gadget Support |
797 | # | 824 | # |
798 | # CONFIG_USB_GADGET is not set | 825 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig index d3a5fee02b79..99f0c980aee7 100644 --- a/arch/mips/configs/ocelot_c_defconfig +++ b/arch/mips/configs/ocelot_c_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:33 2005 | 4 | # Mon Nov 7 23:06:05 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -51,6 +51,23 @@ CONFIG_BASE_SMALL=0 | |||
51 | # CONFIG_MODULES is not set | 51 | # CONFIG_MODULES is not set |
52 | 52 | ||
53 | # | 53 | # |
54 | # Block layer | ||
55 | # | ||
56 | |||
57 | # | ||
58 | # IO Schedulers | ||
59 | # | ||
60 | CONFIG_IOSCHED_NOOP=y | ||
61 | CONFIG_IOSCHED_AS=y | ||
62 | CONFIG_IOSCHED_DEADLINE=y | ||
63 | CONFIG_IOSCHED_CFQ=y | ||
64 | CONFIG_DEFAULT_AS=y | ||
65 | # CONFIG_DEFAULT_DEADLINE is not set | ||
66 | # CONFIG_DEFAULT_CFQ is not set | ||
67 | # CONFIG_DEFAULT_NOOP is not set | ||
68 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
69 | |||
70 | # | ||
54 | # Machine selection | 71 | # Machine selection |
55 | # | 72 | # |
56 | # CONFIG_MIPS_MTX1 is not set | 73 | # CONFIG_MIPS_MTX1 is not set |
@@ -176,6 +193,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
176 | CONFIG_FLATMEM=y | 193 | CONFIG_FLATMEM=y |
177 | CONFIG_FLAT_NODE_MEM_MAP=y | 194 | CONFIG_FLAT_NODE_MEM_MAP=y |
178 | # CONFIG_SPARSEMEM_STATIC is not set | 195 | # CONFIG_SPARSEMEM_STATIC is not set |
196 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
179 | CONFIG_PREEMPT_NONE=y | 197 | CONFIG_PREEMPT_NONE=y |
180 | # CONFIG_PREEMPT_VOLUNTARY is not set | 198 | # CONFIG_PREEMPT_VOLUNTARY is not set |
181 | # CONFIG_PREEMPT is not set | 199 | # CONFIG_PREEMPT is not set |
@@ -267,6 +285,10 @@ CONFIG_TCP_CONG_BIC=y | |||
267 | # CONFIG_NET_DIVERT is not set | 285 | # CONFIG_NET_DIVERT is not set |
268 | # CONFIG_ECONET is not set | 286 | # CONFIG_ECONET is not set |
269 | # CONFIG_WAN_ROUTER is not set | 287 | # CONFIG_WAN_ROUTER is not set |
288 | |||
289 | # | ||
290 | # QoS and/or fair queueing | ||
291 | # | ||
270 | # CONFIG_NET_SCHED is not set | 292 | # CONFIG_NET_SCHED is not set |
271 | # CONFIG_NET_CLS_ROUTE is not set | 293 | # CONFIG_NET_CLS_ROUTE is not set |
272 | 294 | ||
@@ -298,6 +320,7 @@ CONFIG_FW_LOADER=y | |||
298 | # Connector - unified userspace <-> kernelspace linker | 320 | # Connector - unified userspace <-> kernelspace linker |
299 | # | 321 | # |
300 | CONFIG_CONNECTOR=y | 322 | CONFIG_CONNECTOR=y |
323 | CONFIG_PROC_EVENTS=y | ||
301 | 324 | ||
302 | # | 325 | # |
303 | # Memory Technology Devices (MTD) | 326 | # Memory Technology Devices (MTD) |
@@ -329,14 +352,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16 | |||
329 | CONFIG_CDROM_PKTCDVD=y | 352 | CONFIG_CDROM_PKTCDVD=y |
330 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 353 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
331 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 354 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
332 | |||
333 | # | ||
334 | # IO Schedulers | ||
335 | # | ||
336 | CONFIG_IOSCHED_NOOP=y | ||
337 | CONFIG_IOSCHED_AS=y | ||
338 | CONFIG_IOSCHED_DEADLINE=y | ||
339 | CONFIG_IOSCHED_CFQ=y | ||
340 | CONFIG_ATA_OVER_ETH=y | 355 | CONFIG_ATA_OVER_ETH=y |
341 | 356 | ||
342 | # | 357 | # |
@@ -388,7 +403,6 @@ CONFIG_NETDEVICES=y | |||
388 | # PHY device support | 403 | # PHY device support |
389 | # | 404 | # |
390 | CONFIG_PHYLIB=y | 405 | CONFIG_PHYLIB=y |
391 | CONFIG_PHYCONTROL=y | ||
392 | 406 | ||
393 | # | 407 | # |
394 | # MII PHY device drivers | 408 | # MII PHY device drivers |
@@ -406,6 +420,7 @@ CONFIG_NET_ETHERNET=y | |||
406 | # CONFIG_MII is not set | 420 | # CONFIG_MII is not set |
407 | # CONFIG_HAPPYMEAL is not set | 421 | # CONFIG_HAPPYMEAL is not set |
408 | # CONFIG_SUNGEM is not set | 422 | # CONFIG_SUNGEM is not set |
423 | # CONFIG_CASSINI is not set | ||
409 | # CONFIG_NET_VENDOR_3COM is not set | 424 | # CONFIG_NET_VENDOR_3COM is not set |
410 | 425 | ||
411 | # | 426 | # |
@@ -562,6 +577,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
562 | # TPM devices | 577 | # TPM devices |
563 | # | 578 | # |
564 | # CONFIG_TCG_TPM is not set | 579 | # CONFIG_TCG_TPM is not set |
580 | # CONFIG_TELCLOCK is not set | ||
565 | 581 | ||
566 | # | 582 | # |
567 | # I2C support | 583 | # I2C support |
@@ -621,6 +637,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
621 | # CONFIG_USB is not set | 637 | # CONFIG_USB is not set |
622 | 638 | ||
623 | # | 639 | # |
640 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
641 | # | ||
642 | |||
643 | # | ||
624 | # USB Gadget Support | 644 | # USB Gadget Support |
625 | # | 645 | # |
626 | # CONFIG_USB_GADGET is not set | 646 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ocelot_defconfig b/arch/mips/configs/ocelot_defconfig index 1edde12ebff9..11c7d74ee1e5 100644 --- a/arch/mips/configs/ocelot_defconfig +++ b/arch/mips/configs/ocelot_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:35 2005 | 4 | # Mon Nov 7 23:06:08 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -51,6 +51,24 @@ CONFIG_BASE_SMALL=0 | |||
51 | # CONFIG_MODULES is not set | 51 | # CONFIG_MODULES is not set |
52 | 52 | ||
53 | # | 53 | # |
54 | # Block layer | ||
55 | # | ||
56 | # CONFIG_LBD is not set | ||
57 | |||
58 | # | ||
59 | # IO Schedulers | ||
60 | # | ||
61 | CONFIG_IOSCHED_NOOP=y | ||
62 | CONFIG_IOSCHED_AS=y | ||
63 | CONFIG_IOSCHED_DEADLINE=y | ||
64 | CONFIG_IOSCHED_CFQ=y | ||
65 | CONFIG_DEFAULT_AS=y | ||
66 | # CONFIG_DEFAULT_DEADLINE is not set | ||
67 | # CONFIG_DEFAULT_CFQ is not set | ||
68 | # CONFIG_DEFAULT_NOOP is not set | ||
69 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
70 | |||
71 | # | ||
54 | # Machine selection | 72 | # Machine selection |
55 | # | 73 | # |
56 | # CONFIG_MIPS_MTX1 is not set | 74 | # CONFIG_MIPS_MTX1 is not set |
@@ -181,6 +199,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
181 | CONFIG_FLATMEM=y | 199 | CONFIG_FLATMEM=y |
182 | CONFIG_FLAT_NODE_MEM_MAP=y | 200 | CONFIG_FLAT_NODE_MEM_MAP=y |
183 | # CONFIG_SPARSEMEM_STATIC is not set | 201 | # CONFIG_SPARSEMEM_STATIC is not set |
202 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
184 | CONFIG_PREEMPT_NONE=y | 203 | CONFIG_PREEMPT_NONE=y |
185 | # CONFIG_PREEMPT_VOLUNTARY is not set | 204 | # CONFIG_PREEMPT_VOLUNTARY is not set |
186 | # CONFIG_PREEMPT is not set | 205 | # CONFIG_PREEMPT is not set |
@@ -265,6 +284,10 @@ CONFIG_TCP_CONG_BIC=y | |||
265 | # CONFIG_NET_DIVERT is not set | 284 | # CONFIG_NET_DIVERT is not set |
266 | # CONFIG_ECONET is not set | 285 | # CONFIG_ECONET is not set |
267 | # CONFIG_WAN_ROUTER is not set | 286 | # CONFIG_WAN_ROUTER is not set |
287 | |||
288 | # | ||
289 | # QoS and/or fair queueing | ||
290 | # | ||
268 | # CONFIG_NET_SCHED is not set | 291 | # CONFIG_NET_SCHED is not set |
269 | # CONFIG_NET_CLS_ROUTE is not set | 292 | # CONFIG_NET_CLS_ROUTE is not set |
270 | 293 | ||
@@ -296,6 +319,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
296 | # Connector - unified userspace <-> kernelspace linker | 319 | # Connector - unified userspace <-> kernelspace linker |
297 | # | 320 | # |
298 | CONFIG_CONNECTOR=y | 321 | CONFIG_CONNECTOR=y |
322 | CONFIG_PROC_EVENTS=y | ||
299 | 323 | ||
300 | # | 324 | # |
301 | # Memory Technology Devices (MTD) | 325 | # Memory Technology Devices (MTD) |
@@ -319,18 +343,9 @@ CONFIG_CONNECTOR=y | |||
319 | # CONFIG_BLK_DEV_NBD is not set | 343 | # CONFIG_BLK_DEV_NBD is not set |
320 | # CONFIG_BLK_DEV_RAM is not set | 344 | # CONFIG_BLK_DEV_RAM is not set |
321 | CONFIG_BLK_DEV_RAM_COUNT=16 | 345 | CONFIG_BLK_DEV_RAM_COUNT=16 |
322 | # CONFIG_LBD is not set | ||
323 | CONFIG_CDROM_PKTCDVD=y | 346 | CONFIG_CDROM_PKTCDVD=y |
324 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 347 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
325 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 348 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
326 | |||
327 | # | ||
328 | # IO Schedulers | ||
329 | # | ||
330 | CONFIG_IOSCHED_NOOP=y | ||
331 | CONFIG_IOSCHED_AS=y | ||
332 | CONFIG_IOSCHED_DEADLINE=y | ||
333 | CONFIG_IOSCHED_CFQ=y | ||
334 | CONFIG_ATA_OVER_ETH=y | 349 | CONFIG_ATA_OVER_ETH=y |
335 | 350 | ||
336 | # | 351 | # |
@@ -375,7 +390,6 @@ CONFIG_NETDEVICES=y | |||
375 | # PHY device support | 390 | # PHY device support |
376 | # | 391 | # |
377 | CONFIG_PHYLIB=y | 392 | CONFIG_PHYLIB=y |
378 | CONFIG_PHYCONTROL=y | ||
379 | 393 | ||
380 | # | 394 | # |
381 | # MII PHY device drivers | 395 | # MII PHY device drivers |
@@ -513,6 +527,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
513 | # | 527 | # |
514 | # TPM devices | 528 | # TPM devices |
515 | # | 529 | # |
530 | # CONFIG_TELCLOCK is not set | ||
516 | 531 | ||
517 | # | 532 | # |
518 | # I2C support | 533 | # I2C support |
@@ -571,6 +586,10 @@ CONFIG_DUMMY_CONSOLE=y | |||
571 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 586 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
572 | 587 | ||
573 | # | 588 | # |
589 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
590 | # | ||
591 | |||
592 | # | ||
574 | # USB Gadget Support | 593 | # USB Gadget Support |
575 | # | 594 | # |
576 | # CONFIG_USB_GADGET is not set | 595 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/ocelot_g_defconfig b/arch/mips/configs/ocelot_g_defconfig index e2d5188cdc15..9ced1a9029d4 100644 --- a/arch/mips/configs/ocelot_g_defconfig +++ b/arch/mips/configs/ocelot_g_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:38 2005 | 4 | # Mon Nov 7 23:06:11 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -51,6 +51,23 @@ CONFIG_BASE_SMALL=0 | |||
51 | # CONFIG_MODULES is not set | 51 | # CONFIG_MODULES is not set |
52 | 52 | ||
53 | # | 53 | # |
54 | # Block layer | ||
55 | # | ||
56 | |||
57 | # | ||
58 | # IO Schedulers | ||
59 | # | ||
60 | CONFIG_IOSCHED_NOOP=y | ||
61 | CONFIG_IOSCHED_AS=y | ||
62 | CONFIG_IOSCHED_DEADLINE=y | ||
63 | CONFIG_IOSCHED_CFQ=y | ||
64 | CONFIG_DEFAULT_AS=y | ||
65 | # CONFIG_DEFAULT_DEADLINE is not set | ||
66 | # CONFIG_DEFAULT_CFQ is not set | ||
67 | # CONFIG_DEFAULT_NOOP is not set | ||
68 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
69 | |||
70 | # | ||
54 | # Machine selection | 71 | # Machine selection |
55 | # | 72 | # |
56 | # CONFIG_MIPS_MTX1 is not set | 73 | # CONFIG_MIPS_MTX1 is not set |
@@ -179,6 +196,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
179 | CONFIG_FLATMEM=y | 196 | CONFIG_FLATMEM=y |
180 | CONFIG_FLAT_NODE_MEM_MAP=y | 197 | CONFIG_FLAT_NODE_MEM_MAP=y |
181 | # CONFIG_SPARSEMEM_STATIC is not set | 198 | # CONFIG_SPARSEMEM_STATIC is not set |
199 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
182 | CONFIG_PREEMPT_NONE=y | 200 | CONFIG_PREEMPT_NONE=y |
183 | # CONFIG_PREEMPT_VOLUNTARY is not set | 201 | # CONFIG_PREEMPT_VOLUNTARY is not set |
184 | # CONFIG_PREEMPT is not set | 202 | # CONFIG_PREEMPT is not set |
@@ -270,6 +288,10 @@ CONFIG_TCP_CONG_BIC=y | |||
270 | # CONFIG_NET_DIVERT is not set | 288 | # CONFIG_NET_DIVERT is not set |
271 | # CONFIG_ECONET is not set | 289 | # CONFIG_ECONET is not set |
272 | # CONFIG_WAN_ROUTER is not set | 290 | # CONFIG_WAN_ROUTER is not set |
291 | |||
292 | # | ||
293 | # QoS and/or fair queueing | ||
294 | # | ||
273 | # CONFIG_NET_SCHED is not set | 295 | # CONFIG_NET_SCHED is not set |
274 | # CONFIG_NET_CLS_ROUTE is not set | 296 | # CONFIG_NET_CLS_ROUTE is not set |
275 | 297 | ||
@@ -301,6 +323,7 @@ CONFIG_FW_LOADER=y | |||
301 | # Connector - unified userspace <-> kernelspace linker | 323 | # Connector - unified userspace <-> kernelspace linker |
302 | # | 324 | # |
303 | CONFIG_CONNECTOR=y | 325 | CONFIG_CONNECTOR=y |
326 | CONFIG_PROC_EVENTS=y | ||
304 | 327 | ||
305 | # | 328 | # |
306 | # Memory Technology Devices (MTD) | 329 | # Memory Technology Devices (MTD) |
@@ -332,14 +355,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16 | |||
332 | CONFIG_CDROM_PKTCDVD=y | 355 | CONFIG_CDROM_PKTCDVD=y |
333 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 356 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
334 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 357 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
335 | |||
336 | # | ||
337 | # IO Schedulers | ||
338 | # | ||
339 | CONFIG_IOSCHED_NOOP=y | ||
340 | CONFIG_IOSCHED_AS=y | ||
341 | CONFIG_IOSCHED_DEADLINE=y | ||
342 | CONFIG_IOSCHED_CFQ=y | ||
343 | CONFIG_ATA_OVER_ETH=y | 358 | CONFIG_ATA_OVER_ETH=y |
344 | 359 | ||
345 | # | 360 | # |
@@ -391,7 +406,6 @@ CONFIG_NETDEVICES=y | |||
391 | # PHY device support | 406 | # PHY device support |
392 | # | 407 | # |
393 | CONFIG_PHYLIB=y | 408 | CONFIG_PHYLIB=y |
394 | CONFIG_PHYCONTROL=y | ||
395 | 409 | ||
396 | # | 410 | # |
397 | # MII PHY device drivers | 411 | # MII PHY device drivers |
@@ -410,6 +424,7 @@ CONFIG_MII=y | |||
410 | CONFIG_GALILEO_64240_ETH=y | 424 | CONFIG_GALILEO_64240_ETH=y |
411 | # CONFIG_HAPPYMEAL is not set | 425 | # CONFIG_HAPPYMEAL is not set |
412 | # CONFIG_SUNGEM is not set | 426 | # CONFIG_SUNGEM is not set |
427 | # CONFIG_CASSINI is not set | ||
413 | # CONFIG_NET_VENDOR_3COM is not set | 428 | # CONFIG_NET_VENDOR_3COM is not set |
414 | 429 | ||
415 | # | 430 | # |
@@ -565,6 +580,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
565 | # TPM devices | 580 | # TPM devices |
566 | # | 581 | # |
567 | # CONFIG_TCG_TPM is not set | 582 | # CONFIG_TCG_TPM is not set |
583 | # CONFIG_TELCLOCK is not set | ||
568 | 584 | ||
569 | # | 585 | # |
570 | # I2C support | 586 | # I2C support |
@@ -624,6 +640,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
624 | # CONFIG_USB is not set | 640 | # CONFIG_USB is not set |
625 | 641 | ||
626 | # | 642 | # |
643 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
644 | # | ||
645 | |||
646 | # | ||
627 | # USB Gadget Support | 647 | # USB Gadget Support |
628 | # | 648 | # |
629 | # CONFIG_USB_GADGET is not set | 649 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig index 47247addee1b..dbcaa77add7c 100644 --- a/arch/mips/configs/pb1100_defconfig +++ b/arch/mips/configs/pb1100_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:26:41 2005 | 4 | # Tue Nov 15 11:12:31 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -180,6 +198,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
180 | CONFIG_FLATMEM=y | 198 | CONFIG_FLATMEM=y |
181 | CONFIG_FLAT_NODE_MEM_MAP=y | 199 | CONFIG_FLAT_NODE_MEM_MAP=y |
182 | # CONFIG_SPARSEMEM_STATIC is not set | 200 | # CONFIG_SPARSEMEM_STATIC is not set |
201 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
183 | CONFIG_PREEMPT_NONE=y | 202 | CONFIG_PREEMPT_NONE=y |
184 | # CONFIG_PREEMPT_VOLUNTARY is not set | 203 | # CONFIG_PREEMPT_VOLUNTARY is not set |
185 | # CONFIG_PREEMPT is not set | 204 | # CONFIG_PREEMPT is not set |
@@ -203,7 +222,6 @@ CONFIG_PCMCIA_IOCTL=y | |||
203 | # | 222 | # |
204 | # PC-card bridges | 223 | # PC-card bridges |
205 | # | 224 | # |
206 | # CONFIG_TCIC is not set | ||
207 | # CONFIG_PCMCIA_AU1X00 is not set | 225 | # CONFIG_PCMCIA_AU1X00 is not set |
208 | 226 | ||
209 | # | 227 | # |
@@ -261,15 +279,19 @@ CONFIG_TCP_CONG_BIC=y | |||
261 | # CONFIG_IPV6 is not set | 279 | # CONFIG_IPV6 is not set |
262 | CONFIG_NETFILTER=y | 280 | CONFIG_NETFILTER=y |
263 | # CONFIG_NETFILTER_DEBUG is not set | 281 | # CONFIG_NETFILTER_DEBUG is not set |
282 | |||
283 | # | ||
284 | # Core Netfilter Configuration | ||
285 | # | ||
264 | CONFIG_NETFILTER_NETLINK=m | 286 | CONFIG_NETFILTER_NETLINK=m |
265 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 287 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
266 | CONFIG_NETFILTER_NETLINK_LOG=m | 288 | CONFIG_NETFILTER_NETLINK_LOG=m |
289 | # CONFIG_NF_CONNTRACK is not set | ||
267 | 290 | ||
268 | # | 291 | # |
269 | # IP: Netfilter Configuration | 292 | # IP: Netfilter Configuration |
270 | # | 293 | # |
271 | # CONFIG_IP_NF_CONNTRACK is not set | 294 | # CONFIG_IP_NF_CONNTRACK is not set |
272 | CONFIG_IP_NF_PPTP=m | ||
273 | # CONFIG_IP_NF_QUEUE is not set | 295 | # CONFIG_IP_NF_QUEUE is not set |
274 | # CONFIG_IP_NF_IPTABLES is not set | 296 | # CONFIG_IP_NF_IPTABLES is not set |
275 | # CONFIG_IP_NF_ARPTABLES is not set | 297 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -295,6 +317,10 @@ CONFIG_IP_NF_PPTP=m | |||
295 | # CONFIG_NET_DIVERT is not set | 317 | # CONFIG_NET_DIVERT is not set |
296 | # CONFIG_ECONET is not set | 318 | # CONFIG_ECONET is not set |
297 | # CONFIG_WAN_ROUTER is not set | 319 | # CONFIG_WAN_ROUTER is not set |
320 | |||
321 | # | ||
322 | # QoS and/or fair queueing | ||
323 | # | ||
298 | # CONFIG_NET_SCHED is not set | 324 | # CONFIG_NET_SCHED is not set |
299 | # CONFIG_NET_CLS_ROUTE is not set | 325 | # CONFIG_NET_CLS_ROUTE is not set |
300 | 326 | ||
@@ -345,6 +371,7 @@ CONFIG_MTD_BLOCK=y | |||
345 | # CONFIG_FTL is not set | 371 | # CONFIG_FTL is not set |
346 | # CONFIG_NFTL is not set | 372 | # CONFIG_NFTL is not set |
347 | # CONFIG_INFTL is not set | 373 | # CONFIG_INFTL is not set |
374 | # CONFIG_RFD_FTL is not set | ||
348 | 375 | ||
349 | # | 376 | # |
350 | # RAM/ROM/Flash chip drivers | 377 | # RAM/ROM/Flash chip drivers |
@@ -402,6 +429,11 @@ CONFIG_MTD_ALCHEMY=y | |||
402 | # CONFIG_MTD_NAND is not set | 429 | # CONFIG_MTD_NAND is not set |
403 | 430 | ||
404 | # | 431 | # |
432 | # OneNAND Flash Device Drivers | ||
433 | # | ||
434 | # CONFIG_MTD_ONENAND is not set | ||
435 | |||
436 | # | ||
405 | # Parallel port support | 437 | # Parallel port support |
406 | # | 438 | # |
407 | # CONFIG_PARPORT is not set | 439 | # CONFIG_PARPORT is not set |
@@ -419,18 +451,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
419 | # CONFIG_BLK_DEV_NBD is not set | 451 | # CONFIG_BLK_DEV_NBD is not set |
420 | # CONFIG_BLK_DEV_RAM is not set | 452 | # CONFIG_BLK_DEV_RAM is not set |
421 | CONFIG_BLK_DEV_RAM_COUNT=16 | 453 | CONFIG_BLK_DEV_RAM_COUNT=16 |
422 | # CONFIG_LBD is not set | ||
423 | CONFIG_CDROM_PKTCDVD=m | 454 | CONFIG_CDROM_PKTCDVD=m |
424 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 455 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
425 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 456 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
426 | |||
427 | # | ||
428 | # IO Schedulers | ||
429 | # | ||
430 | CONFIG_IOSCHED_NOOP=y | ||
431 | CONFIG_IOSCHED_AS=y | ||
432 | CONFIG_IOSCHED_DEADLINE=y | ||
433 | CONFIG_IOSCHED_CFQ=y | ||
434 | CONFIG_ATA_OVER_ETH=m | 457 | CONFIG_ATA_OVER_ETH=m |
435 | 458 | ||
436 | # | 459 | # |
@@ -475,7 +498,6 @@ CONFIG_NETDEVICES=y | |||
475 | # PHY device support | 498 | # PHY device support |
476 | # | 499 | # |
477 | CONFIG_PHYLIB=m | 500 | CONFIG_PHYLIB=m |
478 | CONFIG_PHYCONTROL=y | ||
479 | 501 | ||
480 | # | 502 | # |
481 | # MII PHY device drivers | 503 | # MII PHY device drivers |
@@ -492,6 +514,7 @@ CONFIG_CICADA_PHY=m | |||
492 | CONFIG_NET_ETHERNET=y | 514 | CONFIG_NET_ETHERNET=y |
493 | # CONFIG_MII is not set | 515 | # CONFIG_MII is not set |
494 | # CONFIG_MIPS_AU1X00_ENET is not set | 516 | # CONFIG_MIPS_AU1X00_ENET is not set |
517 | # CONFIG_SMC91X is not set | ||
495 | 518 | ||
496 | # | 519 | # |
497 | # Ethernet (1000 Mbit) | 520 | # Ethernet (1000 Mbit) |
@@ -526,6 +549,7 @@ CONFIG_PPP_ASYNC=m | |||
526 | # CONFIG_PPP_SYNC_TTY is not set | 549 | # CONFIG_PPP_SYNC_TTY is not set |
527 | CONFIG_PPP_DEFLATE=m | 550 | CONFIG_PPP_DEFLATE=m |
528 | # CONFIG_PPP_BSDCOMP is not set | 551 | # CONFIG_PPP_BSDCOMP is not set |
552 | CONFIG_PPP_MPPE=m | ||
529 | CONFIG_PPPOE=m | 553 | CONFIG_PPPOE=m |
530 | # CONFIG_SLIP is not set | 554 | # CONFIG_SLIP is not set |
531 | # CONFIG_SHAPER is not set | 555 | # CONFIG_SHAPER is not set |
@@ -592,12 +616,19 @@ CONFIG_HW_CONSOLE=y | |||
592 | # | 616 | # |
593 | # Serial drivers | 617 | # Serial drivers |
594 | # | 618 | # |
595 | # CONFIG_SERIAL_8250 is not set | 619 | CONFIG_SERIAL_8250=y |
620 | CONFIG_SERIAL_8250_CONSOLE=y | ||
621 | # CONFIG_SERIAL_8250_CS is not set | ||
622 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
623 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
624 | CONFIG_SERIAL_8250_AU1X00=y | ||
596 | 625 | ||
597 | # | 626 | # |
598 | # Non-8250 serial port support | 627 | # Non-8250 serial port support |
599 | # | 628 | # |
600 | # CONFIG_SERIAL_AU1X00 is not set | 629 | # CONFIG_SERIAL_AU1X00 is not set |
630 | CONFIG_SERIAL_CORE=y | ||
631 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
601 | CONFIG_UNIX98_PTYS=y | 632 | CONFIG_UNIX98_PTYS=y |
602 | CONFIG_LEGACY_PTYS=y | 633 | CONFIG_LEGACY_PTYS=y |
603 | CONFIG_LEGACY_PTY_COUNT=256 | 634 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -624,11 +655,14 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
624 | # PCMCIA character devices | 655 | # PCMCIA character devices |
625 | # | 656 | # |
626 | CONFIG_SYNCLINK_CS=m | 657 | CONFIG_SYNCLINK_CS=m |
658 | # CONFIG_CARDMAN_4000 is not set | ||
659 | # CONFIG_CARDMAN_4040 is not set | ||
627 | # CONFIG_RAW_DRIVER is not set | 660 | # CONFIG_RAW_DRIVER is not set |
628 | 661 | ||
629 | # | 662 | # |
630 | # TPM devices | 663 | # TPM devices |
631 | # | 664 | # |
665 | # CONFIG_TELCLOCK is not set | ||
632 | 666 | ||
633 | # | 667 | # |
634 | # I2C support | 668 | # I2C support |
@@ -688,6 +722,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
688 | # CONFIG_USB is not set | 722 | # CONFIG_USB is not set |
689 | 723 | ||
690 | # | 724 | # |
725 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
726 | # | ||
727 | |||
728 | # | ||
691 | # USB Gadget Support | 729 | # USB Gadget Support |
692 | # | 730 | # |
693 | # CONFIG_USB_GADGET is not set | 731 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig index f91a4eaae51a..5b685ceb6fde 100644 --- a/arch/mips/configs/pb1500_defconfig +++ b/arch/mips/configs/pb1500_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:26:44 2005 | 4 | # Tue Nov 15 11:14:25 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -179,6 +197,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
179 | CONFIG_FLATMEM=y | 197 | CONFIG_FLATMEM=y |
180 | CONFIG_FLAT_NODE_MEM_MAP=y | 198 | CONFIG_FLAT_NODE_MEM_MAP=y |
181 | # CONFIG_SPARSEMEM_STATIC is not set | 199 | # CONFIG_SPARSEMEM_STATIC is not set |
200 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
182 | CONFIG_PREEMPT_NONE=y | 201 | CONFIG_PREEMPT_NONE=y |
183 | # CONFIG_PREEMPT_VOLUNTARY is not set | 202 | # CONFIG_PREEMPT_VOLUNTARY is not set |
184 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
@@ -207,7 +226,6 @@ CONFIG_CARDBUS=y | |||
207 | # CONFIG_YENTA is not set | 226 | # CONFIG_YENTA is not set |
208 | CONFIG_PD6729=m | 227 | CONFIG_PD6729=m |
209 | # CONFIG_I82092 is not set | 228 | # CONFIG_I82092 is not set |
210 | # CONFIG_TCIC is not set | ||
211 | # CONFIG_PCMCIA_AU1X00 is not set | 229 | # CONFIG_PCMCIA_AU1X00 is not set |
212 | CONFIG_PCCARD_NONSTATIC=m | 230 | CONFIG_PCCARD_NONSTATIC=m |
213 | 231 | ||
@@ -267,15 +285,19 @@ CONFIG_TCP_CONG_BIC=y | |||
267 | # CONFIG_IPV6 is not set | 285 | # CONFIG_IPV6 is not set |
268 | CONFIG_NETFILTER=y | 286 | CONFIG_NETFILTER=y |
269 | # CONFIG_NETFILTER_DEBUG is not set | 287 | # CONFIG_NETFILTER_DEBUG is not set |
288 | |||
289 | # | ||
290 | # Core Netfilter Configuration | ||
291 | # | ||
270 | CONFIG_NETFILTER_NETLINK=m | 292 | CONFIG_NETFILTER_NETLINK=m |
271 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 293 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
272 | CONFIG_NETFILTER_NETLINK_LOG=m | 294 | CONFIG_NETFILTER_NETLINK_LOG=m |
295 | # CONFIG_NF_CONNTRACK is not set | ||
273 | 296 | ||
274 | # | 297 | # |
275 | # IP: Netfilter Configuration | 298 | # IP: Netfilter Configuration |
276 | # | 299 | # |
277 | # CONFIG_IP_NF_CONNTRACK is not set | 300 | # CONFIG_IP_NF_CONNTRACK is not set |
278 | CONFIG_IP_NF_PPTP=m | ||
279 | # CONFIG_IP_NF_QUEUE is not set | 301 | # CONFIG_IP_NF_QUEUE is not set |
280 | # CONFIG_IP_NF_IPTABLES is not set | 302 | # CONFIG_IP_NF_IPTABLES is not set |
281 | # CONFIG_IP_NF_ARPTABLES is not set | 303 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -301,6 +323,10 @@ CONFIG_IP_NF_PPTP=m | |||
301 | # CONFIG_NET_DIVERT is not set | 323 | # CONFIG_NET_DIVERT is not set |
302 | # CONFIG_ECONET is not set | 324 | # CONFIG_ECONET is not set |
303 | # CONFIG_WAN_ROUTER is not set | 325 | # CONFIG_WAN_ROUTER is not set |
326 | |||
327 | # | ||
328 | # QoS and/or fair queueing | ||
329 | # | ||
304 | # CONFIG_NET_SCHED is not set | 330 | # CONFIG_NET_SCHED is not set |
305 | # CONFIG_NET_CLS_ROUTE is not set | 331 | # CONFIG_NET_CLS_ROUTE is not set |
306 | 332 | ||
@@ -351,6 +377,7 @@ CONFIG_MTD_BLOCK=y | |||
351 | # CONFIG_FTL is not set | 377 | # CONFIG_FTL is not set |
352 | # CONFIG_NFTL is not set | 378 | # CONFIG_NFTL is not set |
353 | # CONFIG_INFTL is not set | 379 | # CONFIG_INFTL is not set |
380 | # CONFIG_RFD_FTL is not set | ||
354 | 381 | ||
355 | # | 382 | # |
356 | # RAM/ROM/Flash chip drivers | 383 | # RAM/ROM/Flash chip drivers |
@@ -409,6 +436,11 @@ CONFIG_MTD_ALCHEMY=y | |||
409 | # CONFIG_MTD_NAND is not set | 436 | # CONFIG_MTD_NAND is not set |
410 | 437 | ||
411 | # | 438 | # |
439 | # OneNAND Flash Device Drivers | ||
440 | # | ||
441 | # CONFIG_MTD_ONENAND is not set | ||
442 | |||
443 | # | ||
412 | # Parallel port support | 444 | # Parallel port support |
413 | # | 445 | # |
414 | # CONFIG_PARPORT is not set | 446 | # CONFIG_PARPORT is not set |
@@ -431,18 +463,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
431 | # CONFIG_BLK_DEV_SX8 is not set | 463 | # CONFIG_BLK_DEV_SX8 is not set |
432 | # CONFIG_BLK_DEV_RAM is not set | 464 | # CONFIG_BLK_DEV_RAM is not set |
433 | CONFIG_BLK_DEV_RAM_COUNT=16 | 465 | CONFIG_BLK_DEV_RAM_COUNT=16 |
434 | # CONFIG_LBD is not set | ||
435 | CONFIG_CDROM_PKTCDVD=m | 466 | CONFIG_CDROM_PKTCDVD=m |
436 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 467 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
437 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 468 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
438 | |||
439 | # | ||
440 | # IO Schedulers | ||
441 | # | ||
442 | CONFIG_IOSCHED_NOOP=y | ||
443 | CONFIG_IOSCHED_AS=y | ||
444 | CONFIG_IOSCHED_DEADLINE=y | ||
445 | CONFIG_IOSCHED_CFQ=y | ||
446 | CONFIG_ATA_OVER_ETH=m | 469 | CONFIG_ATA_OVER_ETH=m |
447 | 470 | ||
448 | # | 471 | # |
@@ -546,7 +569,6 @@ CONFIG_NETDEVICES=y | |||
546 | # PHY device support | 569 | # PHY device support |
547 | # | 570 | # |
548 | CONFIG_PHYLIB=m | 571 | CONFIG_PHYLIB=m |
549 | CONFIG_PHYCONTROL=y | ||
550 | 572 | ||
551 | # | 573 | # |
552 | # MII PHY device drivers | 574 | # MII PHY device drivers |
@@ -565,7 +587,9 @@ CONFIG_MII=m | |||
565 | CONFIG_MIPS_AU1X00_ENET=y | 587 | CONFIG_MIPS_AU1X00_ENET=y |
566 | # CONFIG_HAPPYMEAL is not set | 588 | # CONFIG_HAPPYMEAL is not set |
567 | # CONFIG_SUNGEM is not set | 589 | # CONFIG_SUNGEM is not set |
590 | # CONFIG_CASSINI is not set | ||
568 | # CONFIG_NET_VENDOR_3COM is not set | 591 | # CONFIG_NET_VENDOR_3COM is not set |
592 | # CONFIG_SMC91X is not set | ||
569 | 593 | ||
570 | # | 594 | # |
571 | # Tulip family network device support | 595 | # Tulip family network device support |
@@ -635,6 +659,7 @@ CONFIG_PPP_ASYNC=m | |||
635 | # CONFIG_PPP_SYNC_TTY is not set | 659 | # CONFIG_PPP_SYNC_TTY is not set |
636 | CONFIG_PPP_DEFLATE=m | 660 | CONFIG_PPP_DEFLATE=m |
637 | # CONFIG_PPP_BSDCOMP is not set | 661 | # CONFIG_PPP_BSDCOMP is not set |
662 | CONFIG_PPP_MPPE=m | ||
638 | CONFIG_PPPOE=m | 663 | CONFIG_PPPOE=m |
639 | # CONFIG_SLIP is not set | 664 | # CONFIG_SLIP is not set |
640 | # CONFIG_SHAPER is not set | 665 | # CONFIG_SHAPER is not set |
@@ -700,13 +725,17 @@ CONFIG_SERIO_RAW=m | |||
700 | # | 725 | # |
701 | # Serial drivers | 726 | # Serial drivers |
702 | # | 727 | # |
703 | # CONFIG_SERIAL_8250 is not set | 728 | CONFIG_SERIAL_8250=y |
729 | CONFIG_SERIAL_8250_CONSOLE=y | ||
730 | # CONFIG_SERIAL_8250_CS is not set | ||
731 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
732 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
733 | CONFIG_SERIAL_8250_AU1X00=y | ||
704 | 734 | ||
705 | # | 735 | # |
706 | # Non-8250 serial port support | 736 | # Non-8250 serial port support |
707 | # | 737 | # |
708 | CONFIG_SERIAL_AU1X00=y | 738 | # CONFIG_SERIAL_AU1X00 is not set |
709 | CONFIG_SERIAL_AU1X00_CONSOLE=y | ||
710 | CONFIG_SERIAL_CORE=y | 739 | CONFIG_SERIAL_CORE=y |
711 | CONFIG_SERIAL_CORE_CONSOLE=y | 740 | CONFIG_SERIAL_CORE_CONSOLE=y |
712 | # CONFIG_SERIAL_JSM is not set | 741 | # CONFIG_SERIAL_JSM is not set |
@@ -738,12 +767,15 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
738 | # PCMCIA character devices | 767 | # PCMCIA character devices |
739 | # | 768 | # |
740 | CONFIG_SYNCLINK_CS=m | 769 | CONFIG_SYNCLINK_CS=m |
770 | # CONFIG_CARDMAN_4000 is not set | ||
771 | # CONFIG_CARDMAN_4040 is not set | ||
741 | # CONFIG_RAW_DRIVER is not set | 772 | # CONFIG_RAW_DRIVER is not set |
742 | 773 | ||
743 | # | 774 | # |
744 | # TPM devices | 775 | # TPM devices |
745 | # | 776 | # |
746 | # CONFIG_TCG_TPM is not set | 777 | # CONFIG_TCG_TPM is not set |
778 | # CONFIG_TELCLOCK is not set | ||
747 | 779 | ||
748 | # | 780 | # |
749 | # I2C support | 781 | # I2C support |
@@ -797,6 +829,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
797 | # CONFIG_USB is not set | 829 | # CONFIG_USB is not set |
798 | 830 | ||
799 | # | 831 | # |
832 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
833 | # | ||
834 | |||
835 | # | ||
800 | # USB Gadget Support | 836 | # USB Gadget Support |
801 | # | 837 | # |
802 | # CONFIG_USB_GADGET is not set | 838 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig index bbad27cb40a2..f8f32e99f72d 100644 --- a/arch/mips/configs/pb1550_defconfig +++ b/arch/mips/configs/pb1550_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:26:47 2005 | 4 | # Tue Nov 15 11:15:34 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -179,6 +197,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
179 | CONFIG_FLATMEM=y | 197 | CONFIG_FLATMEM=y |
180 | CONFIG_FLAT_NODE_MEM_MAP=y | 198 | CONFIG_FLAT_NODE_MEM_MAP=y |
181 | # CONFIG_SPARSEMEM_STATIC is not set | 199 | # CONFIG_SPARSEMEM_STATIC is not set |
200 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
182 | CONFIG_PREEMPT_NONE=y | 201 | CONFIG_PREEMPT_NONE=y |
183 | # CONFIG_PREEMPT_VOLUNTARY is not set | 202 | # CONFIG_PREEMPT_VOLUNTARY is not set |
184 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
@@ -207,7 +226,6 @@ CONFIG_CARDBUS=y | |||
207 | # CONFIG_YENTA is not set | 226 | # CONFIG_YENTA is not set |
208 | CONFIG_PD6729=m | 227 | CONFIG_PD6729=m |
209 | # CONFIG_I82092 is not set | 228 | # CONFIG_I82092 is not set |
210 | # CONFIG_TCIC is not set | ||
211 | # CONFIG_PCMCIA_AU1X00 is not set | 229 | # CONFIG_PCMCIA_AU1X00 is not set |
212 | CONFIG_PCCARD_NONSTATIC=m | 230 | CONFIG_PCCARD_NONSTATIC=m |
213 | 231 | ||
@@ -267,15 +285,19 @@ CONFIG_TCP_CONG_BIC=y | |||
267 | # CONFIG_IPV6 is not set | 285 | # CONFIG_IPV6 is not set |
268 | CONFIG_NETFILTER=y | 286 | CONFIG_NETFILTER=y |
269 | # CONFIG_NETFILTER_DEBUG is not set | 287 | # CONFIG_NETFILTER_DEBUG is not set |
288 | |||
289 | # | ||
290 | # Core Netfilter Configuration | ||
291 | # | ||
270 | CONFIG_NETFILTER_NETLINK=m | 292 | CONFIG_NETFILTER_NETLINK=m |
271 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 293 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
272 | CONFIG_NETFILTER_NETLINK_LOG=m | 294 | CONFIG_NETFILTER_NETLINK_LOG=m |
295 | # CONFIG_NF_CONNTRACK is not set | ||
273 | 296 | ||
274 | # | 297 | # |
275 | # IP: Netfilter Configuration | 298 | # IP: Netfilter Configuration |
276 | # | 299 | # |
277 | # CONFIG_IP_NF_CONNTRACK is not set | 300 | # CONFIG_IP_NF_CONNTRACK is not set |
278 | CONFIG_IP_NF_PPTP=m | ||
279 | # CONFIG_IP_NF_QUEUE is not set | 301 | # CONFIG_IP_NF_QUEUE is not set |
280 | # CONFIG_IP_NF_IPTABLES is not set | 302 | # CONFIG_IP_NF_IPTABLES is not set |
281 | # CONFIG_IP_NF_ARPTABLES is not set | 303 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -301,6 +323,10 @@ CONFIG_IP_NF_PPTP=m | |||
301 | # CONFIG_NET_DIVERT is not set | 323 | # CONFIG_NET_DIVERT is not set |
302 | # CONFIG_ECONET is not set | 324 | # CONFIG_ECONET is not set |
303 | # CONFIG_WAN_ROUTER is not set | 325 | # CONFIG_WAN_ROUTER is not set |
326 | |||
327 | # | ||
328 | # QoS and/or fair queueing | ||
329 | # | ||
304 | # CONFIG_NET_SCHED is not set | 330 | # CONFIG_NET_SCHED is not set |
305 | # CONFIG_NET_CLS_ROUTE is not set | 331 | # CONFIG_NET_CLS_ROUTE is not set |
306 | 332 | ||
@@ -351,6 +377,7 @@ CONFIG_MTD_BLOCK=y | |||
351 | # CONFIG_FTL is not set | 377 | # CONFIG_FTL is not set |
352 | # CONFIG_NFTL is not set | 378 | # CONFIG_NFTL is not set |
353 | # CONFIG_INFTL is not set | 379 | # CONFIG_INFTL is not set |
380 | # CONFIG_RFD_FTL is not set | ||
354 | 381 | ||
355 | # | 382 | # |
356 | # RAM/ROM/Flash chip drivers | 383 | # RAM/ROM/Flash chip drivers |
@@ -409,6 +436,11 @@ CONFIG_MTD_ALCHEMY=y | |||
409 | # CONFIG_MTD_NAND is not set | 436 | # CONFIG_MTD_NAND is not set |
410 | 437 | ||
411 | # | 438 | # |
439 | # OneNAND Flash Device Drivers | ||
440 | # | ||
441 | # CONFIG_MTD_ONENAND is not set | ||
442 | |||
443 | # | ||
412 | # Parallel port support | 444 | # Parallel port support |
413 | # | 445 | # |
414 | # CONFIG_PARPORT is not set | 446 | # CONFIG_PARPORT is not set |
@@ -431,18 +463,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
431 | # CONFIG_BLK_DEV_SX8 is not set | 463 | # CONFIG_BLK_DEV_SX8 is not set |
432 | # CONFIG_BLK_DEV_RAM is not set | 464 | # CONFIG_BLK_DEV_RAM is not set |
433 | CONFIG_BLK_DEV_RAM_COUNT=16 | 465 | CONFIG_BLK_DEV_RAM_COUNT=16 |
434 | # CONFIG_LBD is not set | ||
435 | CONFIG_CDROM_PKTCDVD=m | 466 | CONFIG_CDROM_PKTCDVD=m |
436 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 467 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
437 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 468 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
438 | |||
439 | # | ||
440 | # IO Schedulers | ||
441 | # | ||
442 | CONFIG_IOSCHED_NOOP=y | ||
443 | CONFIG_IOSCHED_AS=y | ||
444 | CONFIG_IOSCHED_DEADLINE=y | ||
445 | CONFIG_IOSCHED_CFQ=y | ||
446 | CONFIG_ATA_OVER_ETH=m | 469 | CONFIG_ATA_OVER_ETH=m |
447 | 470 | ||
448 | # | 471 | # |
@@ -546,7 +569,6 @@ CONFIG_NETDEVICES=y | |||
546 | # PHY device support | 569 | # PHY device support |
547 | # | 570 | # |
548 | CONFIG_PHYLIB=m | 571 | CONFIG_PHYLIB=m |
549 | CONFIG_PHYCONTROL=y | ||
550 | 572 | ||
551 | # | 573 | # |
552 | # MII PHY device drivers | 574 | # MII PHY device drivers |
@@ -565,7 +587,9 @@ CONFIG_NET_ETHERNET=y | |||
565 | CONFIG_MIPS_AU1X00_ENET=y | 587 | CONFIG_MIPS_AU1X00_ENET=y |
566 | # CONFIG_HAPPYMEAL is not set | 588 | # CONFIG_HAPPYMEAL is not set |
567 | # CONFIG_SUNGEM is not set | 589 | # CONFIG_SUNGEM is not set |
590 | # CONFIG_CASSINI is not set | ||
568 | # CONFIG_NET_VENDOR_3COM is not set | 591 | # CONFIG_NET_VENDOR_3COM is not set |
592 | # CONFIG_SMC91X is not set | ||
569 | 593 | ||
570 | # | 594 | # |
571 | # Tulip family network device support | 595 | # Tulip family network device support |
@@ -627,6 +651,7 @@ CONFIG_PPP_ASYNC=m | |||
627 | # CONFIG_PPP_SYNC_TTY is not set | 651 | # CONFIG_PPP_SYNC_TTY is not set |
628 | CONFIG_PPP_DEFLATE=m | 652 | CONFIG_PPP_DEFLATE=m |
629 | # CONFIG_PPP_BSDCOMP is not set | 653 | # CONFIG_PPP_BSDCOMP is not set |
654 | CONFIG_PPP_MPPE=m | ||
630 | CONFIG_PPPOE=m | 655 | CONFIG_PPPOE=m |
631 | # CONFIG_SLIP is not set | 656 | # CONFIG_SLIP is not set |
632 | # CONFIG_SHAPER is not set | 657 | # CONFIG_SHAPER is not set |
@@ -692,13 +717,17 @@ CONFIG_SERIO_RAW=m | |||
692 | # | 717 | # |
693 | # Serial drivers | 718 | # Serial drivers |
694 | # | 719 | # |
695 | # CONFIG_SERIAL_8250 is not set | 720 | CONFIG_SERIAL_8250=y |
721 | CONFIG_SERIAL_8250_CONSOLE=y | ||
722 | # CONFIG_SERIAL_8250_CS is not set | ||
723 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
724 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
725 | CONFIG_SERIAL_8250_AU1X00=y | ||
696 | 726 | ||
697 | # | 727 | # |
698 | # Non-8250 serial port support | 728 | # Non-8250 serial port support |
699 | # | 729 | # |
700 | CONFIG_SERIAL_AU1X00=y | 730 | # CONFIG_SERIAL_AU1X00 is not set |
701 | CONFIG_SERIAL_AU1X00_CONSOLE=y | ||
702 | CONFIG_SERIAL_CORE=y | 731 | CONFIG_SERIAL_CORE=y |
703 | CONFIG_SERIAL_CORE_CONSOLE=y | 732 | CONFIG_SERIAL_CORE_CONSOLE=y |
704 | # CONFIG_SERIAL_JSM is not set | 733 | # CONFIG_SERIAL_JSM is not set |
@@ -730,12 +759,15 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
730 | # PCMCIA character devices | 759 | # PCMCIA character devices |
731 | # | 760 | # |
732 | CONFIG_SYNCLINK_CS=m | 761 | CONFIG_SYNCLINK_CS=m |
762 | # CONFIG_CARDMAN_4000 is not set | ||
763 | # CONFIG_CARDMAN_4040 is not set | ||
733 | # CONFIG_RAW_DRIVER is not set | 764 | # CONFIG_RAW_DRIVER is not set |
734 | 765 | ||
735 | # | 766 | # |
736 | # TPM devices | 767 | # TPM devices |
737 | # | 768 | # |
738 | # CONFIG_TCG_TPM is not set | 769 | # CONFIG_TCG_TPM is not set |
770 | # CONFIG_TELCLOCK is not set | ||
739 | 771 | ||
740 | # | 772 | # |
741 | # I2C support | 773 | # I2C support |
@@ -789,6 +821,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
789 | # CONFIG_USB is not set | 821 | # CONFIG_USB is not set |
790 | 822 | ||
791 | # | 823 | # |
824 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
825 | # | ||
826 | |||
827 | # | ||
792 | # USB Gadget Support | 828 | # USB Gadget Support |
793 | # | 829 | # |
794 | # CONFIG_USB_GADGET is not set | 830 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig index 555837e4c06f..5820e5f2295e 100644 --- a/arch/mips/configs/pnx8550-jbs_defconfig +++ b/arch/mips/configs/pnx8550-jbs_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:50 2005 | 4 | # Mon Nov 7 23:06:25 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_OBSOLETE_MODPARM=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -179,6 +197,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
179 | CONFIG_FLATMEM=y | 197 | CONFIG_FLATMEM=y |
180 | CONFIG_FLAT_NODE_MEM_MAP=y | 198 | CONFIG_FLAT_NODE_MEM_MAP=y |
181 | # CONFIG_SPARSEMEM_STATIC is not set | 199 | # CONFIG_SPARSEMEM_STATIC is not set |
200 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
182 | CONFIG_PREEMPT_NONE=y | 201 | CONFIG_PREEMPT_NONE=y |
183 | # CONFIG_PREEMPT_VOLUNTARY is not set | 202 | # CONFIG_PREEMPT_VOLUNTARY is not set |
184 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
@@ -265,6 +284,10 @@ CONFIG_TCP_CONG_BIC=y | |||
265 | # CONFIG_NET_DIVERT is not set | 284 | # CONFIG_NET_DIVERT is not set |
266 | # CONFIG_ECONET is not set | 285 | # CONFIG_ECONET is not set |
267 | # CONFIG_WAN_ROUTER is not set | 286 | # CONFIG_WAN_ROUTER is not set |
287 | |||
288 | # | ||
289 | # QoS and/or fair queueing | ||
290 | # | ||
268 | # CONFIG_NET_SCHED is not set | 291 | # CONFIG_NET_SCHED is not set |
269 | # CONFIG_NET_CLS_ROUTE is not set | 292 | # CONFIG_NET_CLS_ROUTE is not set |
270 | 293 | ||
@@ -325,16 +348,7 @@ CONFIG_BLK_DEV_RAM=y | |||
325 | CONFIG_BLK_DEV_RAM_COUNT=16 | 348 | CONFIG_BLK_DEV_RAM_COUNT=16 |
326 | CONFIG_BLK_DEV_RAM_SIZE=8192 | 349 | CONFIG_BLK_DEV_RAM_SIZE=8192 |
327 | CONFIG_BLK_DEV_INITRD=y | 350 | CONFIG_BLK_DEV_INITRD=y |
328 | # CONFIG_LBD is not set | ||
329 | # CONFIG_CDROM_PKTCDVD is not set | 351 | # CONFIG_CDROM_PKTCDVD is not set |
330 | |||
331 | # | ||
332 | # IO Schedulers | ||
333 | # | ||
334 | CONFIG_IOSCHED_NOOP=y | ||
335 | CONFIG_IOSCHED_AS=y | ||
336 | CONFIG_IOSCHED_DEADLINE=y | ||
337 | CONFIG_IOSCHED_CFQ=y | ||
338 | # CONFIG_ATA_OVER_ETH is not set | 352 | # CONFIG_ATA_OVER_ETH is not set |
339 | 353 | ||
340 | # | 354 | # |
@@ -423,12 +437,13 @@ CONFIG_SCSI_CONSTANTS=y | |||
423 | # | 437 | # |
424 | # CONFIG_SCSI_SPI_ATTRS is not set | 438 | # CONFIG_SCSI_SPI_ATTRS is not set |
425 | # CONFIG_SCSI_FC_ATTRS is not set | 439 | # CONFIG_SCSI_FC_ATTRS is not set |
426 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 440 | CONFIG_SCSI_ISCSI_ATTRS=m |
427 | # CONFIG_SCSI_SAS_ATTRS is not set | 441 | # CONFIG_SCSI_SAS_ATTRS is not set |
428 | 442 | ||
429 | # | 443 | # |
430 | # SCSI low-level drivers | 444 | # SCSI low-level drivers |
431 | # | 445 | # |
446 | CONFIG_ISCSI_TCP=m | ||
432 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 447 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
433 | # CONFIG_SCSI_3W_9XXX is not set | 448 | # CONFIG_SCSI_3W_9XXX is not set |
434 | # CONFIG_SCSI_ACARD is not set | 449 | # CONFIG_SCSI_ACARD is not set |
@@ -439,6 +454,7 @@ CONFIG_SCSI_CONSTANTS=y | |||
439 | # CONFIG_SCSI_DPT_I2O is not set | 454 | # CONFIG_SCSI_DPT_I2O is not set |
440 | # CONFIG_MEGARAID_NEWGEN is not set | 455 | # CONFIG_MEGARAID_NEWGEN is not set |
441 | # CONFIG_MEGARAID_LEGACY is not set | 456 | # CONFIG_MEGARAID_LEGACY is not set |
457 | # CONFIG_MEGARAID_SAS is not set | ||
442 | # CONFIG_SCSI_SATA is not set | 458 | # CONFIG_SCSI_SATA is not set |
443 | # CONFIG_SCSI_DMX3191D is not set | 459 | # CONFIG_SCSI_DMX3191D is not set |
444 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 460 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -473,6 +489,7 @@ CONFIG_SCSI_QLA2XXX=y | |||
473 | # CONFIG_FUSION is not set | 489 | # CONFIG_FUSION is not set |
474 | # CONFIG_FUSION_SPI is not set | 490 | # CONFIG_FUSION_SPI is not set |
475 | # CONFIG_FUSION_FC is not set | 491 | # CONFIG_FUSION_FC is not set |
492 | # CONFIG_FUSION_SAS is not set | ||
476 | 493 | ||
477 | # | 494 | # |
478 | # IEEE 1394 (FireWire) support | 495 | # IEEE 1394 (FireWire) support |
@@ -510,6 +527,7 @@ CONFIG_NET_ETHERNET=y | |||
510 | CONFIG_MII=y | 527 | CONFIG_MII=y |
511 | # CONFIG_HAPPYMEAL is not set | 528 | # CONFIG_HAPPYMEAL is not set |
512 | # CONFIG_SUNGEM is not set | 529 | # CONFIG_SUNGEM is not set |
530 | # CONFIG_CASSINI is not set | ||
513 | # CONFIG_NET_VENDOR_3COM is not set | 531 | # CONFIG_NET_VENDOR_3COM is not set |
514 | 532 | ||
515 | # | 533 | # |
@@ -681,6 +699,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
681 | # TPM devices | 699 | # TPM devices |
682 | # | 700 | # |
683 | # CONFIG_TCG_TPM is not set | 701 | # CONFIG_TCG_TPM is not set |
702 | # CONFIG_TELCLOCK is not set | ||
684 | 703 | ||
685 | # | 704 | # |
686 | # I2C support | 705 | # I2C support |
@@ -763,12 +782,15 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
763 | # | 782 | # |
764 | # USB Device Class drivers | 783 | # USB Device Class drivers |
765 | # | 784 | # |
766 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
767 | # CONFIG_USB_ACM is not set | 785 | # CONFIG_USB_ACM is not set |
768 | # CONFIG_USB_PRINTER is not set | 786 | # CONFIG_USB_PRINTER is not set |
769 | 787 | ||
770 | # | 788 | # |
771 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 789 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
790 | # | ||
791 | |||
792 | # | ||
793 | # may also be needed; see USB_STORAGE Help for more information | ||
772 | # | 794 | # |
773 | CONFIG_USB_STORAGE=y | 795 | CONFIG_USB_STORAGE=y |
774 | # CONFIG_USB_STORAGE_DEBUG is not set | 796 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1039,6 +1061,8 @@ CONFIG_DEBUG_SLAB=y | |||
1039 | # CONFIG_DEBUG_KOBJECT is not set | 1061 | # CONFIG_DEBUG_KOBJECT is not set |
1040 | # CONFIG_DEBUG_INFO is not set | 1062 | # CONFIG_DEBUG_INFO is not set |
1041 | # CONFIG_DEBUG_FS is not set | 1063 | # CONFIG_DEBUG_FS is not set |
1064 | # CONFIG_DEBUG_VM is not set | ||
1065 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1042 | CONFIG_CROSSCOMPILE=y | 1066 | CONFIG_CROSSCOMPILE=y |
1043 | CONFIG_CMDLINE="console=ttyS1,38400n8 kgdb=ttyS0 root=/dev/nfs ip=bootp" | 1067 | CONFIG_CMDLINE="console=ttyS1,38400n8 kgdb=ttyS0 root=/dev/nfs ip=bootp" |
1044 | # CONFIG_DEBUG_STACK_USAGE is not set | 1068 | # CONFIG_DEBUG_STACK_USAGE is not set |
@@ -1055,7 +1079,31 @@ CONFIG_CMDLINE="console=ttyS1,38400n8 kgdb=ttyS0 root=/dev/nfs ip=bootp" | |||
1055 | # | 1079 | # |
1056 | # Cryptographic options | 1080 | # Cryptographic options |
1057 | # | 1081 | # |
1058 | # CONFIG_CRYPTO is not set | 1082 | CONFIG_CRYPTO=y |
1083 | # CONFIG_CRYPTO_HMAC is not set | ||
1084 | # CONFIG_CRYPTO_NULL is not set | ||
1085 | # CONFIG_CRYPTO_MD4 is not set | ||
1086 | CONFIG_CRYPTO_MD5=m | ||
1087 | # CONFIG_CRYPTO_SHA1 is not set | ||
1088 | # CONFIG_CRYPTO_SHA256 is not set | ||
1089 | # CONFIG_CRYPTO_SHA512 is not set | ||
1090 | # CONFIG_CRYPTO_WP512 is not set | ||
1091 | # CONFIG_CRYPTO_TGR192 is not set | ||
1092 | # CONFIG_CRYPTO_DES is not set | ||
1093 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1094 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1095 | # CONFIG_CRYPTO_SERPENT is not set | ||
1096 | # CONFIG_CRYPTO_AES is not set | ||
1097 | # CONFIG_CRYPTO_CAST5 is not set | ||
1098 | # CONFIG_CRYPTO_CAST6 is not set | ||
1099 | # CONFIG_CRYPTO_TEA is not set | ||
1100 | # CONFIG_CRYPTO_ARC4 is not set | ||
1101 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1102 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1103 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1104 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1105 | CONFIG_CRYPTO_CRC32C=m | ||
1106 | # CONFIG_CRYPTO_TEST is not set | ||
1059 | 1107 | ||
1060 | # | 1108 | # |
1061 | # Hardware crypto devices | 1109 | # Hardware crypto devices |
@@ -1067,4 +1115,4 @@ CONFIG_CMDLINE="console=ttyS1,38400n8 kgdb=ttyS0 root=/dev/nfs ip=bootp" | |||
1067 | CONFIG_CRC_CCITT=m | 1115 | CONFIG_CRC_CCITT=m |
1068 | # CONFIG_CRC16 is not set | 1116 | # CONFIG_CRC16 is not set |
1069 | CONFIG_CRC32=y | 1117 | CONFIG_CRC32=y |
1070 | # CONFIG_LIBCRC32C is not set | 1118 | CONFIG_LIBCRC32C=m |
diff --git a/arch/mips/configs/pnx8550-v2pci_defconfig b/arch/mips/configs/pnx8550-v2pci_defconfig index 37bd8d5c865d..a4ebb538e15c 100644 --- a/arch/mips/configs/pnx8550-v2pci_defconfig +++ b/arch/mips/configs/pnx8550-v2pci_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:53 2005 | 4 | # Thu Nov 10 14:02:38 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_OBSOLETE_MODPARM=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -180,6 +198,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
180 | CONFIG_FLATMEM=y | 198 | CONFIG_FLATMEM=y |
181 | CONFIG_FLAT_NODE_MEM_MAP=y | 199 | CONFIG_FLAT_NODE_MEM_MAP=y |
182 | # CONFIG_SPARSEMEM_STATIC is not set | 200 | # CONFIG_SPARSEMEM_STATIC is not set |
201 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
183 | CONFIG_PREEMPT_NONE=y | 202 | CONFIG_PREEMPT_NONE=y |
184 | # CONFIG_PREEMPT_VOLUNTARY is not set | 203 | # CONFIG_PREEMPT_VOLUNTARY is not set |
185 | # CONFIG_PREEMPT is not set | 204 | # CONFIG_PREEMPT is not set |
@@ -255,13 +274,17 @@ CONFIG_IPV6=m | |||
255 | # CONFIG_IPV6_TUNNEL is not set | 274 | # CONFIG_IPV6_TUNNEL is not set |
256 | CONFIG_NETFILTER=y | 275 | CONFIG_NETFILTER=y |
257 | # CONFIG_NETFILTER_DEBUG is not set | 276 | # CONFIG_NETFILTER_DEBUG is not set |
277 | |||
278 | # | ||
279 | # Core Netfilter Configuration | ||
280 | # | ||
258 | # CONFIG_NETFILTER_NETLINK is not set | 281 | # CONFIG_NETFILTER_NETLINK is not set |
282 | # CONFIG_NF_CONNTRACK is not set | ||
259 | 283 | ||
260 | # | 284 | # |
261 | # IP: Netfilter Configuration | 285 | # IP: Netfilter Configuration |
262 | # | 286 | # |
263 | # CONFIG_IP_NF_CONNTRACK is not set | 287 | # CONFIG_IP_NF_CONNTRACK is not set |
264 | CONFIG_IP_NF_PPTP=m | ||
265 | # CONFIG_IP_NF_QUEUE is not set | 288 | # CONFIG_IP_NF_QUEUE is not set |
266 | # CONFIG_IP_NF_IPTABLES is not set | 289 | # CONFIG_IP_NF_IPTABLES is not set |
267 | # CONFIG_IP_NF_ARPTABLES is not set | 290 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -293,6 +316,10 @@ CONFIG_IP_NF_PPTP=m | |||
293 | # CONFIG_NET_DIVERT is not set | 316 | # CONFIG_NET_DIVERT is not set |
294 | # CONFIG_ECONET is not set | 317 | # CONFIG_ECONET is not set |
295 | # CONFIG_WAN_ROUTER is not set | 318 | # CONFIG_WAN_ROUTER is not set |
319 | |||
320 | # | ||
321 | # QoS and/or fair queueing | ||
322 | # | ||
296 | # CONFIG_NET_SCHED is not set | 323 | # CONFIG_NET_SCHED is not set |
297 | # CONFIG_NET_CLS_ROUTE is not set | 324 | # CONFIG_NET_CLS_ROUTE is not set |
298 | 325 | ||
@@ -352,16 +379,7 @@ CONFIG_BLK_DEV_RAM=y | |||
352 | CONFIG_BLK_DEV_RAM_COUNT=16 | 379 | CONFIG_BLK_DEV_RAM_COUNT=16 |
353 | CONFIG_BLK_DEV_RAM_SIZE=8192 | 380 | CONFIG_BLK_DEV_RAM_SIZE=8192 |
354 | CONFIG_BLK_DEV_INITRD=y | 381 | CONFIG_BLK_DEV_INITRD=y |
355 | # CONFIG_LBD is not set | ||
356 | # CONFIG_CDROM_PKTCDVD is not set | 382 | # CONFIG_CDROM_PKTCDVD is not set |
357 | |||
358 | # | ||
359 | # IO Schedulers | ||
360 | # | ||
361 | CONFIG_IOSCHED_NOOP=y | ||
362 | CONFIG_IOSCHED_AS=y | ||
363 | CONFIG_IOSCHED_DEADLINE=y | ||
364 | CONFIG_IOSCHED_CFQ=y | ||
365 | # CONFIG_ATA_OVER_ETH is not set | 383 | # CONFIG_ATA_OVER_ETH is not set |
366 | 384 | ||
367 | # | 385 | # |
@@ -451,12 +469,13 @@ CONFIG_BLK_DEV_SD=y | |||
451 | # | 469 | # |
452 | CONFIG_SCSI_SPI_ATTRS=m | 470 | CONFIG_SCSI_SPI_ATTRS=m |
453 | # CONFIG_SCSI_FC_ATTRS is not set | 471 | # CONFIG_SCSI_FC_ATTRS is not set |
454 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 472 | CONFIG_SCSI_ISCSI_ATTRS=m |
455 | # CONFIG_SCSI_SAS_ATTRS is not set | 473 | # CONFIG_SCSI_SAS_ATTRS is not set |
456 | 474 | ||
457 | # | 475 | # |
458 | # SCSI low-level drivers | 476 | # SCSI low-level drivers |
459 | # | 477 | # |
478 | CONFIG_ISCSI_TCP=m | ||
460 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 479 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
461 | # CONFIG_SCSI_3W_9XXX is not set | 480 | # CONFIG_SCSI_3W_9XXX is not set |
462 | # CONFIG_SCSI_ACARD is not set | 481 | # CONFIG_SCSI_ACARD is not set |
@@ -472,6 +491,7 @@ CONFIG_AIC7XXX_DEBUG_MASK=0 | |||
472 | # CONFIG_SCSI_DPT_I2O is not set | 491 | # CONFIG_SCSI_DPT_I2O is not set |
473 | # CONFIG_MEGARAID_NEWGEN is not set | 492 | # CONFIG_MEGARAID_NEWGEN is not set |
474 | # CONFIG_MEGARAID_LEGACY is not set | 493 | # CONFIG_MEGARAID_LEGACY is not set |
494 | # CONFIG_MEGARAID_SAS is not set | ||
475 | # CONFIG_SCSI_SATA is not set | 495 | # CONFIG_SCSI_SATA is not set |
476 | # CONFIG_SCSI_DMX3191D is not set | 496 | # CONFIG_SCSI_DMX3191D is not set |
477 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 497 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -506,6 +526,7 @@ CONFIG_SCSI_QLA2XXX=y | |||
506 | # CONFIG_FUSION is not set | 526 | # CONFIG_FUSION is not set |
507 | # CONFIG_FUSION_SPI is not set | 527 | # CONFIG_FUSION_SPI is not set |
508 | # CONFIG_FUSION_FC is not set | 528 | # CONFIG_FUSION_FC is not set |
529 | # CONFIG_FUSION_SAS is not set | ||
509 | 530 | ||
510 | # | 531 | # |
511 | # IEEE 1394 (FireWire) support | 532 | # IEEE 1394 (FireWire) support |
@@ -543,6 +564,7 @@ CONFIG_NET_ETHERNET=y | |||
543 | CONFIG_MII=y | 564 | CONFIG_MII=y |
544 | # CONFIG_HAPPYMEAL is not set | 565 | # CONFIG_HAPPYMEAL is not set |
545 | # CONFIG_SUNGEM is not set | 566 | # CONFIG_SUNGEM is not set |
567 | # CONFIG_CASSINI is not set | ||
546 | # CONFIG_NET_VENDOR_3COM is not set | 568 | # CONFIG_NET_VENDOR_3COM is not set |
547 | 569 | ||
548 | # | 570 | # |
@@ -622,6 +644,7 @@ CONFIG_PPP_ASYNC=m | |||
622 | CONFIG_PPP_SYNC_TTY=m | 644 | CONFIG_PPP_SYNC_TTY=m |
623 | CONFIG_PPP_DEFLATE=m | 645 | CONFIG_PPP_DEFLATE=m |
624 | # CONFIG_PPP_BSDCOMP is not set | 646 | # CONFIG_PPP_BSDCOMP is not set |
647 | CONFIG_PPP_MPPE=m | ||
625 | # CONFIG_PPPOE is not set | 648 | # CONFIG_PPPOE is not set |
626 | # CONFIG_SLIP is not set | 649 | # CONFIG_SLIP is not set |
627 | # CONFIG_NET_FC is not set | 650 | # CONFIG_NET_FC is not set |
@@ -746,6 +769,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
746 | # TPM devices | 769 | # TPM devices |
747 | # | 770 | # |
748 | # CONFIG_TCG_TPM is not set | 771 | # CONFIG_TCG_TPM is not set |
772 | # CONFIG_TELCLOCK is not set | ||
749 | 773 | ||
750 | # | 774 | # |
751 | # I2C support | 775 | # I2C support |
@@ -796,6 +820,7 @@ CONFIG_I2C_ALGOBIT=m | |||
796 | # CONFIG_SENSORS_PCF8591 is not set | 820 | # CONFIG_SENSORS_PCF8591 is not set |
797 | # CONFIG_SENSORS_RTC8564 is not set | 821 | # CONFIG_SENSORS_RTC8564 is not set |
798 | # CONFIG_SENSORS_MAX6875 is not set | 822 | # CONFIG_SENSORS_MAX6875 is not set |
823 | # CONFIG_RTC_X1205_I2C is not set | ||
799 | # CONFIG_I2C_DEBUG_CORE is not set | 824 | # CONFIG_I2C_DEBUG_CORE is not set |
800 | # CONFIG_I2C_DEBUG_ALGO is not set | 825 | # CONFIG_I2C_DEBUG_ALGO is not set |
801 | # CONFIG_I2C_DEBUG_BUS is not set | 826 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -872,7 +897,6 @@ CONFIG_FB=y | |||
872 | # CONFIG_FB_CFB_FILLRECT is not set | 897 | # CONFIG_FB_CFB_FILLRECT is not set |
873 | # CONFIG_FB_CFB_COPYAREA is not set | 898 | # CONFIG_FB_CFB_COPYAREA is not set |
874 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 899 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
875 | # CONFIG_FB_SOFT_CURSOR is not set | ||
876 | # CONFIG_FB_MACMODES is not set | 900 | # CONFIG_FB_MACMODES is not set |
877 | # CONFIG_FB_MODE_HELPERS is not set | 901 | # CONFIG_FB_MODE_HELPERS is not set |
878 | # CONFIG_FB_TILEBLITTING is not set | 902 | # CONFIG_FB_TILEBLITTING is not set |
@@ -881,6 +905,7 @@ CONFIG_FB=y | |||
881 | # CONFIG_FB_CYBER2000 is not set | 905 | # CONFIG_FB_CYBER2000 is not set |
882 | # CONFIG_FB_ASILIANT is not set | 906 | # CONFIG_FB_ASILIANT is not set |
883 | # CONFIG_FB_IMSTT is not set | 907 | # CONFIG_FB_IMSTT is not set |
908 | # CONFIG_FB_S1D13XXX is not set | ||
884 | # CONFIG_FB_NVIDIA is not set | 909 | # CONFIG_FB_NVIDIA is not set |
885 | # CONFIG_FB_RIVA is not set | 910 | # CONFIG_FB_RIVA is not set |
886 | # CONFIG_FB_MATROX is not set | 911 | # CONFIG_FB_MATROX is not set |
@@ -897,7 +922,6 @@ CONFIG_FB=y | |||
897 | # CONFIG_FB_SMIVGX is not set | 922 | # CONFIG_FB_SMIVGX is not set |
898 | # CONFIG_FB_CYBLA is not set | 923 | # CONFIG_FB_CYBLA is not set |
899 | # CONFIG_FB_TRIDENT is not set | 924 | # CONFIG_FB_TRIDENT is not set |
900 | # CONFIG_FB_S1D13XXX is not set | ||
901 | # CONFIG_FB_VIRTUAL is not set | 925 | # CONFIG_FB_VIRTUAL is not set |
902 | 926 | ||
903 | # | 927 | # |
@@ -946,12 +970,15 @@ CONFIG_USB_DEVICEFS=y | |||
946 | # | 970 | # |
947 | # USB Device Class drivers | 971 | # USB Device Class drivers |
948 | # | 972 | # |
949 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
950 | # CONFIG_USB_ACM is not set | 973 | # CONFIG_USB_ACM is not set |
951 | # CONFIG_USB_PRINTER is not set | 974 | # CONFIG_USB_PRINTER is not set |
952 | 975 | ||
953 | # | 976 | # |
954 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 977 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
978 | # | ||
979 | |||
980 | # | ||
981 | # may also be needed; see USB_STORAGE Help for more information | ||
955 | # | 982 | # |
956 | CONFIG_USB_STORAGE=y | 983 | CONFIG_USB_STORAGE=y |
957 | # CONFIG_USB_STORAGE_DEBUG is not set | 984 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1235,7 +1262,31 @@ CONFIG_CMDLINE="" | |||
1235 | # | 1262 | # |
1236 | # Cryptographic options | 1263 | # Cryptographic options |
1237 | # | 1264 | # |
1238 | # CONFIG_CRYPTO is not set | 1265 | CONFIG_CRYPTO=y |
1266 | # CONFIG_CRYPTO_HMAC is not set | ||
1267 | # CONFIG_CRYPTO_NULL is not set | ||
1268 | # CONFIG_CRYPTO_MD4 is not set | ||
1269 | CONFIG_CRYPTO_MD5=m | ||
1270 | CONFIG_CRYPTO_SHA1=m | ||
1271 | # CONFIG_CRYPTO_SHA256 is not set | ||
1272 | # CONFIG_CRYPTO_SHA512 is not set | ||
1273 | # CONFIG_CRYPTO_WP512 is not set | ||
1274 | # CONFIG_CRYPTO_TGR192 is not set | ||
1275 | # CONFIG_CRYPTO_DES is not set | ||
1276 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1277 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1278 | # CONFIG_CRYPTO_SERPENT is not set | ||
1279 | # CONFIG_CRYPTO_AES is not set | ||
1280 | # CONFIG_CRYPTO_CAST5 is not set | ||
1281 | # CONFIG_CRYPTO_CAST6 is not set | ||
1282 | # CONFIG_CRYPTO_TEA is not set | ||
1283 | CONFIG_CRYPTO_ARC4=m | ||
1284 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1285 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1286 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1287 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1288 | CONFIG_CRYPTO_CRC32C=m | ||
1289 | # CONFIG_CRYPTO_TEST is not set | ||
1239 | 1290 | ||
1240 | # | 1291 | # |
1241 | # Hardware crypto devices | 1292 | # Hardware crypto devices |
@@ -1247,6 +1298,6 @@ CONFIG_CMDLINE="" | |||
1247 | CONFIG_CRC_CCITT=m | 1298 | CONFIG_CRC_CCITT=m |
1248 | # CONFIG_CRC16 is not set | 1299 | # CONFIG_CRC16 is not set |
1249 | CONFIG_CRC32=y | 1300 | CONFIG_CRC32=y |
1250 | # CONFIG_LIBCRC32C is not set | 1301 | CONFIG_LIBCRC32C=m |
1251 | CONFIG_ZLIB_INFLATE=y | 1302 | CONFIG_ZLIB_INFLATE=y |
1252 | CONFIG_ZLIB_DEFLATE=m | 1303 | CONFIG_ZLIB_DEFLATE=m |
diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig index 741a9a971367..5d39162077f4 100644 --- a/arch/mips/configs/qemu_defconfig +++ b/arch/mips/configs/qemu_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:56 2005 | 4 | # Mon Nov 7 23:06:31 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -50,6 +50,24 @@ CONFIG_BASE_SMALL=1 | |||
50 | # CONFIG_MODULES is not set | 50 | # CONFIG_MODULES is not set |
51 | 51 | ||
52 | # | 52 | # |
53 | # Block layer | ||
54 | # | ||
55 | # CONFIG_LBD is not set | ||
56 | |||
57 | # | ||
58 | # IO Schedulers | ||
59 | # | ||
60 | CONFIG_IOSCHED_NOOP=y | ||
61 | # CONFIG_IOSCHED_AS is not set | ||
62 | # CONFIG_IOSCHED_DEADLINE is not set | ||
63 | # CONFIG_IOSCHED_CFQ is not set | ||
64 | # CONFIG_DEFAULT_AS is not set | ||
65 | # CONFIG_DEFAULT_DEADLINE is not set | ||
66 | # CONFIG_DEFAULT_CFQ is not set | ||
67 | CONFIG_DEFAULT_NOOP=y | ||
68 | CONFIG_DEFAULT_IOSCHED="noop" | ||
69 | |||
70 | # | ||
53 | # Machine selection | 71 | # Machine selection |
54 | # | 72 | # |
55 | # CONFIG_MIPS_MTX1 is not set | 73 | # CONFIG_MIPS_MTX1 is not set |
@@ -168,6 +186,7 @@ CONFIG_ARCH_FLATMEM_ENABLE=y | |||
168 | CONFIG_FLATMEM=y | 186 | CONFIG_FLATMEM=y |
169 | CONFIG_FLAT_NODE_MEM_MAP=y | 187 | CONFIG_FLAT_NODE_MEM_MAP=y |
170 | # CONFIG_SPARSEMEM_STATIC is not set | 188 | # CONFIG_SPARSEMEM_STATIC is not set |
189 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
171 | CONFIG_PREEMPT_NONE=y | 190 | CONFIG_PREEMPT_NONE=y |
172 | # CONFIG_PREEMPT_VOLUNTARY is not set | 191 | # CONFIG_PREEMPT_VOLUNTARY is not set |
173 | # CONFIG_PREEMPT is not set | 192 | # CONFIG_PREEMPT is not set |
@@ -234,6 +253,10 @@ CONFIG_TCP_CONG_BIC=y | |||
234 | # CONFIG_LLC2 is not set | 253 | # CONFIG_LLC2 is not set |
235 | # CONFIG_IPX is not set | 254 | # CONFIG_IPX is not set |
236 | # CONFIG_ATALK is not set | 255 | # CONFIG_ATALK is not set |
256 | |||
257 | # | ||
258 | # QoS and/or fair queueing | ||
259 | # | ||
237 | # CONFIG_NET_SCHED is not set | 260 | # CONFIG_NET_SCHED is not set |
238 | # CONFIG_NET_CLS_ROUTE is not set | 261 | # CONFIG_NET_CLS_ROUTE is not set |
239 | 262 | ||
@@ -265,6 +288,7 @@ CONFIG_STANDALONE=y | |||
265 | # Connector - unified userspace <-> kernelspace linker | 288 | # Connector - unified userspace <-> kernelspace linker |
266 | # | 289 | # |
267 | CONFIG_CONNECTOR=y | 290 | CONFIG_CONNECTOR=y |
291 | CONFIG_PROC_EVENTS=y | ||
268 | 292 | ||
269 | # | 293 | # |
270 | # Memory Technology Devices (MTD) | 294 | # Memory Technology Devices (MTD) |
@@ -289,16 +313,7 @@ CONFIG_CONNECTOR=y | |||
289 | # CONFIG_BLK_DEV_NBD is not set | 313 | # CONFIG_BLK_DEV_NBD is not set |
290 | # CONFIG_BLK_DEV_RAM is not set | 314 | # CONFIG_BLK_DEV_RAM is not set |
291 | CONFIG_BLK_DEV_RAM_COUNT=16 | 315 | CONFIG_BLK_DEV_RAM_COUNT=16 |
292 | # CONFIG_LBD is not set | ||
293 | # CONFIG_CDROM_PKTCDVD is not set | 316 | # CONFIG_CDROM_PKTCDVD is not set |
294 | |||
295 | # | ||
296 | # IO Schedulers | ||
297 | # | ||
298 | CONFIG_IOSCHED_NOOP=y | ||
299 | # CONFIG_IOSCHED_AS is not set | ||
300 | # CONFIG_IOSCHED_DEADLINE is not set | ||
301 | # CONFIG_IOSCHED_CFQ is not set | ||
302 | # CONFIG_ATA_OVER_ETH is not set | 317 | # CONFIG_ATA_OVER_ETH is not set |
303 | 318 | ||
304 | # | 319 | # |
@@ -353,7 +368,6 @@ CONFIG_NETDEVICES=y | |||
353 | # PHY device support | 368 | # PHY device support |
354 | # | 369 | # |
355 | CONFIG_PHYLIB=y | 370 | CONFIG_PHYLIB=y |
356 | CONFIG_PHYCONTROL=y | ||
357 | 371 | ||
358 | # | 372 | # |
359 | # MII PHY device drivers | 373 | # MII PHY device drivers |
@@ -385,7 +399,6 @@ CONFIG_NET_ISA=y | |||
385 | # CONFIG_ETH16I is not set | 399 | # CONFIG_ETH16I is not set |
386 | CONFIG_NE2000=y | 400 | CONFIG_NE2000=y |
387 | # CONFIG_NET_PCI is not set | 401 | # CONFIG_NET_PCI is not set |
388 | # CONFIG_NET_POCKET is not set | ||
389 | 402 | ||
390 | # | 403 | # |
391 | # Ethernet (1000 Mbit) | 404 | # Ethernet (1000 Mbit) |
@@ -558,6 +571,10 @@ CONFIG_DUMMY_CONSOLE=y | |||
558 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 571 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
559 | 572 | ||
560 | # | 573 | # |
574 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
575 | # | ||
576 | |||
577 | # | ||
561 | # USB Gadget Support | 578 | # USB Gadget Support |
562 | # | 579 | # |
563 | # CONFIG_USB_GADGET is not set | 580 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/rbhma4500_defconfig b/arch/mips/configs/rbhma4500_defconfig index 897420d39053..047e0b4236f8 100644 --- a/arch/mips/configs/rbhma4500_defconfig +++ b/arch/mips/configs/rbhma4500_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:26:59 2005 | 4 | # Thu Nov 10 14:02:45 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_OBSOLETE_MODPARM=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -188,6 +206,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
188 | CONFIG_FLATMEM=y | 206 | CONFIG_FLATMEM=y |
189 | CONFIG_FLAT_NODE_MEM_MAP=y | 207 | CONFIG_FLAT_NODE_MEM_MAP=y |
190 | # CONFIG_SPARSEMEM_STATIC is not set | 208 | # CONFIG_SPARSEMEM_STATIC is not set |
209 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
191 | CONFIG_PREEMPT_NONE=y | 210 | CONFIG_PREEMPT_NONE=y |
192 | # CONFIG_PREEMPT_VOLUNTARY is not set | 211 | # CONFIG_PREEMPT_VOLUNTARY is not set |
193 | # CONFIG_PREEMPT is not set | 212 | # CONFIG_PREEMPT is not set |
@@ -265,15 +284,19 @@ CONFIG_IPV6=m | |||
265 | # CONFIG_IPV6_TUNNEL is not set | 284 | # CONFIG_IPV6_TUNNEL is not set |
266 | CONFIG_NETFILTER=y | 285 | CONFIG_NETFILTER=y |
267 | # CONFIG_NETFILTER_DEBUG is not set | 286 | # CONFIG_NETFILTER_DEBUG is not set |
287 | |||
288 | # | ||
289 | # Core Netfilter Configuration | ||
290 | # | ||
268 | CONFIG_NETFILTER_NETLINK=m | 291 | CONFIG_NETFILTER_NETLINK=m |
269 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 292 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
270 | CONFIG_NETFILTER_NETLINK_LOG=m | 293 | CONFIG_NETFILTER_NETLINK_LOG=m |
294 | # CONFIG_NF_CONNTRACK is not set | ||
271 | 295 | ||
272 | # | 296 | # |
273 | # IP: Netfilter Configuration | 297 | # IP: Netfilter Configuration |
274 | # | 298 | # |
275 | # CONFIG_IP_NF_CONNTRACK is not set | 299 | # CONFIG_IP_NF_CONNTRACK is not set |
276 | CONFIG_IP_NF_PPTP=m | ||
277 | # CONFIG_IP_NF_QUEUE is not set | 300 | # CONFIG_IP_NF_QUEUE is not set |
278 | # CONFIG_IP_NF_IPTABLES is not set | 301 | # CONFIG_IP_NF_IPTABLES is not set |
279 | # CONFIG_IP_NF_ARPTABLES is not set | 302 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -305,6 +328,10 @@ CONFIG_IP_NF_PPTP=m | |||
305 | # CONFIG_NET_DIVERT is not set | 328 | # CONFIG_NET_DIVERT is not set |
306 | # CONFIG_ECONET is not set | 329 | # CONFIG_ECONET is not set |
307 | # CONFIG_WAN_ROUTER is not set | 330 | # CONFIG_WAN_ROUTER is not set |
331 | |||
332 | # | ||
333 | # QoS and/or fair queueing | ||
334 | # | ||
308 | # CONFIG_NET_SCHED is not set | 335 | # CONFIG_NET_SCHED is not set |
309 | # CONFIG_NET_CLS_ROUTE is not set | 336 | # CONFIG_NET_CLS_ROUTE is not set |
310 | 337 | ||
@@ -355,6 +382,7 @@ CONFIG_MTD_BLOCK=y | |||
355 | # CONFIG_FTL is not set | 382 | # CONFIG_FTL is not set |
356 | # CONFIG_NFTL is not set | 383 | # CONFIG_NFTL is not set |
357 | # CONFIG_INFTL is not set | 384 | # CONFIG_INFTL is not set |
385 | # CONFIG_RFD_FTL is not set | ||
358 | 386 | ||
359 | # | 387 | # |
360 | # RAM/ROM/Flash chip drivers | 388 | # RAM/ROM/Flash chip drivers |
@@ -412,6 +440,11 @@ CONFIG_MTD_CFI_UTIL=y | |||
412 | # CONFIG_MTD_NAND is not set | 440 | # CONFIG_MTD_NAND is not set |
413 | 441 | ||
414 | # | 442 | # |
443 | # OneNAND Flash Device Drivers | ||
444 | # | ||
445 | # CONFIG_MTD_ONENAND is not set | ||
446 | |||
447 | # | ||
415 | # Parallel port support | 448 | # Parallel port support |
416 | # | 449 | # |
417 | # CONFIG_PARPORT is not set | 450 | # CONFIG_PARPORT is not set |
@@ -438,16 +471,7 @@ CONFIG_BLK_DEV_RAM=y | |||
438 | CONFIG_BLK_DEV_RAM_COUNT=16 | 471 | CONFIG_BLK_DEV_RAM_COUNT=16 |
439 | CONFIG_BLK_DEV_RAM_SIZE=8192 | 472 | CONFIG_BLK_DEV_RAM_SIZE=8192 |
440 | CONFIG_BLK_DEV_INITRD=y | 473 | CONFIG_BLK_DEV_INITRD=y |
441 | # CONFIG_LBD is not set | ||
442 | # CONFIG_CDROM_PKTCDVD is not set | 474 | # CONFIG_CDROM_PKTCDVD is not set |
443 | |||
444 | # | ||
445 | # IO Schedulers | ||
446 | # | ||
447 | CONFIG_IOSCHED_NOOP=y | ||
448 | CONFIG_IOSCHED_AS=y | ||
449 | CONFIG_IOSCHED_DEADLINE=y | ||
450 | CONFIG_IOSCHED_CFQ=y | ||
451 | # CONFIG_ATA_OVER_ETH is not set | 475 | # CONFIG_ATA_OVER_ETH is not set |
452 | 476 | ||
453 | # | 477 | # |
@@ -556,7 +580,6 @@ CONFIG_TUN=m | |||
556 | # PHY device support | 580 | # PHY device support |
557 | # | 581 | # |
558 | CONFIG_PHYLIB=m | 582 | CONFIG_PHYLIB=m |
559 | CONFIG_PHYCONTROL=y | ||
560 | 583 | ||
561 | # | 584 | # |
562 | # MII PHY device drivers | 585 | # MII PHY device drivers |
@@ -574,6 +597,7 @@ CONFIG_NET_ETHERNET=y | |||
574 | # CONFIG_MII is not set | 597 | # CONFIG_MII is not set |
575 | # CONFIG_HAPPYMEAL is not set | 598 | # CONFIG_HAPPYMEAL is not set |
576 | # CONFIG_SUNGEM is not set | 599 | # CONFIG_SUNGEM is not set |
600 | # CONFIG_CASSINI is not set | ||
577 | # CONFIG_NET_VENDOR_3COM is not set | 601 | # CONFIG_NET_VENDOR_3COM is not set |
578 | # CONFIG_NET_VENDOR_SMC is not set | 602 | # CONFIG_NET_VENDOR_SMC is not set |
579 | # CONFIG_NET_VENDOR_RACAL is not set | 603 | # CONFIG_NET_VENDOR_RACAL is not set |
@@ -619,7 +643,6 @@ CONFIG_NET_PCI=y | |||
619 | # CONFIG_TLAN is not set | 643 | # CONFIG_TLAN is not set |
620 | # CONFIG_VIA_RHINE is not set | 644 | # CONFIG_VIA_RHINE is not set |
621 | # CONFIG_LAN_SAA9730 is not set | 645 | # CONFIG_LAN_SAA9730 is not set |
622 | # CONFIG_NET_POCKET is not set | ||
623 | 646 | ||
624 | # | 647 | # |
625 | # Ethernet (1000 Mbit) | 648 | # Ethernet (1000 Mbit) |
@@ -668,7 +691,6 @@ CONFIG_NET_RADIO=y | |||
668 | # CONFIG_IPW2100 is not set | 691 | # CONFIG_IPW2100 is not set |
669 | # CONFIG_IPW_DEBUG is not set | 692 | # CONFIG_IPW_DEBUG is not set |
670 | CONFIG_IPW2200=m | 693 | CONFIG_IPW2200=m |
671 | # CONFIG_AIRO is not set | ||
672 | # CONFIG_HERMES is not set | 694 | # CONFIG_HERMES is not set |
673 | # CONFIG_ATMEL is not set | 695 | # CONFIG_ATMEL is not set |
674 | 696 | ||
@@ -692,6 +714,7 @@ CONFIG_PPP_ASYNC=m | |||
692 | CONFIG_PPP_SYNC_TTY=m | 714 | CONFIG_PPP_SYNC_TTY=m |
693 | CONFIG_PPP_DEFLATE=m | 715 | CONFIG_PPP_DEFLATE=m |
694 | # CONFIG_PPP_BSDCOMP is not set | 716 | # CONFIG_PPP_BSDCOMP is not set |
717 | CONFIG_PPP_MPPE=m | ||
695 | CONFIG_PPPOE=m | 718 | CONFIG_PPPOE=m |
696 | # CONFIG_SLIP is not set | 719 | # CONFIG_SLIP is not set |
697 | # CONFIG_SHAPER is not set | 720 | # CONFIG_SHAPER is not set |
@@ -804,6 +827,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
804 | # TPM devices | 827 | # TPM devices |
805 | # | 828 | # |
806 | # CONFIG_TCG_TPM is not set | 829 | # CONFIG_TCG_TPM is not set |
830 | # CONFIG_TELCLOCK is not set | ||
807 | 831 | ||
808 | # | 832 | # |
809 | # I2C support | 833 | # I2C support |
@@ -847,7 +871,6 @@ CONFIG_FB=y | |||
847 | CONFIG_FB_CFB_FILLRECT=y | 871 | CONFIG_FB_CFB_FILLRECT=y |
848 | CONFIG_FB_CFB_COPYAREA=y | 872 | CONFIG_FB_CFB_COPYAREA=y |
849 | CONFIG_FB_CFB_IMAGEBLIT=y | 873 | CONFIG_FB_CFB_IMAGEBLIT=y |
850 | CONFIG_FB_SOFT_CURSOR=y | ||
851 | # CONFIG_FB_MACMODES is not set | 874 | # CONFIG_FB_MACMODES is not set |
852 | # CONFIG_FB_MODE_HELPERS is not set | 875 | # CONFIG_FB_MODE_HELPERS is not set |
853 | # CONFIG_FB_TILEBLITTING is not set | 876 | # CONFIG_FB_TILEBLITTING is not set |
@@ -856,6 +879,7 @@ CONFIG_FB_SOFT_CURSOR=y | |||
856 | # CONFIG_FB_CYBER2000 is not set | 879 | # CONFIG_FB_CYBER2000 is not set |
857 | # CONFIG_FB_ASILIANT is not set | 880 | # CONFIG_FB_ASILIANT is not set |
858 | # CONFIG_FB_IMSTT is not set | 881 | # CONFIG_FB_IMSTT is not set |
882 | # CONFIG_FB_S1D13XXX is not set | ||
859 | # CONFIG_FB_NVIDIA is not set | 883 | # CONFIG_FB_NVIDIA is not set |
860 | # CONFIG_FB_RIVA is not set | 884 | # CONFIG_FB_RIVA is not set |
861 | # CONFIG_FB_MATROX is not set | 885 | # CONFIG_FB_MATROX is not set |
@@ -876,7 +900,6 @@ CONFIG_FB_ATY_CT=y | |||
876 | # CONFIG_FB_SMIVGX is not set | 900 | # CONFIG_FB_SMIVGX is not set |
877 | # CONFIG_FB_CYBLA is not set | 901 | # CONFIG_FB_CYBLA is not set |
878 | # CONFIG_FB_TRIDENT is not set | 902 | # CONFIG_FB_TRIDENT is not set |
879 | # CONFIG_FB_S1D13XXX is not set | ||
880 | # CONFIG_FB_VIRTUAL is not set | 903 | # CONFIG_FB_VIRTUAL is not set |
881 | 904 | ||
882 | # | 905 | # |
@@ -926,12 +949,15 @@ CONFIG_USB=y | |||
926 | # | 949 | # |
927 | # USB Device Class drivers | 950 | # USB Device Class drivers |
928 | # | 951 | # |
929 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
930 | # CONFIG_USB_ACM is not set | 952 | # CONFIG_USB_ACM is not set |
931 | # CONFIG_USB_PRINTER is not set | 953 | # CONFIG_USB_PRINTER is not set |
932 | 954 | ||
933 | # | 955 | # |
934 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 956 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
957 | # | ||
958 | |||
959 | # | ||
960 | # may also be needed; see USB_STORAGE Help for more information | ||
935 | # | 961 | # |
936 | # CONFIG_USB_STORAGE is not set | 962 | # CONFIG_USB_STORAGE is not set |
937 | 963 | ||
@@ -1106,6 +1132,7 @@ CONFIG_RELAYFS_FS=m | |||
1106 | CONFIG_JFFS2_FS=y | 1132 | CONFIG_JFFS2_FS=y |
1107 | CONFIG_JFFS2_FS_DEBUG=0 | 1133 | CONFIG_JFFS2_FS_DEBUG=0 |
1108 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1134 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1135 | # CONFIG_JFFS2_SUMMARY is not set | ||
1109 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 1136 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
1110 | CONFIG_JFFS2_ZLIB=y | 1137 | CONFIG_JFFS2_ZLIB=y |
1111 | CONFIG_JFFS2_RTIME=y | 1138 | CONFIG_JFFS2_RTIME=y |
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig index 988a05824f01..55458062352e 100644 --- a/arch/mips/configs/rm200_defconfig +++ b/arch/mips/configs/rm200_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:27:03 2005 | 4 | # Thu Nov 10 14:02:50 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -59,6 +59,24 @@ CONFIG_MODVERSIONS=y | |||
59 | CONFIG_KMOD=y | 59 | CONFIG_KMOD=y |
60 | 60 | ||
61 | # | 61 | # |
62 | # Block layer | ||
63 | # | ||
64 | # CONFIG_LBD is not set | ||
65 | |||
66 | # | ||
67 | # IO Schedulers | ||
68 | # | ||
69 | CONFIG_IOSCHED_NOOP=y | ||
70 | CONFIG_IOSCHED_AS=y | ||
71 | CONFIG_IOSCHED_DEADLINE=y | ||
72 | CONFIG_IOSCHED_CFQ=y | ||
73 | CONFIG_DEFAULT_AS=y | ||
74 | # CONFIG_DEFAULT_DEADLINE is not set | ||
75 | # CONFIG_DEFAULT_CFQ is not set | ||
76 | # CONFIG_DEFAULT_NOOP is not set | ||
77 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
78 | |||
79 | # | ||
62 | # Machine selection | 80 | # Machine selection |
63 | # | 81 | # |
64 | # CONFIG_MIPS_MTX1 is not set | 82 | # CONFIG_MIPS_MTX1 is not set |
@@ -190,6 +208,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
190 | CONFIG_FLATMEM=y | 208 | CONFIG_FLATMEM=y |
191 | CONFIG_FLAT_NODE_MEM_MAP=y | 209 | CONFIG_FLAT_NODE_MEM_MAP=y |
192 | # CONFIG_SPARSEMEM_STATIC is not set | 210 | # CONFIG_SPARSEMEM_STATIC is not set |
211 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
193 | # CONFIG_PREEMPT_NONE is not set | 212 | # CONFIG_PREEMPT_NONE is not set |
194 | CONFIG_PREEMPT_VOLUNTARY=y | 213 | CONFIG_PREEMPT_VOLUNTARY=y |
195 | # CONFIG_PREEMPT is not set | 214 | # CONFIG_PREEMPT is not set |
@@ -272,6 +291,10 @@ CONFIG_IPV6_TUNNEL=m | |||
272 | CONFIG_NETFILTER=y | 291 | CONFIG_NETFILTER=y |
273 | # CONFIG_NETFILTER_DEBUG is not set | 292 | # CONFIG_NETFILTER_DEBUG is not set |
274 | CONFIG_BRIDGE_NETFILTER=y | 293 | CONFIG_BRIDGE_NETFILTER=y |
294 | |||
295 | # | ||
296 | # Core Netfilter Configuration | ||
297 | # | ||
275 | CONFIG_NETFILTER_NETLINK=m | 298 | CONFIG_NETFILTER_NETLINK=m |
276 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 299 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
277 | CONFIG_NETFILTER_NETLINK_LOG=m | 300 | CONFIG_NETFILTER_NETLINK_LOG=m |
@@ -325,6 +348,7 @@ CONFIG_IP_NF_TARGET_REJECT=m | |||
325 | CONFIG_IP_NF_TARGET_LOG=m | 348 | CONFIG_IP_NF_TARGET_LOG=m |
326 | CONFIG_IP_NF_TARGET_ULOG=m | 349 | CONFIG_IP_NF_TARGET_ULOG=m |
327 | CONFIG_IP_NF_TARGET_TCPMSS=m | 350 | CONFIG_IP_NF_TARGET_TCPMSS=m |
351 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
328 | CONFIG_IP_NF_NAT=m | 352 | CONFIG_IP_NF_NAT=m |
329 | CONFIG_IP_NF_NAT_NEEDED=y | 353 | CONFIG_IP_NF_NAT_NEEDED=y |
330 | CONFIG_IP_NF_TARGET_MASQUERADE=m | 354 | CONFIG_IP_NF_TARGET_MASQUERADE=m |
@@ -374,6 +398,7 @@ CONFIG_IP6_NF_MATCH_PHYSDEV=m | |||
374 | CONFIG_IP6_NF_FILTER=m | 398 | CONFIG_IP6_NF_FILTER=m |
375 | CONFIG_IP6_NF_TARGET_LOG=m | 399 | CONFIG_IP6_NF_TARGET_LOG=m |
376 | CONFIG_IP6_NF_TARGET_REJECT=m | 400 | CONFIG_IP6_NF_TARGET_REJECT=m |
401 | CONFIG_IP6_NF_TARGET_NFQUEUE=m | ||
377 | CONFIG_IP6_NF_MANGLE=m | 402 | CONFIG_IP6_NF_MANGLE=m |
378 | CONFIG_IP6_NF_TARGET_MARK=m | 403 | CONFIG_IP6_NF_TARGET_MARK=m |
379 | CONFIG_IP6_NF_TARGET_HL=m | 404 | CONFIG_IP6_NF_TARGET_HL=m |
@@ -430,10 +455,18 @@ CONFIG_DECNET=m | |||
430 | # CONFIG_NET_DIVERT is not set | 455 | # CONFIG_NET_DIVERT is not set |
431 | # CONFIG_ECONET is not set | 456 | # CONFIG_ECONET is not set |
432 | # CONFIG_WAN_ROUTER is not set | 457 | # CONFIG_WAN_ROUTER is not set |
458 | |||
459 | # | ||
460 | # QoS and/or fair queueing | ||
461 | # | ||
433 | CONFIG_NET_SCHED=y | 462 | CONFIG_NET_SCHED=y |
434 | CONFIG_NET_SCH_CLK_JIFFIES=y | 463 | CONFIG_NET_SCH_CLK_JIFFIES=y |
435 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set | 464 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set |
436 | # CONFIG_NET_SCH_CLK_CPU is not set | 465 | # CONFIG_NET_SCH_CLK_CPU is not set |
466 | |||
467 | # | ||
468 | # Queueing/Scheduling | ||
469 | # | ||
437 | CONFIG_NET_SCH_CBQ=m | 470 | CONFIG_NET_SCH_CBQ=m |
438 | CONFIG_NET_SCH_HTB=m | 471 | CONFIG_NET_SCH_HTB=m |
439 | CONFIG_NET_SCH_HFSC=m | 472 | CONFIG_NET_SCH_HFSC=m |
@@ -446,8 +479,10 @@ CONFIG_NET_SCH_GRED=m | |||
446 | CONFIG_NET_SCH_DSMARK=m | 479 | CONFIG_NET_SCH_DSMARK=m |
447 | CONFIG_NET_SCH_NETEM=m | 480 | CONFIG_NET_SCH_NETEM=m |
448 | CONFIG_NET_SCH_INGRESS=m | 481 | CONFIG_NET_SCH_INGRESS=m |
449 | CONFIG_NET_QOS=y | 482 | |
450 | CONFIG_NET_ESTIMATOR=y | 483 | # |
484 | # Classification | ||
485 | # | ||
451 | CONFIG_NET_CLS=y | 486 | CONFIG_NET_CLS=y |
452 | CONFIG_NET_CLS_BASIC=m | 487 | CONFIG_NET_CLS_BASIC=m |
453 | CONFIG_NET_CLS_TCINDEX=m | 488 | CONFIG_NET_CLS_TCINDEX=m |
@@ -456,13 +491,14 @@ CONFIG_NET_CLS_ROUTE=y | |||
456 | CONFIG_NET_CLS_FW=m | 491 | CONFIG_NET_CLS_FW=m |
457 | CONFIG_NET_CLS_U32=m | 492 | CONFIG_NET_CLS_U32=m |
458 | # CONFIG_CLS_U32_PERF is not set | 493 | # CONFIG_CLS_U32_PERF is not set |
459 | # CONFIG_NET_CLS_IND is not set | ||
460 | # CONFIG_CLS_U32_MARK is not set | 494 | # CONFIG_CLS_U32_MARK is not set |
461 | CONFIG_NET_CLS_RSVP=m | 495 | CONFIG_NET_CLS_RSVP=m |
462 | CONFIG_NET_CLS_RSVP6=m | 496 | CONFIG_NET_CLS_RSVP6=m |
463 | # CONFIG_NET_EMATCH is not set | 497 | # CONFIG_NET_EMATCH is not set |
464 | # CONFIG_NET_CLS_ACT is not set | 498 | # CONFIG_NET_CLS_ACT is not set |
465 | CONFIG_NET_CLS_POLICE=y | 499 | CONFIG_NET_CLS_POLICE=y |
500 | # CONFIG_NET_CLS_IND is not set | ||
501 | CONFIG_NET_ESTIMATOR=y | ||
466 | 502 | ||
467 | # | 503 | # |
468 | # Network testing | 504 | # Network testing |
@@ -583,18 +619,9 @@ CONFIG_BLK_DEV_UB=m | |||
583 | CONFIG_BLK_DEV_RAM=m | 619 | CONFIG_BLK_DEV_RAM=m |
584 | CONFIG_BLK_DEV_RAM_COUNT=16 | 620 | CONFIG_BLK_DEV_RAM_COUNT=16 |
585 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 621 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
586 | # CONFIG_LBD is not set | ||
587 | CONFIG_CDROM_PKTCDVD=m | 622 | CONFIG_CDROM_PKTCDVD=m |
588 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 623 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
589 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 624 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
590 | |||
591 | # | ||
592 | # IO Schedulers | ||
593 | # | ||
594 | CONFIG_IOSCHED_NOOP=y | ||
595 | CONFIG_IOSCHED_AS=y | ||
596 | CONFIG_IOSCHED_DEADLINE=y | ||
597 | CONFIG_IOSCHED_CFQ=y | ||
598 | CONFIG_ATA_OVER_ETH=m | 625 | CONFIG_ATA_OVER_ETH=m |
599 | 626 | ||
600 | # | 627 | # |
@@ -638,6 +665,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
638 | # | 665 | # |
639 | # SCSI low-level drivers | 666 | # SCSI low-level drivers |
640 | # | 667 | # |
668 | CONFIG_ISCSI_TCP=m | ||
641 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 669 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
642 | # CONFIG_SCSI_3W_9XXX is not set | 670 | # CONFIG_SCSI_3W_9XXX is not set |
643 | # CONFIG_SCSI_ACARD is not set | 671 | # CONFIG_SCSI_ACARD is not set |
@@ -651,6 +679,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
651 | CONFIG_MEGARAID_NEWGEN=y | 679 | CONFIG_MEGARAID_NEWGEN=y |
652 | CONFIG_MEGARAID_MM=m | 680 | CONFIG_MEGARAID_MM=m |
653 | CONFIG_MEGARAID_MAILBOX=m | 681 | CONFIG_MEGARAID_MAILBOX=m |
682 | # CONFIG_MEGARAID_SAS is not set | ||
654 | # CONFIG_SCSI_SATA is not set | 683 | # CONFIG_SCSI_SATA is not set |
655 | # CONFIG_SCSI_DMX3191D is not set | 684 | # CONFIG_SCSI_DMX3191D is not set |
656 | # CONFIG_SCSI_DTC3280 is not set | 685 | # CONFIG_SCSI_DTC3280 is not set |
@@ -723,6 +752,7 @@ CONFIG_DM_MULTIPATH_EMC=m | |||
723 | # CONFIG_FUSION is not set | 752 | # CONFIG_FUSION is not set |
724 | # CONFIG_FUSION_SPI is not set | 753 | # CONFIG_FUSION_SPI is not set |
725 | # CONFIG_FUSION_FC is not set | 754 | # CONFIG_FUSION_FC is not set |
755 | # CONFIG_FUSION_SAS is not set | ||
726 | 756 | ||
727 | # | 757 | # |
728 | # IEEE 1394 (FireWire) support | 758 | # IEEE 1394 (FireWire) support |
@@ -752,7 +782,6 @@ CONFIG_TUN=m | |||
752 | # PHY device support | 782 | # PHY device support |
753 | # | 783 | # |
754 | CONFIG_PHYLIB=m | 784 | CONFIG_PHYLIB=m |
755 | CONFIG_PHYCONTROL=y | ||
756 | 785 | ||
757 | # | 786 | # |
758 | # MII PHY device drivers | 787 | # MII PHY device drivers |
@@ -770,6 +799,7 @@ CONFIG_NET_ETHERNET=y | |||
770 | CONFIG_MII=y | 799 | CONFIG_MII=y |
771 | # CONFIG_HAPPYMEAL is not set | 800 | # CONFIG_HAPPYMEAL is not set |
772 | # CONFIG_SUNGEM is not set | 801 | # CONFIG_SUNGEM is not set |
802 | # CONFIG_CASSINI is not set | ||
773 | # CONFIG_NET_VENDOR_3COM is not set | 803 | # CONFIG_NET_VENDOR_3COM is not set |
774 | # CONFIG_NET_VENDOR_SMC is not set | 804 | # CONFIG_NET_VENDOR_SMC is not set |
775 | # CONFIG_NET_VENDOR_RACAL is not set | 805 | # CONFIG_NET_VENDOR_RACAL is not set |
@@ -984,6 +1014,7 @@ CONFIG_RTC=m | |||
984 | # TPM devices | 1014 | # TPM devices |
985 | # | 1015 | # |
986 | # CONFIG_TCG_TPM is not set | 1016 | # CONFIG_TCG_TPM is not set |
1017 | # CONFIG_TELCLOCK is not set | ||
987 | 1018 | ||
988 | # | 1019 | # |
989 | # I2C support | 1020 | # I2C support |
@@ -1074,12 +1105,15 @@ CONFIG_USB_UHCI_HCD=m | |||
1074 | # | 1105 | # |
1075 | # USB Device Class drivers | 1106 | # USB Device Class drivers |
1076 | # | 1107 | # |
1077 | CONFIG_USB_BLUETOOTH_TTY=m | ||
1078 | CONFIG_USB_ACM=m | 1108 | CONFIG_USB_ACM=m |
1079 | CONFIG_USB_PRINTER=m | 1109 | CONFIG_USB_PRINTER=m |
1080 | 1110 | ||
1081 | # | 1111 | # |
1082 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 1112 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
1113 | # | ||
1114 | |||
1115 | # | ||
1116 | # may also be needed; see USB_STORAGE Help for more information | ||
1083 | # | 1117 | # |
1084 | CONFIG_USB_STORAGE=m | 1118 | CONFIG_USB_STORAGE=m |
1085 | # CONFIG_USB_STORAGE_DEBUG is not set | 1119 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1196,6 +1230,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
1196 | CONFIG_USB_SERIAL_KLSI=m | 1230 | CONFIG_USB_SERIAL_KLSI=m |
1197 | CONFIG_USB_SERIAL_KOBIL_SCT=m | 1231 | CONFIG_USB_SERIAL_KOBIL_SCT=m |
1198 | CONFIG_USB_SERIAL_MCT_U232=m | 1232 | CONFIG_USB_SERIAL_MCT_U232=m |
1233 | # CONFIG_USB_SERIAL_NOKIA_DKU2 is not set | ||
1199 | CONFIG_USB_SERIAL_PL2303=m | 1234 | CONFIG_USB_SERIAL_PL2303=m |
1200 | CONFIG_USB_SERIAL_HP4X=m | 1235 | CONFIG_USB_SERIAL_HP4X=m |
1201 | CONFIG_USB_SERIAL_SAFE=m | 1236 | CONFIG_USB_SERIAL_SAFE=m |
@@ -1271,7 +1306,7 @@ CONFIG_REISERFS_FS_SECURITY=y | |||
1271 | CONFIG_FS_POSIX_ACL=y | 1306 | CONFIG_FS_POSIX_ACL=y |
1272 | CONFIG_XFS_FS=m | 1307 | CONFIG_XFS_FS=m |
1273 | CONFIG_XFS_EXPORT=y | 1308 | CONFIG_XFS_EXPORT=y |
1274 | CONFIG_XFS_QUOTA=m | 1309 | CONFIG_XFS_QUOTA=y |
1275 | CONFIG_XFS_SECURITY=y | 1310 | CONFIG_XFS_SECURITY=y |
1276 | # CONFIG_XFS_POSIX_ACL is not set | 1311 | # CONFIG_XFS_POSIX_ACL is not set |
1277 | # CONFIG_XFS_RT is not set | 1312 | # CONFIG_XFS_RT is not set |
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig index 4365d9c8c42e..dc453a1e4806 100644 --- a/arch/mips/configs/sb1250-swarm_defconfig +++ b/arch/mips/configs/sb1250-swarm_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:27:05 2005 | 4 | # Mon Nov 7 23:06:43 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -59,6 +59,23 @@ CONFIG_KMOD=y | |||
59 | CONFIG_STOP_MACHINE=y | 59 | CONFIG_STOP_MACHINE=y |
60 | 60 | ||
61 | # | 61 | # |
62 | # Block layer | ||
63 | # | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
62 | # Machine selection | 79 | # Machine selection |
63 | # | 80 | # |
64 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -126,8 +143,8 @@ CONFIG_CPU_SB1_PASS_1=y | |||
126 | # CONFIG_CPU_SB1_PASS_3 is not set | 143 | # CONFIG_CPU_SB1_PASS_3 is not set |
127 | CONFIG_SIBYTE_HAS_LDT=y | 144 | CONFIG_SIBYTE_HAS_LDT=y |
128 | # CONFIG_SIMULATION is not set | 145 | # CONFIG_SIMULATION is not set |
129 | # CONFIG_CONFIG_SB1_CEX_ALWAYS_FATAL is not set | 146 | # CONFIG_SB1_CEX_ALWAYS_FATAL is not set |
130 | # CONFIG_CONFIG_SB1_CERR_STALL is not set | 147 | # CONFIG_SB1_CERR_STALL is not set |
131 | CONFIG_SIBYTE_CFE=y | 148 | CONFIG_SIBYTE_CFE=y |
132 | # CONFIG_SIBYTE_CFE_CONSOLE is not set | 149 | # CONFIG_SIBYTE_CFE_CONSOLE is not set |
133 | # CONFIG_SIBYTE_BUS_WATCHER is not set | 150 | # CONFIG_SIBYTE_BUS_WATCHER is not set |
@@ -200,6 +217,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
200 | CONFIG_FLATMEM=y | 217 | CONFIG_FLATMEM=y |
201 | CONFIG_FLAT_NODE_MEM_MAP=y | 218 | CONFIG_FLAT_NODE_MEM_MAP=y |
202 | # CONFIG_SPARSEMEM_STATIC is not set | 219 | # CONFIG_SPARSEMEM_STATIC is not set |
220 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
203 | CONFIG_SMP=y | 221 | CONFIG_SMP=y |
204 | CONFIG_NR_CPUS=2 | 222 | CONFIG_NR_CPUS=2 |
205 | CONFIG_PREEMPT_NONE=y | 223 | CONFIG_PREEMPT_NONE=y |
@@ -295,6 +313,10 @@ CONFIG_TCP_CONG_BIC=y | |||
295 | # CONFIG_NET_DIVERT is not set | 313 | # CONFIG_NET_DIVERT is not set |
296 | # CONFIG_ECONET is not set | 314 | # CONFIG_ECONET is not set |
297 | # CONFIG_WAN_ROUTER is not set | 315 | # CONFIG_WAN_ROUTER is not set |
316 | |||
317 | # | ||
318 | # QoS and/or fair queueing | ||
319 | # | ||
298 | # CONFIG_NET_SCHED is not set | 320 | # CONFIG_NET_SCHED is not set |
299 | # CONFIG_NET_CLS_ROUTE is not set | 321 | # CONFIG_NET_CLS_ROUTE is not set |
300 | 322 | ||
@@ -359,14 +381,6 @@ CONFIG_BLK_DEV_INITRD=y | |||
359 | CONFIG_CDROM_PKTCDVD=m | 381 | CONFIG_CDROM_PKTCDVD=m |
360 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 382 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
361 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 383 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
362 | |||
363 | # | ||
364 | # IO Schedulers | ||
365 | # | ||
366 | CONFIG_IOSCHED_NOOP=y | ||
367 | CONFIG_IOSCHED_AS=y | ||
368 | CONFIG_IOSCHED_DEADLINE=y | ||
369 | CONFIG_IOSCHED_CFQ=y | ||
370 | CONFIG_ATA_OVER_ETH=m | 384 | CONFIG_ATA_OVER_ETH=m |
371 | 385 | ||
372 | # | 386 | # |
@@ -441,7 +455,6 @@ CONFIG_NETDEVICES=y | |||
441 | # PHY device support | 455 | # PHY device support |
442 | # | 456 | # |
443 | CONFIG_PHYLIB=m | 457 | CONFIG_PHYLIB=m |
444 | CONFIG_PHYCONTROL=y | ||
445 | 458 | ||
446 | # | 459 | # |
447 | # MII PHY device drivers | 460 | # MII PHY device drivers |
@@ -459,6 +472,7 @@ CONFIG_NET_ETHERNET=y | |||
459 | CONFIG_MII=y | 472 | CONFIG_MII=y |
460 | # CONFIG_HAPPYMEAL is not set | 473 | # CONFIG_HAPPYMEAL is not set |
461 | # CONFIG_SUNGEM is not set | 474 | # CONFIG_SUNGEM is not set |
475 | # CONFIG_CASSINI is not set | ||
462 | # CONFIG_NET_VENDOR_3COM is not set | 476 | # CONFIG_NET_VENDOR_3COM is not set |
463 | 477 | ||
464 | # | 478 | # |
@@ -599,6 +613,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
599 | # TPM devices | 613 | # TPM devices |
600 | # | 614 | # |
601 | # CONFIG_TCG_TPM is not set | 615 | # CONFIG_TCG_TPM is not set |
616 | # CONFIG_TELCLOCK is not set | ||
602 | 617 | ||
603 | # | 618 | # |
604 | # I2C support | 619 | # I2C support |
@@ -652,6 +667,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
652 | # CONFIG_USB is not set | 667 | # CONFIG_USB is not set |
653 | 668 | ||
654 | # | 669 | # |
670 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
671 | # | ||
672 | |||
673 | # | ||
655 | # USB Gadget Support | 674 | # USB Gadget Support |
656 | # | 675 | # |
657 | # CONFIG_USB_GADGET is not set | 676 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/sead_defconfig b/arch/mips/configs/sead_defconfig index d835f6db1f41..aa27d583162d 100644 --- a/arch/mips/configs/sead_defconfig +++ b/arch/mips/configs/sead_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:27:07 2005 | 4 | # Mon Nov 7 23:06:45 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -48,6 +48,24 @@ CONFIG_BASE_SMALL=0 | |||
48 | # CONFIG_MODULES is not set | 48 | # CONFIG_MODULES is not set |
49 | 49 | ||
50 | # | 50 | # |
51 | # Block layer | ||
52 | # | ||
53 | # CONFIG_LBD is not set | ||
54 | |||
55 | # | ||
56 | # IO Schedulers | ||
57 | # | ||
58 | CONFIG_IOSCHED_NOOP=y | ||
59 | CONFIG_IOSCHED_AS=y | ||
60 | CONFIG_IOSCHED_DEADLINE=y | ||
61 | CONFIG_IOSCHED_CFQ=y | ||
62 | CONFIG_DEFAULT_AS=y | ||
63 | # CONFIG_DEFAULT_DEADLINE is not set | ||
64 | # CONFIG_DEFAULT_CFQ is not set | ||
65 | # CONFIG_DEFAULT_NOOP is not set | ||
66 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
67 | |||
68 | # | ||
51 | # Machine selection | 69 | # Machine selection |
52 | # | 70 | # |
53 | # CONFIG_MIPS_MTX1 is not set | 71 | # CONFIG_MIPS_MTX1 is not set |
@@ -173,6 +191,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
173 | CONFIG_FLATMEM=y | 191 | CONFIG_FLATMEM=y |
174 | CONFIG_FLAT_NODE_MEM_MAP=y | 192 | CONFIG_FLAT_NODE_MEM_MAP=y |
175 | # CONFIG_SPARSEMEM_STATIC is not set | 193 | # CONFIG_SPARSEMEM_STATIC is not set |
194 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
176 | CONFIG_PREEMPT_NONE=y | 195 | CONFIG_PREEMPT_NONE=y |
177 | # CONFIG_PREEMPT_VOLUNTARY is not set | 196 | # CONFIG_PREEMPT_VOLUNTARY is not set |
178 | # CONFIG_PREEMPT is not set | 197 | # CONFIG_PREEMPT is not set |
@@ -242,18 +261,9 @@ CONFIG_BLK_DEV_RAM=y | |||
242 | CONFIG_BLK_DEV_RAM_COUNT=16 | 261 | CONFIG_BLK_DEV_RAM_COUNT=16 |
243 | CONFIG_BLK_DEV_RAM_SIZE=18432 | 262 | CONFIG_BLK_DEV_RAM_SIZE=18432 |
244 | CONFIG_BLK_DEV_INITRD=y | 263 | CONFIG_BLK_DEV_INITRD=y |
245 | # CONFIG_LBD is not set | ||
246 | # CONFIG_CDROM_PKTCDVD is not set | 264 | # CONFIG_CDROM_PKTCDVD is not set |
247 | 265 | ||
248 | # | 266 | # |
249 | # IO Schedulers | ||
250 | # | ||
251 | CONFIG_IOSCHED_NOOP=y | ||
252 | CONFIG_IOSCHED_AS=y | ||
253 | CONFIG_IOSCHED_DEADLINE=y | ||
254 | CONFIG_IOSCHED_CFQ=y | ||
255 | |||
256 | # | ||
257 | # ATA/ATAPI/MFM/RLL support | 267 | # ATA/ATAPI/MFM/RLL support |
258 | # | 268 | # |
259 | # CONFIG_IDE is not set | 269 | # CONFIG_IDE is not set |
@@ -353,6 +363,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
353 | # | 363 | # |
354 | # TPM devices | 364 | # TPM devices |
355 | # | 365 | # |
366 | # CONFIG_TELCLOCK is not set | ||
356 | 367 | ||
357 | # | 368 | # |
358 | # I2C support | 369 | # I2C support |
@@ -404,6 +415,10 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
404 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 415 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
405 | 416 | ||
406 | # | 417 | # |
418 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
419 | # | ||
420 | |||
421 | # | ||
407 | # USB Gadget Support | 422 | # USB Gadget Support |
408 | # | 423 | # |
409 | # CONFIG_USB_GADGET is not set | 424 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig index bf60a17de2b0..ddc7e45996f2 100644 --- a/arch/mips/configs/tb0226_defconfig +++ b/arch/mips/configs/tb0226_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:27:10 2005 | 4 | # Mon Nov 7 23:06:49 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -183,6 +201,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
183 | CONFIG_FLATMEM=y | 201 | CONFIG_FLATMEM=y |
184 | CONFIG_FLAT_NODE_MEM_MAP=y | 202 | CONFIG_FLAT_NODE_MEM_MAP=y |
185 | # CONFIG_SPARSEMEM_STATIC is not set | 203 | # CONFIG_SPARSEMEM_STATIC is not set |
204 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
186 | CONFIG_PREEMPT_NONE=y | 205 | CONFIG_PREEMPT_NONE=y |
187 | # CONFIG_PREEMPT_VOLUNTARY is not set | 206 | # CONFIG_PREEMPT_VOLUNTARY is not set |
188 | # CONFIG_PREEMPT is not set | 207 | # CONFIG_PREEMPT is not set |
@@ -277,6 +296,10 @@ CONFIG_TCP_CONG_BIC=y | |||
277 | # CONFIG_NET_DIVERT is not set | 296 | # CONFIG_NET_DIVERT is not set |
278 | # CONFIG_ECONET is not set | 297 | # CONFIG_ECONET is not set |
279 | # CONFIG_WAN_ROUTER is not set | 298 | # CONFIG_WAN_ROUTER is not set |
299 | |||
300 | # | ||
301 | # QoS and/or fair queueing | ||
302 | # | ||
280 | # CONFIG_NET_SCHED is not set | 303 | # CONFIG_NET_SCHED is not set |
281 | # CONFIG_NET_CLS_ROUTE is not set | 304 | # CONFIG_NET_CLS_ROUTE is not set |
282 | 305 | ||
@@ -339,16 +362,7 @@ CONFIG_BLK_DEV_NBD=m | |||
339 | CONFIG_BLK_DEV_RAM=m | 362 | CONFIG_BLK_DEV_RAM=m |
340 | CONFIG_BLK_DEV_RAM_COUNT=16 | 363 | CONFIG_BLK_DEV_RAM_COUNT=16 |
341 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 364 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
342 | # CONFIG_LBD is not set | ||
343 | # CONFIG_CDROM_PKTCDVD is not set | 365 | # CONFIG_CDROM_PKTCDVD is not set |
344 | |||
345 | # | ||
346 | # IO Schedulers | ||
347 | # | ||
348 | CONFIG_IOSCHED_NOOP=y | ||
349 | CONFIG_IOSCHED_AS=y | ||
350 | CONFIG_IOSCHED_DEADLINE=y | ||
351 | CONFIG_IOSCHED_CFQ=y | ||
352 | CONFIG_ATA_OVER_ETH=m | 366 | CONFIG_ATA_OVER_ETH=m |
353 | 367 | ||
354 | # | 368 | # |
@@ -385,12 +399,13 @@ CONFIG_SCSI_MULTI_LUN=y | |||
385 | # | 399 | # |
386 | # CONFIG_SCSI_SPI_ATTRS is not set | 400 | # CONFIG_SCSI_SPI_ATTRS is not set |
387 | # CONFIG_SCSI_FC_ATTRS is not set | 401 | # CONFIG_SCSI_FC_ATTRS is not set |
388 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 402 | CONFIG_SCSI_ISCSI_ATTRS=m |
389 | # CONFIG_SCSI_SAS_ATTRS is not set | 403 | # CONFIG_SCSI_SAS_ATTRS is not set |
390 | 404 | ||
391 | # | 405 | # |
392 | # SCSI low-level drivers | 406 | # SCSI low-level drivers |
393 | # | 407 | # |
408 | CONFIG_ISCSI_TCP=m | ||
394 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 409 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
395 | # CONFIG_SCSI_3W_9XXX is not set | 410 | # CONFIG_SCSI_3W_9XXX is not set |
396 | # CONFIG_SCSI_ACARD is not set | 411 | # CONFIG_SCSI_ACARD is not set |
@@ -401,6 +416,7 @@ CONFIG_SCSI_MULTI_LUN=y | |||
401 | # CONFIG_SCSI_DPT_I2O is not set | 416 | # CONFIG_SCSI_DPT_I2O is not set |
402 | # CONFIG_MEGARAID_NEWGEN is not set | 417 | # CONFIG_MEGARAID_NEWGEN is not set |
403 | # CONFIG_MEGARAID_LEGACY is not set | 418 | # CONFIG_MEGARAID_LEGACY is not set |
419 | # CONFIG_MEGARAID_SAS is not set | ||
404 | # CONFIG_SCSI_SATA is not set | 420 | # CONFIG_SCSI_SATA is not set |
405 | # CONFIG_SCSI_DMX3191D is not set | 421 | # CONFIG_SCSI_DMX3191D is not set |
406 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 422 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -435,6 +451,7 @@ CONFIG_SCSI_QLA2XXX=y | |||
435 | # CONFIG_FUSION is not set | 451 | # CONFIG_FUSION is not set |
436 | # CONFIG_FUSION_SPI is not set | 452 | # CONFIG_FUSION_SPI is not set |
437 | # CONFIG_FUSION_FC is not set | 453 | # CONFIG_FUSION_FC is not set |
454 | # CONFIG_FUSION_SAS is not set | ||
438 | 455 | ||
439 | # | 456 | # |
440 | # IEEE 1394 (FireWire) support | 457 | # IEEE 1394 (FireWire) support |
@@ -464,7 +481,6 @@ CONFIG_NETDEVICES=y | |||
464 | # PHY device support | 481 | # PHY device support |
465 | # | 482 | # |
466 | CONFIG_PHYLIB=m | 483 | CONFIG_PHYLIB=m |
467 | CONFIG_PHYCONTROL=y | ||
468 | 484 | ||
469 | # | 485 | # |
470 | # MII PHY device drivers | 486 | # MII PHY device drivers |
@@ -482,6 +498,7 @@ CONFIG_NET_ETHERNET=y | |||
482 | CONFIG_MII=y | 498 | CONFIG_MII=y |
483 | # CONFIG_HAPPYMEAL is not set | 499 | # CONFIG_HAPPYMEAL is not set |
484 | # CONFIG_SUNGEM is not set | 500 | # CONFIG_SUNGEM is not set |
501 | # CONFIG_CASSINI is not set | ||
485 | # CONFIG_NET_VENDOR_3COM is not set | 502 | # CONFIG_NET_VENDOR_3COM is not set |
486 | 503 | ||
487 | # | 504 | # |
@@ -634,6 +651,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
634 | # CONFIG_WATCHDOG is not set | 651 | # CONFIG_WATCHDOG is not set |
635 | # CONFIG_RTC is not set | 652 | # CONFIG_RTC is not set |
636 | # CONFIG_GEN_RTC is not set | 653 | # CONFIG_GEN_RTC is not set |
654 | # CONFIG_RTC_VR41XX is not set | ||
637 | # CONFIG_DTLK is not set | 655 | # CONFIG_DTLK is not set |
638 | # CONFIG_R3964 is not set | 656 | # CONFIG_R3964 is not set |
639 | # CONFIG_APPLICOM is not set | 657 | # CONFIG_APPLICOM is not set |
@@ -650,6 +668,7 @@ CONFIG_GPIO_VR41XX=y | |||
650 | # TPM devices | 668 | # TPM devices |
651 | # | 669 | # |
652 | # CONFIG_TCG_TPM is not set | 670 | # CONFIG_TCG_TPM is not set |
671 | # CONFIG_TELCLOCK is not set | ||
653 | 672 | ||
654 | # | 673 | # |
655 | # I2C support | 674 | # I2C support |
@@ -733,12 +752,15 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
733 | # | 752 | # |
734 | # USB Device Class drivers | 753 | # USB Device Class drivers |
735 | # | 754 | # |
736 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
737 | # CONFIG_USB_ACM is not set | 755 | # CONFIG_USB_ACM is not set |
738 | # CONFIG_USB_PRINTER is not set | 756 | # CONFIG_USB_PRINTER is not set |
739 | 757 | ||
740 | # | 758 | # |
741 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 759 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
760 | # | ||
761 | |||
762 | # | ||
763 | # may also be needed; see USB_STORAGE Help for more information | ||
742 | # | 764 | # |
743 | CONFIG_USB_STORAGE=m | 765 | CONFIG_USB_STORAGE=m |
744 | # CONFIG_USB_STORAGE_DEBUG is not set | 766 | # CONFIG_USB_STORAGE_DEBUG is not set |
diff --git a/arch/mips/configs/tb0229_defconfig b/arch/mips/configs/tb0229_defconfig index ac8b64e87b8a..e8c82f011e98 100644 --- a/arch/mips/configs/tb0229_defconfig +++ b/arch/mips/configs/tb0229_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:27:13 2005 | 4 | # Wed Nov 9 11:11:47 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -183,6 +201,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
183 | CONFIG_FLATMEM=y | 201 | CONFIG_FLATMEM=y |
184 | CONFIG_FLAT_NODE_MEM_MAP=y | 202 | CONFIG_FLAT_NODE_MEM_MAP=y |
185 | # CONFIG_SPARSEMEM_STATIC is not set | 203 | # CONFIG_SPARSEMEM_STATIC is not set |
204 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
186 | CONFIG_PREEMPT_NONE=y | 205 | CONFIG_PREEMPT_NONE=y |
187 | # CONFIG_PREEMPT_VOLUNTARY is not set | 206 | # CONFIG_PREEMPT_VOLUNTARY is not set |
188 | # CONFIG_PREEMPT is not set | 207 | # CONFIG_PREEMPT is not set |
@@ -278,6 +297,10 @@ CONFIG_TCP_CONG_BIC=y | |||
278 | # CONFIG_NET_DIVERT is not set | 297 | # CONFIG_NET_DIVERT is not set |
279 | # CONFIG_ECONET is not set | 298 | # CONFIG_ECONET is not set |
280 | # CONFIG_WAN_ROUTER is not set | 299 | # CONFIG_WAN_ROUTER is not set |
300 | |||
301 | # | ||
302 | # QoS and/or fair queueing | ||
303 | # | ||
281 | # CONFIG_NET_SCHED is not set | 304 | # CONFIG_NET_SCHED is not set |
282 | # CONFIG_NET_CLS_ROUTE is not set | 305 | # CONFIG_NET_CLS_ROUTE is not set |
283 | 306 | ||
@@ -341,18 +364,9 @@ CONFIG_BLK_DEV_RAM=y | |||
341 | CONFIG_BLK_DEV_RAM_COUNT=16 | 364 | CONFIG_BLK_DEV_RAM_COUNT=16 |
342 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 365 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
343 | # CONFIG_BLK_DEV_INITRD is not set | 366 | # CONFIG_BLK_DEV_INITRD is not set |
344 | # CONFIG_LBD is not set | ||
345 | CONFIG_CDROM_PKTCDVD=m | 367 | CONFIG_CDROM_PKTCDVD=m |
346 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 368 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
347 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 369 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
348 | |||
349 | # | ||
350 | # IO Schedulers | ||
351 | # | ||
352 | CONFIG_IOSCHED_NOOP=y | ||
353 | CONFIG_IOSCHED_AS=y | ||
354 | CONFIG_IOSCHED_DEADLINE=y | ||
355 | CONFIG_IOSCHED_CFQ=y | ||
356 | CONFIG_ATA_OVER_ETH=m | 370 | CONFIG_ATA_OVER_ETH=m |
357 | 371 | ||
358 | # | 372 | # |
@@ -404,7 +418,6 @@ CONFIG_DUMMY=m | |||
404 | # PHY device support | 418 | # PHY device support |
405 | # | 419 | # |
406 | CONFIG_PHYLIB=m | 420 | CONFIG_PHYLIB=m |
407 | CONFIG_PHYCONTROL=y | ||
408 | 421 | ||
409 | # | 422 | # |
410 | # MII PHY device drivers | 423 | # MII PHY device drivers |
@@ -422,6 +435,7 @@ CONFIG_NET_ETHERNET=y | |||
422 | CONFIG_MII=y | 435 | CONFIG_MII=y |
423 | # CONFIG_HAPPYMEAL is not set | 436 | # CONFIG_HAPPYMEAL is not set |
424 | # CONFIG_SUNGEM is not set | 437 | # CONFIG_SUNGEM is not set |
438 | # CONFIG_CASSINI is not set | ||
425 | # CONFIG_NET_VENDOR_3COM is not set | 439 | # CONFIG_NET_VENDOR_3COM is not set |
426 | 440 | ||
427 | # | 441 | # |
@@ -504,6 +518,7 @@ CONFIG_PPP_ASYNC=m | |||
504 | CONFIG_PPP_SYNC_TTY=m | 518 | CONFIG_PPP_SYNC_TTY=m |
505 | CONFIG_PPP_DEFLATE=m | 519 | CONFIG_PPP_DEFLATE=m |
506 | CONFIG_PPP_BSDCOMP=m | 520 | CONFIG_PPP_BSDCOMP=m |
521 | CONFIG_PPP_MPPE=m | ||
507 | CONFIG_PPPOE=m | 522 | CONFIG_PPPOE=m |
508 | CONFIG_SLIP=m | 523 | CONFIG_SLIP=m |
509 | CONFIG_SLIP_COMPRESSED=y | 524 | CONFIG_SLIP_COMPRESSED=y |
@@ -589,6 +604,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
589 | # CONFIG_WATCHDOG is not set | 604 | # CONFIG_WATCHDOG is not set |
590 | # CONFIG_RTC is not set | 605 | # CONFIG_RTC is not set |
591 | # CONFIG_GEN_RTC is not set | 606 | # CONFIG_GEN_RTC is not set |
607 | # CONFIG_RTC_VR41XX is not set | ||
592 | # CONFIG_DTLK is not set | 608 | # CONFIG_DTLK is not set |
593 | # CONFIG_R3964 is not set | 609 | # CONFIG_R3964 is not set |
594 | # CONFIG_APPLICOM is not set | 610 | # CONFIG_APPLICOM is not set |
@@ -605,6 +621,7 @@ CONFIG_GPIO_VR41XX=y | |||
605 | # TPM devices | 621 | # TPM devices |
606 | # | 622 | # |
607 | # CONFIG_TCG_TPM is not set | 623 | # CONFIG_TCG_TPM is not set |
624 | # CONFIG_TELCLOCK is not set | ||
608 | 625 | ||
609 | # | 626 | # |
610 | # I2C support | 627 | # I2C support |
@@ -688,12 +705,15 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
688 | # | 705 | # |
689 | # USB Device Class drivers | 706 | # USB Device Class drivers |
690 | # | 707 | # |
691 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
692 | # CONFIG_USB_ACM is not set | 708 | # CONFIG_USB_ACM is not set |
693 | # CONFIG_USB_PRINTER is not set | 709 | # CONFIG_USB_PRINTER is not set |
694 | 710 | ||
695 | # | 711 | # |
696 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 712 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
713 | # | ||
714 | |||
715 | # | ||
716 | # may also be needed; see USB_STORAGE Help for more information | ||
697 | # | 717 | # |
698 | # CONFIG_USB_STORAGE is not set | 718 | # CONFIG_USB_STORAGE is not set |
699 | 719 | ||
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig index ab13621ef3b9..125b2997abfe 100644 --- a/arch/mips/configs/workpad_defconfig +++ b/arch/mips/configs/workpad_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.14-rc2 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 22:27:16 2005 | 4 | # Tue Nov 15 11:17:02 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -57,6 +57,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
57 | CONFIG_KMOD=y | 57 | CONFIG_KMOD=y |
58 | 58 | ||
59 | # | 59 | # |
60 | # Block layer | ||
61 | # | ||
62 | # CONFIG_LBD is not set | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
60 | # Machine selection | 78 | # Machine selection |
61 | # | 79 | # |
62 | # CONFIG_MIPS_MTX1 is not set | 80 | # CONFIG_MIPS_MTX1 is not set |
@@ -180,6 +198,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
180 | CONFIG_FLATMEM=y | 198 | CONFIG_FLATMEM=y |
181 | CONFIG_FLAT_NODE_MEM_MAP=y | 199 | CONFIG_FLAT_NODE_MEM_MAP=y |
182 | # CONFIG_SPARSEMEM_STATIC is not set | 200 | # CONFIG_SPARSEMEM_STATIC is not set |
201 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
183 | CONFIG_PREEMPT_NONE=y | 202 | CONFIG_PREEMPT_NONE=y |
184 | # CONFIG_PREEMPT_VOLUNTARY is not set | 203 | # CONFIG_PREEMPT_VOLUNTARY is not set |
185 | # CONFIG_PREEMPT is not set | 204 | # CONFIG_PREEMPT is not set |
@@ -273,6 +292,10 @@ CONFIG_TCP_CONG_BIC=y | |||
273 | # CONFIG_NET_DIVERT is not set | 292 | # CONFIG_NET_DIVERT is not set |
274 | # CONFIG_ECONET is not set | 293 | # CONFIG_ECONET is not set |
275 | # CONFIG_WAN_ROUTER is not set | 294 | # CONFIG_WAN_ROUTER is not set |
295 | |||
296 | # | ||
297 | # QoS and/or fair queueing | ||
298 | # | ||
276 | # CONFIG_NET_SCHED is not set | 299 | # CONFIG_NET_SCHED is not set |
277 | # CONFIG_NET_CLS_ROUTE is not set | 300 | # CONFIG_NET_CLS_ROUTE is not set |
278 | 301 | ||
@@ -328,16 +351,7 @@ CONFIG_CONNECTOR=m | |||
328 | # CONFIG_BLK_DEV_NBD is not set | 351 | # CONFIG_BLK_DEV_NBD is not set |
329 | # CONFIG_BLK_DEV_RAM is not set | 352 | # CONFIG_BLK_DEV_RAM is not set |
330 | CONFIG_BLK_DEV_RAM_COUNT=16 | 353 | CONFIG_BLK_DEV_RAM_COUNT=16 |
331 | # CONFIG_LBD is not set | ||
332 | # CONFIG_CDROM_PKTCDVD is not set | 354 | # CONFIG_CDROM_PKTCDVD is not set |
333 | |||
334 | # | ||
335 | # IO Schedulers | ||
336 | # | ||
337 | CONFIG_IOSCHED_NOOP=y | ||
338 | CONFIG_IOSCHED_AS=y | ||
339 | CONFIG_IOSCHED_DEADLINE=y | ||
340 | CONFIG_IOSCHED_CFQ=y | ||
341 | CONFIG_ATA_OVER_ETH=m | 355 | CONFIG_ATA_OVER_ETH=m |
342 | 356 | ||
343 | # | 357 | # |
@@ -415,7 +429,6 @@ CONFIG_NETDEVICES=y | |||
415 | # PHY device support | 429 | # PHY device support |
416 | # | 430 | # |
417 | CONFIG_PHYLIB=m | 431 | CONFIG_PHYLIB=m |
418 | CONFIG_PHYCONTROL=y | ||
419 | 432 | ||
420 | # | 433 | # |
421 | # MII PHY device drivers | 434 | # MII PHY device drivers |
@@ -439,7 +452,6 @@ CONFIG_MII=m | |||
439 | # CONFIG_HP100 is not set | 452 | # CONFIG_HP100 is not set |
440 | # CONFIG_NET_ISA is not set | 453 | # CONFIG_NET_ISA is not set |
441 | # CONFIG_NET_PCI is not set | 454 | # CONFIG_NET_PCI is not set |
442 | # CONFIG_NET_POCKET is not set | ||
443 | 455 | ||
444 | # | 456 | # |
445 | # Ethernet (1000 Mbit) | 457 | # Ethernet (1000 Mbit) |
@@ -577,6 +589,7 @@ CONFIG_WATCHDOG=y | |||
577 | # CONFIG_WDT is not set | 589 | # CONFIG_WDT is not set |
578 | # CONFIG_RTC is not set | 590 | # CONFIG_RTC is not set |
579 | # CONFIG_GEN_RTC is not set | 591 | # CONFIG_GEN_RTC is not set |
592 | # CONFIG_RTC_VR41XX is not set | ||
580 | # CONFIG_DTLK is not set | 593 | # CONFIG_DTLK is not set |
581 | # CONFIG_R3964 is not set | 594 | # CONFIG_R3964 is not set |
582 | 595 | ||
@@ -588,12 +601,15 @@ CONFIG_WATCHDOG=y | |||
588 | # PCMCIA character devices | 601 | # PCMCIA character devices |
589 | # | 602 | # |
590 | # CONFIG_SYNCLINK_CS is not set | 603 | # CONFIG_SYNCLINK_CS is not set |
604 | # CONFIG_CARDMAN_4000 is not set | ||
605 | # CONFIG_CARDMAN_4040 is not set | ||
591 | # CONFIG_GPIO_VR41XX is not set | 606 | # CONFIG_GPIO_VR41XX is not set |
592 | # CONFIG_RAW_DRIVER is not set | 607 | # CONFIG_RAW_DRIVER is not set |
593 | 608 | ||
594 | # | 609 | # |
595 | # TPM devices | 610 | # TPM devices |
596 | # | 611 | # |
612 | # CONFIG_TELCLOCK is not set | ||
597 | 613 | ||
598 | # | 614 | # |
599 | # I2C support | 615 | # I2C support |
@@ -653,6 +669,10 @@ CONFIG_DUMMY_CONSOLE=y | |||
653 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 669 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
654 | 670 | ||
655 | # | 671 | # |
672 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
673 | # | ||
674 | |||
675 | # | ||
656 | # USB Gadget Support | 676 | # USB Gadget Support |
657 | # | 677 | # |
658 | # CONFIG_USB_GADGET is not set | 678 | # CONFIG_USB_GADGET is not set |
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig index 5b0b7f30e205..d90790b2ab30 100644 --- a/arch/mips/configs/yosemite_defconfig +++ b/arch/mips/configs/yosemite_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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:27:18 2005 | 4 | # Mon Nov 7 23:06:59 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_KMOD=y | |||
58 | CONFIG_STOP_MACHINE=y | 58 | CONFIG_STOP_MACHINE=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -181,6 +199,7 @@ CONFIG_ARCH_FLATMEM_ENABLE=y | |||
181 | CONFIG_FLATMEM=y | 199 | CONFIG_FLATMEM=y |
182 | CONFIG_FLAT_NODE_MEM_MAP=y | 200 | CONFIG_FLAT_NODE_MEM_MAP=y |
183 | # CONFIG_SPARSEMEM_STATIC is not set | 201 | # CONFIG_SPARSEMEM_STATIC is not set |
202 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
184 | CONFIG_SMP=y | 203 | CONFIG_SMP=y |
185 | CONFIG_NR_CPUS=2 | 204 | CONFIG_NR_CPUS=2 |
186 | CONFIG_PREEMPT_NONE=y | 205 | CONFIG_PREEMPT_NONE=y |
@@ -260,6 +279,10 @@ CONFIG_IPV6_TUNNEL=m | |||
260 | # CONFIG_LLC2 is not set | 279 | # CONFIG_LLC2 is not set |
261 | # CONFIG_IPX is not set | 280 | # CONFIG_IPX is not set |
262 | # CONFIG_ATALK is not set | 281 | # CONFIG_ATALK is not set |
282 | |||
283 | # | ||
284 | # QoS and/or fair queueing | ||
285 | # | ||
263 | # CONFIG_NET_SCHED is not set | 286 | # CONFIG_NET_SCHED is not set |
264 | # CONFIG_NET_CLS_ROUTE is not set | 287 | # CONFIG_NET_CLS_ROUTE is not set |
265 | 288 | ||
@@ -319,18 +342,9 @@ CONFIG_CONNECTOR=m | |||
319 | # CONFIG_BLK_DEV_SX8 is not set | 342 | # CONFIG_BLK_DEV_SX8 is not set |
320 | # CONFIG_BLK_DEV_RAM is not set | 343 | # CONFIG_BLK_DEV_RAM is not set |
321 | CONFIG_BLK_DEV_RAM_COUNT=16 | 344 | CONFIG_BLK_DEV_RAM_COUNT=16 |
322 | # CONFIG_LBD is not set | ||
323 | CONFIG_CDROM_PKTCDVD=m | 345 | CONFIG_CDROM_PKTCDVD=m |
324 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 346 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
325 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 347 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
326 | |||
327 | # | ||
328 | # IO Schedulers | ||
329 | # | ||
330 | CONFIG_IOSCHED_NOOP=y | ||
331 | CONFIG_IOSCHED_AS=y | ||
332 | CONFIG_IOSCHED_DEADLINE=y | ||
333 | CONFIG_IOSCHED_CFQ=y | ||
334 | CONFIG_ATA_OVER_ETH=m | 348 | CONFIG_ATA_OVER_ETH=m |
335 | 349 | ||
336 | # | 350 | # |
@@ -382,7 +396,6 @@ CONFIG_NETDEVICES=y | |||
382 | # PHY device support | 396 | # PHY device support |
383 | # | 397 | # |
384 | CONFIG_PHYLIB=m | 398 | CONFIG_PHYLIB=m |
385 | CONFIG_PHYCONTROL=y | ||
386 | 399 | ||
387 | # | 400 | # |
388 | # MII PHY device drivers | 401 | # MII PHY device drivers |
@@ -400,6 +413,7 @@ CONFIG_NET_ETHERNET=y | |||
400 | CONFIG_MII=y | 413 | CONFIG_MII=y |
401 | # CONFIG_HAPPYMEAL is not set | 414 | # CONFIG_HAPPYMEAL is not set |
402 | # CONFIG_SUNGEM is not set | 415 | # CONFIG_SUNGEM is not set |
416 | # CONFIG_CASSINI is not set | ||
403 | # CONFIG_NET_VENDOR_3COM is not set | 417 | # CONFIG_NET_VENDOR_3COM is not set |
404 | 418 | ||
405 | # | 419 | # |
@@ -576,6 +590,10 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
576 | # CONFIG_USB is not set | 590 | # CONFIG_USB is not set |
577 | 591 | ||
578 | # | 592 | # |
593 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
594 | # | ||
595 | |||
596 | # | ||
579 | # USB Gadget Support | 597 | # USB Gadget Support |
580 | # | 598 | # |
581 | # CONFIG_USB_GADGET is not set | 599 | # CONFIG_USB_GADGET is not set |
@@ -690,6 +708,8 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
690 | # CONFIG_DEBUG_HIGHMEM is not set | 708 | # CONFIG_DEBUG_HIGHMEM is not set |
691 | # CONFIG_DEBUG_INFO is not set | 709 | # CONFIG_DEBUG_INFO is not set |
692 | # CONFIG_DEBUG_FS is not set | 710 | # CONFIG_DEBUG_FS is not set |
711 | # CONFIG_DEBUG_VM is not set | ||
712 | # CONFIG_RCU_TORTURE_TEST is not set | ||
693 | CONFIG_CROSSCOMPILE=y | 713 | CONFIG_CROSSCOMPILE=y |
694 | CONFIG_CMDLINE="" | 714 | CONFIG_CMDLINE="" |
695 | # CONFIG_DEBUG_STACK_USAGE is not set | 715 | # CONFIG_DEBUG_STACK_USAGE is not set |
diff --git a/arch/mips/ddb5xxx/ddb5477/lcd44780.c b/arch/mips/ddb5xxx/ddb5477/lcd44780.c index 35c6c22610c5..9510b9ae6453 100644 --- a/arch/mips/ddb5xxx/ddb5477/lcd44780.c +++ b/arch/mips/ddb5xxx/ddb5477/lcd44780.c | |||
@@ -55,7 +55,7 @@ void lcd44780_data(unsigned char c) | |||
55 | 55 | ||
56 | void lcd44780_puts(const char* s) | 56 | void lcd44780_puts(const char* s) |
57 | { | 57 | { |
58 | int i,j; | 58 | int j; |
59 | int pos = 0; | 59 | int pos = 0; |
60 | 60 | ||
61 | lcd44780_command(LCD44780_CLEAR); | 61 | lcd44780_command(LCD44780_CLEAR); |
@@ -76,8 +76,12 @@ void lcd44780_puts(const char* s) | |||
76 | } | 76 | } |
77 | } | 77 | } |
78 | #ifdef LCD44780_PUTS_PAUSE | 78 | #ifdef LCD44780_PUTS_PAUSE |
79 | for(i = 1; i < 2000; i++) | 79 | { |
80 | lcd44780_wait(); | 80 | int i; |
81 | |||
82 | for(i = 1; i < 2000; i++) | ||
83 | lcd44780_wait(); | ||
84 | } | ||
81 | #endif | 85 | #endif |
82 | } | 86 | } |
83 | 87 | ||
diff --git a/arch/mips/defconfig b/arch/mips/defconfig index 4b585e642c2a..e9086da02e48 100644 --- a/arch/mips/defconfig +++ b/arch/mips/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.14-rc2 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Oct 20 22:25:09 2005 | 4 | # Thu Nov 10 12:13:58 2005 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -58,6 +58,24 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
58 | CONFIG_KMOD=y | 58 | CONFIG_KMOD=y |
59 | 59 | ||
60 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
61 | # Machine selection | 79 | # Machine selection |
62 | # | 80 | # |
63 | # CONFIG_MIPS_MTX1 is not set | 81 | # CONFIG_MIPS_MTX1 is not set |
@@ -187,6 +205,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
187 | CONFIG_FLATMEM=y | 205 | CONFIG_FLATMEM=y |
188 | CONFIG_FLAT_NODE_MEM_MAP=y | 206 | CONFIG_FLAT_NODE_MEM_MAP=y |
189 | # CONFIG_SPARSEMEM_STATIC is not set | 207 | # CONFIG_SPARSEMEM_STATIC is not set |
208 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
190 | # CONFIG_PREEMPT_NONE is not set | 209 | # CONFIG_PREEMPT_NONE is not set |
191 | CONFIG_PREEMPT_VOLUNTARY=y | 210 | CONFIG_PREEMPT_VOLUNTARY=y |
192 | # CONFIG_PREEMPT is not set | 211 | # CONFIG_PREEMPT is not set |
@@ -292,6 +311,10 @@ CONFIG_INET6_TUNNEL=m | |||
292 | CONFIG_IPV6_TUNNEL=m | 311 | CONFIG_IPV6_TUNNEL=m |
293 | CONFIG_NETFILTER=y | 312 | CONFIG_NETFILTER=y |
294 | # CONFIG_NETFILTER_DEBUG is not set | 313 | # CONFIG_NETFILTER_DEBUG is not set |
314 | |||
315 | # | ||
316 | # Core Netfilter Configuration | ||
317 | # | ||
295 | CONFIG_NETFILTER_NETLINK=m | 318 | CONFIG_NETFILTER_NETLINK=m |
296 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 319 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
297 | CONFIG_NETFILTER_NETLINK_LOG=m | 320 | CONFIG_NETFILTER_NETLINK_LOG=m |
@@ -345,6 +368,7 @@ CONFIG_IP_NF_TARGET_REJECT=m | |||
345 | CONFIG_IP_NF_TARGET_LOG=m | 368 | CONFIG_IP_NF_TARGET_LOG=m |
346 | CONFIG_IP_NF_TARGET_ULOG=m | 369 | CONFIG_IP_NF_TARGET_ULOG=m |
347 | CONFIG_IP_NF_TARGET_TCPMSS=m | 370 | CONFIG_IP_NF_TARGET_TCPMSS=m |
371 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
348 | CONFIG_IP_NF_NAT=m | 372 | CONFIG_IP_NF_NAT=m |
349 | CONFIG_IP_NF_NAT_NEEDED=y | 373 | CONFIG_IP_NF_NAT_NEEDED=y |
350 | CONFIG_IP_NF_TARGET_MASQUERADE=m | 374 | CONFIG_IP_NF_TARGET_MASQUERADE=m |
@@ -393,6 +417,7 @@ CONFIG_IP6_NF_MATCH_EUI64=m | |||
393 | CONFIG_IP6_NF_FILTER=m | 417 | CONFIG_IP6_NF_FILTER=m |
394 | CONFIG_IP6_NF_TARGET_LOG=m | 418 | CONFIG_IP6_NF_TARGET_LOG=m |
395 | CONFIG_IP6_NF_TARGET_REJECT=m | 419 | CONFIG_IP6_NF_TARGET_REJECT=m |
420 | CONFIG_IP6_NF_TARGET_NFQUEUE=m | ||
396 | CONFIG_IP6_NF_MANGLE=m | 421 | CONFIG_IP6_NF_MANGLE=m |
397 | CONFIG_IP6_NF_TARGET_MARK=m | 422 | CONFIG_IP6_NF_TARGET_MARK=m |
398 | CONFIG_IP6_NF_TARGET_HL=m | 423 | CONFIG_IP6_NF_TARGET_HL=m |
@@ -424,10 +449,18 @@ CONFIG_SCTP_HMAC_MD5=y | |||
424 | CONFIG_NET_DIVERT=y | 449 | CONFIG_NET_DIVERT=y |
425 | # CONFIG_ECONET is not set | 450 | # CONFIG_ECONET is not set |
426 | # CONFIG_WAN_ROUTER is not set | 451 | # CONFIG_WAN_ROUTER is not set |
452 | |||
453 | # | ||
454 | # QoS and/or fair queueing | ||
455 | # | ||
427 | CONFIG_NET_SCHED=y | 456 | CONFIG_NET_SCHED=y |
428 | # CONFIG_NET_SCH_CLK_JIFFIES is not set | 457 | # CONFIG_NET_SCH_CLK_JIFFIES is not set |
429 | CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y | 458 | CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y |
430 | # CONFIG_NET_SCH_CLK_CPU is not set | 459 | # CONFIG_NET_SCH_CLK_CPU is not set |
460 | |||
461 | # | ||
462 | # Queueing/Scheduling | ||
463 | # | ||
431 | CONFIG_NET_SCH_CBQ=m | 464 | CONFIG_NET_SCH_CBQ=m |
432 | CONFIG_NET_SCH_HTB=m | 465 | CONFIG_NET_SCH_HTB=m |
433 | CONFIG_NET_SCH_HFSC=m | 466 | CONFIG_NET_SCH_HFSC=m |
@@ -440,8 +473,10 @@ CONFIG_NET_SCH_GRED=m | |||
440 | CONFIG_NET_SCH_DSMARK=m | 473 | CONFIG_NET_SCH_DSMARK=m |
441 | CONFIG_NET_SCH_NETEM=m | 474 | CONFIG_NET_SCH_NETEM=m |
442 | CONFIG_NET_SCH_INGRESS=m | 475 | CONFIG_NET_SCH_INGRESS=m |
443 | CONFIG_NET_QOS=y | 476 | |
444 | CONFIG_NET_ESTIMATOR=y | 477 | # |
478 | # Classification | ||
479 | # | ||
445 | CONFIG_NET_CLS=y | 480 | CONFIG_NET_CLS=y |
446 | CONFIG_NET_CLS_BASIC=m | 481 | CONFIG_NET_CLS_BASIC=m |
447 | CONFIG_NET_CLS_TCINDEX=m | 482 | CONFIG_NET_CLS_TCINDEX=m |
@@ -450,13 +485,14 @@ CONFIG_NET_CLS_ROUTE=y | |||
450 | CONFIG_NET_CLS_FW=m | 485 | CONFIG_NET_CLS_FW=m |
451 | CONFIG_NET_CLS_U32=m | 486 | CONFIG_NET_CLS_U32=m |
452 | # CONFIG_CLS_U32_PERF is not set | 487 | # CONFIG_CLS_U32_PERF is not set |
453 | # CONFIG_NET_CLS_IND is not set | ||
454 | # CONFIG_CLS_U32_MARK is not set | 488 | # CONFIG_CLS_U32_MARK is not set |
455 | CONFIG_NET_CLS_RSVP=m | 489 | CONFIG_NET_CLS_RSVP=m |
456 | CONFIG_NET_CLS_RSVP6=m | 490 | CONFIG_NET_CLS_RSVP6=m |
457 | # CONFIG_NET_EMATCH is not set | 491 | # CONFIG_NET_EMATCH is not set |
458 | # CONFIG_NET_CLS_ACT is not set | 492 | # CONFIG_NET_CLS_ACT is not set |
459 | CONFIG_NET_CLS_POLICE=y | 493 | CONFIG_NET_CLS_POLICE=y |
494 | # CONFIG_NET_CLS_IND is not set | ||
495 | CONFIG_NET_ESTIMATOR=y | ||
460 | 496 | ||
461 | # | 497 | # |
462 | # Network testing | 498 | # Network testing |
@@ -509,18 +545,9 @@ CONFIG_CONNECTOR=m | |||
509 | # CONFIG_BLK_DEV_NBD is not set | 545 | # CONFIG_BLK_DEV_NBD is not set |
510 | # CONFIG_BLK_DEV_RAM is not set | 546 | # CONFIG_BLK_DEV_RAM is not set |
511 | CONFIG_BLK_DEV_RAM_COUNT=16 | 547 | CONFIG_BLK_DEV_RAM_COUNT=16 |
512 | # CONFIG_LBD is not set | ||
513 | CONFIG_CDROM_PKTCDVD=m | 548 | CONFIG_CDROM_PKTCDVD=m |
514 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 549 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
515 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 550 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
516 | |||
517 | # | ||
518 | # IO Schedulers | ||
519 | # | ||
520 | CONFIG_IOSCHED_NOOP=y | ||
521 | CONFIG_IOSCHED_AS=y | ||
522 | CONFIG_IOSCHED_DEADLINE=y | ||
523 | CONFIG_IOSCHED_CFQ=y | ||
524 | CONFIG_ATA_OVER_ETH=m | 551 | CONFIG_ATA_OVER_ETH=m |
525 | 552 | ||
526 | # | 553 | # |
@@ -564,6 +591,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
564 | # | 591 | # |
565 | # SCSI low-level drivers | 592 | # SCSI low-level drivers |
566 | # | 593 | # |
594 | CONFIG_ISCSI_TCP=m | ||
567 | CONFIG_SGIWD93_SCSI=y | 595 | CONFIG_SGIWD93_SCSI=y |
568 | # CONFIG_SCSI_SATA is not set | 596 | # CONFIG_SCSI_SATA is not set |
569 | # CONFIG_SCSI_DEBUG is not set | 597 | # CONFIG_SCSI_DEBUG is not set |
@@ -599,7 +627,6 @@ CONFIG_TUN=m | |||
599 | # PHY device support | 627 | # PHY device support |
600 | # | 628 | # |
601 | CONFIG_PHYLIB=m | 629 | CONFIG_PHYLIB=m |
602 | CONFIG_PHYCONTROL=y | ||
603 | 630 | ||
604 | # | 631 | # |
605 | # MII PHY device drivers | 632 | # MII PHY device drivers |
@@ -752,6 +779,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
752 | # | 779 | # |
753 | # TPM devices | 780 | # TPM devices |
754 | # | 781 | # |
782 | # CONFIG_TELCLOCK is not set | ||
755 | 783 | ||
756 | # | 784 | # |
757 | # I2C support | 785 | # I2C support |
@@ -821,6 +849,10 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
821 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 849 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
822 | 850 | ||
823 | # | 851 | # |
852 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
853 | # | ||
854 | |||
855 | # | ||
824 | # USB Gadget Support | 856 | # USB Gadget Support |
825 | # | 857 | # |
826 | # CONFIG_USB_GADGET is not set | 858 | # CONFIG_USB_GADGET is not set |
@@ -856,7 +888,7 @@ CONFIG_FS_MBCACHE=y | |||
856 | CONFIG_FS_POSIX_ACL=y | 888 | CONFIG_FS_POSIX_ACL=y |
857 | CONFIG_XFS_FS=m | 889 | CONFIG_XFS_FS=m |
858 | CONFIG_XFS_EXPORT=y | 890 | CONFIG_XFS_EXPORT=y |
859 | CONFIG_XFS_QUOTA=m | 891 | CONFIG_XFS_QUOTA=y |
860 | CONFIG_XFS_SECURITY=y | 892 | CONFIG_XFS_SECURITY=y |
861 | # CONFIG_XFS_POSIX_ACL is not set | 893 | # CONFIG_XFS_POSIX_ACL is not set |
862 | # CONFIG_XFS_RT is not set | 894 | # CONFIG_XFS_RT is not set |
diff --git a/arch/mips/jmr3927/common/rtc_ds1742.c b/arch/mips/jmr3927/common/rtc_ds1742.c index 8b407d7dc460..9a8bff153d80 100644 --- a/arch/mips/jmr3927/common/rtc_ds1742.c +++ b/arch/mips/jmr3927/common/rtc_ds1742.c | |||
@@ -41,11 +41,11 @@ | |||
41 | #include <linux/types.h> | 41 | #include <linux/types.h> |
42 | #include <linux/time.h> | 42 | #include <linux/time.h> |
43 | #include <linux/rtc.h> | 43 | #include <linux/rtc.h> |
44 | #include <linux/ds1742rtc.h> | ||
44 | 45 | ||
45 | #include <asm/time.h> | 46 | #include <asm/time.h> |
46 | #include <asm/addrspace.h> | 47 | #include <asm/addrspace.h> |
47 | 48 | ||
48 | #include <asm/jmr3927/ds1742rtc.h> | ||
49 | #include <asm/debug.h> | 49 | #include <asm/debug.h> |
50 | 50 | ||
51 | #define EPOCH 2000 | 51 | #define EPOCH 2000 |
diff --git a/arch/mips/jmr3927/rbhma3100/setup.c b/arch/mips/jmr3927/rbhma3100/setup.c index 3e2fbdc66097..55ad0a578794 100644 --- a/arch/mips/jmr3927/rbhma3100/setup.c +++ b/arch/mips/jmr3927/rbhma3100/setup.c | |||
@@ -357,7 +357,7 @@ static void __init jmr3927_board_init(void) | |||
357 | jmr3927_io_dipsw()); | 357 | jmr3927_io_dipsw()); |
358 | } | 358 | } |
359 | 359 | ||
360 | void __init plat_setup(void) | 360 | void __init tx3927_setup(void) |
361 | { | 361 | { |
362 | int i; | 362 | int i; |
363 | 363 | ||
diff --git a/arch/mips/mips-boards/sead/sead_int.c b/arch/mips/mips-boards/sead/sead_int.c index e1dd7e009750..90fda0d9915f 100644 --- a/arch/mips/mips-boards/sead/sead_int.c +++ b/arch/mips/mips-boards/sead/sead_int.c | |||
@@ -30,19 +30,9 @@ | |||
30 | 30 | ||
31 | extern asmlinkage void mipsIRQ(void); | 31 | extern asmlinkage void mipsIRQ(void); |
32 | 32 | ||
33 | asmlinkage void sead_hw0_irqdispatch(struct pt_regs *regs) | ||
34 | { | ||
35 | do_IRQ(SEADINT_UART0, regs); | ||
36 | } | ||
37 | |||
38 | asmlinkage void sead_hw1_irqdispatch(struct pt_regs *regs) | ||
39 | { | ||
40 | do_IRQ(SEADINT_UART1, regs); | ||
41 | } | ||
42 | |||
43 | void __init arch_init_irq(void) | 33 | void __init arch_init_irq(void) |
44 | { | 34 | { |
45 | mips_cpu_irq_init(0); | 35 | mips_cpu_irq_init(MIPSCPU_INT_BASE); |
46 | 36 | ||
47 | /* Now safe to set the exception vector. */ | 37 | /* Now safe to set the exception vector. */ |
48 | set_except_vector(0, mipsIRQ); | 38 | set_except_vector(0, mipsIRQ); |
diff --git a/arch/mips/mips-boards/sead/sead_setup.c b/arch/mips/mips-boards/sead/sead_setup.c index de90bec5505e..f966bc161dfa 100644 --- a/arch/mips/mips-boards/sead/sead_setup.c +++ b/arch/mips/mips-boards/sead/sead_setup.c | |||
@@ -45,7 +45,7 @@ const char *get_system_type(void) | |||
45 | return "MIPS SEAD"; | 45 | return "MIPS SEAD"; |
46 | } | 46 | } |
47 | 47 | ||
48 | static void __init sead_setup(void) | 48 | void __init plat_setup(void) |
49 | { | 49 | { |
50 | ioport_resource.end = 0x7fffffff; | 50 | ioport_resource.end = 0x7fffffff; |
51 | 51 | ||
@@ -69,7 +69,7 @@ static void __init serial_init(void) | |||
69 | #else | 69 | #else |
70 | s.iobase = SEAD_UART0_REGS_BASE+3; | 70 | s.iobase = SEAD_UART0_REGS_BASE+3; |
71 | #endif | 71 | #endif |
72 | s.irq = SEADINT_UART0; | 72 | s.irq = MIPSCPU_INT_BASE + MIPSCPU_INT_UART0; |
73 | s.uartclk = SEAD_BASE_BAUD * 16; | 73 | s.uartclk = SEAD_BASE_BAUD * 16; |
74 | s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ; | 74 | s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ; |
75 | s.iotype = 0; | 75 | s.iotype = 0; |
diff --git a/arch/mips/momentum/ocelot_g/gt-irq.c b/arch/mips/momentum/ocelot_g/gt-irq.c index d0b5c9dd0ea4..e5eceed1beff 100644 --- a/arch/mips/momentum/ocelot_g/gt-irq.c +++ b/arch/mips/momentum/ocelot_g/gt-irq.c | |||
@@ -178,7 +178,7 @@ void gt64240_time_init(void) | |||
178 | timer.name = "timer"; | 178 | timer.name = "timer"; |
179 | timer.dev_id = NULL; | 179 | timer.dev_id = NULL; |
180 | timer.next = NULL; | 180 | timer.next = NULL; |
181 | timer.mask = 0; | 181 | timer.mask = CPU_MASK_NONE; |
182 | irq_desc[6].action = &timer; | 182 | irq_desc[6].action = &timer; |
183 | 183 | ||
184 | enable_irq(6); | 184 | enable_irq(6); |
diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile index 7b7468304022..741e67c9195a 100644 --- a/arch/mips/pci/Makefile +++ b/arch/mips/pci/Makefile | |||
@@ -15,7 +15,7 @@ obj-$(CONFIG_MIPS_GT96100) += ops-gt96100.o | |||
15 | obj-$(CONFIG_PCI_MARVELL) += ops-marvell.o | 15 | obj-$(CONFIG_PCI_MARVELL) += ops-marvell.o |
16 | obj-$(CONFIG_MIPS_MSC) += ops-msc.o | 16 | obj-$(CONFIG_MIPS_MSC) += ops-msc.o |
17 | obj-$(CONFIG_MIPS_NILE4) += ops-nile4.o | 17 | obj-$(CONFIG_MIPS_NILE4) += ops-nile4.o |
18 | obj-$(CONFIG_MIPS_TX3927) += ops-jmr3927.o | 18 | obj-$(CONFIG_MIPS_TX3927) += ops-tx3927.o |
19 | obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o | 19 | obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o |
20 | obj-$(CONFIG_NEC_CMBVR4133) += fixup-vr4133.o | 20 | obj-$(CONFIG_NEC_CMBVR4133) += fixup-vr4133.o |
21 | 21 | ||
diff --git a/arch/mips/pci/ops-tx3927.c b/arch/mips/pci/ops-tx3927.c index 0e0daadc303d..42530a0b84b3 100644 --- a/arch/mips/pci/ops-tx3927.c +++ b/arch/mips/pci/ops-tx3927.c | |||
@@ -72,13 +72,9 @@ static inline int check_abort(void) | |||
72 | static int jmr3927_pci_read_config(struct pci_bus *bus, unsigned int devfn, | 72 | static int jmr3927_pci_read_config(struct pci_bus *bus, unsigned int devfn, |
73 | int where, int size, u32 * val) | 73 | int where, int size, u32 * val) |
74 | { | 74 | { |
75 | int ret, busno; | 75 | int ret; |
76 | 76 | ||
77 | /* check if the bus is top-level */ | 77 | ret = mkaddr(bus->number, devfn, where); |
78 | if (bus->parent != NULL) | ||
79 | busno = bus->number; | ||
80 | |||
81 | ret = mkaddr(busno, devfn, where); | ||
82 | if (ret) | 78 | if (ret) |
83 | return ret; | 79 | return ret; |
84 | 80 | ||
@@ -102,15 +98,9 @@ static int jmr3927_pci_read_config(struct pci_bus *bus, unsigned int devfn, | |||
102 | static int jmr3927_pci_write_config(struct pci_bus *bus, unsigned int devfn, | 98 | static int jmr3927_pci_write_config(struct pci_bus *bus, unsigned int devfn, |
103 | int where, int size, u32 val) | 99 | int where, int size, u32 val) |
104 | { | 100 | { |
105 | int ret, busno; | 101 | int ret; |
106 | |||
107 | /* check if the bus is top-level */ | ||
108 | if (bus->parent != NULL) | ||
109 | bus = bus->number; | ||
110 | else | ||
111 | bus = 0; | ||
112 | 102 | ||
113 | ret = mkaddr(busno, devfn, where); | 103 | ret = mkaddr(bus->number, devfn, where); |
114 | if (ret) | 104 | if (ret) |
115 | return ret; | 105 | return ret; |
116 | 106 | ||
@@ -120,7 +110,7 @@ static int jmr3927_pci_write_config(struct pci_bus *bus, unsigned int devfn, | |||
120 | break; | 110 | break; |
121 | 111 | ||
122 | case 2: | 112 | case 2: |
123 | *(volatile u16 *) (unsigned longulong) & tx3927_pcicptr->icd | (where & 2)) = | 113 | *(volatile u16 *) ((unsigned long) & tx3927_pcicptr->icd | (where & 2)) = |
124 | cpu_to_le16(val); | 114 | cpu_to_le16(val); |
125 | break; | 115 | break; |
126 | 116 | ||
@@ -137,8 +127,8 @@ static int jmr3927_pci_write_config(struct pci_bus *bus, unsigned int devfn, | |||
137 | } | 127 | } |
138 | 128 | ||
139 | struct pci_ops jmr3927_pci_ops = { | 129 | struct pci_ops jmr3927_pci_ops = { |
140 | jmr3927_pcibios_read_config, | 130 | jmr3927_pci_read_config, |
141 | jmr3927_pcibios_write_config, | 131 | jmr3927_pci_write_config, |
142 | }; | 132 | }; |
143 | 133 | ||
144 | 134 | ||
@@ -159,15 +149,14 @@ unsigned long tc_readl(volatile __u32 * addr) | |||
159 | { | 149 | { |
160 | unsigned long val; | 150 | unsigned long val; |
161 | 151 | ||
162 | addr = PHYSADDR(addr); | 152 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipciaddr = |
163 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipciaddr = | 153 | (unsigned long) CPHYSADDR(addr); |
164 | (unsigned long) addr; | 154 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcibe = |
165 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcibe = | ||
166 | (PCI_IPCIBE_ICMD_MEMREAD << PCI_IPCIBE_ICMD_SHIFT) | | 155 | (PCI_IPCIBE_ICMD_MEMREAD << PCI_IPCIBE_ICMD_SHIFT) | |
167 | PCI_IPCIBE_IBE_LONG; | 156 | PCI_IPCIBE_IBE_LONG; |
168 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); | 157 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); |
169 | val = | 158 | val = |
170 | le32_to_cpu(*(volatile u32 *) (ulong) & tx3927_pcicptr-> | 159 | le32_to_cpu(*(volatile u32 *) (unsigned long) & tx3927_pcicptr-> |
171 | ipcidata); | 160 | ipcidata); |
172 | /* clear by setting */ | 161 | /* clear by setting */ |
173 | tx3927_pcicptr->istat |= PCI_ISTAT_IDICC; | 162 | tx3927_pcicptr->istat |= PCI_ISTAT_IDICC; |
@@ -176,12 +165,11 @@ unsigned long tc_readl(volatile __u32 * addr) | |||
176 | 165 | ||
177 | void tc_writel(unsigned long data, volatile __u32 * addr) | 166 | void tc_writel(unsigned long data, volatile __u32 * addr) |
178 | { | 167 | { |
179 | addr = PHYSADDR(addr); | 168 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcidata = |
180 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcidata = | ||
181 | cpu_to_le32(data); | 169 | cpu_to_le32(data); |
182 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipciaddr = | 170 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipciaddr = |
183 | (unsigned long) addr; | 171 | (unsigned long) CPHYSADDR(addr); |
184 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcibe = | 172 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcibe = |
185 | (PCI_IPCIBE_ICMD_MEMWRITE << PCI_IPCIBE_ICMD_SHIFT) | | 173 | (PCI_IPCIBE_ICMD_MEMWRITE << PCI_IPCIBE_ICMD_SHIFT) | |
186 | PCI_IPCIBE_IBE_LONG; | 174 | PCI_IPCIBE_IBE_LONG; |
187 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); | 175 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); |
@@ -198,21 +186,15 @@ unsigned char tx_ioinb(unsigned char *addr) | |||
198 | 186 | ||
199 | ioaddr = (unsigned long) addr; | 187 | ioaddr = (unsigned long) addr; |
200 | offset = ioaddr & 0x3; | 188 | offset = ioaddr & 0x3; |
201 | if (offset == 0) | 189 | byte = 0xf & ~(8 >> offset); |
202 | byte = 0x7; | 190 | |
203 | else if (offset == 1) | 191 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipciaddr = |
204 | byte = 0xb; | ||
205 | else if (offset == 2) | ||
206 | byte = 0xd; | ||
207 | else if (offset == 3) | ||
208 | byte = 0xe; | ||
209 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipciaddr = | ||
210 | (unsigned long) ioaddr; | 192 | (unsigned long) ioaddr; |
211 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcibe = | 193 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcibe = |
212 | (PCI_IPCIBE_ICMD_IOREAD << PCI_IPCIBE_ICMD_SHIFT) | byte; | 194 | (PCI_IPCIBE_ICMD_IOREAD << PCI_IPCIBE_ICMD_SHIFT) | byte; |
213 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); | 195 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); |
214 | val = | 196 | val = |
215 | le32_to_cpu(*(volatile u32 *) (ulong) & tx3927_pcicptr-> | 197 | le32_to_cpu(*(volatile u32 *) (unsigned long) & tx3927_pcicptr-> |
216 | ipcidata); | 198 | ipcidata); |
217 | val = val & 0xff; | 199 | val = val & 0xff; |
218 | /* clear by setting */ | 200 | /* clear by setting */ |
@@ -229,18 +211,12 @@ void tx_iooutb(unsigned long data, unsigned char *addr) | |||
229 | data = data | (data << 8) | (data << 16) | (data << 24); | 211 | data = data | (data << 8) | (data << 16) | (data << 24); |
230 | ioaddr = (unsigned long) addr; | 212 | ioaddr = (unsigned long) addr; |
231 | offset = ioaddr & 0x3; | 213 | offset = ioaddr & 0x3; |
232 | if (offset == 0) | 214 | byte = 0xf & ~(8 >> offset); |
233 | byte = 0x7; | 215 | |
234 | else if (offset == 1) | 216 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcidata = data; |
235 | byte = 0xb; | 217 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipciaddr = |
236 | else if (offset == 2) | ||
237 | byte = 0xd; | ||
238 | else if (offset == 3) | ||
239 | byte = 0xe; | ||
240 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcidata = data; | ||
241 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipciaddr = | ||
242 | (unsigned long) ioaddr; | 218 | (unsigned long) ioaddr; |
243 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcibe = | 219 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcibe = |
244 | (PCI_IPCIBE_ICMD_IOWRITE << PCI_IPCIBE_ICMD_SHIFT) | byte; | 220 | (PCI_IPCIBE_ICMD_IOWRITE << PCI_IPCIBE_ICMD_SHIFT) | byte; |
245 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); | 221 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); |
246 | /* clear by setting */ | 222 | /* clear by setting */ |
@@ -255,18 +231,16 @@ unsigned short tx_ioinw(unsigned short *addr) | |||
255 | int byte; | 231 | int byte; |
256 | 232 | ||
257 | ioaddr = (unsigned long) addr; | 233 | ioaddr = (unsigned long) addr; |
258 | offset = ioaddr & 0x3; | 234 | offset = ioaddr & 0x2; |
259 | if (offset == 0) | 235 | byte = 3 << offset; |
260 | byte = 0x3; | 236 | |
261 | else if (offset == 2) | 237 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipciaddr = |
262 | byte = 0xc; | ||
263 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipciaddr = | ||
264 | (unsigned long) ioaddr; | 238 | (unsigned long) ioaddr; |
265 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcibe = | 239 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcibe = |
266 | (PCI_IPCIBE_ICMD_IOREAD << PCI_IPCIBE_ICMD_SHIFT) | byte; | 240 | (PCI_IPCIBE_ICMD_IOREAD << PCI_IPCIBE_ICMD_SHIFT) | byte; |
267 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); | 241 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); |
268 | val = | 242 | val = |
269 | le32_to_cpu(*(volatile u32 *) (ulong) & tx3927_pcicptr-> | 243 | le32_to_cpu(*(volatile u32 *) (unsigned long) & tx3927_pcicptr-> |
270 | ipcidata); | 244 | ipcidata); |
271 | val = val & 0xffff; | 245 | val = val & 0xffff; |
272 | /* clear by setting */ | 246 | /* clear by setting */ |
@@ -283,15 +257,13 @@ void tx_iooutw(unsigned long data, unsigned short *addr) | |||
283 | 257 | ||
284 | data = data | (data << 16); | 258 | data = data | (data << 16); |
285 | ioaddr = (unsigned long) addr; | 259 | ioaddr = (unsigned long) addr; |
286 | offset = ioaddr & 0x3; | 260 | offset = ioaddr & 0x2; |
287 | if (offset == 0) | 261 | byte = 3 << offset; |
288 | byte = 0x3; | 262 | |
289 | else if (offset == 2) | 263 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcidata = data; |
290 | byte = 0xc; | 264 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipciaddr = |
291 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcidata = data; | ||
292 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipciaddr = | ||
293 | (unsigned long) ioaddr; | 265 | (unsigned long) ioaddr; |
294 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcibe = | 266 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcibe = |
295 | (PCI_IPCIBE_ICMD_IOWRITE << PCI_IPCIBE_ICMD_SHIFT) | byte; | 267 | (PCI_IPCIBE_ICMD_IOWRITE << PCI_IPCIBE_ICMD_SHIFT) | byte; |
296 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); | 268 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); |
297 | /* clear by setting */ | 269 | /* clear by setting */ |
@@ -304,14 +276,14 @@ unsigned long tx_ioinl(unsigned int *addr) | |||
304 | __u32 ioaddr; | 276 | __u32 ioaddr; |
305 | 277 | ||
306 | ioaddr = (unsigned long) addr; | 278 | ioaddr = (unsigned long) addr; |
307 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipciaddr = | 279 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipciaddr = |
308 | (unsigned long) ioaddr; | 280 | (unsigned long) ioaddr; |
309 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcibe = | 281 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcibe = |
310 | (PCI_IPCIBE_ICMD_IOREAD << PCI_IPCIBE_ICMD_SHIFT) | | 282 | (PCI_IPCIBE_ICMD_IOREAD << PCI_IPCIBE_ICMD_SHIFT) | |
311 | PCI_IPCIBE_IBE_LONG; | 283 | PCI_IPCIBE_IBE_LONG; |
312 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); | 284 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); |
313 | val = | 285 | val = |
314 | le32_to_cpu(*(volatile u32 *) (ulong) & tx3927_pcicptr-> | 286 | le32_to_cpu(*(volatile u32 *) (unsigned long) & tx3927_pcicptr-> |
315 | ipcidata); | 287 | ipcidata); |
316 | /* clear by setting */ | 288 | /* clear by setting */ |
317 | tx3927_pcicptr->istat |= PCI_ISTAT_IDICC; | 289 | tx3927_pcicptr->istat |= PCI_ISTAT_IDICC; |
@@ -323,11 +295,11 @@ void tx_iooutl(unsigned long data, unsigned int *addr) | |||
323 | __u32 ioaddr; | 295 | __u32 ioaddr; |
324 | 296 | ||
325 | ioaddr = (unsigned long) addr; | 297 | ioaddr = (unsigned long) addr; |
326 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcidata = | 298 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcidata = |
327 | cpu_to_le32(data); | 299 | cpu_to_le32(data); |
328 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipciaddr = | 300 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipciaddr = |
329 | (unsigned long) ioaddr; | 301 | (unsigned long) ioaddr; |
330 | *(volatile u32 *) (ulong) & tx3927_pcicptr->ipcibe = | 302 | *(volatile u32 *) (unsigned long) & tx3927_pcicptr->ipcibe = |
331 | (PCI_IPCIBE_ICMD_IOWRITE << PCI_IPCIBE_ICMD_SHIFT) | | 303 | (PCI_IPCIBE_ICMD_IOWRITE << PCI_IPCIBE_ICMD_SHIFT) | |
332 | PCI_IPCIBE_IBE_LONG; | 304 | PCI_IPCIBE_IBE_LONG; |
333 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); | 305 | while (!(tx3927_pcicptr->istat & PCI_ISTAT_IDICC)); |
diff --git a/arch/mips/pci/pci-jmr3927.c b/arch/mips/pci/pci-jmr3927.c index 95a028769e56..f02ef6e36b02 100644 --- a/arch/mips/pci/pci-jmr3927.c +++ b/arch/mips/pci/pci-jmr3927.c | |||
@@ -54,5 +54,5 @@ struct pci_controller jmr3927_controller = { | |||
54 | .pci_ops = &jmr3927_pci_ops, | 54 | .pci_ops = &jmr3927_pci_ops, |
55 | .io_resource = &pci_io_resource, | 55 | .io_resource = &pci_io_resource, |
56 | .mem_resource = &pci_mem_resource, | 56 | .mem_resource = &pci_mem_resource, |
57 | .mem_offset = JMR3927_PCIMEM; | 57 | .mem_offset = JMR3927_PCIMEM |
58 | }; | 58 | }; |
diff --git a/arch/mips/sgi-ip32/crime.c b/arch/mips/sgi-ip32/crime.c index eb3a16a04fee..41b5eca1148c 100644 --- a/arch/mips/sgi-ip32/crime.c +++ b/arch/mips/sgi-ip32/crime.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/interrupt.h> | 12 | #include <linux/interrupt.h> |
13 | #include <linux/module.h> | ||
13 | #include <asm/bootinfo.h> | 14 | #include <asm/bootinfo.h> |
14 | #include <asm/io.h> | 15 | #include <asm/io.h> |
15 | #include <asm/mipsregs.h> | 16 | #include <asm/mipsregs.h> |
@@ -18,8 +19,10 @@ | |||
18 | #include <asm/ip32/crime.h> | 19 | #include <asm/ip32/crime.h> |
19 | #include <asm/ip32/mace.h> | 20 | #include <asm/ip32/mace.h> |
20 | 21 | ||
21 | struct sgi_crime *crime; | 22 | struct sgi_crime __iomem *crime; |
22 | struct sgi_mace *mace; | 23 | struct sgi_mace __iomem *mace; |
24 | |||
25 | EXPORT_SYMBOL_GPL(mace); | ||
23 | 26 | ||
24 | void __init crime_init(void) | 27 | void __init crime_init(void) |
25 | { | 28 | { |
diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c index 988844a169e6..d016d672ec2b 100644 --- a/arch/parisc/kernel/drivers.c +++ b/arch/parisc/kernel/drivers.c | |||
@@ -499,8 +499,12 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path) | |||
499 | 499 | ||
500 | dev = create_parisc_device(mod_path); | 500 | dev = create_parisc_device(mod_path); |
501 | if (dev->id.hw_type != HPHW_FAULTY) { | 501 | if (dev->id.hw_type != HPHW_FAULTY) { |
502 | printk("Two devices have hardware path %s. Please file a bug with HP.\n" | 502 | printk(KERN_ERR "Two devices have hardware path [%s]. " |
503 | "In the meantime, you could try rearranging your cards.\n", parisc_pathname(dev)); | 503 | "IODC data for second device: " |
504 | "%02x%02x%02x%02x%02x%02x\n" | ||
505 | "Rearranging GSC cards sometimes helps\n", | ||
506 | parisc_pathname(dev), iodc_data[0], iodc_data[1], | ||
507 | iodc_data[3], iodc_data[4], iodc_data[5], iodc_data[6]); | ||
504 | return NULL; | 508 | return NULL; |
505 | } | 509 | } |
506 | 510 | ||
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S index c7e66ee5b083..9af4b22a6d77 100644 --- a/arch/parisc/kernel/entry.S +++ b/arch/parisc/kernel/entry.S | |||
@@ -1846,6 +1846,7 @@ sys_clone_wrapper: | |||
1846 | ldo -16(%r30),%r29 /* Reference param save area */ | 1846 | ldo -16(%r30),%r29 /* Reference param save area */ |
1847 | #endif | 1847 | #endif |
1848 | 1848 | ||
1849 | /* WARNING - Clobbers r19 and r21, userspace must save these! */ | ||
1849 | STREG %r2,PT_GR19(%r1) /* save for child */ | 1850 | STREG %r2,PT_GR19(%r1) /* save for child */ |
1850 | STREG %r30,PT_GR21(%r1) | 1851 | STREG %r30,PT_GR21(%r1) |
1851 | BL sys_clone,%r2 | 1852 | BL sys_clone,%r2 |
diff --git a/arch/parisc/kernel/inventory.c b/arch/parisc/kernel/inventory.c index 1a1c66422736..8f563871e83c 100644 --- a/arch/parisc/kernel/inventory.c +++ b/arch/parisc/kernel/inventory.c | |||
@@ -188,7 +188,7 @@ pat_query_module(ulong pcell_loc, ulong mod_index) | |||
188 | temp = pa_pdc_cell.cba; | 188 | temp = pa_pdc_cell.cba; |
189 | dev = alloc_pa_dev(PAT_GET_CBA(temp), &pa_pdc_cell.mod_path); | 189 | dev = alloc_pa_dev(PAT_GET_CBA(temp), &pa_pdc_cell.mod_path); |
190 | if (!dev) { | 190 | if (!dev) { |
191 | return PDC_NE_MOD; | 191 | return PDC_OK; |
192 | } | 192 | } |
193 | 193 | ||
194 | /* alloc_pa_dev sets dev->hpa */ | 194 | /* alloc_pa_dev sets dev->hpa */ |
diff --git a/arch/parisc/kernel/ioctl32.c b/arch/parisc/kernel/ioctl32.c index 0a331104ad56..4eada1bb27f0 100644 --- a/arch/parisc/kernel/ioctl32.c +++ b/arch/parisc/kernel/ioctl32.c | |||
@@ -19,536 +19,6 @@ | |||
19 | #define CODE | 19 | #define CODE |
20 | #include "compat_ioctl.c" | 20 | #include "compat_ioctl.c" |
21 | 21 | ||
22 | /* Use this to get at 32-bit user passed pointers. | ||
23 | See sys_sparc32.c for description about these. */ | ||
24 | #define A(__x) ((unsigned long)(__x)) | ||
25 | /* The same for use with copy_from_user() and copy_to_user(). */ | ||
26 | #define B(__x) ((void *)(unsigned long)(__x)) | ||
27 | |||
28 | #if defined(CONFIG_DRM) || defined(CONFIG_DRM_MODULE) | ||
29 | /* This really belongs in include/linux/drm.h -DaveM */ | ||
30 | #include "../../../drivers/char/drm/drm.h" | ||
31 | |||
32 | typedef struct drm32_version { | ||
33 | int version_major; /* Major version */ | ||
34 | int version_minor; /* Minor version */ | ||
35 | int version_patchlevel;/* Patch level */ | ||
36 | int name_len; /* Length of name buffer */ | ||
37 | u32 name; /* Name of driver */ | ||
38 | int date_len; /* Length of date buffer */ | ||
39 | u32 date; /* User-space buffer to hold date */ | ||
40 | int desc_len; /* Length of desc buffer */ | ||
41 | u32 desc; /* User-space buffer to hold desc */ | ||
42 | } drm32_version_t; | ||
43 | #define DRM32_IOCTL_VERSION DRM_IOWR(0x00, drm32_version_t) | ||
44 | |||
45 | static int drm32_version(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
46 | { | ||
47 | drm32_version_t *uversion = (drm32_version_t *)arg; | ||
48 | char *name_ptr, *date_ptr, *desc_ptr; | ||
49 | u32 tmp1, tmp2, tmp3; | ||
50 | drm_version_t kversion; | ||
51 | mm_segment_t old_fs; | ||
52 | int ret; | ||
53 | |||
54 | memset(&kversion, 0, sizeof(kversion)); | ||
55 | if (get_user(kversion.name_len, &uversion->name_len) || | ||
56 | get_user(kversion.date_len, &uversion->date_len) || | ||
57 | get_user(kversion.desc_len, &uversion->desc_len) || | ||
58 | get_user(tmp1, &uversion->name) || | ||
59 | get_user(tmp2, &uversion->date) || | ||
60 | get_user(tmp3, &uversion->desc)) | ||
61 | return -EFAULT; | ||
62 | |||
63 | name_ptr = (char *) A(tmp1); | ||
64 | date_ptr = (char *) A(tmp2); | ||
65 | desc_ptr = (char *) A(tmp3); | ||
66 | |||
67 | ret = -ENOMEM; | ||
68 | if (kversion.name_len && name_ptr) { | ||
69 | kversion.name = kmalloc(kversion.name_len, GFP_KERNEL); | ||
70 | if (!kversion.name) | ||
71 | goto out; | ||
72 | } | ||
73 | if (kversion.date_len && date_ptr) { | ||
74 | kversion.date = kmalloc(kversion.date_len, GFP_KERNEL); | ||
75 | if (!kversion.date) | ||
76 | goto out; | ||
77 | } | ||
78 | if (kversion.desc_len && desc_ptr) { | ||
79 | kversion.desc = kmalloc(kversion.desc_len, GFP_KERNEL); | ||
80 | if (!kversion.desc) | ||
81 | goto out; | ||
82 | } | ||
83 | |||
84 | old_fs = get_fs(); | ||
85 | set_fs(KERNEL_DS); | ||
86 | ret = sys_ioctl (fd, DRM_IOCTL_VERSION, (unsigned long)&kversion); | ||
87 | set_fs(old_fs); | ||
88 | |||
89 | if (!ret) { | ||
90 | if ((kversion.name && | ||
91 | copy_to_user(name_ptr, kversion.name, kversion.name_len)) || | ||
92 | (kversion.date && | ||
93 | copy_to_user(date_ptr, kversion.date, kversion.date_len)) || | ||
94 | (kversion.desc && | ||
95 | copy_to_user(desc_ptr, kversion.desc, kversion.desc_len))) | ||
96 | ret = -EFAULT; | ||
97 | if (put_user(kversion.version_major, &uversion->version_major) || | ||
98 | put_user(kversion.version_minor, &uversion->version_minor) || | ||
99 | put_user(kversion.version_patchlevel, &uversion->version_patchlevel) || | ||
100 | put_user(kversion.name_len, &uversion->name_len) || | ||
101 | put_user(kversion.date_len, &uversion->date_len) || | ||
102 | put_user(kversion.desc_len, &uversion->desc_len)) | ||
103 | ret = -EFAULT; | ||
104 | } | ||
105 | |||
106 | out: | ||
107 | kfree(kversion.name); | ||
108 | kfree(kversion.date); | ||
109 | kfree(kversion.desc); | ||
110 | return ret; | ||
111 | } | ||
112 | |||
113 | typedef struct drm32_unique { | ||
114 | int unique_len; /* Length of unique */ | ||
115 | u32 unique; /* Unique name for driver instantiation */ | ||
116 | } drm32_unique_t; | ||
117 | #define DRM32_IOCTL_GET_UNIQUE DRM_IOWR(0x01, drm32_unique_t) | ||
118 | #define DRM32_IOCTL_SET_UNIQUE DRM_IOW( 0x10, drm32_unique_t) | ||
119 | |||
120 | static int drm32_getsetunique(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
121 | { | ||
122 | drm32_unique_t *uarg = (drm32_unique_t *)arg; | ||
123 | drm_unique_t karg; | ||
124 | mm_segment_t old_fs; | ||
125 | char *uptr; | ||
126 | u32 tmp; | ||
127 | int ret; | ||
128 | |||
129 | if (get_user(karg.unique_len, &uarg->unique_len)) | ||
130 | return -EFAULT; | ||
131 | karg.unique = NULL; | ||
132 | |||
133 | if (get_user(tmp, &uarg->unique)) | ||
134 | return -EFAULT; | ||
135 | |||
136 | uptr = (char *) A(tmp); | ||
137 | |||
138 | if (uptr) { | ||
139 | karg.unique = kmalloc(karg.unique_len, GFP_KERNEL); | ||
140 | if (!karg.unique) | ||
141 | return -ENOMEM; | ||
142 | if (cmd == DRM32_IOCTL_SET_UNIQUE && | ||
143 | copy_from_user(karg.unique, uptr, karg.unique_len)) { | ||
144 | kfree(karg.unique); | ||
145 | return -EFAULT; | ||
146 | } | ||
147 | } | ||
148 | |||
149 | old_fs = get_fs(); | ||
150 | set_fs(KERNEL_DS); | ||
151 | if (cmd == DRM32_IOCTL_GET_UNIQUE) | ||
152 | ret = sys_ioctl (fd, DRM_IOCTL_GET_UNIQUE, (unsigned long)&karg); | ||
153 | else | ||
154 | ret = sys_ioctl (fd, DRM_IOCTL_SET_UNIQUE, (unsigned long)&karg); | ||
155 | set_fs(old_fs); | ||
156 | |||
157 | if (!ret) { | ||
158 | if (cmd == DRM32_IOCTL_GET_UNIQUE && | ||
159 | uptr != NULL && | ||
160 | copy_to_user(uptr, karg.unique, karg.unique_len)) | ||
161 | ret = -EFAULT; | ||
162 | if (put_user(karg.unique_len, &uarg->unique_len)) | ||
163 | ret = -EFAULT; | ||
164 | } | ||
165 | |||
166 | kfree(karg.unique); | ||
167 | return ret; | ||
168 | } | ||
169 | |||
170 | typedef struct drm32_map { | ||
171 | u32 offset; /* Requested physical address (0 for SAREA)*/ | ||
172 | u32 size; /* Requested physical size (bytes) */ | ||
173 | drm_map_type_t type; /* Type of memory to map */ | ||
174 | drm_map_flags_t flags; /* Flags */ | ||
175 | u32 handle; /* User-space: "Handle" to pass to mmap */ | ||
176 | /* Kernel-space: kernel-virtual address */ | ||
177 | int mtrr; /* MTRR slot used */ | ||
178 | /* Private data */ | ||
179 | } drm32_map_t; | ||
180 | #define DRM32_IOCTL_ADD_MAP DRM_IOWR(0x15, drm32_map_t) | ||
181 | |||
182 | static int drm32_addmap(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
183 | { | ||
184 | drm32_map_t *uarg = (drm32_map_t *) arg; | ||
185 | drm_map_t karg; | ||
186 | mm_segment_t old_fs; | ||
187 | u32 tmp; | ||
188 | int ret; | ||
189 | |||
190 | ret = get_user(karg.offset, &uarg->offset); | ||
191 | ret |= get_user(karg.size, &uarg->size); | ||
192 | ret |= get_user(karg.type, &uarg->type); | ||
193 | ret |= get_user(karg.flags, &uarg->flags); | ||
194 | ret |= get_user(tmp, &uarg->handle); | ||
195 | ret |= get_user(karg.mtrr, &uarg->mtrr); | ||
196 | if (ret) | ||
197 | return -EFAULT; | ||
198 | |||
199 | karg.handle = (void *) A(tmp); | ||
200 | |||
201 | old_fs = get_fs(); | ||
202 | set_fs(KERNEL_DS); | ||
203 | ret = sys_ioctl(fd, DRM_IOCTL_ADD_MAP, (unsigned long) &karg); | ||
204 | set_fs(old_fs); | ||
205 | |||
206 | if (!ret) { | ||
207 | ret = put_user(karg.offset, &uarg->offset); | ||
208 | ret |= put_user(karg.size, &uarg->size); | ||
209 | ret |= put_user(karg.type, &uarg->type); | ||
210 | ret |= put_user(karg.flags, &uarg->flags); | ||
211 | tmp = (u32) (long)karg.handle; | ||
212 | ret |= put_user(tmp, &uarg->handle); | ||
213 | ret |= put_user(karg.mtrr, &uarg->mtrr); | ||
214 | if (ret) | ||
215 | ret = -EFAULT; | ||
216 | } | ||
217 | |||
218 | return ret; | ||
219 | } | ||
220 | |||
221 | typedef struct drm32_buf_info { | ||
222 | int count; /* Entries in list */ | ||
223 | u32 list; /* (drm_buf_desc_t *) */ | ||
224 | } drm32_buf_info_t; | ||
225 | #define DRM32_IOCTL_INFO_BUFS DRM_IOWR(0x18, drm32_buf_info_t) | ||
226 | |||
227 | static int drm32_info_bufs(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
228 | { | ||
229 | drm32_buf_info_t *uarg = (drm32_buf_info_t *)arg; | ||
230 | drm_buf_desc_t *ulist; | ||
231 | drm_buf_info_t karg; | ||
232 | mm_segment_t old_fs; | ||
233 | int orig_count, ret; | ||
234 | u32 tmp; | ||
235 | |||
236 | if (get_user(karg.count, &uarg->count) || | ||
237 | get_user(tmp, &uarg->list)) | ||
238 | return -EFAULT; | ||
239 | |||
240 | ulist = (drm_buf_desc_t *) A(tmp); | ||
241 | |||
242 | orig_count = karg.count; | ||
243 | |||
244 | karg.list = kmalloc(karg.count * sizeof(drm_buf_desc_t), GFP_KERNEL); | ||
245 | if (!karg.list) | ||
246 | return -EFAULT; | ||
247 | |||
248 | old_fs = get_fs(); | ||
249 | set_fs(KERNEL_DS); | ||
250 | ret = sys_ioctl(fd, DRM_IOCTL_INFO_BUFS, (unsigned long) &karg); | ||
251 | set_fs(old_fs); | ||
252 | |||
253 | if (!ret) { | ||
254 | if (karg.count <= orig_count && | ||
255 | (copy_to_user(ulist, karg.list, | ||
256 | karg.count * sizeof(drm_buf_desc_t)))) | ||
257 | ret = -EFAULT; | ||
258 | if (put_user(karg.count, &uarg->count)) | ||
259 | ret = -EFAULT; | ||
260 | } | ||
261 | |||
262 | kfree(karg.list); | ||
263 | return ret; | ||
264 | } | ||
265 | |||
266 | typedef struct drm32_buf_free { | ||
267 | int count; | ||
268 | u32 list; /* (int *) */ | ||
269 | } drm32_buf_free_t; | ||
270 | #define DRM32_IOCTL_FREE_BUFS DRM_IOW( 0x1a, drm32_buf_free_t) | ||
271 | |||
272 | static int drm32_free_bufs(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
273 | { | ||
274 | drm32_buf_free_t *uarg = (drm32_buf_free_t *)arg; | ||
275 | drm_buf_free_t karg; | ||
276 | mm_segment_t old_fs; | ||
277 | int *ulist; | ||
278 | int ret; | ||
279 | u32 tmp; | ||
280 | |||
281 | if (get_user(karg.count, &uarg->count) || | ||
282 | get_user(tmp, &uarg->list)) | ||
283 | return -EFAULT; | ||
284 | |||
285 | ulist = (int *) A(tmp); | ||
286 | |||
287 | karg.list = kmalloc(karg.count * sizeof(int), GFP_KERNEL); | ||
288 | if (!karg.list) | ||
289 | return -ENOMEM; | ||
290 | |||
291 | ret = -EFAULT; | ||
292 | if (copy_from_user(karg.list, ulist, (karg.count * sizeof(int)))) | ||
293 | goto out; | ||
294 | |||
295 | old_fs = get_fs(); | ||
296 | set_fs(KERNEL_DS); | ||
297 | ret = sys_ioctl(fd, DRM_IOCTL_FREE_BUFS, (unsigned long) &karg); | ||
298 | set_fs(old_fs); | ||
299 | |||
300 | out: | ||
301 | kfree(karg.list); | ||
302 | return ret; | ||
303 | } | ||
304 | |||
305 | typedef struct drm32_buf_pub { | ||
306 | int idx; /* Index into master buflist */ | ||
307 | int total; /* Buffer size */ | ||
308 | int used; /* Amount of buffer in use (for DMA) */ | ||
309 | u32 address; /* Address of buffer (void *) */ | ||
310 | } drm32_buf_pub_t; | ||
311 | |||
312 | typedef struct drm32_buf_map { | ||
313 | int count; /* Length of buflist */ | ||
314 | u32 virtual; /* Mmaped area in user-virtual (void *) */ | ||
315 | u32 list; /* Buffer information (drm_buf_pub_t *) */ | ||
316 | } drm32_buf_map_t; | ||
317 | #define DRM32_IOCTL_MAP_BUFS DRM_IOWR(0x19, drm32_buf_map_t) | ||
318 | |||
319 | static int drm32_map_bufs(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
320 | { | ||
321 | drm32_buf_map_t *uarg = (drm32_buf_map_t *)arg; | ||
322 | drm32_buf_pub_t *ulist; | ||
323 | drm_buf_map_t karg; | ||
324 | mm_segment_t old_fs; | ||
325 | int orig_count, ret, i; | ||
326 | u32 tmp1, tmp2; | ||
327 | |||
328 | if (get_user(karg.count, &uarg->count) || | ||
329 | get_user(tmp1, &uarg->virtual) || | ||
330 | get_user(tmp2, &uarg->list)) | ||
331 | return -EFAULT; | ||
332 | |||
333 | karg.virtual = (void *) A(tmp1); | ||
334 | ulist = (drm32_buf_pub_t *) A(tmp2); | ||
335 | |||
336 | orig_count = karg.count; | ||
337 | |||
338 | karg.list = kmalloc(karg.count * sizeof(drm_buf_pub_t), GFP_KERNEL); | ||
339 | if (!karg.list) | ||
340 | return -ENOMEM; | ||
341 | |||
342 | ret = -EFAULT; | ||
343 | for (i = 0; i < karg.count; i++) { | ||
344 | if (get_user(karg.list[i].idx, &ulist[i].idx) || | ||
345 | get_user(karg.list[i].total, &ulist[i].total) || | ||
346 | get_user(karg.list[i].used, &ulist[i].used) || | ||
347 | get_user(tmp1, &ulist[i].address)) | ||
348 | goto out; | ||
349 | |||
350 | karg.list[i].address = (void *) A(tmp1); | ||
351 | } | ||
352 | |||
353 | old_fs = get_fs(); | ||
354 | set_fs(KERNEL_DS); | ||
355 | ret = sys_ioctl(fd, DRM_IOCTL_MAP_BUFS, (unsigned long) &karg); | ||
356 | set_fs(old_fs); | ||
357 | |||
358 | if (!ret) { | ||
359 | for (i = 0; i < orig_count; i++) { | ||
360 | tmp1 = (u32) (long) karg.list[i].address; | ||
361 | if (put_user(karg.list[i].idx, &ulist[i].idx) || | ||
362 | put_user(karg.list[i].total, &ulist[i].total) || | ||
363 | put_user(karg.list[i].used, &ulist[i].used) || | ||
364 | put_user(tmp1, &ulist[i].address)) { | ||
365 | ret = -EFAULT; | ||
366 | goto out; | ||
367 | } | ||
368 | } | ||
369 | if (put_user(karg.count, &uarg->count)) | ||
370 | ret = -EFAULT; | ||
371 | } | ||
372 | |||
373 | out: | ||
374 | kfree(karg.list); | ||
375 | return ret; | ||
376 | } | ||
377 | |||
378 | typedef struct drm32_dma { | ||
379 | /* Indices here refer to the offset into | ||
380 | buflist in drm_buf_get_t. */ | ||
381 | int context; /* Context handle */ | ||
382 | int send_count; /* Number of buffers to send */ | ||
383 | u32 send_indices; /* List of handles to buffers (int *) */ | ||
384 | u32 send_sizes; /* Lengths of data to send (int *) */ | ||
385 | drm_dma_flags_t flags; /* Flags */ | ||
386 | int request_count; /* Number of buffers requested */ | ||
387 | int request_size; /* Desired size for buffers */ | ||
388 | u32 request_indices; /* Buffer information (int *) */ | ||
389 | u32 request_sizes; /* (int *) */ | ||
390 | int granted_count; /* Number of buffers granted */ | ||
391 | } drm32_dma_t; | ||
392 | #define DRM32_IOCTL_DMA DRM_IOWR(0x29, drm32_dma_t) | ||
393 | |||
394 | /* RED PEN The DRM layer blindly dereferences the send/request | ||
395 | * indice/size arrays even though they are userland | ||
396 | * pointers. -DaveM | ||
397 | */ | ||
398 | static int drm32_dma(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
399 | { | ||
400 | drm32_dma_t *uarg = (drm32_dma_t *) arg; | ||
401 | int *u_si, *u_ss, *u_ri, *u_rs; | ||
402 | drm_dma_t karg; | ||
403 | mm_segment_t old_fs; | ||
404 | int ret; | ||
405 | u32 tmp1, tmp2, tmp3, tmp4; | ||
406 | |||
407 | karg.send_indices = karg.send_sizes = NULL; | ||
408 | karg.request_indices = karg.request_sizes = NULL; | ||
409 | |||
410 | if (get_user(karg.context, &uarg->context) || | ||
411 | get_user(karg.send_count, &uarg->send_count) || | ||
412 | get_user(tmp1, &uarg->send_indices) || | ||
413 | get_user(tmp2, &uarg->send_sizes) || | ||
414 | get_user(karg.flags, &uarg->flags) || | ||
415 | get_user(karg.request_count, &uarg->request_count) || | ||
416 | get_user(karg.request_size, &uarg->request_size) || | ||
417 | get_user(tmp3, &uarg->request_indices) || | ||
418 | get_user(tmp4, &uarg->request_sizes) || | ||
419 | get_user(karg.granted_count, &uarg->granted_count)) | ||
420 | return -EFAULT; | ||
421 | |||
422 | u_si = (int *) A(tmp1); | ||
423 | u_ss = (int *) A(tmp2); | ||
424 | u_ri = (int *) A(tmp3); | ||
425 | u_rs = (int *) A(tmp4); | ||
426 | |||
427 | if (karg.send_count) { | ||
428 | karg.send_indices = kmalloc(karg.send_count * sizeof(int), GFP_KERNEL); | ||
429 | karg.send_sizes = kmalloc(karg.send_count * sizeof(int), GFP_KERNEL); | ||
430 | |||
431 | ret = -ENOMEM; | ||
432 | if (!karg.send_indices || !karg.send_sizes) | ||
433 | goto out; | ||
434 | |||
435 | ret = -EFAULT; | ||
436 | if (copy_from_user(karg.send_indices, u_si, | ||
437 | (karg.send_count * sizeof(int))) || | ||
438 | copy_from_user(karg.send_sizes, u_ss, | ||
439 | (karg.send_count * sizeof(int)))) | ||
440 | goto out; | ||
441 | } | ||
442 | |||
443 | if (karg.request_count) { | ||
444 | karg.request_indices = kmalloc(karg.request_count * sizeof(int), GFP_KERNEL); | ||
445 | karg.request_sizes = kmalloc(karg.request_count * sizeof(int), GFP_KERNEL); | ||
446 | |||
447 | ret = -ENOMEM; | ||
448 | if (!karg.request_indices || !karg.request_sizes) | ||
449 | goto out; | ||
450 | |||
451 | ret = -EFAULT; | ||
452 | if (copy_from_user(karg.request_indices, u_ri, | ||
453 | (karg.request_count * sizeof(int))) || | ||
454 | copy_from_user(karg.request_sizes, u_rs, | ||
455 | (karg.request_count * sizeof(int)))) | ||
456 | goto out; | ||
457 | } | ||
458 | |||
459 | old_fs = get_fs(); | ||
460 | set_fs(KERNEL_DS); | ||
461 | ret = sys_ioctl(fd, DRM_IOCTL_DMA, (unsigned long) &karg); | ||
462 | set_fs(old_fs); | ||
463 | |||
464 | if (!ret) { | ||
465 | if (put_user(karg.context, &uarg->context) || | ||
466 | put_user(karg.send_count, &uarg->send_count) || | ||
467 | put_user(karg.flags, &uarg->flags) || | ||
468 | put_user(karg.request_count, &uarg->request_count) || | ||
469 | put_user(karg.request_size, &uarg->request_size) || | ||
470 | put_user(karg.granted_count, &uarg->granted_count)) | ||
471 | ret = -EFAULT; | ||
472 | |||
473 | if (karg.send_count) { | ||
474 | if (copy_to_user(u_si, karg.send_indices, | ||
475 | (karg.send_count * sizeof(int))) || | ||
476 | copy_to_user(u_ss, karg.send_sizes, | ||
477 | (karg.send_count * sizeof(int)))) | ||
478 | ret = -EFAULT; | ||
479 | } | ||
480 | if (karg.request_count) { | ||
481 | if (copy_to_user(u_ri, karg.request_indices, | ||
482 | (karg.request_count * sizeof(int))) || | ||
483 | copy_to_user(u_rs, karg.request_sizes, | ||
484 | (karg.request_count * sizeof(int)))) | ||
485 | ret = -EFAULT; | ||
486 | } | ||
487 | } | ||
488 | |||
489 | out: | ||
490 | kfree(karg.send_indices); | ||
491 | kfree(karg.send_sizes); | ||
492 | kfree(karg.request_indices); | ||
493 | kfree(karg.request_sizes); | ||
494 | return ret; | ||
495 | } | ||
496 | |||
497 | typedef struct drm32_ctx_res { | ||
498 | int count; | ||
499 | u32 contexts; /* (drm_ctx_t *) */ | ||
500 | } drm32_ctx_res_t; | ||
501 | #define DRM32_IOCTL_RES_CTX DRM_IOWR(0x26, drm32_ctx_res_t) | ||
502 | |||
503 | static int drm32_res_ctx(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
504 | { | ||
505 | drm32_ctx_res_t *uarg = (drm32_ctx_res_t *) arg; | ||
506 | drm_ctx_t *ulist; | ||
507 | drm_ctx_res_t karg; | ||
508 | mm_segment_t old_fs; | ||
509 | int orig_count, ret; | ||
510 | u32 tmp; | ||
511 | |||
512 | karg.contexts = NULL; | ||
513 | if (get_user(karg.count, &uarg->count) || | ||
514 | get_user(tmp, &uarg->contexts)) | ||
515 | return -EFAULT; | ||
516 | |||
517 | ulist = (drm_ctx_t *) A(tmp); | ||
518 | |||
519 | orig_count = karg.count; | ||
520 | if (karg.count && ulist) { | ||
521 | karg.contexts = kmalloc((karg.count * sizeof(drm_ctx_t)), GFP_KERNEL); | ||
522 | if (!karg.contexts) | ||
523 | return -ENOMEM; | ||
524 | if (copy_from_user(karg.contexts, ulist, | ||
525 | (karg.count * sizeof(drm_ctx_t)))) { | ||
526 | kfree(karg.contexts); | ||
527 | return -EFAULT; | ||
528 | } | ||
529 | } | ||
530 | |||
531 | old_fs = get_fs(); | ||
532 | set_fs(KERNEL_DS); | ||
533 | ret = sys_ioctl(fd, DRM_IOCTL_RES_CTX, (unsigned long) &karg); | ||
534 | set_fs(old_fs); | ||
535 | |||
536 | if (!ret) { | ||
537 | if (orig_count) { | ||
538 | if (copy_to_user(ulist, karg.contexts, | ||
539 | (orig_count * sizeof(drm_ctx_t)))) | ||
540 | ret = -EFAULT; | ||
541 | } | ||
542 | if (put_user(karg.count, &uarg->count)) | ||
543 | ret = -EFAULT; | ||
544 | } | ||
545 | |||
546 | kfree(karg.contexts); | ||
547 | return ret; | ||
548 | } | ||
549 | |||
550 | #endif | ||
551 | |||
552 | #define HANDLE_IOCTL(cmd, handler) { cmd, (ioctl_trans_handler_t)handler, NULL }, | 22 | #define HANDLE_IOCTL(cmd, handler) { cmd, (ioctl_trans_handler_t)handler, NULL }, |
553 | #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL(cmd, sys_ioctl) | 23 | #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL(cmd, sys_ioctl) |
554 | 24 | ||
@@ -561,11 +31,6 @@ IOCTL_TABLE_START | |||
561 | #define DECLARES | 31 | #define DECLARES |
562 | #include "compat_ioctl.c" | 32 | #include "compat_ioctl.c" |
563 | 33 | ||
564 | /* PA-specific ioctls */ | ||
565 | COMPATIBLE_IOCTL(PA_PERF_ON) | ||
566 | COMPATIBLE_IOCTL(PA_PERF_OFF) | ||
567 | COMPATIBLE_IOCTL(PA_PERF_VERSION) | ||
568 | |||
569 | /* And these ioctls need translation */ | 34 | /* And these ioctls need translation */ |
570 | HANDLE_IOCTL(SIOCGPPPSTATS, dev_ifsioc) | 35 | HANDLE_IOCTL(SIOCGPPPSTATS, dev_ifsioc) |
571 | HANDLE_IOCTL(SIOCGPPPCSTATS, dev_ifsioc) | 36 | HANDLE_IOCTL(SIOCGPPPCSTATS, dev_ifsioc) |
@@ -590,17 +55,6 @@ HANDLE_IOCTL(RTC_EPOCH_READ, w_long) | |||
590 | COMPATIBLE_IOCTL(RTC_EPOCH_SET) | 55 | COMPATIBLE_IOCTL(RTC_EPOCH_SET) |
591 | #endif | 56 | #endif |
592 | 57 | ||
593 | #if defined(CONFIG_DRM) || defined(CONFIG_DRM_MODULE) | ||
594 | HANDLE_IOCTL(DRM32_IOCTL_VERSION, drm32_version); | ||
595 | HANDLE_IOCTL(DRM32_IOCTL_GET_UNIQUE, drm32_getsetunique); | ||
596 | HANDLE_IOCTL(DRM32_IOCTL_SET_UNIQUE, drm32_getsetunique); | ||
597 | HANDLE_IOCTL(DRM32_IOCTL_ADD_MAP, drm32_addmap); | ||
598 | HANDLE_IOCTL(DRM32_IOCTL_INFO_BUFS, drm32_info_bufs); | ||
599 | HANDLE_IOCTL(DRM32_IOCTL_FREE_BUFS, drm32_free_bufs); | ||
600 | HANDLE_IOCTL(DRM32_IOCTL_MAP_BUFS, drm32_map_bufs); | ||
601 | HANDLE_IOCTL(DRM32_IOCTL_DMA, drm32_dma); | ||
602 | HANDLE_IOCTL(DRM32_IOCTL_RES_CTX, drm32_res_ctx); | ||
603 | #endif /* DRM */ | ||
604 | IOCTL_TABLE_END | 58 | IOCTL_TABLE_END |
605 | 59 | ||
606 | int ioctl_table_size = ARRAY_SIZE(ioctl_start); | 60 | int ioctl_table_size = ARRAY_SIZE(ioctl_start); |
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c index 006385dbee66..197936d9359a 100644 --- a/arch/parisc/kernel/irq.c +++ b/arch/parisc/kernel/irq.c | |||
@@ -30,6 +30,9 @@ | |||
30 | #include <linux/seq_file.h> | 30 | #include <linux/seq_file.h> |
31 | #include <linux/spinlock.h> | 31 | #include <linux/spinlock.h> |
32 | #include <linux/types.h> | 32 | #include <linux/types.h> |
33 | #include <asm/io.h> | ||
34 | |||
35 | #include <asm/smp.h> | ||
33 | 36 | ||
34 | #undef PARISC_IRQ_CR16_COUNTS | 37 | #undef PARISC_IRQ_CR16_COUNTS |
35 | 38 | ||
@@ -43,26 +46,34 @@ extern irqreturn_t ipi_interrupt(int, void *, struct pt_regs *); | |||
43 | */ | 46 | */ |
44 | static volatile unsigned long cpu_eiem = 0; | 47 | static volatile unsigned long cpu_eiem = 0; |
45 | 48 | ||
46 | static void cpu_set_eiem(void *info) | 49 | static void cpu_disable_irq(unsigned int irq) |
47 | { | ||
48 | set_eiem((unsigned long) info); | ||
49 | } | ||
50 | |||
51 | static inline void cpu_disable_irq(unsigned int irq) | ||
52 | { | 50 | { |
53 | unsigned long eirr_bit = EIEM_MASK(irq); | 51 | unsigned long eirr_bit = EIEM_MASK(irq); |
54 | 52 | ||
55 | cpu_eiem &= ~eirr_bit; | 53 | cpu_eiem &= ~eirr_bit; |
56 | on_each_cpu(cpu_set_eiem, (void *) cpu_eiem, 1, 1); | 54 | /* Do nothing on the other CPUs. If they get this interrupt, |
55 | * The & cpu_eiem in the do_cpu_irq_mask() ensures they won't | ||
56 | * handle it, and the set_eiem() at the bottom will ensure it | ||
57 | * then gets disabled */ | ||
57 | } | 58 | } |
58 | 59 | ||
59 | static void cpu_enable_irq(unsigned int irq) | 60 | static void cpu_enable_irq(unsigned int irq) |
60 | { | 61 | { |
61 | unsigned long eirr_bit = EIEM_MASK(irq); | 62 | unsigned long eirr_bit = EIEM_MASK(irq); |
62 | 63 | ||
63 | mtctl(eirr_bit, 23); /* clear EIRR bit before unmasking */ | ||
64 | cpu_eiem |= eirr_bit; | 64 | cpu_eiem |= eirr_bit; |
65 | on_each_cpu(cpu_set_eiem, (void *) cpu_eiem, 1, 1); | 65 | |
66 | /* FIXME: while our interrupts aren't nested, we cannot reset | ||
67 | * the eiem mask if we're already in an interrupt. Once we | ||
68 | * implement nested interrupts, this can go away | ||
69 | */ | ||
70 | if (!in_interrupt()) | ||
71 | set_eiem(cpu_eiem); | ||
72 | |||
73 | /* This is just a simple NOP IPI. But what it does is cause | ||
74 | * all the other CPUs to do a set_eiem(cpu_eiem) at the end | ||
75 | * of the interrupt handler */ | ||
76 | smp_send_all_nop(); | ||
66 | } | 77 | } |
67 | 78 | ||
68 | static unsigned int cpu_startup_irq(unsigned int irq) | 79 | static unsigned int cpu_startup_irq(unsigned int irq) |
@@ -74,6 +85,35 @@ static unsigned int cpu_startup_irq(unsigned int irq) | |||
74 | void no_ack_irq(unsigned int irq) { } | 85 | void no_ack_irq(unsigned int irq) { } |
75 | void no_end_irq(unsigned int irq) { } | 86 | void no_end_irq(unsigned int irq) { } |
76 | 87 | ||
88 | #ifdef CONFIG_SMP | ||
89 | int cpu_check_affinity(unsigned int irq, cpumask_t *dest) | ||
90 | { | ||
91 | int cpu_dest; | ||
92 | |||
93 | /* timer and ipi have to always be received on all CPUs */ | ||
94 | if (irq == TIMER_IRQ || irq == IPI_IRQ) { | ||
95 | /* Bad linux design decision. The mask has already | ||
96 | * been set; we must reset it */ | ||
97 | irq_affinity[irq] = CPU_MASK_ALL; | ||
98 | return -EINVAL; | ||
99 | } | ||
100 | |||
101 | /* whatever mask they set, we just allow one CPU */ | ||
102 | cpu_dest = first_cpu(*dest); | ||
103 | *dest = cpumask_of_cpu(cpu_dest); | ||
104 | |||
105 | return 0; | ||
106 | } | ||
107 | |||
108 | static void cpu_set_affinity_irq(unsigned int irq, cpumask_t dest) | ||
109 | { | ||
110 | if (cpu_check_affinity(irq, &dest)) | ||
111 | return; | ||
112 | |||
113 | irq_affinity[irq] = dest; | ||
114 | } | ||
115 | #endif | ||
116 | |||
77 | static struct hw_interrupt_type cpu_interrupt_type = { | 117 | static struct hw_interrupt_type cpu_interrupt_type = { |
78 | .typename = "CPU", | 118 | .typename = "CPU", |
79 | .startup = cpu_startup_irq, | 119 | .startup = cpu_startup_irq, |
@@ -82,7 +122,9 @@ static struct hw_interrupt_type cpu_interrupt_type = { | |||
82 | .disable = cpu_disable_irq, | 122 | .disable = cpu_disable_irq, |
83 | .ack = no_ack_irq, | 123 | .ack = no_ack_irq, |
84 | .end = no_end_irq, | 124 | .end = no_end_irq, |
85 | // .set_affinity = cpu_set_affinity_irq, | 125 | #ifdef CONFIG_SMP |
126 | .set_affinity = cpu_set_affinity_irq, | ||
127 | #endif | ||
86 | }; | 128 | }; |
87 | 129 | ||
88 | int show_interrupts(struct seq_file *p, void *v) | 130 | int show_interrupts(struct seq_file *p, void *v) |
@@ -219,6 +261,17 @@ int txn_alloc_irq(unsigned int bits_wide) | |||
219 | return -1; | 261 | return -1; |
220 | } | 262 | } |
221 | 263 | ||
264 | |||
265 | unsigned long txn_affinity_addr(unsigned int irq, int cpu) | ||
266 | { | ||
267 | #ifdef CONFIG_SMP | ||
268 | irq_affinity[irq] = cpumask_of_cpu(cpu); | ||
269 | #endif | ||
270 | |||
271 | return cpu_data[cpu].txn_addr; | ||
272 | } | ||
273 | |||
274 | |||
222 | unsigned long txn_alloc_addr(unsigned int virt_irq) | 275 | unsigned long txn_alloc_addr(unsigned int virt_irq) |
223 | { | 276 | { |
224 | static int next_cpu = -1; | 277 | static int next_cpu = -1; |
@@ -233,7 +286,7 @@ unsigned long txn_alloc_addr(unsigned int virt_irq) | |||
233 | if (next_cpu >= NR_CPUS) | 286 | if (next_cpu >= NR_CPUS) |
234 | next_cpu = 0; /* nothing else, assign monarch */ | 287 | next_cpu = 0; /* nothing else, assign monarch */ |
235 | 288 | ||
236 | return cpu_data[next_cpu].txn_addr; | 289 | return txn_affinity_addr(virt_irq, next_cpu); |
237 | } | 290 | } |
238 | 291 | ||
239 | 292 | ||
@@ -250,10 +303,11 @@ void do_cpu_irq_mask(struct pt_regs *regs) | |||
250 | irq_enter(); | 303 | irq_enter(); |
251 | 304 | ||
252 | /* | 305 | /* |
253 | * Only allow interrupt processing to be interrupted by the | 306 | * Don't allow TIMER or IPI nested interrupts. |
254 | * timer tick | 307 | * Allowing any single interrupt to nest can lead to that CPU |
308 | * handling interrupts with all enabled interrupts unmasked. | ||
255 | */ | 309 | */ |
256 | set_eiem(EIEM_MASK(TIMER_IRQ)); | 310 | set_eiem(0UL); |
257 | 311 | ||
258 | /* 1) only process IRQs that are enabled/unmasked (cpu_eiem) | 312 | /* 1) only process IRQs that are enabled/unmasked (cpu_eiem) |
259 | * 2) We loop here on EIRR contents in order to avoid | 313 | * 2) We loop here on EIRR contents in order to avoid |
@@ -267,23 +321,41 @@ void do_cpu_irq_mask(struct pt_regs *regs) | |||
267 | if (!eirr_val) | 321 | if (!eirr_val) |
268 | break; | 322 | break; |
269 | 323 | ||
270 | if (eirr_val & EIEM_MASK(TIMER_IRQ)) | ||
271 | set_eiem(0); | ||
272 | |||
273 | mtctl(eirr_val, 23); /* reset bits we are going to process */ | 324 | mtctl(eirr_val, 23); /* reset bits we are going to process */ |
274 | 325 | ||
275 | /* Work our way from MSb to LSb...same order we alloc EIRs */ | 326 | /* Work our way from MSb to LSb...same order we alloc EIRs */ |
276 | for (irq = TIMER_IRQ; eirr_val && bit; bit>>=1, irq++) { | 327 | for (irq = TIMER_IRQ; eirr_val && bit; bit>>=1, irq++) { |
328 | #ifdef CONFIG_SMP | ||
329 | cpumask_t dest = irq_affinity[irq]; | ||
330 | #endif | ||
277 | if (!(bit & eirr_val)) | 331 | if (!(bit & eirr_val)) |
278 | continue; | 332 | continue; |
279 | 333 | ||
280 | /* clear bit in mask - can exit loop sooner */ | 334 | /* clear bit in mask - can exit loop sooner */ |
281 | eirr_val &= ~bit; | 335 | eirr_val &= ~bit; |
282 | 336 | ||
337 | #ifdef CONFIG_SMP | ||
338 | /* FIXME: because generic set affinity mucks | ||
339 | * with the affinity before sending it to us | ||
340 | * we can get the situation where the affinity is | ||
341 | * wrong for our CPU type interrupts */ | ||
342 | if (irq != TIMER_IRQ && irq != IPI_IRQ && | ||
343 | !cpu_isset(smp_processor_id(), dest)) { | ||
344 | int cpu = first_cpu(dest); | ||
345 | |||
346 | printk(KERN_DEBUG "redirecting irq %d from CPU %d to %d\n", | ||
347 | irq, smp_processor_id(), cpu); | ||
348 | gsc_writel(irq + CPU_IRQ_BASE, | ||
349 | cpu_data[cpu].hpa); | ||
350 | continue; | ||
351 | } | ||
352 | #endif | ||
353 | |||
283 | __do_IRQ(irq, regs); | 354 | __do_IRQ(irq, regs); |
284 | } | 355 | } |
285 | } | 356 | } |
286 | set_eiem(cpu_eiem); | 357 | |
358 | set_eiem(cpu_eiem); /* restore original mask */ | ||
287 | irq_exit(); | 359 | irq_exit(); |
288 | } | 360 | } |
289 | 361 | ||
@@ -291,12 +363,14 @@ void do_cpu_irq_mask(struct pt_regs *regs) | |||
291 | static struct irqaction timer_action = { | 363 | static struct irqaction timer_action = { |
292 | .handler = timer_interrupt, | 364 | .handler = timer_interrupt, |
293 | .name = "timer", | 365 | .name = "timer", |
366 | .flags = SA_INTERRUPT, | ||
294 | }; | 367 | }; |
295 | 368 | ||
296 | #ifdef CONFIG_SMP | 369 | #ifdef CONFIG_SMP |
297 | static struct irqaction ipi_action = { | 370 | static struct irqaction ipi_action = { |
298 | .handler = ipi_interrupt, | 371 | .handler = ipi_interrupt, |
299 | .name = "IPI", | 372 | .name = "IPI", |
373 | .flags = SA_INTERRUPT, | ||
300 | }; | 374 | }; |
301 | #endif | 375 | #endif |
302 | 376 | ||
diff --git a/arch/parisc/kernel/perf.c b/arch/parisc/kernel/perf.c index 44670d6e06f4..f6fec62b6a2f 100644 --- a/arch/parisc/kernel/perf.c +++ b/arch/parisc/kernel/perf.c | |||
@@ -196,8 +196,7 @@ static int perf_open(struct inode *inode, struct file *file); | |||
196 | static ssize_t perf_read(struct file *file, char __user *buf, size_t cnt, loff_t *ppos); | 196 | static ssize_t perf_read(struct file *file, char __user *buf, size_t cnt, loff_t *ppos); |
197 | static ssize_t perf_write(struct file *file, const char __user *buf, size_t count, | 197 | static ssize_t perf_write(struct file *file, const char __user *buf, size_t count, |
198 | loff_t *ppos); | 198 | loff_t *ppos); |
199 | static int perf_ioctl(struct inode *inode, struct file *file, unsigned int cmd, | 199 | static long perf_ioctl(struct file *file, unsigned int cmd, unsigned long arg); |
200 | unsigned long arg); | ||
201 | static void perf_start_counters(void); | 200 | static void perf_start_counters(void); |
202 | static int perf_stop_counters(uint32_t *raddr); | 201 | static int perf_stop_counters(uint32_t *raddr); |
203 | static struct rdr_tbl_ent * perf_rdr_get_entry(uint32_t rdr_num); | 202 | static struct rdr_tbl_ent * perf_rdr_get_entry(uint32_t rdr_num); |
@@ -438,48 +437,56 @@ static void perf_patch_images(void) | |||
438 | * must be running on the processor that you wish to change. | 437 | * must be running on the processor that you wish to change. |
439 | */ | 438 | */ |
440 | 439 | ||
441 | static int perf_ioctl(struct inode *inode, struct file *file, unsigned int cmd, | 440 | static long perf_ioctl(struct file *file, unsigned int cmd, unsigned long arg) |
442 | unsigned long arg) | ||
443 | { | 441 | { |
444 | long error_start; | 442 | long error_start; |
445 | uint32_t raddr[4]; | 443 | uint32_t raddr[4]; |
444 | int error = 0; | ||
446 | 445 | ||
446 | lock_kernel(); | ||
447 | switch (cmd) { | 447 | switch (cmd) { |
448 | 448 | ||
449 | case PA_PERF_ON: | 449 | case PA_PERF_ON: |
450 | /* Start the counters */ | 450 | /* Start the counters */ |
451 | perf_start_counters(); | 451 | perf_start_counters(); |
452 | return 0; | 452 | break; |
453 | 453 | ||
454 | case PA_PERF_OFF: | 454 | case PA_PERF_OFF: |
455 | error_start = perf_stop_counters(raddr); | 455 | error_start = perf_stop_counters(raddr); |
456 | if (error_start != 0) { | 456 | if (error_start != 0) { |
457 | printk(KERN_ERR "perf_off: perf_stop_counters = %ld\n", error_start); | 457 | printk(KERN_ERR "perf_off: perf_stop_counters = %ld\n", error_start); |
458 | return -EFAULT; | 458 | error = -EFAULT; |
459 | break; | ||
459 | } | 460 | } |
460 | 461 | ||
461 | /* copy out the Counters */ | 462 | /* copy out the Counters */ |
462 | if (copy_to_user((void __user *)arg, raddr, | 463 | if (copy_to_user((void __user *)arg, raddr, |
463 | sizeof (raddr)) != 0) { | 464 | sizeof (raddr)) != 0) { |
464 | return -EFAULT; | 465 | error = -EFAULT; |
466 | break; | ||
465 | } | 467 | } |
466 | return 0; | 468 | break; |
467 | 469 | ||
468 | case PA_PERF_VERSION: | 470 | case PA_PERF_VERSION: |
469 | /* Return the version # */ | 471 | /* Return the version # */ |
470 | return put_user(PERF_VERSION, (int *)arg); | 472 | error = put_user(PERF_VERSION, (int *)arg); |
473 | break; | ||
471 | 474 | ||
472 | default: | 475 | default: |
473 | break; | 476 | error = -ENOTTY; |
474 | } | 477 | } |
475 | return -ENOTTY; | 478 | |
479 | unlock_kernel(); | ||
480 | |||
481 | return error; | ||
476 | } | 482 | } |
477 | 483 | ||
478 | static struct file_operations perf_fops = { | 484 | static struct file_operations perf_fops = { |
479 | .llseek = no_llseek, | 485 | .llseek = no_llseek, |
480 | .read = perf_read, | 486 | .read = perf_read, |
481 | .write = perf_write, | 487 | .write = perf_write, |
482 | .ioctl = perf_ioctl, | 488 | .unlocked_ioctl = perf_ioctl, |
489 | .compat_ioctl = perf_ioctl, | ||
483 | .open = perf_open, | 490 | .open = perf_open, |
484 | .release = perf_release | 491 | .release = perf_release |
485 | }; | 492 | }; |
diff --git a/arch/parisc/kernel/ptrace.c b/arch/parisc/kernel/ptrace.c index b6fe202a620d..27160e8bf15b 100644 --- a/arch/parisc/kernel/ptrace.c +++ b/arch/parisc/kernel/ptrace.c | |||
@@ -264,6 +264,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
264 | * sigkill. perhaps it should be put in the status | 264 | * sigkill. perhaps it should be put in the status |
265 | * that it wants to exit. | 265 | * that it wants to exit. |
266 | */ | 266 | */ |
267 | ret = 0; | ||
267 | DBG("sys_ptrace(KILL)\n"); | 268 | DBG("sys_ptrace(KILL)\n"); |
268 | if (child->exit_state == EXIT_ZOMBIE) /* already dead */ | 269 | if (child->exit_state == EXIT_ZOMBIE) /* already dead */ |
269 | goto out_tsk; | 270 | goto out_tsk; |
@@ -344,11 +345,11 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
344 | 345 | ||
345 | case PTRACE_GETEVENTMSG: | 346 | case PTRACE_GETEVENTMSG: |
346 | ret = put_user(child->ptrace_message, (unsigned int __user *) data); | 347 | ret = put_user(child->ptrace_message, (unsigned int __user *) data); |
347 | goto out; | 348 | goto out_tsk; |
348 | 349 | ||
349 | default: | 350 | default: |
350 | ret = ptrace_request(child, request, addr, data); | 351 | ret = ptrace_request(child, request, addr, data); |
351 | goto out; | 352 | goto out_tsk; |
352 | } | 353 | } |
353 | 354 | ||
354 | out_wake_notrap: | 355 | out_wake_notrap: |
diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c index 82c24e62ab63..3a25a7bd673e 100644 --- a/arch/parisc/kernel/signal.c +++ b/arch/parisc/kernel/signal.c | |||
@@ -296,7 +296,6 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
296 | struct rt_sigframe __user *frame; | 296 | struct rt_sigframe __user *frame; |
297 | unsigned long rp, usp; | 297 | unsigned long rp, usp; |
298 | unsigned long haddr, sigframe_size; | 298 | unsigned long haddr, sigframe_size; |
299 | struct siginfo si; | ||
300 | int err = 0; | 299 | int err = 0; |
301 | #ifdef __LP64__ | 300 | #ifdef __LP64__ |
302 | compat_int_t compat_val; | 301 | compat_int_t compat_val; |
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c index a9ecf6465784..ce89da0f654d 100644 --- a/arch/parisc/kernel/smp.c +++ b/arch/parisc/kernel/smp.c | |||
@@ -181,12 +181,19 @@ ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
181 | while (ops) { | 181 | while (ops) { |
182 | unsigned long which = ffz(~ops); | 182 | unsigned long which = ffz(~ops); |
183 | 183 | ||
184 | ops &= ~(1 << which); | ||
185 | |||
184 | switch (which) { | 186 | switch (which) { |
187 | case IPI_NOP: | ||
188 | #if (kDEBUG>=100) | ||
189 | printk(KERN_DEBUG "CPU%d IPI_NOP\n",this_cpu); | ||
190 | #endif /* kDEBUG */ | ||
191 | break; | ||
192 | |||
185 | case IPI_RESCHEDULE: | 193 | case IPI_RESCHEDULE: |
186 | #if (kDEBUG>=100) | 194 | #if (kDEBUG>=100) |
187 | printk(KERN_DEBUG "CPU%d IPI_RESCHEDULE\n",this_cpu); | 195 | printk(KERN_DEBUG "CPU%d IPI_RESCHEDULE\n",this_cpu); |
188 | #endif /* kDEBUG */ | 196 | #endif /* kDEBUG */ |
189 | ops &= ~(1 << IPI_RESCHEDULE); | ||
190 | /* | 197 | /* |
191 | * Reschedule callback. Everything to be | 198 | * Reschedule callback. Everything to be |
192 | * done is done by the interrupt return path. | 199 | * done is done by the interrupt return path. |
@@ -197,7 +204,6 @@ ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
197 | #if (kDEBUG>=100) | 204 | #if (kDEBUG>=100) |
198 | printk(KERN_DEBUG "CPU%d IPI_CALL_FUNC\n",this_cpu); | 205 | printk(KERN_DEBUG "CPU%d IPI_CALL_FUNC\n",this_cpu); |
199 | #endif /* kDEBUG */ | 206 | #endif /* kDEBUG */ |
200 | ops &= ~(1 << IPI_CALL_FUNC); | ||
201 | { | 207 | { |
202 | volatile struct smp_call_struct *data; | 208 | volatile struct smp_call_struct *data; |
203 | void (*func)(void *info); | 209 | void (*func)(void *info); |
@@ -231,7 +237,6 @@ ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
231 | #if (kDEBUG>=100) | 237 | #if (kDEBUG>=100) |
232 | printk(KERN_DEBUG "CPU%d IPI_CPU_START\n",this_cpu); | 238 | printk(KERN_DEBUG "CPU%d IPI_CPU_START\n",this_cpu); |
233 | #endif /* kDEBUG */ | 239 | #endif /* kDEBUG */ |
234 | ops &= ~(1 << IPI_CPU_START); | ||
235 | #ifdef ENTRY_SYS_CPUS | 240 | #ifdef ENTRY_SYS_CPUS |
236 | p->state = STATE_RUNNING; | 241 | p->state = STATE_RUNNING; |
237 | #endif | 242 | #endif |
@@ -241,7 +246,6 @@ ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
241 | #if (kDEBUG>=100) | 246 | #if (kDEBUG>=100) |
242 | printk(KERN_DEBUG "CPU%d IPI_CPU_STOP\n",this_cpu); | 247 | printk(KERN_DEBUG "CPU%d IPI_CPU_STOP\n",this_cpu); |
243 | #endif /* kDEBUG */ | 248 | #endif /* kDEBUG */ |
244 | ops &= ~(1 << IPI_CPU_STOP); | ||
245 | #ifdef ENTRY_SYS_CPUS | 249 | #ifdef ENTRY_SYS_CPUS |
246 | #else | 250 | #else |
247 | halt_processor(); | 251 | halt_processor(); |
@@ -252,13 +256,11 @@ ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
252 | #if (kDEBUG>=100) | 256 | #if (kDEBUG>=100) |
253 | printk(KERN_DEBUG "CPU%d is alive!\n",this_cpu); | 257 | printk(KERN_DEBUG "CPU%d is alive!\n",this_cpu); |
254 | #endif /* kDEBUG */ | 258 | #endif /* kDEBUG */ |
255 | ops &= ~(1 << IPI_CPU_TEST); | ||
256 | break; | 259 | break; |
257 | 260 | ||
258 | default: | 261 | default: |
259 | printk(KERN_CRIT "Unknown IPI num on CPU%d: %lu\n", | 262 | printk(KERN_CRIT "Unknown IPI num on CPU%d: %lu\n", |
260 | this_cpu, which); | 263 | this_cpu, which); |
261 | ops &= ~(1 << which); | ||
262 | return IRQ_NONE; | 264 | return IRQ_NONE; |
263 | } /* Switch */ | 265 | } /* Switch */ |
264 | } /* while (ops) */ | 266 | } /* while (ops) */ |
@@ -312,6 +314,12 @@ smp_send_start(void) { send_IPI_allbutself(IPI_CPU_START); } | |||
312 | void | 314 | void |
313 | smp_send_reschedule(int cpu) { send_IPI_single(cpu, IPI_RESCHEDULE); } | 315 | smp_send_reschedule(int cpu) { send_IPI_single(cpu, IPI_RESCHEDULE); } |
314 | 316 | ||
317 | void | ||
318 | smp_send_all_nop(void) | ||
319 | { | ||
320 | send_IPI_allbutself(IPI_NOP); | ||
321 | } | ||
322 | |||
315 | 323 | ||
316 | /** | 324 | /** |
317 | * Run a function on all other CPUs. | 325 | * Run a function on all other CPUs. |
@@ -338,6 +346,10 @@ smp_call_function (void (*func) (void *info), void *info, int retry, int wait) | |||
338 | 346 | ||
339 | /* Can deadlock when called with interrupts disabled */ | 347 | /* Can deadlock when called with interrupts disabled */ |
340 | WARN_ON(irqs_disabled()); | 348 | WARN_ON(irqs_disabled()); |
349 | |||
350 | /* can also deadlock if IPIs are disabled */ | ||
351 | WARN_ON((get_eiem() & (1UL<<(CPU_IRQ_MAX - IPI_IRQ))) == 0); | ||
352 | |||
341 | 353 | ||
342 | data.func = func; | 354 | data.func = func; |
343 | data.info = info; | 355 | data.info = info; |
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S index b29b76b42bb7..d66163492890 100644 --- a/arch/parisc/kernel/syscall.S +++ b/arch/parisc/kernel/syscall.S | |||
@@ -164,7 +164,7 @@ linux_gateway_entry: | |||
164 | #endif | 164 | #endif |
165 | STREG %r2, TASK_PT_GR30(%r1) /* ... and save it */ | 165 | STREG %r2, TASK_PT_GR30(%r1) /* ... and save it */ |
166 | 166 | ||
167 | STREG %r20, TASK_PT_GR20(%r1) | 167 | STREG %r20, TASK_PT_GR20(%r1) /* Syscall number */ |
168 | STREG %r21, TASK_PT_GR21(%r1) | 168 | STREG %r21, TASK_PT_GR21(%r1) |
169 | STREG %r22, TASK_PT_GR22(%r1) | 169 | STREG %r22, TASK_PT_GR22(%r1) |
170 | STREG %r23, TASK_PT_GR23(%r1) /* 4th argument */ | 170 | STREG %r23, TASK_PT_GR23(%r1) /* 4th argument */ |
@@ -527,6 +527,7 @@ lws_compare_and_swap: | |||
527 | We *must* giveup this call and fail. | 527 | We *must* giveup this call and fail. |
528 | */ | 528 | */ |
529 | ldw 4(%sr2,%r20), %r28 /* Load thread register */ | 529 | ldw 4(%sr2,%r20), %r28 /* Load thread register */ |
530 | /* WARNING: If cr27 cycles to the same value we have problems */ | ||
530 | mfctl %cr27, %r21 /* Get current thread register */ | 531 | mfctl %cr27, %r21 /* Get current thread register */ |
531 | cmpb,<>,n %r21, %r28, cas_lock /* Called recursive? */ | 532 | cmpb,<>,n %r21, %r28, cas_lock /* Called recursive? */ |
532 | b lws_exit /* Return error! */ | 533 | b lws_exit /* Return error! */ |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 94df74bcc0ee..bb2efdd566a9 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -598,19 +598,6 @@ config ARCH_MEMORY_PROBE | |||
598 | def_bool y | 598 | def_bool y |
599 | depends on MEMORY_HOTPLUG | 599 | depends on MEMORY_HOTPLUG |
600 | 600 | ||
601 | # Some NUMA nodes have memory ranges that span | ||
602 | # other nodes. Even though a pfn is valid and | ||
603 | # between a node's start and end pfns, it may not | ||
604 | # reside on that node. | ||
605 | # | ||
606 | # This is a relatively temporary hack that should | ||
607 | # be able to go away when sparsemem is fully in | ||
608 | # place | ||
609 | |||
610 | config NODES_SPAN_OTHER_NODES | ||
611 | def_bool y | ||
612 | depends on NEED_MULTIPLE_NODES | ||
613 | |||
614 | config PPC_64K_PAGES | 601 | config PPC_64K_PAGES |
615 | bool "64k page size" | 602 | bool "64k page size" |
616 | depends on PPC64 | 603 | depends on PPC64 |
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 99dbea8c5c50..98f67c78d1bd 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile | |||
@@ -33,6 +33,8 @@ endif | |||
33 | 33 | ||
34 | export CROSS32CC CROSS32AS CROSS32LD CROSS32OBJCOPY | 34 | export CROSS32CC CROSS32AS CROSS32LD CROSS32OBJCOPY |
35 | 35 | ||
36 | KBUILD_DEFCONFIG := $(shell uname -m)_defconfig | ||
37 | |||
36 | ifeq ($(CONFIG_PPC64),y) | 38 | ifeq ($(CONFIG_PPC64),y) |
37 | OLDARCH := ppc64 | 39 | OLDARCH := ppc64 |
38 | SZ := 64 | 40 | SZ := 64 |
@@ -111,9 +113,6 @@ cpu-as-$(CONFIG_E200) += -Wa,-me200 | |||
111 | AFLAGS += $(cpu-as-y) | 113 | AFLAGS += $(cpu-as-y) |
112 | CFLAGS += $(cpu-as-y) | 114 | CFLAGS += $(cpu-as-y) |
113 | 115 | ||
114 | # Default to the common case. | ||
115 | KBUILD_DEFCONFIG := common_defconfig | ||
116 | |||
117 | head-y := arch/powerpc/kernel/head_32.o | 116 | head-y := arch/powerpc/kernel/head_32.o |
118 | head-$(CONFIG_PPC64) := arch/powerpc/kernel/head_64.o | 117 | head-$(CONFIG_PPC64) := arch/powerpc/kernel/head_64.o |
119 | head-$(CONFIG_8xx) := arch/powerpc/kernel/head_8xx.o | 118 | head-$(CONFIG_8xx) := arch/powerpc/kernel/head_8xx.o |
@@ -125,11 +124,11 @@ head-$(CONFIG_PPC64) += arch/powerpc/kernel/entry_64.o | |||
125 | head-$(CONFIG_PPC_FPU) += arch/powerpc/kernel/fpu.o | 124 | head-$(CONFIG_PPC_FPU) += arch/powerpc/kernel/fpu.o |
126 | 125 | ||
127 | core-y += arch/powerpc/kernel/ \ | 126 | core-y += arch/powerpc/kernel/ \ |
128 | arch/$(OLDARCH)/kernel/ \ | ||
129 | arch/powerpc/mm/ \ | 127 | arch/powerpc/mm/ \ |
130 | arch/powerpc/lib/ \ | 128 | arch/powerpc/lib/ \ |
131 | arch/powerpc/sysdev/ \ | 129 | arch/powerpc/sysdev/ \ |
132 | arch/powerpc/platforms/ | 130 | arch/powerpc/platforms/ |
131 | core-$(CONFIG_PPC32) += arch/ppc/kernel/ | ||
133 | core-$(CONFIG_MATH_EMULATION) += arch/ppc/math-emu/ | 132 | core-$(CONFIG_MATH_EMULATION) += arch/ppc/math-emu/ |
134 | core-$(CONFIG_XMON) += arch/powerpc/xmon/ | 133 | core-$(CONFIG_XMON) += arch/powerpc/xmon/ |
135 | core-$(CONFIG_APUS) += arch/ppc/amiga/ | 134 | core-$(CONFIG_APUS) += arch/ppc/amiga/ |
@@ -165,7 +164,7 @@ define archhelp | |||
165 | @echo ' (your) ~/bin/installkernel or' | 164 | @echo ' (your) ~/bin/installkernel or' |
166 | @echo ' (distribution) /sbin/installkernel or' | 165 | @echo ' (distribution) /sbin/installkernel or' |
167 | @echo ' install to $$(INSTALL_PATH) and run lilo' | 166 | @echo ' install to $$(INSTALL_PATH) and run lilo' |
168 | @echo ' *_defconfig - Select default config from arch/$(ARCH)/ppc/configs' | 167 | @echo ' *_defconfig - Select default config from arch/$(ARCH)/configs' |
169 | endef | 168 | endef |
170 | 169 | ||
171 | archclean: | 170 | archclean: |
diff --git a/arch/powerpc/boot/crt0.S b/arch/powerpc/boot/crt0.S index 9cc442263939..d2f2ace56cd3 100644 --- a/arch/powerpc/boot/crt0.S +++ b/arch/powerpc/boot/crt0.S | |||
@@ -14,43 +14,42 @@ | |||
14 | .text | 14 | .text |
15 | .globl _zimage_start | 15 | .globl _zimage_start |
16 | _zimage_start: | 16 | _zimage_start: |
17 | bl reloc_offset | 17 | bl 1f |
18 | 18 | ||
19 | reloc_offset: | 19 | 1: |
20 | mflr r0 | 20 | mflr r0 |
21 | lis r9,reloc_offset@ha | 21 | lis r9,1b@ha |
22 | addi r9,r9,reloc_offset@l | 22 | addi r9,r9,1b@l |
23 | subf. r0,r9,r0 | 23 | subf. r0,r9,r0 |
24 | beq clear_caches | 24 | beq 3f |
25 | 25 | ||
26 | reloc_got2: | ||
27 | lis r9,__got2_start@ha | 26 | lis r9,__got2_start@ha |
28 | addi r9,r9,__got2_start@l | 27 | addi r9,r9,__got2_start@l |
29 | lis r8,__got2_end@ha | 28 | lis r8,__got2_end@ha |
30 | addi r8,r8,__got2_end@l | 29 | addi r8,r8,__got2_end@l |
31 | subf. r8,r9,r8 | 30 | subf. r8,r9,r8 |
32 | beq clear_caches | 31 | beq 3f |
33 | srwi. r8,r8,2 | 32 | srwi. r8,r8,2 |
34 | mtctr r8 | 33 | mtctr r8 |
35 | add r9,r0,r9 | 34 | add r9,r0,r9 |
36 | reloc_got2_loop: | 35 | 2: |
37 | lwz r8,0(r9) | 36 | lwz r8,0(r9) |
38 | add r8,r8,r0 | 37 | add r8,r8,r0 |
39 | stw r8,0(r9) | 38 | stw r8,0(r9) |
40 | addi r9,r9,4 | 39 | addi r9,r9,4 |
41 | bdnz reloc_got2_loop | 40 | bdnz 2b |
42 | 41 | ||
43 | clear_caches: | 42 | 3: |
44 | lis r9,_start@h | 43 | lis r9,_start@h |
45 | add r9,r0,r9 | 44 | add r9,r0,r9 |
46 | lis r8,_etext@ha | 45 | lis r8,_etext@ha |
47 | addi r8,r8,_etext@l | 46 | addi r8,r8,_etext@l |
48 | add r8,r0,r8 | 47 | add r8,r0,r8 |
49 | 1: dcbf r0,r9 | 48 | 4: dcbf r0,r9 |
50 | icbi r0,r9 | 49 | icbi r0,r9 |
51 | addi r9,r9,0x20 | 50 | addi r9,r9,0x20 |
52 | cmplwi 0,r9,8 | 51 | cmplwi 0,r9,8 |
53 | blt 1b | 52 | blt 4b |
54 | sync | 53 | sync |
55 | isync | 54 | isync |
56 | 55 | ||
diff --git a/arch/ppc64/defconfig b/arch/powerpc/configs/ppc64_defconfig index e79fd60bc122..b5ba3bbd96fb 100644 --- a/arch/ppc64/defconfig +++ b/arch/powerpc/configs/ppc64_defconfig | |||
@@ -1,18 +1,33 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.14-rc4 | 3 | # Linux kernel version: 2.6.15-rc1 |
4 | # Thu Oct 20 08:28:33 2005 | 4 | # Fri Nov 18 16:23:24 2005 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | ||
6 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
8 | CONFIG_PPC_MERGE=y | ||
7 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 12 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
10 | CONFIG_GENERIC_ISA_DMA=y | 13 | CONFIG_PPC=y |
11 | CONFIG_EARLY_PRINTK=y | 14 | CONFIG_EARLY_PRINTK=y |
12 | CONFIG_COMPAT=y | 15 | CONFIG_COMPAT=y |
16 | CONFIG_SYSVIPC_COMPAT=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 17 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y |
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 18 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
15 | CONFIG_FORCE_MAX_ZONEORDER=13 | 19 | |
20 | # | ||
21 | # Processor support | ||
22 | # | ||
23 | # CONFIG_POWER4_ONLY is not set | ||
24 | CONFIG_POWER3=y | ||
25 | CONFIG_POWER4=y | ||
26 | CONFIG_PPC_FPU=y | ||
27 | CONFIG_ALTIVEC=y | ||
28 | CONFIG_PPC_STD_MMU=y | ||
29 | CONFIG_SMP=y | ||
30 | CONFIG_NR_CPUS=32 | ||
16 | 31 | ||
17 | # | 32 | # |
18 | # Code maturity level options | 33 | # Code maturity level options |
@@ -41,7 +56,7 @@ CONFIG_CPUSETS=y | |||
41 | CONFIG_INITRAMFS_SOURCE="" | 56 | CONFIG_INITRAMFS_SOURCE="" |
42 | # CONFIG_EMBEDDED is not set | 57 | # CONFIG_EMBEDDED is not set |
43 | CONFIG_KALLSYMS=y | 58 | CONFIG_KALLSYMS=y |
44 | # CONFIG_KALLSYMS_ALL is not set | 59 | CONFIG_KALLSYMS_ALL=y |
45 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 60 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
46 | CONFIG_PRINTK=y | 61 | CONFIG_PRINTK=y |
47 | CONFIG_BUG=y | 62 | CONFIG_BUG=y |
@@ -67,78 +82,115 @@ CONFIG_MODVERSIONS=y | |||
67 | CONFIG_MODULE_SRCVERSION_ALL=y | 82 | CONFIG_MODULE_SRCVERSION_ALL=y |
68 | CONFIG_KMOD=y | 83 | CONFIG_KMOD=y |
69 | CONFIG_STOP_MACHINE=y | 84 | CONFIG_STOP_MACHINE=y |
70 | CONFIG_SYSVIPC_COMPAT=y | 85 | |
86 | # | ||
87 | # Block layer | ||
88 | # | ||
89 | |||
90 | # | ||
91 | # IO Schedulers | ||
92 | # | ||
93 | CONFIG_IOSCHED_NOOP=y | ||
94 | CONFIG_IOSCHED_AS=y | ||
95 | CONFIG_IOSCHED_DEADLINE=y | ||
96 | CONFIG_IOSCHED_CFQ=y | ||
97 | CONFIG_DEFAULT_AS=y | ||
98 | # CONFIG_DEFAULT_DEADLINE is not set | ||
99 | # CONFIG_DEFAULT_CFQ is not set | ||
100 | # CONFIG_DEFAULT_NOOP is not set | ||
101 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
71 | 102 | ||
72 | # | 103 | # |
73 | # Platform support | 104 | # Platform support |
74 | # | 105 | # |
75 | # CONFIG_PPC_ISERIES is not set | ||
76 | CONFIG_PPC_MULTIPLATFORM=y | 106 | CONFIG_PPC_MULTIPLATFORM=y |
107 | # CONFIG_PPC_ISERIES is not set | ||
108 | # CONFIG_EMBEDDED6xx is not set | ||
109 | # CONFIG_APUS is not set | ||
77 | CONFIG_PPC_PSERIES=y | 110 | CONFIG_PPC_PSERIES=y |
78 | CONFIG_PPC_BPA=y | ||
79 | CONFIG_PPC_PMAC=y | 111 | CONFIG_PPC_PMAC=y |
112 | CONFIG_PPC_PMAC64=y | ||
80 | CONFIG_PPC_MAPLE=y | 113 | CONFIG_PPC_MAPLE=y |
81 | CONFIG_PPC=y | 114 | # CONFIG_PPC_CELL is not set |
82 | CONFIG_PPC64=y | ||
83 | CONFIG_PPC_OF=y | 115 | CONFIG_PPC_OF=y |
84 | CONFIG_XICS=y | 116 | CONFIG_XICS=y |
85 | CONFIG_MPIC=y | ||
86 | CONFIG_BPA_IIC=y | ||
87 | CONFIG_ALTIVEC=y | ||
88 | CONFIG_PPC_SPLPAR=y | ||
89 | CONFIG_KEXEC=y | ||
90 | CONFIG_IBMVIO=y | ||
91 | CONFIG_U3_DART=y | 117 | CONFIG_U3_DART=y |
118 | CONFIG_MPIC=y | ||
119 | CONFIG_PPC_RTAS=y | ||
120 | CONFIG_RTAS_ERROR_LOGGING=y | ||
121 | CONFIG_RTAS_PROC=y | ||
122 | CONFIG_RTAS_FLASH=m | ||
123 | # CONFIG_MMIO_NVRAM is not set | ||
92 | CONFIG_MPIC_BROKEN_U3=y | 124 | CONFIG_MPIC_BROKEN_U3=y |
93 | CONFIG_PPC_PMAC64=y | 125 | CONFIG_IBMVIO=y |
94 | CONFIG_BOOTX_TEXT=y | 126 | # CONFIG_PPC_MPC106 is not set |
95 | # CONFIG_POWER4_ONLY is not set | 127 | CONFIG_GENERIC_TBSYNC=y |
128 | CONFIG_CPU_FREQ=y | ||
129 | CONFIG_CPU_FREQ_TABLE=y | ||
130 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
131 | CONFIG_CPU_FREQ_STAT=y | ||
132 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
133 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
134 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
135 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
136 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y | ||
137 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
138 | # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set | ||
139 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||
140 | CONFIG_CPU_FREQ_PMAC64=y | ||
141 | # CONFIG_WANT_EARLY_SERIAL is not set | ||
142 | |||
143 | # | ||
144 | # Kernel options | ||
145 | # | ||
146 | # CONFIG_HZ_100 is not set | ||
147 | CONFIG_HZ_250=y | ||
148 | # CONFIG_HZ_1000 is not set | ||
149 | CONFIG_HZ=250 | ||
150 | CONFIG_PREEMPT_NONE=y | ||
151 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
152 | # CONFIG_PREEMPT is not set | ||
153 | # CONFIG_PREEMPT_BKL is not set | ||
154 | CONFIG_BINFMT_ELF=y | ||
155 | CONFIG_BINFMT_MISC=m | ||
156 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
96 | CONFIG_IOMMU_VMERGE=y | 157 | CONFIG_IOMMU_VMERGE=y |
97 | CONFIG_SMP=y | 158 | CONFIG_HOTPLUG_CPU=y |
98 | CONFIG_NR_CPUS=32 | 159 | CONFIG_KEXEC=y |
160 | CONFIG_IRQ_ALL_CPUS=y | ||
161 | CONFIG_PPC_SPLPAR=y | ||
162 | CONFIG_EEH=y | ||
163 | CONFIG_SCANLOG=m | ||
164 | CONFIG_LPARCFG=y | ||
165 | # CONFIG_NUMA is not set | ||
99 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | 166 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y |
100 | CONFIG_ARCH_FLATMEM_ENABLE=y | 167 | CONFIG_ARCH_FLATMEM_ENABLE=y |
101 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
102 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y | ||
103 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 168 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
169 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
104 | CONFIG_SELECT_MEMORY_MODEL=y | 170 | CONFIG_SELECT_MEMORY_MODEL=y |
105 | # CONFIG_FLATMEM_MANUAL is not set | 171 | # CONFIG_FLATMEM_MANUAL is not set |
106 | CONFIG_DISCONTIGMEM_MANUAL=y | 172 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
107 | # CONFIG_SPARSEMEM_MANUAL is not set | 173 | CONFIG_SPARSEMEM_MANUAL=y |
108 | CONFIG_DISCONTIGMEM=y | 174 | CONFIG_SPARSEMEM=y |
109 | CONFIG_FLAT_NODE_MEM_MAP=y | 175 | CONFIG_HAVE_MEMORY_PRESENT=y |
110 | CONFIG_NEED_MULTIPLE_NODES=y | ||
111 | # CONFIG_SPARSEMEM_STATIC is not set | 176 | # CONFIG_SPARSEMEM_STATIC is not set |
112 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y | 177 | CONFIG_SPARSEMEM_EXTREME=y |
113 | CONFIG_NODES_SPAN_OTHER_NODES=y | 178 | # CONFIG_MEMORY_HOTPLUG is not set |
114 | # CONFIG_NUMA is not set | 179 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
180 | # CONFIG_PPC_64K_PAGES is not set | ||
115 | # CONFIG_SCHED_SMT is not set | 181 | # CONFIG_SCHED_SMT is not set |
116 | CONFIG_PREEMPT_NONE=y | ||
117 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
118 | # CONFIG_PREEMPT is not set | ||
119 | # CONFIG_PREEMPT_BKL is not set | ||
120 | # CONFIG_HZ_100 is not set | ||
121 | CONFIG_HZ_250=y | ||
122 | # CONFIG_HZ_1000 is not set | ||
123 | CONFIG_HZ=250 | ||
124 | CONFIG_EEH=y | ||
125 | CONFIG_GENERIC_HARDIRQS=y | ||
126 | CONFIG_PPC_RTAS=y | ||
127 | CONFIG_RTAS_PROC=y | ||
128 | CONFIG_RTAS_FLASH=m | ||
129 | CONFIG_SCANLOG=m | ||
130 | CONFIG_LPARCFG=y | ||
131 | CONFIG_SECCOMP=y | ||
132 | CONFIG_BINFMT_ELF=y | ||
133 | CONFIG_BINFMT_MISC=m | ||
134 | CONFIG_HOTPLUG_CPU=y | ||
135 | CONFIG_PROC_DEVICETREE=y | 182 | CONFIG_PROC_DEVICETREE=y |
136 | # CONFIG_CMDLINE_BOOL is not set | 183 | # CONFIG_CMDLINE_BOOL is not set |
184 | # CONFIG_PM is not set | ||
185 | CONFIG_SECCOMP=y | ||
137 | CONFIG_ISA_DMA_API=y | 186 | CONFIG_ISA_DMA_API=y |
138 | 187 | ||
139 | # | 188 | # |
140 | # Bus Options | 189 | # Bus options |
141 | # | 190 | # |
191 | CONFIG_GENERIC_ISA_DMA=y | ||
192 | CONFIG_PPC_I8259=y | ||
193 | # CONFIG_PPC_INDIRECT_PCI is not set | ||
142 | CONFIG_PCI=y | 194 | CONFIG_PCI=y |
143 | CONFIG_PCI_DOMAINS=y | 195 | CONFIG_PCI_DOMAINS=y |
144 | # CONFIG_PCI_LEGACY_PROC is not set | 196 | # CONFIG_PCI_LEGACY_PROC is not set |
@@ -158,6 +210,7 @@ CONFIG_HOTPLUG_PCI=m | |||
158 | # CONFIG_HOTPLUG_PCI_SHPC is not set | 210 | # CONFIG_HOTPLUG_PCI_SHPC is not set |
159 | CONFIG_HOTPLUG_PCI_RPA=m | 211 | CONFIG_HOTPLUG_PCI_RPA=m |
160 | CONFIG_HOTPLUG_PCI_RPA_DLPAR=m | 212 | CONFIG_HOTPLUG_PCI_RPA_DLPAR=m |
213 | CONFIG_KERNEL_START=0xc000000000000000 | ||
161 | 214 | ||
162 | # | 215 | # |
163 | # Networking | 216 | # Networking |
@@ -199,6 +252,10 @@ CONFIG_TCP_CONG_BIC=y | |||
199 | # CONFIG_IPV6 is not set | 252 | # CONFIG_IPV6 is not set |
200 | CONFIG_NETFILTER=y | 253 | CONFIG_NETFILTER=y |
201 | # CONFIG_NETFILTER_DEBUG is not set | 254 | # CONFIG_NETFILTER_DEBUG is not set |
255 | |||
256 | # | ||
257 | # Core Netfilter Configuration | ||
258 | # | ||
202 | CONFIG_NETFILTER_NETLINK=y | 259 | CONFIG_NETFILTER_NETLINK=y |
203 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 260 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
204 | CONFIG_NETFILTER_NETLINK_LOG=m | 261 | CONFIG_NETFILTER_NETLINK_LOG=m |
@@ -301,6 +358,10 @@ CONFIG_LLC=y | |||
301 | # CONFIG_NET_DIVERT is not set | 358 | # CONFIG_NET_DIVERT is not set |
302 | # CONFIG_ECONET is not set | 359 | # CONFIG_ECONET is not set |
303 | # CONFIG_WAN_ROUTER is not set | 360 | # CONFIG_WAN_ROUTER is not set |
361 | |||
362 | # | ||
363 | # QoS and/or fair queueing | ||
364 | # | ||
304 | # CONFIG_NET_SCHED is not set | 365 | # CONFIG_NET_SCHED is not set |
305 | CONFIG_NET_CLS_ROUTE=y | 366 | CONFIG_NET_CLS_ROUTE=y |
306 | 367 | ||
@@ -338,13 +399,7 @@ CONFIG_FW_LOADER=y | |||
338 | # | 399 | # |
339 | # Parallel port support | 400 | # Parallel port support |
340 | # | 401 | # |
341 | CONFIG_PARPORT=m | 402 | # CONFIG_PARPORT is not set |
342 | CONFIG_PARPORT_PC=m | ||
343 | # CONFIG_PARPORT_SERIAL is not set | ||
344 | # CONFIG_PARPORT_PC_FIFO is not set | ||
345 | # CONFIG_PARPORT_PC_SUPERIO is not set | ||
346 | # CONFIG_PARPORT_GSC is not set | ||
347 | # CONFIG_PARPORT_1284 is not set | ||
348 | 403 | ||
349 | # | 404 | # |
350 | # Plug and Play support | 405 | # Plug and Play support |
@@ -354,7 +409,6 @@ CONFIG_PARPORT_PC=m | |||
354 | # Block devices | 409 | # Block devices |
355 | # | 410 | # |
356 | CONFIG_BLK_DEV_FD=y | 411 | CONFIG_BLK_DEV_FD=y |
357 | # CONFIG_PARIDE is not set | ||
358 | # CONFIG_BLK_CPQ_DA is not set | 412 | # CONFIG_BLK_CPQ_DA is not set |
359 | # CONFIG_BLK_CPQ_CISS_DA is not set | 413 | # CONFIG_BLK_CPQ_CISS_DA is not set |
360 | # CONFIG_BLK_DEV_DAC960 is not set | 414 | # CONFIG_BLK_DEV_DAC960 is not set |
@@ -370,14 +424,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16 | |||
370 | CONFIG_BLK_DEV_RAM_SIZE=65536 | 424 | CONFIG_BLK_DEV_RAM_SIZE=65536 |
371 | CONFIG_BLK_DEV_INITRD=y | 425 | CONFIG_BLK_DEV_INITRD=y |
372 | # CONFIG_CDROM_PKTCDVD is not set | 426 | # CONFIG_CDROM_PKTCDVD is not set |
373 | |||
374 | # | ||
375 | # IO Schedulers | ||
376 | # | ||
377 | CONFIG_IOSCHED_NOOP=y | ||
378 | CONFIG_IOSCHED_AS=y | ||
379 | CONFIG_IOSCHED_DEADLINE=y | ||
380 | CONFIG_IOSCHED_CFQ=y | ||
381 | # CONFIG_ATA_OVER_ETH is not set | 427 | # CONFIG_ATA_OVER_ETH is not set |
382 | 428 | ||
383 | # | 429 | # |
@@ -407,7 +453,7 @@ CONFIG_IDEPCI_SHARE_IRQ=y | |||
407 | # CONFIG_BLK_DEV_OFFBOARD is not set | 453 | # CONFIG_BLK_DEV_OFFBOARD is not set |
408 | CONFIG_BLK_DEV_GENERIC=y | 454 | CONFIG_BLK_DEV_GENERIC=y |
409 | # CONFIG_BLK_DEV_OPTI621 is not set | 455 | # CONFIG_BLK_DEV_OPTI621 is not set |
410 | CONFIG_BLK_DEV_SL82C105=y | 456 | # CONFIG_BLK_DEV_SL82C105 is not set |
411 | CONFIG_BLK_DEV_IDEDMA_PCI=y | 457 | CONFIG_BLK_DEV_IDEDMA_PCI=y |
412 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | 458 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set |
413 | CONFIG_IDEDMA_PCI_AUTO=y | 459 | CONFIG_IDEDMA_PCI_AUTO=y |
@@ -479,6 +525,7 @@ CONFIG_SCSI_ISCSI_ATTRS=m | |||
479 | # | 525 | # |
480 | # SCSI low-level drivers | 526 | # SCSI low-level drivers |
481 | # | 527 | # |
528 | # CONFIG_ISCSI_TCP is not set | ||
482 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 529 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
483 | # CONFIG_SCSI_3W_9XXX is not set | 530 | # CONFIG_SCSI_3W_9XXX is not set |
484 | # CONFIG_SCSI_ACARD is not set | 531 | # CONFIG_SCSI_ACARD is not set |
@@ -495,10 +542,12 @@ CONFIG_SCSI_SATA_SVW=y | |||
495 | # CONFIG_SCSI_ATA_PIIX is not set | 542 | # CONFIG_SCSI_ATA_PIIX is not set |
496 | # CONFIG_SCSI_SATA_MV is not set | 543 | # CONFIG_SCSI_SATA_MV is not set |
497 | # CONFIG_SCSI_SATA_NV is not set | 544 | # CONFIG_SCSI_SATA_NV is not set |
498 | # CONFIG_SCSI_SATA_PROMISE is not set | 545 | # CONFIG_SCSI_PDC_ADMA is not set |
499 | # CONFIG_SCSI_SATA_QSTOR is not set | 546 | # CONFIG_SCSI_SATA_QSTOR is not set |
547 | # CONFIG_SCSI_SATA_PROMISE is not set | ||
500 | # CONFIG_SCSI_SATA_SX4 is not set | 548 | # CONFIG_SCSI_SATA_SX4 is not set |
501 | # CONFIG_SCSI_SATA_SIL is not set | 549 | # CONFIG_SCSI_SATA_SIL is not set |
550 | # CONFIG_SCSI_SATA_SIL24 is not set | ||
502 | # CONFIG_SCSI_SATA_SIS is not set | 551 | # CONFIG_SCSI_SATA_SIS is not set |
503 | # CONFIG_SCSI_SATA_ULI is not set | 552 | # CONFIG_SCSI_SATA_ULI is not set |
504 | # CONFIG_SCSI_SATA_VIA is not set | 553 | # CONFIG_SCSI_SATA_VIA is not set |
@@ -512,8 +561,6 @@ CONFIG_SCSI_SATA_SVW=y | |||
512 | CONFIG_SCSI_IBMVSCSI=y | 561 | CONFIG_SCSI_IBMVSCSI=y |
513 | # CONFIG_SCSI_INITIO is not set | 562 | # CONFIG_SCSI_INITIO is not set |
514 | # CONFIG_SCSI_INIA100 is not set | 563 | # CONFIG_SCSI_INIA100 is not set |
515 | # CONFIG_SCSI_PPA is not set | ||
516 | # CONFIG_SCSI_IMM is not set | ||
517 | CONFIG_SCSI_SYM53C8XX_2=y | 564 | CONFIG_SCSI_SYM53C8XX_2=y |
518 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 | 565 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 |
519 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 566 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 |
@@ -608,6 +655,9 @@ CONFIG_IEEE1394_AMDTP=m | |||
608 | CONFIG_ADB_PMU=y | 655 | CONFIG_ADB_PMU=y |
609 | CONFIG_PMAC_SMU=y | 656 | CONFIG_PMAC_SMU=y |
610 | CONFIG_THERM_PM72=y | 657 | CONFIG_THERM_PM72=y |
658 | CONFIG_WINDFARM=y | ||
659 | CONFIG_WINDFARM_PM81=y | ||
660 | CONFIG_WINDFARM_PM91=y | ||
611 | 661 | ||
612 | # | 662 | # |
613 | # Network device support | 663 | # Network device support |
@@ -664,7 +714,6 @@ CONFIG_E100=y | |||
664 | # CONFIG_EPIC100 is not set | 714 | # CONFIG_EPIC100 is not set |
665 | # CONFIG_SUNDANCE is not set | 715 | # CONFIG_SUNDANCE is not set |
666 | # CONFIG_VIA_RHINE is not set | 716 | # CONFIG_VIA_RHINE is not set |
667 | # CONFIG_NET_POCKET is not set | ||
668 | 717 | ||
669 | # | 718 | # |
670 | # Ethernet (1000 Mbit) | 719 | # Ethernet (1000 Mbit) |
@@ -684,7 +733,6 @@ CONFIG_E1000=y | |||
684 | # CONFIG_VIA_VELOCITY is not set | 733 | # CONFIG_VIA_VELOCITY is not set |
685 | CONFIG_TIGON3=y | 734 | CONFIG_TIGON3=y |
686 | # CONFIG_BNX2 is not set | 735 | # CONFIG_BNX2 is not set |
687 | # CONFIG_SPIDER_NET is not set | ||
688 | # CONFIG_MV643XX_ETH is not set | 736 | # CONFIG_MV643XX_ETH is not set |
689 | 737 | ||
690 | # | 738 | # |
@@ -714,7 +762,6 @@ CONFIG_IBMOL=y | |||
714 | # CONFIG_WAN is not set | 762 | # CONFIG_WAN is not set |
715 | # CONFIG_FDDI is not set | 763 | # CONFIG_FDDI is not set |
716 | # CONFIG_HIPPI is not set | 764 | # CONFIG_HIPPI is not set |
717 | # CONFIG_PLIP is not set | ||
718 | CONFIG_PPP=m | 765 | CONFIG_PPP=m |
719 | # CONFIG_PPP_MULTILINK is not set | 766 | # CONFIG_PPP_MULTILINK is not set |
720 | # CONFIG_PPP_FILTER is not set | 767 | # CONFIG_PPP_FILTER is not set |
@@ -722,6 +769,7 @@ CONFIG_PPP_ASYNC=m | |||
722 | CONFIG_PPP_SYNC_TTY=m | 769 | CONFIG_PPP_SYNC_TTY=m |
723 | CONFIG_PPP_DEFLATE=m | 770 | CONFIG_PPP_DEFLATE=m |
724 | CONFIG_PPP_BSDCOMP=m | 771 | CONFIG_PPP_BSDCOMP=m |
772 | # CONFIG_PPP_MPPE is not set | ||
725 | CONFIG_PPPOE=m | 773 | CONFIG_PPPOE=m |
726 | # CONFIG_SLIP is not set | 774 | # CONFIG_SLIP is not set |
727 | # CONFIG_NET_FC is not set | 775 | # CONFIG_NET_FC is not set |
@@ -784,7 +832,6 @@ CONFIG_INPUT_PCSPKR=m | |||
784 | CONFIG_SERIO=y | 832 | CONFIG_SERIO=y |
785 | CONFIG_SERIO_I8042=y | 833 | CONFIG_SERIO_I8042=y |
786 | # CONFIG_SERIO_SERPORT is not set | 834 | # CONFIG_SERIO_SERPORT is not set |
787 | # CONFIG_SERIO_PARKBD is not set | ||
788 | # CONFIG_SERIO_PCIPS2 is not set | 835 | # CONFIG_SERIO_PCIPS2 is not set |
789 | CONFIG_SERIO_LIBPS2=y | 836 | CONFIG_SERIO_LIBPS2=y |
790 | # CONFIG_SERIO_RAW is not set | 837 | # CONFIG_SERIO_RAW is not set |
@@ -817,10 +864,6 @@ CONFIG_SERIAL_JSM=m | |||
817 | CONFIG_UNIX98_PTYS=y | 864 | CONFIG_UNIX98_PTYS=y |
818 | CONFIG_LEGACY_PTYS=y | 865 | CONFIG_LEGACY_PTYS=y |
819 | CONFIG_LEGACY_PTY_COUNT=256 | 866 | CONFIG_LEGACY_PTY_COUNT=256 |
820 | CONFIG_PRINTER=m | ||
821 | # CONFIG_LP_CONSOLE is not set | ||
822 | # CONFIG_PPDEV is not set | ||
823 | # CONFIG_TIPAR is not set | ||
824 | CONFIG_HVC_CONSOLE=y | 867 | CONFIG_HVC_CONSOLE=y |
825 | CONFIG_HVCS=m | 868 | CONFIG_HVCS=m |
826 | 869 | ||
@@ -834,6 +877,7 @@ CONFIG_HVCS=m | |||
834 | # | 877 | # |
835 | # CONFIG_WATCHDOG is not set | 878 | # CONFIG_WATCHDOG is not set |
836 | # CONFIG_RTC is not set | 879 | # CONFIG_RTC is not set |
880 | # CONFIG_GEN_RTC is not set | ||
837 | # CONFIG_DTLK is not set | 881 | # CONFIG_DTLK is not set |
838 | # CONFIG_R3964 is not set | 882 | # CONFIG_R3964 is not set |
839 | # CONFIG_APPLICOM is not set | 883 | # CONFIG_APPLICOM is not set |
@@ -851,6 +895,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
851 | # TPM devices | 895 | # TPM devices |
852 | # | 896 | # |
853 | # CONFIG_TCG_TPM is not set | 897 | # CONFIG_TCG_TPM is not set |
898 | # CONFIG_TELCLOCK is not set | ||
854 | 899 | ||
855 | # | 900 | # |
856 | # I2C support | 901 | # I2C support |
@@ -879,7 +924,6 @@ CONFIG_I2C_AMD8111=y | |||
879 | CONFIG_I2C_KEYWEST=y | 924 | CONFIG_I2C_KEYWEST=y |
880 | CONFIG_I2C_PMAC_SMU=y | 925 | CONFIG_I2C_PMAC_SMU=y |
881 | # CONFIG_I2C_NFORCE2 is not set | 926 | # CONFIG_I2C_NFORCE2 is not set |
882 | # CONFIG_I2C_PARPORT is not set | ||
883 | # CONFIG_I2C_PARPORT_LIGHT is not set | 927 | # CONFIG_I2C_PARPORT_LIGHT is not set |
884 | # CONFIG_I2C_PROSAVAGE is not set | 928 | # CONFIG_I2C_PROSAVAGE is not set |
885 | # CONFIG_I2C_SAVAGE4 is not set | 929 | # CONFIG_I2C_SAVAGE4 is not set |
@@ -904,6 +948,7 @@ CONFIG_I2C_PMAC_SMU=y | |||
904 | # CONFIG_SENSORS_PCF8591 is not set | 948 | # CONFIG_SENSORS_PCF8591 is not set |
905 | # CONFIG_SENSORS_RTC8564 is not set | 949 | # CONFIG_SENSORS_RTC8564 is not set |
906 | # CONFIG_SENSORS_MAX6875 is not set | 950 | # CONFIG_SENSORS_MAX6875 is not set |
951 | # CONFIG_RTC_X1205_I2C is not set | ||
907 | # CONFIG_I2C_DEBUG_CORE is not set | 952 | # CONFIG_I2C_DEBUG_CORE is not set |
908 | # CONFIG_I2C_DEBUG_ALGO is not set | 953 | # CONFIG_I2C_DEBUG_ALGO is not set |
909 | # CONFIG_I2C_DEBUG_BUS is not set | 954 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -945,7 +990,6 @@ CONFIG_FB=y | |||
945 | CONFIG_FB_CFB_FILLRECT=y | 990 | CONFIG_FB_CFB_FILLRECT=y |
946 | CONFIG_FB_CFB_COPYAREA=y | 991 | CONFIG_FB_CFB_COPYAREA=y |
947 | CONFIG_FB_CFB_IMAGEBLIT=y | 992 | CONFIG_FB_CFB_IMAGEBLIT=y |
948 | CONFIG_FB_SOFT_CURSOR=y | ||
949 | CONFIG_FB_MACMODES=y | 993 | CONFIG_FB_MACMODES=y |
950 | CONFIG_FB_MODE_HELPERS=y | 994 | CONFIG_FB_MODE_HELPERS=y |
951 | CONFIG_FB_TILEBLITTING=y | 995 | CONFIG_FB_TILEBLITTING=y |
@@ -960,6 +1004,7 @@ CONFIG_FB_OF=y | |||
960 | # CONFIG_FB_ASILIANT is not set | 1004 | # CONFIG_FB_ASILIANT is not set |
961 | # CONFIG_FB_IMSTT is not set | 1005 | # CONFIG_FB_IMSTT is not set |
962 | # CONFIG_FB_VGA16 is not set | 1006 | # CONFIG_FB_VGA16 is not set |
1007 | # CONFIG_FB_S1D13XXX is not set | ||
963 | # CONFIG_FB_NVIDIA is not set | 1008 | # CONFIG_FB_NVIDIA is not set |
964 | # CONFIG_FB_RIVA is not set | 1009 | # CONFIG_FB_RIVA is not set |
965 | CONFIG_FB_MATROX=y | 1010 | CONFIG_FB_MATROX=y |
@@ -983,7 +1028,6 @@ CONFIG_FB_RADEON_I2C=y | |||
983 | # CONFIG_FB_VOODOO1 is not set | 1028 | # CONFIG_FB_VOODOO1 is not set |
984 | # CONFIG_FB_CYBLA is not set | 1029 | # CONFIG_FB_CYBLA is not set |
985 | # CONFIG_FB_TRIDENT is not set | 1030 | # CONFIG_FB_TRIDENT is not set |
986 | # CONFIG_FB_S1D13XXX is not set | ||
987 | # CONFIG_FB_VIRTUAL is not set | 1031 | # CONFIG_FB_VIRTUAL is not set |
988 | 1032 | ||
989 | # | 1033 | # |
@@ -992,6 +1036,7 @@ CONFIG_FB_RADEON_I2C=y | |||
992 | # CONFIG_VGA_CONSOLE is not set | 1036 | # CONFIG_VGA_CONSOLE is not set |
993 | CONFIG_DUMMY_CONSOLE=y | 1037 | CONFIG_DUMMY_CONSOLE=y |
994 | CONFIG_FRAMEBUFFER_CONSOLE=y | 1038 | CONFIG_FRAMEBUFFER_CONSOLE=y |
1039 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
995 | # CONFIG_FONTS is not set | 1040 | # CONFIG_FONTS is not set |
996 | CONFIG_FONT_8x8=y | 1041 | CONFIG_FONT_8x8=y |
997 | CONFIG_FONT_8x16=y | 1042 | CONFIG_FONT_8x16=y |
@@ -1012,7 +1057,94 @@ CONFIG_LCD_DEVICE=y | |||
1012 | # | 1057 | # |
1013 | # Sound | 1058 | # Sound |
1014 | # | 1059 | # |
1015 | # CONFIG_SOUND is not set | 1060 | CONFIG_SOUND=m |
1061 | |||
1062 | # | ||
1063 | # Advanced Linux Sound Architecture | ||
1064 | # | ||
1065 | CONFIG_SND=m | ||
1066 | CONFIG_SND_TIMER=m | ||
1067 | CONFIG_SND_PCM=m | ||
1068 | CONFIG_SND_SEQUENCER=m | ||
1069 | CONFIG_SND_SEQ_DUMMY=m | ||
1070 | CONFIG_SND_OSSEMUL=y | ||
1071 | CONFIG_SND_MIXER_OSS=m | ||
1072 | CONFIG_SND_PCM_OSS=m | ||
1073 | CONFIG_SND_SEQUENCER_OSS=y | ||
1074 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
1075 | # CONFIG_SND_DEBUG is not set | ||
1076 | CONFIG_SND_GENERIC_DRIVER=y | ||
1077 | |||
1078 | # | ||
1079 | # Generic devices | ||
1080 | # | ||
1081 | # CONFIG_SND_DUMMY is not set | ||
1082 | # CONFIG_SND_VIRMIDI is not set | ||
1083 | # CONFIG_SND_MTPAV is not set | ||
1084 | # CONFIG_SND_SERIAL_U16550 is not set | ||
1085 | # CONFIG_SND_MPU401 is not set | ||
1086 | |||
1087 | # | ||
1088 | # PCI devices | ||
1089 | # | ||
1090 | # CONFIG_SND_ALI5451 is not set | ||
1091 | # CONFIG_SND_ATIIXP is not set | ||
1092 | # CONFIG_SND_ATIIXP_MODEM is not set | ||
1093 | # CONFIG_SND_AU8810 is not set | ||
1094 | # CONFIG_SND_AU8820 is not set | ||
1095 | # CONFIG_SND_AU8830 is not set | ||
1096 | # CONFIG_SND_AZT3328 is not set | ||
1097 | # CONFIG_SND_BT87X is not set | ||
1098 | # CONFIG_SND_CS46XX is not set | ||
1099 | # CONFIG_SND_CS4281 is not set | ||
1100 | # CONFIG_SND_EMU10K1 is not set | ||
1101 | # CONFIG_SND_EMU10K1X is not set | ||
1102 | # CONFIG_SND_CA0106 is not set | ||
1103 | # CONFIG_SND_KORG1212 is not set | ||
1104 | # CONFIG_SND_MIXART is not set | ||
1105 | # CONFIG_SND_NM256 is not set | ||
1106 | # CONFIG_SND_RME32 is not set | ||
1107 | # CONFIG_SND_RME96 is not set | ||
1108 | # CONFIG_SND_RME9652 is not set | ||
1109 | # CONFIG_SND_HDSP is not set | ||
1110 | # CONFIG_SND_HDSPM is not set | ||
1111 | # CONFIG_SND_TRIDENT is not set | ||
1112 | # CONFIG_SND_YMFPCI is not set | ||
1113 | # CONFIG_SND_AD1889 is not set | ||
1114 | # CONFIG_SND_ALS4000 is not set | ||
1115 | # CONFIG_SND_CMIPCI is not set | ||
1116 | # CONFIG_SND_ENS1370 is not set | ||
1117 | # CONFIG_SND_ENS1371 is not set | ||
1118 | # CONFIG_SND_ES1938 is not set | ||
1119 | # CONFIG_SND_ES1968 is not set | ||
1120 | # CONFIG_SND_MAESTRO3 is not set | ||
1121 | # CONFIG_SND_FM801 is not set | ||
1122 | # CONFIG_SND_ICE1712 is not set | ||
1123 | # CONFIG_SND_ICE1724 is not set | ||
1124 | # CONFIG_SND_INTEL8X0 is not set | ||
1125 | # CONFIG_SND_INTEL8X0M is not set | ||
1126 | # CONFIG_SND_SONICVIBES is not set | ||
1127 | # CONFIG_SND_VIA82XX is not set | ||
1128 | # CONFIG_SND_VIA82XX_MODEM is not set | ||
1129 | # CONFIG_SND_VX222 is not set | ||
1130 | # CONFIG_SND_HDA_INTEL is not set | ||
1131 | |||
1132 | # | ||
1133 | # ALSA PowerMac devices | ||
1134 | # | ||
1135 | CONFIG_SND_POWERMAC=m | ||
1136 | CONFIG_SND_POWERMAC_AUTO_DRC=y | ||
1137 | |||
1138 | # | ||
1139 | # USB devices | ||
1140 | # | ||
1141 | # CONFIG_SND_USB_AUDIO is not set | ||
1142 | # CONFIG_SND_USB_USX2Y is not set | ||
1143 | |||
1144 | # | ||
1145 | # Open Sound System | ||
1146 | # | ||
1147 | # CONFIG_SOUND_PRIME is not set | ||
1016 | 1148 | ||
1017 | # | 1149 | # |
1018 | # USB support | 1150 | # USB support |
@@ -1046,12 +1178,16 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1046 | # | 1178 | # |
1047 | # USB Device Class drivers | 1179 | # USB Device Class drivers |
1048 | # | 1180 | # |
1049 | # CONFIG_USB_BLUETOOTH_TTY is not set | 1181 | # CONFIG_OBSOLETE_OSS_USB_DRIVER is not set |
1050 | # CONFIG_USB_ACM is not set | 1182 | # CONFIG_USB_ACM is not set |
1051 | # CONFIG_USB_PRINTER is not set | 1183 | # CONFIG_USB_PRINTER is not set |
1052 | 1184 | ||
1053 | # | 1185 | # |
1054 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 1186 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
1187 | # | ||
1188 | |||
1189 | # | ||
1190 | # may also be needed; see USB_STORAGE Help for more information | ||
1055 | # | 1191 | # |
1056 | CONFIG_USB_STORAGE=m | 1192 | CONFIG_USB_STORAGE=m |
1057 | # CONFIG_USB_STORAGE_DEBUG is not set | 1193 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1106,7 +1242,7 @@ CONFIG_USB_HIDDEV=y | |||
1106 | # | 1242 | # |
1107 | # CONFIG_USB_CATC is not set | 1243 | # CONFIG_USB_CATC is not set |
1108 | # CONFIG_USB_KAWETH is not set | 1244 | # CONFIG_USB_KAWETH is not set |
1109 | CONFIG_USB_PEGASUS=y | 1245 | # CONFIG_USB_PEGASUS is not set |
1110 | # CONFIG_USB_RTL8150 is not set | 1246 | # CONFIG_USB_RTL8150 is not set |
1111 | # CONFIG_USB_USBNET is not set | 1247 | # CONFIG_USB_USBNET is not set |
1112 | # CONFIG_USB_MON is not set | 1248 | # CONFIG_USB_MON is not set |
@@ -1114,7 +1250,6 @@ CONFIG_USB_PEGASUS=y | |||
1114 | # | 1250 | # |
1115 | # USB port drivers | 1251 | # USB port drivers |
1116 | # | 1252 | # |
1117 | # CONFIG_USB_USS720 is not set | ||
1118 | 1253 | ||
1119 | # | 1254 | # |
1120 | # USB Serial Converter support | 1255 | # USB Serial Converter support |
@@ -1163,6 +1298,7 @@ CONFIG_INFINIBAND_MTHCA=m | |||
1163 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set | 1298 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set |
1164 | CONFIG_INFINIBAND_IPOIB=m | 1299 | CONFIG_INFINIBAND_IPOIB=m |
1165 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | 1300 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set |
1301 | # CONFIG_INFINIBAND_SRP is not set | ||
1166 | 1302 | ||
1167 | # | 1303 | # |
1168 | # SN Devices | 1304 | # SN Devices |
@@ -1358,10 +1494,25 @@ CONFIG_NLS_KOI8_U=m | |||
1358 | CONFIG_NLS_UTF8=m | 1494 | CONFIG_NLS_UTF8=m |
1359 | 1495 | ||
1360 | # | 1496 | # |
1361 | # Profiling support | 1497 | # Library routines |
1498 | # | ||
1499 | CONFIG_CRC_CCITT=m | ||
1500 | # CONFIG_CRC16 is not set | ||
1501 | CONFIG_CRC32=y | ||
1502 | CONFIG_LIBCRC32C=m | ||
1503 | CONFIG_ZLIB_INFLATE=y | ||
1504 | CONFIG_ZLIB_DEFLATE=m | ||
1505 | CONFIG_TEXTSEARCH=y | ||
1506 | CONFIG_TEXTSEARCH_KMP=m | ||
1507 | CONFIG_TEXTSEARCH_BM=m | ||
1508 | CONFIG_TEXTSEARCH_FSM=m | ||
1509 | |||
1510 | # | ||
1511 | # Instrumentation Support | ||
1362 | # | 1512 | # |
1363 | CONFIG_PROFILING=y | 1513 | CONFIG_PROFILING=y |
1364 | CONFIG_OPROFILE=y | 1514 | CONFIG_OPROFILE=y |
1515 | # CONFIG_KPROBES is not set | ||
1365 | 1516 | ||
1366 | # | 1517 | # |
1367 | # Kernel hacking | 1518 | # Kernel hacking |
@@ -1378,14 +1529,15 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
1378 | # CONFIG_DEBUG_KOBJECT is not set | 1529 | # CONFIG_DEBUG_KOBJECT is not set |
1379 | # CONFIG_DEBUG_INFO is not set | 1530 | # CONFIG_DEBUG_INFO is not set |
1380 | CONFIG_DEBUG_FS=y | 1531 | CONFIG_DEBUG_FS=y |
1532 | # CONFIG_DEBUG_VM is not set | ||
1533 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1381 | CONFIG_DEBUG_STACKOVERFLOW=y | 1534 | CONFIG_DEBUG_STACKOVERFLOW=y |
1382 | # CONFIG_KPROBES is not set | ||
1383 | CONFIG_DEBUG_STACK_USAGE=y | 1535 | CONFIG_DEBUG_STACK_USAGE=y |
1384 | CONFIG_DEBUGGER=y | 1536 | CONFIG_DEBUGGER=y |
1385 | CONFIG_XMON=y | 1537 | CONFIG_XMON=y |
1386 | # CONFIG_XMON_DEFAULT is not set | 1538 | # CONFIG_XMON_DEFAULT is not set |
1387 | # CONFIG_PPCDBG is not set | ||
1388 | CONFIG_IRQSTACKS=y | 1539 | CONFIG_IRQSTACKS=y |
1540 | CONFIG_BOOTX_TEXT=y | ||
1389 | 1541 | ||
1390 | # | 1542 | # |
1391 | # Security options | 1543 | # Security options |
@@ -1425,17 +1577,3 @@ CONFIG_CRYPTO_TEST=m | |||
1425 | # | 1577 | # |
1426 | # Hardware crypto devices | 1578 | # Hardware crypto devices |
1427 | # | 1579 | # |
1428 | |||
1429 | # | ||
1430 | # Library routines | ||
1431 | # | ||
1432 | CONFIG_CRC_CCITT=m | ||
1433 | # CONFIG_CRC16 is not set | ||
1434 | CONFIG_CRC32=y | ||
1435 | CONFIG_LIBCRC32C=m | ||
1436 | CONFIG_ZLIB_INFLATE=y | ||
1437 | CONFIG_ZLIB_DEFLATE=m | ||
1438 | CONFIG_TEXTSEARCH=y | ||
1439 | CONFIG_TEXTSEARCH_KMP=m | ||
1440 | CONFIG_TEXTSEARCH_BM=m | ||
1441 | CONFIG_TEXTSEARCH_FSM=m | ||
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index b4745c918a4a..b589b196eb3f 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig | |||
@@ -165,7 +165,6 @@ CONFIG_SPARSEMEM_EXTREME=y | |||
165 | # CONFIG_MEMORY_HOTPLUG is not set | 165 | # CONFIG_MEMORY_HOTPLUG is not set |
166 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 166 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
167 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y | 167 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y |
168 | CONFIG_NODES_SPAN_OTHER_NODES=y | ||
169 | # CONFIG_PPC_64K_PAGES is not set | 168 | # CONFIG_PPC_64K_PAGES is not set |
170 | CONFIG_SCHED_SMT=y | 169 | CONFIG_SCHED_SMT=y |
171 | CONFIG_PROC_DEVICETREE=y | 170 | CONFIG_PROC_DEVICETREE=y |
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 4970e3721a84..9ed551b6c172 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile | |||
@@ -12,12 +12,12 @@ CFLAGS_btext.o += -fPIC | |||
12 | endif | 12 | endif |
13 | 13 | ||
14 | obj-y := semaphore.o cputable.o ptrace.o syscalls.o \ | 14 | obj-y := semaphore.o cputable.o ptrace.o syscalls.o \ |
15 | irq.o signal_32.o pmc.o vdso.o | 15 | irq.o align.o signal_32.o pmc.o vdso.o |
16 | obj-y += vdso32/ | 16 | obj-y += vdso32/ |
17 | obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ | 17 | obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ |
18 | signal_64.o ptrace32.o systbl.o \ | 18 | signal_64.o ptrace32.o systbl.o \ |
19 | paca.o ioctl32.o cpu_setup_power4.o \ | 19 | paca.o ioctl32.o cpu_setup_power4.o \ |
20 | firmware.o sysfs.o udbg.o | 20 | firmware.o sysfs.o udbg.o idle_64.o |
21 | obj-$(CONFIG_PPC64) += vdso64/ | 21 | obj-$(CONFIG_PPC64) += vdso64/ |
22 | obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o | 22 | obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o |
23 | obj-$(CONFIG_POWER4) += idle_power4.o | 23 | obj-$(CONFIG_POWER4) += idle_power4.o |
@@ -35,6 +35,7 @@ obj-$(CONFIG_PPC_PSERIES) += udbg_16550.o | |||
35 | obj-$(CONFIG_PPC_MAPLE) += udbg_16550.o | 35 | obj-$(CONFIG_PPC_MAPLE) += udbg_16550.o |
36 | udbgscc-$(CONFIG_PPC64) := udbg_scc.o | 36 | udbgscc-$(CONFIG_PPC64) := udbg_scc.o |
37 | obj-$(CONFIG_PPC_PMAC) += $(udbgscc-y) | 37 | obj-$(CONFIG_PPC_PMAC) += $(udbgscc-y) |
38 | obj64-$(CONFIG_PPC_MULTIPLATFORM) += nvram_64.o | ||
38 | 39 | ||
39 | ifeq ($(CONFIG_PPC_MERGE),y) | 40 | ifeq ($(CONFIG_PPC_MERGE),y) |
40 | 41 | ||
@@ -78,5 +79,7 @@ smpobj-$(CONFIG_SMP) += smp.o | |||
78 | 79 | ||
79 | endif | 80 | endif |
80 | 81 | ||
82 | obj-$(CONFIG_PPC64) += $(obj64-y) | ||
83 | |||
81 | extra-$(CONFIG_PPC_FPU) += fpu.o | 84 | extra-$(CONFIG_PPC_FPU) += fpu.o |
82 | extra-$(CONFIG_PPC64) += entry_64.o | 85 | extra-$(CONFIG_PPC64) += entry_64.o |
diff --git a/arch/ppc64/kernel/align.c b/arch/powerpc/kernel/align.c index 256d5b592aa1..faaec9c6f78f 100644 --- a/arch/ppc64/kernel/align.c +++ b/arch/powerpc/kernel/align.c | |||
@@ -7,6 +7,9 @@ | |||
7 | * PowerPC 403GCX/405GP modifications. | 7 | * PowerPC 403GCX/405GP modifications. |
8 | * Copyright (c) 2001-2002 PPC64 team, IBM Corp | 8 | * Copyright (c) 2001-2002 PPC64 team, IBM Corp |
9 | * 64-bit and Power4 support | 9 | * 64-bit and Power4 support |
10 | * Copyright (c) 2005 Benjamin Herrenschmidt, IBM Corp | ||
11 | * <benh@kernel.crashing.org> | ||
12 | * Merge ppc32 and ppc64 implementations | ||
10 | * | 13 | * |
11 | * This program is free software; you can redistribute it and/or | 14 | * This program is free software; you can redistribute it and/or |
12 | * modify it under the terms of the GNU General Public License | 15 | * modify it under the terms of the GNU General Public License |
@@ -38,10 +41,15 @@ struct aligninfo { | |||
38 | #define F 8 /* to/from fp regs */ | 41 | #define F 8 /* to/from fp regs */ |
39 | #define U 0x10 /* update index register */ | 42 | #define U 0x10 /* update index register */ |
40 | #define M 0x20 /* multiple load/store */ | 43 | #define M 0x20 /* multiple load/store */ |
41 | #define SW 0x40 /* byte swap */ | 44 | #define SW 0x40 /* byte swap int or ... */ |
45 | #define S 0x40 /* ... single-precision fp */ | ||
46 | #define SX 0x40 /* byte count in XER */ | ||
47 | #define HARD 0x80 /* string, stwcx. */ | ||
42 | 48 | ||
43 | #define DCBZ 0x5f /* 8xx/82xx dcbz faults when cache not enabled */ | 49 | #define DCBZ 0x5f /* 8xx/82xx dcbz faults when cache not enabled */ |
44 | 50 | ||
51 | #define SWAP(a, b) (t = (a), (a) = (b), (b) = t) | ||
52 | |||
45 | /* | 53 | /* |
46 | * The PowerPC stores certain bits of the instruction that caused the | 54 | * The PowerPC stores certain bits of the instruction that caused the |
47 | * alignment exception in the DSISR register. This array maps those | 55 | * alignment exception in the DSISR register. This array maps those |
@@ -57,14 +65,14 @@ static struct aligninfo aligninfo[128] = { | |||
57 | { 2, LD+SE }, /* 00 0 0101: lha */ | 65 | { 2, LD+SE }, /* 00 0 0101: lha */ |
58 | { 2, ST }, /* 00 0 0110: sth */ | 66 | { 2, ST }, /* 00 0 0110: sth */ |
59 | { 4, LD+M }, /* 00 0 0111: lmw */ | 67 | { 4, LD+M }, /* 00 0 0111: lmw */ |
60 | { 4, LD+F }, /* 00 0 1000: lfs */ | 68 | { 4, LD+F+S }, /* 00 0 1000: lfs */ |
61 | { 8, LD+F }, /* 00 0 1001: lfd */ | 69 | { 8, LD+F }, /* 00 0 1001: lfd */ |
62 | { 4, ST+F }, /* 00 0 1010: stfs */ | 70 | { 4, ST+F+S }, /* 00 0 1010: stfs */ |
63 | { 8, ST+F }, /* 00 0 1011: stfd */ | 71 | { 8, ST+F }, /* 00 0 1011: stfd */ |
64 | INVALID, /* 00 0 1100 */ | 72 | INVALID, /* 00 0 1100 */ |
65 | { 8, LD }, /* 00 0 1101: ld */ | 73 | { 8, LD }, /* 00 0 1101: ld/ldu/lwa */ |
66 | INVALID, /* 00 0 1110 */ | 74 | INVALID, /* 00 0 1110 */ |
67 | { 8, ST }, /* 00 0 1111: std */ | 75 | { 8, ST }, /* 00 0 1111: std/stdu */ |
68 | { 4, LD+U }, /* 00 1 0000: lwzu */ | 76 | { 4, LD+U }, /* 00 1 0000: lwzu */ |
69 | INVALID, /* 00 1 0001 */ | 77 | INVALID, /* 00 1 0001 */ |
70 | { 4, ST+U }, /* 00 1 0010: stwu */ | 78 | { 4, ST+U }, /* 00 1 0010: stwu */ |
@@ -73,9 +81,9 @@ static struct aligninfo aligninfo[128] = { | |||
73 | { 2, LD+SE+U }, /* 00 1 0101: lhau */ | 81 | { 2, LD+SE+U }, /* 00 1 0101: lhau */ |
74 | { 2, ST+U }, /* 00 1 0110: sthu */ | 82 | { 2, ST+U }, /* 00 1 0110: sthu */ |
75 | { 4, ST+M }, /* 00 1 0111: stmw */ | 83 | { 4, ST+M }, /* 00 1 0111: stmw */ |
76 | { 4, LD+F+U }, /* 00 1 1000: lfsu */ | 84 | { 4, LD+F+S+U }, /* 00 1 1000: lfsu */ |
77 | { 8, LD+F+U }, /* 00 1 1001: lfdu */ | 85 | { 8, LD+F+U }, /* 00 1 1001: lfdu */ |
78 | { 4, ST+F+U }, /* 00 1 1010: stfsu */ | 86 | { 4, ST+F+S+U }, /* 00 1 1010: stfsu */ |
79 | { 8, ST+F+U }, /* 00 1 1011: stfdu */ | 87 | { 8, ST+F+U }, /* 00 1 1011: stfdu */ |
80 | INVALID, /* 00 1 1100 */ | 88 | INVALID, /* 00 1 1100 */ |
81 | INVALID, /* 00 1 1101 */ | 89 | INVALID, /* 00 1 1101 */ |
@@ -89,10 +97,10 @@ static struct aligninfo aligninfo[128] = { | |||
89 | { 4, LD+SE }, /* 01 0 0101: lwax */ | 97 | { 4, LD+SE }, /* 01 0 0101: lwax */ |
90 | INVALID, /* 01 0 0110 */ | 98 | INVALID, /* 01 0 0110 */ |
91 | INVALID, /* 01 0 0111 */ | 99 | INVALID, /* 01 0 0111 */ |
92 | { 0, LD }, /* 01 0 1000: lswx */ | 100 | { 4, LD+M+HARD+SX }, /* 01 0 1000: lswx */ |
93 | { 0, LD }, /* 01 0 1001: lswi */ | 101 | { 4, LD+M+HARD }, /* 01 0 1001: lswi */ |
94 | { 0, ST }, /* 01 0 1010: stswx */ | 102 | { 4, ST+M+HARD+SX }, /* 01 0 1010: stswx */ |
95 | { 0, ST }, /* 01 0 1011: stswi */ | 103 | { 4, ST+M+HARD }, /* 01 0 1011: stswi */ |
96 | INVALID, /* 01 0 1100 */ | 104 | INVALID, /* 01 0 1100 */ |
97 | { 8, LD+U }, /* 01 0 1101: ldu */ | 105 | { 8, LD+U }, /* 01 0 1101: ldu */ |
98 | INVALID, /* 01 0 1110 */ | 106 | INVALID, /* 01 0 1110 */ |
@@ -115,7 +123,7 @@ static struct aligninfo aligninfo[128] = { | |||
115 | INVALID, /* 01 1 1111 */ | 123 | INVALID, /* 01 1 1111 */ |
116 | INVALID, /* 10 0 0000 */ | 124 | INVALID, /* 10 0 0000 */ |
117 | INVALID, /* 10 0 0001 */ | 125 | INVALID, /* 10 0 0001 */ |
118 | { 0, ST }, /* 10 0 0010: stwcx. */ | 126 | INVALID, /* 10 0 0010: stwcx. */ |
119 | INVALID, /* 10 0 0011 */ | 127 | INVALID, /* 10 0 0011 */ |
120 | INVALID, /* 10 0 0100 */ | 128 | INVALID, /* 10 0 0100 */ |
121 | INVALID, /* 10 0 0101 */ | 129 | INVALID, /* 10 0 0101 */ |
@@ -144,7 +152,7 @@ static struct aligninfo aligninfo[128] = { | |||
144 | INVALID, /* 10 1 1100 */ | 152 | INVALID, /* 10 1 1100 */ |
145 | INVALID, /* 10 1 1101 */ | 153 | INVALID, /* 10 1 1101 */ |
146 | INVALID, /* 10 1 1110 */ | 154 | INVALID, /* 10 1 1110 */ |
147 | { L1_CACHE_BYTES, ST }, /* 10 1 1111: dcbz */ | 155 | { 0, ST+HARD }, /* 10 1 1111: dcbz */ |
148 | { 4, LD }, /* 11 0 0000: lwzx */ | 156 | { 4, LD }, /* 11 0 0000: lwzx */ |
149 | INVALID, /* 11 0 0001 */ | 157 | INVALID, /* 11 0 0001 */ |
150 | { 4, ST }, /* 11 0 0010: stwx */ | 158 | { 4, ST }, /* 11 0 0010: stwx */ |
@@ -153,9 +161,9 @@ static struct aligninfo aligninfo[128] = { | |||
153 | { 2, LD+SE }, /* 11 0 0101: lhax */ | 161 | { 2, LD+SE }, /* 11 0 0101: lhax */ |
154 | { 2, ST }, /* 11 0 0110: sthx */ | 162 | { 2, ST }, /* 11 0 0110: sthx */ |
155 | INVALID, /* 11 0 0111 */ | 163 | INVALID, /* 11 0 0111 */ |
156 | { 4, LD+F }, /* 11 0 1000: lfsx */ | 164 | { 4, LD+F+S }, /* 11 0 1000: lfsx */ |
157 | { 8, LD+F }, /* 11 0 1001: lfdx */ | 165 | { 8, LD+F }, /* 11 0 1001: lfdx */ |
158 | { 4, ST+F }, /* 11 0 1010: stfsx */ | 166 | { 4, ST+F+S }, /* 11 0 1010: stfsx */ |
159 | { 8, ST+F }, /* 11 0 1011: stfdx */ | 167 | { 8, ST+F }, /* 11 0 1011: stfdx */ |
160 | INVALID, /* 11 0 1100 */ | 168 | INVALID, /* 11 0 1100 */ |
161 | { 8, LD+M }, /* 11 0 1101: lmd */ | 169 | { 8, LD+M }, /* 11 0 1101: lmd */ |
@@ -169,9 +177,9 @@ static struct aligninfo aligninfo[128] = { | |||
169 | { 2, LD+SE+U }, /* 11 1 0101: lhaux */ | 177 | { 2, LD+SE+U }, /* 11 1 0101: lhaux */ |
170 | { 2, ST+U }, /* 11 1 0110: sthux */ | 178 | { 2, ST+U }, /* 11 1 0110: sthux */ |
171 | INVALID, /* 11 1 0111 */ | 179 | INVALID, /* 11 1 0111 */ |
172 | { 4, LD+F+U }, /* 11 1 1000: lfsux */ | 180 | { 4, LD+F+S+U }, /* 11 1 1000: lfsux */ |
173 | { 8, LD+F+U }, /* 11 1 1001: lfdux */ | 181 | { 8, LD+F+U }, /* 11 1 1001: lfdux */ |
174 | { 4, ST+F+U }, /* 11 1 1010: stfsux */ | 182 | { 4, ST+F+S+U }, /* 11 1 1010: stfsux */ |
175 | { 8, ST+F+U }, /* 11 1 1011: stfdux */ | 183 | { 8, ST+F+U }, /* 11 1 1011: stfdux */ |
176 | INVALID, /* 11 1 1100 */ | 184 | INVALID, /* 11 1 1100 */ |
177 | INVALID, /* 11 1 1101 */ | 185 | INVALID, /* 11 1 1101 */ |
@@ -179,45 +187,175 @@ static struct aligninfo aligninfo[128] = { | |||
179 | INVALID, /* 11 1 1111 */ | 187 | INVALID, /* 11 1 1111 */ |
180 | }; | 188 | }; |
181 | 189 | ||
182 | #define SWAP(a, b) (t = (a), (a) = (b), (b) = t) | 190 | /* |
183 | 191 | * Create a DSISR value from the instruction | |
192 | */ | ||
184 | static inline unsigned make_dsisr(unsigned instr) | 193 | static inline unsigned make_dsisr(unsigned instr) |
185 | { | 194 | { |
186 | unsigned dsisr; | 195 | unsigned dsisr; |
187 | 196 | ||
188 | /* create a DSISR value from the instruction */ | 197 | |
189 | dsisr = (instr & 0x03ff0000) >> 16; /* bits 6:15 --> 22:31 */ | 198 | /* bits 6:15 --> 22:31 */ |
190 | 199 | dsisr = (instr & 0x03ff0000) >> 16; | |
191 | if ( IS_XFORM(instr) ) { | 200 | |
192 | dsisr |= (instr & 0x00000006) << 14; /* bits 29:30 --> 15:16 */ | 201 | if (IS_XFORM(instr)) { |
193 | dsisr |= (instr & 0x00000040) << 8; /* bit 25 --> 17 */ | 202 | /* bits 29:30 --> 15:16 */ |
194 | dsisr |= (instr & 0x00000780) << 3; /* bits 21:24 --> 18:21 */ | 203 | dsisr |= (instr & 0x00000006) << 14; |
204 | /* bit 25 --> 17 */ | ||
205 | dsisr |= (instr & 0x00000040) << 8; | ||
206 | /* bits 21:24 --> 18:21 */ | ||
207 | dsisr |= (instr & 0x00000780) << 3; | ||
208 | } else { | ||
209 | /* bit 5 --> 17 */ | ||
210 | dsisr |= (instr & 0x04000000) >> 12; | ||
211 | /* bits 1: 4 --> 18:21 */ | ||
212 | dsisr |= (instr & 0x78000000) >> 17; | ||
213 | /* bits 30:31 --> 12:13 */ | ||
214 | if (IS_DSFORM(instr)) | ||
215 | dsisr |= (instr & 0x00000003) << 18; | ||
195 | } | 216 | } |
196 | else { | 217 | |
197 | dsisr |= (instr & 0x04000000) >> 12; /* bit 5 --> 17 */ | 218 | return dsisr; |
198 | dsisr |= (instr & 0x78000000) >> 17; /* bits 1: 4 --> 18:21 */ | 219 | } |
199 | if ( IS_DSFORM(instr) ) { | 220 | |
200 | dsisr |= (instr & 0x00000003) << 18; /* bits 30:31 --> 12:13 */ | 221 | /* |
222 | * The dcbz (data cache block zero) instruction | ||
223 | * gives an alignment fault if used on non-cacheable | ||
224 | * memory. We handle the fault mainly for the | ||
225 | * case when we are running with the cache disabled | ||
226 | * for debugging. | ||
227 | */ | ||
228 | static int emulate_dcbz(struct pt_regs *regs, unsigned char __user *addr) | ||
229 | { | ||
230 | long __user *p; | ||
231 | int i, size; | ||
232 | |||
233 | #ifdef __powerpc64__ | ||
234 | size = ppc64_caches.dline_size; | ||
235 | #else | ||
236 | size = L1_CACHE_BYTES; | ||
237 | #endif | ||
238 | p = (long __user *) (regs->dar & -size); | ||
239 | if (user_mode(regs) && !access_ok(VERIFY_WRITE, p, size)) | ||
240 | return -EFAULT; | ||
241 | for (i = 0; i < size / sizeof(long); ++i) | ||
242 | if (__put_user(0, p+i)) | ||
243 | return -EFAULT; | ||
244 | return 1; | ||
245 | } | ||
246 | |||
247 | /* | ||
248 | * Emulate load & store multiple instructions | ||
249 | * On 64-bit machines, these instructions only affect/use the | ||
250 | * bottom 4 bytes of each register, and the loads clear the | ||
251 | * top 4 bytes of the affected register. | ||
252 | */ | ||
253 | #ifdef CONFIG_PPC64 | ||
254 | #define REG_BYTE(rp, i) *((u8 *)((rp) + ((i) >> 2)) + ((i) & 3) + 4) | ||
255 | #else | ||
256 | #define REG_BYTE(rp, i) *((u8 *)(rp) + (i)) | ||
257 | #endif | ||
258 | |||
259 | static int emulate_multiple(struct pt_regs *regs, unsigned char __user *addr, | ||
260 | unsigned int reg, unsigned int nb, | ||
261 | unsigned int flags, unsigned int instr) | ||
262 | { | ||
263 | unsigned long *rptr; | ||
264 | unsigned int nb0, i; | ||
265 | |||
266 | /* | ||
267 | * We do not try to emulate 8 bytes multiple as they aren't really | ||
268 | * available in our operating environments and we don't try to | ||
269 | * emulate multiples operations in kernel land as they should never | ||
270 | * be used/generated there at least not on unaligned boundaries | ||
271 | */ | ||
272 | if (unlikely((nb > 4) || !user_mode(regs))) | ||
273 | return 0; | ||
274 | |||
275 | /* lmw, stmw, lswi/x, stswi/x */ | ||
276 | nb0 = 0; | ||
277 | if (flags & HARD) { | ||
278 | if (flags & SX) { | ||
279 | nb = regs->xer & 127; | ||
280 | if (nb == 0) | ||
281 | return 1; | ||
282 | } else { | ||
283 | if (__get_user(instr, | ||
284 | (unsigned int __user *)regs->nip)) | ||
285 | return -EFAULT; | ||
286 | nb = (instr >> 11) & 0x1f; | ||
287 | if (nb == 0) | ||
288 | nb = 32; | ||
201 | } | 289 | } |
290 | if (nb + reg * 4 > 128) { | ||
291 | nb0 = nb + reg * 4 - 128; | ||
292 | nb = 128 - reg * 4; | ||
293 | } | ||
294 | } else { | ||
295 | /* lwm, stmw */ | ||
296 | nb = (32 - reg) * 4; | ||
202 | } | 297 | } |
203 | 298 | ||
204 | return dsisr; | 299 | if (!access_ok((flags & ST ? VERIFY_WRITE: VERIFY_READ), addr, nb+nb0)) |
300 | return -EFAULT; /* bad address */ | ||
301 | |||
302 | rptr = ®s->gpr[reg]; | ||
303 | if (flags & LD) { | ||
304 | /* | ||
305 | * This zeroes the top 4 bytes of the affected registers | ||
306 | * in 64-bit mode, and also zeroes out any remaining | ||
307 | * bytes of the last register for lsw*. | ||
308 | */ | ||
309 | memset(rptr, 0, ((nb + 3) / 4) * sizeof(unsigned long)); | ||
310 | if (nb0 > 0) | ||
311 | memset(®s->gpr[0], 0, | ||
312 | ((nb0 + 3) / 4) * sizeof(unsigned long)); | ||
313 | |||
314 | for (i = 0; i < nb; ++i) | ||
315 | if (__get_user(REG_BYTE(rptr, i), addr + i)) | ||
316 | return -EFAULT; | ||
317 | if (nb0 > 0) { | ||
318 | rptr = ®s->gpr[0]; | ||
319 | addr += nb; | ||
320 | for (i = 0; i < nb0; ++i) | ||
321 | if (__get_user(REG_BYTE(rptr, i), addr + i)) | ||
322 | return -EFAULT; | ||
323 | } | ||
324 | |||
325 | } else { | ||
326 | for (i = 0; i < nb; ++i) | ||
327 | if (__put_user(REG_BYTE(rptr, i), addr + i)) | ||
328 | return -EFAULT; | ||
329 | if (nb0 > 0) { | ||
330 | rptr = ®s->gpr[0]; | ||
331 | addr += nb; | ||
332 | for (i = 0; i < nb0; ++i) | ||
333 | if (__put_user(REG_BYTE(rptr, i), addr + i)) | ||
334 | return -EFAULT; | ||
335 | } | ||
336 | } | ||
337 | return 1; | ||
205 | } | 338 | } |
206 | 339 | ||
207 | int | 340 | |
208 | fix_alignment(struct pt_regs *regs) | 341 | /* |
342 | * Called on alignment exception. Attempts to fixup | ||
343 | * | ||
344 | * Return 1 on success | ||
345 | * Return 0 if unable to handle the interrupt | ||
346 | * Return -EFAULT if data address is bad | ||
347 | */ | ||
348 | |||
349 | int fix_alignment(struct pt_regs *regs) | ||
209 | { | 350 | { |
210 | unsigned int instr, nb, flags; | 351 | unsigned int instr, nb, flags; |
211 | int t; | 352 | unsigned int reg, areg; |
212 | unsigned long reg, areg; | 353 | unsigned int dsisr; |
213 | unsigned long i; | ||
214 | int ret; | ||
215 | unsigned dsisr; | ||
216 | unsigned char __user *addr; | 354 | unsigned char __user *addr; |
217 | unsigned char __user *p; | 355 | unsigned char __user *p; |
218 | unsigned long __user *lp; | 356 | int ret, t; |
219 | union { | 357 | union { |
220 | long ll; | 358 | u64 ll; |
221 | double dd; | 359 | double dd; |
222 | unsigned char v[8]; | 360 | unsigned char v[8]; |
223 | struct { | 361 | struct { |
@@ -231,18 +369,22 @@ fix_alignment(struct pt_regs *regs) | |||
231 | } data; | 369 | } data; |
232 | 370 | ||
233 | /* | 371 | /* |
234 | * Return 1 on success | 372 | * We require a complete register set, if not, then our assembly |
235 | * Return 0 if unable to handle the interrupt | 373 | * is broken |
236 | * Return -EFAULT if data address is bad | ||
237 | */ | 374 | */ |
375 | CHECK_FULL_REGS(regs); | ||
238 | 376 | ||
239 | dsisr = regs->dsisr; | 377 | dsisr = regs->dsisr; |
240 | 378 | ||
379 | /* Some processors don't provide us with a DSISR we can use here, | ||
380 | * let's make one up from the instruction | ||
381 | */ | ||
241 | if (cpu_has_feature(CPU_FTR_NODSISRALIGN)) { | 382 | if (cpu_has_feature(CPU_FTR_NODSISRALIGN)) { |
242 | unsigned int real_instr; | 383 | unsigned int real_instr; |
243 | if (__get_user(real_instr, (unsigned int __user *)regs->nip)) | 384 | if (unlikely(__get_user(real_instr, |
244 | return 0; | 385 | (unsigned int __user *)regs->nip))) |
245 | dsisr = make_dsisr(real_instr); | 386 | return -EFAULT; |
387 | dsisr = make_dsisr(real_instr); | ||
246 | } | 388 | } |
247 | 389 | ||
248 | /* extract the operation and registers from the dsisr */ | 390 | /* extract the operation and registers from the dsisr */ |
@@ -258,33 +400,37 @@ fix_alignment(struct pt_regs *regs) | |||
258 | /* DAR has the operand effective address */ | 400 | /* DAR has the operand effective address */ |
259 | addr = (unsigned char __user *)regs->dar; | 401 | addr = (unsigned char __user *)regs->dar; |
260 | 402 | ||
261 | /* A size of 0 indicates an instruction we don't support */ | 403 | /* A size of 0 indicates an instruction we don't support, with |
262 | /* we also don't support the multiples (lmw, stmw, lmd, stmd) */ | 404 | * the exception of DCBZ which is handled as a special case here |
263 | if ((nb == 0) || (flags & M)) | ||
264 | return 0; /* too hard or invalid instruction */ | ||
265 | |||
266 | /* | ||
267 | * Special handling for dcbz | ||
268 | * dcbz may give an alignment exception for accesses to caching inhibited | ||
269 | * storage | ||
270 | */ | 405 | */ |
271 | if (instr == DCBZ) | 406 | if (instr == DCBZ) |
272 | addr = (unsigned char __user *) ((unsigned long)addr & -L1_CACHE_BYTES); | 407 | return emulate_dcbz(regs, addr); |
408 | if (unlikely(nb == 0)) | ||
409 | return 0; | ||
410 | |||
411 | /* Load/Store Multiple instructions are handled in their own | ||
412 | * function | ||
413 | */ | ||
414 | if (flags & M) | ||
415 | return emulate_multiple(regs, addr, reg, nb, flags, instr); | ||
273 | 416 | ||
274 | /* Verify the address of the operand */ | 417 | /* Verify the address of the operand */ |
275 | if (user_mode(regs)) { | 418 | if (unlikely(user_mode(regs) && |
276 | if (!access_ok((flags & ST? VERIFY_WRITE: VERIFY_READ), addr, nb)) | 419 | !access_ok((flags & ST ? VERIFY_WRITE : VERIFY_READ), |
277 | return -EFAULT; /* bad address */ | 420 | addr, nb))) |
278 | } | 421 | return -EFAULT; |
279 | 422 | ||
280 | /* Force the fprs into the save area so we can reference them */ | 423 | /* Force the fprs into the save area so we can reference them */ |
281 | if (flags & F) { | 424 | if (flags & F) { |
282 | if (!user_mode(regs)) | 425 | /* userland only */ |
426 | if (unlikely(!user_mode(regs))) | ||
283 | return 0; | 427 | return 0; |
284 | flush_fp_to_thread(current); | 428 | flush_fp_to_thread(current); |
285 | } | 429 | } |
286 | 430 | ||
287 | /* If we are loading, get the data from user space */ | 431 | /* If we are loading, get the data from user space, else |
432 | * get it from register values | ||
433 | */ | ||
288 | if (flags & LD) { | 434 | if (flags & LD) { |
289 | data.ll = 0; | 435 | data.ll = 0; |
290 | ret = 0; | 436 | ret = 0; |
@@ -301,75 +447,62 @@ fix_alignment(struct pt_regs *regs) | |||
301 | case 2: | 447 | case 2: |
302 | ret |= __get_user(data.v[6], p++); | 448 | ret |= __get_user(data.v[6], p++); |
303 | ret |= __get_user(data.v[7], p++); | 449 | ret |= __get_user(data.v[7], p++); |
304 | if (ret) | 450 | if (unlikely(ret)) |
305 | return -EFAULT; | 451 | return -EFAULT; |
306 | } | 452 | } |
307 | } | 453 | } else if (flags & F) |
308 | 454 | data.dd = current->thread.fpr[reg]; | |
309 | /* If we are storing, get the data from the saved gpr or fpr */ | 455 | else |
310 | if (flags & ST) { | 456 | data.ll = regs->gpr[reg]; |
311 | if (flags & F) { | 457 | |
312 | if (nb == 4) { | 458 | /* Perform other misc operations like sign extension, byteswap, |
313 | /* Doing stfs, have to convert to single */ | 459 | * or floating point single precision conversion |
314 | preempt_disable(); | 460 | */ |
315 | enable_kernel_fp(); | 461 | switch (flags & ~U) { |
316 | cvt_df(¤t->thread.fpr[reg], (float *)&data.v[4], ¤t->thread); | 462 | case LD+SE: /* sign extend */ |
317 | disable_kernel_fp(); | ||
318 | preempt_enable(); | ||
319 | } | ||
320 | else | ||
321 | data.dd = current->thread.fpr[reg]; | ||
322 | } | ||
323 | else | ||
324 | data.ll = regs->gpr[reg]; | ||
325 | } | ||
326 | |||
327 | /* Swap bytes as needed */ | ||
328 | if (flags & SW) { | ||
329 | if (nb == 2) | ||
330 | SWAP(data.v[6], data.v[7]); | ||
331 | else { /* nb must be 4 */ | ||
332 | SWAP(data.v[4], data.v[7]); | ||
333 | SWAP(data.v[5], data.v[6]); | ||
334 | } | ||
335 | } | ||
336 | |||
337 | /* Sign extend as needed */ | ||
338 | if (flags & SE) { | ||
339 | if ( nb == 2 ) | 463 | if ( nb == 2 ) |
340 | data.ll = data.x16.low16; | 464 | data.ll = data.x16.low16; |
341 | else /* nb must be 4 */ | 465 | else /* nb must be 4 */ |
342 | data.ll = data.x32.low32; | 466 | data.ll = data.x32.low32; |
343 | } | 467 | break; |
344 | 468 | case LD+S: /* byte-swap */ | |
345 | /* If we are loading, move the data to the gpr or fpr */ | 469 | case ST+S: |
346 | if (flags & LD) { | 470 | if (nb == 2) { |
347 | if (flags & F) { | 471 | SWAP(data.v[6], data.v[7]); |
348 | if (nb == 4) { | 472 | } else { |
349 | /* Doing lfs, have to convert to double */ | 473 | SWAP(data.v[4], data.v[7]); |
350 | preempt_disable(); | 474 | SWAP(data.v[5], data.v[6]); |
351 | enable_kernel_fp(); | ||
352 | cvt_fd((float *)&data.v[4], ¤t->thread.fpr[reg], ¤t->thread); | ||
353 | disable_kernel_fp(); | ||
354 | preempt_enable(); | ||
355 | } | ||
356 | else | ||
357 | current->thread.fpr[reg] = data.dd; | ||
358 | } | 475 | } |
359 | else | 476 | break; |
360 | regs->gpr[reg] = data.ll; | 477 | |
478 | /* Single-precision FP load and store require conversions... */ | ||
479 | case LD+F+S: | ||
480 | #ifdef CONFIG_PPC_FPU | ||
481 | preempt_disable(); | ||
482 | enable_kernel_fp(); | ||
483 | cvt_fd((float *)&data.v[4], &data.dd, ¤t->thread); | ||
484 | preempt_enable(); | ||
485 | #else | ||
486 | return 0; | ||
487 | #endif | ||
488 | break; | ||
489 | case ST+F+S: | ||
490 | #ifdef CONFIG_PPC_FPU | ||
491 | preempt_disable(); | ||
492 | enable_kernel_fp(); | ||
493 | cvt_df(&data.dd, (float *)&data.v[4], ¤t->thread); | ||
494 | preempt_enable(); | ||
495 | #else | ||
496 | return 0; | ||
497 | #endif | ||
498 | break; | ||
361 | } | 499 | } |
362 | 500 | ||
363 | /* If we are storing, copy the data to the user */ | 501 | /* Store result to memory or update registers */ |
364 | if (flags & ST) { | 502 | if (flags & ST) { |
365 | ret = 0; | 503 | ret = 0; |
366 | p = addr; | 504 | p = addr; |
367 | switch (nb) { | 505 | switch (nb) { |
368 | case 128: /* Special case - must be dcbz */ | ||
369 | lp = (unsigned long __user *)p; | ||
370 | for (i = 0; i < L1_CACHE_BYTES / sizeof(long); ++i) | ||
371 | ret |= __put_user(0, lp++); | ||
372 | break; | ||
373 | case 8: | 506 | case 8: |
374 | ret |= __put_user(data.v[0], p++); | 507 | ret |= __put_user(data.v[0], p++); |
375 | ret |= __put_user(data.v[1], p++); | 508 | ret |= __put_user(data.v[1], p++); |
@@ -382,15 +515,16 @@ fix_alignment(struct pt_regs *regs) | |||
382 | ret |= __put_user(data.v[6], p++); | 515 | ret |= __put_user(data.v[6], p++); |
383 | ret |= __put_user(data.v[7], p++); | 516 | ret |= __put_user(data.v[7], p++); |
384 | } | 517 | } |
385 | if (ret) | 518 | if (unlikely(ret)) |
386 | return -EFAULT; | 519 | return -EFAULT; |
387 | } | 520 | } else if (flags & F) |
388 | 521 | current->thread.fpr[reg] = data.dd; | |
522 | else | ||
523 | regs->gpr[reg] = data.ll; | ||
524 | |||
389 | /* Update RA as needed */ | 525 | /* Update RA as needed */ |
390 | if (flags & U) { | 526 | if (flags & U) |
391 | regs->gpr[areg] = regs->dar; | 527 | regs->gpr[areg] = regs->dar; |
392 | } | ||
393 | 528 | ||
394 | return 1; | 529 | return 1; |
395 | } | 530 | } |
396 | |||
diff --git a/arch/ppc64/kernel/idle.c b/arch/powerpc/kernel/idle_64.c index b879d3057ef8..b879d3057ef8 100644 --- a/arch/ppc64/kernel/idle.c +++ b/arch/powerpc/kernel/idle_64.c | |||
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index f6d84a75ed26..624a983a9676 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S | |||
@@ -27,14 +27,6 @@ | |||
27 | 27 | ||
28 | .text | 28 | .text |
29 | 29 | ||
30 | .align 5 | ||
31 | _GLOBAL(__delay) | ||
32 | cmpwi 0,r3,0 | ||
33 | mtctr r3 | ||
34 | beqlr | ||
35 | 1: bdnz 1b | ||
36 | blr | ||
37 | |||
38 | /* | 30 | /* |
39 | * This returns the high 64 bits of the product of two 64-bit numbers. | 31 | * This returns the high 64 bits of the product of two 64-bit numbers. |
40 | */ | 32 | */ |
diff --git a/arch/ppc64/kernel/nvram.c b/arch/powerpc/kernel/nvram_64.c index c0fcd29918ce..c0fcd29918ce 100644 --- a/arch/ppc64/kernel/nvram.c +++ b/arch/powerpc/kernel/nvram_64.c | |||
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c index 5a5b24685081..8b6008ab217d 100644 --- a/arch/powerpc/kernel/pci_64.c +++ b/arch/powerpc/kernel/pci_64.c | |||
@@ -40,7 +40,7 @@ | |||
40 | #endif | 40 | #endif |
41 | 41 | ||
42 | unsigned long pci_probe_only = 1; | 42 | unsigned long pci_probe_only = 1; |
43 | unsigned long pci_assign_all_buses = 0; | 43 | int pci_assign_all_buses = 0; |
44 | 44 | ||
45 | /* | 45 | /* |
46 | * legal IO pages under MAX_ISA_PORT. This is to ensure we don't touch | 46 | * legal IO pages under MAX_ISA_PORT. This is to ensure we don't touch |
@@ -55,11 +55,6 @@ static void fixup_resource(struct resource *res, struct pci_dev *dev); | |||
55 | static void do_bus_setup(struct pci_bus *bus); | 55 | static void do_bus_setup(struct pci_bus *bus); |
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | unsigned int pcibios_assign_all_busses(void) | ||
59 | { | ||
60 | return pci_assign_all_buses; | ||
61 | } | ||
62 | |||
63 | /* pci_io_base -- the base address from which io bars are offsets. | 58 | /* pci_io_base -- the base address from which io bars are offsets. |
64 | * This is the lowest I/O base address (so bar values are always positive), | 59 | * This is the lowest I/O base address (so bar values are always positive), |
65 | * and it *must* be the start of ISA space if an ISA bus exists because | 60 | * and it *must* be the start of ISA space if an ISA bus exists because |
@@ -1186,17 +1181,6 @@ void phbs_remap_io(void) | |||
1186 | remap_bus_range(hose->bus); | 1181 | remap_bus_range(hose->bus); |
1187 | } | 1182 | } |
1188 | 1183 | ||
1189 | /* | ||
1190 | * ppc64 can have multifunction devices that do not respond to function 0. | ||
1191 | * In this case we must scan all functions. | ||
1192 | * XXX this can go now, we use the OF device tree in all the | ||
1193 | * cases that caused problems. -- paulus | ||
1194 | */ | ||
1195 | int pcibios_scan_all_fns(struct pci_bus *bus, int devfn) | ||
1196 | { | ||
1197 | return 0; | ||
1198 | } | ||
1199 | |||
1200 | static void __devinit fixup_resource(struct resource *res, struct pci_dev *dev) | 1184 | static void __devinit fixup_resource(struct resource *res, struct pci_dev *dev) |
1201 | { | 1185 | { |
1202 | struct pci_controller *hose = pci_bus_to_host(dev->bus); | 1186 | struct pci_controller *hose = pci_bus_to_host(dev->bus); |
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c index 59846b40d521..af4d1bc9a2eb 100644 --- a/arch/powerpc/kernel/ppc_ksyms.c +++ b/arch/powerpc/kernel/ppc_ksyms.c | |||
@@ -146,9 +146,6 @@ EXPORT_SYMBOL(pci_bus_io_base); | |||
146 | EXPORT_SYMBOL(pci_bus_io_base_phys); | 146 | EXPORT_SYMBOL(pci_bus_io_base_phys); |
147 | EXPORT_SYMBOL(pci_bus_mem_base_phys); | 147 | EXPORT_SYMBOL(pci_bus_mem_base_phys); |
148 | EXPORT_SYMBOL(pci_bus_to_hose); | 148 | EXPORT_SYMBOL(pci_bus_to_hose); |
149 | EXPORT_SYMBOL(pci_resource_to_bus); | ||
150 | EXPORT_SYMBOL(pci_phys_to_bus); | ||
151 | EXPORT_SYMBOL(pci_bus_to_phys); | ||
152 | #endif /* CONFIG_PCI */ | 149 | #endif /* CONFIG_PCI */ |
153 | 150 | ||
154 | #ifdef CONFIG_NOT_COHERENT_CACHE | 151 | #ifdef CONFIG_NOT_COHERENT_CACHE |
diff --git a/include/asm-ppc64/ptrace-common.h b/arch/powerpc/kernel/ptrace-common.h index b1babb729673..b1babb729673 100644 --- a/include/asm-ppc64/ptrace-common.h +++ b/arch/powerpc/kernel/ptrace-common.h | |||
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index 3d2abd95c7ae..400793c71304 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c | |||
@@ -36,8 +36,9 @@ | |||
36 | #include <asm/page.h> | 36 | #include <asm/page.h> |
37 | #include <asm/pgtable.h> | 37 | #include <asm/pgtable.h> |
38 | #include <asm/system.h> | 38 | #include <asm/system.h> |
39 | |||
39 | #ifdef CONFIG_PPC64 | 40 | #ifdef CONFIG_PPC64 |
40 | #include <asm/ptrace-common.h> | 41 | #include "ptrace-common.h" |
41 | #endif | 42 | #endif |
42 | 43 | ||
43 | #ifdef CONFIG_PPC32 | 44 | #ifdef CONFIG_PPC32 |
diff --git a/arch/powerpc/kernel/ptrace32.c b/arch/powerpc/kernel/ptrace32.c index 91eb952e0293..61762640b877 100644 --- a/arch/powerpc/kernel/ptrace32.c +++ b/arch/powerpc/kernel/ptrace32.c | |||
@@ -33,7 +33,8 @@ | |||
33 | #include <asm/page.h> | 33 | #include <asm/page.h> |
34 | #include <asm/pgtable.h> | 34 | #include <asm/pgtable.h> |
35 | #include <asm/system.h> | 35 | #include <asm/system.h> |
36 | #include <asm/ptrace-common.h> | 36 | |
37 | #include "ptrace-common.h" | ||
37 | 38 | ||
38 | /* | 39 | /* |
39 | * does not yet catch signals sent when the child dies. | 40 | * does not yet catch signals sent when the child dies. |
diff --git a/arch/powerpc/kernel/rtas-rtc.c b/arch/powerpc/kernel/rtas-rtc.c index 7b948662704c..635d3b9a8811 100644 --- a/arch/powerpc/kernel/rtas-rtc.c +++ b/arch/powerpc/kernel/rtas-rtc.c | |||
@@ -15,7 +15,7 @@ unsigned long __init rtas_get_boot_time(void) | |||
15 | { | 15 | { |
16 | int ret[8]; | 16 | int ret[8]; |
17 | int error, wait_time; | 17 | int error, wait_time; |
18 | unsigned long max_wait_tb; | 18 | u64 max_wait_tb; |
19 | 19 | ||
20 | max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; | 20 | max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; |
21 | do { | 21 | do { |
@@ -45,7 +45,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm) | |||
45 | { | 45 | { |
46 | int ret[8]; | 46 | int ret[8]; |
47 | int error, wait_time; | 47 | int error, wait_time; |
48 | unsigned long max_wait_tb; | 48 | u64 max_wait_tb; |
49 | 49 | ||
50 | max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; | 50 | max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; |
51 | do { | 51 | do { |
@@ -80,7 +80,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm) | |||
80 | int rtas_set_rtc_time(struct rtc_time *tm) | 80 | int rtas_set_rtc_time(struct rtc_time *tm) |
81 | { | 81 | { |
82 | int error, wait_time; | 82 | int error, wait_time; |
83 | unsigned long max_wait_tb; | 83 | u64 max_wait_tb; |
84 | 84 | ||
85 | max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; | 85 | max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; |
86 | do { | 86 | do { |
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 070b4b458aaf..de8479769bb7 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c | |||
@@ -130,6 +130,34 @@ unsigned long tb_last_stamp; | |||
130 | */ | 130 | */ |
131 | DEFINE_PER_CPU(unsigned long, last_jiffy); | 131 | DEFINE_PER_CPU(unsigned long, last_jiffy); |
132 | 132 | ||
133 | void __delay(unsigned long loops) | ||
134 | { | ||
135 | unsigned long start; | ||
136 | int diff; | ||
137 | |||
138 | if (__USE_RTC()) { | ||
139 | start = get_rtcl(); | ||
140 | do { | ||
141 | /* the RTCL register wraps at 1000000000 */ | ||
142 | diff = get_rtcl() - start; | ||
143 | if (diff < 0) | ||
144 | diff += 1000000000; | ||
145 | } while (diff < loops); | ||
146 | } else { | ||
147 | start = get_tbl(); | ||
148 | while (get_tbl() - start < loops) | ||
149 | HMT_low(); | ||
150 | HMT_medium(); | ||
151 | } | ||
152 | } | ||
153 | EXPORT_SYMBOL(__delay); | ||
154 | |||
155 | void udelay(unsigned long usecs) | ||
156 | { | ||
157 | __delay(tb_ticks_per_usec * usecs); | ||
158 | } | ||
159 | EXPORT_SYMBOL(udelay); | ||
160 | |||
133 | static __inline__ void timer_check_rtc(void) | 161 | static __inline__ void timer_check_rtc(void) |
134 | { | 162 | { |
135 | /* | 163 | /* |
diff --git a/arch/powerpc/mm/imalloc.c b/arch/powerpc/mm/imalloc.c index f4ca29cf5364..f9587bcc6a48 100644 --- a/arch/powerpc/mm/imalloc.c +++ b/arch/powerpc/mm/imalloc.c | |||
@@ -14,9 +14,10 @@ | |||
14 | #include <asm/pgalloc.h> | 14 | #include <asm/pgalloc.h> |
15 | #include <asm/pgtable.h> | 15 | #include <asm/pgtable.h> |
16 | #include <asm/semaphore.h> | 16 | #include <asm/semaphore.h> |
17 | #include <asm/imalloc.h> | ||
18 | #include <asm/cacheflush.h> | 17 | #include <asm/cacheflush.h> |
19 | 18 | ||
19 | #include "mmu_decl.h" | ||
20 | |||
20 | static DECLARE_MUTEX(imlist_sem); | 21 | static DECLARE_MUTEX(imlist_sem); |
21 | struct vm_struct * imlist = NULL; | 22 | struct vm_struct * imlist = NULL; |
22 | 23 | ||
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index 1134f70f231d..81cfb0c2ec58 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
@@ -64,7 +64,8 @@ | |||
64 | #include <asm/iommu.h> | 64 | #include <asm/iommu.h> |
65 | #include <asm/abs_addr.h> | 65 | #include <asm/abs_addr.h> |
66 | #include <asm/vdso.h> | 66 | #include <asm/vdso.h> |
67 | #include <asm/imalloc.h> | 67 | |
68 | #include "mmu_decl.h" | ||
68 | 69 | ||
69 | #ifdef DEBUG | 70 | #ifdef DEBUG |
70 | #define DBG(fmt...) printk(fmt) | 71 | #define DBG(fmt...) printk(fmt) |
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index a4d7a327c0e5..bea2d21ac6f7 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h | |||
@@ -33,7 +33,6 @@ extern void invalidate_tlbcam_entry(int index); | |||
33 | 33 | ||
34 | extern int __map_without_bats; | 34 | extern int __map_without_bats; |
35 | extern unsigned long ioremap_base; | 35 | extern unsigned long ioremap_base; |
36 | extern unsigned long ioremap_bot; | ||
37 | extern unsigned int rtas_data, rtas_size; | 36 | extern unsigned int rtas_data, rtas_size; |
38 | 37 | ||
39 | extern PTE *Hash, *Hash_end; | 38 | extern PTE *Hash, *Hash_end; |
@@ -42,6 +41,7 @@ extern unsigned long Hash_size, Hash_mask; | |||
42 | extern unsigned int num_tlbcam_entries; | 41 | extern unsigned int num_tlbcam_entries; |
43 | #endif | 42 | #endif |
44 | 43 | ||
44 | extern unsigned long ioremap_bot; | ||
45 | extern unsigned long __max_low_memory; | 45 | extern unsigned long __max_low_memory; |
46 | extern unsigned long __initial_memory_limit; | 46 | extern unsigned long __initial_memory_limit; |
47 | extern unsigned long total_memory; | 47 | extern unsigned long total_memory; |
@@ -84,4 +84,16 @@ static inline void flush_HPTE(unsigned context, unsigned long va, | |||
84 | else | 84 | else |
85 | _tlbie(va); | 85 | _tlbie(va); |
86 | } | 86 | } |
87 | #else /* CONFIG_PPC64 */ | ||
88 | /* imalloc region types */ | ||
89 | #define IM_REGION_UNUSED 0x1 | ||
90 | #define IM_REGION_SUBSET 0x2 | ||
91 | #define IM_REGION_EXISTS 0x4 | ||
92 | #define IM_REGION_OVERLAP 0x8 | ||
93 | #define IM_REGION_SUPERSET 0x10 | ||
94 | |||
95 | extern struct vm_struct * im_get_free_area(unsigned long size); | ||
96 | extern struct vm_struct * im_get_area(unsigned long v_addr, unsigned long size, | ||
97 | int region_type); | ||
98 | extern void im_free(void *addr); | ||
87 | #endif | 99 | #endif |
diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c index c7f7bb6f30b3..2ffca63602c5 100644 --- a/arch/powerpc/mm/pgtable_64.c +++ b/arch/powerpc/mm/pgtable_64.c | |||
@@ -64,7 +64,8 @@ | |||
64 | #include <asm/iommu.h> | 64 | #include <asm/iommu.h> |
65 | #include <asm/abs_addr.h> | 65 | #include <asm/abs_addr.h> |
66 | #include <asm/vdso.h> | 66 | #include <asm/vdso.h> |
67 | #include <asm/imalloc.h> | 67 | |
68 | #include "mmu_decl.h" | ||
68 | 69 | ||
69 | unsigned long ioremap_bot = IMALLOC_BASE; | 70 | unsigned long ioremap_bot = IMALLOC_BASE; |
70 | static unsigned long phbs_io_bot = PHBS_IO_BASE; | 71 | static unsigned long phbs_io_bot = PHBS_IO_BASE; |
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c index 4099ddab9205..dda5f2c72c25 100644 --- a/arch/powerpc/platforms/chrp/setup.c +++ b/arch/powerpc/platforms/chrp/setup.c | |||
@@ -257,6 +257,13 @@ void __init chrp_setup_arch(void) | |||
257 | if (rtas_token("display-character") >= 0) | 257 | if (rtas_token("display-character") >= 0) |
258 | ppc_md.progress = rtas_progress; | 258 | ppc_md.progress = rtas_progress; |
259 | 259 | ||
260 | /* use RTAS time-of-day routines if available */ | ||
261 | if (rtas_token("get-time-of-day") != RTAS_UNKNOWN_SERVICE) { | ||
262 | ppc_md.get_boot_time = rtas_get_boot_time; | ||
263 | ppc_md.get_rtc_time = rtas_get_rtc_time; | ||
264 | ppc_md.set_rtc_time = rtas_set_rtc_time; | ||
265 | } | ||
266 | |||
260 | #ifdef CONFIG_BOOTX_TEXT | 267 | #ifdef CONFIG_BOOTX_TEXT |
261 | if (ppc_md.progress == NULL && boot_text_mapped) | 268 | if (ppc_md.progress == NULL && boot_text_mapped) |
262 | ppc_md.progress = btext_progress; | 269 | ppc_md.progress = btext_progress; |
@@ -505,9 +512,11 @@ void __init chrp_init(void) | |||
505 | ppc_md.halt = rtas_halt; | 512 | ppc_md.halt = rtas_halt; |
506 | 513 | ||
507 | ppc_md.time_init = chrp_time_init; | 514 | ppc_md.time_init = chrp_time_init; |
515 | ppc_md.calibrate_decr = chrp_calibrate_decr; | ||
516 | |||
517 | /* this may get overridden with rtas routines later... */ | ||
508 | ppc_md.set_rtc_time = chrp_set_rtc_time; | 518 | ppc_md.set_rtc_time = chrp_set_rtc_time; |
509 | ppc_md.get_rtc_time = chrp_get_rtc_time; | 519 | ppc_md.get_rtc_time = chrp_get_rtc_time; |
510 | ppc_md.calibrate_decr = chrp_calibrate_decr; | ||
511 | 520 | ||
512 | #ifdef CONFIG_SMP | 521 | #ifdef CONFIG_SMP |
513 | smp_ops = &chrp_smp_ops; | 522 | smp_ops = &chrp_smp_ops; |
diff --git a/arch/powerpc/platforms/chrp/smp.c b/arch/powerpc/platforms/chrp/smp.c index bb2315997d45..b616053bc331 100644 --- a/arch/powerpc/platforms/chrp/smp.c +++ b/arch/powerpc/platforms/chrp/smp.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <asm/machdep.h> | 34 | #include <asm/machdep.h> |
35 | #include <asm/smp.h> | 35 | #include <asm/smp.h> |
36 | #include <asm/mpic.h> | 36 | #include <asm/mpic.h> |
37 | #include <asm/rtas.h> | ||
37 | 38 | ||
38 | static void __devinit smp_chrp_kick_cpu(int nr) | 39 | static void __devinit smp_chrp_kick_cpu(int nr) |
39 | { | 40 | { |
diff --git a/arch/powerpc/platforms/chrp/time.c b/arch/powerpc/platforms/chrp/time.c index 9e53535ddb82..737ee5d9f0aa 100644 --- a/arch/powerpc/platforms/chrp/time.c +++ b/arch/powerpc/platforms/chrp/time.c | |||
@@ -87,7 +87,6 @@ int chrp_set_rtc_time(struct rtc_time *tmarg) | |||
87 | 87 | ||
88 | chrp_cmos_clock_write((save_freq_select|RTC_DIV_RESET2), RTC_FREQ_SELECT); | 88 | chrp_cmos_clock_write((save_freq_select|RTC_DIV_RESET2), RTC_FREQ_SELECT); |
89 | 89 | ||
90 | tm.tm_year -= 1900; | ||
91 | if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { | 90 | if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { |
92 | BIN_TO_BCD(tm.tm_sec); | 91 | BIN_TO_BCD(tm.tm_sec); |
93 | BIN_TO_BCD(tm.tm_min); | 92 | BIN_TO_BCD(tm.tm_min); |
@@ -156,7 +155,7 @@ void chrp_get_rtc_time(struct rtc_time *tm) | |||
156 | BCD_TO_BIN(mon); | 155 | BCD_TO_BIN(mon); |
157 | BCD_TO_BIN(year); | 156 | BCD_TO_BIN(year); |
158 | } | 157 | } |
159 | if ((year += 1900) < 1970) | 158 | if (year < 70) |
160 | year += 100; | 159 | year += 100; |
161 | tm->tm_sec = sec; | 160 | tm->tm_sec = sec; |
162 | tm->tm_min = min; | 161 | tm->tm_min = min; |
diff --git a/arch/powerpc/platforms/maple/time.c b/arch/powerpc/platforms/maple/time.c index 40fc07a8e606..15846cc938ac 100644 --- a/arch/powerpc/platforms/maple/time.c +++ b/arch/powerpc/platforms/maple/time.c | |||
@@ -158,6 +158,11 @@ int maple_set_rtc_time(struct rtc_time *tm) | |||
158 | return 0; | 158 | return 0; |
159 | } | 159 | } |
160 | 160 | ||
161 | static struct resource rtc_iores = { | ||
162 | .name = "rtc", | ||
163 | .flags = IORESOURCE_BUSY, | ||
164 | }; | ||
165 | |||
161 | unsigned long __init maple_get_boot_time(void) | 166 | unsigned long __init maple_get_boot_time(void) |
162 | { | 167 | { |
163 | struct rtc_time tm; | 168 | struct rtc_time tm; |
@@ -172,7 +177,11 @@ unsigned long __init maple_get_boot_time(void) | |||
172 | printk(KERN_INFO "Maple: No device node for RTC, assuming " | 177 | printk(KERN_INFO "Maple: No device node for RTC, assuming " |
173 | "legacy address (0x%x)\n", maple_rtc_addr); | 178 | "legacy address (0x%x)\n", maple_rtc_addr); |
174 | } | 179 | } |
175 | 180 | ||
181 | rtc_iores.start = maple_rtc_addr; | ||
182 | rtc_iores.end = maple_rtc_addr + 7; | ||
183 | request_resource(&ioport_resource, &rtc_iores); | ||
184 | |||
176 | maple_get_rtc_time(&tm); | 185 | maple_get_rtc_time(&tm); |
177 | return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, | 186 | return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, |
178 | tm.tm_hour, tm.tm_min, tm.tm_sec); | 187 | tm.tm_hour, tm.tm_min, tm.tm_sec); |
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c index 957b09103422..fb2a7c798e82 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/errno.h> | 34 | #include <linux/errno.h> |
35 | #include <linux/hardirq.h> | 35 | #include <linux/hardirq.h> |
36 | #include <linux/cpu.h> | 36 | #include <linux/cpu.h> |
37 | #include <linux/compiler.h> | ||
37 | 38 | ||
38 | #include <asm/ptrace.h> | 39 | #include <asm/ptrace.h> |
39 | #include <asm/atomic.h> | 40 | #include <asm/atomic.h> |
@@ -631,8 +632,9 @@ void smp_core99_give_timebase(void) | |||
631 | mb(); | 632 | mb(); |
632 | 633 | ||
633 | /* wait for the secondary to have taken it */ | 634 | /* wait for the secondary to have taken it */ |
634 | for (t = 100000; t > 0 && sec_tb_reset; --t) | 635 | /* note: can't use udelay here, since it needs the timebase running */ |
635 | udelay(10); | 636 | for (t = 10000000; t > 0 && sec_tb_reset; --t) |
637 | barrier(); | ||
636 | if (sec_tb_reset) | 638 | if (sec_tb_reset) |
637 | /* XXX BUG_ON here? */ | 639 | /* XXX BUG_ON here? */ |
638 | printk(KERN_WARNING "Timeout waiting sync(2) on second CPU\n"); | 640 | printk(KERN_WARNING "Timeout waiting sync(2) on second CPU\n"); |
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c index 79de2310e70b..c8d2a40dc5b4 100644 --- a/arch/powerpc/platforms/pseries/eeh.c +++ b/arch/powerpc/platforms/pseries/eeh.c | |||
@@ -86,7 +86,8 @@ static int ibm_read_slot_reset_state; | |||
86 | static int ibm_read_slot_reset_state2; | 86 | static int ibm_read_slot_reset_state2; |
87 | static int ibm_slot_error_detail; | 87 | static int ibm_slot_error_detail; |
88 | 88 | ||
89 | static int eeh_subsystem_enabled; | 89 | int eeh_subsystem_enabled; |
90 | EXPORT_SYMBOL(eeh_subsystem_enabled); | ||
90 | 91 | ||
91 | /* Lock to avoid races due to multiple reports of an error */ | 92 | /* Lock to avoid races due to multiple reports of an error */ |
92 | static DEFINE_SPINLOCK(confirm_error_lock); | 93 | static DEFINE_SPINLOCK(confirm_error_lock); |
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index b9d9732b2e06..4a465f067ede 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -504,7 +504,7 @@ static void pseries_dedicated_idle(void) | |||
504 | lpaca->lppaca.idle = 1; | 504 | lpaca->lppaca.idle = 1; |
505 | 505 | ||
506 | if (!need_resched()) { | 506 | if (!need_resched()) { |
507 | start_snooze = __get_tb() + | 507 | start_snooze = get_tb() + |
508 | *smt_snooze_delay * tb_ticks_per_usec; | 508 | *smt_snooze_delay * tb_ticks_per_usec; |
509 | 509 | ||
510 | while (!need_resched() && !cpu_is_offline(cpu)) { | 510 | while (!need_resched() && !cpu_is_offline(cpu)) { |
@@ -518,7 +518,7 @@ static void pseries_dedicated_idle(void) | |||
518 | HMT_very_low(); | 518 | HMT_very_low(); |
519 | 519 | ||
520 | if (*smt_snooze_delay != 0 && | 520 | if (*smt_snooze_delay != 0 && |
521 | __get_tb() > start_snooze) { | 521 | get_tb() > start_snooze) { |
522 | HMT_medium(); | 522 | HMT_medium(); |
523 | dedicated_idle_sleep(cpu); | 523 | dedicated_idle_sleep(cpu); |
524 | } | 524 | } |
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 105f05341a41..58d1cc2023c8 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -361,7 +361,8 @@ static void mpic_enable_irq(unsigned int irq) | |||
361 | DBG("%p: %s: enable_irq: %d (src %d)\n", mpic, mpic->name, irq, src); | 361 | DBG("%p: %s: enable_irq: %d (src %d)\n", mpic, mpic->name, irq, src); |
362 | 362 | ||
363 | mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI, | 363 | mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI, |
364 | mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & ~MPIC_VECPRI_MASK); | 364 | mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & |
365 | ~MPIC_VECPRI_MASK); | ||
365 | 366 | ||
366 | /* make sure mask gets to controller before we return to user */ | 367 | /* make sure mask gets to controller before we return to user */ |
367 | do { | 368 | do { |
@@ -381,7 +382,8 @@ static void mpic_disable_irq(unsigned int irq) | |||
381 | DBG("%s: disable_irq: %d (src %d)\n", mpic->name, irq, src); | 382 | DBG("%s: disable_irq: %d (src %d)\n", mpic->name, irq, src); |
382 | 383 | ||
383 | mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI, | 384 | mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI, |
384 | mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) | MPIC_VECPRI_MASK); | 385 | mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) | |
386 | MPIC_VECPRI_MASK); | ||
385 | 387 | ||
386 | /* make sure mask gets to controller before we return to user */ | 388 | /* make sure mask gets to controller before we return to user */ |
387 | do { | 389 | do { |
@@ -735,12 +737,13 @@ void mpic_irq_set_priority(unsigned int irq, unsigned int pri) | |||
735 | 737 | ||
736 | spin_lock_irqsave(&mpic_lock, flags); | 738 | spin_lock_irqsave(&mpic_lock, flags); |
737 | if (is_ipi) { | 739 | if (is_ipi) { |
738 | reg = mpic_ipi_read(irq - mpic->ipi_offset) & MPIC_VECPRI_PRIORITY_MASK; | 740 | reg = mpic_ipi_read(irq - mpic->ipi_offset) & |
741 | ~MPIC_VECPRI_PRIORITY_MASK; | ||
739 | mpic_ipi_write(irq - mpic->ipi_offset, | 742 | mpic_ipi_write(irq - mpic->ipi_offset, |
740 | reg | (pri << MPIC_VECPRI_PRIORITY_SHIFT)); | 743 | reg | (pri << MPIC_VECPRI_PRIORITY_SHIFT)); |
741 | } else { | 744 | } else { |
742 | reg = mpic_irq_read(irq - mpic->irq_offset, MPIC_IRQ_VECTOR_PRI) | 745 | reg = mpic_irq_read(irq - mpic->irq_offset,MPIC_IRQ_VECTOR_PRI) |
743 | & MPIC_VECPRI_PRIORITY_MASK; | 746 | & ~MPIC_VECPRI_PRIORITY_MASK; |
744 | mpic_irq_write(irq - mpic->irq_offset, MPIC_IRQ_VECTOR_PRI, | 747 | mpic_irq_write(irq - mpic->irq_offset, MPIC_IRQ_VECTOR_PRI, |
745 | reg | (pri << MPIC_VECPRI_PRIORITY_SHIFT)); | 748 | reg | (pri << MPIC_VECPRI_PRIORITY_SHIFT)); |
746 | } | 749 | } |
diff --git a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile index 17a4da65e275..0bb23fce4293 100644 --- a/arch/ppc/kernel/Makefile +++ b/arch/ppc/kernel/Makefile | |||
@@ -13,7 +13,7 @@ extra-$(CONFIG_POWER4) += idle_power4.o | |||
13 | extra-y += vmlinux.lds | 13 | extra-y += vmlinux.lds |
14 | 14 | ||
15 | obj-y := entry.o traps.o idle.o time.o misc.o \ | 15 | obj-y := entry.o traps.o idle.o time.o misc.o \ |
16 | process.o align.o \ | 16 | process.o \ |
17 | setup.o \ | 17 | setup.o \ |
18 | ppc_htab.o | 18 | ppc_htab.o |
19 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o | 19 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o |
@@ -38,7 +38,7 @@ endif | |||
38 | # These are here while we do the architecture merge | 38 | # These are here while we do the architecture merge |
39 | 39 | ||
40 | else | 40 | else |
41 | obj-y := idle.o align.o | 41 | obj-y := idle.o |
42 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o | 42 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o |
43 | obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o | 43 | obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o |
44 | obj-$(CONFIG_MODULES) += module.o | 44 | obj-$(CONFIG_MODULES) += module.o |
diff --git a/arch/ppc/kernel/align.c b/arch/ppc/kernel/align.c deleted file mode 100644 index ab398c4b70b6..000000000000 --- a/arch/ppc/kernel/align.c +++ /dev/null | |||
@@ -1,410 +0,0 @@ | |||
1 | /* | ||
2 | * align.c - handle alignment exceptions for the Power PC. | ||
3 | * | ||
4 | * Copyright (c) 1996 Paul Mackerras <paulus@cs.anu.edu.au> | ||
5 | * Copyright (c) 1998-1999 TiVo, Inc. | ||
6 | * PowerPC 403GCX modifications. | ||
7 | * Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu> | ||
8 | * PowerPC 403GCX/405GP modifications. | ||
9 | */ | ||
10 | #include <linux/config.h> | ||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/mm.h> | ||
13 | #include <asm/ptrace.h> | ||
14 | #include <asm/processor.h> | ||
15 | #include <asm/uaccess.h> | ||
16 | #include <asm/system.h> | ||
17 | #include <asm/cache.h> | ||
18 | |||
19 | struct aligninfo { | ||
20 | unsigned char len; | ||
21 | unsigned char flags; | ||
22 | }; | ||
23 | |||
24 | #if defined(CONFIG_4xx) || defined(CONFIG_POWER4) || defined(CONFIG_BOOKE) | ||
25 | #define OPCD(inst) (((inst) & 0xFC000000) >> 26) | ||
26 | #define RS(inst) (((inst) & 0x03E00000) >> 21) | ||
27 | #define RA(inst) (((inst) & 0x001F0000) >> 16) | ||
28 | #define IS_XFORM(code) ((code) == 31) | ||
29 | #endif | ||
30 | |||
31 | #define INVALID { 0, 0 } | ||
32 | |||
33 | #define LD 1 /* load */ | ||
34 | #define ST 2 /* store */ | ||
35 | #define SE 4 /* sign-extend value */ | ||
36 | #define F 8 /* to/from fp regs */ | ||
37 | #define U 0x10 /* update index register */ | ||
38 | #define M 0x20 /* multiple load/store */ | ||
39 | #define S 0x40 /* single-precision fp, or byte-swap value */ | ||
40 | #define SX 0x40 /* byte count in XER */ | ||
41 | #define HARD 0x80 /* string, stwcx. */ | ||
42 | |||
43 | #define DCBZ 0x5f /* 8xx/82xx dcbz faults when cache not enabled */ | ||
44 | |||
45 | /* | ||
46 | * The PowerPC stores certain bits of the instruction that caused the | ||
47 | * alignment exception in the DSISR register. This array maps those | ||
48 | * bits to information about the operand length and what the | ||
49 | * instruction would do. | ||
50 | */ | ||
51 | static struct aligninfo aligninfo[128] = { | ||
52 | { 4, LD }, /* 00 0 0000: lwz / lwarx */ | ||
53 | INVALID, /* 00 0 0001 */ | ||
54 | { 4, ST }, /* 00 0 0010: stw */ | ||
55 | INVALID, /* 00 0 0011 */ | ||
56 | { 2, LD }, /* 00 0 0100: lhz */ | ||
57 | { 2, LD+SE }, /* 00 0 0101: lha */ | ||
58 | { 2, ST }, /* 00 0 0110: sth */ | ||
59 | { 4, LD+M }, /* 00 0 0111: lmw */ | ||
60 | { 4, LD+F+S }, /* 00 0 1000: lfs */ | ||
61 | { 8, LD+F }, /* 00 0 1001: lfd */ | ||
62 | { 4, ST+F+S }, /* 00 0 1010: stfs */ | ||
63 | { 8, ST+F }, /* 00 0 1011: stfd */ | ||
64 | INVALID, /* 00 0 1100 */ | ||
65 | INVALID, /* 00 0 1101: ld/ldu/lwa */ | ||
66 | INVALID, /* 00 0 1110 */ | ||
67 | INVALID, /* 00 0 1111: std/stdu */ | ||
68 | { 4, LD+U }, /* 00 1 0000: lwzu */ | ||
69 | INVALID, /* 00 1 0001 */ | ||
70 | { 4, ST+U }, /* 00 1 0010: stwu */ | ||
71 | INVALID, /* 00 1 0011 */ | ||
72 | { 2, LD+U }, /* 00 1 0100: lhzu */ | ||
73 | { 2, LD+SE+U }, /* 00 1 0101: lhau */ | ||
74 | { 2, ST+U }, /* 00 1 0110: sthu */ | ||
75 | { 4, ST+M }, /* 00 1 0111: stmw */ | ||
76 | { 4, LD+F+S+U }, /* 00 1 1000: lfsu */ | ||
77 | { 8, LD+F+U }, /* 00 1 1001: lfdu */ | ||
78 | { 4, ST+F+S+U }, /* 00 1 1010: stfsu */ | ||
79 | { 8, ST+F+U }, /* 00 1 1011: stfdu */ | ||
80 | INVALID, /* 00 1 1100 */ | ||
81 | INVALID, /* 00 1 1101 */ | ||
82 | INVALID, /* 00 1 1110 */ | ||
83 | INVALID, /* 00 1 1111 */ | ||
84 | INVALID, /* 01 0 0000: ldx */ | ||
85 | INVALID, /* 01 0 0001 */ | ||
86 | INVALID, /* 01 0 0010: stdx */ | ||
87 | INVALID, /* 01 0 0011 */ | ||
88 | INVALID, /* 01 0 0100 */ | ||
89 | INVALID, /* 01 0 0101: lwax */ | ||
90 | INVALID, /* 01 0 0110 */ | ||
91 | INVALID, /* 01 0 0111 */ | ||
92 | { 4, LD+M+HARD+SX }, /* 01 0 1000: lswx */ | ||
93 | { 4, LD+M+HARD }, /* 01 0 1001: lswi */ | ||
94 | { 4, ST+M+HARD+SX }, /* 01 0 1010: stswx */ | ||
95 | { 4, ST+M+HARD }, /* 01 0 1011: stswi */ | ||
96 | INVALID, /* 01 0 1100 */ | ||
97 | INVALID, /* 01 0 1101 */ | ||
98 | INVALID, /* 01 0 1110 */ | ||
99 | INVALID, /* 01 0 1111 */ | ||
100 | INVALID, /* 01 1 0000: ldux */ | ||
101 | INVALID, /* 01 1 0001 */ | ||
102 | INVALID, /* 01 1 0010: stdux */ | ||
103 | INVALID, /* 01 1 0011 */ | ||
104 | INVALID, /* 01 1 0100 */ | ||
105 | INVALID, /* 01 1 0101: lwaux */ | ||
106 | INVALID, /* 01 1 0110 */ | ||
107 | INVALID, /* 01 1 0111 */ | ||
108 | INVALID, /* 01 1 1000 */ | ||
109 | INVALID, /* 01 1 1001 */ | ||
110 | INVALID, /* 01 1 1010 */ | ||
111 | INVALID, /* 01 1 1011 */ | ||
112 | INVALID, /* 01 1 1100 */ | ||
113 | INVALID, /* 01 1 1101 */ | ||
114 | INVALID, /* 01 1 1110 */ | ||
115 | INVALID, /* 01 1 1111 */ | ||
116 | INVALID, /* 10 0 0000 */ | ||
117 | INVALID, /* 10 0 0001 */ | ||
118 | { 0, ST+HARD }, /* 10 0 0010: stwcx. */ | ||
119 | INVALID, /* 10 0 0011 */ | ||
120 | INVALID, /* 10 0 0100 */ | ||
121 | INVALID, /* 10 0 0101 */ | ||
122 | INVALID, /* 10 0 0110 */ | ||
123 | INVALID, /* 10 0 0111 */ | ||
124 | { 4, LD+S }, /* 10 0 1000: lwbrx */ | ||
125 | INVALID, /* 10 0 1001 */ | ||
126 | { 4, ST+S }, /* 10 0 1010: stwbrx */ | ||
127 | INVALID, /* 10 0 1011 */ | ||
128 | { 2, LD+S }, /* 10 0 1100: lhbrx */ | ||
129 | INVALID, /* 10 0 1101 */ | ||
130 | { 2, ST+S }, /* 10 0 1110: sthbrx */ | ||
131 | INVALID, /* 10 0 1111 */ | ||
132 | INVALID, /* 10 1 0000 */ | ||
133 | INVALID, /* 10 1 0001 */ | ||
134 | INVALID, /* 10 1 0010 */ | ||
135 | INVALID, /* 10 1 0011 */ | ||
136 | INVALID, /* 10 1 0100 */ | ||
137 | INVALID, /* 10 1 0101 */ | ||
138 | INVALID, /* 10 1 0110 */ | ||
139 | INVALID, /* 10 1 0111 */ | ||
140 | INVALID, /* 10 1 1000 */ | ||
141 | INVALID, /* 10 1 1001 */ | ||
142 | INVALID, /* 10 1 1010 */ | ||
143 | INVALID, /* 10 1 1011 */ | ||
144 | INVALID, /* 10 1 1100 */ | ||
145 | INVALID, /* 10 1 1101 */ | ||
146 | INVALID, /* 10 1 1110 */ | ||
147 | { 0, ST+HARD }, /* 10 1 1111: dcbz */ | ||
148 | { 4, LD }, /* 11 0 0000: lwzx */ | ||
149 | INVALID, /* 11 0 0001 */ | ||
150 | { 4, ST }, /* 11 0 0010: stwx */ | ||
151 | INVALID, /* 11 0 0011 */ | ||
152 | { 2, LD }, /* 11 0 0100: lhzx */ | ||
153 | { 2, LD+SE }, /* 11 0 0101: lhax */ | ||
154 | { 2, ST }, /* 11 0 0110: sthx */ | ||
155 | INVALID, /* 11 0 0111 */ | ||
156 | { 4, LD+F+S }, /* 11 0 1000: lfsx */ | ||
157 | { 8, LD+F }, /* 11 0 1001: lfdx */ | ||
158 | { 4, ST+F+S }, /* 11 0 1010: stfsx */ | ||
159 | { 8, ST+F }, /* 11 0 1011: stfdx */ | ||
160 | INVALID, /* 11 0 1100 */ | ||
161 | INVALID, /* 11 0 1101: lmd */ | ||
162 | INVALID, /* 11 0 1110 */ | ||
163 | INVALID, /* 11 0 1111: stmd */ | ||
164 | { 4, LD+U }, /* 11 1 0000: lwzux */ | ||
165 | INVALID, /* 11 1 0001 */ | ||
166 | { 4, ST+U }, /* 11 1 0010: stwux */ | ||
167 | INVALID, /* 11 1 0011 */ | ||
168 | { 2, LD+U }, /* 11 1 0100: lhzux */ | ||
169 | { 2, LD+SE+U }, /* 11 1 0101: lhaux */ | ||
170 | { 2, ST+U }, /* 11 1 0110: sthux */ | ||
171 | INVALID, /* 11 1 0111 */ | ||
172 | { 4, LD+F+S+U }, /* 11 1 1000: lfsux */ | ||
173 | { 8, LD+F+U }, /* 11 1 1001: lfdux */ | ||
174 | { 4, ST+F+S+U }, /* 11 1 1010: stfsux */ | ||
175 | { 8, ST+F+U }, /* 11 1 1011: stfdux */ | ||
176 | INVALID, /* 11 1 1100 */ | ||
177 | INVALID, /* 11 1 1101 */ | ||
178 | INVALID, /* 11 1 1110 */ | ||
179 | INVALID, /* 11 1 1111 */ | ||
180 | }; | ||
181 | |||
182 | #define SWAP(a, b) (t = (a), (a) = (b), (b) = t) | ||
183 | |||
184 | int | ||
185 | fix_alignment(struct pt_regs *regs) | ||
186 | { | ||
187 | int instr, nb, flags; | ||
188 | #if defined(CONFIG_4xx) || defined(CONFIG_POWER4) || defined(CONFIG_BOOKE) | ||
189 | int opcode, f1, f2, f3; | ||
190 | #endif | ||
191 | int i, t; | ||
192 | int reg, areg; | ||
193 | int offset, nb0; | ||
194 | unsigned char __user *addr; | ||
195 | unsigned char *rptr; | ||
196 | union { | ||
197 | long l; | ||
198 | float f; | ||
199 | double d; | ||
200 | unsigned char v[8]; | ||
201 | } data; | ||
202 | |||
203 | CHECK_FULL_REGS(regs); | ||
204 | |||
205 | #if defined(CONFIG_4xx) || defined(CONFIG_POWER4) || defined(CONFIG_BOOKE) | ||
206 | /* The 4xx-family & Book-E processors have no DSISR register, | ||
207 | * so we emulate it. | ||
208 | * The POWER4 has a DSISR register but doesn't set it on | ||
209 | * an alignment fault. -- paulus | ||
210 | */ | ||
211 | |||
212 | if (__get_user(instr, (unsigned int __user *) regs->nip)) | ||
213 | return 0; | ||
214 | opcode = OPCD(instr); | ||
215 | reg = RS(instr); | ||
216 | areg = RA(instr); | ||
217 | |||
218 | if (!IS_XFORM(opcode)) { | ||
219 | f1 = 0; | ||
220 | f2 = (instr & 0x04000000) >> 26; | ||
221 | f3 = (instr & 0x78000000) >> 27; | ||
222 | } else { | ||
223 | f1 = (instr & 0x00000006) >> 1; | ||
224 | f2 = (instr & 0x00000040) >> 6; | ||
225 | f3 = (instr & 0x00000780) >> 7; | ||
226 | } | ||
227 | |||
228 | instr = ((f1 << 5) | (f2 << 4) | f3); | ||
229 | #else | ||
230 | reg = (regs->dsisr >> 5) & 0x1f; /* source/dest register */ | ||
231 | areg = regs->dsisr & 0x1f; /* register to update */ | ||
232 | instr = (regs->dsisr >> 10) & 0x7f; | ||
233 | #endif | ||
234 | |||
235 | nb = aligninfo[instr].len; | ||
236 | if (nb == 0) { | ||
237 | long __user *p; | ||
238 | int i; | ||
239 | |||
240 | if (instr != DCBZ) | ||
241 | return 0; /* too hard or invalid instruction */ | ||
242 | /* | ||
243 | * The dcbz (data cache block zero) instruction | ||
244 | * gives an alignment fault if used on non-cacheable | ||
245 | * memory. We handle the fault mainly for the | ||
246 | * case when we are running with the cache disabled | ||
247 | * for debugging. | ||
248 | */ | ||
249 | p = (long __user *) (regs->dar & -L1_CACHE_BYTES); | ||
250 | if (user_mode(regs) | ||
251 | && !access_ok(VERIFY_WRITE, p, L1_CACHE_BYTES)) | ||
252 | return -EFAULT; | ||
253 | for (i = 0; i < L1_CACHE_BYTES / sizeof(long); ++i) | ||
254 | if (__put_user(0, p+i)) | ||
255 | return -EFAULT; | ||
256 | return 1; | ||
257 | } | ||
258 | |||
259 | flags = aligninfo[instr].flags; | ||
260 | if ((flags & (LD|ST)) == 0) | ||
261 | return 0; | ||
262 | |||
263 | /* For the 4xx-family & Book-E processors, the 'dar' field of the | ||
264 | * pt_regs structure is overloaded and is really from the DEAR. | ||
265 | */ | ||
266 | |||
267 | addr = (unsigned char __user *)regs->dar; | ||
268 | |||
269 | if (flags & M) { | ||
270 | /* lmw, stmw, lswi/x, stswi/x */ | ||
271 | nb0 = 0; | ||
272 | if (flags & HARD) { | ||
273 | if (flags & SX) { | ||
274 | nb = regs->xer & 127; | ||
275 | if (nb == 0) | ||
276 | return 1; | ||
277 | } else { | ||
278 | if (__get_user(instr, | ||
279 | (unsigned int __user *)regs->nip)) | ||
280 | return 0; | ||
281 | nb = (instr >> 11) & 0x1f; | ||
282 | if (nb == 0) | ||
283 | nb = 32; | ||
284 | } | ||
285 | if (nb + reg * 4 > 128) { | ||
286 | nb0 = nb + reg * 4 - 128; | ||
287 | nb = 128 - reg * 4; | ||
288 | } | ||
289 | } else { | ||
290 | /* lwm, stmw */ | ||
291 | nb = (32 - reg) * 4; | ||
292 | } | ||
293 | |||
294 | if (!access_ok((flags & ST? VERIFY_WRITE: VERIFY_READ), addr, nb+nb0)) | ||
295 | return -EFAULT; /* bad address */ | ||
296 | |||
297 | rptr = (unsigned char *) ®s->gpr[reg]; | ||
298 | if (flags & LD) { | ||
299 | for (i = 0; i < nb; ++i) | ||
300 | if (__get_user(rptr[i], addr+i)) | ||
301 | return -EFAULT; | ||
302 | if (nb0 > 0) { | ||
303 | rptr = (unsigned char *) ®s->gpr[0]; | ||
304 | addr += nb; | ||
305 | for (i = 0; i < nb0; ++i) | ||
306 | if (__get_user(rptr[i], addr+i)) | ||
307 | return -EFAULT; | ||
308 | } | ||
309 | for (; (i & 3) != 0; ++i) | ||
310 | rptr[i] = 0; | ||
311 | } else { | ||
312 | for (i = 0; i < nb; ++i) | ||
313 | if (__put_user(rptr[i], addr+i)) | ||
314 | return -EFAULT; | ||
315 | if (nb0 > 0) { | ||
316 | rptr = (unsigned char *) ®s->gpr[0]; | ||
317 | addr += nb; | ||
318 | for (i = 0; i < nb0; ++i) | ||
319 | if (__put_user(rptr[i], addr+i)) | ||
320 | return -EFAULT; | ||
321 | } | ||
322 | } | ||
323 | return 1; | ||
324 | } | ||
325 | |||
326 | offset = 0; | ||
327 | if (nb < 4) { | ||
328 | /* read/write the least significant bits */ | ||
329 | data.l = 0; | ||
330 | offset = 4 - nb; | ||
331 | } | ||
332 | |||
333 | /* Verify the address of the operand */ | ||
334 | if (user_mode(regs)) { | ||
335 | if (!access_ok((flags & ST? VERIFY_WRITE: VERIFY_READ), addr, nb)) | ||
336 | return -EFAULT; /* bad address */ | ||
337 | } | ||
338 | |||
339 | if (flags & F) { | ||
340 | preempt_disable(); | ||
341 | if (regs->msr & MSR_FP) | ||
342 | giveup_fpu(current); | ||
343 | preempt_enable(); | ||
344 | } | ||
345 | |||
346 | /* If we read the operand, copy it in, else get register values */ | ||
347 | if (flags & LD) { | ||
348 | for (i = 0; i < nb; ++i) | ||
349 | if (__get_user(data.v[offset+i], addr+i)) | ||
350 | return -EFAULT; | ||
351 | } else if (flags & F) { | ||
352 | data.d = current->thread.fpr[reg]; | ||
353 | } else { | ||
354 | data.l = regs->gpr[reg]; | ||
355 | } | ||
356 | |||
357 | switch (flags & ~U) { | ||
358 | case LD+SE: /* sign extend */ | ||
359 | if (data.v[2] >= 0x80) | ||
360 | data.v[0] = data.v[1] = -1; | ||
361 | break; | ||
362 | |||
363 | case LD+S: /* byte-swap */ | ||
364 | case ST+S: | ||
365 | if (nb == 2) { | ||
366 | SWAP(data.v[2], data.v[3]); | ||
367 | } else { | ||
368 | SWAP(data.v[0], data.v[3]); | ||
369 | SWAP(data.v[1], data.v[2]); | ||
370 | } | ||
371 | break; | ||
372 | |||
373 | /* Single-precision FP load and store require conversions... */ | ||
374 | case LD+F+S: | ||
375 | #ifdef CONFIG_PPC_FPU | ||
376 | preempt_disable(); | ||
377 | enable_kernel_fp(); | ||
378 | cvt_fd(&data.f, &data.d, ¤t->thread); | ||
379 | preempt_enable(); | ||
380 | #else | ||
381 | return 0; | ||
382 | #endif | ||
383 | break; | ||
384 | case ST+F+S: | ||
385 | #ifdef CONFIG_PPC_FPU | ||
386 | preempt_disable(); | ||
387 | enable_kernel_fp(); | ||
388 | cvt_df(&data.d, &data.f, ¤t->thread); | ||
389 | preempt_enable(); | ||
390 | #else | ||
391 | return 0; | ||
392 | #endif | ||
393 | break; | ||
394 | } | ||
395 | |||
396 | if (flags & ST) { | ||
397 | for (i = 0; i < nb; ++i) | ||
398 | if (__put_user(data.v[offset+i], addr+i)) | ||
399 | return -EFAULT; | ||
400 | } else if (flags & F) { | ||
401 | current->thread.fpr[reg] = data.d; | ||
402 | } else { | ||
403 | regs->gpr[reg] = data.l; | ||
404 | } | ||
405 | |||
406 | if (flags & U) | ||
407 | regs->gpr[areg] = regs->dar; | ||
408 | |||
409 | return 1; | ||
410 | } | ||
diff --git a/arch/ppc/kernel/pci.c b/arch/ppc/kernel/pci.c index 48ed58f995c0..f7fae5f153b2 100644 --- a/arch/ppc/kernel/pci.c +++ b/arch/ppc/kernel/pci.c | |||
@@ -45,7 +45,6 @@ static void update_bridge_base(struct pci_bus *bus, int i); | |||
45 | static void pcibios_fixup_resources(struct pci_dev* dev); | 45 | static void pcibios_fixup_resources(struct pci_dev* dev); |
46 | static void fixup_broken_pcnet32(struct pci_dev* dev); | 46 | static void fixup_broken_pcnet32(struct pci_dev* dev); |
47 | static int reparent_resources(struct resource *parent, struct resource *res); | 47 | static int reparent_resources(struct resource *parent, struct resource *res); |
48 | static void fixup_rev1_53c810(struct pci_dev* dev); | ||
49 | static void fixup_cpc710_pci64(struct pci_dev* dev); | 48 | static void fixup_cpc710_pci64(struct pci_dev* dev); |
50 | #ifdef CONFIG_PPC_OF | 49 | #ifdef CONFIG_PPC_OF |
51 | static u8* pci_to_OF_bus_map; | 50 | static u8* pci_to_OF_bus_map; |
diff --git a/arch/ppc/platforms/85xx/mpc85xx_ads_common.h b/arch/ppc/platforms/85xx/mpc85xx_ads_common.h index 7b26bcc5d10d..198a6a02cde8 100644 --- a/arch/ppc/platforms/85xx/mpc85xx_ads_common.h +++ b/arch/ppc/platforms/85xx/mpc85xx_ads_common.h | |||
@@ -25,6 +25,8 @@ | |||
25 | #define BCSR_ADDR ((uint)0xf8000000) | 25 | #define BCSR_ADDR ((uint)0xf8000000) |
26 | #define BCSR_SIZE ((uint)(32 * 1024)) | 26 | #define BCSR_SIZE ((uint)(32 * 1024)) |
27 | 27 | ||
28 | struct seq_file; | ||
29 | |||
28 | extern int mpc85xx_ads_show_cpuinfo(struct seq_file *m); | 30 | extern int mpc85xx_ads_show_cpuinfo(struct seq_file *m); |
29 | extern void mpc85xx_ads_init_IRQ(void) __init; | 31 | extern void mpc85xx_ads_init_IRQ(void) __init; |
30 | extern void mpc85xx_ads_map_io(void) __init; | 32 | extern void mpc85xx_ads_map_io(void) __init; |
diff --git a/arch/ppc/platforms/85xx/stx_gp3.h b/arch/ppc/platforms/85xx/stx_gp3.h index 7bcc6c35a417..2f25b5195152 100644 --- a/arch/ppc/platforms/85xx/stx_gp3.h +++ b/arch/ppc/platforms/85xx/stx_gp3.h | |||
@@ -21,7 +21,6 @@ | |||
21 | 21 | ||
22 | #include <linux/config.h> | 22 | #include <linux/config.h> |
23 | #include <linux/init.h> | 23 | #include <linux/init.h> |
24 | #include <linux/seq_file.h> | ||
25 | #include <asm/ppcboot.h> | 24 | #include <asm/ppcboot.h> |
26 | 25 | ||
27 | #define BOARD_CCSRBAR ((uint)0xe0000000) | 26 | #define BOARD_CCSRBAR ((uint)0xe0000000) |
@@ -43,7 +42,6 @@ extern void mpc85xx_setup_hose(void) __init; | |||
43 | extern void mpc85xx_restart(char *cmd); | 42 | extern void mpc85xx_restart(char *cmd); |
44 | extern void mpc85xx_power_off(void); | 43 | extern void mpc85xx_power_off(void); |
45 | extern void mpc85xx_halt(void); | 44 | extern void mpc85xx_halt(void); |
46 | extern int mpc85xx_show_cpuinfo(struct seq_file *m); | ||
47 | extern void mpc85xx_init_IRQ(void) __init; | 45 | extern void mpc85xx_init_IRQ(void) __init; |
48 | extern unsigned long mpc85xx_find_end_of_memory(void) __init; | 46 | extern unsigned long mpc85xx_find_end_of_memory(void) __init; |
49 | extern void mpc85xx_calibrate_decr(void) __init; | 47 | extern void mpc85xx_calibrate_decr(void) __init; |
diff --git a/arch/ppc/syslib/mpc83xx_sys.c b/arch/ppc/syslib/mpc83xx_sys.c index a1523989aff4..82cf3ab77f4a 100644 --- a/arch/ppc/syslib/mpc83xx_sys.c +++ b/arch/ppc/syslib/mpc83xx_sys.c | |||
@@ -69,9 +69,33 @@ struct ppc_sys_spec ppc_sys_specs[] = { | |||
69 | }, | 69 | }, |
70 | }, | 70 | }, |
71 | { | 71 | { |
72 | .ppc_sys_name = "8343E", | 72 | .ppc_sys_name = "8347E", |
73 | .mask = 0xFFFF0000, | 73 | .mask = 0xFFFF0000, |
74 | .value = 0x80540000, | 74 | .value = 0x80540000, |
75 | .num_devices = 9, | ||
76 | .device_list = (enum ppc_sys_devices[]) | ||
77 | { | ||
78 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, | ||
79 | MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2, | ||
80 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO | ||
81 | }, | ||
82 | }, | ||
83 | { | ||
84 | .ppc_sys_name = "8347", | ||
85 | .mask = 0xFFFF0000, | ||
86 | .value = 0x80550000, | ||
87 | .num_devices = 8, | ||
88 | .device_list = (enum ppc_sys_devices[]) | ||
89 | { | ||
90 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, | ||
91 | MPC83xx_IIC2, MPC83xx_DUART, | ||
92 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO | ||
93 | }, | ||
94 | }, | ||
95 | { | ||
96 | .ppc_sys_name = "8343E", | ||
97 | .mask = 0xFFFF0000, | ||
98 | .value = 0x80560000, | ||
75 | .num_devices = 8, | 99 | .num_devices = 8, |
76 | .device_list = (enum ppc_sys_devices[]) | 100 | .device_list = (enum ppc_sys_devices[]) |
77 | { | 101 | { |
@@ -83,7 +107,7 @@ struct ppc_sys_spec ppc_sys_specs[] = { | |||
83 | { | 107 | { |
84 | .ppc_sys_name = "8343", | 108 | .ppc_sys_name = "8343", |
85 | .mask = 0xFFFF0000, | 109 | .mask = 0xFFFF0000, |
86 | .value = 0x80550000, | 110 | .value = 0x80570000, |
87 | .num_devices = 7, | 111 | .num_devices = 7, |
88 | .device_list = (enum ppc_sys_devices[]) | 112 | .device_list = (enum ppc_sys_devices[]) |
89 | { | 113 | { |
diff --git a/arch/ppc64/Kconfig.debug b/arch/ppc64/Kconfig.debug deleted file mode 100644 index b258c9314a1b..000000000000 --- a/arch/ppc64/Kconfig.debug +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | menu "Kernel hacking" | ||
2 | |||
3 | source "lib/Kconfig.debug" | ||
4 | |||
5 | config DEBUG_STACKOVERFLOW | ||
6 | bool "Check for stack overflows" | ||
7 | depends on DEBUG_KERNEL | ||
8 | help | ||
9 | This option will cause messages to be printed if free stack space | ||
10 | drops below a certain limit. | ||
11 | |||
12 | config KPROBES | ||
13 | bool "Kprobes" | ||
14 | depends on DEBUG_KERNEL | ||
15 | help | ||
16 | Kprobes allows you to trap at almost any kernel address and | ||
17 | execute a callback function. register_kprobe() establishes | ||
18 | a probepoint and specifies the callback. Kprobes is useful | ||
19 | for kernel debugging, non-intrusive instrumentation and testing. | ||
20 | If in doubt, say "N". | ||
21 | |||
22 | config DEBUG_STACK_USAGE | ||
23 | bool "Stack utilization instrumentation" | ||
24 | depends on DEBUG_KERNEL | ||
25 | help | ||
26 | Enables the display of the minimum amount of free stack which each | ||
27 | task has ever had available in the sysrq-T and sysrq-P debug output. | ||
28 | |||
29 | This option will slow down process creation somewhat. | ||
30 | |||
31 | config DEBUGGER | ||
32 | bool "Enable debugger hooks" | ||
33 | depends on DEBUG_KERNEL | ||
34 | help | ||
35 | Include in-kernel hooks for kernel debuggers. Unless you are | ||
36 | intending to debug the kernel, say N here. | ||
37 | |||
38 | config XMON | ||
39 | bool "Include xmon kernel debugger" | ||
40 | depends on DEBUGGER && !PPC_ISERIES | ||
41 | help | ||
42 | Include in-kernel hooks for the xmon kernel monitor/debugger. | ||
43 | Unless you are intending to debug the kernel, say N here. | ||
44 | Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise | ||
45 | nothing will appear on the screen (xmon writes directly to the | ||
46 | framebuffer memory). | ||
47 | The cmdline option 'xmon' or 'xmon=early' will drop into xmon very | ||
48 | early during boot. 'xmon=on' will just enable the xmon debugger hooks. | ||
49 | 'xmon=off' will disable the debugger hooks if CONFIG_XMON_DEFAULT is set. | ||
50 | |||
51 | config XMON_DEFAULT | ||
52 | bool "Enable xmon by default" | ||
53 | depends on XMON | ||
54 | help | ||
55 | xmon is normally disabled unless booted with 'xmon=on'. | ||
56 | Use 'xmon=off' to disable xmon init during runtime. | ||
57 | |||
58 | config IRQSTACKS | ||
59 | bool "Use separate kernel stacks when processing interrupts" | ||
60 | help | ||
61 | If you say Y here the kernel will use separate kernel stacks | ||
62 | for handling hard and soft interrupts. This can help avoid | ||
63 | overflowing the process kernel stacks. | ||
64 | |||
65 | endmenu | ||
diff --git a/arch/ppc64/Makefile b/arch/ppc64/Makefile deleted file mode 100644 index a55a82d145d4..000000000000 --- a/arch/ppc64/Makefile +++ /dev/null | |||
@@ -1,142 +0,0 @@ | |||
1 | # This file is included by the global makefile so that you can add your own | ||
2 | # architecture-specific flags and dependencies. Remember to do have actions | ||
3 | # for "archclean" and "archdep" for cleaning up and making dependencies for | ||
4 | # this architecture | ||
5 | # | ||
6 | # This file is subject to the terms and conditions of the GNU General Public | ||
7 | # License. See the file "COPYING" in the main directory of this archive | ||
8 | # for more details. | ||
9 | # | ||
10 | # Copyright (C) 1994 by Linus Torvalds | ||
11 | # Changes for PPC by Gary Thomas | ||
12 | # Rewritten by Cort Dougan and Paul Mackerras | ||
13 | # Adjusted for PPC64 by Tom Gall | ||
14 | # | ||
15 | |||
16 | KERNELLOAD := 0xc000000000000000 | ||
17 | |||
18 | # Set default 32 bits cross compilers for vdso and boot wrapper | ||
19 | CROSS32_COMPILE ?= | ||
20 | |||
21 | CROSS32CC := $(CROSS32_COMPILE)gcc | ||
22 | CROSS32AS := $(CROSS32_COMPILE)as | ||
23 | CROSS32LD := $(CROSS32_COMPILE)ld | ||
24 | CROSS32OBJCOPY := $(CROSS32_COMPILE)objcopy | ||
25 | |||
26 | # If we have a biarch compiler, use it for 32 bits cross compile if | ||
27 | # CROSS32_COMPILE wasn't explicitely defined, and add proper explicit | ||
28 | # target type to target compilers | ||
29 | |||
30 | HAS_BIARCH := $(call cc-option-yn, -m64) | ||
31 | ifeq ($(HAS_BIARCH),y) | ||
32 | ifeq ($(CROSS32_COMPILE),) | ||
33 | CROSS32CC := $(CC) -m32 | ||
34 | CROSS32AS := $(AS) -a32 | ||
35 | CROSS32LD := $(LD) -m elf32ppc | ||
36 | CROSS32OBJCOPY := $(OBJCOPY) | ||
37 | endif | ||
38 | override AS += -a64 | ||
39 | override LD += -m elf64ppc | ||
40 | override CC += -m64 | ||
41 | endif | ||
42 | |||
43 | export CROSS32CC CROSS32AS CROSS32LD CROSS32OBJCOPY | ||
44 | |||
45 | new_nm := $(shell if $(NM) --help 2>&1 | grep -- '--synthetic' > /dev/null; then echo y; else echo n; fi) | ||
46 | |||
47 | ifeq ($(new_nm),y) | ||
48 | NM := $(NM) --synthetic | ||
49 | |||
50 | endif | ||
51 | |||
52 | CHECKFLAGS += -m64 -D__powerpc__ -D__powerpc64__ | ||
53 | |||
54 | LDFLAGS := -m elf64ppc | ||
55 | LDFLAGS_vmlinux := -Bstatic -e $(KERNELLOAD) -Ttext $(KERNELLOAD) | ||
56 | CFLAGS += -msoft-float -pipe -mminimal-toc -mtraceback=none \ | ||
57 | -mcall-aixdesc | ||
58 | # Temporary hack until we have migrated to asm-powerpc | ||
59 | CPPFLAGS += -Iarch/$(ARCH)/include | ||
60 | |||
61 | GCC_VERSION := $(call cc-version) | ||
62 | GCC_BROKEN_VEC := $(shell if [ $(GCC_VERSION) -lt 0400 ] ; then echo "y"; fi ;) | ||
63 | |||
64 | ifeq ($(CONFIG_POWER4_ONLY),y) | ||
65 | ifeq ($(CONFIG_ALTIVEC),y) | ||
66 | ifeq ($(GCC_BROKEN_VEC),y) | ||
67 | CFLAGS += $(call cc-option,-mcpu=970) | ||
68 | else | ||
69 | CFLAGS += $(call cc-option,-mcpu=power4) | ||
70 | endif | ||
71 | else | ||
72 | CFLAGS += $(call cc-option,-mcpu=power4) | ||
73 | endif | ||
74 | else | ||
75 | CFLAGS += $(call cc-option,-mtune=power4) | ||
76 | endif | ||
77 | |||
78 | # No AltiVec instruction when building kernel | ||
79 | CFLAGS += $(call cc-option, -mno-altivec) | ||
80 | |||
81 | # Enable unit-at-a-time mode when possible. It shrinks the | ||
82 | # kernel considerably. | ||
83 | CFLAGS += $(call cc-option,-funit-at-a-time) | ||
84 | |||
85 | head-y := arch/ppc64/kernel/head.o | ||
86 | head-y += arch/powerpc/kernel/fpu.o | ||
87 | head-y += arch/powerpc/kernel/entry_64.o | ||
88 | |||
89 | core-y += arch/ppc64/kernel/ arch/powerpc/kernel/ | ||
90 | core-y += arch/powerpc/mm/ | ||
91 | core-y += arch/powerpc/sysdev/ | ||
92 | core-y += arch/powerpc/platforms/ | ||
93 | core-y += arch/powerpc/lib/ | ||
94 | core-$(CONFIG_XMON) += arch/powerpc/xmon/ | ||
95 | drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/ | ||
96 | |||
97 | boot := arch/ppc64/boot | ||
98 | |||
99 | boottargets-$(CONFIG_PPC_PSERIES) += zImage zImage.initrd | ||
100 | boottargets-$(CONFIG_PPC_PMAC) += zImage.vmode zImage.initrd.vmode | ||
101 | boottargets-$(CONFIG_PPC_MAPLE) += zImage zImage.initrd | ||
102 | boottargets-$(CONFIG_PPC_ISERIES) += vmlinux.sminitrd vmlinux.initrd vmlinux.sm | ||
103 | boottargets-$(CONFIG_PPC_BPA) += zImage zImage.initrd | ||
104 | $(boottargets-y): vmlinux | ||
105 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | ||
106 | |||
107 | bootimage-$(CONFIG_PPC_PSERIES) := $(boot)/zImage | ||
108 | bootimage-$(CONFIG_PPC_PMAC) := vmlinux | ||
109 | bootimage-$(CONFIG_PPC_MAPLE) := $(boot)/zImage | ||
110 | bootimage-$(CONFIG_PPC_BPA) := $(boot)/zImage | ||
111 | bootimage-$(CONFIG_PPC_ISERIES) := vmlinux | ||
112 | BOOTIMAGE := $(bootimage-y) | ||
113 | install: vmlinux | ||
114 | $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@ | ||
115 | |||
116 | defaultimage-$(CONFIG_PPC_PSERIES) := zImage | ||
117 | defaultimage-$(CONFIG_PPC_PMAC) := zImage.vmode | ||
118 | defaultimage-$(CONFIG_PPC_MAPLE) := zImage | ||
119 | defaultimage-$(CONFIG_PPC_ISERIES) := vmlinux | ||
120 | KBUILD_IMAGE := $(defaultimage-y) | ||
121 | all: $(KBUILD_IMAGE) | ||
122 | |||
123 | archclean: | ||
124 | $(Q)$(MAKE) $(clean)=$(boot) | ||
125 | # Temporary hack until we have migrated to asm-powerpc | ||
126 | $(Q)rm -rf arch/$(ARCH)/include | ||
127 | |||
128 | |||
129 | # Temporary hack until we have migrated to asm-powerpc | ||
130 | include/asm: arch/$(ARCH)/include/asm | ||
131 | arch/$(ARCH)/include/asm: | ||
132 | $(Q)if [ ! -d arch/$(ARCH)/include ]; then mkdir -p arch/$(ARCH)/include; fi | ||
133 | $(Q)ln -fsn $(srctree)/include/asm-powerpc arch/$(ARCH)/include/asm | ||
134 | |||
135 | define archhelp | ||
136 | echo ' zImage.vmode - Compressed kernel image (arch/$(ARCH)/boot/zImage.vmode)' | ||
137 | echo ' zImage.initrd.vmode - Compressed kernel image with initrd attached,' | ||
138 | echo ' sourced from arch/$(ARCH)/boot/ramdisk.image.gz' | ||
139 | echo ' (arch/$(ARCH)/boot/zImage.initrd.vmode)' | ||
140 | echo ' zImage - zImage for pSeries machines' | ||
141 | echo ' zImage.initrd - zImage with initrd for pSeries machines' | ||
142 | endef | ||
diff --git a/arch/ppc64/configs/bpa_defconfig b/arch/ppc64/configs/bpa_defconfig deleted file mode 100644 index 67ffecbc05cb..000000000000 --- a/arch/ppc64/configs/bpa_defconfig +++ /dev/null | |||
@@ -1,1024 +0,0 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.14-rc4 | ||
4 | # Thu Oct 20 08:29:10 2005 | ||
5 | # | ||
6 | CONFIG_64BIT=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_GENERIC_ISA_DMA=y | ||
11 | CONFIG_EARLY_PRINTK=y | ||
12 | CONFIG_COMPAT=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
16 | |||
17 | # | ||
18 | # Code maturity level options | ||
19 | # | ||
20 | CONFIG_EXPERIMENTAL=y | ||
21 | CONFIG_CLEAN_COMPILE=y | ||
22 | CONFIG_LOCK_KERNEL=y | ||
23 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
24 | |||
25 | # | ||
26 | # General setup | ||
27 | # | ||
28 | CONFIG_LOCALVERSION="" | ||
29 | CONFIG_LOCALVERSION_AUTO=y | ||
30 | CONFIG_SWAP=y | ||
31 | CONFIG_SYSVIPC=y | ||
32 | # CONFIG_POSIX_MQUEUE is not set | ||
33 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
34 | CONFIG_SYSCTL=y | ||
35 | # CONFIG_AUDIT is not set | ||
36 | CONFIG_HOTPLUG=y | ||
37 | CONFIG_KOBJECT_UEVENT=y | ||
38 | # CONFIG_IKCONFIG is not set | ||
39 | # CONFIG_CPUSETS is not set | ||
40 | CONFIG_INITRAMFS_SOURCE="" | ||
41 | # CONFIG_EMBEDDED is not set | ||
42 | CONFIG_KALLSYMS=y | ||
43 | # CONFIG_KALLSYMS_ALL is not set | ||
44 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
45 | CONFIG_PRINTK=y | ||
46 | CONFIG_BUG=y | ||
47 | CONFIG_BASE_FULL=y | ||
48 | CONFIG_FUTEX=y | ||
49 | CONFIG_EPOLL=y | ||
50 | CONFIG_SHMEM=y | ||
51 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
52 | CONFIG_CC_ALIGN_LABELS=0 | ||
53 | CONFIG_CC_ALIGN_LOOPS=0 | ||
54 | CONFIG_CC_ALIGN_JUMPS=0 | ||
55 | # CONFIG_TINY_SHMEM is not set | ||
56 | CONFIG_BASE_SMALL=0 | ||
57 | |||
58 | # | ||
59 | # Loadable module support | ||
60 | # | ||
61 | CONFIG_MODULES=y | ||
62 | CONFIG_MODULE_UNLOAD=y | ||
63 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
64 | CONFIG_OBSOLETE_MODPARM=y | ||
65 | # CONFIG_MODVERSIONS is not set | ||
66 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
67 | # CONFIG_KMOD is not set | ||
68 | CONFIG_STOP_MACHINE=y | ||
69 | CONFIG_SYSVIPC_COMPAT=y | ||
70 | |||
71 | # | ||
72 | # Platform support | ||
73 | # | ||
74 | # CONFIG_PPC_ISERIES is not set | ||
75 | CONFIG_PPC_MULTIPLATFORM=y | ||
76 | # CONFIG_PPC_PSERIES is not set | ||
77 | CONFIG_PPC_BPA=y | ||
78 | # CONFIG_PPC_PMAC is not set | ||
79 | # CONFIG_PPC_MAPLE is not set | ||
80 | CONFIG_PPC=y | ||
81 | CONFIG_PPC64=y | ||
82 | CONFIG_PPC_OF=y | ||
83 | CONFIG_BPA_IIC=y | ||
84 | CONFIG_ALTIVEC=y | ||
85 | CONFIG_KEXEC=y | ||
86 | # CONFIG_U3_DART is not set | ||
87 | # CONFIG_BOOTX_TEXT is not set | ||
88 | # CONFIG_POWER4_ONLY is not set | ||
89 | # CONFIG_IOMMU_VMERGE is not set | ||
90 | CONFIG_SMP=y | ||
91 | CONFIG_NR_CPUS=4 | ||
92 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
93 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
94 | CONFIG_SELECT_MEMORY_MODEL=y | ||
95 | CONFIG_FLATMEM_MANUAL=y | ||
96 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
97 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
98 | CONFIG_FLATMEM=y | ||
99 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
100 | # CONFIG_SPARSEMEM_STATIC is not set | ||
101 | # CONFIG_NUMA is not set | ||
102 | CONFIG_SCHED_SMT=y | ||
103 | CONFIG_PREEMPT_NONE=y | ||
104 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
105 | # CONFIG_PREEMPT is not set | ||
106 | CONFIG_PREEMPT_BKL=y | ||
107 | # CONFIG_HZ_100 is not set | ||
108 | CONFIG_HZ_250=y | ||
109 | # CONFIG_HZ_1000 is not set | ||
110 | CONFIG_HZ=250 | ||
111 | CONFIG_GENERIC_HARDIRQS=y | ||
112 | CONFIG_PPC_RTAS=y | ||
113 | CONFIG_RTAS_PROC=y | ||
114 | CONFIG_RTAS_FLASH=y | ||
115 | CONFIG_SECCOMP=y | ||
116 | CONFIG_BINFMT_ELF=y | ||
117 | # CONFIG_BINFMT_MISC is not set | ||
118 | CONFIG_PROC_DEVICETREE=y | ||
119 | # CONFIG_CMDLINE_BOOL is not set | ||
120 | CONFIG_ISA_DMA_API=y | ||
121 | |||
122 | # | ||
123 | # Bus Options | ||
124 | # | ||
125 | CONFIG_PCI=y | ||
126 | CONFIG_PCI_DOMAINS=y | ||
127 | CONFIG_PCI_LEGACY_PROC=y | ||
128 | # CONFIG_PCI_DEBUG is not set | ||
129 | |||
130 | # | ||
131 | # PCCARD (PCMCIA/CardBus) support | ||
132 | # | ||
133 | # CONFIG_PCCARD is not set | ||
134 | |||
135 | # | ||
136 | # PCI Hotplug Support | ||
137 | # | ||
138 | # CONFIG_HOTPLUG_PCI is not set | ||
139 | |||
140 | # | ||
141 | # Networking | ||
142 | # | ||
143 | CONFIG_NET=y | ||
144 | |||
145 | # | ||
146 | # Networking options | ||
147 | # | ||
148 | CONFIG_PACKET=y | ||
149 | # CONFIG_PACKET_MMAP is not set | ||
150 | CONFIG_UNIX=y | ||
151 | CONFIG_XFRM=y | ||
152 | # CONFIG_XFRM_USER is not set | ||
153 | # CONFIG_NET_KEY is not set | ||
154 | CONFIG_INET=y | ||
155 | CONFIG_IP_MULTICAST=y | ||
156 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
157 | CONFIG_IP_FIB_HASH=y | ||
158 | # CONFIG_IP_PNP is not set | ||
159 | CONFIG_NET_IPIP=y | ||
160 | # CONFIG_NET_IPGRE is not set | ||
161 | # CONFIG_IP_MROUTE is not set | ||
162 | # CONFIG_ARPD is not set | ||
163 | CONFIG_SYN_COOKIES=y | ||
164 | # CONFIG_INET_AH is not set | ||
165 | # CONFIG_INET_ESP is not set | ||
166 | # CONFIG_INET_IPCOMP is not set | ||
167 | CONFIG_INET_TUNNEL=y | ||
168 | CONFIG_INET_DIAG=y | ||
169 | CONFIG_INET_TCP_DIAG=y | ||
170 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
171 | CONFIG_TCP_CONG_BIC=y | ||
172 | |||
173 | # | ||
174 | # IP: Virtual Server Configuration | ||
175 | # | ||
176 | # CONFIG_IP_VS is not set | ||
177 | CONFIG_IPV6=y | ||
178 | # CONFIG_IPV6_PRIVACY is not set | ||
179 | CONFIG_INET6_AH=m | ||
180 | CONFIG_INET6_ESP=m | ||
181 | CONFIG_INET6_IPCOMP=m | ||
182 | CONFIG_INET6_TUNNEL=m | ||
183 | CONFIG_IPV6_TUNNEL=m | ||
184 | CONFIG_NETFILTER=y | ||
185 | # CONFIG_NETFILTER_DEBUG is not set | ||
186 | # CONFIG_NETFILTER_NETLINK is not set | ||
187 | |||
188 | # | ||
189 | # IP: Netfilter Configuration | ||
190 | # | ||
191 | CONFIG_IP_NF_CONNTRACK=y | ||
192 | # CONFIG_IP_NF_CT_ACCT is not set | ||
193 | # CONFIG_IP_NF_CONNTRACK_MARK is not set | ||
194 | # CONFIG_IP_NF_CONNTRACK_EVENTS is not set | ||
195 | CONFIG_IP_NF_CT_PROTO_SCTP=y | ||
196 | CONFIG_IP_NF_FTP=m | ||
197 | CONFIG_IP_NF_IRC=m | ||
198 | # CONFIG_IP_NF_NETBIOS_NS is not set | ||
199 | CONFIG_IP_NF_TFTP=m | ||
200 | CONFIG_IP_NF_AMANDA=m | ||
201 | # CONFIG_IP_NF_PPTP is not set | ||
202 | CONFIG_IP_NF_QUEUE=m | ||
203 | CONFIG_IP_NF_IPTABLES=m | ||
204 | CONFIG_IP_NF_MATCH_LIMIT=m | ||
205 | CONFIG_IP_NF_MATCH_IPRANGE=m | ||
206 | CONFIG_IP_NF_MATCH_MAC=m | ||
207 | CONFIG_IP_NF_MATCH_PKTTYPE=m | ||
208 | CONFIG_IP_NF_MATCH_MARK=m | ||
209 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
210 | CONFIG_IP_NF_MATCH_TOS=m | ||
211 | CONFIG_IP_NF_MATCH_RECENT=m | ||
212 | CONFIG_IP_NF_MATCH_ECN=m | ||
213 | CONFIG_IP_NF_MATCH_DSCP=m | ||
214 | CONFIG_IP_NF_MATCH_AH_ESP=m | ||
215 | CONFIG_IP_NF_MATCH_LENGTH=m | ||
216 | CONFIG_IP_NF_MATCH_TTL=m | ||
217 | CONFIG_IP_NF_MATCH_TCPMSS=m | ||
218 | CONFIG_IP_NF_MATCH_HELPER=m | ||
219 | CONFIG_IP_NF_MATCH_STATE=m | ||
220 | CONFIG_IP_NF_MATCH_CONNTRACK=m | ||
221 | CONFIG_IP_NF_MATCH_OWNER=m | ||
222 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | ||
223 | CONFIG_IP_NF_MATCH_REALM=m | ||
224 | CONFIG_IP_NF_MATCH_SCTP=m | ||
225 | # CONFIG_IP_NF_MATCH_DCCP is not set | ||
226 | CONFIG_IP_NF_MATCH_COMMENT=m | ||
227 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | ||
228 | CONFIG_IP_NF_MATCH_STRING=m | ||
229 | CONFIG_IP_NF_FILTER=m | ||
230 | CONFIG_IP_NF_TARGET_REJECT=m | ||
231 | CONFIG_IP_NF_TARGET_LOG=m | ||
232 | CONFIG_IP_NF_TARGET_ULOG=m | ||
233 | CONFIG_IP_NF_TARGET_TCPMSS=m | ||
234 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
235 | CONFIG_IP_NF_NAT=m | ||
236 | CONFIG_IP_NF_NAT_NEEDED=y | ||
237 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
238 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
239 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
240 | CONFIG_IP_NF_TARGET_SAME=m | ||
241 | CONFIG_IP_NF_NAT_SNMP_BASIC=m | ||
242 | CONFIG_IP_NF_NAT_IRC=m | ||
243 | CONFIG_IP_NF_NAT_FTP=m | ||
244 | CONFIG_IP_NF_NAT_TFTP=m | ||
245 | CONFIG_IP_NF_NAT_AMANDA=m | ||
246 | CONFIG_IP_NF_MANGLE=m | ||
247 | CONFIG_IP_NF_TARGET_TOS=m | ||
248 | CONFIG_IP_NF_TARGET_ECN=m | ||
249 | CONFIG_IP_NF_TARGET_DSCP=m | ||
250 | CONFIG_IP_NF_TARGET_MARK=m | ||
251 | CONFIG_IP_NF_TARGET_CLASSIFY=m | ||
252 | CONFIG_IP_NF_TARGET_TTL=m | ||
253 | CONFIG_IP_NF_RAW=m | ||
254 | CONFIG_IP_NF_TARGET_NOTRACK=m | ||
255 | CONFIG_IP_NF_ARPTABLES=m | ||
256 | CONFIG_IP_NF_ARPFILTER=m | ||
257 | CONFIG_IP_NF_ARP_MANGLE=m | ||
258 | |||
259 | # | ||
260 | # IPv6: Netfilter Configuration (EXPERIMENTAL) | ||
261 | # | ||
262 | # CONFIG_IP6_NF_QUEUE is not set | ||
263 | # CONFIG_IP6_NF_IPTABLES is not set | ||
264 | # CONFIG_IP6_NF_TARGET_NFQUEUE is not set | ||
265 | |||
266 | # | ||
267 | # DCCP Configuration (EXPERIMENTAL) | ||
268 | # | ||
269 | # CONFIG_IP_DCCP is not set | ||
270 | |||
271 | # | ||
272 | # SCTP Configuration (EXPERIMENTAL) | ||
273 | # | ||
274 | # CONFIG_IP_SCTP is not set | ||
275 | # CONFIG_ATM is not set | ||
276 | # CONFIG_BRIDGE is not set | ||
277 | # CONFIG_VLAN_8021Q is not set | ||
278 | # CONFIG_DECNET is not set | ||
279 | # CONFIG_LLC2 is not set | ||
280 | # CONFIG_IPX is not set | ||
281 | # CONFIG_ATALK is not set | ||
282 | # CONFIG_X25 is not set | ||
283 | # CONFIG_LAPB is not set | ||
284 | # CONFIG_NET_DIVERT is not set | ||
285 | # CONFIG_ECONET is not set | ||
286 | # CONFIG_WAN_ROUTER is not set | ||
287 | # CONFIG_NET_SCHED is not set | ||
288 | CONFIG_NET_CLS_ROUTE=y | ||
289 | |||
290 | # | ||
291 | # Network testing | ||
292 | # | ||
293 | # CONFIG_NET_PKTGEN is not set | ||
294 | # CONFIG_HAMRADIO is not set | ||
295 | # CONFIG_IRDA is not set | ||
296 | # CONFIG_BT is not set | ||
297 | # CONFIG_IEEE80211 is not set | ||
298 | |||
299 | # | ||
300 | # Device Drivers | ||
301 | # | ||
302 | |||
303 | # | ||
304 | # Generic Driver Options | ||
305 | # | ||
306 | CONFIG_STANDALONE=y | ||
307 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
308 | CONFIG_FW_LOADER=y | ||
309 | # CONFIG_DEBUG_DRIVER is not set | ||
310 | |||
311 | # | ||
312 | # Connector - unified userspace <-> kernelspace linker | ||
313 | # | ||
314 | # CONFIG_CONNECTOR is not set | ||
315 | |||
316 | # | ||
317 | # Memory Technology Devices (MTD) | ||
318 | # | ||
319 | # CONFIG_MTD is not set | ||
320 | |||
321 | # | ||
322 | # Parallel port support | ||
323 | # | ||
324 | # CONFIG_PARPORT is not set | ||
325 | |||
326 | # | ||
327 | # Plug and Play support | ||
328 | # | ||
329 | |||
330 | # | ||
331 | # Block devices | ||
332 | # | ||
333 | # CONFIG_BLK_DEV_FD is not set | ||
334 | # CONFIG_BLK_CPQ_DA is not set | ||
335 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
336 | # CONFIG_BLK_DEV_DAC960 is not set | ||
337 | # CONFIG_BLK_DEV_UMEM is not set | ||
338 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
339 | CONFIG_BLK_DEV_LOOP=y | ||
340 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
341 | CONFIG_BLK_DEV_NBD=y | ||
342 | # CONFIG_BLK_DEV_SX8 is not set | ||
343 | CONFIG_BLK_DEV_RAM=y | ||
344 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
345 | CONFIG_BLK_DEV_RAM_SIZE=131072 | ||
346 | CONFIG_BLK_DEV_INITRD=y | ||
347 | # CONFIG_CDROM_PKTCDVD is not set | ||
348 | |||
349 | # | ||
350 | # IO Schedulers | ||
351 | # | ||
352 | CONFIG_IOSCHED_NOOP=y | ||
353 | CONFIG_IOSCHED_AS=y | ||
354 | CONFIG_IOSCHED_DEADLINE=y | ||
355 | CONFIG_IOSCHED_CFQ=y | ||
356 | # CONFIG_ATA_OVER_ETH is not set | ||
357 | |||
358 | # | ||
359 | # ATA/ATAPI/MFM/RLL support | ||
360 | # | ||
361 | CONFIG_IDE=y | ||
362 | CONFIG_BLK_DEV_IDE=y | ||
363 | |||
364 | # | ||
365 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
366 | # | ||
367 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
368 | CONFIG_BLK_DEV_IDEDISK=y | ||
369 | CONFIG_IDEDISK_MULTI_MODE=y | ||
370 | # CONFIG_BLK_DEV_IDECD is not set | ||
371 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
372 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
373 | # CONFIG_IDE_TASK_IOCTL is not set | ||
374 | |||
375 | # | ||
376 | # IDE chipset support/bugfixes | ||
377 | # | ||
378 | CONFIG_IDE_GENERIC=y | ||
379 | CONFIG_BLK_DEV_IDEPCI=y | ||
380 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
381 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
382 | CONFIG_BLK_DEV_GENERIC=y | ||
383 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
384 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
385 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
386 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
387 | CONFIG_IDEDMA_PCI_AUTO=y | ||
388 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
389 | CONFIG_BLK_DEV_AEC62XX=y | ||
390 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
391 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
392 | # CONFIG_BLK_DEV_CMD64X is not set | ||
393 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
394 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
395 | # CONFIG_BLK_DEV_CS5520 is not set | ||
396 | # CONFIG_BLK_DEV_CS5530 is not set | ||
397 | # CONFIG_BLK_DEV_HPT34X is not set | ||
398 | # CONFIG_BLK_DEV_HPT366 is not set | ||
399 | # CONFIG_BLK_DEV_SC1200 is not set | ||
400 | # CONFIG_BLK_DEV_PIIX is not set | ||
401 | # CONFIG_BLK_DEV_IT821X is not set | ||
402 | # CONFIG_BLK_DEV_NS87415 is not set | ||
403 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
404 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
405 | # CONFIG_BLK_DEV_SVWKS is not set | ||
406 | CONFIG_BLK_DEV_SIIMAGE=y | ||
407 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
408 | # CONFIG_BLK_DEV_TRM290 is not set | ||
409 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
410 | # CONFIG_IDE_ARM is not set | ||
411 | CONFIG_BLK_DEV_IDEDMA=y | ||
412 | # CONFIG_IDEDMA_IVB is not set | ||
413 | CONFIG_IDEDMA_AUTO=y | ||
414 | # CONFIG_BLK_DEV_HD is not set | ||
415 | |||
416 | # | ||
417 | # SCSI device support | ||
418 | # | ||
419 | # CONFIG_RAID_ATTRS is not set | ||
420 | # CONFIG_SCSI is not set | ||
421 | |||
422 | # | ||
423 | # Multi-device support (RAID and LVM) | ||
424 | # | ||
425 | # CONFIG_MD is not set | ||
426 | |||
427 | # | ||
428 | # Fusion MPT device support | ||
429 | # | ||
430 | # CONFIG_FUSION is not set | ||
431 | |||
432 | # | ||
433 | # IEEE 1394 (FireWire) support | ||
434 | # | ||
435 | # CONFIG_IEEE1394 is not set | ||
436 | |||
437 | # | ||
438 | # I2O device support | ||
439 | # | ||
440 | # CONFIG_I2O is not set | ||
441 | |||
442 | # | ||
443 | # Macintosh device drivers | ||
444 | # | ||
445 | |||
446 | # | ||
447 | # Network device support | ||
448 | # | ||
449 | CONFIG_NETDEVICES=y | ||
450 | # CONFIG_DUMMY is not set | ||
451 | # CONFIG_BONDING is not set | ||
452 | # CONFIG_EQUALIZER is not set | ||
453 | # CONFIG_TUN is not set | ||
454 | |||
455 | # | ||
456 | # ARCnet devices | ||
457 | # | ||
458 | # CONFIG_ARCNET is not set | ||
459 | |||
460 | # | ||
461 | # PHY device support | ||
462 | # | ||
463 | # CONFIG_PHYLIB is not set | ||
464 | |||
465 | # | ||
466 | # Ethernet (10 or 100Mbit) | ||
467 | # | ||
468 | CONFIG_NET_ETHERNET=y | ||
469 | CONFIG_MII=y | ||
470 | # CONFIG_HAPPYMEAL is not set | ||
471 | # CONFIG_SUNGEM is not set | ||
472 | # CONFIG_CASSINI is not set | ||
473 | # CONFIG_NET_VENDOR_3COM is not set | ||
474 | |||
475 | # | ||
476 | # Tulip family network device support | ||
477 | # | ||
478 | # CONFIG_NET_TULIP is not set | ||
479 | # CONFIG_HP100 is not set | ||
480 | # CONFIG_NET_PCI is not set | ||
481 | |||
482 | # | ||
483 | # Ethernet (1000 Mbit) | ||
484 | # | ||
485 | # CONFIG_ACENIC is not set | ||
486 | # CONFIG_DL2K is not set | ||
487 | CONFIG_E1000=m | ||
488 | # CONFIG_E1000_NAPI is not set | ||
489 | # CONFIG_NS83820 is not set | ||
490 | # CONFIG_HAMACHI is not set | ||
491 | # CONFIG_YELLOWFIN is not set | ||
492 | # CONFIG_R8169 is not set | ||
493 | # CONFIG_SIS190 is not set | ||
494 | CONFIG_SKGE=m | ||
495 | # CONFIG_SK98LIN is not set | ||
496 | # CONFIG_TIGON3 is not set | ||
497 | # CONFIG_BNX2 is not set | ||
498 | # CONFIG_SPIDER_NET is not set | ||
499 | # CONFIG_MV643XX_ETH is not set | ||
500 | |||
501 | # | ||
502 | # Ethernet (10000 Mbit) | ||
503 | # | ||
504 | # CONFIG_CHELSIO_T1 is not set | ||
505 | # CONFIG_IXGB is not set | ||
506 | # CONFIG_S2IO is not set | ||
507 | |||
508 | # | ||
509 | # Token Ring devices | ||
510 | # | ||
511 | # CONFIG_TR is not set | ||
512 | |||
513 | # | ||
514 | # Wireless LAN (non-hamradio) | ||
515 | # | ||
516 | # CONFIG_NET_RADIO is not set | ||
517 | |||
518 | # | ||
519 | # Wan interfaces | ||
520 | # | ||
521 | # CONFIG_WAN is not set | ||
522 | # CONFIG_FDDI is not set | ||
523 | # CONFIG_HIPPI is not set | ||
524 | # CONFIG_PPP is not set | ||
525 | # CONFIG_SLIP is not set | ||
526 | # CONFIG_SHAPER is not set | ||
527 | # CONFIG_NETCONSOLE is not set | ||
528 | # CONFIG_NETPOLL is not set | ||
529 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
530 | |||
531 | # | ||
532 | # ISDN subsystem | ||
533 | # | ||
534 | # CONFIG_ISDN is not set | ||
535 | |||
536 | # | ||
537 | # Telephony Support | ||
538 | # | ||
539 | # CONFIG_PHONE is not set | ||
540 | |||
541 | # | ||
542 | # Input device support | ||
543 | # | ||
544 | CONFIG_INPUT=y | ||
545 | |||
546 | # | ||
547 | # Userland interfaces | ||
548 | # | ||
549 | CONFIG_INPUT_MOUSEDEV=y | ||
550 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
551 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
552 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
553 | # CONFIG_INPUT_JOYDEV is not set | ||
554 | # CONFIG_INPUT_TSDEV is not set | ||
555 | # CONFIG_INPUT_EVDEV is not set | ||
556 | # CONFIG_INPUT_EVBUG is not set | ||
557 | |||
558 | # | ||
559 | # Input Device Drivers | ||
560 | # | ||
561 | # CONFIG_INPUT_KEYBOARD is not set | ||
562 | # CONFIG_INPUT_MOUSE is not set | ||
563 | # CONFIG_INPUT_JOYSTICK is not set | ||
564 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
565 | # CONFIG_INPUT_MISC is not set | ||
566 | |||
567 | # | ||
568 | # Hardware I/O ports | ||
569 | # | ||
570 | CONFIG_SERIO=y | ||
571 | # CONFIG_SERIO_I8042 is not set | ||
572 | CONFIG_SERIO_SERPORT=y | ||
573 | # CONFIG_SERIO_PCIPS2 is not set | ||
574 | # CONFIG_SERIO_RAW is not set | ||
575 | # CONFIG_GAMEPORT is not set | ||
576 | |||
577 | # | ||
578 | # Character devices | ||
579 | # | ||
580 | CONFIG_VT=y | ||
581 | CONFIG_VT_CONSOLE=y | ||
582 | CONFIG_HW_CONSOLE=y | ||
583 | CONFIG_SERIAL_NONSTANDARD=y | ||
584 | # CONFIG_ROCKETPORT is not set | ||
585 | # CONFIG_CYCLADES is not set | ||
586 | # CONFIG_DIGIEPCA is not set | ||
587 | # CONFIG_MOXA_SMARTIO is not set | ||
588 | # CONFIG_ISI is not set | ||
589 | # CONFIG_SYNCLINK is not set | ||
590 | # CONFIG_SYNCLINKMP is not set | ||
591 | # CONFIG_N_HDLC is not set | ||
592 | # CONFIG_SPECIALIX is not set | ||
593 | # CONFIG_SX is not set | ||
594 | # CONFIG_STALDRV is not set | ||
595 | |||
596 | # | ||
597 | # Serial drivers | ||
598 | # | ||
599 | CONFIG_SERIAL_8250=y | ||
600 | CONFIG_SERIAL_8250_CONSOLE=y | ||
601 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
602 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
603 | |||
604 | # | ||
605 | # Non-8250 serial port support | ||
606 | # | ||
607 | CONFIG_SERIAL_CORE=y | ||
608 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
609 | # CONFIG_SERIAL_JSM is not set | ||
610 | CONFIG_UNIX98_PTYS=y | ||
611 | # CONFIG_LEGACY_PTYS is not set | ||
612 | |||
613 | # | ||
614 | # IPMI | ||
615 | # | ||
616 | # CONFIG_IPMI_HANDLER is not set | ||
617 | |||
618 | # | ||
619 | # Watchdog Cards | ||
620 | # | ||
621 | CONFIG_WATCHDOG=y | ||
622 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
623 | |||
624 | # | ||
625 | # Watchdog Device Drivers | ||
626 | # | ||
627 | # CONFIG_SOFT_WATCHDOG is not set | ||
628 | CONFIG_WATCHDOG_RTAS=y | ||
629 | |||
630 | # | ||
631 | # PCI-based Watchdog Cards | ||
632 | # | ||
633 | # CONFIG_PCIPCWATCHDOG is not set | ||
634 | # CONFIG_WDTPCI is not set | ||
635 | # CONFIG_RTC is not set | ||
636 | # CONFIG_DTLK is not set | ||
637 | # CONFIG_R3964 is not set | ||
638 | # CONFIG_APPLICOM is not set | ||
639 | |||
640 | # | ||
641 | # Ftape, the floppy tape device driver | ||
642 | # | ||
643 | # CONFIG_AGP is not set | ||
644 | # CONFIG_DRM is not set | ||
645 | # CONFIG_RAW_DRIVER is not set | ||
646 | # CONFIG_HANGCHECK_TIMER is not set | ||
647 | |||
648 | # | ||
649 | # TPM devices | ||
650 | # | ||
651 | # CONFIG_TCG_TPM is not set | ||
652 | |||
653 | # | ||
654 | # I2C support | ||
655 | # | ||
656 | CONFIG_I2C=y | ||
657 | # CONFIG_I2C_CHARDEV is not set | ||
658 | |||
659 | # | ||
660 | # I2C Algorithms | ||
661 | # | ||
662 | CONFIG_I2C_ALGOBIT=y | ||
663 | # CONFIG_I2C_ALGOPCF is not set | ||
664 | # CONFIG_I2C_ALGOPCA is not set | ||
665 | |||
666 | # | ||
667 | # I2C Hardware Bus support | ||
668 | # | ||
669 | # CONFIG_I2C_ALI1535 is not set | ||
670 | # CONFIG_I2C_ALI1563 is not set | ||
671 | # CONFIG_I2C_ALI15X3 is not set | ||
672 | # CONFIG_I2C_AMD756 is not set | ||
673 | # CONFIG_I2C_AMD8111 is not set | ||
674 | # CONFIG_I2C_I801 is not set | ||
675 | # CONFIG_I2C_I810 is not set | ||
676 | # CONFIG_I2C_PIIX4 is not set | ||
677 | # CONFIG_I2C_NFORCE2 is not set | ||
678 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
679 | # CONFIG_I2C_PROSAVAGE is not set | ||
680 | # CONFIG_I2C_SAVAGE4 is not set | ||
681 | # CONFIG_SCx200_ACB is not set | ||
682 | # CONFIG_I2C_SIS5595 is not set | ||
683 | # CONFIG_I2C_SIS630 is not set | ||
684 | # CONFIG_I2C_SIS96X is not set | ||
685 | # CONFIG_I2C_STUB is not set | ||
686 | # CONFIG_I2C_VIA is not set | ||
687 | # CONFIG_I2C_VIAPRO is not set | ||
688 | # CONFIG_I2C_VOODOO3 is not set | ||
689 | # CONFIG_I2C_PCA_ISA is not set | ||
690 | |||
691 | # | ||
692 | # Miscellaneous I2C Chip support | ||
693 | # | ||
694 | # CONFIG_SENSORS_DS1337 is not set | ||
695 | # CONFIG_SENSORS_DS1374 is not set | ||
696 | # CONFIG_SENSORS_EEPROM is not set | ||
697 | # CONFIG_SENSORS_PCF8574 is not set | ||
698 | # CONFIG_SENSORS_PCA9539 is not set | ||
699 | # CONFIG_SENSORS_PCF8591 is not set | ||
700 | # CONFIG_SENSORS_RTC8564 is not set | ||
701 | # CONFIG_SENSORS_MAX6875 is not set | ||
702 | # CONFIG_I2C_DEBUG_CORE is not set | ||
703 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
704 | # CONFIG_I2C_DEBUG_BUS is not set | ||
705 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
706 | |||
707 | # | ||
708 | # Dallas's 1-wire bus | ||
709 | # | ||
710 | # CONFIG_W1 is not set | ||
711 | |||
712 | # | ||
713 | # Hardware Monitoring support | ||
714 | # | ||
715 | # CONFIG_HWMON is not set | ||
716 | # CONFIG_HWMON_VID is not set | ||
717 | |||
718 | # | ||
719 | # Misc devices | ||
720 | # | ||
721 | |||
722 | # | ||
723 | # Multimedia Capabilities Port drivers | ||
724 | # | ||
725 | |||
726 | # | ||
727 | # Multimedia devices | ||
728 | # | ||
729 | # CONFIG_VIDEO_DEV is not set | ||
730 | |||
731 | # | ||
732 | # Digital Video Broadcasting Devices | ||
733 | # | ||
734 | # CONFIG_DVB is not set | ||
735 | |||
736 | # | ||
737 | # Graphics support | ||
738 | # | ||
739 | # CONFIG_FB is not set | ||
740 | |||
741 | # | ||
742 | # Console display driver support | ||
743 | # | ||
744 | # CONFIG_VGA_CONSOLE is not set | ||
745 | CONFIG_DUMMY_CONSOLE=y | ||
746 | |||
747 | # | ||
748 | # Sound | ||
749 | # | ||
750 | # CONFIG_SOUND is not set | ||
751 | |||
752 | # | ||
753 | # USB support | ||
754 | # | ||
755 | CONFIG_USB_ARCH_HAS_HCD=y | ||
756 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
757 | # CONFIG_USB is not set | ||
758 | |||
759 | # | ||
760 | # USB Gadget Support | ||
761 | # | ||
762 | # CONFIG_USB_GADGET is not set | ||
763 | |||
764 | # | ||
765 | # MMC/SD Card support | ||
766 | # | ||
767 | # CONFIG_MMC is not set | ||
768 | |||
769 | # | ||
770 | # InfiniBand support | ||
771 | # | ||
772 | # CONFIG_INFINIBAND is not set | ||
773 | |||
774 | # | ||
775 | # SN Devices | ||
776 | # | ||
777 | |||
778 | # | ||
779 | # File systems | ||
780 | # | ||
781 | CONFIG_EXT2_FS=y | ||
782 | # CONFIG_EXT2_FS_XATTR is not set | ||
783 | # CONFIG_EXT2_FS_XIP is not set | ||
784 | CONFIG_EXT3_FS=y | ||
785 | CONFIG_EXT3_FS_XATTR=y | ||
786 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
787 | # CONFIG_EXT3_FS_SECURITY is not set | ||
788 | CONFIG_JBD=y | ||
789 | # CONFIG_JBD_DEBUG is not set | ||
790 | CONFIG_FS_MBCACHE=y | ||
791 | # CONFIG_REISERFS_FS is not set | ||
792 | # CONFIG_JFS_FS is not set | ||
793 | CONFIG_FS_POSIX_ACL=y | ||
794 | # CONFIG_XFS_FS is not set | ||
795 | # CONFIG_MINIX_FS is not set | ||
796 | # CONFIG_ROMFS_FS is not set | ||
797 | CONFIG_INOTIFY=y | ||
798 | # CONFIG_QUOTA is not set | ||
799 | CONFIG_DNOTIFY=y | ||
800 | # CONFIG_AUTOFS_FS is not set | ||
801 | # CONFIG_AUTOFS4_FS is not set | ||
802 | # CONFIG_FUSE_FS is not set | ||
803 | |||
804 | # | ||
805 | # CD-ROM/DVD Filesystems | ||
806 | # | ||
807 | CONFIG_ISO9660_FS=m | ||
808 | CONFIG_JOLIET=y | ||
809 | # CONFIG_ZISOFS is not set | ||
810 | CONFIG_UDF_FS=m | ||
811 | CONFIG_UDF_NLS=y | ||
812 | |||
813 | # | ||
814 | # DOS/FAT/NT Filesystems | ||
815 | # | ||
816 | CONFIG_FAT_FS=m | ||
817 | CONFIG_MSDOS_FS=m | ||
818 | CONFIG_VFAT_FS=m | ||
819 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
820 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
821 | # CONFIG_NTFS_FS is not set | ||
822 | |||
823 | # | ||
824 | # Pseudo filesystems | ||
825 | # | ||
826 | CONFIG_PROC_FS=y | ||
827 | CONFIG_PROC_KCORE=y | ||
828 | CONFIG_SYSFS=y | ||
829 | CONFIG_TMPFS=y | ||
830 | CONFIG_HUGETLBFS=y | ||
831 | CONFIG_HUGETLB_PAGE=y | ||
832 | CONFIG_RAMFS=y | ||
833 | # CONFIG_RELAYFS_FS is not set | ||
834 | |||
835 | # | ||
836 | # Miscellaneous filesystems | ||
837 | # | ||
838 | # CONFIG_ADFS_FS is not set | ||
839 | # CONFIG_AFFS_FS is not set | ||
840 | # CONFIG_HFS_FS is not set | ||
841 | # CONFIG_HFSPLUS_FS is not set | ||
842 | # CONFIG_BEFS_FS is not set | ||
843 | # CONFIG_BFS_FS is not set | ||
844 | # CONFIG_EFS_FS is not set | ||
845 | # CONFIG_CRAMFS is not set | ||
846 | # CONFIG_VXFS_FS is not set | ||
847 | # CONFIG_HPFS_FS is not set | ||
848 | # CONFIG_QNX4FS_FS is not set | ||
849 | # CONFIG_SYSV_FS is not set | ||
850 | # CONFIG_UFS_FS is not set | ||
851 | |||
852 | # | ||
853 | # Network File Systems | ||
854 | # | ||
855 | CONFIG_NFS_FS=m | ||
856 | CONFIG_NFS_V3=y | ||
857 | CONFIG_NFS_V3_ACL=y | ||
858 | # CONFIG_NFS_V4 is not set | ||
859 | # CONFIG_NFS_DIRECTIO is not set | ||
860 | CONFIG_NFSD=m | ||
861 | CONFIG_NFSD_V2_ACL=y | ||
862 | CONFIG_NFSD_V3=y | ||
863 | CONFIG_NFSD_V3_ACL=y | ||
864 | # CONFIG_NFSD_V4 is not set | ||
865 | CONFIG_NFSD_TCP=y | ||
866 | CONFIG_LOCKD=m | ||
867 | CONFIG_LOCKD_V4=y | ||
868 | CONFIG_EXPORTFS=m | ||
869 | CONFIG_NFS_ACL_SUPPORT=m | ||
870 | CONFIG_NFS_COMMON=y | ||
871 | CONFIG_SUNRPC=m | ||
872 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
873 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
874 | # CONFIG_SMB_FS is not set | ||
875 | # CONFIG_CIFS is not set | ||
876 | # CONFIG_NCP_FS is not set | ||
877 | # CONFIG_CODA_FS is not set | ||
878 | # CONFIG_AFS_FS is not set | ||
879 | # CONFIG_9P_FS is not set | ||
880 | |||
881 | # | ||
882 | # Partition Types | ||
883 | # | ||
884 | CONFIG_PARTITION_ADVANCED=y | ||
885 | # CONFIG_ACORN_PARTITION is not set | ||
886 | # CONFIG_OSF_PARTITION is not set | ||
887 | # CONFIG_AMIGA_PARTITION is not set | ||
888 | # CONFIG_ATARI_PARTITION is not set | ||
889 | # CONFIG_MAC_PARTITION is not set | ||
890 | CONFIG_MSDOS_PARTITION=y | ||
891 | # CONFIG_BSD_DISKLABEL is not set | ||
892 | # CONFIG_MINIX_SUBPARTITION is not set | ||
893 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
894 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
895 | # CONFIG_LDM_PARTITION is not set | ||
896 | # CONFIG_SGI_PARTITION is not set | ||
897 | # CONFIG_ULTRIX_PARTITION is not set | ||
898 | # CONFIG_SUN_PARTITION is not set | ||
899 | CONFIG_EFI_PARTITION=y | ||
900 | |||
901 | # | ||
902 | # Native Language Support | ||
903 | # | ||
904 | CONFIG_NLS=m | ||
905 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
906 | # CONFIG_NLS_CODEPAGE_437 is not set | ||
907 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
908 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
909 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
910 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
911 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
912 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
913 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
914 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
915 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
916 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
917 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
918 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
919 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
920 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
921 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
922 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
923 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
924 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
925 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
926 | # CONFIG_NLS_ISO8859_8 is not set | ||
927 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
928 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
929 | # CONFIG_NLS_ASCII is not set | ||
930 | CONFIG_NLS_ISO8859_1=m | ||
931 | CONFIG_NLS_ISO8859_2=m | ||
932 | CONFIG_NLS_ISO8859_3=m | ||
933 | CONFIG_NLS_ISO8859_4=m | ||
934 | CONFIG_NLS_ISO8859_5=m | ||
935 | CONFIG_NLS_ISO8859_6=m | ||
936 | CONFIG_NLS_ISO8859_7=m | ||
937 | CONFIG_NLS_ISO8859_9=m | ||
938 | CONFIG_NLS_ISO8859_13=m | ||
939 | CONFIG_NLS_ISO8859_14=m | ||
940 | CONFIG_NLS_ISO8859_15=m | ||
941 | # CONFIG_NLS_KOI8_R is not set | ||
942 | # CONFIG_NLS_KOI8_U is not set | ||
943 | # CONFIG_NLS_UTF8 is not set | ||
944 | |||
945 | # | ||
946 | # Profiling support | ||
947 | # | ||
948 | # CONFIG_PROFILING is not set | ||
949 | |||
950 | # | ||
951 | # Kernel hacking | ||
952 | # | ||
953 | # CONFIG_PRINTK_TIME is not set | ||
954 | CONFIG_DEBUG_KERNEL=y | ||
955 | CONFIG_MAGIC_SYSRQ=y | ||
956 | CONFIG_LOG_BUF_SHIFT=15 | ||
957 | CONFIG_DETECT_SOFTLOCKUP=y | ||
958 | # CONFIG_SCHEDSTATS is not set | ||
959 | # CONFIG_DEBUG_SLAB is not set | ||
960 | # CONFIG_DEBUG_SPINLOCK is not set | ||
961 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
962 | # CONFIG_DEBUG_KOBJECT is not set | ||
963 | # CONFIG_DEBUG_INFO is not set | ||
964 | CONFIG_DEBUG_FS=y | ||
965 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
966 | # CONFIG_KPROBES is not set | ||
967 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
968 | CONFIG_DEBUGGER=y | ||
969 | # CONFIG_XMON is not set | ||
970 | # CONFIG_PPCDBG is not set | ||
971 | CONFIG_IRQSTACKS=y | ||
972 | |||
973 | # | ||
974 | # Security options | ||
975 | # | ||
976 | # CONFIG_KEYS is not set | ||
977 | # CONFIG_SECURITY is not set | ||
978 | |||
979 | # | ||
980 | # Cryptographic options | ||
981 | # | ||
982 | CONFIG_CRYPTO=y | ||
983 | CONFIG_CRYPTO_HMAC=y | ||
984 | # CONFIG_CRYPTO_NULL is not set | ||
985 | # CONFIG_CRYPTO_MD4 is not set | ||
986 | CONFIG_CRYPTO_MD5=m | ||
987 | CONFIG_CRYPTO_SHA1=m | ||
988 | # CONFIG_CRYPTO_SHA256 is not set | ||
989 | # CONFIG_CRYPTO_SHA512 is not set | ||
990 | # CONFIG_CRYPTO_WP512 is not set | ||
991 | # CONFIG_CRYPTO_TGR192 is not set | ||
992 | CONFIG_CRYPTO_DES=m | ||
993 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
994 | # CONFIG_CRYPTO_TWOFISH is not set | ||
995 | # CONFIG_CRYPTO_SERPENT is not set | ||
996 | # CONFIG_CRYPTO_AES is not set | ||
997 | # CONFIG_CRYPTO_CAST5 is not set | ||
998 | # CONFIG_CRYPTO_CAST6 is not set | ||
999 | # CONFIG_CRYPTO_TEA is not set | ||
1000 | # CONFIG_CRYPTO_ARC4 is not set | ||
1001 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1002 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1003 | CONFIG_CRYPTO_DEFLATE=m | ||
1004 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1005 | # CONFIG_CRYPTO_CRC32C is not set | ||
1006 | # CONFIG_CRYPTO_TEST is not set | ||
1007 | |||
1008 | # | ||
1009 | # Hardware crypto devices | ||
1010 | # | ||
1011 | |||
1012 | # | ||
1013 | # Library routines | ||
1014 | # | ||
1015 | # CONFIG_CRC_CCITT is not set | ||
1016 | # CONFIG_CRC16 is not set | ||
1017 | CONFIG_CRC32=y | ||
1018 | # CONFIG_LIBCRC32C is not set | ||
1019 | CONFIG_ZLIB_INFLATE=m | ||
1020 | CONFIG_ZLIB_DEFLATE=m | ||
1021 | CONFIG_TEXTSEARCH=y | ||
1022 | CONFIG_TEXTSEARCH_KMP=m | ||
1023 | CONFIG_TEXTSEARCH_BM=m | ||
1024 | CONFIG_TEXTSEARCH_FSM=m | ||
diff --git a/arch/ppc64/configs/g5_defconfig b/arch/ppc64/configs/g5_defconfig deleted file mode 100644 index 6323065fbf2c..000000000000 --- a/arch/ppc64/configs/g5_defconfig +++ /dev/null | |||
@@ -1,1392 +0,0 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.14-rc4 | ||
4 | # Thu Oct 20 08:30:23 2005 | ||
5 | # | ||
6 | CONFIG_64BIT=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_GENERIC_ISA_DMA=y | ||
11 | CONFIG_EARLY_PRINTK=y | ||
12 | CONFIG_COMPAT=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
16 | |||
17 | # | ||
18 | # Code maturity level options | ||
19 | # | ||
20 | CONFIG_EXPERIMENTAL=y | ||
21 | CONFIG_CLEAN_COMPILE=y | ||
22 | CONFIG_LOCK_KERNEL=y | ||
23 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
24 | |||
25 | # | ||
26 | # General setup | ||
27 | # | ||
28 | CONFIG_LOCALVERSION="" | ||
29 | CONFIG_LOCALVERSION_AUTO=y | ||
30 | CONFIG_SWAP=y | ||
31 | CONFIG_SYSVIPC=y | ||
32 | CONFIG_POSIX_MQUEUE=y | ||
33 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
34 | CONFIG_SYSCTL=y | ||
35 | # CONFIG_AUDIT is not set | ||
36 | CONFIG_HOTPLUG=y | ||
37 | CONFIG_KOBJECT_UEVENT=y | ||
38 | CONFIG_IKCONFIG=y | ||
39 | CONFIG_IKCONFIG_PROC=y | ||
40 | # CONFIG_CPUSETS is not set | ||
41 | CONFIG_INITRAMFS_SOURCE="" | ||
42 | # CONFIG_EMBEDDED is not set | ||
43 | CONFIG_KALLSYMS=y | ||
44 | # CONFIG_KALLSYMS_ALL is not set | ||
45 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
46 | CONFIG_PRINTK=y | ||
47 | CONFIG_BUG=y | ||
48 | CONFIG_BASE_FULL=y | ||
49 | CONFIG_FUTEX=y | ||
50 | CONFIG_EPOLL=y | ||
51 | CONFIG_SHMEM=y | ||
52 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
53 | CONFIG_CC_ALIGN_LABELS=0 | ||
54 | CONFIG_CC_ALIGN_LOOPS=0 | ||
55 | CONFIG_CC_ALIGN_JUMPS=0 | ||
56 | # CONFIG_TINY_SHMEM is not set | ||
57 | CONFIG_BASE_SMALL=0 | ||
58 | |||
59 | # | ||
60 | # Loadable module support | ||
61 | # | ||
62 | CONFIG_MODULES=y | ||
63 | CONFIG_MODULE_UNLOAD=y | ||
64 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
65 | CONFIG_OBSOLETE_MODPARM=y | ||
66 | CONFIG_MODVERSIONS=y | ||
67 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
68 | CONFIG_KMOD=y | ||
69 | CONFIG_STOP_MACHINE=y | ||
70 | CONFIG_SYSVIPC_COMPAT=y | ||
71 | |||
72 | # | ||
73 | # Platform support | ||
74 | # | ||
75 | # CONFIG_PPC_ISERIES is not set | ||
76 | CONFIG_PPC_MULTIPLATFORM=y | ||
77 | # CONFIG_PPC_PSERIES is not set | ||
78 | # CONFIG_PPC_BPA is not set | ||
79 | CONFIG_PPC_PMAC=y | ||
80 | # CONFIG_PPC_MAPLE is not set | ||
81 | CONFIG_PPC=y | ||
82 | CONFIG_PPC64=y | ||
83 | CONFIG_PPC_OF=y | ||
84 | CONFIG_MPIC=y | ||
85 | CONFIG_ALTIVEC=y | ||
86 | CONFIG_KEXEC=y | ||
87 | CONFIG_U3_DART=y | ||
88 | CONFIG_PPC_PMAC64=y | ||
89 | CONFIG_BOOTX_TEXT=y | ||
90 | CONFIG_POWER4_ONLY=y | ||
91 | CONFIG_IOMMU_VMERGE=y | ||
92 | CONFIG_SMP=y | ||
93 | CONFIG_NR_CPUS=2 | ||
94 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
95 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
96 | CONFIG_SELECT_MEMORY_MODEL=y | ||
97 | CONFIG_FLATMEM_MANUAL=y | ||
98 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
99 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
100 | CONFIG_FLATMEM=y | ||
101 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
102 | # CONFIG_SPARSEMEM_STATIC is not set | ||
103 | # CONFIG_NUMA is not set | ||
104 | # CONFIG_SCHED_SMT is not set | ||
105 | CONFIG_PREEMPT_NONE=y | ||
106 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
107 | # CONFIG_PREEMPT is not set | ||
108 | # CONFIG_PREEMPT_BKL is not set | ||
109 | # CONFIG_HZ_100 is not set | ||
110 | CONFIG_HZ_250=y | ||
111 | # CONFIG_HZ_1000 is not set | ||
112 | CONFIG_HZ=250 | ||
113 | CONFIG_GENERIC_HARDIRQS=y | ||
114 | CONFIG_SECCOMP=y | ||
115 | CONFIG_BINFMT_ELF=y | ||
116 | # CONFIG_BINFMT_MISC is not set | ||
117 | # CONFIG_HOTPLUG_CPU is not set | ||
118 | CONFIG_PROC_DEVICETREE=y | ||
119 | # CONFIG_CMDLINE_BOOL is not set | ||
120 | CONFIG_ISA_DMA_API=y | ||
121 | |||
122 | # | ||
123 | # Bus Options | ||
124 | # | ||
125 | CONFIG_PCI=y | ||
126 | CONFIG_PCI_DOMAINS=y | ||
127 | CONFIG_PCI_LEGACY_PROC=y | ||
128 | # CONFIG_PCI_DEBUG is not set | ||
129 | |||
130 | # | ||
131 | # PCCARD (PCMCIA/CardBus) support | ||
132 | # | ||
133 | # CONFIG_PCCARD is not set | ||
134 | |||
135 | # | ||
136 | # PCI Hotplug Support | ||
137 | # | ||
138 | # CONFIG_HOTPLUG_PCI is not set | ||
139 | |||
140 | # | ||
141 | # Networking | ||
142 | # | ||
143 | CONFIG_NET=y | ||
144 | |||
145 | # | ||
146 | # Networking options | ||
147 | # | ||
148 | CONFIG_PACKET=y | ||
149 | # CONFIG_PACKET_MMAP is not set | ||
150 | CONFIG_UNIX=y | ||
151 | CONFIG_XFRM=y | ||
152 | CONFIG_XFRM_USER=m | ||
153 | CONFIG_NET_KEY=m | ||
154 | CONFIG_INET=y | ||
155 | CONFIG_IP_MULTICAST=y | ||
156 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
157 | CONFIG_IP_FIB_HASH=y | ||
158 | # CONFIG_IP_PNP is not set | ||
159 | CONFIG_NET_IPIP=y | ||
160 | # CONFIG_NET_IPGRE is not set | ||
161 | # CONFIG_IP_MROUTE is not set | ||
162 | # CONFIG_ARPD is not set | ||
163 | CONFIG_SYN_COOKIES=y | ||
164 | CONFIG_INET_AH=m | ||
165 | CONFIG_INET_ESP=m | ||
166 | CONFIG_INET_IPCOMP=m | ||
167 | CONFIG_INET_TUNNEL=y | ||
168 | CONFIG_INET_DIAG=y | ||
169 | CONFIG_INET_TCP_DIAG=y | ||
170 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
171 | CONFIG_TCP_CONG_BIC=y | ||
172 | |||
173 | # | ||
174 | # IP: Virtual Server Configuration | ||
175 | # | ||
176 | # CONFIG_IP_VS is not set | ||
177 | # CONFIG_IPV6 is not set | ||
178 | CONFIG_NETFILTER=y | ||
179 | # CONFIG_NETFILTER_DEBUG is not set | ||
180 | # CONFIG_NETFILTER_NETLINK is not set | ||
181 | |||
182 | # | ||
183 | # IP: Netfilter Configuration | ||
184 | # | ||
185 | CONFIG_IP_NF_CONNTRACK=m | ||
186 | CONFIG_IP_NF_CT_ACCT=y | ||
187 | CONFIG_IP_NF_CONNTRACK_MARK=y | ||
188 | CONFIG_IP_NF_CONNTRACK_EVENTS=y | ||
189 | CONFIG_IP_NF_CT_PROTO_SCTP=m | ||
190 | CONFIG_IP_NF_FTP=m | ||
191 | CONFIG_IP_NF_IRC=m | ||
192 | # CONFIG_IP_NF_NETBIOS_NS is not set | ||
193 | CONFIG_IP_NF_TFTP=m | ||
194 | CONFIG_IP_NF_AMANDA=m | ||
195 | # CONFIG_IP_NF_PPTP is not set | ||
196 | CONFIG_IP_NF_QUEUE=m | ||
197 | CONFIG_IP_NF_IPTABLES=m | ||
198 | CONFIG_IP_NF_MATCH_LIMIT=m | ||
199 | CONFIG_IP_NF_MATCH_IPRANGE=m | ||
200 | CONFIG_IP_NF_MATCH_MAC=m | ||
201 | CONFIG_IP_NF_MATCH_PKTTYPE=m | ||
202 | CONFIG_IP_NF_MATCH_MARK=m | ||
203 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
204 | CONFIG_IP_NF_MATCH_TOS=m | ||
205 | CONFIG_IP_NF_MATCH_RECENT=m | ||
206 | CONFIG_IP_NF_MATCH_ECN=m | ||
207 | CONFIG_IP_NF_MATCH_DSCP=m | ||
208 | CONFIG_IP_NF_MATCH_AH_ESP=m | ||
209 | CONFIG_IP_NF_MATCH_LENGTH=m | ||
210 | CONFIG_IP_NF_MATCH_TTL=m | ||
211 | CONFIG_IP_NF_MATCH_TCPMSS=m | ||
212 | CONFIG_IP_NF_MATCH_HELPER=m | ||
213 | CONFIG_IP_NF_MATCH_STATE=m | ||
214 | CONFIG_IP_NF_MATCH_CONNTRACK=m | ||
215 | CONFIG_IP_NF_MATCH_OWNER=m | ||
216 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | ||
217 | CONFIG_IP_NF_MATCH_REALM=m | ||
218 | CONFIG_IP_NF_MATCH_SCTP=m | ||
219 | # CONFIG_IP_NF_MATCH_DCCP is not set | ||
220 | CONFIG_IP_NF_MATCH_COMMENT=m | ||
221 | CONFIG_IP_NF_MATCH_CONNMARK=m | ||
222 | CONFIG_IP_NF_MATCH_CONNBYTES=m | ||
223 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | ||
224 | CONFIG_IP_NF_MATCH_STRING=m | ||
225 | CONFIG_IP_NF_FILTER=m | ||
226 | CONFIG_IP_NF_TARGET_REJECT=m | ||
227 | CONFIG_IP_NF_TARGET_LOG=m | ||
228 | CONFIG_IP_NF_TARGET_ULOG=m | ||
229 | CONFIG_IP_NF_TARGET_TCPMSS=m | ||
230 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
231 | CONFIG_IP_NF_NAT=m | ||
232 | CONFIG_IP_NF_NAT_NEEDED=y | ||
233 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
234 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
235 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
236 | CONFIG_IP_NF_TARGET_SAME=m | ||
237 | CONFIG_IP_NF_NAT_SNMP_BASIC=m | ||
238 | CONFIG_IP_NF_NAT_IRC=m | ||
239 | CONFIG_IP_NF_NAT_FTP=m | ||
240 | CONFIG_IP_NF_NAT_TFTP=m | ||
241 | CONFIG_IP_NF_NAT_AMANDA=m | ||
242 | CONFIG_IP_NF_MANGLE=m | ||
243 | CONFIG_IP_NF_TARGET_TOS=m | ||
244 | CONFIG_IP_NF_TARGET_ECN=m | ||
245 | CONFIG_IP_NF_TARGET_DSCP=m | ||
246 | CONFIG_IP_NF_TARGET_MARK=m | ||
247 | CONFIG_IP_NF_TARGET_CLASSIFY=m | ||
248 | CONFIG_IP_NF_TARGET_TTL=m | ||
249 | CONFIG_IP_NF_TARGET_CONNMARK=m | ||
250 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
251 | CONFIG_IP_NF_RAW=m | ||
252 | CONFIG_IP_NF_TARGET_NOTRACK=m | ||
253 | CONFIG_IP_NF_ARPTABLES=m | ||
254 | CONFIG_IP_NF_ARPFILTER=m | ||
255 | CONFIG_IP_NF_ARP_MANGLE=m | ||
256 | |||
257 | # | ||
258 | # DCCP Configuration (EXPERIMENTAL) | ||
259 | # | ||
260 | # CONFIG_IP_DCCP is not set | ||
261 | |||
262 | # | ||
263 | # SCTP Configuration (EXPERIMENTAL) | ||
264 | # | ||
265 | # CONFIG_IP_SCTP is not set | ||
266 | # CONFIG_ATM is not set | ||
267 | # CONFIG_BRIDGE is not set | ||
268 | # CONFIG_VLAN_8021Q is not set | ||
269 | # CONFIG_DECNET is not set | ||
270 | CONFIG_LLC=y | ||
271 | # CONFIG_LLC2 is not set | ||
272 | # CONFIG_IPX is not set | ||
273 | # CONFIG_ATALK is not set | ||
274 | # CONFIG_X25 is not set | ||
275 | # CONFIG_LAPB is not set | ||
276 | # CONFIG_NET_DIVERT is not set | ||
277 | # CONFIG_ECONET is not set | ||
278 | # CONFIG_WAN_ROUTER is not set | ||
279 | # CONFIG_NET_SCHED is not set | ||
280 | CONFIG_NET_CLS_ROUTE=y | ||
281 | |||
282 | # | ||
283 | # Network testing | ||
284 | # | ||
285 | # CONFIG_NET_PKTGEN is not set | ||
286 | # CONFIG_HAMRADIO is not set | ||
287 | # CONFIG_IRDA is not set | ||
288 | # CONFIG_BT is not set | ||
289 | # CONFIG_IEEE80211 is not set | ||
290 | |||
291 | # | ||
292 | # Device Drivers | ||
293 | # | ||
294 | |||
295 | # | ||
296 | # Generic Driver Options | ||
297 | # | ||
298 | CONFIG_STANDALONE=y | ||
299 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
300 | CONFIG_FW_LOADER=y | ||
301 | # CONFIG_DEBUG_DRIVER is not set | ||
302 | |||
303 | # | ||
304 | # Connector - unified userspace <-> kernelspace linker | ||
305 | # | ||
306 | # CONFIG_CONNECTOR is not set | ||
307 | |||
308 | # | ||
309 | # Memory Technology Devices (MTD) | ||
310 | # | ||
311 | # CONFIG_MTD is not set | ||
312 | |||
313 | # | ||
314 | # Parallel port support | ||
315 | # | ||
316 | # CONFIG_PARPORT is not set | ||
317 | |||
318 | # | ||
319 | # Plug and Play support | ||
320 | # | ||
321 | |||
322 | # | ||
323 | # Block devices | ||
324 | # | ||
325 | # CONFIG_BLK_DEV_FD is not set | ||
326 | # CONFIG_BLK_CPQ_DA is not set | ||
327 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
328 | # CONFIG_BLK_DEV_DAC960 is not set | ||
329 | # CONFIG_BLK_DEV_UMEM is not set | ||
330 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
331 | CONFIG_BLK_DEV_LOOP=y | ||
332 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
333 | CONFIG_BLK_DEV_NBD=m | ||
334 | # CONFIG_BLK_DEV_SX8 is not set | ||
335 | # CONFIG_BLK_DEV_UB is not set | ||
336 | CONFIG_BLK_DEV_RAM=y | ||
337 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
338 | CONFIG_BLK_DEV_RAM_SIZE=65536 | ||
339 | CONFIG_BLK_DEV_INITRD=y | ||
340 | CONFIG_CDROM_PKTCDVD=m | ||
341 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | ||
342 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
343 | |||
344 | # | ||
345 | # IO Schedulers | ||
346 | # | ||
347 | CONFIG_IOSCHED_NOOP=y | ||
348 | CONFIG_IOSCHED_AS=y | ||
349 | CONFIG_IOSCHED_DEADLINE=y | ||
350 | CONFIG_IOSCHED_CFQ=y | ||
351 | # CONFIG_ATA_OVER_ETH is not set | ||
352 | |||
353 | # | ||
354 | # ATA/ATAPI/MFM/RLL support | ||
355 | # | ||
356 | CONFIG_IDE=y | ||
357 | CONFIG_BLK_DEV_IDE=y | ||
358 | |||
359 | # | ||
360 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
361 | # | ||
362 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
363 | CONFIG_BLK_DEV_IDEDISK=y | ||
364 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
365 | CONFIG_BLK_DEV_IDECD=y | ||
366 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
367 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
368 | # CONFIG_BLK_DEV_IDESCSI is not set | ||
369 | # CONFIG_IDE_TASK_IOCTL is not set | ||
370 | |||
371 | # | ||
372 | # IDE chipset support/bugfixes | ||
373 | # | ||
374 | CONFIG_IDE_GENERIC=y | ||
375 | CONFIG_BLK_DEV_IDEPCI=y | ||
376 | # CONFIG_IDEPCI_SHARE_IRQ is not set | ||
377 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
378 | # CONFIG_BLK_DEV_GENERIC is not set | ||
379 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
380 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
381 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
382 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
383 | CONFIG_IDEDMA_PCI_AUTO=y | ||
384 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
385 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
386 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
387 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
388 | # CONFIG_BLK_DEV_CMD64X is not set | ||
389 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
390 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
391 | # CONFIG_BLK_DEV_CS5520 is not set | ||
392 | # CONFIG_BLK_DEV_CS5530 is not set | ||
393 | # CONFIG_BLK_DEV_HPT34X is not set | ||
394 | # CONFIG_BLK_DEV_HPT366 is not set | ||
395 | # CONFIG_BLK_DEV_SC1200 is not set | ||
396 | # CONFIG_BLK_DEV_PIIX is not set | ||
397 | # CONFIG_BLK_DEV_IT821X is not set | ||
398 | # CONFIG_BLK_DEV_NS87415 is not set | ||
399 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
400 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
401 | # CONFIG_BLK_DEV_SVWKS is not set | ||
402 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
403 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
404 | # CONFIG_BLK_DEV_TRM290 is not set | ||
405 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
406 | CONFIG_BLK_DEV_IDE_PMAC=y | ||
407 | CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y | ||
408 | CONFIG_BLK_DEV_IDEDMA_PMAC=y | ||
409 | # CONFIG_BLK_DEV_IDE_PMAC_BLINK is not set | ||
410 | # CONFIG_IDE_ARM is not set | ||
411 | CONFIG_BLK_DEV_IDEDMA=y | ||
412 | # CONFIG_IDEDMA_IVB is not set | ||
413 | CONFIG_IDEDMA_AUTO=y | ||
414 | # CONFIG_BLK_DEV_HD is not set | ||
415 | |||
416 | # | ||
417 | # SCSI device support | ||
418 | # | ||
419 | # CONFIG_RAID_ATTRS is not set | ||
420 | CONFIG_SCSI=y | ||
421 | CONFIG_SCSI_PROC_FS=y | ||
422 | |||
423 | # | ||
424 | # SCSI support type (disk, tape, CD-ROM) | ||
425 | # | ||
426 | CONFIG_BLK_DEV_SD=y | ||
427 | CONFIG_CHR_DEV_ST=y | ||
428 | # CONFIG_CHR_DEV_OSST is not set | ||
429 | CONFIG_BLK_DEV_SR=y | ||
430 | CONFIG_BLK_DEV_SR_VENDOR=y | ||
431 | CONFIG_CHR_DEV_SG=y | ||
432 | # CONFIG_CHR_DEV_SCH is not set | ||
433 | |||
434 | # | ||
435 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
436 | # | ||
437 | CONFIG_SCSI_MULTI_LUN=y | ||
438 | CONFIG_SCSI_CONSTANTS=y | ||
439 | # CONFIG_SCSI_LOGGING is not set | ||
440 | |||
441 | # | ||
442 | # SCSI Transport Attributes | ||
443 | # | ||
444 | CONFIG_SCSI_SPI_ATTRS=y | ||
445 | # CONFIG_SCSI_FC_ATTRS is not set | ||
446 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
447 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
448 | |||
449 | # | ||
450 | # SCSI low-level drivers | ||
451 | # | ||
452 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | ||
453 | # CONFIG_SCSI_3W_9XXX is not set | ||
454 | # CONFIG_SCSI_ACARD is not set | ||
455 | # CONFIG_SCSI_AACRAID is not set | ||
456 | # CONFIG_SCSI_AIC7XXX is not set | ||
457 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
458 | # CONFIG_SCSI_AIC79XX is not set | ||
459 | # CONFIG_MEGARAID_NEWGEN is not set | ||
460 | # CONFIG_MEGARAID_LEGACY is not set | ||
461 | # CONFIG_MEGARAID_SAS is not set | ||
462 | CONFIG_SCSI_SATA=y | ||
463 | # CONFIG_SCSI_SATA_AHCI is not set | ||
464 | CONFIG_SCSI_SATA_SVW=y | ||
465 | # CONFIG_SCSI_ATA_PIIX is not set | ||
466 | # CONFIG_SCSI_SATA_MV is not set | ||
467 | # CONFIG_SCSI_SATA_NV is not set | ||
468 | # CONFIG_SCSI_SATA_PROMISE is not set | ||
469 | # CONFIG_SCSI_SATA_QSTOR is not set | ||
470 | # CONFIG_SCSI_SATA_SX4 is not set | ||
471 | # CONFIG_SCSI_SATA_SIL is not set | ||
472 | # CONFIG_SCSI_SATA_SIS is not set | ||
473 | # CONFIG_SCSI_SATA_ULI is not set | ||
474 | # CONFIG_SCSI_SATA_VIA is not set | ||
475 | # CONFIG_SCSI_SATA_VITESSE is not set | ||
476 | # CONFIG_SCSI_BUSLOGIC is not set | ||
477 | # CONFIG_SCSI_DMX3191D is not set | ||
478 | # CONFIG_SCSI_EATA is not set | ||
479 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
480 | # CONFIG_SCSI_GDTH is not set | ||
481 | # CONFIG_SCSI_IPS is not set | ||
482 | # CONFIG_SCSI_INITIO is not set | ||
483 | # CONFIG_SCSI_INIA100 is not set | ||
484 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
485 | # CONFIG_SCSI_IPR is not set | ||
486 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
487 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
488 | CONFIG_SCSI_QLA2XXX=y | ||
489 | # CONFIG_SCSI_QLA21XX is not set | ||
490 | # CONFIG_SCSI_QLA22XX is not set | ||
491 | # CONFIG_SCSI_QLA2300 is not set | ||
492 | # CONFIG_SCSI_QLA2322 is not set | ||
493 | # CONFIG_SCSI_QLA6312 is not set | ||
494 | # CONFIG_SCSI_QLA24XX is not set | ||
495 | # CONFIG_SCSI_LPFC is not set | ||
496 | # CONFIG_SCSI_DC395x is not set | ||
497 | # CONFIG_SCSI_DC390T is not set | ||
498 | # CONFIG_SCSI_DEBUG is not set | ||
499 | |||
500 | # | ||
501 | # Multi-device support (RAID and LVM) | ||
502 | # | ||
503 | CONFIG_MD=y | ||
504 | CONFIG_BLK_DEV_MD=y | ||
505 | CONFIG_MD_LINEAR=y | ||
506 | CONFIG_MD_RAID0=y | ||
507 | CONFIG_MD_RAID1=y | ||
508 | CONFIG_MD_RAID10=m | ||
509 | CONFIG_MD_RAID5=y | ||
510 | CONFIG_MD_RAID6=m | ||
511 | CONFIG_MD_MULTIPATH=m | ||
512 | CONFIG_MD_FAULTY=m | ||
513 | CONFIG_BLK_DEV_DM=y | ||
514 | CONFIG_DM_CRYPT=m | ||
515 | CONFIG_DM_SNAPSHOT=m | ||
516 | CONFIG_DM_MIRROR=m | ||
517 | CONFIG_DM_ZERO=m | ||
518 | # CONFIG_DM_MULTIPATH is not set | ||
519 | |||
520 | # | ||
521 | # Fusion MPT device support | ||
522 | # | ||
523 | # CONFIG_FUSION is not set | ||
524 | # CONFIG_FUSION_SPI is not set | ||
525 | # CONFIG_FUSION_FC is not set | ||
526 | # CONFIG_FUSION_SAS is not set | ||
527 | |||
528 | # | ||
529 | # IEEE 1394 (FireWire) support | ||
530 | # | ||
531 | CONFIG_IEEE1394=y | ||
532 | |||
533 | # | ||
534 | # Subsystem Options | ||
535 | # | ||
536 | # CONFIG_IEEE1394_VERBOSEDEBUG is not set | ||
537 | CONFIG_IEEE1394_OUI_DB=y | ||
538 | CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y | ||
539 | CONFIG_IEEE1394_CONFIG_ROM_IP1394=y | ||
540 | # CONFIG_IEEE1394_EXPORT_FULL_API is not set | ||
541 | |||
542 | # | ||
543 | # Device Drivers | ||
544 | # | ||
545 | # CONFIG_IEEE1394_PCILYNX is not set | ||
546 | CONFIG_IEEE1394_OHCI1394=y | ||
547 | |||
548 | # | ||
549 | # Protocol Drivers | ||
550 | # | ||
551 | CONFIG_IEEE1394_VIDEO1394=m | ||
552 | CONFIG_IEEE1394_SBP2=m | ||
553 | # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set | ||
554 | CONFIG_IEEE1394_ETH1394=m | ||
555 | CONFIG_IEEE1394_DV1394=m | ||
556 | CONFIG_IEEE1394_RAWIO=y | ||
557 | # CONFIG_IEEE1394_CMP is not set | ||
558 | |||
559 | # | ||
560 | # I2O device support | ||
561 | # | ||
562 | # CONFIG_I2O is not set | ||
563 | |||
564 | # | ||
565 | # Macintosh device drivers | ||
566 | # | ||
567 | CONFIG_ADB_PMU=y | ||
568 | CONFIG_PMAC_SMU=y | ||
569 | CONFIG_THERM_PM72=y | ||
570 | |||
571 | # | ||
572 | # Network device support | ||
573 | # | ||
574 | CONFIG_NETDEVICES=y | ||
575 | CONFIG_DUMMY=m | ||
576 | CONFIG_BONDING=m | ||
577 | # CONFIG_EQUALIZER is not set | ||
578 | CONFIG_TUN=m | ||
579 | |||
580 | # | ||
581 | # ARCnet devices | ||
582 | # | ||
583 | # CONFIG_ARCNET is not set | ||
584 | |||
585 | # | ||
586 | # PHY device support | ||
587 | # | ||
588 | # CONFIG_PHYLIB is not set | ||
589 | |||
590 | # | ||
591 | # Ethernet (10 or 100Mbit) | ||
592 | # | ||
593 | CONFIG_NET_ETHERNET=y | ||
594 | CONFIG_MII=y | ||
595 | # CONFIG_HAPPYMEAL is not set | ||
596 | CONFIG_SUNGEM=y | ||
597 | # CONFIG_CASSINI is not set | ||
598 | # CONFIG_NET_VENDOR_3COM is not set | ||
599 | |||
600 | # | ||
601 | # Tulip family network device support | ||
602 | # | ||
603 | # CONFIG_NET_TULIP is not set | ||
604 | # CONFIG_HP100 is not set | ||
605 | # CONFIG_NET_PCI is not set | ||
606 | |||
607 | # | ||
608 | # Ethernet (1000 Mbit) | ||
609 | # | ||
610 | CONFIG_ACENIC=y | ||
611 | CONFIG_ACENIC_OMIT_TIGON_I=y | ||
612 | # CONFIG_DL2K is not set | ||
613 | CONFIG_E1000=y | ||
614 | # CONFIG_E1000_NAPI is not set | ||
615 | # CONFIG_NS83820 is not set | ||
616 | # CONFIG_HAMACHI is not set | ||
617 | # CONFIG_YELLOWFIN is not set | ||
618 | # CONFIG_R8169 is not set | ||
619 | # CONFIG_SIS190 is not set | ||
620 | # CONFIG_SKGE is not set | ||
621 | # CONFIG_SK98LIN is not set | ||
622 | CONFIG_TIGON3=m | ||
623 | # CONFIG_BNX2 is not set | ||
624 | # CONFIG_MV643XX_ETH is not set | ||
625 | |||
626 | # | ||
627 | # Ethernet (10000 Mbit) | ||
628 | # | ||
629 | # CONFIG_CHELSIO_T1 is not set | ||
630 | # CONFIG_IXGB is not set | ||
631 | # CONFIG_S2IO is not set | ||
632 | |||
633 | # | ||
634 | # Token Ring devices | ||
635 | # | ||
636 | CONFIG_TR=y | ||
637 | CONFIG_IBMOL=y | ||
638 | # CONFIG_3C359 is not set | ||
639 | # CONFIG_TMS380TR is not set | ||
640 | |||
641 | # | ||
642 | # Wireless LAN (non-hamradio) | ||
643 | # | ||
644 | # CONFIG_NET_RADIO is not set | ||
645 | |||
646 | # | ||
647 | # Wan interfaces | ||
648 | # | ||
649 | # CONFIG_WAN is not set | ||
650 | # CONFIG_FDDI is not set | ||
651 | # CONFIG_HIPPI is not set | ||
652 | CONFIG_PPP=m | ||
653 | # CONFIG_PPP_MULTILINK is not set | ||
654 | # CONFIG_PPP_FILTER is not set | ||
655 | CONFIG_PPP_ASYNC=m | ||
656 | CONFIG_PPP_SYNC_TTY=m | ||
657 | CONFIG_PPP_DEFLATE=m | ||
658 | CONFIG_PPP_BSDCOMP=m | ||
659 | CONFIG_PPPOE=m | ||
660 | # CONFIG_SLIP is not set | ||
661 | # CONFIG_NET_FC is not set | ||
662 | # CONFIG_SHAPER is not set | ||
663 | # CONFIG_NETCONSOLE is not set | ||
664 | # CONFIG_NETPOLL is not set | ||
665 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
666 | |||
667 | # | ||
668 | # ISDN subsystem | ||
669 | # | ||
670 | # CONFIG_ISDN is not set | ||
671 | |||
672 | # | ||
673 | # Telephony Support | ||
674 | # | ||
675 | # CONFIG_PHONE is not set | ||
676 | |||
677 | # | ||
678 | # Input device support | ||
679 | # | ||
680 | CONFIG_INPUT=y | ||
681 | |||
682 | # | ||
683 | # Userland interfaces | ||
684 | # | ||
685 | CONFIG_INPUT_MOUSEDEV=y | ||
686 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
687 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
688 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
689 | CONFIG_INPUT_JOYDEV=m | ||
690 | # CONFIG_INPUT_TSDEV is not set | ||
691 | CONFIG_INPUT_EVDEV=y | ||
692 | # CONFIG_INPUT_EVBUG is not set | ||
693 | |||
694 | # | ||
695 | # Input Device Drivers | ||
696 | # | ||
697 | CONFIG_INPUT_KEYBOARD=y | ||
698 | # CONFIG_KEYBOARD_ATKBD is not set | ||
699 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
700 | # CONFIG_KEYBOARD_LKKBD is not set | ||
701 | # CONFIG_KEYBOARD_XTKBD is not set | ||
702 | # CONFIG_KEYBOARD_NEWTON is not set | ||
703 | CONFIG_INPUT_MOUSE=y | ||
704 | # CONFIG_MOUSE_PS2 is not set | ||
705 | # CONFIG_MOUSE_SERIAL is not set | ||
706 | # CONFIG_MOUSE_VSXXXAA is not set | ||
707 | # CONFIG_INPUT_JOYSTICK is not set | ||
708 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
709 | # CONFIG_INPUT_MISC is not set | ||
710 | |||
711 | # | ||
712 | # Hardware I/O ports | ||
713 | # | ||
714 | CONFIG_SERIO=y | ||
715 | # CONFIG_SERIO_I8042 is not set | ||
716 | # CONFIG_SERIO_SERPORT is not set | ||
717 | # CONFIG_SERIO_PCIPS2 is not set | ||
718 | # CONFIG_SERIO_RAW is not set | ||
719 | # CONFIG_GAMEPORT is not set | ||
720 | |||
721 | # | ||
722 | # Character devices | ||
723 | # | ||
724 | CONFIG_VT=y | ||
725 | CONFIG_VT_CONSOLE=y | ||
726 | CONFIG_HW_CONSOLE=y | ||
727 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
728 | |||
729 | # | ||
730 | # Serial drivers | ||
731 | # | ||
732 | # CONFIG_SERIAL_8250 is not set | ||
733 | |||
734 | # | ||
735 | # Non-8250 serial port support | ||
736 | # | ||
737 | # CONFIG_SERIAL_PMACZILOG is not set | ||
738 | # CONFIG_SERIAL_JSM is not set | ||
739 | CONFIG_UNIX98_PTYS=y | ||
740 | CONFIG_LEGACY_PTYS=y | ||
741 | CONFIG_LEGACY_PTY_COUNT=256 | ||
742 | |||
743 | # | ||
744 | # IPMI | ||
745 | # | ||
746 | # CONFIG_IPMI_HANDLER is not set | ||
747 | |||
748 | # | ||
749 | # Watchdog Cards | ||
750 | # | ||
751 | # CONFIG_WATCHDOG is not set | ||
752 | # CONFIG_RTC is not set | ||
753 | # CONFIG_DTLK is not set | ||
754 | # CONFIG_R3964 is not set | ||
755 | # CONFIG_APPLICOM is not set | ||
756 | |||
757 | # | ||
758 | # Ftape, the floppy tape device driver | ||
759 | # | ||
760 | CONFIG_AGP=m | ||
761 | CONFIG_AGP_UNINORTH=m | ||
762 | # CONFIG_DRM is not set | ||
763 | CONFIG_RAW_DRIVER=y | ||
764 | CONFIG_MAX_RAW_DEVS=256 | ||
765 | # CONFIG_HANGCHECK_TIMER is not set | ||
766 | |||
767 | # | ||
768 | # TPM devices | ||
769 | # | ||
770 | # CONFIG_TCG_TPM is not set | ||
771 | |||
772 | # | ||
773 | # I2C support | ||
774 | # | ||
775 | CONFIG_I2C=y | ||
776 | CONFIG_I2C_CHARDEV=y | ||
777 | |||
778 | # | ||
779 | # I2C Algorithms | ||
780 | # | ||
781 | CONFIG_I2C_ALGOBIT=y | ||
782 | # CONFIG_I2C_ALGOPCF is not set | ||
783 | # CONFIG_I2C_ALGOPCA is not set | ||
784 | |||
785 | # | ||
786 | # I2C Hardware Bus support | ||
787 | # | ||
788 | # CONFIG_I2C_ALI1535 is not set | ||
789 | # CONFIG_I2C_ALI1563 is not set | ||
790 | # CONFIG_I2C_ALI15X3 is not set | ||
791 | # CONFIG_I2C_AMD756 is not set | ||
792 | # CONFIG_I2C_AMD8111 is not set | ||
793 | # CONFIG_I2C_I801 is not set | ||
794 | # CONFIG_I2C_I810 is not set | ||
795 | # CONFIG_I2C_PIIX4 is not set | ||
796 | CONFIG_I2C_KEYWEST=y | ||
797 | CONFIG_I2C_PMAC_SMU=y | ||
798 | # CONFIG_I2C_NFORCE2 is not set | ||
799 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
800 | # CONFIG_I2C_PROSAVAGE is not set | ||
801 | # CONFIG_I2C_SAVAGE4 is not set | ||
802 | # CONFIG_SCx200_ACB is not set | ||
803 | # CONFIG_I2C_SIS5595 is not set | ||
804 | # CONFIG_I2C_SIS630 is not set | ||
805 | # CONFIG_I2C_SIS96X is not set | ||
806 | # CONFIG_I2C_STUB is not set | ||
807 | # CONFIG_I2C_VIA is not set | ||
808 | # CONFIG_I2C_VIAPRO is not set | ||
809 | # CONFIG_I2C_VOODOO3 is not set | ||
810 | # CONFIG_I2C_PCA_ISA is not set | ||
811 | |||
812 | # | ||
813 | # Miscellaneous I2C Chip support | ||
814 | # | ||
815 | # CONFIG_SENSORS_DS1337 is not set | ||
816 | # CONFIG_SENSORS_DS1374 is not set | ||
817 | # CONFIG_SENSORS_EEPROM is not set | ||
818 | # CONFIG_SENSORS_PCF8574 is not set | ||
819 | # CONFIG_SENSORS_PCA9539 is not set | ||
820 | # CONFIG_SENSORS_PCF8591 is not set | ||
821 | # CONFIG_SENSORS_RTC8564 is not set | ||
822 | # CONFIG_SENSORS_MAX6875 is not set | ||
823 | # CONFIG_I2C_DEBUG_CORE is not set | ||
824 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
825 | # CONFIG_I2C_DEBUG_BUS is not set | ||
826 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
827 | |||
828 | # | ||
829 | # Dallas's 1-wire bus | ||
830 | # | ||
831 | # CONFIG_W1 is not set | ||
832 | |||
833 | # | ||
834 | # Hardware Monitoring support | ||
835 | # | ||
836 | # CONFIG_HWMON is not set | ||
837 | # CONFIG_HWMON_VID is not set | ||
838 | |||
839 | # | ||
840 | # Misc devices | ||
841 | # | ||
842 | |||
843 | # | ||
844 | # Multimedia Capabilities Port drivers | ||
845 | # | ||
846 | |||
847 | # | ||
848 | # Multimedia devices | ||
849 | # | ||
850 | # CONFIG_VIDEO_DEV is not set | ||
851 | |||
852 | # | ||
853 | # Digital Video Broadcasting Devices | ||
854 | # | ||
855 | # CONFIG_DVB is not set | ||
856 | |||
857 | # | ||
858 | # Graphics support | ||
859 | # | ||
860 | CONFIG_FB=y | ||
861 | CONFIG_FB_CFB_FILLRECT=y | ||
862 | CONFIG_FB_CFB_COPYAREA=y | ||
863 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
864 | CONFIG_FB_SOFT_CURSOR=y | ||
865 | CONFIG_FB_MACMODES=y | ||
866 | CONFIG_FB_MODE_HELPERS=y | ||
867 | CONFIG_FB_TILEBLITTING=y | ||
868 | # CONFIG_FB_CIRRUS is not set | ||
869 | # CONFIG_FB_PM2 is not set | ||
870 | # CONFIG_FB_CYBER2000 is not set | ||
871 | CONFIG_FB_OF=y | ||
872 | # CONFIG_FB_CONTROL is not set | ||
873 | # CONFIG_FB_PLATINUM is not set | ||
874 | # CONFIG_FB_VALKYRIE is not set | ||
875 | # CONFIG_FB_CT65550 is not set | ||
876 | # CONFIG_FB_ASILIANT is not set | ||
877 | # CONFIG_FB_IMSTT is not set | ||
878 | # CONFIG_FB_VGA16 is not set | ||
879 | # CONFIG_FB_NVIDIA is not set | ||
880 | CONFIG_FB_RIVA=y | ||
881 | # CONFIG_FB_RIVA_I2C is not set | ||
882 | # CONFIG_FB_RIVA_DEBUG is not set | ||
883 | # CONFIG_FB_MATROX is not set | ||
884 | # CONFIG_FB_RADEON_OLD is not set | ||
885 | CONFIG_FB_RADEON=y | ||
886 | CONFIG_FB_RADEON_I2C=y | ||
887 | # CONFIG_FB_RADEON_DEBUG is not set | ||
888 | # CONFIG_FB_ATY128 is not set | ||
889 | # CONFIG_FB_ATY is not set | ||
890 | # CONFIG_FB_SAVAGE is not set | ||
891 | # CONFIG_FB_SIS is not set | ||
892 | # CONFIG_FB_NEOMAGIC is not set | ||
893 | # CONFIG_FB_KYRO is not set | ||
894 | # CONFIG_FB_3DFX is not set | ||
895 | # CONFIG_FB_VOODOO1 is not set | ||
896 | # CONFIG_FB_CYBLA is not set | ||
897 | # CONFIG_FB_TRIDENT is not set | ||
898 | # CONFIG_FB_S1D13XXX is not set | ||
899 | # CONFIG_FB_VIRTUAL is not set | ||
900 | |||
901 | # | ||
902 | # Console display driver support | ||
903 | # | ||
904 | # CONFIG_VGA_CONSOLE is not set | ||
905 | CONFIG_DUMMY_CONSOLE=y | ||
906 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
907 | # CONFIG_FONTS is not set | ||
908 | CONFIG_FONT_8x8=y | ||
909 | CONFIG_FONT_8x16=y | ||
910 | |||
911 | # | ||
912 | # Logo configuration | ||
913 | # | ||
914 | CONFIG_LOGO=y | ||
915 | CONFIG_LOGO_LINUX_MONO=y | ||
916 | CONFIG_LOGO_LINUX_VGA16=y | ||
917 | CONFIG_LOGO_LINUX_CLUT224=y | ||
918 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
919 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | ||
920 | CONFIG_BACKLIGHT_DEVICE=y | ||
921 | CONFIG_LCD_CLASS_DEVICE=m | ||
922 | CONFIG_LCD_DEVICE=y | ||
923 | |||
924 | # | ||
925 | # Sound | ||
926 | # | ||
927 | # CONFIG_SOUND is not set | ||
928 | |||
929 | # | ||
930 | # USB support | ||
931 | # | ||
932 | CONFIG_USB_ARCH_HAS_HCD=y | ||
933 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
934 | CONFIG_USB=y | ||
935 | # CONFIG_USB_DEBUG is not set | ||
936 | |||
937 | # | ||
938 | # Miscellaneous USB options | ||
939 | # | ||
940 | CONFIG_USB_DEVICEFS=y | ||
941 | # CONFIG_USB_BANDWIDTH is not set | ||
942 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
943 | # CONFIG_USB_OTG is not set | ||
944 | |||
945 | # | ||
946 | # USB Host Controller Drivers | ||
947 | # | ||
948 | CONFIG_USB_EHCI_HCD=y | ||
949 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | ||
950 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | ||
951 | # CONFIG_USB_ISP116X_HCD is not set | ||
952 | CONFIG_USB_OHCI_HCD=y | ||
953 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
954 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
955 | # CONFIG_USB_UHCI_HCD is not set | ||
956 | # CONFIG_USB_SL811_HCD is not set | ||
957 | |||
958 | # | ||
959 | # USB Device Class drivers | ||
960 | # | ||
961 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
962 | CONFIG_USB_ACM=m | ||
963 | CONFIG_USB_PRINTER=y | ||
964 | |||
965 | # | ||
966 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | ||
967 | # | ||
968 | CONFIG_USB_STORAGE=y | ||
969 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
970 | CONFIG_USB_STORAGE_DATAFAB=y | ||
971 | CONFIG_USB_STORAGE_FREECOM=y | ||
972 | CONFIG_USB_STORAGE_ISD200=y | ||
973 | CONFIG_USB_STORAGE_DPCM=y | ||
974 | # CONFIG_USB_STORAGE_USBAT is not set | ||
975 | CONFIG_USB_STORAGE_SDDR09=y | ||
976 | CONFIG_USB_STORAGE_SDDR55=y | ||
977 | CONFIG_USB_STORAGE_JUMPSHOT=y | ||
978 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
979 | |||
980 | # | ||
981 | # USB Input Devices | ||
982 | # | ||
983 | CONFIG_USB_HID=y | ||
984 | CONFIG_USB_HIDINPUT=y | ||
985 | CONFIG_HID_FF=y | ||
986 | CONFIG_HID_PID=y | ||
987 | CONFIG_LOGITECH_FF=y | ||
988 | CONFIG_THRUSTMASTER_FF=y | ||
989 | CONFIG_USB_HIDDEV=y | ||
990 | # CONFIG_USB_AIPTEK is not set | ||
991 | # CONFIG_USB_WACOM is not set | ||
992 | # CONFIG_USB_ACECAD is not set | ||
993 | # CONFIG_USB_KBTAB is not set | ||
994 | # CONFIG_USB_POWERMATE is not set | ||
995 | # CONFIG_USB_MTOUCH is not set | ||
996 | # CONFIG_USB_ITMTOUCH is not set | ||
997 | # CONFIG_USB_EGALAX is not set | ||
998 | # CONFIG_USB_YEALINK is not set | ||
999 | # CONFIG_USB_XPAD is not set | ||
1000 | # CONFIG_USB_ATI_REMOTE is not set | ||
1001 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
1002 | # CONFIG_USB_APPLETOUCH is not set | ||
1003 | |||
1004 | # | ||
1005 | # USB Imaging devices | ||
1006 | # | ||
1007 | # CONFIG_USB_MDC800 is not set | ||
1008 | # CONFIG_USB_MICROTEK is not set | ||
1009 | |||
1010 | # | ||
1011 | # USB Multimedia devices | ||
1012 | # | ||
1013 | # CONFIG_USB_DABUSB is not set | ||
1014 | |||
1015 | # | ||
1016 | # Video4Linux support is needed for USB Multimedia device support | ||
1017 | # | ||
1018 | |||
1019 | # | ||
1020 | # USB Network Adapters | ||
1021 | # | ||
1022 | CONFIG_USB_CATC=m | ||
1023 | CONFIG_USB_KAWETH=m | ||
1024 | CONFIG_USB_PEGASUS=m | ||
1025 | CONFIG_USB_RTL8150=m | ||
1026 | CONFIG_USB_USBNET=m | ||
1027 | # CONFIG_USB_NET_AX8817X is not set | ||
1028 | CONFIG_USB_NET_CDCETHER=m | ||
1029 | # CONFIG_USB_NET_GL620A is not set | ||
1030 | # CONFIG_USB_NET_NET1080 is not set | ||
1031 | # CONFIG_USB_NET_PLUSB is not set | ||
1032 | # CONFIG_USB_NET_RNDIS_HOST is not set | ||
1033 | # CONFIG_USB_NET_CDC_SUBSET is not set | ||
1034 | # CONFIG_USB_NET_ZAURUS is not set | ||
1035 | CONFIG_USB_MON=y | ||
1036 | |||
1037 | # | ||
1038 | # USB port drivers | ||
1039 | # | ||
1040 | |||
1041 | # | ||
1042 | # USB Serial Converter support | ||
1043 | # | ||
1044 | CONFIG_USB_SERIAL=m | ||
1045 | CONFIG_USB_SERIAL_GENERIC=y | ||
1046 | # CONFIG_USB_SERIAL_AIRPRIME is not set | ||
1047 | CONFIG_USB_SERIAL_BELKIN=m | ||
1048 | CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m | ||
1049 | # CONFIG_USB_SERIAL_CP2101 is not set | ||
1050 | CONFIG_USB_SERIAL_CYPRESS_M8=m | ||
1051 | CONFIG_USB_SERIAL_EMPEG=m | ||
1052 | CONFIG_USB_SERIAL_FTDI_SIO=m | ||
1053 | CONFIG_USB_SERIAL_VISOR=m | ||
1054 | CONFIG_USB_SERIAL_IPAQ=m | ||
1055 | CONFIG_USB_SERIAL_IR=m | ||
1056 | CONFIG_USB_SERIAL_EDGEPORT=m | ||
1057 | CONFIG_USB_SERIAL_EDGEPORT_TI=m | ||
1058 | CONFIG_USB_SERIAL_GARMIN=m | ||
1059 | CONFIG_USB_SERIAL_IPW=m | ||
1060 | CONFIG_USB_SERIAL_KEYSPAN_PDA=m | ||
1061 | CONFIG_USB_SERIAL_KEYSPAN=m | ||
1062 | CONFIG_USB_SERIAL_KEYSPAN_MPR=y | ||
1063 | CONFIG_USB_SERIAL_KEYSPAN_USA28=y | ||
1064 | CONFIG_USB_SERIAL_KEYSPAN_USA28X=y | ||
1065 | CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y | ||
1066 | CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y | ||
1067 | CONFIG_USB_SERIAL_KEYSPAN_USA19=y | ||
1068 | CONFIG_USB_SERIAL_KEYSPAN_USA18X=y | ||
1069 | CONFIG_USB_SERIAL_KEYSPAN_USA19W=y | ||
1070 | CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y | ||
1071 | CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y | ||
1072 | CONFIG_USB_SERIAL_KEYSPAN_USA49W=y | ||
1073 | CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | ||
1074 | CONFIG_USB_SERIAL_KLSI=m | ||
1075 | CONFIG_USB_SERIAL_KOBIL_SCT=m | ||
1076 | CONFIG_USB_SERIAL_MCT_U232=m | ||
1077 | CONFIG_USB_SERIAL_PL2303=m | ||
1078 | # CONFIG_USB_SERIAL_HP4X is not set | ||
1079 | CONFIG_USB_SERIAL_SAFE=m | ||
1080 | CONFIG_USB_SERIAL_SAFE_PADDED=y | ||
1081 | CONFIG_USB_SERIAL_TI=m | ||
1082 | CONFIG_USB_SERIAL_CYBERJACK=m | ||
1083 | CONFIG_USB_SERIAL_XIRCOM=m | ||
1084 | CONFIG_USB_SERIAL_OMNINET=m | ||
1085 | CONFIG_USB_EZUSB=y | ||
1086 | |||
1087 | # | ||
1088 | # USB Miscellaneous drivers | ||
1089 | # | ||
1090 | # CONFIG_USB_EMI62 is not set | ||
1091 | # CONFIG_USB_EMI26 is not set | ||
1092 | # CONFIG_USB_AUERSWALD is not set | ||
1093 | # CONFIG_USB_RIO500 is not set | ||
1094 | # CONFIG_USB_LEGOTOWER is not set | ||
1095 | # CONFIG_USB_LCD is not set | ||
1096 | # CONFIG_USB_LED is not set | ||
1097 | # CONFIG_USB_CYTHERM is not set | ||
1098 | # CONFIG_USB_PHIDGETKIT is not set | ||
1099 | # CONFIG_USB_PHIDGETSERVO is not set | ||
1100 | # CONFIG_USB_IDMOUSE is not set | ||
1101 | # CONFIG_USB_SISUSBVGA is not set | ||
1102 | # CONFIG_USB_LD is not set | ||
1103 | # CONFIG_USB_TEST is not set | ||
1104 | |||
1105 | # | ||
1106 | # USB DSL modem support | ||
1107 | # | ||
1108 | |||
1109 | # | ||
1110 | # USB Gadget Support | ||
1111 | # | ||
1112 | # CONFIG_USB_GADGET is not set | ||
1113 | |||
1114 | # | ||
1115 | # MMC/SD Card support | ||
1116 | # | ||
1117 | # CONFIG_MMC is not set | ||
1118 | |||
1119 | # | ||
1120 | # InfiniBand support | ||
1121 | # | ||
1122 | # CONFIG_INFINIBAND is not set | ||
1123 | |||
1124 | # | ||
1125 | # SN Devices | ||
1126 | # | ||
1127 | |||
1128 | # | ||
1129 | # File systems | ||
1130 | # | ||
1131 | CONFIG_EXT2_FS=y | ||
1132 | CONFIG_EXT2_FS_XATTR=y | ||
1133 | CONFIG_EXT2_FS_POSIX_ACL=y | ||
1134 | CONFIG_EXT2_FS_SECURITY=y | ||
1135 | CONFIG_EXT2_FS_XIP=y | ||
1136 | CONFIG_FS_XIP=y | ||
1137 | CONFIG_EXT3_FS=y | ||
1138 | CONFIG_EXT3_FS_XATTR=y | ||
1139 | CONFIG_EXT3_FS_POSIX_ACL=y | ||
1140 | CONFIG_EXT3_FS_SECURITY=y | ||
1141 | CONFIG_JBD=y | ||
1142 | # CONFIG_JBD_DEBUG is not set | ||
1143 | CONFIG_FS_MBCACHE=y | ||
1144 | CONFIG_REISERFS_FS=y | ||
1145 | # CONFIG_REISERFS_CHECK is not set | ||
1146 | # CONFIG_REISERFS_PROC_INFO is not set | ||
1147 | CONFIG_REISERFS_FS_XATTR=y | ||
1148 | CONFIG_REISERFS_FS_POSIX_ACL=y | ||
1149 | CONFIG_REISERFS_FS_SECURITY=y | ||
1150 | # CONFIG_JFS_FS is not set | ||
1151 | CONFIG_FS_POSIX_ACL=y | ||
1152 | CONFIG_XFS_FS=m | ||
1153 | CONFIG_XFS_EXPORT=y | ||
1154 | # CONFIG_XFS_QUOTA is not set | ||
1155 | CONFIG_XFS_SECURITY=y | ||
1156 | CONFIG_XFS_POSIX_ACL=y | ||
1157 | # CONFIG_XFS_RT is not set | ||
1158 | # CONFIG_MINIX_FS is not set | ||
1159 | # CONFIG_ROMFS_FS is not set | ||
1160 | CONFIG_INOTIFY=y | ||
1161 | # CONFIG_QUOTA is not set | ||
1162 | CONFIG_DNOTIFY=y | ||
1163 | CONFIG_AUTOFS_FS=m | ||
1164 | # CONFIG_AUTOFS4_FS is not set | ||
1165 | # CONFIG_FUSE_FS is not set | ||
1166 | |||
1167 | # | ||
1168 | # CD-ROM/DVD Filesystems | ||
1169 | # | ||
1170 | CONFIG_ISO9660_FS=y | ||
1171 | CONFIG_JOLIET=y | ||
1172 | CONFIG_ZISOFS=y | ||
1173 | CONFIG_ZISOFS_FS=y | ||
1174 | CONFIG_UDF_FS=m | ||
1175 | CONFIG_UDF_NLS=y | ||
1176 | |||
1177 | # | ||
1178 | # DOS/FAT/NT Filesystems | ||
1179 | # | ||
1180 | CONFIG_FAT_FS=y | ||
1181 | CONFIG_MSDOS_FS=y | ||
1182 | CONFIG_VFAT_FS=y | ||
1183 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1184 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1185 | # CONFIG_NTFS_FS is not set | ||
1186 | |||
1187 | # | ||
1188 | # Pseudo filesystems | ||
1189 | # | ||
1190 | CONFIG_PROC_FS=y | ||
1191 | CONFIG_PROC_KCORE=y | ||
1192 | CONFIG_SYSFS=y | ||
1193 | CONFIG_TMPFS=y | ||
1194 | CONFIG_HUGETLBFS=y | ||
1195 | CONFIG_HUGETLB_PAGE=y | ||
1196 | CONFIG_RAMFS=y | ||
1197 | # CONFIG_RELAYFS_FS is not set | ||
1198 | |||
1199 | # | ||
1200 | # Miscellaneous filesystems | ||
1201 | # | ||
1202 | # CONFIG_ADFS_FS is not set | ||
1203 | # CONFIG_AFFS_FS is not set | ||
1204 | CONFIG_HFS_FS=m | ||
1205 | CONFIG_HFSPLUS_FS=m | ||
1206 | # CONFIG_BEFS_FS is not set | ||
1207 | # CONFIG_BFS_FS is not set | ||
1208 | # CONFIG_EFS_FS is not set | ||
1209 | CONFIG_CRAMFS=y | ||
1210 | # CONFIG_VXFS_FS is not set | ||
1211 | # CONFIG_HPFS_FS is not set | ||
1212 | # CONFIG_QNX4FS_FS is not set | ||
1213 | # CONFIG_SYSV_FS is not set | ||
1214 | # CONFIG_UFS_FS is not set | ||
1215 | |||
1216 | # | ||
1217 | # Network File Systems | ||
1218 | # | ||
1219 | CONFIG_NFS_FS=y | ||
1220 | CONFIG_NFS_V3=y | ||
1221 | CONFIG_NFS_V3_ACL=y | ||
1222 | CONFIG_NFS_V4=y | ||
1223 | # CONFIG_NFS_DIRECTIO is not set | ||
1224 | CONFIG_NFSD=y | ||
1225 | CONFIG_NFSD_V2_ACL=y | ||
1226 | CONFIG_NFSD_V3=y | ||
1227 | CONFIG_NFSD_V3_ACL=y | ||
1228 | CONFIG_NFSD_V4=y | ||
1229 | CONFIG_NFSD_TCP=y | ||
1230 | CONFIG_LOCKD=y | ||
1231 | CONFIG_LOCKD_V4=y | ||
1232 | CONFIG_EXPORTFS=y | ||
1233 | CONFIG_NFS_ACL_SUPPORT=y | ||
1234 | CONFIG_NFS_COMMON=y | ||
1235 | CONFIG_SUNRPC=y | ||
1236 | CONFIG_SUNRPC_GSS=y | ||
1237 | CONFIG_RPCSEC_GSS_KRB5=y | ||
1238 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1239 | # CONFIG_SMB_FS is not set | ||
1240 | CONFIG_CIFS=m | ||
1241 | # CONFIG_CIFS_STATS is not set | ||
1242 | # CONFIG_CIFS_XATTR is not set | ||
1243 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
1244 | # CONFIG_NCP_FS is not set | ||
1245 | # CONFIG_CODA_FS is not set | ||
1246 | # CONFIG_AFS_FS is not set | ||
1247 | # CONFIG_9P_FS is not set | ||
1248 | |||
1249 | # | ||
1250 | # Partition Types | ||
1251 | # | ||
1252 | CONFIG_PARTITION_ADVANCED=y | ||
1253 | # CONFIG_ACORN_PARTITION is not set | ||
1254 | # CONFIG_OSF_PARTITION is not set | ||
1255 | # CONFIG_AMIGA_PARTITION is not set | ||
1256 | # CONFIG_ATARI_PARTITION is not set | ||
1257 | CONFIG_MAC_PARTITION=y | ||
1258 | CONFIG_MSDOS_PARTITION=y | ||
1259 | # CONFIG_BSD_DISKLABEL is not set | ||
1260 | # CONFIG_MINIX_SUBPARTITION is not set | ||
1261 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
1262 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
1263 | # CONFIG_LDM_PARTITION is not set | ||
1264 | # CONFIG_SGI_PARTITION is not set | ||
1265 | # CONFIG_ULTRIX_PARTITION is not set | ||
1266 | # CONFIG_SUN_PARTITION is not set | ||
1267 | # CONFIG_EFI_PARTITION is not set | ||
1268 | |||
1269 | # | ||
1270 | # Native Language Support | ||
1271 | # | ||
1272 | CONFIG_NLS=y | ||
1273 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1274 | CONFIG_NLS_CODEPAGE_437=y | ||
1275 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1276 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1277 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1278 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1279 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1280 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1281 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1282 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1283 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1284 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1285 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1286 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1287 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1288 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1289 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1290 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1291 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1292 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1293 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1294 | # CONFIG_NLS_ISO8859_8 is not set | ||
1295 | CONFIG_NLS_CODEPAGE_1250=y | ||
1296 | CONFIG_NLS_CODEPAGE_1251=y | ||
1297 | CONFIG_NLS_ASCII=y | ||
1298 | CONFIG_NLS_ISO8859_1=y | ||
1299 | # CONFIG_NLS_ISO8859_2 is not set | ||
1300 | # CONFIG_NLS_ISO8859_3 is not set | ||
1301 | # CONFIG_NLS_ISO8859_4 is not set | ||
1302 | # CONFIG_NLS_ISO8859_5 is not set | ||
1303 | # CONFIG_NLS_ISO8859_6 is not set | ||
1304 | # CONFIG_NLS_ISO8859_7 is not set | ||
1305 | # CONFIG_NLS_ISO8859_9 is not set | ||
1306 | # CONFIG_NLS_ISO8859_13 is not set | ||
1307 | # CONFIG_NLS_ISO8859_14 is not set | ||
1308 | CONFIG_NLS_ISO8859_15=y | ||
1309 | # CONFIG_NLS_KOI8_R is not set | ||
1310 | # CONFIG_NLS_KOI8_U is not set | ||
1311 | CONFIG_NLS_UTF8=y | ||
1312 | |||
1313 | # | ||
1314 | # Profiling support | ||
1315 | # | ||
1316 | CONFIG_PROFILING=y | ||
1317 | CONFIG_OPROFILE=y | ||
1318 | |||
1319 | # | ||
1320 | # Kernel hacking | ||
1321 | # | ||
1322 | # CONFIG_PRINTK_TIME is not set | ||
1323 | CONFIG_DEBUG_KERNEL=y | ||
1324 | CONFIG_MAGIC_SYSRQ=y | ||
1325 | CONFIG_LOG_BUF_SHIFT=17 | ||
1326 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1327 | # CONFIG_SCHEDSTATS is not set | ||
1328 | # CONFIG_DEBUG_SLAB is not set | ||
1329 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1330 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1331 | # CONFIG_DEBUG_KOBJECT is not set | ||
1332 | # CONFIG_DEBUG_INFO is not set | ||
1333 | CONFIG_DEBUG_FS=y | ||
1334 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
1335 | # CONFIG_KPROBES is not set | ||
1336 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1337 | # CONFIG_DEBUGGER is not set | ||
1338 | # CONFIG_PPCDBG is not set | ||
1339 | CONFIG_IRQSTACKS=y | ||
1340 | |||
1341 | # | ||
1342 | # Security options | ||
1343 | # | ||
1344 | # CONFIG_KEYS is not set | ||
1345 | # CONFIG_SECURITY is not set | ||
1346 | |||
1347 | # | ||
1348 | # Cryptographic options | ||
1349 | # | ||
1350 | CONFIG_CRYPTO=y | ||
1351 | CONFIG_CRYPTO_HMAC=y | ||
1352 | CONFIG_CRYPTO_NULL=m | ||
1353 | CONFIG_CRYPTO_MD4=m | ||
1354 | CONFIG_CRYPTO_MD5=y | ||
1355 | CONFIG_CRYPTO_SHA1=m | ||
1356 | CONFIG_CRYPTO_SHA256=m | ||
1357 | CONFIG_CRYPTO_SHA512=m | ||
1358 | CONFIG_CRYPTO_WP512=m | ||
1359 | # CONFIG_CRYPTO_TGR192 is not set | ||
1360 | CONFIG_CRYPTO_DES=y | ||
1361 | CONFIG_CRYPTO_BLOWFISH=m | ||
1362 | CONFIG_CRYPTO_TWOFISH=m | ||
1363 | CONFIG_CRYPTO_SERPENT=m | ||
1364 | CONFIG_CRYPTO_AES=m | ||
1365 | CONFIG_CRYPTO_CAST5=m | ||
1366 | CONFIG_CRYPTO_CAST6=m | ||
1367 | CONFIG_CRYPTO_TEA=m | ||
1368 | CONFIG_CRYPTO_ARC4=m | ||
1369 | CONFIG_CRYPTO_KHAZAD=m | ||
1370 | CONFIG_CRYPTO_ANUBIS=m | ||
1371 | CONFIG_CRYPTO_DEFLATE=m | ||
1372 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1373 | CONFIG_CRYPTO_CRC32C=m | ||
1374 | CONFIG_CRYPTO_TEST=m | ||
1375 | |||
1376 | # | ||
1377 | # Hardware crypto devices | ||
1378 | # | ||
1379 | |||
1380 | # | ||
1381 | # Library routines | ||
1382 | # | ||
1383 | CONFIG_CRC_CCITT=m | ||
1384 | # CONFIG_CRC16 is not set | ||
1385 | CONFIG_CRC32=y | ||
1386 | CONFIG_LIBCRC32C=m | ||
1387 | CONFIG_ZLIB_INFLATE=y | ||
1388 | CONFIG_ZLIB_DEFLATE=m | ||
1389 | CONFIG_TEXTSEARCH=y | ||
1390 | CONFIG_TEXTSEARCH_KMP=m | ||
1391 | CONFIG_TEXTSEARCH_BM=m | ||
1392 | CONFIG_TEXTSEARCH_FSM=m | ||
diff --git a/arch/ppc64/configs/iSeries_defconfig b/arch/ppc64/configs/iSeries_defconfig deleted file mode 100644 index 62e92c7e9e27..000000000000 --- a/arch/ppc64/configs/iSeries_defconfig +++ /dev/null | |||
@@ -1,998 +0,0 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.14-rc4 | ||
4 | # Thu Oct 20 08:30:56 2005 | ||
5 | # | ||
6 | CONFIG_64BIT=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_GENERIC_ISA_DMA=y | ||
11 | CONFIG_EARLY_PRINTK=y | ||
12 | CONFIG_COMPAT=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
16 | |||
17 | # | ||
18 | # Code maturity level options | ||
19 | # | ||
20 | CONFIG_EXPERIMENTAL=y | ||
21 | CONFIG_CLEAN_COMPILE=y | ||
22 | CONFIG_LOCK_KERNEL=y | ||
23 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
24 | |||
25 | # | ||
26 | # General setup | ||
27 | # | ||
28 | CONFIG_LOCALVERSION="" | ||
29 | CONFIG_LOCALVERSION_AUTO=y | ||
30 | CONFIG_SWAP=y | ||
31 | CONFIG_SYSVIPC=y | ||
32 | CONFIG_POSIX_MQUEUE=y | ||
33 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
34 | CONFIG_SYSCTL=y | ||
35 | CONFIG_AUDIT=y | ||
36 | CONFIG_AUDITSYSCALL=y | ||
37 | CONFIG_HOTPLUG=y | ||
38 | CONFIG_KOBJECT_UEVENT=y | ||
39 | CONFIG_IKCONFIG=y | ||
40 | CONFIG_IKCONFIG_PROC=y | ||
41 | # CONFIG_CPUSETS is not set | ||
42 | CONFIG_INITRAMFS_SOURCE="" | ||
43 | # CONFIG_EMBEDDED is not set | ||
44 | CONFIG_KALLSYMS=y | ||
45 | # CONFIG_KALLSYMS_ALL is not set | ||
46 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
47 | CONFIG_PRINTK=y | ||
48 | CONFIG_BUG=y | ||
49 | CONFIG_BASE_FULL=y | ||
50 | CONFIG_FUTEX=y | ||
51 | CONFIG_EPOLL=y | ||
52 | CONFIG_SHMEM=y | ||
53 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
54 | CONFIG_CC_ALIGN_LABELS=0 | ||
55 | CONFIG_CC_ALIGN_LOOPS=0 | ||
56 | CONFIG_CC_ALIGN_JUMPS=0 | ||
57 | # CONFIG_TINY_SHMEM is not set | ||
58 | CONFIG_BASE_SMALL=0 | ||
59 | |||
60 | # | ||
61 | # Loadable module support | ||
62 | # | ||
63 | CONFIG_MODULES=y | ||
64 | CONFIG_MODULE_UNLOAD=y | ||
65 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
66 | CONFIG_OBSOLETE_MODPARM=y | ||
67 | CONFIG_MODVERSIONS=y | ||
68 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
69 | CONFIG_KMOD=y | ||
70 | CONFIG_STOP_MACHINE=y | ||
71 | CONFIG_SYSVIPC_COMPAT=y | ||
72 | |||
73 | # | ||
74 | # Platform support | ||
75 | # | ||
76 | CONFIG_PPC_ISERIES=y | ||
77 | # CONFIG_PPC_MULTIPLATFORM is not set | ||
78 | CONFIG_PPC=y | ||
79 | CONFIG_PPC64=y | ||
80 | CONFIG_IBMVIO=y | ||
81 | # CONFIG_POWER4_ONLY is not set | ||
82 | CONFIG_IOMMU_VMERGE=y | ||
83 | CONFIG_SMP=y | ||
84 | CONFIG_NR_CPUS=32 | ||
85 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
86 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
87 | CONFIG_SELECT_MEMORY_MODEL=y | ||
88 | CONFIG_FLATMEM_MANUAL=y | ||
89 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
90 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
91 | CONFIG_FLATMEM=y | ||
92 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
93 | # CONFIG_SPARSEMEM_STATIC is not set | ||
94 | # CONFIG_NUMA is not set | ||
95 | # CONFIG_SCHED_SMT is not set | ||
96 | CONFIG_PREEMPT_NONE=y | ||
97 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
98 | # CONFIG_PREEMPT is not set | ||
99 | # CONFIG_PREEMPT_BKL is not set | ||
100 | # CONFIG_HZ_100 is not set | ||
101 | CONFIG_HZ_250=y | ||
102 | # CONFIG_HZ_1000 is not set | ||
103 | CONFIG_HZ=250 | ||
104 | CONFIG_GENERIC_HARDIRQS=y | ||
105 | CONFIG_LPARCFG=y | ||
106 | CONFIG_SECCOMP=y | ||
107 | CONFIG_BINFMT_ELF=y | ||
108 | # CONFIG_BINFMT_MISC is not set | ||
109 | CONFIG_ISA_DMA_API=y | ||
110 | |||
111 | # | ||
112 | # Bus Options | ||
113 | # | ||
114 | CONFIG_PCI=y | ||
115 | CONFIG_PCI_DOMAINS=y | ||
116 | CONFIG_PCI_LEGACY_PROC=y | ||
117 | # CONFIG_PCI_DEBUG is not set | ||
118 | |||
119 | # | ||
120 | # PCCARD (PCMCIA/CardBus) support | ||
121 | # | ||
122 | # CONFIG_PCCARD is not set | ||
123 | |||
124 | # | ||
125 | # PCI Hotplug Support | ||
126 | # | ||
127 | # CONFIG_HOTPLUG_PCI is not set | ||
128 | |||
129 | # | ||
130 | # Networking | ||
131 | # | ||
132 | CONFIG_NET=y | ||
133 | |||
134 | # | ||
135 | # Networking options | ||
136 | # | ||
137 | CONFIG_PACKET=y | ||
138 | # CONFIG_PACKET_MMAP is not set | ||
139 | CONFIG_UNIX=y | ||
140 | CONFIG_XFRM=y | ||
141 | CONFIG_XFRM_USER=m | ||
142 | CONFIG_NET_KEY=m | ||
143 | CONFIG_INET=y | ||
144 | CONFIG_IP_MULTICAST=y | ||
145 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
146 | CONFIG_IP_FIB_HASH=y | ||
147 | # CONFIG_IP_PNP is not set | ||
148 | CONFIG_NET_IPIP=y | ||
149 | # CONFIG_NET_IPGRE is not set | ||
150 | # CONFIG_IP_MROUTE is not set | ||
151 | # CONFIG_ARPD is not set | ||
152 | CONFIG_SYN_COOKIES=y | ||
153 | CONFIG_INET_AH=m | ||
154 | CONFIG_INET_ESP=m | ||
155 | CONFIG_INET_IPCOMP=m | ||
156 | CONFIG_INET_TUNNEL=y | ||
157 | CONFIG_INET_DIAG=y | ||
158 | CONFIG_INET_TCP_DIAG=y | ||
159 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
160 | CONFIG_TCP_CONG_BIC=y | ||
161 | |||
162 | # | ||
163 | # IP: Virtual Server Configuration | ||
164 | # | ||
165 | # CONFIG_IP_VS is not set | ||
166 | # CONFIG_IPV6 is not set | ||
167 | CONFIG_NETFILTER=y | ||
168 | # CONFIG_NETFILTER_DEBUG is not set | ||
169 | # CONFIG_NETFILTER_NETLINK is not set | ||
170 | |||
171 | # | ||
172 | # IP: Netfilter Configuration | ||
173 | # | ||
174 | CONFIG_IP_NF_CONNTRACK=m | ||
175 | CONFIG_IP_NF_CT_ACCT=y | ||
176 | CONFIG_IP_NF_CONNTRACK_MARK=y | ||
177 | CONFIG_IP_NF_CONNTRACK_EVENTS=y | ||
178 | CONFIG_IP_NF_CT_PROTO_SCTP=m | ||
179 | CONFIG_IP_NF_FTP=m | ||
180 | CONFIG_IP_NF_IRC=m | ||
181 | # CONFIG_IP_NF_NETBIOS_NS is not set | ||
182 | CONFIG_IP_NF_TFTP=m | ||
183 | CONFIG_IP_NF_AMANDA=m | ||
184 | # CONFIG_IP_NF_PPTP is not set | ||
185 | CONFIG_IP_NF_QUEUE=m | ||
186 | CONFIG_IP_NF_IPTABLES=m | ||
187 | CONFIG_IP_NF_MATCH_LIMIT=m | ||
188 | CONFIG_IP_NF_MATCH_IPRANGE=m | ||
189 | CONFIG_IP_NF_MATCH_MAC=m | ||
190 | CONFIG_IP_NF_MATCH_PKTTYPE=m | ||
191 | CONFIG_IP_NF_MATCH_MARK=m | ||
192 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
193 | CONFIG_IP_NF_MATCH_TOS=m | ||
194 | CONFIG_IP_NF_MATCH_RECENT=m | ||
195 | CONFIG_IP_NF_MATCH_ECN=m | ||
196 | CONFIG_IP_NF_MATCH_DSCP=m | ||
197 | CONFIG_IP_NF_MATCH_AH_ESP=m | ||
198 | CONFIG_IP_NF_MATCH_LENGTH=m | ||
199 | CONFIG_IP_NF_MATCH_TTL=m | ||
200 | CONFIG_IP_NF_MATCH_TCPMSS=m | ||
201 | CONFIG_IP_NF_MATCH_HELPER=m | ||
202 | CONFIG_IP_NF_MATCH_STATE=m | ||
203 | CONFIG_IP_NF_MATCH_CONNTRACK=m | ||
204 | CONFIG_IP_NF_MATCH_OWNER=m | ||
205 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | ||
206 | CONFIG_IP_NF_MATCH_REALM=m | ||
207 | CONFIG_IP_NF_MATCH_SCTP=m | ||
208 | # CONFIG_IP_NF_MATCH_DCCP is not set | ||
209 | CONFIG_IP_NF_MATCH_COMMENT=m | ||
210 | CONFIG_IP_NF_MATCH_CONNMARK=m | ||
211 | CONFIG_IP_NF_MATCH_CONNBYTES=m | ||
212 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | ||
213 | CONFIG_IP_NF_MATCH_STRING=m | ||
214 | CONFIG_IP_NF_FILTER=m | ||
215 | CONFIG_IP_NF_TARGET_REJECT=m | ||
216 | CONFIG_IP_NF_TARGET_LOG=m | ||
217 | CONFIG_IP_NF_TARGET_ULOG=m | ||
218 | CONFIG_IP_NF_TARGET_TCPMSS=m | ||
219 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
220 | CONFIG_IP_NF_NAT=m | ||
221 | CONFIG_IP_NF_NAT_NEEDED=y | ||
222 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
223 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
224 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
225 | CONFIG_IP_NF_TARGET_SAME=m | ||
226 | CONFIG_IP_NF_NAT_SNMP_BASIC=m | ||
227 | CONFIG_IP_NF_NAT_IRC=m | ||
228 | CONFIG_IP_NF_NAT_FTP=m | ||
229 | CONFIG_IP_NF_NAT_TFTP=m | ||
230 | CONFIG_IP_NF_NAT_AMANDA=m | ||
231 | CONFIG_IP_NF_MANGLE=m | ||
232 | CONFIG_IP_NF_TARGET_TOS=m | ||
233 | CONFIG_IP_NF_TARGET_ECN=m | ||
234 | CONFIG_IP_NF_TARGET_DSCP=m | ||
235 | CONFIG_IP_NF_TARGET_MARK=m | ||
236 | CONFIG_IP_NF_TARGET_CLASSIFY=m | ||
237 | CONFIG_IP_NF_TARGET_TTL=m | ||
238 | CONFIG_IP_NF_TARGET_CONNMARK=m | ||
239 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
240 | CONFIG_IP_NF_RAW=m | ||
241 | CONFIG_IP_NF_TARGET_NOTRACK=m | ||
242 | CONFIG_IP_NF_ARPTABLES=m | ||
243 | CONFIG_IP_NF_ARPFILTER=m | ||
244 | CONFIG_IP_NF_ARP_MANGLE=m | ||
245 | |||
246 | # | ||
247 | # DCCP Configuration (EXPERIMENTAL) | ||
248 | # | ||
249 | # CONFIG_IP_DCCP is not set | ||
250 | |||
251 | # | ||
252 | # SCTP Configuration (EXPERIMENTAL) | ||
253 | # | ||
254 | # CONFIG_IP_SCTP is not set | ||
255 | # CONFIG_ATM is not set | ||
256 | # CONFIG_BRIDGE is not set | ||
257 | # CONFIG_VLAN_8021Q is not set | ||
258 | # CONFIG_DECNET is not set | ||
259 | CONFIG_LLC=y | ||
260 | # CONFIG_LLC2 is not set | ||
261 | # CONFIG_IPX is not set | ||
262 | # CONFIG_ATALK is not set | ||
263 | # CONFIG_X25 is not set | ||
264 | # CONFIG_LAPB is not set | ||
265 | # CONFIG_NET_DIVERT is not set | ||
266 | # CONFIG_ECONET is not set | ||
267 | # CONFIG_WAN_ROUTER is not set | ||
268 | # CONFIG_NET_SCHED is not set | ||
269 | CONFIG_NET_CLS_ROUTE=y | ||
270 | |||
271 | # | ||
272 | # Network testing | ||
273 | # | ||
274 | # CONFIG_NET_PKTGEN is not set | ||
275 | # CONFIG_HAMRADIO is not set | ||
276 | # CONFIG_IRDA is not set | ||
277 | # CONFIG_BT is not set | ||
278 | # CONFIG_IEEE80211 is not set | ||
279 | |||
280 | # | ||
281 | # Device Drivers | ||
282 | # | ||
283 | |||
284 | # | ||
285 | # Generic Driver Options | ||
286 | # | ||
287 | CONFIG_STANDALONE=y | ||
288 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
289 | CONFIG_FW_LOADER=m | ||
290 | # CONFIG_DEBUG_DRIVER is not set | ||
291 | |||
292 | # | ||
293 | # Connector - unified userspace <-> kernelspace linker | ||
294 | # | ||
295 | # CONFIG_CONNECTOR is not set | ||
296 | |||
297 | # | ||
298 | # Memory Technology Devices (MTD) | ||
299 | # | ||
300 | # CONFIG_MTD is not set | ||
301 | |||
302 | # | ||
303 | # Parallel port support | ||
304 | # | ||
305 | # CONFIG_PARPORT is not set | ||
306 | |||
307 | # | ||
308 | # Plug and Play support | ||
309 | # | ||
310 | |||
311 | # | ||
312 | # Block devices | ||
313 | # | ||
314 | # CONFIG_BLK_DEV_FD is not set | ||
315 | # CONFIG_BLK_CPQ_DA is not set | ||
316 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
317 | # CONFIG_BLK_DEV_DAC960 is not set | ||
318 | # CONFIG_BLK_DEV_UMEM is not set | ||
319 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
320 | CONFIG_BLK_DEV_LOOP=y | ||
321 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
322 | CONFIG_BLK_DEV_NBD=m | ||
323 | # CONFIG_BLK_DEV_SX8 is not set | ||
324 | CONFIG_BLK_DEV_RAM=y | ||
325 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
326 | CONFIG_BLK_DEV_RAM_SIZE=65536 | ||
327 | CONFIG_BLK_DEV_INITRD=y | ||
328 | # CONFIG_CDROM_PKTCDVD is not set | ||
329 | |||
330 | # | ||
331 | # IO Schedulers | ||
332 | # | ||
333 | CONFIG_IOSCHED_NOOP=y | ||
334 | CONFIG_IOSCHED_AS=y | ||
335 | CONFIG_IOSCHED_DEADLINE=y | ||
336 | CONFIG_IOSCHED_CFQ=y | ||
337 | # CONFIG_ATA_OVER_ETH is not set | ||
338 | |||
339 | # | ||
340 | # ATA/ATAPI/MFM/RLL support | ||
341 | # | ||
342 | # CONFIG_IDE is not set | ||
343 | |||
344 | # | ||
345 | # SCSI device support | ||
346 | # | ||
347 | # CONFIG_RAID_ATTRS is not set | ||
348 | CONFIG_SCSI=y | ||
349 | CONFIG_SCSI_PROC_FS=y | ||
350 | |||
351 | # | ||
352 | # SCSI support type (disk, tape, CD-ROM) | ||
353 | # | ||
354 | CONFIG_BLK_DEV_SD=y | ||
355 | CONFIG_CHR_DEV_ST=y | ||
356 | # CONFIG_CHR_DEV_OSST is not set | ||
357 | CONFIG_BLK_DEV_SR=y | ||
358 | CONFIG_BLK_DEV_SR_VENDOR=y | ||
359 | CONFIG_CHR_DEV_SG=y | ||
360 | # CONFIG_CHR_DEV_SCH is not set | ||
361 | |||
362 | # | ||
363 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
364 | # | ||
365 | CONFIG_SCSI_MULTI_LUN=y | ||
366 | CONFIG_SCSI_CONSTANTS=y | ||
367 | # CONFIG_SCSI_LOGGING is not set | ||
368 | |||
369 | # | ||
370 | # SCSI Transport Attributes | ||
371 | # | ||
372 | CONFIG_SCSI_SPI_ATTRS=y | ||
373 | CONFIG_SCSI_FC_ATTRS=y | ||
374 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
375 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
376 | |||
377 | # | ||
378 | # SCSI low-level drivers | ||
379 | # | ||
380 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | ||
381 | # CONFIG_SCSI_3W_9XXX is not set | ||
382 | # CONFIG_SCSI_ACARD is not set | ||
383 | # CONFIG_SCSI_AACRAID is not set | ||
384 | # CONFIG_SCSI_AIC7XXX is not set | ||
385 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
386 | # CONFIG_SCSI_AIC79XX is not set | ||
387 | # CONFIG_MEGARAID_NEWGEN is not set | ||
388 | # CONFIG_MEGARAID_LEGACY is not set | ||
389 | # CONFIG_MEGARAID_SAS is not set | ||
390 | # CONFIG_SCSI_SATA is not set | ||
391 | # CONFIG_SCSI_BUSLOGIC is not set | ||
392 | # CONFIG_SCSI_DMX3191D is not set | ||
393 | # CONFIG_SCSI_EATA is not set | ||
394 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
395 | # CONFIG_SCSI_GDTH is not set | ||
396 | # CONFIG_SCSI_IPS is not set | ||
397 | CONFIG_SCSI_IBMVSCSI=m | ||
398 | # CONFIG_SCSI_INITIO is not set | ||
399 | # CONFIG_SCSI_INIA100 is not set | ||
400 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
401 | # CONFIG_SCSI_IPR is not set | ||
402 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
403 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
404 | CONFIG_SCSI_QLA2XXX=y | ||
405 | # CONFIG_SCSI_QLA21XX is not set | ||
406 | # CONFIG_SCSI_QLA22XX is not set | ||
407 | # CONFIG_SCSI_QLA2300 is not set | ||
408 | # CONFIG_SCSI_QLA2322 is not set | ||
409 | # CONFIG_SCSI_QLA6312 is not set | ||
410 | # CONFIG_SCSI_QLA24XX is not set | ||
411 | # CONFIG_SCSI_LPFC is not set | ||
412 | # CONFIG_SCSI_DC395x is not set | ||
413 | # CONFIG_SCSI_DC390T is not set | ||
414 | # CONFIG_SCSI_DEBUG is not set | ||
415 | |||
416 | # | ||
417 | # Multi-device support (RAID and LVM) | ||
418 | # | ||
419 | CONFIG_MD=y | ||
420 | CONFIG_BLK_DEV_MD=y | ||
421 | CONFIG_MD_LINEAR=y | ||
422 | CONFIG_MD_RAID0=y | ||
423 | CONFIG_MD_RAID1=y | ||
424 | CONFIG_MD_RAID10=m | ||
425 | CONFIG_MD_RAID5=y | ||
426 | CONFIG_MD_RAID6=m | ||
427 | CONFIG_MD_MULTIPATH=m | ||
428 | CONFIG_MD_FAULTY=m | ||
429 | CONFIG_BLK_DEV_DM=y | ||
430 | CONFIG_DM_CRYPT=m | ||
431 | CONFIG_DM_SNAPSHOT=m | ||
432 | CONFIG_DM_MIRROR=m | ||
433 | CONFIG_DM_ZERO=m | ||
434 | # CONFIG_DM_MULTIPATH is not set | ||
435 | |||
436 | # | ||
437 | # Fusion MPT device support | ||
438 | # | ||
439 | # CONFIG_FUSION is not set | ||
440 | # CONFIG_FUSION_SPI is not set | ||
441 | # CONFIG_FUSION_FC is not set | ||
442 | # CONFIG_FUSION_SAS is not set | ||
443 | |||
444 | # | ||
445 | # IEEE 1394 (FireWire) support | ||
446 | # | ||
447 | # CONFIG_IEEE1394 is not set | ||
448 | |||
449 | # | ||
450 | # I2O device support | ||
451 | # | ||
452 | # CONFIG_I2O is not set | ||
453 | |||
454 | # | ||
455 | # Macintosh device drivers | ||
456 | # | ||
457 | |||
458 | # | ||
459 | # Network device support | ||
460 | # | ||
461 | CONFIG_NETDEVICES=y | ||
462 | CONFIG_DUMMY=m | ||
463 | CONFIG_BONDING=m | ||
464 | # CONFIG_EQUALIZER is not set | ||
465 | CONFIG_TUN=m | ||
466 | |||
467 | # | ||
468 | # ARCnet devices | ||
469 | # | ||
470 | # CONFIG_ARCNET is not set | ||
471 | |||
472 | # | ||
473 | # PHY device support | ||
474 | # | ||
475 | # CONFIG_PHYLIB is not set | ||
476 | |||
477 | # | ||
478 | # Ethernet (10 or 100Mbit) | ||
479 | # | ||
480 | CONFIG_NET_ETHERNET=y | ||
481 | CONFIG_MII=y | ||
482 | # CONFIG_HAPPYMEAL is not set | ||
483 | # CONFIG_SUNGEM is not set | ||
484 | # CONFIG_CASSINI is not set | ||
485 | # CONFIG_NET_VENDOR_3COM is not set | ||
486 | |||
487 | # | ||
488 | # Tulip family network device support | ||
489 | # | ||
490 | # CONFIG_NET_TULIP is not set | ||
491 | # CONFIG_HP100 is not set | ||
492 | CONFIG_NET_PCI=y | ||
493 | CONFIG_PCNET32=y | ||
494 | # CONFIG_AMD8111_ETH is not set | ||
495 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
496 | # CONFIG_B44 is not set | ||
497 | # CONFIG_FORCEDETH is not set | ||
498 | # CONFIG_DGRS is not set | ||
499 | # CONFIG_EEPRO100 is not set | ||
500 | CONFIG_E100=y | ||
501 | # CONFIG_FEALNX is not set | ||
502 | # CONFIG_NATSEMI is not set | ||
503 | # CONFIG_NE2K_PCI is not set | ||
504 | # CONFIG_8139CP is not set | ||
505 | # CONFIG_8139TOO is not set | ||
506 | # CONFIG_SIS900 is not set | ||
507 | # CONFIG_EPIC100 is not set | ||
508 | # CONFIG_SUNDANCE is not set | ||
509 | # CONFIG_VIA_RHINE is not set | ||
510 | |||
511 | # | ||
512 | # Ethernet (1000 Mbit) | ||
513 | # | ||
514 | CONFIG_ACENIC=m | ||
515 | # CONFIG_ACENIC_OMIT_TIGON_I is not set | ||
516 | # CONFIG_DL2K is not set | ||
517 | CONFIG_E1000=m | ||
518 | # CONFIG_E1000_NAPI is not set | ||
519 | # CONFIG_NS83820 is not set | ||
520 | # CONFIG_HAMACHI is not set | ||
521 | # CONFIG_YELLOWFIN is not set | ||
522 | # CONFIG_R8169 is not set | ||
523 | # CONFIG_SIS190 is not set | ||
524 | # CONFIG_SKGE is not set | ||
525 | # CONFIG_SK98LIN is not set | ||
526 | # CONFIG_VIA_VELOCITY is not set | ||
527 | # CONFIG_TIGON3 is not set | ||
528 | # CONFIG_BNX2 is not set | ||
529 | |||
530 | # | ||
531 | # Ethernet (10000 Mbit) | ||
532 | # | ||
533 | # CONFIG_CHELSIO_T1 is not set | ||
534 | # CONFIG_IXGB is not set | ||
535 | # CONFIG_S2IO is not set | ||
536 | |||
537 | # | ||
538 | # Token Ring devices | ||
539 | # | ||
540 | CONFIG_TR=y | ||
541 | CONFIG_IBMOL=y | ||
542 | # CONFIG_3C359 is not set | ||
543 | # CONFIG_TMS380TR is not set | ||
544 | |||
545 | # | ||
546 | # Wireless LAN (non-hamradio) | ||
547 | # | ||
548 | # CONFIG_NET_RADIO is not set | ||
549 | |||
550 | # | ||
551 | # Wan interfaces | ||
552 | # | ||
553 | # CONFIG_WAN is not set | ||
554 | CONFIG_ISERIES_VETH=y | ||
555 | # CONFIG_FDDI is not set | ||
556 | # CONFIG_HIPPI is not set | ||
557 | CONFIG_PPP=m | ||
558 | # CONFIG_PPP_MULTILINK is not set | ||
559 | # CONFIG_PPP_FILTER is not set | ||
560 | CONFIG_PPP_ASYNC=m | ||
561 | CONFIG_PPP_SYNC_TTY=m | ||
562 | CONFIG_PPP_DEFLATE=m | ||
563 | CONFIG_PPP_BSDCOMP=m | ||
564 | CONFIG_PPPOE=m | ||
565 | # CONFIG_SLIP is not set | ||
566 | # CONFIG_NET_FC is not set | ||
567 | # CONFIG_SHAPER is not set | ||
568 | CONFIG_NETCONSOLE=y | ||
569 | CONFIG_NETPOLL=y | ||
570 | CONFIG_NETPOLL_RX=y | ||
571 | CONFIG_NETPOLL_TRAP=y | ||
572 | CONFIG_NET_POLL_CONTROLLER=y | ||
573 | |||
574 | # | ||
575 | # ISDN subsystem | ||
576 | # | ||
577 | # CONFIG_ISDN is not set | ||
578 | |||
579 | # | ||
580 | # Telephony Support | ||
581 | # | ||
582 | # CONFIG_PHONE is not set | ||
583 | |||
584 | # | ||
585 | # Input device support | ||
586 | # | ||
587 | CONFIG_INPUT=y | ||
588 | |||
589 | # | ||
590 | # Userland interfaces | ||
591 | # | ||
592 | CONFIG_INPUT_MOUSEDEV=y | ||
593 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
594 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
595 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
596 | # CONFIG_INPUT_JOYDEV is not set | ||
597 | # CONFIG_INPUT_TSDEV is not set | ||
598 | # CONFIG_INPUT_EVDEV is not set | ||
599 | # CONFIG_INPUT_EVBUG is not set | ||
600 | |||
601 | # | ||
602 | # Input Device Drivers | ||
603 | # | ||
604 | # CONFIG_INPUT_KEYBOARD is not set | ||
605 | # CONFIG_INPUT_MOUSE is not set | ||
606 | # CONFIG_INPUT_JOYSTICK is not set | ||
607 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
608 | # CONFIG_INPUT_MISC is not set | ||
609 | |||
610 | # | ||
611 | # Hardware I/O ports | ||
612 | # | ||
613 | # CONFIG_SERIO is not set | ||
614 | # CONFIG_GAMEPORT is not set | ||
615 | |||
616 | # | ||
617 | # Character devices | ||
618 | # | ||
619 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
620 | |||
621 | # | ||
622 | # Serial drivers | ||
623 | # | ||
624 | # CONFIG_SERIAL_8250 is not set | ||
625 | |||
626 | # | ||
627 | # Non-8250 serial port support | ||
628 | # | ||
629 | CONFIG_SERIAL_CORE=m | ||
630 | CONFIG_SERIAL_ICOM=m | ||
631 | # CONFIG_SERIAL_JSM is not set | ||
632 | CONFIG_UNIX98_PTYS=y | ||
633 | CONFIG_LEGACY_PTYS=y | ||
634 | CONFIG_LEGACY_PTY_COUNT=256 | ||
635 | |||
636 | # | ||
637 | # IPMI | ||
638 | # | ||
639 | # CONFIG_IPMI_HANDLER is not set | ||
640 | |||
641 | # | ||
642 | # Watchdog Cards | ||
643 | # | ||
644 | # CONFIG_WATCHDOG is not set | ||
645 | # CONFIG_RTC is not set | ||
646 | # CONFIG_DTLK is not set | ||
647 | # CONFIG_R3964 is not set | ||
648 | # CONFIG_APPLICOM is not set | ||
649 | |||
650 | # | ||
651 | # Ftape, the floppy tape device driver | ||
652 | # | ||
653 | # CONFIG_AGP is not set | ||
654 | # CONFIG_DRM is not set | ||
655 | CONFIG_RAW_DRIVER=y | ||
656 | CONFIG_MAX_RAW_DEVS=256 | ||
657 | # CONFIG_HANGCHECK_TIMER is not set | ||
658 | |||
659 | # | ||
660 | # TPM devices | ||
661 | # | ||
662 | # CONFIG_TCG_TPM is not set | ||
663 | |||
664 | # | ||
665 | # I2C support | ||
666 | # | ||
667 | # CONFIG_I2C is not set | ||
668 | |||
669 | # | ||
670 | # Dallas's 1-wire bus | ||
671 | # | ||
672 | # CONFIG_W1 is not set | ||
673 | |||
674 | # | ||
675 | # Hardware Monitoring support | ||
676 | # | ||
677 | # CONFIG_HWMON is not set | ||
678 | # CONFIG_HWMON_VID is not set | ||
679 | |||
680 | # | ||
681 | # Misc devices | ||
682 | # | ||
683 | |||
684 | # | ||
685 | # Multimedia Capabilities Port drivers | ||
686 | # | ||
687 | |||
688 | # | ||
689 | # Multimedia devices | ||
690 | # | ||
691 | # CONFIG_VIDEO_DEV is not set | ||
692 | |||
693 | # | ||
694 | # Digital Video Broadcasting Devices | ||
695 | # | ||
696 | # CONFIG_DVB is not set | ||
697 | |||
698 | # | ||
699 | # Graphics support | ||
700 | # | ||
701 | # CONFIG_FB is not set | ||
702 | |||
703 | # | ||
704 | # Sound | ||
705 | # | ||
706 | # CONFIG_SOUND is not set | ||
707 | |||
708 | # | ||
709 | # USB support | ||
710 | # | ||
711 | CONFIG_USB_ARCH_HAS_HCD=y | ||
712 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
713 | # CONFIG_USB is not set | ||
714 | |||
715 | # | ||
716 | # USB Gadget Support | ||
717 | # | ||
718 | # CONFIG_USB_GADGET is not set | ||
719 | |||
720 | # | ||
721 | # MMC/SD Card support | ||
722 | # | ||
723 | # CONFIG_MMC is not set | ||
724 | |||
725 | # | ||
726 | # InfiniBand support | ||
727 | # | ||
728 | # CONFIG_INFINIBAND is not set | ||
729 | |||
730 | # | ||
731 | # SN Devices | ||
732 | # | ||
733 | |||
734 | # | ||
735 | # File systems | ||
736 | # | ||
737 | CONFIG_EXT2_FS=y | ||
738 | CONFIG_EXT2_FS_XATTR=y | ||
739 | CONFIG_EXT2_FS_POSIX_ACL=y | ||
740 | CONFIG_EXT2_FS_SECURITY=y | ||
741 | CONFIG_EXT2_FS_XIP=y | ||
742 | CONFIG_FS_XIP=y | ||
743 | CONFIG_EXT3_FS=y | ||
744 | CONFIG_EXT3_FS_XATTR=y | ||
745 | CONFIG_EXT3_FS_POSIX_ACL=y | ||
746 | CONFIG_EXT3_FS_SECURITY=y | ||
747 | CONFIG_JBD=y | ||
748 | # CONFIG_JBD_DEBUG is not set | ||
749 | CONFIG_FS_MBCACHE=y | ||
750 | CONFIG_REISERFS_FS=y | ||
751 | # CONFIG_REISERFS_CHECK is not set | ||
752 | # CONFIG_REISERFS_PROC_INFO is not set | ||
753 | CONFIG_REISERFS_FS_XATTR=y | ||
754 | CONFIG_REISERFS_FS_POSIX_ACL=y | ||
755 | CONFIG_REISERFS_FS_SECURITY=y | ||
756 | CONFIG_JFS_FS=m | ||
757 | CONFIG_JFS_POSIX_ACL=y | ||
758 | CONFIG_JFS_SECURITY=y | ||
759 | # CONFIG_JFS_DEBUG is not set | ||
760 | # CONFIG_JFS_STATISTICS is not set | ||
761 | CONFIG_FS_POSIX_ACL=y | ||
762 | CONFIG_XFS_FS=m | ||
763 | CONFIG_XFS_EXPORT=y | ||
764 | # CONFIG_XFS_QUOTA is not set | ||
765 | CONFIG_XFS_SECURITY=y | ||
766 | CONFIG_XFS_POSIX_ACL=y | ||
767 | # CONFIG_XFS_RT is not set | ||
768 | # CONFIG_MINIX_FS is not set | ||
769 | # CONFIG_ROMFS_FS is not set | ||
770 | CONFIG_INOTIFY=y | ||
771 | # CONFIG_QUOTA is not set | ||
772 | CONFIG_DNOTIFY=y | ||
773 | CONFIG_AUTOFS_FS=m | ||
774 | # CONFIG_AUTOFS4_FS is not set | ||
775 | # CONFIG_FUSE_FS is not set | ||
776 | |||
777 | # | ||
778 | # CD-ROM/DVD Filesystems | ||
779 | # | ||
780 | CONFIG_ISO9660_FS=y | ||
781 | CONFIG_JOLIET=y | ||
782 | CONFIG_ZISOFS=y | ||
783 | CONFIG_ZISOFS_FS=y | ||
784 | CONFIG_UDF_FS=m | ||
785 | CONFIG_UDF_NLS=y | ||
786 | |||
787 | # | ||
788 | # DOS/FAT/NT Filesystems | ||
789 | # | ||
790 | CONFIG_FAT_FS=y | ||
791 | CONFIG_MSDOS_FS=y | ||
792 | CONFIG_VFAT_FS=y | ||
793 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
794 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
795 | # CONFIG_NTFS_FS is not set | ||
796 | |||
797 | # | ||
798 | # Pseudo filesystems | ||
799 | # | ||
800 | CONFIG_PROC_FS=y | ||
801 | CONFIG_PROC_KCORE=y | ||
802 | CONFIG_SYSFS=y | ||
803 | CONFIG_TMPFS=y | ||
804 | # CONFIG_HUGETLBFS is not set | ||
805 | # CONFIG_HUGETLB_PAGE is not set | ||
806 | CONFIG_RAMFS=y | ||
807 | # CONFIG_RELAYFS_FS is not set | ||
808 | |||
809 | # | ||
810 | # Miscellaneous filesystems | ||
811 | # | ||
812 | # CONFIG_ADFS_FS is not set | ||
813 | # CONFIG_AFFS_FS is not set | ||
814 | # CONFIG_HFS_FS is not set | ||
815 | # CONFIG_HFSPLUS_FS is not set | ||
816 | # CONFIG_BEFS_FS is not set | ||
817 | # CONFIG_BFS_FS is not set | ||
818 | # CONFIG_EFS_FS is not set | ||
819 | CONFIG_CRAMFS=y | ||
820 | # CONFIG_VXFS_FS is not set | ||
821 | # CONFIG_HPFS_FS is not set | ||
822 | # CONFIG_QNX4FS_FS is not set | ||
823 | # CONFIG_SYSV_FS is not set | ||
824 | # CONFIG_UFS_FS is not set | ||
825 | |||
826 | # | ||
827 | # Network File Systems | ||
828 | # | ||
829 | CONFIG_NFS_FS=y | ||
830 | CONFIG_NFS_V3=y | ||
831 | CONFIG_NFS_V3_ACL=y | ||
832 | CONFIG_NFS_V4=y | ||
833 | # CONFIG_NFS_DIRECTIO is not set | ||
834 | CONFIG_NFSD=m | ||
835 | CONFIG_NFSD_V2_ACL=y | ||
836 | CONFIG_NFSD_V3=y | ||
837 | CONFIG_NFSD_V3_ACL=y | ||
838 | CONFIG_NFSD_V4=y | ||
839 | CONFIG_NFSD_TCP=y | ||
840 | CONFIG_LOCKD=y | ||
841 | CONFIG_LOCKD_V4=y | ||
842 | CONFIG_EXPORTFS=m | ||
843 | CONFIG_NFS_ACL_SUPPORT=y | ||
844 | CONFIG_NFS_COMMON=y | ||
845 | CONFIG_SUNRPC=y | ||
846 | CONFIG_SUNRPC_GSS=y | ||
847 | CONFIG_RPCSEC_GSS_KRB5=y | ||
848 | CONFIG_RPCSEC_GSS_SPKM3=m | ||
849 | # CONFIG_SMB_FS is not set | ||
850 | CONFIG_CIFS=m | ||
851 | # CONFIG_CIFS_STATS is not set | ||
852 | CONFIG_CIFS_XATTR=y | ||
853 | CONFIG_CIFS_POSIX=y | ||
854 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
855 | # CONFIG_NCP_FS is not set | ||
856 | # CONFIG_CODA_FS is not set | ||
857 | # CONFIG_AFS_FS is not set | ||
858 | # CONFIG_9P_FS is not set | ||
859 | |||
860 | # | ||
861 | # Partition Types | ||
862 | # | ||
863 | # CONFIG_PARTITION_ADVANCED is not set | ||
864 | CONFIG_MSDOS_PARTITION=y | ||
865 | |||
866 | # | ||
867 | # Native Language Support | ||
868 | # | ||
869 | CONFIG_NLS=y | ||
870 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
871 | CONFIG_NLS_CODEPAGE_437=y | ||
872 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
873 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
874 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
875 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
876 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
877 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
878 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
879 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
880 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
881 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
882 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
883 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
884 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
885 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
886 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
887 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
888 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
889 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
890 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
891 | # CONFIG_NLS_ISO8859_8 is not set | ||
892 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
893 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
894 | CONFIG_NLS_ASCII=y | ||
895 | CONFIG_NLS_ISO8859_1=y | ||
896 | # CONFIG_NLS_ISO8859_2 is not set | ||
897 | # CONFIG_NLS_ISO8859_3 is not set | ||
898 | # CONFIG_NLS_ISO8859_4 is not set | ||
899 | # CONFIG_NLS_ISO8859_5 is not set | ||
900 | # CONFIG_NLS_ISO8859_6 is not set | ||
901 | # CONFIG_NLS_ISO8859_7 is not set | ||
902 | # CONFIG_NLS_ISO8859_9 is not set | ||
903 | # CONFIG_NLS_ISO8859_13 is not set | ||
904 | # CONFIG_NLS_ISO8859_14 is not set | ||
905 | # CONFIG_NLS_ISO8859_15 is not set | ||
906 | # CONFIG_NLS_KOI8_R is not set | ||
907 | # CONFIG_NLS_KOI8_U is not set | ||
908 | # CONFIG_NLS_UTF8 is not set | ||
909 | |||
910 | # | ||
911 | # iSeries device drivers | ||
912 | # | ||
913 | CONFIG_VIOCONS=y | ||
914 | CONFIG_VIODASD=y | ||
915 | CONFIG_VIOCD=m | ||
916 | CONFIG_VIOTAPE=m | ||
917 | CONFIG_VIOPATH=y | ||
918 | |||
919 | # | ||
920 | # Profiling support | ||
921 | # | ||
922 | CONFIG_PROFILING=y | ||
923 | CONFIG_OPROFILE=y | ||
924 | |||
925 | # | ||
926 | # Kernel hacking | ||
927 | # | ||
928 | # CONFIG_PRINTK_TIME is not set | ||
929 | CONFIG_DEBUG_KERNEL=y | ||
930 | CONFIG_MAGIC_SYSRQ=y | ||
931 | CONFIG_LOG_BUF_SHIFT=17 | ||
932 | CONFIG_DETECT_SOFTLOCKUP=y | ||
933 | # CONFIG_SCHEDSTATS is not set | ||
934 | # CONFIG_DEBUG_SLAB is not set | ||
935 | # CONFIG_DEBUG_SPINLOCK is not set | ||
936 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
937 | # CONFIG_DEBUG_KOBJECT is not set | ||
938 | # CONFIG_DEBUG_INFO is not set | ||
939 | CONFIG_DEBUG_FS=y | ||
940 | CONFIG_DEBUG_STACKOVERFLOW=y | ||
941 | # CONFIG_KPROBES is not set | ||
942 | CONFIG_DEBUG_STACK_USAGE=y | ||
943 | # CONFIG_DEBUGGER is not set | ||
944 | # CONFIG_PPCDBG is not set | ||
945 | CONFIG_IRQSTACKS=y | ||
946 | |||
947 | # | ||
948 | # Security options | ||
949 | # | ||
950 | # CONFIG_KEYS is not set | ||
951 | # CONFIG_SECURITY is not set | ||
952 | |||
953 | # | ||
954 | # Cryptographic options | ||
955 | # | ||
956 | CONFIG_CRYPTO=y | ||
957 | CONFIG_CRYPTO_HMAC=y | ||
958 | CONFIG_CRYPTO_NULL=m | ||
959 | CONFIG_CRYPTO_MD4=m | ||
960 | CONFIG_CRYPTO_MD5=y | ||
961 | CONFIG_CRYPTO_SHA1=m | ||
962 | CONFIG_CRYPTO_SHA256=m | ||
963 | CONFIG_CRYPTO_SHA512=m | ||
964 | CONFIG_CRYPTO_WP512=m | ||
965 | CONFIG_CRYPTO_TGR192=m | ||
966 | CONFIG_CRYPTO_DES=y | ||
967 | CONFIG_CRYPTO_BLOWFISH=m | ||
968 | CONFIG_CRYPTO_TWOFISH=m | ||
969 | CONFIG_CRYPTO_SERPENT=m | ||
970 | CONFIG_CRYPTO_AES=m | ||
971 | CONFIG_CRYPTO_CAST5=m | ||
972 | CONFIG_CRYPTO_CAST6=m | ||
973 | CONFIG_CRYPTO_TEA=m | ||
974 | CONFIG_CRYPTO_ARC4=m | ||
975 | CONFIG_CRYPTO_KHAZAD=m | ||
976 | CONFIG_CRYPTO_ANUBIS=m | ||
977 | CONFIG_CRYPTO_DEFLATE=m | ||
978 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
979 | CONFIG_CRYPTO_CRC32C=m | ||
980 | CONFIG_CRYPTO_TEST=m | ||
981 | |||
982 | # | ||
983 | # Hardware crypto devices | ||
984 | # | ||
985 | |||
986 | # | ||
987 | # Library routines | ||
988 | # | ||
989 | CONFIG_CRC_CCITT=m | ||
990 | # CONFIG_CRC16 is not set | ||
991 | CONFIG_CRC32=y | ||
992 | CONFIG_LIBCRC32C=m | ||
993 | CONFIG_ZLIB_INFLATE=y | ||
994 | CONFIG_ZLIB_DEFLATE=m | ||
995 | CONFIG_TEXTSEARCH=y | ||
996 | CONFIG_TEXTSEARCH_KMP=m | ||
997 | CONFIG_TEXTSEARCH_BM=m | ||
998 | CONFIG_TEXTSEARCH_FSM=m | ||
diff --git a/arch/ppc64/configs/maple_defconfig b/arch/ppc64/configs/maple_defconfig deleted file mode 100644 index 7b480f3d1406..000000000000 --- a/arch/ppc64/configs/maple_defconfig +++ /dev/null | |||
@@ -1,1062 +0,0 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.14-rc4 | ||
4 | # Thu Oct 20 08:31:24 2005 | ||
5 | # | ||
6 | CONFIG_64BIT=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_GENERIC_ISA_DMA=y | ||
11 | CONFIG_EARLY_PRINTK=y | ||
12 | CONFIG_COMPAT=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
16 | |||
17 | # | ||
18 | # Code maturity level options | ||
19 | # | ||
20 | CONFIG_EXPERIMENTAL=y | ||
21 | CONFIG_CLEAN_COMPILE=y | ||
22 | CONFIG_LOCK_KERNEL=y | ||
23 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
24 | |||
25 | # | ||
26 | # General setup | ||
27 | # | ||
28 | CONFIG_LOCALVERSION="" | ||
29 | CONFIG_LOCALVERSION_AUTO=y | ||
30 | CONFIG_SWAP=y | ||
31 | CONFIG_SYSVIPC=y | ||
32 | CONFIG_POSIX_MQUEUE=y | ||
33 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
34 | CONFIG_SYSCTL=y | ||
35 | # CONFIG_AUDIT is not set | ||
36 | # CONFIG_HOTPLUG is not set | ||
37 | CONFIG_KOBJECT_UEVENT=y | ||
38 | CONFIG_IKCONFIG=y | ||
39 | CONFIG_IKCONFIG_PROC=y | ||
40 | # CONFIG_CPUSETS is not set | ||
41 | CONFIG_INITRAMFS_SOURCE="" | ||
42 | # CONFIG_EMBEDDED is not set | ||
43 | CONFIG_KALLSYMS=y | ||
44 | CONFIG_KALLSYMS_ALL=y | ||
45 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
46 | CONFIG_PRINTK=y | ||
47 | CONFIG_BUG=y | ||
48 | CONFIG_BASE_FULL=y | ||
49 | CONFIG_FUTEX=y | ||
50 | CONFIG_EPOLL=y | ||
51 | CONFIG_SHMEM=y | ||
52 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
53 | CONFIG_CC_ALIGN_LABELS=0 | ||
54 | CONFIG_CC_ALIGN_LOOPS=0 | ||
55 | CONFIG_CC_ALIGN_JUMPS=0 | ||
56 | # CONFIG_TINY_SHMEM is not set | ||
57 | CONFIG_BASE_SMALL=0 | ||
58 | |||
59 | # | ||
60 | # Loadable module support | ||
61 | # | ||
62 | CONFIG_MODULES=y | ||
63 | CONFIG_MODULE_UNLOAD=y | ||
64 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
65 | CONFIG_OBSOLETE_MODPARM=y | ||
66 | CONFIG_MODVERSIONS=y | ||
67 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
68 | CONFIG_KMOD=y | ||
69 | CONFIG_STOP_MACHINE=y | ||
70 | CONFIG_SYSVIPC_COMPAT=y | ||
71 | |||
72 | # | ||
73 | # Platform support | ||
74 | # | ||
75 | # CONFIG_PPC_ISERIES is not set | ||
76 | CONFIG_PPC_MULTIPLATFORM=y | ||
77 | # CONFIG_PPC_PSERIES is not set | ||
78 | # CONFIG_PPC_BPA is not set | ||
79 | # CONFIG_PPC_PMAC is not set | ||
80 | CONFIG_PPC_MAPLE=y | ||
81 | CONFIG_PPC=y | ||
82 | CONFIG_PPC64=y | ||
83 | CONFIG_PPC_OF=y | ||
84 | CONFIG_MPIC=y | ||
85 | # CONFIG_ALTIVEC is not set | ||
86 | CONFIG_KEXEC=y | ||
87 | CONFIG_U3_DART=y | ||
88 | CONFIG_MPIC_BROKEN_U3=y | ||
89 | CONFIG_BOOTX_TEXT=y | ||
90 | CONFIG_POWER4_ONLY=y | ||
91 | CONFIG_IOMMU_VMERGE=y | ||
92 | CONFIG_SMP=y | ||
93 | CONFIG_NR_CPUS=2 | ||
94 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
95 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
96 | CONFIG_SELECT_MEMORY_MODEL=y | ||
97 | CONFIG_FLATMEM_MANUAL=y | ||
98 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
99 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
100 | CONFIG_FLATMEM=y | ||
101 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
102 | # CONFIG_SPARSEMEM_STATIC is not set | ||
103 | # CONFIG_NUMA is not set | ||
104 | # CONFIG_SCHED_SMT is not set | ||
105 | CONFIG_PREEMPT_NONE=y | ||
106 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
107 | # CONFIG_PREEMPT is not set | ||
108 | # CONFIG_PREEMPT_BKL is not set | ||
109 | # CONFIG_HZ_100 is not set | ||
110 | CONFIG_HZ_250=y | ||
111 | # CONFIG_HZ_1000 is not set | ||
112 | CONFIG_HZ=250 | ||
113 | CONFIG_GENERIC_HARDIRQS=y | ||
114 | CONFIG_SECCOMP=y | ||
115 | CONFIG_BINFMT_ELF=y | ||
116 | # CONFIG_BINFMT_MISC is not set | ||
117 | CONFIG_PROC_DEVICETREE=y | ||
118 | # CONFIG_CMDLINE_BOOL is not set | ||
119 | CONFIG_ISA_DMA_API=y | ||
120 | |||
121 | # | ||
122 | # Bus Options | ||
123 | # | ||
124 | CONFIG_PCI=y | ||
125 | CONFIG_PCI_DOMAINS=y | ||
126 | CONFIG_PCI_LEGACY_PROC=y | ||
127 | # CONFIG_PCI_DEBUG is not set | ||
128 | |||
129 | # | ||
130 | # PCCARD (PCMCIA/CardBus) support | ||
131 | # | ||
132 | # CONFIG_PCCARD is not set | ||
133 | |||
134 | # | ||
135 | # PCI Hotplug Support | ||
136 | # | ||
137 | # CONFIG_HOTPLUG_PCI is not set | ||
138 | |||
139 | # | ||
140 | # Networking | ||
141 | # | ||
142 | CONFIG_NET=y | ||
143 | |||
144 | # | ||
145 | # Networking options | ||
146 | # | ||
147 | CONFIG_PACKET=y | ||
148 | CONFIG_PACKET_MMAP=y | ||
149 | CONFIG_UNIX=y | ||
150 | # CONFIG_NET_KEY is not set | ||
151 | CONFIG_INET=y | ||
152 | CONFIG_IP_MULTICAST=y | ||
153 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
154 | CONFIG_IP_FIB_HASH=y | ||
155 | CONFIG_IP_PNP=y | ||
156 | CONFIG_IP_PNP_DHCP=y | ||
157 | # CONFIG_IP_PNP_BOOTP is not set | ||
158 | # CONFIG_IP_PNP_RARP is not set | ||
159 | # CONFIG_NET_IPIP is not set | ||
160 | # CONFIG_NET_IPGRE is not set | ||
161 | # CONFIG_IP_MROUTE is not set | ||
162 | # CONFIG_ARPD is not set | ||
163 | # CONFIG_SYN_COOKIES is not set | ||
164 | # CONFIG_INET_AH is not set | ||
165 | # CONFIG_INET_ESP is not set | ||
166 | # CONFIG_INET_IPCOMP is not set | ||
167 | # CONFIG_INET_TUNNEL is not set | ||
168 | CONFIG_INET_DIAG=y | ||
169 | CONFIG_INET_TCP_DIAG=y | ||
170 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
171 | CONFIG_TCP_CONG_BIC=y | ||
172 | # CONFIG_IPV6 is not set | ||
173 | # CONFIG_NETFILTER is not set | ||
174 | |||
175 | # | ||
176 | # DCCP Configuration (EXPERIMENTAL) | ||
177 | # | ||
178 | # CONFIG_IP_DCCP is not set | ||
179 | |||
180 | # | ||
181 | # SCTP Configuration (EXPERIMENTAL) | ||
182 | # | ||
183 | # CONFIG_IP_SCTP is not set | ||
184 | # CONFIG_ATM is not set | ||
185 | # CONFIG_BRIDGE is not set | ||
186 | # CONFIG_VLAN_8021Q is not set | ||
187 | # CONFIG_DECNET is not set | ||
188 | # CONFIG_LLC2 is not set | ||
189 | # CONFIG_IPX is not set | ||
190 | # CONFIG_ATALK is not set | ||
191 | # CONFIG_X25 is not set | ||
192 | # CONFIG_LAPB is not set | ||
193 | # CONFIG_NET_DIVERT is not set | ||
194 | # CONFIG_ECONET is not set | ||
195 | # CONFIG_WAN_ROUTER is not set | ||
196 | # CONFIG_NET_SCHED is not set | ||
197 | # CONFIG_NET_CLS_ROUTE is not set | ||
198 | |||
199 | # | ||
200 | # Network testing | ||
201 | # | ||
202 | # CONFIG_NET_PKTGEN is not set | ||
203 | # CONFIG_HAMRADIO is not set | ||
204 | # CONFIG_IRDA is not set | ||
205 | # CONFIG_BT is not set | ||
206 | # CONFIG_IEEE80211 is not set | ||
207 | |||
208 | # | ||
209 | # Device Drivers | ||
210 | # | ||
211 | |||
212 | # | ||
213 | # Generic Driver Options | ||
214 | # | ||
215 | CONFIG_STANDALONE=y | ||
216 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
217 | # CONFIG_FW_LOADER is not set | ||
218 | # CONFIG_DEBUG_DRIVER is not set | ||
219 | |||
220 | # | ||
221 | # Connector - unified userspace <-> kernelspace linker | ||
222 | # | ||
223 | # CONFIG_CONNECTOR is not set | ||
224 | |||
225 | # | ||
226 | # Memory Technology Devices (MTD) | ||
227 | # | ||
228 | # CONFIG_MTD is not set | ||
229 | |||
230 | # | ||
231 | # Parallel port support | ||
232 | # | ||
233 | # CONFIG_PARPORT is not set | ||
234 | |||
235 | # | ||
236 | # Plug and Play support | ||
237 | # | ||
238 | |||
239 | # | ||
240 | # Block devices | ||
241 | # | ||
242 | # CONFIG_BLK_DEV_FD is not set | ||
243 | # CONFIG_BLK_CPQ_DA is not set | ||
244 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
245 | # CONFIG_BLK_DEV_DAC960 is not set | ||
246 | # CONFIG_BLK_DEV_UMEM is not set | ||
247 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
248 | # CONFIG_BLK_DEV_LOOP is not set | ||
249 | # CONFIG_BLK_DEV_NBD is not set | ||
250 | # CONFIG_BLK_DEV_SX8 is not set | ||
251 | # CONFIG_BLK_DEV_UB is not set | ||
252 | CONFIG_BLK_DEV_RAM=y | ||
253 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
254 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
255 | # CONFIG_BLK_DEV_INITRD is not set | ||
256 | # CONFIG_CDROM_PKTCDVD is not set | ||
257 | |||
258 | # | ||
259 | # IO Schedulers | ||
260 | # | ||
261 | CONFIG_IOSCHED_NOOP=y | ||
262 | CONFIG_IOSCHED_AS=y | ||
263 | CONFIG_IOSCHED_DEADLINE=y | ||
264 | CONFIG_IOSCHED_CFQ=y | ||
265 | # CONFIG_ATA_OVER_ETH is not set | ||
266 | |||
267 | # | ||
268 | # ATA/ATAPI/MFM/RLL support | ||
269 | # | ||
270 | CONFIG_IDE=y | ||
271 | CONFIG_BLK_DEV_IDE=y | ||
272 | |||
273 | # | ||
274 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
275 | # | ||
276 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
277 | CONFIG_BLK_DEV_IDEDISK=y | ||
278 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
279 | CONFIG_BLK_DEV_IDECD=y | ||
280 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
281 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
282 | CONFIG_IDE_TASK_IOCTL=y | ||
283 | |||
284 | # | ||
285 | # IDE chipset support/bugfixes | ||
286 | # | ||
287 | CONFIG_IDE_GENERIC=y | ||
288 | CONFIG_BLK_DEV_IDEPCI=y | ||
289 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
290 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
291 | CONFIG_BLK_DEV_GENERIC=y | ||
292 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
293 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
294 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
295 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
296 | CONFIG_IDEDMA_PCI_AUTO=y | ||
297 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
298 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
299 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
300 | CONFIG_BLK_DEV_AMD74XX=y | ||
301 | # CONFIG_BLK_DEV_CMD64X is not set | ||
302 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
303 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
304 | # CONFIG_BLK_DEV_CS5520 is not set | ||
305 | # CONFIG_BLK_DEV_CS5530 is not set | ||
306 | # CONFIG_BLK_DEV_HPT34X is not set | ||
307 | # CONFIG_BLK_DEV_HPT366 is not set | ||
308 | # CONFIG_BLK_DEV_SC1200 is not set | ||
309 | # CONFIG_BLK_DEV_PIIX is not set | ||
310 | # CONFIG_BLK_DEV_IT821X is not set | ||
311 | # CONFIG_BLK_DEV_NS87415 is not set | ||
312 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
313 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
314 | # CONFIG_BLK_DEV_SVWKS is not set | ||
315 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
316 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
317 | # CONFIG_BLK_DEV_TRM290 is not set | ||
318 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
319 | # CONFIG_IDE_ARM is not set | ||
320 | CONFIG_BLK_DEV_IDEDMA=y | ||
321 | # CONFIG_IDEDMA_IVB is not set | ||
322 | CONFIG_IDEDMA_AUTO=y | ||
323 | # CONFIG_BLK_DEV_HD is not set | ||
324 | |||
325 | # | ||
326 | # SCSI device support | ||
327 | # | ||
328 | # CONFIG_RAID_ATTRS is not set | ||
329 | # CONFIG_SCSI is not set | ||
330 | |||
331 | # | ||
332 | # Multi-device support (RAID and LVM) | ||
333 | # | ||
334 | # CONFIG_MD is not set | ||
335 | |||
336 | # | ||
337 | # Fusion MPT device support | ||
338 | # | ||
339 | # CONFIG_FUSION is not set | ||
340 | |||
341 | # | ||
342 | # IEEE 1394 (FireWire) support | ||
343 | # | ||
344 | # CONFIG_IEEE1394 is not set | ||
345 | |||
346 | # | ||
347 | # I2O device support | ||
348 | # | ||
349 | # CONFIG_I2O is not set | ||
350 | |||
351 | # | ||
352 | # Macintosh device drivers | ||
353 | # | ||
354 | |||
355 | # | ||
356 | # Network device support | ||
357 | # | ||
358 | CONFIG_NETDEVICES=y | ||
359 | # CONFIG_DUMMY is not set | ||
360 | # CONFIG_BONDING is not set | ||
361 | # CONFIG_EQUALIZER is not set | ||
362 | # CONFIG_TUN is not set | ||
363 | |||
364 | # | ||
365 | # ARCnet devices | ||
366 | # | ||
367 | # CONFIG_ARCNET is not set | ||
368 | |||
369 | # | ||
370 | # PHY device support | ||
371 | # | ||
372 | # CONFIG_PHYLIB is not set | ||
373 | |||
374 | # | ||
375 | # Ethernet (10 or 100Mbit) | ||
376 | # | ||
377 | CONFIG_NET_ETHERNET=y | ||
378 | CONFIG_MII=y | ||
379 | # CONFIG_HAPPYMEAL is not set | ||
380 | # CONFIG_SUNGEM is not set | ||
381 | # CONFIG_CASSINI is not set | ||
382 | # CONFIG_NET_VENDOR_3COM is not set | ||
383 | |||
384 | # | ||
385 | # Tulip family network device support | ||
386 | # | ||
387 | # CONFIG_NET_TULIP is not set | ||
388 | # CONFIG_HP100 is not set | ||
389 | CONFIG_NET_PCI=y | ||
390 | # CONFIG_PCNET32 is not set | ||
391 | CONFIG_AMD8111_ETH=y | ||
392 | # CONFIG_AMD8111E_NAPI is not set | ||
393 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
394 | # CONFIG_B44 is not set | ||
395 | # CONFIG_FORCEDETH is not set | ||
396 | # CONFIG_DGRS is not set | ||
397 | # CONFIG_EEPRO100 is not set | ||
398 | # CONFIG_E100 is not set | ||
399 | # CONFIG_FEALNX is not set | ||
400 | # CONFIG_NATSEMI is not set | ||
401 | # CONFIG_NE2K_PCI is not set | ||
402 | # CONFIG_8139CP is not set | ||
403 | # CONFIG_8139TOO is not set | ||
404 | # CONFIG_SIS900 is not set | ||
405 | # CONFIG_EPIC100 is not set | ||
406 | # CONFIG_SUNDANCE is not set | ||
407 | # CONFIG_VIA_RHINE is not set | ||
408 | |||
409 | # | ||
410 | # Ethernet (1000 Mbit) | ||
411 | # | ||
412 | # CONFIG_ACENIC is not set | ||
413 | # CONFIG_DL2K is not set | ||
414 | CONFIG_E1000=y | ||
415 | # CONFIG_E1000_NAPI is not set | ||
416 | # CONFIG_NS83820 is not set | ||
417 | # CONFIG_HAMACHI is not set | ||
418 | # CONFIG_YELLOWFIN is not set | ||
419 | # CONFIG_R8169 is not set | ||
420 | # CONFIG_SIS190 is not set | ||
421 | # CONFIG_SKGE is not set | ||
422 | # CONFIG_SK98LIN is not set | ||
423 | # CONFIG_VIA_VELOCITY is not set | ||
424 | # CONFIG_TIGON3 is not set | ||
425 | # CONFIG_BNX2 is not set | ||
426 | # CONFIG_MV643XX_ETH is not set | ||
427 | |||
428 | # | ||
429 | # Ethernet (10000 Mbit) | ||
430 | # | ||
431 | # CONFIG_CHELSIO_T1 is not set | ||
432 | # CONFIG_IXGB is not set | ||
433 | # CONFIG_S2IO is not set | ||
434 | |||
435 | # | ||
436 | # Token Ring devices | ||
437 | # | ||
438 | # CONFIG_TR is not set | ||
439 | |||
440 | # | ||
441 | # Wireless LAN (non-hamradio) | ||
442 | # | ||
443 | # CONFIG_NET_RADIO is not set | ||
444 | |||
445 | # | ||
446 | # Wan interfaces | ||
447 | # | ||
448 | # CONFIG_WAN is not set | ||
449 | # CONFIG_FDDI is not set | ||
450 | # CONFIG_HIPPI is not set | ||
451 | # CONFIG_PPP is not set | ||
452 | # CONFIG_SLIP is not set | ||
453 | # CONFIG_SHAPER is not set | ||
454 | # CONFIG_NETCONSOLE is not set | ||
455 | # CONFIG_NETPOLL is not set | ||
456 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
457 | |||
458 | # | ||
459 | # ISDN subsystem | ||
460 | # | ||
461 | # CONFIG_ISDN is not set | ||
462 | |||
463 | # | ||
464 | # Telephony Support | ||
465 | # | ||
466 | # CONFIG_PHONE is not set | ||
467 | |||
468 | # | ||
469 | # Input device support | ||
470 | # | ||
471 | CONFIG_INPUT=y | ||
472 | |||
473 | # | ||
474 | # Userland interfaces | ||
475 | # | ||
476 | CONFIG_INPUT_MOUSEDEV=y | ||
477 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
478 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600 | ||
479 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200 | ||
480 | # CONFIG_INPUT_JOYDEV is not set | ||
481 | # CONFIG_INPUT_TSDEV is not set | ||
482 | # CONFIG_INPUT_EVDEV is not set | ||
483 | # CONFIG_INPUT_EVBUG is not set | ||
484 | |||
485 | # | ||
486 | # Input Device Drivers | ||
487 | # | ||
488 | # CONFIG_INPUT_KEYBOARD is not set | ||
489 | # CONFIG_INPUT_MOUSE is not set | ||
490 | # CONFIG_INPUT_JOYSTICK is not set | ||
491 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
492 | # CONFIG_INPUT_MISC is not set | ||
493 | |||
494 | # | ||
495 | # Hardware I/O ports | ||
496 | # | ||
497 | # CONFIG_SERIO is not set | ||
498 | # CONFIG_GAMEPORT is not set | ||
499 | |||
500 | # | ||
501 | # Character devices | ||
502 | # | ||
503 | CONFIG_VT=y | ||
504 | CONFIG_VT_CONSOLE=y | ||
505 | CONFIG_HW_CONSOLE=y | ||
506 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
507 | |||
508 | # | ||
509 | # Serial drivers | ||
510 | # | ||
511 | CONFIG_SERIAL_8250=y | ||
512 | CONFIG_SERIAL_8250_CONSOLE=y | ||
513 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
514 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
515 | |||
516 | # | ||
517 | # Non-8250 serial port support | ||
518 | # | ||
519 | CONFIG_SERIAL_CORE=y | ||
520 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
521 | # CONFIG_SERIAL_JSM is not set | ||
522 | CONFIG_UNIX98_PTYS=y | ||
523 | CONFIG_LEGACY_PTYS=y | ||
524 | CONFIG_LEGACY_PTY_COUNT=256 | ||
525 | |||
526 | # | ||
527 | # IPMI | ||
528 | # | ||
529 | # CONFIG_IPMI_HANDLER is not set | ||
530 | |||
531 | # | ||
532 | # Watchdog Cards | ||
533 | # | ||
534 | # CONFIG_WATCHDOG is not set | ||
535 | # CONFIG_RTC is not set | ||
536 | # CONFIG_DTLK is not set | ||
537 | # CONFIG_R3964 is not set | ||
538 | # CONFIG_APPLICOM is not set | ||
539 | |||
540 | # | ||
541 | # Ftape, the floppy tape device driver | ||
542 | # | ||
543 | # CONFIG_AGP is not set | ||
544 | # CONFIG_DRM is not set | ||
545 | # CONFIG_RAW_DRIVER is not set | ||
546 | # CONFIG_HANGCHECK_TIMER is not set | ||
547 | |||
548 | # | ||
549 | # TPM devices | ||
550 | # | ||
551 | # CONFIG_TCG_TPM is not set | ||
552 | |||
553 | # | ||
554 | # I2C support | ||
555 | # | ||
556 | CONFIG_I2C=y | ||
557 | CONFIG_I2C_CHARDEV=y | ||
558 | |||
559 | # | ||
560 | # I2C Algorithms | ||
561 | # | ||
562 | CONFIG_I2C_ALGOBIT=y | ||
563 | # CONFIG_I2C_ALGOPCF is not set | ||
564 | # CONFIG_I2C_ALGOPCA is not set | ||
565 | |||
566 | # | ||
567 | # I2C Hardware Bus support | ||
568 | # | ||
569 | # CONFIG_I2C_ALI1535 is not set | ||
570 | # CONFIG_I2C_ALI1563 is not set | ||
571 | # CONFIG_I2C_ALI15X3 is not set | ||
572 | # CONFIG_I2C_AMD756 is not set | ||
573 | CONFIG_I2C_AMD8111=y | ||
574 | # CONFIG_I2C_I801 is not set | ||
575 | # CONFIG_I2C_I810 is not set | ||
576 | # CONFIG_I2C_PIIX4 is not set | ||
577 | # CONFIG_I2C_NFORCE2 is not set | ||
578 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
579 | # CONFIG_I2C_PROSAVAGE is not set | ||
580 | # CONFIG_I2C_SAVAGE4 is not set | ||
581 | # CONFIG_SCx200_ACB is not set | ||
582 | # CONFIG_I2C_SIS5595 is not set | ||
583 | # CONFIG_I2C_SIS630 is not set | ||
584 | # CONFIG_I2C_SIS96X is not set | ||
585 | # CONFIG_I2C_STUB is not set | ||
586 | # CONFIG_I2C_VIA is not set | ||
587 | # CONFIG_I2C_VIAPRO is not set | ||
588 | # CONFIG_I2C_VOODOO3 is not set | ||
589 | # CONFIG_I2C_PCA_ISA is not set | ||
590 | |||
591 | # | ||
592 | # Miscellaneous I2C Chip support | ||
593 | # | ||
594 | # CONFIG_SENSORS_DS1337 is not set | ||
595 | # CONFIG_SENSORS_DS1374 is not set | ||
596 | # CONFIG_SENSORS_EEPROM is not set | ||
597 | # CONFIG_SENSORS_PCF8574 is not set | ||
598 | # CONFIG_SENSORS_PCA9539 is not set | ||
599 | # CONFIG_SENSORS_PCF8591 is not set | ||
600 | # CONFIG_SENSORS_RTC8564 is not set | ||
601 | # CONFIG_SENSORS_MAX6875 is not set | ||
602 | # CONFIG_I2C_DEBUG_CORE is not set | ||
603 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
604 | # CONFIG_I2C_DEBUG_BUS is not set | ||
605 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
606 | |||
607 | # | ||
608 | # Dallas's 1-wire bus | ||
609 | # | ||
610 | # CONFIG_W1 is not set | ||
611 | |||
612 | # | ||
613 | # Hardware Monitoring support | ||
614 | # | ||
615 | # CONFIG_HWMON is not set | ||
616 | # CONFIG_HWMON_VID is not set | ||
617 | |||
618 | # | ||
619 | # Misc devices | ||
620 | # | ||
621 | |||
622 | # | ||
623 | # Multimedia Capabilities Port drivers | ||
624 | # | ||
625 | |||
626 | # | ||
627 | # Multimedia devices | ||
628 | # | ||
629 | # CONFIG_VIDEO_DEV is not set | ||
630 | |||
631 | # | ||
632 | # Digital Video Broadcasting Devices | ||
633 | # | ||
634 | # CONFIG_DVB is not set | ||
635 | |||
636 | # | ||
637 | # Graphics support | ||
638 | # | ||
639 | # CONFIG_FB is not set | ||
640 | |||
641 | # | ||
642 | # Console display driver support | ||
643 | # | ||
644 | # CONFIG_VGA_CONSOLE is not set | ||
645 | CONFIG_DUMMY_CONSOLE=y | ||
646 | |||
647 | # | ||
648 | # Sound | ||
649 | # | ||
650 | # CONFIG_SOUND is not set | ||
651 | |||
652 | # | ||
653 | # USB support | ||
654 | # | ||
655 | CONFIG_USB_ARCH_HAS_HCD=y | ||
656 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
657 | CONFIG_USB=y | ||
658 | # CONFIG_USB_DEBUG is not set | ||
659 | |||
660 | # | ||
661 | # Miscellaneous USB options | ||
662 | # | ||
663 | CONFIG_USB_DEVICEFS=y | ||
664 | # CONFIG_USB_BANDWIDTH is not set | ||
665 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
666 | # CONFIG_USB_OTG is not set | ||
667 | |||
668 | # | ||
669 | # USB Host Controller Drivers | ||
670 | # | ||
671 | CONFIG_USB_EHCI_HCD=y | ||
672 | CONFIG_USB_EHCI_SPLIT_ISO=y | ||
673 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | ||
674 | # CONFIG_USB_ISP116X_HCD is not set | ||
675 | CONFIG_USB_OHCI_HCD=y | ||
676 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
677 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
678 | CONFIG_USB_UHCI_HCD=y | ||
679 | # CONFIG_USB_SL811_HCD is not set | ||
680 | |||
681 | # | ||
682 | # USB Device Class drivers | ||
683 | # | ||
684 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
685 | # CONFIG_USB_ACM is not set | ||
686 | # CONFIG_USB_PRINTER is not set | ||
687 | |||
688 | # | ||
689 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | ||
690 | # | ||
691 | # CONFIG_USB_STORAGE is not set | ||
692 | |||
693 | # | ||
694 | # USB Input Devices | ||
695 | # | ||
696 | CONFIG_USB_HID=y | ||
697 | CONFIG_USB_HIDINPUT=y | ||
698 | # CONFIG_HID_FF is not set | ||
699 | # CONFIG_USB_HIDDEV is not set | ||
700 | # CONFIG_USB_AIPTEK is not set | ||
701 | # CONFIG_USB_WACOM is not set | ||
702 | # CONFIG_USB_ACECAD is not set | ||
703 | # CONFIG_USB_KBTAB is not set | ||
704 | # CONFIG_USB_POWERMATE is not set | ||
705 | # CONFIG_USB_MTOUCH is not set | ||
706 | # CONFIG_USB_ITMTOUCH is not set | ||
707 | # CONFIG_USB_EGALAX is not set | ||
708 | # CONFIG_USB_YEALINK is not set | ||
709 | # CONFIG_USB_XPAD is not set | ||
710 | # CONFIG_USB_ATI_REMOTE is not set | ||
711 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
712 | # CONFIG_USB_APPLETOUCH is not set | ||
713 | |||
714 | # | ||
715 | # USB Imaging devices | ||
716 | # | ||
717 | # CONFIG_USB_MDC800 is not set | ||
718 | |||
719 | # | ||
720 | # USB Multimedia devices | ||
721 | # | ||
722 | # CONFIG_USB_DABUSB is not set | ||
723 | |||
724 | # | ||
725 | # Video4Linux support is needed for USB Multimedia device support | ||
726 | # | ||
727 | |||
728 | # | ||
729 | # USB Network Adapters | ||
730 | # | ||
731 | # CONFIG_USB_CATC is not set | ||
732 | # CONFIG_USB_KAWETH is not set | ||
733 | CONFIG_USB_PEGASUS=y | ||
734 | # CONFIG_USB_RTL8150 is not set | ||
735 | # CONFIG_USB_USBNET is not set | ||
736 | CONFIG_USB_MON=y | ||
737 | |||
738 | # | ||
739 | # USB port drivers | ||
740 | # | ||
741 | |||
742 | # | ||
743 | # USB Serial Converter support | ||
744 | # | ||
745 | CONFIG_USB_SERIAL=y | ||
746 | # CONFIG_USB_SERIAL_CONSOLE is not set | ||
747 | CONFIG_USB_SERIAL_GENERIC=y | ||
748 | # CONFIG_USB_SERIAL_AIRPRIME is not set | ||
749 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
750 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
751 | # CONFIG_USB_SERIAL_CP2101 is not set | ||
752 | CONFIG_USB_SERIAL_CYPRESS_M8=m | ||
753 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
754 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | ||
755 | # CONFIG_USB_SERIAL_VISOR is not set | ||
756 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
757 | # CONFIG_USB_SERIAL_IR is not set | ||
758 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
759 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
760 | CONFIG_USB_SERIAL_GARMIN=m | ||
761 | CONFIG_USB_SERIAL_IPW=m | ||
762 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
763 | CONFIG_USB_SERIAL_KEYSPAN=y | ||
764 | CONFIG_USB_SERIAL_KEYSPAN_MPR=y | ||
765 | CONFIG_USB_SERIAL_KEYSPAN_USA28=y | ||
766 | CONFIG_USB_SERIAL_KEYSPAN_USA28X=y | ||
767 | CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y | ||
768 | CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y | ||
769 | CONFIG_USB_SERIAL_KEYSPAN_USA19=y | ||
770 | CONFIG_USB_SERIAL_KEYSPAN_USA18X=y | ||
771 | CONFIG_USB_SERIAL_KEYSPAN_USA19W=y | ||
772 | CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y | ||
773 | CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y | ||
774 | CONFIG_USB_SERIAL_KEYSPAN_USA49W=y | ||
775 | CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | ||
776 | # CONFIG_USB_SERIAL_KLSI is not set | ||
777 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
778 | # CONFIG_USB_SERIAL_MCT_U232 is not set | ||
779 | # CONFIG_USB_SERIAL_PL2303 is not set | ||
780 | # CONFIG_USB_SERIAL_HP4X is not set | ||
781 | # CONFIG_USB_SERIAL_SAFE is not set | ||
782 | CONFIG_USB_SERIAL_TI=m | ||
783 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
784 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
785 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
786 | CONFIG_USB_EZUSB=y | ||
787 | |||
788 | # | ||
789 | # USB Miscellaneous drivers | ||
790 | # | ||
791 | # CONFIG_USB_EMI62 is not set | ||
792 | # CONFIG_USB_EMI26 is not set | ||
793 | # CONFIG_USB_AUERSWALD is not set | ||
794 | # CONFIG_USB_RIO500 is not set | ||
795 | # CONFIG_USB_LEGOTOWER is not set | ||
796 | # CONFIG_USB_LCD is not set | ||
797 | # CONFIG_USB_LED is not set | ||
798 | # CONFIG_USB_CYTHERM is not set | ||
799 | # CONFIG_USB_PHIDGETKIT is not set | ||
800 | # CONFIG_USB_PHIDGETSERVO is not set | ||
801 | # CONFIG_USB_IDMOUSE is not set | ||
802 | # CONFIG_USB_SISUSBVGA is not set | ||
803 | # CONFIG_USB_LD is not set | ||
804 | # CONFIG_USB_TEST is not set | ||
805 | |||
806 | # | ||
807 | # USB DSL modem support | ||
808 | # | ||
809 | |||
810 | # | ||
811 | # USB Gadget Support | ||
812 | # | ||
813 | # CONFIG_USB_GADGET is not set | ||
814 | |||
815 | # | ||
816 | # MMC/SD Card support | ||
817 | # | ||
818 | # CONFIG_MMC is not set | ||
819 | |||
820 | # | ||
821 | # InfiniBand support | ||
822 | # | ||
823 | # CONFIG_INFINIBAND is not set | ||
824 | |||
825 | # | ||
826 | # SN Devices | ||
827 | # | ||
828 | |||
829 | # | ||
830 | # File systems | ||
831 | # | ||
832 | CONFIG_EXT2_FS=y | ||
833 | # CONFIG_EXT2_FS_XATTR is not set | ||
834 | CONFIG_EXT2_FS_XIP=y | ||
835 | CONFIG_FS_XIP=y | ||
836 | CONFIG_EXT3_FS=y | ||
837 | # CONFIG_EXT3_FS_XATTR is not set | ||
838 | CONFIG_JBD=y | ||
839 | # CONFIG_JBD_DEBUG is not set | ||
840 | # CONFIG_REISERFS_FS is not set | ||
841 | # CONFIG_JFS_FS is not set | ||
842 | CONFIG_FS_POSIX_ACL=y | ||
843 | # CONFIG_XFS_FS is not set | ||
844 | # CONFIG_MINIX_FS is not set | ||
845 | # CONFIG_ROMFS_FS is not set | ||
846 | CONFIG_INOTIFY=y | ||
847 | # CONFIG_QUOTA is not set | ||
848 | CONFIG_DNOTIFY=y | ||
849 | # CONFIG_AUTOFS_FS is not set | ||
850 | # CONFIG_AUTOFS4_FS is not set | ||
851 | # CONFIG_FUSE_FS is not set | ||
852 | |||
853 | # | ||
854 | # CD-ROM/DVD Filesystems | ||
855 | # | ||
856 | # CONFIG_ISO9660_FS is not set | ||
857 | # CONFIG_UDF_FS is not set | ||
858 | |||
859 | # | ||
860 | # DOS/FAT/NT Filesystems | ||
861 | # | ||
862 | CONFIG_FAT_FS=y | ||
863 | CONFIG_MSDOS_FS=y | ||
864 | CONFIG_VFAT_FS=y | ||
865 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
866 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
867 | # CONFIG_NTFS_FS is not set | ||
868 | |||
869 | # | ||
870 | # Pseudo filesystems | ||
871 | # | ||
872 | CONFIG_PROC_FS=y | ||
873 | CONFIG_PROC_KCORE=y | ||
874 | CONFIG_SYSFS=y | ||
875 | CONFIG_TMPFS=y | ||
876 | CONFIG_HUGETLBFS=y | ||
877 | CONFIG_HUGETLB_PAGE=y | ||
878 | CONFIG_RAMFS=y | ||
879 | # CONFIG_RELAYFS_FS is not set | ||
880 | |||
881 | # | ||
882 | # Miscellaneous filesystems | ||
883 | # | ||
884 | # CONFIG_ADFS_FS is not set | ||
885 | # CONFIG_AFFS_FS is not set | ||
886 | # CONFIG_HFS_FS is not set | ||
887 | # CONFIG_HFSPLUS_FS is not set | ||
888 | # CONFIG_BEFS_FS is not set | ||
889 | # CONFIG_BFS_FS is not set | ||
890 | # CONFIG_EFS_FS is not set | ||
891 | CONFIG_CRAMFS=y | ||
892 | # CONFIG_VXFS_FS is not set | ||
893 | # CONFIG_HPFS_FS is not set | ||
894 | # CONFIG_QNX4FS_FS is not set | ||
895 | # CONFIG_SYSV_FS is not set | ||
896 | # CONFIG_UFS_FS is not set | ||
897 | |||
898 | # | ||
899 | # Network File Systems | ||
900 | # | ||
901 | CONFIG_NFS_FS=y | ||
902 | CONFIG_NFS_V3=y | ||
903 | CONFIG_NFS_V3_ACL=y | ||
904 | CONFIG_NFS_V4=y | ||
905 | # CONFIG_NFS_DIRECTIO is not set | ||
906 | # CONFIG_NFSD is not set | ||
907 | CONFIG_ROOT_NFS=y | ||
908 | CONFIG_LOCKD=y | ||
909 | CONFIG_LOCKD_V4=y | ||
910 | CONFIG_NFS_ACL_SUPPORT=y | ||
911 | CONFIG_NFS_COMMON=y | ||
912 | CONFIG_SUNRPC=y | ||
913 | CONFIG_SUNRPC_GSS=y | ||
914 | CONFIG_RPCSEC_GSS_KRB5=y | ||
915 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
916 | # CONFIG_SMB_FS is not set | ||
917 | # CONFIG_CIFS is not set | ||
918 | # CONFIG_NCP_FS is not set | ||
919 | # CONFIG_CODA_FS is not set | ||
920 | # CONFIG_AFS_FS is not set | ||
921 | # CONFIG_9P_FS is not set | ||
922 | |||
923 | # | ||
924 | # Partition Types | ||
925 | # | ||
926 | CONFIG_PARTITION_ADVANCED=y | ||
927 | # CONFIG_ACORN_PARTITION is not set | ||
928 | # CONFIG_OSF_PARTITION is not set | ||
929 | # CONFIG_AMIGA_PARTITION is not set | ||
930 | # CONFIG_ATARI_PARTITION is not set | ||
931 | CONFIG_MAC_PARTITION=y | ||
932 | CONFIG_MSDOS_PARTITION=y | ||
933 | # CONFIG_BSD_DISKLABEL is not set | ||
934 | # CONFIG_MINIX_SUBPARTITION is not set | ||
935 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
936 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
937 | # CONFIG_LDM_PARTITION is not set | ||
938 | # CONFIG_SGI_PARTITION is not set | ||
939 | # CONFIG_ULTRIX_PARTITION is not set | ||
940 | # CONFIG_SUN_PARTITION is not set | ||
941 | # CONFIG_EFI_PARTITION is not set | ||
942 | |||
943 | # | ||
944 | # Native Language Support | ||
945 | # | ||
946 | CONFIG_NLS=y | ||
947 | CONFIG_NLS_DEFAULT="utf-8" | ||
948 | # CONFIG_NLS_CODEPAGE_437 is not set | ||
949 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
950 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
951 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
952 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
953 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
954 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
955 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
956 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
957 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
958 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
959 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
960 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
961 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
962 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
963 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
964 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
965 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
966 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
967 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
968 | # CONFIG_NLS_ISO8859_8 is not set | ||
969 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
970 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
971 | # CONFIG_NLS_ASCII is not set | ||
972 | # CONFIG_NLS_ISO8859_1 is not set | ||
973 | # CONFIG_NLS_ISO8859_2 is not set | ||
974 | # CONFIG_NLS_ISO8859_3 is not set | ||
975 | # CONFIG_NLS_ISO8859_4 is not set | ||
976 | # CONFIG_NLS_ISO8859_5 is not set | ||
977 | # CONFIG_NLS_ISO8859_6 is not set | ||
978 | # CONFIG_NLS_ISO8859_7 is not set | ||
979 | # CONFIG_NLS_ISO8859_9 is not set | ||
980 | # CONFIG_NLS_ISO8859_13 is not set | ||
981 | # CONFIG_NLS_ISO8859_14 is not set | ||
982 | # CONFIG_NLS_ISO8859_15 is not set | ||
983 | # CONFIG_NLS_KOI8_R is not set | ||
984 | # CONFIG_NLS_KOI8_U is not set | ||
985 | CONFIG_NLS_UTF8=y | ||
986 | |||
987 | # | ||
988 | # Profiling support | ||
989 | # | ||
990 | # CONFIG_PROFILING is not set | ||
991 | |||
992 | # | ||
993 | # Kernel hacking | ||
994 | # | ||
995 | # CONFIG_PRINTK_TIME is not set | ||
996 | CONFIG_DEBUG_KERNEL=y | ||
997 | CONFIG_MAGIC_SYSRQ=y | ||
998 | CONFIG_LOG_BUF_SHIFT=17 | ||
999 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1000 | # CONFIG_SCHEDSTATS is not set | ||
1001 | CONFIG_DEBUG_SLAB=y | ||
1002 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1003 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
1004 | # CONFIG_DEBUG_KOBJECT is not set | ||
1005 | # CONFIG_DEBUG_INFO is not set | ||
1006 | CONFIG_DEBUG_FS=y | ||
1007 | CONFIG_DEBUG_STACKOVERFLOW=y | ||
1008 | # CONFIG_KPROBES is not set | ||
1009 | CONFIG_DEBUG_STACK_USAGE=y | ||
1010 | CONFIG_DEBUGGER=y | ||
1011 | CONFIG_XMON=y | ||
1012 | CONFIG_XMON_DEFAULT=y | ||
1013 | # CONFIG_PPCDBG is not set | ||
1014 | # CONFIG_IRQSTACKS is not set | ||
1015 | |||
1016 | # | ||
1017 | # Security options | ||
1018 | # | ||
1019 | # CONFIG_KEYS is not set | ||
1020 | # CONFIG_SECURITY is not set | ||
1021 | |||
1022 | # | ||
1023 | # Cryptographic options | ||
1024 | # | ||
1025 | CONFIG_CRYPTO=y | ||
1026 | # CONFIG_CRYPTO_HMAC is not set | ||
1027 | # CONFIG_CRYPTO_NULL is not set | ||
1028 | # CONFIG_CRYPTO_MD4 is not set | ||
1029 | CONFIG_CRYPTO_MD5=y | ||
1030 | # CONFIG_CRYPTO_SHA1 is not set | ||
1031 | # CONFIG_CRYPTO_SHA256 is not set | ||
1032 | # CONFIG_CRYPTO_SHA512 is not set | ||
1033 | # CONFIG_CRYPTO_WP512 is not set | ||
1034 | # CONFIG_CRYPTO_TGR192 is not set | ||
1035 | CONFIG_CRYPTO_DES=y | ||
1036 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1037 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1038 | # CONFIG_CRYPTO_SERPENT is not set | ||
1039 | # CONFIG_CRYPTO_AES is not set | ||
1040 | # CONFIG_CRYPTO_CAST5 is not set | ||
1041 | # CONFIG_CRYPTO_CAST6 is not set | ||
1042 | # CONFIG_CRYPTO_TEA is not set | ||
1043 | # CONFIG_CRYPTO_ARC4 is not set | ||
1044 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1045 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1046 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1047 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1048 | # CONFIG_CRYPTO_CRC32C is not set | ||
1049 | # CONFIG_CRYPTO_TEST is not set | ||
1050 | |||
1051 | # | ||
1052 | # Hardware crypto devices | ||
1053 | # | ||
1054 | |||
1055 | # | ||
1056 | # Library routines | ||
1057 | # | ||
1058 | CONFIG_CRC_CCITT=y | ||
1059 | # CONFIG_CRC16 is not set | ||
1060 | CONFIG_CRC32=y | ||
1061 | # CONFIG_LIBCRC32C is not set | ||
1062 | CONFIG_ZLIB_INFLATE=y | ||
diff --git a/arch/ppc64/configs/pSeries_defconfig b/arch/ppc64/configs/pSeries_defconfig deleted file mode 100644 index 9f09dff9e11a..000000000000 --- a/arch/ppc64/configs/pSeries_defconfig +++ /dev/null | |||
@@ -1,1371 +0,0 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.14-rc4 | ||
4 | # Thu Oct 20 08:32:17 2005 | ||
5 | # | ||
6 | CONFIG_64BIT=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_GENERIC_ISA_DMA=y | ||
11 | CONFIG_EARLY_PRINTK=y | ||
12 | CONFIG_COMPAT=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
16 | |||
17 | # | ||
18 | # Code maturity level options | ||
19 | # | ||
20 | CONFIG_EXPERIMENTAL=y | ||
21 | CONFIG_CLEAN_COMPILE=y | ||
22 | CONFIG_LOCK_KERNEL=y | ||
23 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
24 | |||
25 | # | ||
26 | # General setup | ||
27 | # | ||
28 | CONFIG_LOCALVERSION="" | ||
29 | CONFIG_LOCALVERSION_AUTO=y | ||
30 | CONFIG_SWAP=y | ||
31 | CONFIG_SYSVIPC=y | ||
32 | CONFIG_POSIX_MQUEUE=y | ||
33 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
34 | CONFIG_SYSCTL=y | ||
35 | CONFIG_AUDIT=y | ||
36 | CONFIG_AUDITSYSCALL=y | ||
37 | CONFIG_HOTPLUG=y | ||
38 | CONFIG_KOBJECT_UEVENT=y | ||
39 | CONFIG_IKCONFIG=y | ||
40 | CONFIG_IKCONFIG_PROC=y | ||
41 | CONFIG_CPUSETS=y | ||
42 | CONFIG_INITRAMFS_SOURCE="" | ||
43 | # CONFIG_EMBEDDED is not set | ||
44 | CONFIG_KALLSYMS=y | ||
45 | CONFIG_KALLSYMS_ALL=y | ||
46 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
47 | CONFIG_PRINTK=y | ||
48 | CONFIG_BUG=y | ||
49 | CONFIG_BASE_FULL=y | ||
50 | CONFIG_FUTEX=y | ||
51 | CONFIG_EPOLL=y | ||
52 | CONFIG_SHMEM=y | ||
53 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
54 | CONFIG_CC_ALIGN_LABELS=0 | ||
55 | CONFIG_CC_ALIGN_LOOPS=0 | ||
56 | CONFIG_CC_ALIGN_JUMPS=0 | ||
57 | # CONFIG_TINY_SHMEM is not set | ||
58 | CONFIG_BASE_SMALL=0 | ||
59 | |||
60 | # | ||
61 | # Loadable module support | ||
62 | # | ||
63 | CONFIG_MODULES=y | ||
64 | CONFIG_MODULE_UNLOAD=y | ||
65 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
66 | CONFIG_OBSOLETE_MODPARM=y | ||
67 | CONFIG_MODVERSIONS=y | ||
68 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
69 | CONFIG_KMOD=y | ||
70 | CONFIG_STOP_MACHINE=y | ||
71 | CONFIG_SYSVIPC_COMPAT=y | ||
72 | |||
73 | # | ||
74 | # Platform support | ||
75 | # | ||
76 | # CONFIG_PPC_ISERIES is not set | ||
77 | CONFIG_PPC_MULTIPLATFORM=y | ||
78 | CONFIG_PPC_PSERIES=y | ||
79 | # CONFIG_PPC_BPA is not set | ||
80 | # CONFIG_PPC_PMAC is not set | ||
81 | # CONFIG_PPC_MAPLE is not set | ||
82 | CONFIG_PPC=y | ||
83 | CONFIG_PPC64=y | ||
84 | CONFIG_PPC_OF=y | ||
85 | CONFIG_XICS=y | ||
86 | CONFIG_MPIC=y | ||
87 | CONFIG_ALTIVEC=y | ||
88 | CONFIG_PPC_SPLPAR=y | ||
89 | CONFIG_KEXEC=y | ||
90 | CONFIG_IBMVIO=y | ||
91 | # CONFIG_U3_DART is not set | ||
92 | # CONFIG_BOOTX_TEXT is not set | ||
93 | # CONFIG_POWER4_ONLY is not set | ||
94 | CONFIG_IOMMU_VMERGE=y | ||
95 | CONFIG_SMP=y | ||
96 | CONFIG_NR_CPUS=128 | ||
97 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
98 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
99 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
100 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y | ||
101 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
102 | CONFIG_SELECT_MEMORY_MODEL=y | ||
103 | # CONFIG_FLATMEM_MANUAL is not set | ||
104 | CONFIG_DISCONTIGMEM_MANUAL=y | ||
105 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
106 | CONFIG_DISCONTIGMEM=y | ||
107 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
108 | CONFIG_NEED_MULTIPLE_NODES=y | ||
109 | # CONFIG_SPARSEMEM_STATIC is not set | ||
110 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y | ||
111 | CONFIG_NODES_SPAN_OTHER_NODES=y | ||
112 | CONFIG_NUMA=y | ||
113 | CONFIG_SCHED_SMT=y | ||
114 | CONFIG_PREEMPT_NONE=y | ||
115 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
116 | # CONFIG_PREEMPT is not set | ||
117 | # CONFIG_PREEMPT_BKL is not set | ||
118 | # CONFIG_HZ_100 is not set | ||
119 | CONFIG_HZ_250=y | ||
120 | # CONFIG_HZ_1000 is not set | ||
121 | CONFIG_HZ=250 | ||
122 | CONFIG_EEH=y | ||
123 | CONFIG_GENERIC_HARDIRQS=y | ||
124 | CONFIG_PPC_RTAS=y | ||
125 | CONFIG_RTAS_PROC=y | ||
126 | CONFIG_RTAS_FLASH=m | ||
127 | CONFIG_SCANLOG=m | ||
128 | CONFIG_LPARCFG=y | ||
129 | CONFIG_SECCOMP=y | ||
130 | CONFIG_BINFMT_ELF=y | ||
131 | # CONFIG_BINFMT_MISC is not set | ||
132 | CONFIG_HOTPLUG_CPU=y | ||
133 | CONFIG_PROC_DEVICETREE=y | ||
134 | # CONFIG_CMDLINE_BOOL is not set | ||
135 | CONFIG_ISA_DMA_API=y | ||
136 | |||
137 | # | ||
138 | # Bus Options | ||
139 | # | ||
140 | CONFIG_PCI=y | ||
141 | CONFIG_PCI_DOMAINS=y | ||
142 | CONFIG_PCI_LEGACY_PROC=y | ||
143 | # CONFIG_PCI_DEBUG is not set | ||
144 | |||
145 | # | ||
146 | # PCCARD (PCMCIA/CardBus) support | ||
147 | # | ||
148 | # CONFIG_PCCARD is not set | ||
149 | |||
150 | # | ||
151 | # PCI Hotplug Support | ||
152 | # | ||
153 | CONFIG_HOTPLUG_PCI=m | ||
154 | # CONFIG_HOTPLUG_PCI_FAKE is not set | ||
155 | # CONFIG_HOTPLUG_PCI_CPCI is not set | ||
156 | # CONFIG_HOTPLUG_PCI_SHPC is not set | ||
157 | CONFIG_HOTPLUG_PCI_RPA=m | ||
158 | CONFIG_HOTPLUG_PCI_RPA_DLPAR=m | ||
159 | |||
160 | # | ||
161 | # Networking | ||
162 | # | ||
163 | CONFIG_NET=y | ||
164 | |||
165 | # | ||
166 | # Networking options | ||
167 | # | ||
168 | CONFIG_PACKET=y | ||
169 | # CONFIG_PACKET_MMAP is not set | ||
170 | CONFIG_UNIX=y | ||
171 | CONFIG_XFRM=y | ||
172 | CONFIG_XFRM_USER=m | ||
173 | CONFIG_NET_KEY=m | ||
174 | CONFIG_INET=y | ||
175 | CONFIG_IP_MULTICAST=y | ||
176 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
177 | CONFIG_IP_FIB_HASH=y | ||
178 | # CONFIG_IP_PNP is not set | ||
179 | CONFIG_NET_IPIP=y | ||
180 | # CONFIG_NET_IPGRE is not set | ||
181 | # CONFIG_IP_MROUTE is not set | ||
182 | # CONFIG_ARPD is not set | ||
183 | CONFIG_SYN_COOKIES=y | ||
184 | CONFIG_INET_AH=m | ||
185 | CONFIG_INET_ESP=m | ||
186 | CONFIG_INET_IPCOMP=m | ||
187 | CONFIG_INET_TUNNEL=y | ||
188 | CONFIG_INET_DIAG=y | ||
189 | CONFIG_INET_TCP_DIAG=y | ||
190 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
191 | CONFIG_TCP_CONG_BIC=y | ||
192 | |||
193 | # | ||
194 | # IP: Virtual Server Configuration | ||
195 | # | ||
196 | # CONFIG_IP_VS is not set | ||
197 | # CONFIG_IPV6 is not set | ||
198 | CONFIG_NETFILTER=y | ||
199 | # CONFIG_NETFILTER_DEBUG is not set | ||
200 | CONFIG_NETFILTER_NETLINK=y | ||
201 | CONFIG_NETFILTER_NETLINK_QUEUE=m | ||
202 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
203 | |||
204 | # | ||
205 | # IP: Netfilter Configuration | ||
206 | # | ||
207 | CONFIG_IP_NF_CONNTRACK=m | ||
208 | CONFIG_IP_NF_CT_ACCT=y | ||
209 | CONFIG_IP_NF_CONNTRACK_MARK=y | ||
210 | CONFIG_IP_NF_CONNTRACK_EVENTS=y | ||
211 | CONFIG_IP_NF_CONNTRACK_NETLINK=m | ||
212 | CONFIG_IP_NF_CT_PROTO_SCTP=m | ||
213 | CONFIG_IP_NF_FTP=m | ||
214 | CONFIG_IP_NF_IRC=m | ||
215 | # CONFIG_IP_NF_NETBIOS_NS is not set | ||
216 | CONFIG_IP_NF_TFTP=m | ||
217 | CONFIG_IP_NF_AMANDA=m | ||
218 | # CONFIG_IP_NF_PPTP is not set | ||
219 | CONFIG_IP_NF_QUEUE=m | ||
220 | CONFIG_IP_NF_IPTABLES=m | ||
221 | CONFIG_IP_NF_MATCH_LIMIT=m | ||
222 | CONFIG_IP_NF_MATCH_IPRANGE=m | ||
223 | CONFIG_IP_NF_MATCH_MAC=m | ||
224 | CONFIG_IP_NF_MATCH_PKTTYPE=m | ||
225 | CONFIG_IP_NF_MATCH_MARK=m | ||
226 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
227 | CONFIG_IP_NF_MATCH_TOS=m | ||
228 | CONFIG_IP_NF_MATCH_RECENT=m | ||
229 | CONFIG_IP_NF_MATCH_ECN=m | ||
230 | CONFIG_IP_NF_MATCH_DSCP=m | ||
231 | CONFIG_IP_NF_MATCH_AH_ESP=m | ||
232 | CONFIG_IP_NF_MATCH_LENGTH=m | ||
233 | CONFIG_IP_NF_MATCH_TTL=m | ||
234 | CONFIG_IP_NF_MATCH_TCPMSS=m | ||
235 | CONFIG_IP_NF_MATCH_HELPER=m | ||
236 | CONFIG_IP_NF_MATCH_STATE=m | ||
237 | CONFIG_IP_NF_MATCH_CONNTRACK=m | ||
238 | CONFIG_IP_NF_MATCH_OWNER=m | ||
239 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | ||
240 | CONFIG_IP_NF_MATCH_REALM=m | ||
241 | CONFIG_IP_NF_MATCH_SCTP=m | ||
242 | # CONFIG_IP_NF_MATCH_DCCP is not set | ||
243 | CONFIG_IP_NF_MATCH_COMMENT=m | ||
244 | CONFIG_IP_NF_MATCH_CONNMARK=m | ||
245 | CONFIG_IP_NF_MATCH_CONNBYTES=m | ||
246 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | ||
247 | CONFIG_IP_NF_MATCH_STRING=m | ||
248 | CONFIG_IP_NF_FILTER=m | ||
249 | CONFIG_IP_NF_TARGET_REJECT=m | ||
250 | CONFIG_IP_NF_TARGET_LOG=m | ||
251 | CONFIG_IP_NF_TARGET_ULOG=m | ||
252 | CONFIG_IP_NF_TARGET_TCPMSS=m | ||
253 | CONFIG_IP_NF_TARGET_NFQUEUE=m | ||
254 | CONFIG_IP_NF_NAT=m | ||
255 | CONFIG_IP_NF_NAT_NEEDED=y | ||
256 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
257 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
258 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
259 | CONFIG_IP_NF_TARGET_SAME=m | ||
260 | CONFIG_IP_NF_NAT_SNMP_BASIC=m | ||
261 | CONFIG_IP_NF_NAT_IRC=m | ||
262 | CONFIG_IP_NF_NAT_FTP=m | ||
263 | CONFIG_IP_NF_NAT_TFTP=m | ||
264 | CONFIG_IP_NF_NAT_AMANDA=m | ||
265 | CONFIG_IP_NF_MANGLE=m | ||
266 | CONFIG_IP_NF_TARGET_TOS=m | ||
267 | CONFIG_IP_NF_TARGET_ECN=m | ||
268 | CONFIG_IP_NF_TARGET_DSCP=m | ||
269 | CONFIG_IP_NF_TARGET_MARK=m | ||
270 | CONFIG_IP_NF_TARGET_CLASSIFY=m | ||
271 | CONFIG_IP_NF_TARGET_TTL=m | ||
272 | CONFIG_IP_NF_TARGET_CONNMARK=m | ||
273 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
274 | CONFIG_IP_NF_RAW=m | ||
275 | CONFIG_IP_NF_TARGET_NOTRACK=m | ||
276 | CONFIG_IP_NF_ARPTABLES=m | ||
277 | CONFIG_IP_NF_ARPFILTER=m | ||
278 | CONFIG_IP_NF_ARP_MANGLE=m | ||
279 | |||
280 | # | ||
281 | # DCCP Configuration (EXPERIMENTAL) | ||
282 | # | ||
283 | # CONFIG_IP_DCCP is not set | ||
284 | |||
285 | # | ||
286 | # SCTP Configuration (EXPERIMENTAL) | ||
287 | # | ||
288 | # CONFIG_IP_SCTP is not set | ||
289 | # CONFIG_ATM is not set | ||
290 | # CONFIG_BRIDGE is not set | ||
291 | # CONFIG_VLAN_8021Q is not set | ||
292 | # CONFIG_DECNET is not set | ||
293 | CONFIG_LLC=y | ||
294 | # CONFIG_LLC2 is not set | ||
295 | # CONFIG_IPX is not set | ||
296 | # CONFIG_ATALK is not set | ||
297 | # CONFIG_X25 is not set | ||
298 | # CONFIG_LAPB is not set | ||
299 | # CONFIG_NET_DIVERT is not set | ||
300 | # CONFIG_ECONET is not set | ||
301 | # CONFIG_WAN_ROUTER is not set | ||
302 | # CONFIG_NET_SCHED is not set | ||
303 | CONFIG_NET_CLS_ROUTE=y | ||
304 | |||
305 | # | ||
306 | # Network testing | ||
307 | # | ||
308 | # CONFIG_NET_PKTGEN is not set | ||
309 | # CONFIG_HAMRADIO is not set | ||
310 | # CONFIG_IRDA is not set | ||
311 | # CONFIG_BT is not set | ||
312 | # CONFIG_IEEE80211 is not set | ||
313 | |||
314 | # | ||
315 | # Device Drivers | ||
316 | # | ||
317 | |||
318 | # | ||
319 | # Generic Driver Options | ||
320 | # | ||
321 | CONFIG_STANDALONE=y | ||
322 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
323 | CONFIG_FW_LOADER=y | ||
324 | # CONFIG_DEBUG_DRIVER is not set | ||
325 | |||
326 | # | ||
327 | # Connector - unified userspace <-> kernelspace linker | ||
328 | # | ||
329 | # CONFIG_CONNECTOR is not set | ||
330 | |||
331 | # | ||
332 | # Memory Technology Devices (MTD) | ||
333 | # | ||
334 | # CONFIG_MTD is not set | ||
335 | |||
336 | # | ||
337 | # Parallel port support | ||
338 | # | ||
339 | CONFIG_PARPORT=m | ||
340 | CONFIG_PARPORT_PC=m | ||
341 | # CONFIG_PARPORT_SERIAL is not set | ||
342 | # CONFIG_PARPORT_PC_FIFO is not set | ||
343 | # CONFIG_PARPORT_PC_SUPERIO is not set | ||
344 | # CONFIG_PARPORT_GSC is not set | ||
345 | # CONFIG_PARPORT_1284 is not set | ||
346 | |||
347 | # | ||
348 | # Plug and Play support | ||
349 | # | ||
350 | |||
351 | # | ||
352 | # Block devices | ||
353 | # | ||
354 | CONFIG_BLK_DEV_FD=m | ||
355 | # CONFIG_PARIDE is not set | ||
356 | # CONFIG_BLK_CPQ_DA is not set | ||
357 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
358 | # CONFIG_BLK_DEV_DAC960 is not set | ||
359 | # CONFIG_BLK_DEV_UMEM is not set | ||
360 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
361 | CONFIG_BLK_DEV_LOOP=y | ||
362 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
363 | CONFIG_BLK_DEV_NBD=m | ||
364 | # CONFIG_BLK_DEV_SX8 is not set | ||
365 | # CONFIG_BLK_DEV_UB is not set | ||
366 | CONFIG_BLK_DEV_RAM=y | ||
367 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
368 | CONFIG_BLK_DEV_RAM_SIZE=65536 | ||
369 | CONFIG_BLK_DEV_INITRD=y | ||
370 | # CONFIG_CDROM_PKTCDVD is not set | ||
371 | |||
372 | # | ||
373 | # IO Schedulers | ||
374 | # | ||
375 | CONFIG_IOSCHED_NOOP=y | ||
376 | CONFIG_IOSCHED_AS=y | ||
377 | CONFIG_IOSCHED_DEADLINE=y | ||
378 | CONFIG_IOSCHED_CFQ=y | ||
379 | # CONFIG_ATA_OVER_ETH is not set | ||
380 | |||
381 | # | ||
382 | # ATA/ATAPI/MFM/RLL support | ||
383 | # | ||
384 | CONFIG_IDE=y | ||
385 | CONFIG_BLK_DEV_IDE=y | ||
386 | |||
387 | # | ||
388 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
389 | # | ||
390 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
391 | CONFIG_BLK_DEV_IDEDISK=y | ||
392 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
393 | CONFIG_BLK_DEV_IDECD=y | ||
394 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
395 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
396 | # CONFIG_BLK_DEV_IDESCSI is not set | ||
397 | # CONFIG_IDE_TASK_IOCTL is not set | ||
398 | |||
399 | # | ||
400 | # IDE chipset support/bugfixes | ||
401 | # | ||
402 | CONFIG_IDE_GENERIC=y | ||
403 | CONFIG_BLK_DEV_IDEPCI=y | ||
404 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
405 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
406 | CONFIG_BLK_DEV_GENERIC=y | ||
407 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
408 | CONFIG_BLK_DEV_SL82C105=y | ||
409 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
410 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
411 | CONFIG_IDEDMA_PCI_AUTO=y | ||
412 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
413 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
414 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
415 | CONFIG_BLK_DEV_AMD74XX=y | ||
416 | # CONFIG_BLK_DEV_CMD64X is not set | ||
417 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
418 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
419 | # CONFIG_BLK_DEV_CS5520 is not set | ||
420 | # CONFIG_BLK_DEV_CS5530 is not set | ||
421 | # CONFIG_BLK_DEV_HPT34X is not set | ||
422 | # CONFIG_BLK_DEV_HPT366 is not set | ||
423 | # CONFIG_BLK_DEV_SC1200 is not set | ||
424 | # CONFIG_BLK_DEV_PIIX is not set | ||
425 | # CONFIG_BLK_DEV_IT821X is not set | ||
426 | # CONFIG_BLK_DEV_NS87415 is not set | ||
427 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
428 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
429 | # CONFIG_BLK_DEV_SVWKS is not set | ||
430 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
431 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
432 | # CONFIG_BLK_DEV_TRM290 is not set | ||
433 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
434 | # CONFIG_IDE_ARM is not set | ||
435 | CONFIG_BLK_DEV_IDEDMA=y | ||
436 | # CONFIG_IDEDMA_IVB is not set | ||
437 | CONFIG_IDEDMA_AUTO=y | ||
438 | # CONFIG_BLK_DEV_HD is not set | ||
439 | |||
440 | # | ||
441 | # SCSI device support | ||
442 | # | ||
443 | # CONFIG_RAID_ATTRS is not set | ||
444 | CONFIG_SCSI=y | ||
445 | CONFIG_SCSI_PROC_FS=y | ||
446 | |||
447 | # | ||
448 | # SCSI support type (disk, tape, CD-ROM) | ||
449 | # | ||
450 | CONFIG_BLK_DEV_SD=y | ||
451 | CONFIG_CHR_DEV_ST=y | ||
452 | # CONFIG_CHR_DEV_OSST is not set | ||
453 | CONFIG_BLK_DEV_SR=y | ||
454 | CONFIG_BLK_DEV_SR_VENDOR=y | ||
455 | CONFIG_CHR_DEV_SG=y | ||
456 | # CONFIG_CHR_DEV_SCH is not set | ||
457 | |||
458 | # | ||
459 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
460 | # | ||
461 | CONFIG_SCSI_MULTI_LUN=y | ||
462 | CONFIG_SCSI_CONSTANTS=y | ||
463 | # CONFIG_SCSI_LOGGING is not set | ||
464 | |||
465 | # | ||
466 | # SCSI Transport Attributes | ||
467 | # | ||
468 | CONFIG_SCSI_SPI_ATTRS=y | ||
469 | CONFIG_SCSI_FC_ATTRS=y | ||
470 | CONFIG_SCSI_ISCSI_ATTRS=m | ||
471 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
472 | |||
473 | # | ||
474 | # SCSI low-level drivers | ||
475 | # | ||
476 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | ||
477 | # CONFIG_SCSI_3W_9XXX is not set | ||
478 | # CONFIG_SCSI_ACARD is not set | ||
479 | # CONFIG_SCSI_AACRAID is not set | ||
480 | # CONFIG_SCSI_AIC7XXX is not set | ||
481 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
482 | # CONFIG_SCSI_AIC79XX is not set | ||
483 | # CONFIG_MEGARAID_NEWGEN is not set | ||
484 | # CONFIG_MEGARAID_LEGACY is not set | ||
485 | # CONFIG_MEGARAID_SAS is not set | ||
486 | # CONFIG_SCSI_SATA is not set | ||
487 | # CONFIG_SCSI_BUSLOGIC is not set | ||
488 | # CONFIG_SCSI_DMX3191D is not set | ||
489 | # CONFIG_SCSI_EATA is not set | ||
490 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
491 | # CONFIG_SCSI_GDTH is not set | ||
492 | # CONFIG_SCSI_IPS is not set | ||
493 | CONFIG_SCSI_IBMVSCSI=y | ||
494 | # CONFIG_SCSI_INITIO is not set | ||
495 | # CONFIG_SCSI_INIA100 is not set | ||
496 | # CONFIG_SCSI_PPA is not set | ||
497 | # CONFIG_SCSI_IMM is not set | ||
498 | CONFIG_SCSI_SYM53C8XX_2=y | ||
499 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 | ||
500 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | ||
501 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | ||
502 | # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set | ||
503 | CONFIG_SCSI_IPR=y | ||
504 | CONFIG_SCSI_IPR_TRACE=y | ||
505 | CONFIG_SCSI_IPR_DUMP=y | ||
506 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
507 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
508 | CONFIG_SCSI_QLA2XXX=y | ||
509 | CONFIG_SCSI_QLA21XX=m | ||
510 | CONFIG_SCSI_QLA22XX=m | ||
511 | CONFIG_SCSI_QLA2300=m | ||
512 | CONFIG_SCSI_QLA2322=m | ||
513 | CONFIG_SCSI_QLA6312=m | ||
514 | CONFIG_SCSI_QLA24XX=m | ||
515 | CONFIG_SCSI_LPFC=m | ||
516 | # CONFIG_SCSI_DC395x is not set | ||
517 | # CONFIG_SCSI_DC390T is not set | ||
518 | # CONFIG_SCSI_DEBUG is not set | ||
519 | |||
520 | # | ||
521 | # Multi-device support (RAID and LVM) | ||
522 | # | ||
523 | CONFIG_MD=y | ||
524 | CONFIG_BLK_DEV_MD=y | ||
525 | CONFIG_MD_LINEAR=y | ||
526 | CONFIG_MD_RAID0=y | ||
527 | CONFIG_MD_RAID1=y | ||
528 | CONFIG_MD_RAID10=m | ||
529 | CONFIG_MD_RAID5=y | ||
530 | CONFIG_MD_RAID6=m | ||
531 | CONFIG_MD_MULTIPATH=m | ||
532 | CONFIG_MD_FAULTY=m | ||
533 | CONFIG_BLK_DEV_DM=y | ||
534 | CONFIG_DM_CRYPT=m | ||
535 | CONFIG_DM_SNAPSHOT=m | ||
536 | CONFIG_DM_MIRROR=m | ||
537 | CONFIG_DM_ZERO=m | ||
538 | CONFIG_DM_MULTIPATH=m | ||
539 | CONFIG_DM_MULTIPATH_EMC=m | ||
540 | |||
541 | # | ||
542 | # Fusion MPT device support | ||
543 | # | ||
544 | # CONFIG_FUSION is not set | ||
545 | # CONFIG_FUSION_SPI is not set | ||
546 | # CONFIG_FUSION_FC is not set | ||
547 | # CONFIG_FUSION_SAS is not set | ||
548 | |||
549 | # | ||
550 | # IEEE 1394 (FireWire) support | ||
551 | # | ||
552 | # CONFIG_IEEE1394 is not set | ||
553 | |||
554 | # | ||
555 | # I2O device support | ||
556 | # | ||
557 | # CONFIG_I2O is not set | ||
558 | |||
559 | # | ||
560 | # Macintosh device drivers | ||
561 | # | ||
562 | |||
563 | # | ||
564 | # Network device support | ||
565 | # | ||
566 | CONFIG_NETDEVICES=y | ||
567 | CONFIG_DUMMY=m | ||
568 | CONFIG_BONDING=m | ||
569 | # CONFIG_EQUALIZER is not set | ||
570 | CONFIG_TUN=m | ||
571 | |||
572 | # | ||
573 | # ARCnet devices | ||
574 | # | ||
575 | # CONFIG_ARCNET is not set | ||
576 | |||
577 | # | ||
578 | # PHY device support | ||
579 | # | ||
580 | # CONFIG_PHYLIB is not set | ||
581 | |||
582 | # | ||
583 | # Ethernet (10 or 100Mbit) | ||
584 | # | ||
585 | CONFIG_NET_ETHERNET=y | ||
586 | CONFIG_MII=y | ||
587 | # CONFIG_HAPPYMEAL is not set | ||
588 | # CONFIG_SUNGEM is not set | ||
589 | # CONFIG_CASSINI is not set | ||
590 | CONFIG_NET_VENDOR_3COM=y | ||
591 | CONFIG_VORTEX=y | ||
592 | # CONFIG_TYPHOON is not set | ||
593 | |||
594 | # | ||
595 | # Tulip family network device support | ||
596 | # | ||
597 | # CONFIG_NET_TULIP is not set | ||
598 | # CONFIG_HP100 is not set | ||
599 | CONFIG_IBMVETH=y | ||
600 | CONFIG_NET_PCI=y | ||
601 | CONFIG_PCNET32=y | ||
602 | # CONFIG_AMD8111_ETH is not set | ||
603 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
604 | # CONFIG_B44 is not set | ||
605 | # CONFIG_FORCEDETH is not set | ||
606 | # CONFIG_DGRS is not set | ||
607 | # CONFIG_EEPRO100 is not set | ||
608 | CONFIG_E100=y | ||
609 | # CONFIG_FEALNX is not set | ||
610 | # CONFIG_NATSEMI is not set | ||
611 | # CONFIG_NE2K_PCI is not set | ||
612 | # CONFIG_8139CP is not set | ||
613 | # CONFIG_8139TOO is not set | ||
614 | # CONFIG_SIS900 is not set | ||
615 | # CONFIG_EPIC100 is not set | ||
616 | # CONFIG_SUNDANCE is not set | ||
617 | # CONFIG_VIA_RHINE is not set | ||
618 | # CONFIG_NET_POCKET is not set | ||
619 | |||
620 | # | ||
621 | # Ethernet (1000 Mbit) | ||
622 | # | ||
623 | CONFIG_ACENIC=y | ||
624 | CONFIG_ACENIC_OMIT_TIGON_I=y | ||
625 | # CONFIG_DL2K is not set | ||
626 | CONFIG_E1000=y | ||
627 | # CONFIG_E1000_NAPI is not set | ||
628 | # CONFIG_NS83820 is not set | ||
629 | # CONFIG_HAMACHI is not set | ||
630 | # CONFIG_YELLOWFIN is not set | ||
631 | # CONFIG_R8169 is not set | ||
632 | # CONFIG_SIS190 is not set | ||
633 | # CONFIG_SKGE is not set | ||
634 | # CONFIG_SK98LIN is not set | ||
635 | # CONFIG_VIA_VELOCITY is not set | ||
636 | CONFIG_TIGON3=y | ||
637 | # CONFIG_BNX2 is not set | ||
638 | # CONFIG_MV643XX_ETH is not set | ||
639 | |||
640 | # | ||
641 | # Ethernet (10000 Mbit) | ||
642 | # | ||
643 | # CONFIG_CHELSIO_T1 is not set | ||
644 | CONFIG_IXGB=m | ||
645 | # CONFIG_IXGB_NAPI is not set | ||
646 | CONFIG_S2IO=m | ||
647 | # CONFIG_S2IO_NAPI is not set | ||
648 | # CONFIG_2BUFF_MODE is not set | ||
649 | |||
650 | # | ||
651 | # Token Ring devices | ||
652 | # | ||
653 | CONFIG_TR=y | ||
654 | CONFIG_IBMOL=y | ||
655 | # CONFIG_3C359 is not set | ||
656 | # CONFIG_TMS380TR is not set | ||
657 | |||
658 | # | ||
659 | # Wireless LAN (non-hamradio) | ||
660 | # | ||
661 | # CONFIG_NET_RADIO is not set | ||
662 | |||
663 | # | ||
664 | # Wan interfaces | ||
665 | # | ||
666 | # CONFIG_WAN is not set | ||
667 | # CONFIG_FDDI is not set | ||
668 | # CONFIG_HIPPI is not set | ||
669 | # CONFIG_PLIP is not set | ||
670 | CONFIG_PPP=m | ||
671 | # CONFIG_PPP_MULTILINK is not set | ||
672 | # CONFIG_PPP_FILTER is not set | ||
673 | CONFIG_PPP_ASYNC=m | ||
674 | CONFIG_PPP_SYNC_TTY=m | ||
675 | CONFIG_PPP_DEFLATE=m | ||
676 | CONFIG_PPP_BSDCOMP=m | ||
677 | CONFIG_PPPOE=m | ||
678 | # CONFIG_SLIP is not set | ||
679 | # CONFIG_NET_FC is not set | ||
680 | # CONFIG_SHAPER is not set | ||
681 | CONFIG_NETCONSOLE=y | ||
682 | CONFIG_NETPOLL=y | ||
683 | CONFIG_NETPOLL_RX=y | ||
684 | CONFIG_NETPOLL_TRAP=y | ||
685 | CONFIG_NET_POLL_CONTROLLER=y | ||
686 | |||
687 | # | ||
688 | # ISDN subsystem | ||
689 | # | ||
690 | # CONFIG_ISDN is not set | ||
691 | |||
692 | # | ||
693 | # Telephony Support | ||
694 | # | ||
695 | # CONFIG_PHONE is not set | ||
696 | |||
697 | # | ||
698 | # Input device support | ||
699 | # | ||
700 | CONFIG_INPUT=y | ||
701 | |||
702 | # | ||
703 | # Userland interfaces | ||
704 | # | ||
705 | CONFIG_INPUT_MOUSEDEV=y | ||
706 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
707 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
708 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
709 | # CONFIG_INPUT_JOYDEV is not set | ||
710 | # CONFIG_INPUT_TSDEV is not set | ||
711 | # CONFIG_INPUT_EVDEV is not set | ||
712 | # CONFIG_INPUT_EVBUG is not set | ||
713 | |||
714 | # | ||
715 | # Input Device Drivers | ||
716 | # | ||
717 | CONFIG_INPUT_KEYBOARD=y | ||
718 | CONFIG_KEYBOARD_ATKBD=y | ||
719 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
720 | # CONFIG_KEYBOARD_LKKBD is not set | ||
721 | # CONFIG_KEYBOARD_XTKBD is not set | ||
722 | # CONFIG_KEYBOARD_NEWTON is not set | ||
723 | CONFIG_INPUT_MOUSE=y | ||
724 | CONFIG_MOUSE_PS2=y | ||
725 | # CONFIG_MOUSE_SERIAL is not set | ||
726 | # CONFIG_MOUSE_VSXXXAA is not set | ||
727 | # CONFIG_INPUT_JOYSTICK is not set | ||
728 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
729 | CONFIG_INPUT_MISC=y | ||
730 | CONFIG_INPUT_PCSPKR=m | ||
731 | # CONFIG_INPUT_UINPUT is not set | ||
732 | |||
733 | # | ||
734 | # Hardware I/O ports | ||
735 | # | ||
736 | CONFIG_SERIO=y | ||
737 | CONFIG_SERIO_I8042=y | ||
738 | # CONFIG_SERIO_SERPORT is not set | ||
739 | # CONFIG_SERIO_PARKBD is not set | ||
740 | # CONFIG_SERIO_PCIPS2 is not set | ||
741 | CONFIG_SERIO_LIBPS2=y | ||
742 | # CONFIG_SERIO_RAW is not set | ||
743 | # CONFIG_GAMEPORT is not set | ||
744 | |||
745 | # | ||
746 | # Character devices | ||
747 | # | ||
748 | CONFIG_VT=y | ||
749 | CONFIG_VT_CONSOLE=y | ||
750 | CONFIG_HW_CONSOLE=y | ||
751 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
752 | |||
753 | # | ||
754 | # Serial drivers | ||
755 | # | ||
756 | CONFIG_SERIAL_8250=y | ||
757 | CONFIG_SERIAL_8250_CONSOLE=y | ||
758 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
759 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
760 | |||
761 | # | ||
762 | # Non-8250 serial port support | ||
763 | # | ||
764 | CONFIG_SERIAL_CORE=y | ||
765 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
766 | CONFIG_SERIAL_ICOM=m | ||
767 | # CONFIG_SERIAL_JSM is not set | ||
768 | CONFIG_UNIX98_PTYS=y | ||
769 | CONFIG_LEGACY_PTYS=y | ||
770 | CONFIG_LEGACY_PTY_COUNT=256 | ||
771 | # CONFIG_PRINTER is not set | ||
772 | # CONFIG_PPDEV is not set | ||
773 | # CONFIG_TIPAR is not set | ||
774 | CONFIG_HVC_CONSOLE=y | ||
775 | CONFIG_HVCS=m | ||
776 | |||
777 | # | ||
778 | # IPMI | ||
779 | # | ||
780 | # CONFIG_IPMI_HANDLER is not set | ||
781 | |||
782 | # | ||
783 | # Watchdog Cards | ||
784 | # | ||
785 | # CONFIG_WATCHDOG is not set | ||
786 | # CONFIG_RTC is not set | ||
787 | # CONFIG_DTLK is not set | ||
788 | # CONFIG_R3964 is not set | ||
789 | # CONFIG_APPLICOM is not set | ||
790 | |||
791 | # | ||
792 | # Ftape, the floppy tape device driver | ||
793 | # | ||
794 | # CONFIG_AGP is not set | ||
795 | # CONFIG_DRM is not set | ||
796 | CONFIG_RAW_DRIVER=y | ||
797 | CONFIG_MAX_RAW_DEVS=1024 | ||
798 | # CONFIG_HANGCHECK_TIMER is not set | ||
799 | |||
800 | # | ||
801 | # TPM devices | ||
802 | # | ||
803 | # CONFIG_TCG_TPM is not set | ||
804 | |||
805 | # | ||
806 | # I2C support | ||
807 | # | ||
808 | CONFIG_I2C=y | ||
809 | # CONFIG_I2C_CHARDEV is not set | ||
810 | |||
811 | # | ||
812 | # I2C Algorithms | ||
813 | # | ||
814 | CONFIG_I2C_ALGOBIT=y | ||
815 | # CONFIG_I2C_ALGOPCF is not set | ||
816 | # CONFIG_I2C_ALGOPCA is not set | ||
817 | |||
818 | # | ||
819 | # I2C Hardware Bus support | ||
820 | # | ||
821 | # CONFIG_I2C_ALI1535 is not set | ||
822 | # CONFIG_I2C_ALI1563 is not set | ||
823 | # CONFIG_I2C_ALI15X3 is not set | ||
824 | # CONFIG_I2C_AMD756 is not set | ||
825 | # CONFIG_I2C_AMD8111 is not set | ||
826 | # CONFIG_I2C_I801 is not set | ||
827 | # CONFIG_I2C_I810 is not set | ||
828 | # CONFIG_I2C_PIIX4 is not set | ||
829 | # CONFIG_I2C_NFORCE2 is not set | ||
830 | # CONFIG_I2C_PARPORT is not set | ||
831 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
832 | # CONFIG_I2C_PROSAVAGE is not set | ||
833 | # CONFIG_I2C_SAVAGE4 is not set | ||
834 | # CONFIG_SCx200_ACB is not set | ||
835 | # CONFIG_I2C_SIS5595 is not set | ||
836 | # CONFIG_I2C_SIS630 is not set | ||
837 | # CONFIG_I2C_SIS96X is not set | ||
838 | # CONFIG_I2C_STUB is not set | ||
839 | # CONFIG_I2C_VIA is not set | ||
840 | # CONFIG_I2C_VIAPRO is not set | ||
841 | # CONFIG_I2C_VOODOO3 is not set | ||
842 | # CONFIG_I2C_PCA_ISA is not set | ||
843 | |||
844 | # | ||
845 | # Miscellaneous I2C Chip support | ||
846 | # | ||
847 | # CONFIG_SENSORS_DS1337 is not set | ||
848 | # CONFIG_SENSORS_DS1374 is not set | ||
849 | # CONFIG_SENSORS_EEPROM is not set | ||
850 | # CONFIG_SENSORS_PCF8574 is not set | ||
851 | # CONFIG_SENSORS_PCA9539 is not set | ||
852 | # CONFIG_SENSORS_PCF8591 is not set | ||
853 | # CONFIG_SENSORS_RTC8564 is not set | ||
854 | # CONFIG_SENSORS_MAX6875 is not set | ||
855 | # CONFIG_I2C_DEBUG_CORE is not set | ||
856 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
857 | # CONFIG_I2C_DEBUG_BUS is not set | ||
858 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
859 | |||
860 | # | ||
861 | # Dallas's 1-wire bus | ||
862 | # | ||
863 | # CONFIG_W1 is not set | ||
864 | |||
865 | # | ||
866 | # Hardware Monitoring support | ||
867 | # | ||
868 | # CONFIG_HWMON is not set | ||
869 | # CONFIG_HWMON_VID is not set | ||
870 | |||
871 | # | ||
872 | # Misc devices | ||
873 | # | ||
874 | |||
875 | # | ||
876 | # Multimedia Capabilities Port drivers | ||
877 | # | ||
878 | |||
879 | # | ||
880 | # Multimedia devices | ||
881 | # | ||
882 | # CONFIG_VIDEO_DEV is not set | ||
883 | |||
884 | # | ||
885 | # Digital Video Broadcasting Devices | ||
886 | # | ||
887 | # CONFIG_DVB is not set | ||
888 | |||
889 | # | ||
890 | # Graphics support | ||
891 | # | ||
892 | CONFIG_FB=y | ||
893 | CONFIG_FB_CFB_FILLRECT=y | ||
894 | CONFIG_FB_CFB_COPYAREA=y | ||
895 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
896 | CONFIG_FB_SOFT_CURSOR=y | ||
897 | CONFIG_FB_MACMODES=y | ||
898 | CONFIG_FB_MODE_HELPERS=y | ||
899 | CONFIG_FB_TILEBLITTING=y | ||
900 | # CONFIG_FB_CIRRUS is not set | ||
901 | # CONFIG_FB_PM2 is not set | ||
902 | # CONFIG_FB_CYBER2000 is not set | ||
903 | CONFIG_FB_OF=y | ||
904 | # CONFIG_FB_CT65550 is not set | ||
905 | # CONFIG_FB_ASILIANT is not set | ||
906 | # CONFIG_FB_IMSTT is not set | ||
907 | # CONFIG_FB_VGA16 is not set | ||
908 | # CONFIG_FB_NVIDIA is not set | ||
909 | # CONFIG_FB_RIVA is not set | ||
910 | CONFIG_FB_MATROX=y | ||
911 | CONFIG_FB_MATROX_MILLENIUM=y | ||
912 | CONFIG_FB_MATROX_MYSTIQUE=y | ||
913 | CONFIG_FB_MATROX_G=y | ||
914 | # CONFIG_FB_MATROX_I2C is not set | ||
915 | CONFIG_FB_MATROX_MULTIHEAD=y | ||
916 | # CONFIG_FB_RADEON_OLD is not set | ||
917 | CONFIG_FB_RADEON=y | ||
918 | CONFIG_FB_RADEON_I2C=y | ||
919 | # CONFIG_FB_RADEON_DEBUG is not set | ||
920 | # CONFIG_FB_ATY128 is not set | ||
921 | # CONFIG_FB_ATY is not set | ||
922 | # CONFIG_FB_SAVAGE is not set | ||
923 | # CONFIG_FB_SIS is not set | ||
924 | # CONFIG_FB_NEOMAGIC is not set | ||
925 | # CONFIG_FB_KYRO is not set | ||
926 | # CONFIG_FB_3DFX is not set | ||
927 | # CONFIG_FB_VOODOO1 is not set | ||
928 | # CONFIG_FB_CYBLA is not set | ||
929 | # CONFIG_FB_TRIDENT is not set | ||
930 | # CONFIG_FB_S1D13XXX is not set | ||
931 | # CONFIG_FB_VIRTUAL is not set | ||
932 | |||
933 | # | ||
934 | # Console display driver support | ||
935 | # | ||
936 | # CONFIG_VGA_CONSOLE is not set | ||
937 | CONFIG_DUMMY_CONSOLE=y | ||
938 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
939 | # CONFIG_FONTS is not set | ||
940 | CONFIG_FONT_8x8=y | ||
941 | CONFIG_FONT_8x16=y | ||
942 | |||
943 | # | ||
944 | # Logo configuration | ||
945 | # | ||
946 | CONFIG_LOGO=y | ||
947 | CONFIG_LOGO_LINUX_MONO=y | ||
948 | CONFIG_LOGO_LINUX_VGA16=y | ||
949 | CONFIG_LOGO_LINUX_CLUT224=y | ||
950 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
951 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | ||
952 | CONFIG_BACKLIGHT_DEVICE=y | ||
953 | CONFIG_LCD_CLASS_DEVICE=m | ||
954 | CONFIG_LCD_DEVICE=y | ||
955 | |||
956 | # | ||
957 | # Sound | ||
958 | # | ||
959 | # CONFIG_SOUND is not set | ||
960 | |||
961 | # | ||
962 | # USB support | ||
963 | # | ||
964 | CONFIG_USB_ARCH_HAS_HCD=y | ||
965 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
966 | CONFIG_USB=y | ||
967 | # CONFIG_USB_DEBUG is not set | ||
968 | |||
969 | # | ||
970 | # Miscellaneous USB options | ||
971 | # | ||
972 | CONFIG_USB_DEVICEFS=y | ||
973 | # CONFIG_USB_BANDWIDTH is not set | ||
974 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
975 | # CONFIG_USB_OTG is not set | ||
976 | |||
977 | # | ||
978 | # USB Host Controller Drivers | ||
979 | # | ||
980 | CONFIG_USB_EHCI_HCD=y | ||
981 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | ||
982 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | ||
983 | # CONFIG_USB_ISP116X_HCD is not set | ||
984 | CONFIG_USB_OHCI_HCD=y | ||
985 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
986 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
987 | # CONFIG_USB_UHCI_HCD is not set | ||
988 | # CONFIG_USB_SL811_HCD is not set | ||
989 | |||
990 | # | ||
991 | # USB Device Class drivers | ||
992 | # | ||
993 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
994 | # CONFIG_USB_ACM is not set | ||
995 | # CONFIG_USB_PRINTER is not set | ||
996 | |||
997 | # | ||
998 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | ||
999 | # | ||
1000 | CONFIG_USB_STORAGE=y | ||
1001 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1002 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
1003 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1004 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1005 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1006 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1007 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1008 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1009 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1010 | |||
1011 | # | ||
1012 | # USB Input Devices | ||
1013 | # | ||
1014 | CONFIG_USB_HID=y | ||
1015 | CONFIG_USB_HIDINPUT=y | ||
1016 | # CONFIG_HID_FF is not set | ||
1017 | CONFIG_USB_HIDDEV=y | ||
1018 | # CONFIG_USB_AIPTEK is not set | ||
1019 | # CONFIG_USB_WACOM is not set | ||
1020 | # CONFIG_USB_ACECAD is not set | ||
1021 | # CONFIG_USB_KBTAB is not set | ||
1022 | # CONFIG_USB_POWERMATE is not set | ||
1023 | # CONFIG_USB_MTOUCH is not set | ||
1024 | # CONFIG_USB_ITMTOUCH is not set | ||
1025 | # CONFIG_USB_EGALAX is not set | ||
1026 | # CONFIG_USB_YEALINK is not set | ||
1027 | # CONFIG_USB_XPAD is not set | ||
1028 | # CONFIG_USB_ATI_REMOTE is not set | ||
1029 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
1030 | # CONFIG_USB_APPLETOUCH is not set | ||
1031 | |||
1032 | # | ||
1033 | # USB Imaging devices | ||
1034 | # | ||
1035 | # CONFIG_USB_MDC800 is not set | ||
1036 | # CONFIG_USB_MICROTEK is not set | ||
1037 | |||
1038 | # | ||
1039 | # USB Multimedia devices | ||
1040 | # | ||
1041 | # CONFIG_USB_DABUSB is not set | ||
1042 | |||
1043 | # | ||
1044 | # Video4Linux support is needed for USB Multimedia device support | ||
1045 | # | ||
1046 | |||
1047 | # | ||
1048 | # USB Network Adapters | ||
1049 | # | ||
1050 | # CONFIG_USB_CATC is not set | ||
1051 | # CONFIG_USB_KAWETH is not set | ||
1052 | # CONFIG_USB_PEGASUS is not set | ||
1053 | # CONFIG_USB_RTL8150 is not set | ||
1054 | # CONFIG_USB_USBNET is not set | ||
1055 | CONFIG_USB_MON=y | ||
1056 | |||
1057 | # | ||
1058 | # USB port drivers | ||
1059 | # | ||
1060 | # CONFIG_USB_USS720 is not set | ||
1061 | |||
1062 | # | ||
1063 | # USB Serial Converter support | ||
1064 | # | ||
1065 | # CONFIG_USB_SERIAL is not set | ||
1066 | |||
1067 | # | ||
1068 | # USB Miscellaneous drivers | ||
1069 | # | ||
1070 | # CONFIG_USB_EMI62 is not set | ||
1071 | # CONFIG_USB_EMI26 is not set | ||
1072 | # CONFIG_USB_AUERSWALD is not set | ||
1073 | # CONFIG_USB_RIO500 is not set | ||
1074 | # CONFIG_USB_LEGOTOWER is not set | ||
1075 | # CONFIG_USB_LCD is not set | ||
1076 | # CONFIG_USB_LED is not set | ||
1077 | # CONFIG_USB_CYTHERM is not set | ||
1078 | # CONFIG_USB_PHIDGETKIT is not set | ||
1079 | # CONFIG_USB_PHIDGETSERVO is not set | ||
1080 | # CONFIG_USB_IDMOUSE is not set | ||
1081 | # CONFIG_USB_SISUSBVGA is not set | ||
1082 | # CONFIG_USB_LD is not set | ||
1083 | # CONFIG_USB_TEST is not set | ||
1084 | |||
1085 | # | ||
1086 | # USB DSL modem support | ||
1087 | # | ||
1088 | |||
1089 | # | ||
1090 | # USB Gadget Support | ||
1091 | # | ||
1092 | # CONFIG_USB_GADGET is not set | ||
1093 | |||
1094 | # | ||
1095 | # MMC/SD Card support | ||
1096 | # | ||
1097 | # CONFIG_MMC is not set | ||
1098 | |||
1099 | # | ||
1100 | # InfiniBand support | ||
1101 | # | ||
1102 | CONFIG_INFINIBAND=m | ||
1103 | # CONFIG_INFINIBAND_USER_MAD is not set | ||
1104 | # CONFIG_INFINIBAND_USER_ACCESS is not set | ||
1105 | CONFIG_INFINIBAND_MTHCA=m | ||
1106 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set | ||
1107 | CONFIG_INFINIBAND_IPOIB=m | ||
1108 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | ||
1109 | |||
1110 | # | ||
1111 | # SN Devices | ||
1112 | # | ||
1113 | |||
1114 | # | ||
1115 | # File systems | ||
1116 | # | ||
1117 | CONFIG_EXT2_FS=y | ||
1118 | CONFIG_EXT2_FS_XATTR=y | ||
1119 | CONFIG_EXT2_FS_POSIX_ACL=y | ||
1120 | CONFIG_EXT2_FS_SECURITY=y | ||
1121 | CONFIG_EXT2_FS_XIP=y | ||
1122 | CONFIG_FS_XIP=y | ||
1123 | CONFIG_EXT3_FS=y | ||
1124 | CONFIG_EXT3_FS_XATTR=y | ||
1125 | CONFIG_EXT3_FS_POSIX_ACL=y | ||
1126 | CONFIG_EXT3_FS_SECURITY=y | ||
1127 | CONFIG_JBD=y | ||
1128 | # CONFIG_JBD_DEBUG is not set | ||
1129 | CONFIG_FS_MBCACHE=y | ||
1130 | CONFIG_REISERFS_FS=y | ||
1131 | # CONFIG_REISERFS_CHECK is not set | ||
1132 | # CONFIG_REISERFS_PROC_INFO is not set | ||
1133 | CONFIG_REISERFS_FS_XATTR=y | ||
1134 | CONFIG_REISERFS_FS_POSIX_ACL=y | ||
1135 | CONFIG_REISERFS_FS_SECURITY=y | ||
1136 | CONFIG_JFS_FS=m | ||
1137 | CONFIG_JFS_POSIX_ACL=y | ||
1138 | CONFIG_JFS_SECURITY=y | ||
1139 | # CONFIG_JFS_DEBUG is not set | ||
1140 | # CONFIG_JFS_STATISTICS is not set | ||
1141 | CONFIG_FS_POSIX_ACL=y | ||
1142 | CONFIG_XFS_FS=m | ||
1143 | CONFIG_XFS_EXPORT=y | ||
1144 | # CONFIG_XFS_QUOTA is not set | ||
1145 | CONFIG_XFS_SECURITY=y | ||
1146 | CONFIG_XFS_POSIX_ACL=y | ||
1147 | # CONFIG_XFS_RT is not set | ||
1148 | # CONFIG_MINIX_FS is not set | ||
1149 | # CONFIG_ROMFS_FS is not set | ||
1150 | CONFIG_INOTIFY=y | ||
1151 | # CONFIG_QUOTA is not set | ||
1152 | CONFIG_DNOTIFY=y | ||
1153 | CONFIG_AUTOFS_FS=m | ||
1154 | # CONFIG_AUTOFS4_FS is not set | ||
1155 | # CONFIG_FUSE_FS is not set | ||
1156 | |||
1157 | # | ||
1158 | # CD-ROM/DVD Filesystems | ||
1159 | # | ||
1160 | CONFIG_ISO9660_FS=y | ||
1161 | CONFIG_JOLIET=y | ||
1162 | CONFIG_ZISOFS=y | ||
1163 | CONFIG_ZISOFS_FS=y | ||
1164 | CONFIG_UDF_FS=m | ||
1165 | CONFIG_UDF_NLS=y | ||
1166 | |||
1167 | # | ||
1168 | # DOS/FAT/NT Filesystems | ||
1169 | # | ||
1170 | CONFIG_FAT_FS=y | ||
1171 | CONFIG_MSDOS_FS=y | ||
1172 | CONFIG_VFAT_FS=y | ||
1173 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1174 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1175 | # CONFIG_NTFS_FS is not set | ||
1176 | |||
1177 | # | ||
1178 | # Pseudo filesystems | ||
1179 | # | ||
1180 | CONFIG_PROC_FS=y | ||
1181 | CONFIG_PROC_KCORE=y | ||
1182 | CONFIG_SYSFS=y | ||
1183 | CONFIG_TMPFS=y | ||
1184 | CONFIG_HUGETLBFS=y | ||
1185 | CONFIG_HUGETLB_PAGE=y | ||
1186 | CONFIG_RAMFS=y | ||
1187 | # CONFIG_RELAYFS_FS is not set | ||
1188 | |||
1189 | # | ||
1190 | # Miscellaneous filesystems | ||
1191 | # | ||
1192 | # CONFIG_ADFS_FS is not set | ||
1193 | # CONFIG_AFFS_FS is not set | ||
1194 | # CONFIG_HFS_FS is not set | ||
1195 | # CONFIG_HFSPLUS_FS is not set | ||
1196 | # CONFIG_BEFS_FS is not set | ||
1197 | # CONFIG_BFS_FS is not set | ||
1198 | # CONFIG_EFS_FS is not set | ||
1199 | CONFIG_CRAMFS=y | ||
1200 | # CONFIG_VXFS_FS is not set | ||
1201 | # CONFIG_HPFS_FS is not set | ||
1202 | # CONFIG_QNX4FS_FS is not set | ||
1203 | # CONFIG_SYSV_FS is not set | ||
1204 | # CONFIG_UFS_FS is not set | ||
1205 | |||
1206 | # | ||
1207 | # Network File Systems | ||
1208 | # | ||
1209 | CONFIG_NFS_FS=y | ||
1210 | CONFIG_NFS_V3=y | ||
1211 | CONFIG_NFS_V3_ACL=y | ||
1212 | CONFIG_NFS_V4=y | ||
1213 | # CONFIG_NFS_DIRECTIO is not set | ||
1214 | CONFIG_NFSD=y | ||
1215 | CONFIG_NFSD_V2_ACL=y | ||
1216 | CONFIG_NFSD_V3=y | ||
1217 | CONFIG_NFSD_V3_ACL=y | ||
1218 | CONFIG_NFSD_V4=y | ||
1219 | CONFIG_NFSD_TCP=y | ||
1220 | CONFIG_LOCKD=y | ||
1221 | CONFIG_LOCKD_V4=y | ||
1222 | CONFIG_EXPORTFS=y | ||
1223 | CONFIG_NFS_ACL_SUPPORT=y | ||
1224 | CONFIG_NFS_COMMON=y | ||
1225 | CONFIG_SUNRPC=y | ||
1226 | CONFIG_SUNRPC_GSS=y | ||
1227 | CONFIG_RPCSEC_GSS_KRB5=y | ||
1228 | CONFIG_RPCSEC_GSS_SPKM3=m | ||
1229 | # CONFIG_SMB_FS is not set | ||
1230 | CONFIG_CIFS=m | ||
1231 | # CONFIG_CIFS_STATS is not set | ||
1232 | CONFIG_CIFS_XATTR=y | ||
1233 | CONFIG_CIFS_POSIX=y | ||
1234 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
1235 | # CONFIG_NCP_FS is not set | ||
1236 | # CONFIG_CODA_FS is not set | ||
1237 | # CONFIG_AFS_FS is not set | ||
1238 | # CONFIG_9P_FS is not set | ||
1239 | |||
1240 | # | ||
1241 | # Partition Types | ||
1242 | # | ||
1243 | # CONFIG_PARTITION_ADVANCED is not set | ||
1244 | CONFIG_MSDOS_PARTITION=y | ||
1245 | |||
1246 | # | ||
1247 | # Native Language Support | ||
1248 | # | ||
1249 | CONFIG_NLS=y | ||
1250 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1251 | CONFIG_NLS_CODEPAGE_437=y | ||
1252 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1253 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1254 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1255 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1256 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1257 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1258 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1259 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1260 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1261 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1262 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1263 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1264 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1265 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1266 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1267 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1268 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1269 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1270 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1271 | # CONFIG_NLS_ISO8859_8 is not set | ||
1272 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1273 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1274 | CONFIG_NLS_ASCII=y | ||
1275 | CONFIG_NLS_ISO8859_1=y | ||
1276 | # CONFIG_NLS_ISO8859_2 is not set | ||
1277 | # CONFIG_NLS_ISO8859_3 is not set | ||
1278 | # CONFIG_NLS_ISO8859_4 is not set | ||
1279 | # CONFIG_NLS_ISO8859_5 is not set | ||
1280 | # CONFIG_NLS_ISO8859_6 is not set | ||
1281 | # CONFIG_NLS_ISO8859_7 is not set | ||
1282 | # CONFIG_NLS_ISO8859_9 is not set | ||
1283 | # CONFIG_NLS_ISO8859_13 is not set | ||
1284 | # CONFIG_NLS_ISO8859_14 is not set | ||
1285 | # CONFIG_NLS_ISO8859_15 is not set | ||
1286 | # CONFIG_NLS_KOI8_R is not set | ||
1287 | # CONFIG_NLS_KOI8_U is not set | ||
1288 | # CONFIG_NLS_UTF8 is not set | ||
1289 | |||
1290 | # | ||
1291 | # Profiling support | ||
1292 | # | ||
1293 | CONFIG_PROFILING=y | ||
1294 | CONFIG_OPROFILE=y | ||
1295 | |||
1296 | # | ||
1297 | # Kernel hacking | ||
1298 | # | ||
1299 | # CONFIG_PRINTK_TIME is not set | ||
1300 | CONFIG_DEBUG_KERNEL=y | ||
1301 | CONFIG_MAGIC_SYSRQ=y | ||
1302 | CONFIG_LOG_BUF_SHIFT=17 | ||
1303 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1304 | # CONFIG_SCHEDSTATS is not set | ||
1305 | # CONFIG_DEBUG_SLAB is not set | ||
1306 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1307 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1308 | # CONFIG_DEBUG_KOBJECT is not set | ||
1309 | # CONFIG_DEBUG_INFO is not set | ||
1310 | CONFIG_DEBUG_FS=y | ||
1311 | CONFIG_DEBUG_STACKOVERFLOW=y | ||
1312 | # CONFIG_KPROBES is not set | ||
1313 | CONFIG_DEBUG_STACK_USAGE=y | ||
1314 | CONFIG_DEBUGGER=y | ||
1315 | CONFIG_XMON=y | ||
1316 | CONFIG_XMON_DEFAULT=y | ||
1317 | # CONFIG_PPCDBG is not set | ||
1318 | CONFIG_IRQSTACKS=y | ||
1319 | |||
1320 | # | ||
1321 | # Security options | ||
1322 | # | ||
1323 | # CONFIG_KEYS is not set | ||
1324 | # CONFIG_SECURITY is not set | ||
1325 | |||
1326 | # | ||
1327 | # Cryptographic options | ||
1328 | # | ||
1329 | CONFIG_CRYPTO=y | ||
1330 | CONFIG_CRYPTO_HMAC=y | ||
1331 | CONFIG_CRYPTO_NULL=m | ||
1332 | CONFIG_CRYPTO_MD4=m | ||
1333 | CONFIG_CRYPTO_MD5=y | ||
1334 | CONFIG_CRYPTO_SHA1=m | ||
1335 | CONFIG_CRYPTO_SHA256=m | ||
1336 | CONFIG_CRYPTO_SHA512=m | ||
1337 | CONFIG_CRYPTO_WP512=m | ||
1338 | CONFIG_CRYPTO_TGR192=m | ||
1339 | CONFIG_CRYPTO_DES=y | ||
1340 | CONFIG_CRYPTO_BLOWFISH=m | ||
1341 | CONFIG_CRYPTO_TWOFISH=m | ||
1342 | CONFIG_CRYPTO_SERPENT=m | ||
1343 | CONFIG_CRYPTO_AES=m | ||
1344 | CONFIG_CRYPTO_CAST5=m | ||
1345 | CONFIG_CRYPTO_CAST6=m | ||
1346 | CONFIG_CRYPTO_TEA=m | ||
1347 | CONFIG_CRYPTO_ARC4=m | ||
1348 | CONFIG_CRYPTO_KHAZAD=m | ||
1349 | CONFIG_CRYPTO_ANUBIS=m | ||
1350 | CONFIG_CRYPTO_DEFLATE=m | ||
1351 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1352 | CONFIG_CRYPTO_CRC32C=m | ||
1353 | CONFIG_CRYPTO_TEST=m | ||
1354 | |||
1355 | # | ||
1356 | # Hardware crypto devices | ||
1357 | # | ||
1358 | |||
1359 | # | ||
1360 | # Library routines | ||
1361 | # | ||
1362 | CONFIG_CRC_CCITT=m | ||
1363 | # CONFIG_CRC16 is not set | ||
1364 | CONFIG_CRC32=y | ||
1365 | CONFIG_LIBCRC32C=m | ||
1366 | CONFIG_ZLIB_INFLATE=y | ||
1367 | CONFIG_ZLIB_DEFLATE=m | ||
1368 | CONFIG_TEXTSEARCH=y | ||
1369 | CONFIG_TEXTSEARCH_KMP=m | ||
1370 | CONFIG_TEXTSEARCH_BM=m | ||
1371 | CONFIG_TEXTSEARCH_FSM=m | ||
diff --git a/arch/ppc64/kernel/Makefile b/arch/ppc64/kernel/Makefile deleted file mode 100644 index e876c213f5ce..000000000000 --- a/arch/ppc64/kernel/Makefile +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the linux ppc64 kernel. | ||
3 | # | ||
4 | |||
5 | obj-y += idle.o align.o | ||
6 | |||
7 | obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o | ||
diff --git a/block/as-iosched.c b/block/as-iosched.c index a78e160b59a3..fbe050124ec5 100644 --- a/block/as-iosched.c +++ b/block/as-iosched.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/block/as-iosched.c | ||
3 | * | ||
4 | * Anticipatory & deadline i/o scheduler. | 2 | * Anticipatory & deadline i/o scheduler. |
5 | * | 3 | * |
6 | * Copyright (C) 2002 Jens Axboe <axboe@suse.de> | 4 | * Copyright (C) 2002 Jens Axboe <axboe@suse.de> |
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 2b64f5852bfd..ee0bb41694b0 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/block/cfq-iosched.c | ||
3 | * | ||
4 | * CFQ, or complete fairness queueing, disk scheduler. | 2 | * CFQ, or complete fairness queueing, disk scheduler. |
5 | * | 3 | * |
6 | * Based on ideas from a previously unfinished io | 4 | * Based on ideas from a previously unfinished io |
diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c index 7929471d7df7..9cbec09e8415 100644 --- a/block/deadline-iosched.c +++ b/block/deadline-iosched.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/block/deadline-iosched.c | ||
3 | * | ||
4 | * Deadline i/o scheduler. | 2 | * Deadline i/o scheduler. |
5 | * | 3 | * |
6 | * Copyright (C) 2002 Jens Axboe <axboe@suse.de> | 4 | * Copyright (C) 2002 Jens Axboe <axboe@suse.de> |
diff --git a/block/elevator.c b/block/elevator.c index e4c58827bb46..6c3fc8a10bf2 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/block/elevator.c | ||
3 | * | ||
4 | * Block device elevator/IO-scheduler. | 2 | * Block device elevator/IO-scheduler. |
5 | * | 3 | * |
6 | * Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE | 4 | * Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE |
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 5f52e30b43f8..99c9ca6d5992 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/block/ll_rw_blk.c | ||
3 | * | ||
4 | * Copyright (C) 1991, 1992 Linus Torvalds | 2 | * Copyright (C) 1991, 1992 Linus Torvalds |
5 | * Copyright (C) 1994, Karl Keyte: Added support for disk statistics | 3 | * Copyright (C) 1994, Karl Keyte: Added support for disk statistics |
6 | * Elevator latency, (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE | 4 | * Elevator latency, (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE |
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index 573b6a97bb1f..70d8a6ec0920 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c | |||
@@ -514,8 +514,6 @@ static int acpi_processor_set_power_policy(struct acpi_processor *pr) | |||
514 | 514 | ||
515 | static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr) | 515 | static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr) |
516 | { | 516 | { |
517 | int i; | ||
518 | |||
519 | ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_fadt"); | 517 | ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_fadt"); |
520 | 518 | ||
521 | if (!pr) | 519 | if (!pr) |
@@ -524,8 +522,7 @@ static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr) | |||
524 | if (!pr->pblk) | 522 | if (!pr->pblk) |
525 | return_VALUE(-ENODEV); | 523 | return_VALUE(-ENODEV); |
526 | 524 | ||
527 | for (i = 0; i < ACPI_PROCESSOR_MAX_POWER; i++) | 525 | memset(pr->power.states, 0, sizeof(pr->power.states)); |
528 | memset(pr->power.states, 0, sizeof(struct acpi_processor_cx)); | ||
529 | 526 | ||
530 | /* if info is obtained from pblk/fadt, type equals state */ | 527 | /* if info is obtained from pblk/fadt, type equals state */ |
531 | pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1; | 528 | pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1; |
@@ -555,13 +552,9 @@ static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr) | |||
555 | 552 | ||
556 | static int acpi_processor_get_power_info_default_c1(struct acpi_processor *pr) | 553 | static int acpi_processor_get_power_info_default_c1(struct acpi_processor *pr) |
557 | { | 554 | { |
558 | int i; | ||
559 | |||
560 | ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_default_c1"); | 555 | ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_default_c1"); |
561 | 556 | ||
562 | for (i = 0; i < ACPI_PROCESSOR_MAX_POWER; i++) | 557 | memset(pr->power.states, 0, sizeof(pr->power.states)); |
563 | memset(&(pr->power.states[i]), 0, | ||
564 | sizeof(struct acpi_processor_cx)); | ||
565 | 558 | ||
566 | /* if info is obtained from pblk/fadt, type equals state */ | 559 | /* if info is obtained from pblk/fadt, type equals state */ |
567 | pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1; | 560 | pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1; |
@@ -873,7 +866,8 @@ static int acpi_processor_get_power_info(struct acpi_processor *pr) | |||
873 | for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) { | 866 | for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) { |
874 | if (pr->power.states[i].valid) { | 867 | if (pr->power.states[i].valid) { |
875 | pr->power.count = i; | 868 | pr->power.count = i; |
876 | pr->flags.power = 1; | 869 | if (pr->power.states[i].type >= ACPI_STATE_C2) |
870 | pr->flags.power = 1; | ||
877 | } | 871 | } |
878 | } | 872 | } |
879 | 873 | ||
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index e239a6c29230..a9e33db46e68 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c | |||
@@ -1017,10 +1017,11 @@ static int cciss_ioctl(struct inode *inode, struct file *filep, | |||
1017 | status = -ENOMEM; | 1017 | status = -ENOMEM; |
1018 | goto cleanup1; | 1018 | goto cleanup1; |
1019 | } | 1019 | } |
1020 | if (ioc->Request.Type.Direction == XFER_WRITE && | 1020 | if (ioc->Request.Type.Direction == XFER_WRITE) { |
1021 | copy_from_user(buff[sg_used], data_ptr, sz)) { | 1021 | if (copy_from_user(buff[sg_used], data_ptr, sz)) { |
1022 | status = -ENOMEM; | 1022 | status = -ENOMEM; |
1023 | goto cleanup1; | 1023 | goto cleanup1; |
1024 | } | ||
1024 | } else { | 1025 | } else { |
1025 | memset(buff[sg_used], 0, sz); | 1026 | memset(buff[sg_used], 0, sz); |
1026 | } | 1027 | } |
@@ -1138,8 +1139,15 @@ static int revalidate_allvol(ctlr_info_t *host) | |||
1138 | 1139 | ||
1139 | for(i=0; i< NWD; i++) { | 1140 | for(i=0; i< NWD; i++) { |
1140 | struct gendisk *disk = host->gendisk[i]; | 1141 | struct gendisk *disk = host->gendisk[i]; |
1141 | if (disk->flags & GENHD_FL_UP) | 1142 | if (disk) { |
1142 | del_gendisk(disk); | 1143 | request_queue_t *q = disk->queue; |
1144 | |||
1145 | if (disk->flags & GENHD_FL_UP) | ||
1146 | del_gendisk(disk); | ||
1147 | if (q) | ||
1148 | blk_cleanup_queue(q); | ||
1149 | put_disk(disk); | ||
1150 | } | ||
1143 | } | 1151 | } |
1144 | 1152 | ||
1145 | /* | 1153 | /* |
@@ -1453,10 +1461,13 @@ static int deregister_disk(struct gendisk *disk, drive_info_struct *drv, | |||
1453 | * allows us to delete disk zero but keep the controller registered. | 1461 | * allows us to delete disk zero but keep the controller registered. |
1454 | */ | 1462 | */ |
1455 | if (h->gendisk[0] != disk){ | 1463 | if (h->gendisk[0] != disk){ |
1456 | if (disk->flags & GENHD_FL_UP){ | 1464 | if (disk) { |
1457 | blk_cleanup_queue(disk->queue); | 1465 | request_queue_t *q = disk->queue; |
1458 | del_gendisk(disk); | 1466 | if (disk->flags & GENHD_FL_UP) |
1459 | drv->queue = NULL; | 1467 | del_gendisk(disk); |
1468 | if (q) | ||
1469 | blk_cleanup_queue(q); | ||
1470 | put_disk(disk); | ||
1460 | } | 1471 | } |
1461 | } | 1472 | } |
1462 | 1473 | ||
@@ -3225,9 +3236,14 @@ static void __devexit cciss_remove_one (struct pci_dev *pdev) | |||
3225 | /* remove it from the disk list */ | 3236 | /* remove it from the disk list */ |
3226 | for (j = 0; j < NWD; j++) { | 3237 | for (j = 0; j < NWD; j++) { |
3227 | struct gendisk *disk = hba[i]->gendisk[j]; | 3238 | struct gendisk *disk = hba[i]->gendisk[j]; |
3228 | if (disk->flags & GENHD_FL_UP) { | 3239 | if (disk) { |
3229 | del_gendisk(disk); | 3240 | request_queue_t *q = disk->queue; |
3230 | blk_cleanup_queue(disk->queue); | 3241 | |
3242 | if (disk->flags & GENHD_FL_UP) | ||
3243 | del_gendisk(disk); | ||
3244 | if (q) | ||
3245 | blk_cleanup_queue(q); | ||
3246 | put_disk(disk); | ||
3231 | } | 3247 | } |
3232 | } | 3248 | } |
3233 | 3249 | ||
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index ea89dca3dbb5..01a1f6badb53 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -2203,7 +2203,7 @@ static void setup_xaction_handlers(struct smi_info *smi_info) | |||
2203 | 2203 | ||
2204 | static inline void wait_for_timer_and_thread(struct smi_info *smi_info) | 2204 | static inline void wait_for_timer_and_thread(struct smi_info *smi_info) |
2205 | { | 2205 | { |
2206 | if (smi_info->thread != ERR_PTR(-ENOMEM)) | 2206 | if (smi_info->thread != NULL && smi_info->thread != ERR_PTR(-ENOMEM)) |
2207 | kthread_stop(smi_info->thread); | 2207 | kthread_stop(smi_info->thread); |
2208 | del_timer_sync(&smi_info->si_timer); | 2208 | del_timer_sync(&smi_info->si_timer); |
2209 | } | 2209 | } |
diff --git a/drivers/char/tpm/Kconfig b/drivers/char/tpm/Kconfig index b58adfe3ed19..a6873bf89ffa 100644 --- a/drivers/char/tpm/Kconfig +++ b/drivers/char/tpm/Kconfig | |||
@@ -6,7 +6,7 @@ menu "TPM devices" | |||
6 | 6 | ||
7 | config TCG_TPM | 7 | config TCG_TPM |
8 | tristate "TPM Hardware Support" | 8 | tristate "TPM Hardware Support" |
9 | depends on EXPERIMENTAL && PCI | 9 | depends on EXPERIMENTAL |
10 | ---help--- | 10 | ---help--- |
11 | If you have a TPM security chip in your system, which | 11 | If you have a TPM security chip in your system, which |
12 | implements the Trusted Computing Group's specification, | 12 | implements the Trusted Computing Group's specification, |
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index 0b283d246730..a9be0e8eaea5 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c | |||
@@ -377,6 +377,7 @@ int tpm_release(struct inode *inode, struct file *file) | |||
377 | file->private_data = NULL; | 377 | file->private_data = NULL; |
378 | chip->num_opens--; | 378 | chip->num_opens--; |
379 | del_singleshot_timer_sync(&chip->user_read_timer); | 379 | del_singleshot_timer_sync(&chip->user_read_timer); |
380 | flush_scheduled_work(); | ||
380 | atomic_set(&chip->data_pending, 0); | 381 | atomic_set(&chip->data_pending, 0); |
381 | put_device(chip->dev); | 382 | put_device(chip->dev); |
382 | kfree(chip->data_buffer); | 383 | kfree(chip->data_buffer); |
@@ -428,6 +429,7 @@ ssize_t tpm_read(struct file * file, char __user *buf, | |||
428 | int ret_size; | 429 | int ret_size; |
429 | 430 | ||
430 | del_singleshot_timer_sync(&chip->user_read_timer); | 431 | del_singleshot_timer_sync(&chip->user_read_timer); |
432 | flush_scheduled_work(); | ||
431 | ret_size = atomic_read(&chip->data_pending); | 433 | ret_size = atomic_read(&chip->data_pending); |
432 | atomic_set(&chip->data_pending, 0); | 434 | atomic_set(&chip->data_pending, 0); |
433 | if (ret_size > 0) { /* relay data */ | 435 | if (ret_size > 0) { /* relay data */ |
diff --git a/drivers/char/tpm/tpm_atmel.c b/drivers/char/tpm/tpm_atmel.c index deb4b5c80914..ff3654964fe3 100644 --- a/drivers/char/tpm/tpm_atmel.c +++ b/drivers/char/tpm/tpm_atmel.c | |||
@@ -47,13 +47,12 @@ static int tpm_atml_recv(struct tpm_chip *chip, u8 *buf, size_t count) | |||
47 | return -EIO; | 47 | return -EIO; |
48 | 48 | ||
49 | for (i = 0; i < 6; i++) { | 49 | for (i = 0; i < 6; i++) { |
50 | status = atmel_getb(chip, 1); | 50 | status = ioread8(chip->vendor->iobase + 1); |
51 | if ((status & ATML_STATUS_DATA_AVAIL) == 0) { | 51 | if ((status & ATML_STATUS_DATA_AVAIL) == 0) { |
52 | dev_err(chip->dev, | 52 | dev_err(chip->dev, "error reading header\n"); |
53 | "error reading header\n"); | ||
54 | return -EIO; | 53 | return -EIO; |
55 | } | 54 | } |
56 | *buf++ = atmel_getb(chip, 0); | 55 | *buf++ = ioread8(chip->vendor->iobase); |
57 | } | 56 | } |
58 | 57 | ||
59 | /* size of the data received */ | 58 | /* size of the data received */ |
@@ -64,10 +63,9 @@ static int tpm_atml_recv(struct tpm_chip *chip, u8 *buf, size_t count) | |||
64 | dev_err(chip->dev, | 63 | dev_err(chip->dev, |
65 | "Recv size(%d) less than available space\n", size); | 64 | "Recv size(%d) less than available space\n", size); |
66 | for (; i < size; i++) { /* clear the waiting data anyway */ | 65 | for (; i < size; i++) { /* clear the waiting data anyway */ |
67 | status = atmel_getb(chip, 1); | 66 | status = ioread8(chip->vendor->iobase + 1); |
68 | if ((status & ATML_STATUS_DATA_AVAIL) == 0) { | 67 | if ((status & ATML_STATUS_DATA_AVAIL) == 0) { |
69 | dev_err(chip->dev, | 68 | dev_err(chip->dev, "error reading data\n"); |
70 | "error reading data\n"); | ||
71 | return -EIO; | 69 | return -EIO; |
72 | } | 70 | } |
73 | } | 71 | } |
@@ -76,17 +74,17 @@ static int tpm_atml_recv(struct tpm_chip *chip, u8 *buf, size_t count) | |||
76 | 74 | ||
77 | /* read all the data available */ | 75 | /* read all the data available */ |
78 | for (; i < size; i++) { | 76 | for (; i < size; i++) { |
79 | status = atmel_getb(chip, 1); | 77 | status = ioread8(chip->vendor->iobase + 1); |
80 | if ((status & ATML_STATUS_DATA_AVAIL) == 0) { | 78 | if ((status & ATML_STATUS_DATA_AVAIL) == 0) { |
81 | dev_err(chip->dev, | 79 | dev_err(chip->dev, "error reading data\n"); |
82 | "error reading data\n"); | ||
83 | return -EIO; | 80 | return -EIO; |
84 | } | 81 | } |
85 | *buf++ = atmel_getb(chip, 0); | 82 | *buf++ = ioread8(chip->vendor->iobase); |
86 | } | 83 | } |
87 | 84 | ||
88 | /* make sure data available is gone */ | 85 | /* make sure data available is gone */ |
89 | status = atmel_getb(chip, 1); | 86 | status = ioread8(chip->vendor->iobase + 1); |
87 | |||
90 | if (status & ATML_STATUS_DATA_AVAIL) { | 88 | if (status & ATML_STATUS_DATA_AVAIL) { |
91 | dev_err(chip->dev, "data available is stuck\n"); | 89 | dev_err(chip->dev, "data available is stuck\n"); |
92 | return -EIO; | 90 | return -EIO; |
@@ -102,7 +100,7 @@ static int tpm_atml_send(struct tpm_chip *chip, u8 *buf, size_t count) | |||
102 | dev_dbg(chip->dev, "tpm_atml_send:\n"); | 100 | dev_dbg(chip->dev, "tpm_atml_send:\n"); |
103 | for (i = 0; i < count; i++) { | 101 | for (i = 0; i < count; i++) { |
104 | dev_dbg(chip->dev, "%d 0x%x(%d)\n", i, buf[i], buf[i]); | 102 | dev_dbg(chip->dev, "%d 0x%x(%d)\n", i, buf[i], buf[i]); |
105 | atmel_putb(buf[i], chip, 0); | 103 | iowrite8(buf[i], chip->vendor->iobase); |
106 | } | 104 | } |
107 | 105 | ||
108 | return count; | 106 | return count; |
@@ -110,12 +108,12 @@ static int tpm_atml_send(struct tpm_chip *chip, u8 *buf, size_t count) | |||
110 | 108 | ||
111 | static void tpm_atml_cancel(struct tpm_chip *chip) | 109 | static void tpm_atml_cancel(struct tpm_chip *chip) |
112 | { | 110 | { |
113 | atmel_putb(ATML_STATUS_ABORT, chip, 1); | 111 | iowrite8(ATML_STATUS_ABORT, chip->vendor->iobase + 1); |
114 | } | 112 | } |
115 | 113 | ||
116 | static u8 tpm_atml_status(struct tpm_chip *chip) | 114 | static u8 tpm_atml_status(struct tpm_chip *chip) |
117 | { | 115 | { |
118 | return atmel_getb(chip, 1); | 116 | return ioread8(chip->vendor->iobase + 1); |
119 | } | 117 | } |
120 | 118 | ||
121 | static struct file_operations atmel_ops = { | 119 | static struct file_operations atmel_ops = { |
@@ -162,7 +160,8 @@ static void atml_plat_remove(void) | |||
162 | 160 | ||
163 | if (chip) { | 161 | if (chip) { |
164 | if (chip->vendor->have_region) | 162 | if (chip->vendor->have_region) |
165 | atmel_release_region(chip->vendor->base, chip->vendor->region_size); | 163 | atmel_release_region(chip->vendor->base, |
164 | chip->vendor->region_size); | ||
166 | atmel_put_base_addr(chip->vendor); | 165 | atmel_put_base_addr(chip->vendor); |
167 | tpm_remove_hardware(chip->dev); | 166 | tpm_remove_hardware(chip->dev); |
168 | platform_device_unregister(pdev); | 167 | platform_device_unregister(pdev); |
@@ -183,14 +182,19 @@ static int __init init_atmel(void) | |||
183 | 182 | ||
184 | driver_register(&atml_drv); | 183 | driver_register(&atml_drv); |
185 | 184 | ||
186 | if (atmel_get_base_addr(&tpm_atmel) != 0) { | 185 | if ((tpm_atmel.iobase = atmel_get_base_addr(&tpm_atmel)) == NULL) { |
187 | rc = -ENODEV; | 186 | rc = -ENODEV; |
188 | goto err_unreg_drv; | 187 | goto err_unreg_drv; |
189 | } | 188 | } |
190 | 189 | ||
191 | tpm_atmel.have_region = (atmel_request_region( tpm_atmel.base, tpm_atmel.region_size, "tpm_atmel0") == NULL) ? 0 : 1; | 190 | tpm_atmel.have_region = |
191 | (atmel_request_region | ||
192 | (tpm_atmel.base, tpm_atmel.region_size, | ||
193 | "tpm_atmel0") == NULL) ? 0 : 1; | ||
192 | 194 | ||
193 | if (IS_ERR(pdev = platform_device_register_simple("tpm_atmel", -1, NULL, 0 ))) { | 195 | if (IS_ERR |
196 | (pdev = | ||
197 | platform_device_register_simple("tpm_atmel", -1, NULL, 0))) { | ||
194 | rc = PTR_ERR(pdev); | 198 | rc = PTR_ERR(pdev); |
195 | goto err_rel_reg; | 199 | goto err_rel_reg; |
196 | } | 200 | } |
@@ -202,9 +206,10 @@ static int __init init_atmel(void) | |||
202 | err_unreg_dev: | 206 | err_unreg_dev: |
203 | platform_device_unregister(pdev); | 207 | platform_device_unregister(pdev); |
204 | err_rel_reg: | 208 | err_rel_reg: |
205 | if (tpm_atmel.have_region) | ||
206 | atmel_release_region(tpm_atmel.base, tpm_atmel.region_size); | ||
207 | atmel_put_base_addr(&tpm_atmel); | 209 | atmel_put_base_addr(&tpm_atmel); |
210 | if (tpm_atmel.have_region) | ||
211 | atmel_release_region(tpm_atmel.base, | ||
212 | tpm_atmel.region_size); | ||
208 | err_unreg_drv: | 213 | err_unreg_drv: |
209 | driver_unregister(&atml_drv); | 214 | driver_unregister(&atml_drv); |
210 | return rc; | 215 | return rc; |
diff --git a/drivers/char/tpm/tpm_atmel.h b/drivers/char/tpm/tpm_atmel.h index 3c5b9a8d1c49..d3478aaadd77 100644 --- a/drivers/char/tpm/tpm_atmel.h +++ b/drivers/char/tpm/tpm_atmel.h | |||
@@ -27,12 +27,14 @@ | |||
27 | #define atmel_putb(val, chip, offset) writeb(val, chip->vendor->iobase + offset) | 27 | #define atmel_putb(val, chip, offset) writeb(val, chip->vendor->iobase + offset) |
28 | #define atmel_request_region request_mem_region | 28 | #define atmel_request_region request_mem_region |
29 | #define atmel_release_region release_mem_region | 29 | #define atmel_release_region release_mem_region |
30 | static inline void atmel_put_base_addr(struct tpm_vendor_specific *vendor) | 30 | |
31 | static inline void atmel_put_base_addr(struct tpm_vendor_specific | ||
32 | *vendor) | ||
31 | { | 33 | { |
32 | iounmap(vendor->iobase); | 34 | iounmap(vendor->iobase); |
33 | } | 35 | } |
34 | 36 | ||
35 | static int atmel_get_base_addr(struct tpm_vendor_specific *vendor) | 37 | static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific *vendor) |
36 | { | 38 | { |
37 | struct device_node *dn; | 39 | struct device_node *dn; |
38 | unsigned long address, size; | 40 | unsigned long address, size; |
@@ -44,11 +46,11 @@ static int atmel_get_base_addr(struct tpm_vendor_specific *vendor) | |||
44 | dn = of_find_node_by_name(NULL, "tpm"); | 46 | dn = of_find_node_by_name(NULL, "tpm"); |
45 | 47 | ||
46 | if (!dn) | 48 | if (!dn) |
47 | return 1; | 49 | return NULL; |
48 | 50 | ||
49 | if (!device_is_compatible(dn, "AT97SC3201")) { | 51 | if (!device_is_compatible(dn, "AT97SC3201")) { |
50 | of_node_put(dn); | 52 | of_node_put(dn); |
51 | return 1; | 53 | return NULL; |
52 | } | 54 | } |
53 | 55 | ||
54 | reg = (unsigned int *) get_property(dn, "reg", ®len); | 56 | reg = (unsigned int *) get_property(dn, "reg", ®len); |
@@ -71,8 +73,7 @@ static int atmel_get_base_addr(struct tpm_vendor_specific *vendor) | |||
71 | 73 | ||
72 | vendor->base = address; | 74 | vendor->base = address; |
73 | vendor->region_size = size; | 75 | vendor->region_size = size; |
74 | vendor->iobase = ioremap(address, size); | 76 | return ioremap(vendor->base, vendor->region_size); |
75 | return 0; | ||
76 | } | 77 | } |
77 | #else | 78 | #else |
78 | #define atmel_getb(chip, offset) inb(chip->vendor->base + offset) | 79 | #define atmel_getb(chip, offset) inb(chip->vendor->base + offset) |
@@ -105,18 +106,19 @@ static int atmel_verify_tpm11(void) | |||
105 | return 0; | 106 | return 0; |
106 | } | 107 | } |
107 | 108 | ||
108 | static inline void atmel_put_base_addr(struct tpm_vendor_specific *vendor) | 109 | static inline void atmel_put_base_addr(struct tpm_vendor_specific |
110 | *vendor) | ||
109 | { | 111 | { |
110 | } | 112 | } |
111 | 113 | ||
112 | /* Determine where to talk to device */ | 114 | /* Determine where to talk to device */ |
113 | static unsigned long atmel_get_base_addr(struct tpm_vendor_specific | 115 | static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific |
114 | *vendor) | 116 | *vendor) |
115 | { | 117 | { |
116 | int lo, hi; | 118 | int lo, hi; |
117 | 119 | ||
118 | if (atmel_verify_tpm11() != 0) | 120 | if (atmel_verify_tpm11() != 0) |
119 | return 1; | 121 | return NULL; |
120 | 122 | ||
121 | lo = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_LO); | 123 | lo = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_LO); |
122 | hi = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_HI); | 124 | hi = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_HI); |
@@ -124,6 +126,6 @@ static unsigned long atmel_get_base_addr(struct tpm_vendor_specific | |||
124 | vendor->base = (hi << 8) | lo; | 126 | vendor->base = (hi << 8) | lo; |
125 | vendor->region_size = 2; | 127 | vendor->region_size = 2; |
126 | 128 | ||
127 | return 0; | 129 | return ioport_map(vendor->base, vendor->region_size); |
128 | } | 130 | } |
129 | #endif | 131 | #endif |
diff --git a/drivers/i2c/busses/i2c-ixp2000.c b/drivers/i2c/busses/i2c-ixp2000.c index cef024a7d048..cd6f45d186ab 100644 --- a/drivers/i2c/busses/i2c-ixp2000.c +++ b/drivers/i2c/busses/i2c-ixp2000.c | |||
@@ -36,8 +36,6 @@ | |||
36 | #include <asm/hardware.h> /* Pick up IXP2000-specific bits */ | 36 | #include <asm/hardware.h> /* Pick up IXP2000-specific bits */ |
37 | #include <asm/arch/gpio.h> | 37 | #include <asm/arch/gpio.h> |
38 | 38 | ||
39 | static struct device_driver ixp2000_i2c_driver; | ||
40 | |||
41 | static inline int ixp2000_scl_pin(void *data) | 39 | static inline int ixp2000_scl_pin(void *data) |
42 | { | 40 | { |
43 | return ((struct ixp2000_i2c_pins*)data)->scl_pin; | 41 | return ((struct ixp2000_i2c_pins*)data)->scl_pin; |
@@ -120,7 +118,7 @@ static int ixp2000_i2c_probe(struct platform_device *plat_dev) | |||
120 | drv_data->algo_data.timeout = 100; | 118 | drv_data->algo_data.timeout = 100; |
121 | 119 | ||
122 | drv_data->adapter.id = I2C_HW_B_IXP2000, | 120 | drv_data->adapter.id = I2C_HW_B_IXP2000, |
123 | strlcpy(drv_data->adapter.name, ixp2000_i2c_driver.name, | 121 | strlcpy(drv_data->adapter.name, plat_dev->dev.driver->name, |
124 | I2C_NAME_SIZE); | 122 | I2C_NAME_SIZE); |
125 | drv_data->adapter.algo_data = &drv_data->algo_data, | 123 | drv_data->adapter.algo_data = &drv_data->algo_data, |
126 | 124 | ||
@@ -132,7 +130,7 @@ static int ixp2000_i2c_probe(struct platform_device *plat_dev) | |||
132 | gpio_line_set(gpio->sda_pin, 0); | 130 | gpio_line_set(gpio->sda_pin, 0); |
133 | 131 | ||
134 | if ((err = i2c_bit_add_bus(&drv_data->adapter)) != 0) { | 132 | if ((err = i2c_bit_add_bus(&drv_data->adapter)) != 0) { |
135 | dev_err(dev, "Could not install, error %d\n", err); | 133 | dev_err(&plat_dev->dev, "Could not install, error %d\n", err); |
136 | kfree(drv_data); | 134 | kfree(drv_data); |
137 | return err; | 135 | return err; |
138 | } | 136 | } |
diff --git a/drivers/i2c/busses/i2c-ixp4xx.c b/drivers/i2c/busses/i2c-ixp4xx.c index aa36855fa995..e422d8b2d4d6 100644 --- a/drivers/i2c/busses/i2c-ixp4xx.c +++ b/drivers/i2c/busses/i2c-ixp4xx.c | |||
@@ -35,8 +35,6 @@ | |||
35 | 35 | ||
36 | #include <asm/hardware.h> /* Pick up IXP4xx-specific bits */ | 36 | #include <asm/hardware.h> /* Pick up IXP4xx-specific bits */ |
37 | 37 | ||
38 | static struct device_driver ixp4xx_i2c_driver; | ||
39 | |||
40 | static inline int ixp4xx_scl_pin(void *data) | 38 | static inline int ixp4xx_scl_pin(void *data) |
41 | { | 39 | { |
42 | return ((struct ixp4xx_i2c_pins*)data)->scl_pin; | 40 | return ((struct ixp4xx_i2c_pins*)data)->scl_pin; |
@@ -128,7 +126,7 @@ static int ixp4xx_i2c_probe(struct platform_device *plat_dev) | |||
128 | drv_data->algo_data.timeout = 100; | 126 | drv_data->algo_data.timeout = 100; |
129 | 127 | ||
130 | drv_data->adapter.id = I2C_HW_B_IXP4XX; | 128 | drv_data->adapter.id = I2C_HW_B_IXP4XX; |
131 | strlcpy(drv_data->adapter.name, ixp4xx_i2c_driver.name, | 129 | strlcpy(drv_data->adapter.name, plat_dev->dev.driver->name, |
132 | I2C_NAME_SIZE); | 130 | I2C_NAME_SIZE); |
133 | drv_data->adapter.algo_data = &drv_data->algo_data; | 131 | drv_data->adapter.algo_data = &drv_data->algo_data; |
134 | 132 | ||
@@ -140,7 +138,7 @@ static int ixp4xx_i2c_probe(struct platform_device *plat_dev) | |||
140 | gpio_line_set(gpio->sda_pin, 0); | 138 | gpio_line_set(gpio->sda_pin, 0); |
141 | 139 | ||
142 | if ((err = i2c_bit_add_bus(&drv_data->adapter) != 0)) { | 140 | if ((err = i2c_bit_add_bus(&drv_data->adapter) != 0)) { |
143 | printk(KERN_ERR "ERROR: Could not install %s\n", dev->bus_id); | 141 | printk(KERN_ERR "ERROR: Could not install %s\n", plat_dev->dev.bus_id); |
144 | 142 | ||
145 | kfree(drv_data); | 143 | kfree(drv_data); |
146 | return err; | 144 | return err; |
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig index 42e5b8175cbf..31e649a9ff71 100644 --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig | |||
@@ -625,7 +625,7 @@ config BLK_DEV_NS87415 | |||
625 | tristate "NS87415 chipset support" | 625 | tristate "NS87415 chipset support" |
626 | help | 626 | help |
627 | This driver adds detection and support for the NS87415 chip | 627 | This driver adds detection and support for the NS87415 chip |
628 | (used in SPARC64, among others). | 628 | (used mainly on SPARC64 and PA-RISC machines). |
629 | 629 | ||
630 | Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>. | 630 | Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>. |
631 | 631 | ||
@@ -787,6 +787,10 @@ config BLK_DEV_IDE_PMAC_BLINK | |||
787 | This option enables the use of the sleep LED as a hard drive | 787 | This option enables the use of the sleep LED as a hard drive |
788 | activity LED. | 788 | activity LED. |
789 | 789 | ||
790 | config BLK_DEV_IDE_SWARM | ||
791 | tristate "IDE for Sibyte evaluation boards" | ||
792 | depends on SIBYTE_SB1xxx_SOC | ||
793 | |||
790 | config BLK_DEV_IDE_AU1XXX | 794 | config BLK_DEV_IDE_AU1XXX |
791 | bool "IDE for AMD Alchemy Au1200" | 795 | bool "IDE for AMD Alchemy Au1200" |
792 | depends on SOC_AU1200 | 796 | depends on SOC_AU1200 |
diff --git a/drivers/ide/Makefile b/drivers/ide/Makefile index cca9c075966d..569fae717503 100644 --- a/drivers/ide/Makefile +++ b/drivers/ide/Makefile | |||
@@ -48,6 +48,6 @@ obj-$(CONFIG_BLK_DEV_IDECD) += ide-cd.o | |||
48 | obj-$(CONFIG_BLK_DEV_IDETAPE) += ide-tape.o | 48 | obj-$(CONFIG_BLK_DEV_IDETAPE) += ide-tape.o |
49 | obj-$(CONFIG_BLK_DEV_IDEFLOPPY) += ide-floppy.o | 49 | obj-$(CONFIG_BLK_DEV_IDEFLOPPY) += ide-floppy.o |
50 | 50 | ||
51 | obj-$(CONFIG_BLK_DEV_IDE) += legacy/ arm/ | 51 | obj-$(CONFIG_BLK_DEV_IDE) += legacy/ arm/ mips/ |
52 | obj-$(CONFIG_BLK_DEV_HD) += legacy/ | 52 | obj-$(CONFIG_BLK_DEV_HD) += legacy/ |
53 | obj-$(CONFIG_ETRAX_IDE) += cris/ | 53 | obj-$(CONFIG_ETRAX_IDE) += cris/ |
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c index c2f47923d174..9455e42abb23 100644 --- a/drivers/ide/ide-cd.c +++ b/drivers/ide/ide-cd.c | |||
@@ -3328,8 +3328,8 @@ static ide_proc_entry_t idecd_proc[] = { | |||
3328 | #endif | 3328 | #endif |
3329 | 3329 | ||
3330 | static ide_driver_t ide_cdrom_driver = { | 3330 | static ide_driver_t ide_cdrom_driver = { |
3331 | .owner = THIS_MODULE, | ||
3332 | .gen_driver = { | 3331 | .gen_driver = { |
3332 | .owner = THIS_MODULE, | ||
3333 | .name = "ide-cdrom", | 3333 | .name = "ide-cdrom", |
3334 | .bus = &ide_bus_type, | 3334 | .bus = &ide_bus_type, |
3335 | .probe = ide_cd_probe, | 3335 | .probe = ide_cd_probe, |
@@ -3510,8 +3510,8 @@ static void __exit ide_cdrom_exit(void) | |||
3510 | { | 3510 | { |
3511 | driver_unregister(&ide_cdrom_driver.gen_driver); | 3511 | driver_unregister(&ide_cdrom_driver.gen_driver); |
3512 | } | 3512 | } |
3513 | 3513 | ||
3514 | static int ide_cdrom_init(void) | 3514 | static int __init ide_cdrom_init(void) |
3515 | { | 3515 | { |
3516 | return driver_register(&ide_cdrom_driver.gen_driver); | 3516 | return driver_register(&ide_cdrom_driver.gen_driver); |
3517 | } | 3517 | } |
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index e827b39e4b3c..f4e3d3527b0e 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c | |||
@@ -1089,8 +1089,8 @@ static void ide_device_shutdown(struct device *dev) | |||
1089 | } | 1089 | } |
1090 | 1090 | ||
1091 | static ide_driver_t idedisk_driver = { | 1091 | static ide_driver_t idedisk_driver = { |
1092 | .owner = THIS_MODULE, | ||
1093 | .gen_driver = { | 1092 | .gen_driver = { |
1093 | .owner = THIS_MODULE, | ||
1094 | .name = "ide-disk", | 1094 | .name = "ide-disk", |
1095 | .bus = &ide_bus_type, | 1095 | .bus = &ide_bus_type, |
1096 | .probe = ide_disk_probe, | 1096 | .probe = ide_disk_probe, |
@@ -1266,7 +1266,7 @@ static void __exit idedisk_exit (void) | |||
1266 | driver_unregister(&idedisk_driver.gen_driver); | 1266 | driver_unregister(&idedisk_driver.gen_driver); |
1267 | } | 1267 | } |
1268 | 1268 | ||
1269 | static int idedisk_init (void) | 1269 | static int __init idedisk_init(void) |
1270 | { | 1270 | { |
1271 | return driver_register(&idedisk_driver.gen_driver); | 1271 | return driver_register(&idedisk_driver.gen_driver); |
1272 | } | 1272 | } |
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index f615ab759962..9e293c8063dc 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c | |||
@@ -1925,8 +1925,8 @@ static ide_proc_entry_t idefloppy_proc[] = { | |||
1925 | static int ide_floppy_probe(struct device *); | 1925 | static int ide_floppy_probe(struct device *); |
1926 | 1926 | ||
1927 | static ide_driver_t idefloppy_driver = { | 1927 | static ide_driver_t idefloppy_driver = { |
1928 | .owner = THIS_MODULE, | ||
1929 | .gen_driver = { | 1928 | .gen_driver = { |
1929 | .owner = THIS_MODULE, | ||
1930 | .name = "ide-floppy", | 1930 | .name = "ide-floppy", |
1931 | .bus = &ide_bus_type, | 1931 | .bus = &ide_bus_type, |
1932 | .probe = ide_floppy_probe, | 1932 | .probe = ide_floppy_probe, |
@@ -2191,10 +2191,7 @@ static void __exit idefloppy_exit (void) | |||
2191 | driver_unregister(&idefloppy_driver.gen_driver); | 2191 | driver_unregister(&idefloppy_driver.gen_driver); |
2192 | } | 2192 | } |
2193 | 2193 | ||
2194 | /* | 2194 | static int __init idefloppy_init(void) |
2195 | * idefloppy_init will register the driver for each floppy. | ||
2196 | */ | ||
2197 | static int idefloppy_init (void) | ||
2198 | { | 2195 | { |
2199 | printk("ide-floppy driver " IDEFLOPPY_VERSION "\n"); | 2196 | printk("ide-floppy driver " IDEFLOPPY_VERSION "\n"); |
2200 | return driver_register(&idefloppy_driver.gen_driver); | 2197 | return driver_register(&idefloppy_driver.gen_driver); |
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 5275cbb1afe9..ecfafcdafea4 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -1629,12 +1629,6 @@ EXPORT_SYMBOL(ide_init_drive_cmd); | |||
1629 | * for the new rq to be completed. This is VERY DANGEROUS, and is | 1629 | * for the new rq to be completed. This is VERY DANGEROUS, and is |
1630 | * intended for careful use by the ATAPI tape/cdrom driver code. | 1630 | * intended for careful use by the ATAPI tape/cdrom driver code. |
1631 | * | 1631 | * |
1632 | * If action is ide_next, then the rq is queued immediately after | ||
1633 | * the currently-being-processed-request (if any), and the function | ||
1634 | * returns without waiting for the new rq to be completed. As above, | ||
1635 | * This is VERY DANGEROUS, and is intended for careful use by the | ||
1636 | * ATAPI tape/cdrom driver code. | ||
1637 | * | ||
1638 | * If action is ide_end, then the rq is queued at the end of the | 1632 | * If action is ide_end, then the rq is queued at the end of the |
1639 | * request queue, and the function returns immediately without waiting | 1633 | * request queue, and the function returns immediately without waiting |
1640 | * for the new rq to be completed. This is again intended for careful | 1634 | * for the new rq to be completed. This is again intended for careful |
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c index b09a6537c7a8..41d46dbe6c24 100644 --- a/drivers/ide/ide-lib.c +++ b/drivers/ide/ide-lib.c | |||
@@ -410,10 +410,10 @@ void ide_toggle_bounce(ide_drive_t *drive, int on) | |||
410 | { | 410 | { |
411 | u64 addr = BLK_BOUNCE_HIGH; /* dma64_addr_t */ | 411 | u64 addr = BLK_BOUNCE_HIGH; /* dma64_addr_t */ |
412 | 412 | ||
413 | if (on && drive->media == ide_disk) { | 413 | if (!PCI_DMA_BUS_IS_PHYS) { |
414 | if (!PCI_DMA_BUS_IS_PHYS) | 414 | addr = BLK_BOUNCE_ANY; |
415 | addr = BLK_BOUNCE_ANY; | 415 | } else if (on && drive->media == ide_disk) { |
416 | else if (HWIF(drive)->pci_dev) | 416 | if (HWIF(drive)->pci_dev) |
417 | addr = HWIF(drive)->pci_dev->dma_mask; | 417 | addr = HWIF(drive)->pci_dev->dma_mask; |
418 | } | 418 | } |
419 | 419 | ||
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index 0ac7eb8f40d5..7d7944ed4158 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c | |||
@@ -4748,8 +4748,8 @@ static ide_proc_entry_t idetape_proc[] = { | |||
4748 | static int ide_tape_probe(struct device *); | 4748 | static int ide_tape_probe(struct device *); |
4749 | 4749 | ||
4750 | static ide_driver_t idetape_driver = { | 4750 | static ide_driver_t idetape_driver = { |
4751 | .owner = THIS_MODULE, | ||
4752 | .gen_driver = { | 4751 | .gen_driver = { |
4752 | .owner = THIS_MODULE, | ||
4753 | .name = "ide-tape", | 4753 | .name = "ide-tape", |
4754 | .bus = &ide_bus_type, | 4754 | .bus = &ide_bus_type, |
4755 | .probe = ide_tape_probe, | 4755 | .probe = ide_tape_probe, |
@@ -4916,10 +4916,7 @@ static void __exit idetape_exit (void) | |||
4916 | unregister_chrdev(IDETAPE_MAJOR, "ht"); | 4916 | unregister_chrdev(IDETAPE_MAJOR, "ht"); |
4917 | } | 4917 | } |
4918 | 4918 | ||
4919 | /* | 4919 | static int __init idetape_init(void) |
4920 | * idetape_init will register the driver for each tape. | ||
4921 | */ | ||
4922 | static int idetape_init (void) | ||
4923 | { | 4920 | { |
4924 | int error = 1; | 4921 | int error = 1; |
4925 | idetape_sysfs_class = class_create(THIS_MODULE, "ide_tape"); | 4922 | idetape_sysfs_class = class_create(THIS_MODULE, "ide_tape"); |
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index 54f9639c2a8c..62ebefd6394a 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -51,8 +51,6 @@ | |||
51 | #include <asm/uaccess.h> | 51 | #include <asm/uaccess.h> |
52 | #include <asm/io.h> | 52 | #include <asm/io.h> |
53 | 53 | ||
54 | #define DEBUG_TASKFILE 0 /* unset when fixed */ | ||
55 | |||
56 | static void ata_bswap_data (void *buffer, int wcount) | 54 | static void ata_bswap_data (void *buffer, int wcount) |
57 | { | 55 | { |
58 | u16 *p = buffer; | 56 | u16 *p = buffer; |
@@ -765,9 +763,6 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) | |||
765 | ide_hwif_t *hwif = HWIF(drive); | 763 | ide_hwif_t *hwif = HWIF(drive); |
766 | task_struct_t *taskfile = (task_struct_t *) task->tfRegister; | 764 | task_struct_t *taskfile = (task_struct_t *) task->tfRegister; |
767 | hob_struct_t *hobfile = (hob_struct_t *) task->hobRegister; | 765 | hob_struct_t *hobfile = (hob_struct_t *) task->hobRegister; |
768 | #if DEBUG_TASKFILE | ||
769 | u8 status; | ||
770 | #endif | ||
771 | 766 | ||
772 | if (task->data_phase == TASKFILE_MULTI_IN || | 767 | if (task->data_phase == TASKFILE_MULTI_IN || |
773 | task->data_phase == TASKFILE_MULTI_OUT) { | 768 | task->data_phase == TASKFILE_MULTI_OUT) { |
@@ -778,19 +773,13 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) | |||
778 | } | 773 | } |
779 | 774 | ||
780 | /* | 775 | /* |
781 | * (ks) Check taskfile in/out flags. | 776 | * (ks) Check taskfile in flags. |
782 | * If set, then execute as it is defined. | 777 | * If set, then execute as it is defined. |
783 | * If not set, then define default settings. | 778 | * If not set, then define default settings. |
784 | * The default values are: | 779 | * The default values are: |
785 | * write and read all taskfile registers (except data) | 780 | * read all taskfile registers (except data) |
786 | * write and read the hob registers (sector,nsector,lcyl,hcyl) | 781 | * read the hob registers (sector, nsector, lcyl, hcyl) |
787 | */ | 782 | */ |
788 | if (task->tf_out_flags.all == 0) { | ||
789 | task->tf_out_flags.all = IDE_TASKFILE_STD_OUT_FLAGS; | ||
790 | if (drive->addressing == 1) | ||
791 | task->tf_out_flags.all |= (IDE_HOB_STD_OUT_FLAGS << 8); | ||
792 | } | ||
793 | |||
794 | if (task->tf_in_flags.all == 0) { | 783 | if (task->tf_in_flags.all == 0) { |
795 | task->tf_in_flags.all = IDE_TASKFILE_STD_IN_FLAGS; | 784 | task->tf_in_flags.all = IDE_TASKFILE_STD_IN_FLAGS; |
796 | if (drive->addressing == 1) | 785 | if (drive->addressing == 1) |
@@ -803,16 +792,6 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) | |||
803 | hwif->OUTB(drive->ctl, IDE_CONTROL_REG); | 792 | hwif->OUTB(drive->ctl, IDE_CONTROL_REG); |
804 | SELECT_MASK(drive, 0); | 793 | SELECT_MASK(drive, 0); |
805 | 794 | ||
806 | #if DEBUG_TASKFILE | ||
807 | status = hwif->INB(IDE_STATUS_REG); | ||
808 | if (status & 0x80) { | ||
809 | printk("flagged_taskfile -> Bad status. Status = %02x. wait 100 usec ...\n", status); | ||
810 | udelay(100); | ||
811 | status = hwif->INB(IDE_STATUS_REG); | ||
812 | printk("flagged_taskfile -> Status = %02x\n", status); | ||
813 | } | ||
814 | #endif | ||
815 | |||
816 | if (task->tf_out_flags.b.data) { | 795 | if (task->tf_out_flags.b.data) { |
817 | u16 data = taskfile->data + (hobfile->data << 8); | 796 | u16 data = taskfile->data + (hobfile->data << 8); |
818 | hwif->OUTW(data, IDE_DATA_REG); | 797 | hwif->OUTW(data, IDE_DATA_REG); |
diff --git a/drivers/ide/mips/Makefile b/drivers/ide/mips/Makefile new file mode 100644 index 000000000000..578e52a59588 --- /dev/null +++ b/drivers/ide/mips/Makefile | |||
@@ -0,0 +1 @@ | |||
obj-$(CONFIG_BLK_DEV_IDE_SWARM) += swarm.o | |||
diff --git a/drivers/ide/mips/swarm.c b/drivers/ide/mips/swarm.c new file mode 100644 index 000000000000..66f6064f4640 --- /dev/null +++ b/drivers/ide/mips/swarm.c | |||
@@ -0,0 +1,201 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2001, 2002, 2003 Broadcom Corporation | ||
3 | * Copyright (C) 2004 MontaVista Software Inc. | ||
4 | * Author: Manish Lachwani, mlachwani@mvista.com | ||
5 | * Copyright (C) 2004 MIPS Technologies, Inc. All rights reserved. | ||
6 | * Author: Maciej W. Rozycki <macro@mips.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License | ||
10 | * as published by the Free Software Foundation; either version 2 | ||
11 | * of the License, or (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
21 | */ | ||
22 | |||
23 | /* | ||
24 | * Derived loosely from ide-pmac.c, so: | ||
25 | * Copyright (C) 1998 Paul Mackerras. | ||
26 | * Copyright (C) 1995-1998 Mark Lord | ||
27 | */ | ||
28 | |||
29 | /* | ||
30 | * Boards with SiByte processors so far have supported IDE devices via | ||
31 | * the Generic Bus, PCI bus, and built-in PCMCIA interface. In all | ||
32 | * cases, byte-swapping must be avoided for these devices (whereas | ||
33 | * other PCI devices, for example, will require swapping). Any | ||
34 | * SiByte-targetted kernel including IDE support will include this | ||
35 | * file. Probing of a Generic Bus for an IDE device is controlled by | ||
36 | * the definition of "SIBYTE_HAVE_IDE", which is provided by | ||
37 | * <asm/sibyte/board.h> for Broadcom boards. | ||
38 | */ | ||
39 | |||
40 | #include <linux/ide.h> | ||
41 | #include <linux/ioport.h> | ||
42 | #include <linux/kernel.h> | ||
43 | #include <linux/types.h> | ||
44 | #include <linux/platform_device.h> | ||
45 | |||
46 | #include <asm/io.h> | ||
47 | |||
48 | #include <asm/sibyte/board.h> | ||
49 | #include <asm/sibyte/sb1250_genbus.h> | ||
50 | #include <asm/sibyte/sb1250_regs.h> | ||
51 | |||
52 | #define DRV_NAME "ide-swarm" | ||
53 | |||
54 | static char swarm_ide_string[] = DRV_NAME; | ||
55 | |||
56 | static struct resource swarm_ide_resource = { | ||
57 | .name = "SWARM GenBus IDE", | ||
58 | .flags = IORESOURCE_MEM, | ||
59 | }; | ||
60 | |||
61 | static struct platform_device *swarm_ide_dev; | ||
62 | |||
63 | /* | ||
64 | * swarm_ide_probe - if the board header indicates the existence of | ||
65 | * Generic Bus IDE, allocate a HWIF for it. | ||
66 | */ | ||
67 | static int __devinit swarm_ide_probe(struct device *dev) | ||
68 | { | ||
69 | ide_hwif_t *hwif; | ||
70 | u8 __iomem *base; | ||
71 | phys_t offset, size; | ||
72 | int i; | ||
73 | |||
74 | if (!SIBYTE_HAVE_IDE) | ||
75 | return -ENODEV; | ||
76 | |||
77 | /* Find an empty slot. */ | ||
78 | for (i = 0; i < MAX_HWIFS; i++) | ||
79 | if (!ide_hwifs[i].io_ports[IDE_DATA_OFFSET]) | ||
80 | break; | ||
81 | if (i >= MAX_HWIFS) { | ||
82 | printk(KERN_ERR DRV_NAME ": no free slot for interface\n"); | ||
83 | return -ENOMEM; | ||
84 | } | ||
85 | |||
86 | hwif = ide_hwifs + i; | ||
87 | |||
88 | base = ioremap(A_IO_EXT_BASE, 0x800); | ||
89 | offset = __raw_readq(base + R_IO_EXT_REG(R_IO_EXT_START_ADDR, IDE_CS)); | ||
90 | size = __raw_readq(base + R_IO_EXT_REG(R_IO_EXT_MULT_SIZE, IDE_CS)); | ||
91 | iounmap(base); | ||
92 | |||
93 | offset = G_IO_START_ADDR(offset) << S_IO_ADDRBASE; | ||
94 | size = (G_IO_MULT_SIZE(size) + 1) << S_IO_REGSIZE; | ||
95 | if (offset < A_PHYS_GENBUS || offset >= A_PHYS_GENBUS_END) { | ||
96 | printk(KERN_INFO DRV_NAME | ||
97 | ": IDE interface at GenBus disabled\n"); | ||
98 | return -EBUSY; | ||
99 | } | ||
100 | |||
101 | printk(KERN_INFO DRV_NAME ": IDE interface at GenBus slot %i\n", | ||
102 | IDE_CS); | ||
103 | |||
104 | swarm_ide_resource.start = offset; | ||
105 | swarm_ide_resource.end = offset + size - 1; | ||
106 | if (request_resource(&iomem_resource, &swarm_ide_resource)) { | ||
107 | printk(KERN_ERR DRV_NAME | ||
108 | ": can't request I/O memory resource\n"); | ||
109 | return -EBUSY; | ||
110 | } | ||
111 | |||
112 | base = ioremap(offset, size); | ||
113 | |||
114 | /* Setup MMIO ops. */ | ||
115 | default_hwif_mmiops(hwif); | ||
116 | /* Prevent resource map manipulation. */ | ||
117 | hwif->mmio = 2; | ||
118 | hwif->noprobe = 0; | ||
119 | |||
120 | for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) | ||
121 | hwif->hw.io_ports[i] = | ||
122 | (unsigned long)(base + ((0x1f0 + i) << 5)); | ||
123 | hwif->hw.io_ports[IDE_CONTROL_OFFSET] = | ||
124 | (unsigned long)(base + (0x3f6 << 5)); | ||
125 | hwif->hw.irq = K_INT_GB_IDE; | ||
126 | |||
127 | memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->io_ports)); | ||
128 | hwif->irq = hwif->hw.irq; | ||
129 | |||
130 | dev_set_drvdata(dev, hwif); | ||
131 | |||
132 | return 0; | ||
133 | } | ||
134 | |||
135 | static struct device_driver swarm_ide_driver = { | ||
136 | .name = swarm_ide_string, | ||
137 | .bus = &platform_bus_type, | ||
138 | .probe = swarm_ide_probe, | ||
139 | }; | ||
140 | |||
141 | static void swarm_ide_platform_release(struct device *device) | ||
142 | { | ||
143 | struct platform_device *pldev; | ||
144 | |||
145 | /* free device */ | ||
146 | pldev = to_platform_device(device); | ||
147 | kfree(pldev); | ||
148 | } | ||
149 | |||
150 | static int __devinit swarm_ide_init_module(void) | ||
151 | { | ||
152 | struct platform_device *pldev; | ||
153 | int err; | ||
154 | |||
155 | printk(KERN_INFO "SWARM IDE driver\n"); | ||
156 | |||
157 | if (driver_register(&swarm_ide_driver)) { | ||
158 | printk(KERN_ERR "Driver registration failed\n"); | ||
159 | err = -ENODEV; | ||
160 | goto out; | ||
161 | } | ||
162 | |||
163 | if (!(pldev = kmalloc(sizeof (*pldev), GFP_KERNEL))) { | ||
164 | err = -ENOMEM; | ||
165 | goto out_unregister_driver; | ||
166 | } | ||
167 | |||
168 | memset (pldev, 0, sizeof (*pldev)); | ||
169 | pldev->name = swarm_ide_string; | ||
170 | pldev->id = 0; | ||
171 | pldev->dev.release = swarm_ide_platform_release; | ||
172 | |||
173 | if (platform_device_register(pldev)) { | ||
174 | err = -ENODEV; | ||
175 | goto out_free_pldev; | ||
176 | } | ||
177 | |||
178 | if (!pldev->dev.driver) { | ||
179 | /* | ||
180 | * The driver was not bound to this device, there was | ||
181 | * no hardware at this address. Unregister it, as the | ||
182 | * release fuction will take care of freeing the | ||
183 | * allocated structure | ||
184 | */ | ||
185 | platform_device_unregister (pldev); | ||
186 | } | ||
187 | |||
188 | swarm_ide_dev = pldev; | ||
189 | |||
190 | return 0; | ||
191 | |||
192 | out_free_pldev: | ||
193 | kfree(pldev); | ||
194 | |||
195 | out_unregister_driver: | ||
196 | driver_unregister(&swarm_ide_driver); | ||
197 | out: | ||
198 | return err; | ||
199 | } | ||
200 | |||
201 | module_init(swarm_ide_init_module); | ||
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c index 52cadc005d72..a21b1e11eef4 100644 --- a/drivers/ide/pci/aec62xx.c +++ b/drivers/ide/pci/aec62xx.c | |||
@@ -65,23 +65,6 @@ static struct chipset_bus_clock_list_entry aec6xxx_34_base [] = { | |||
65 | #define BUSCLOCK(D) \ | 65 | #define BUSCLOCK(D) \ |
66 | ((struct chipset_bus_clock_list_entry *) pci_get_drvdata((D))) | 66 | ((struct chipset_bus_clock_list_entry *) pci_get_drvdata((D))) |
67 | 67 | ||
68 | #if 0 | ||
69 | if (dev->device == PCI_DEVICE_ID_ARTOP_ATP850UF) { | ||
70 | (void) pci_read_config_byte(dev, 0x54, &art); | ||
71 | p += sprintf(p, "DMA Mode: %s(%s)", | ||
72 | (c0&0x20)?((art&0x03)?"UDMA":" DMA"):" PIO", | ||
73 | (art&0x02)?"2":(art&0x01)?"1":"0"); | ||
74 | p += sprintf(p, " %s(%s)", | ||
75 | (c0&0x40)?((art&0x0c)?"UDMA":" DMA"):" PIO", | ||
76 | (art&0x08)?"2":(art&0x04)?"1":"0"); | ||
77 | p += sprintf(p, " %s(%s)", | ||
78 | (c1&0x20)?((art&0x30)?"UDMA":" DMA"):" PIO", | ||
79 | (art&0x20)?"2":(art&0x10)?"1":"0"); | ||
80 | p += sprintf(p, " %s(%s)\n", | ||
81 | (c1&0x40)?((art&0xc0)?"UDMA":" DMA"):" PIO", | ||
82 | (art&0x80)?"2":(art&0x40)?"1":"0"); | ||
83 | } else { | ||
84 | #endif | ||
85 | 68 | ||
86 | /* | 69 | /* |
87 | * TO DO: active tuning and correction of cards without a bios. | 70 | * TO DO: active tuning and correction of cards without a bios. |
@@ -112,13 +95,9 @@ static u8 aec62xx_ratemask (ide_drive_t *drive) | |||
112 | switch(hwif->pci_dev->device) { | 95 | switch(hwif->pci_dev->device) { |
113 | case PCI_DEVICE_ID_ARTOP_ATP865: | 96 | case PCI_DEVICE_ID_ARTOP_ATP865: |
114 | case PCI_DEVICE_ID_ARTOP_ATP865R: | 97 | case PCI_DEVICE_ID_ARTOP_ATP865R: |
115 | #if 0 | ||
116 | mode = (hwif->INB(hwif->dma_master) & 0x10) ? 4 : 3; | ||
117 | #else | ||
118 | mode = (hwif->INB(((hwif->channel) ? | 98 | mode = (hwif->INB(((hwif->channel) ? |
119 | hwif->mate->dma_status : | 99 | hwif->mate->dma_status : |
120 | hwif->dma_status)) & 0x10) ? 4 : 3; | 100 | hwif->dma_status)) & 0x10) ? 4 : 3; |
121 | #endif | ||
122 | break; | 101 | break; |
123 | case PCI_DEVICE_ID_ARTOP_ATP860: | 102 | case PCI_DEVICE_ID_ARTOP_ATP860: |
124 | case PCI_DEVICE_ID_ARTOP_ATP860R: | 103 | case PCI_DEVICE_ID_ARTOP_ATP860R: |
@@ -263,35 +242,9 @@ static int aec62xx_irq_timeout (ide_drive_t *drive) | |||
263 | case PCI_DEVICE_ID_ARTOP_ATP865: | 242 | case PCI_DEVICE_ID_ARTOP_ATP865: |
264 | case PCI_DEVICE_ID_ARTOP_ATP865R: | 243 | case PCI_DEVICE_ID_ARTOP_ATP865R: |
265 | printk(" AEC62XX time out "); | 244 | printk(" AEC62XX time out "); |
266 | #if 0 | ||
267 | { | ||
268 | int i = 0; | ||
269 | u8 reg49h = 0; | ||
270 | pci_read_config_byte(HWIF(drive)->pci_dev, 0x49, ®49h); | ||
271 | for (i=0;i<256;i++) | ||
272 | pci_write_config_byte(HWIF(drive)->pci_dev, 0x49, reg49h|0x10); | ||
273 | pci_write_config_byte(HWIF(drive)->pci_dev, 0x49, reg49h & ~0x10); | ||
274 | } | ||
275 | return 0; | ||
276 | #endif | ||
277 | default: | 245 | default: |
278 | break; | 246 | break; |
279 | } | 247 | } |
280 | #if 0 | ||
281 | { | ||
282 | ide_hwif_t *hwif = HWIF(drive); | ||
283 | struct pci_dev *dev = hwif->pci_dev; | ||
284 | u8 tmp1 = 0, tmp2 = 0, mode6 = 0; | ||
285 | |||
286 | pci_read_config_byte(dev, 0x44, &tmp1); | ||
287 | pci_read_config_byte(dev, 0x45, &tmp2); | ||
288 | printk(" AEC6280 r44=%x r45=%x ",tmp1,tmp2); | ||
289 | mode6 = HWIF(drive)->INB(((hwif->channel) ? | ||
290 | hwif->mate->dma_status : | ||
291 | hwif->dma_status)); | ||
292 | printk(" AEC6280 133=%x ", (mode6 & 0x10)); | ||
293 | } | ||
294 | #endif | ||
295 | return 0; | 248 | return 0; |
296 | } | 249 | } |
297 | 250 | ||
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c index 6cf49394a80f..cf84350efc55 100644 --- a/drivers/ide/pci/alim15x3.c +++ b/drivers/ide/pci/alim15x3.c | |||
@@ -876,10 +876,15 @@ static ide_pci_device_t ali15x3_chipset __devinitdata = { | |||
876 | 876 | ||
877 | static int __devinit alim15x3_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 877 | static int __devinit alim15x3_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
878 | { | 878 | { |
879 | static struct pci_device_id ati_rs100[] = { | ||
880 | { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100) }, | ||
881 | { }, | ||
882 | }; | ||
883 | |||
879 | ide_pci_device_t *d = &ali15x3_chipset; | 884 | ide_pci_device_t *d = &ali15x3_chipset; |
880 | 885 | ||
881 | if(pci_find_device(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, NULL)) | 886 | if (pci_dev_present(ati_rs100)) |
882 | printk(KERN_ERR "Warning: ATI Radeon IGP Northbridge is not yet fully tested.\n"); | 887 | printk(KERN_WARNING "alim15x3: ATI Radeon IGP Northbridge is not yet fully tested.\n"); |
883 | 888 | ||
884 | #if defined(CONFIG_SPARC64) | 889 | #if defined(CONFIG_SPARC64) |
885 | d->init_hwif = init_hwif_common_ali15x3; | 890 | d->init_hwif = init_hwif_common_ali15x3; |
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c index 7dc24682d197..ea3c52cc8ac1 100644 --- a/drivers/ide/pci/cs5520.c +++ b/drivers/ide/pci/cs5520.c | |||
@@ -222,10 +222,9 @@ static int __devinit cs5520_init_one(struct pci_dev *dev, const struct pci_devic | |||
222 | 222 | ||
223 | /* We must not grab the entire device, it has 'ISA' space in its | 223 | /* We must not grab the entire device, it has 'ISA' space in its |
224 | BARS too and we will freak out other bits of the kernel */ | 224 | BARS too and we will freak out other bits of the kernel */ |
225 | if(pci_enable_device_bars(dev, 1<<2)) | 225 | if (pci_enable_device_bars(dev, 1<<2)) { |
226 | { | ||
227 | printk(KERN_WARNING "%s: Unable to enable 55x0.\n", d->name); | 226 | printk(KERN_WARNING "%s: Unable to enable 55x0.\n", d->name); |
228 | return 1; | 227 | return -ENODEV; |
229 | } | 228 | } |
230 | pci_set_master(dev); | 229 | pci_set_master(dev); |
231 | if (pci_set_dma_mask(dev, DMA_32BIT_MASK)) { | 230 | if (pci_set_dma_mask(dev, DMA_32BIT_MASK)) { |
diff --git a/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c index 022d244f2eb0..f1ca154dd52c 100644 --- a/drivers/ide/pci/siimage.c +++ b/drivers/ide/pci/siimage.c | |||
@@ -6,7 +6,13 @@ | |||
6 | * | 6 | * |
7 | * May be copied or modified under the terms of the GNU General Public License | 7 | * May be copied or modified under the terms of the GNU General Public License |
8 | * | 8 | * |
9 | * Documentation available under NDA only | 9 | * Documentation for CMD680: |
10 | * http://gkernel.sourceforge.net/specs/sii/sii-0680a-v1.31.pdf.bz2 | ||
11 | * | ||
12 | * Documentation for SiI 3112: | ||
13 | * http://gkernel.sourceforge.net/specs/sii/3112A_SiI-DS-0095-B2.pdf.bz2 | ||
14 | * | ||
15 | * Errata and other documentation only available under NDA. | ||
10 | * | 16 | * |
11 | * | 17 | * |
12 | * FAQ Items: | 18 | * FAQ Items: |
diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c index 16b3e2d8bfb1..75a2253a3e68 100644 --- a/drivers/ide/pci/sis5513.c +++ b/drivers/ide/pci/sis5513.c | |||
@@ -87,6 +87,7 @@ static const struct { | |||
87 | u8 chipset_family; | 87 | u8 chipset_family; |
88 | u8 flags; | 88 | u8 flags; |
89 | } SiSHostChipInfo[] = { | 89 | } SiSHostChipInfo[] = { |
90 | { "SiS965", PCI_DEVICE_ID_SI_965, ATA_133 }, | ||
90 | { "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, | 91 | { "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, |
91 | { "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, | 92 | { "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, |
92 | { "SiS733", PCI_DEVICE_ID_SI_733, ATA_100 }, | 93 | { "SiS733", PCI_DEVICE_ID_SI_733, ATA_100 }, |
diff --git a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c index a4d099c937ff..7161ce0ef5aa 100644 --- a/drivers/ide/pci/via82cxxx.c +++ b/drivers/ide/pci/via82cxxx.c | |||
@@ -79,6 +79,7 @@ static struct via_isa_bridge { | |||
79 | u8 rev_max; | 79 | u8 rev_max; |
80 | u16 flags; | 80 | u16 flags; |
81 | } via_isa_bridges[] = { | 81 | } via_isa_bridges[] = { |
82 | { "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, | ||
82 | { "vt8237", PCI_DEVICE_ID_VIA_8237, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, | 83 | { "vt8237", PCI_DEVICE_ID_VIA_8237, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
83 | { "vt8235", PCI_DEVICE_ID_VIA_8235, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, | 84 | { "vt8235", PCI_DEVICE_ID_VIA_8235, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
84 | { "vt8233a", PCI_DEVICE_ID_VIA_8233A, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, | 85 | { "vt8233a", PCI_DEVICE_ID_VIA_8233A, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
@@ -100,185 +101,14 @@ static struct via_isa_bridge { | |||
100 | { NULL } | 101 | { NULL } |
101 | }; | 102 | }; |
102 | 103 | ||
103 | static struct via_isa_bridge *via_config; | ||
104 | static unsigned int via_80w; | ||
105 | static unsigned int via_clock; | 104 | static unsigned int via_clock; |
106 | static char *via_dma[] = { "MWDMA16", "UDMA33", "UDMA66", "UDMA100", "UDMA133" }; | 105 | static char *via_dma[] = { "MWDMA16", "UDMA33", "UDMA66", "UDMA100", "UDMA133" }; |
107 | 106 | ||
108 | /* | 107 | struct via82cxxx_dev |
109 | * VIA /proc entry. | ||
110 | */ | ||
111 | |||
112 | #if defined(DISPLAY_VIA_TIMINGS) && defined(CONFIG_PROC_FS) | ||
113 | |||
114 | #include <linux/stat.h> | ||
115 | #include <linux/proc_fs.h> | ||
116 | |||
117 | static u8 via_proc = 0; | ||
118 | static unsigned long via_base; | ||
119 | static struct pci_dev *bmide_dev, *isa_dev; | ||
120 | |||
121 | static char *via_control3[] = { "No limit", "64", "128", "192" }; | ||
122 | |||
123 | #define via_print(format, arg...) p += sprintf(p, format "\n" , ## arg) | ||
124 | #define via_print_drive(name, format, arg...)\ | ||
125 | p += sprintf(p, name); for (i = 0; i < 4; i++) p += sprintf(p, format, ## arg); p += sprintf(p, "\n"); | ||
126 | |||
127 | |||
128 | /** | ||
129 | * via_get_info - generate via /proc file | ||
130 | * @buffer: buffer for data | ||
131 | * @addr: set to start of data to use | ||
132 | * @offset: current file offset | ||
133 | * @count: size of read | ||
134 | * | ||
135 | * Fills in buffer with the debugging/configuration information for | ||
136 | * the VIA chipset tuning and attached drives | ||
137 | */ | ||
138 | |||
139 | static int via_get_info(char *buffer, char **addr, off_t offset, int count) | ||
140 | { | 108 | { |
141 | int speed[4], cycle[4], setup[4], active[4], recover[4], den[4], | 109 | struct via_isa_bridge *via_config; |
142 | uen[4], udma[4], umul[4], active8b[4], recover8b[4]; | 110 | unsigned int via_80w; |
143 | struct pci_dev *dev = bmide_dev; | 111 | }; |
144 | unsigned int v, u, i; | ||
145 | int len; | ||
146 | u16 c, w; | ||
147 | u8 t, x; | ||
148 | char *p = buffer; | ||
149 | |||
150 | via_print("----------VIA BusMastering IDE Configuration" | ||
151 | "----------------"); | ||
152 | |||
153 | via_print("Driver Version: 3.38"); | ||
154 | via_print("South Bridge: VIA %s", | ||
155 | via_config->name); | ||
156 | |||
157 | pci_read_config_byte(isa_dev, PCI_REVISION_ID, &t); | ||
158 | pci_read_config_byte(dev, PCI_REVISION_ID, &x); | ||
159 | via_print("Revision: ISA %#x IDE %#x", t, x); | ||
160 | via_print("Highest DMA rate: %s", | ||
161 | via_dma[via_config->flags & VIA_UDMA]); | ||
162 | |||
163 | via_print("BM-DMA base: %#lx", via_base); | ||
164 | via_print("PCI clock: %d.%dMHz", | ||
165 | via_clock / 1000, via_clock / 100 % 10); | ||
166 | |||
167 | pci_read_config_byte(dev, VIA_MISC_1, &t); | ||
168 | via_print("Master Read Cycle IRDY: %dws", | ||
169 | (t & 64) >> 6); | ||
170 | via_print("Master Write Cycle IRDY: %dws", | ||
171 | (t & 32) >> 5); | ||
172 | via_print("BM IDE Status Register Read Retry: %s", | ||
173 | (t & 8) ? "yes" : "no"); | ||
174 | |||
175 | pci_read_config_byte(dev, VIA_MISC_3, &t); | ||
176 | via_print("Max DRDY Pulse Width: %s%s", | ||
177 | via_control3[(t & 0x03)], (t & 0x03) ? " PCI clocks" : ""); | ||
178 | |||
179 | via_print("-----------------------Primary IDE" | ||
180 | "-------Secondary IDE------"); | ||
181 | via_print("Read DMA FIFO flush: %10s%20s", | ||
182 | (t & 0x80) ? "yes" : "no", (t & 0x40) ? "yes" : "no"); | ||
183 | via_print("End Sector FIFO flush: %10s%20s", | ||
184 | (t & 0x20) ? "yes" : "no", (t & 0x10) ? "yes" : "no"); | ||
185 | |||
186 | pci_read_config_byte(dev, VIA_IDE_CONFIG, &t); | ||
187 | via_print("Prefetch Buffer: %10s%20s", | ||
188 | (t & 0x80) ? "yes" : "no", (t & 0x20) ? "yes" : "no"); | ||
189 | via_print("Post Write Buffer: %10s%20s", | ||
190 | (t & 0x40) ? "yes" : "no", (t & 0x10) ? "yes" : "no"); | ||
191 | |||
192 | pci_read_config_byte(dev, VIA_IDE_ENABLE, &t); | ||
193 | via_print("Enabled: %10s%20s", | ||
194 | (t & 0x02) ? "yes" : "no", (t & 0x01) ? "yes" : "no"); | ||
195 | |||
196 | c = inb(via_base + 0x02) | (inb(via_base + 0x0a) << 8); | ||
197 | via_print("Simplex only: %10s%20s", | ||
198 | (c & 0x80) ? "yes" : "no", (c & 0x8000) ? "yes" : "no"); | ||
199 | |||
200 | via_print("Cable Type: %10s%20s", | ||
201 | (via_80w & 1) ? "80w" : "40w", (via_80w & 2) ? "80w" : "40w"); | ||
202 | |||
203 | via_print("-------------------drive0----drive1" | ||
204 | "----drive2----drive3-----"); | ||
205 | |||
206 | pci_read_config_byte(dev, VIA_ADDRESS_SETUP, &t); | ||
207 | pci_read_config_dword(dev, VIA_DRIVE_TIMING, &v); | ||
208 | pci_read_config_word(dev, VIA_8BIT_TIMING, &w); | ||
209 | |||
210 | if (via_config->flags & VIA_UDMA) | ||
211 | pci_read_config_dword(dev, VIA_UDMA_TIMING, &u); | ||
212 | else u = 0; | ||
213 | |||
214 | for (i = 0; i < 4; i++) { | ||
215 | |||
216 | setup[i] = ((t >> ((3 - i) << 1)) & 0x3) + 1; | ||
217 | recover8b[i] = ((w >> ((1 - (i >> 1)) << 3)) & 0xf) + 1; | ||
218 | active8b[i] = ((w >> (((1 - (i >> 1)) << 3) + 4)) & 0xf) + 1; | ||
219 | active[i] = ((v >> (((3 - i) << 3) + 4)) & 0xf) + 1; | ||
220 | recover[i] = ((v >> ((3 - i) << 3)) & 0xf) + 1; | ||
221 | udma[i] = ((u >> ((3 - i) << 3)) & 0x7) + 2; | ||
222 | umul[i] = ((u >> (((3 - i) & 2) << 3)) & 0x8) ? 1 : 2; | ||
223 | uen[i] = ((u >> ((3 - i) << 3)) & 0x20); | ||
224 | den[i] = (c & ((i & 1) ? 0x40 : 0x20) << ((i & 2) << 2)); | ||
225 | |||
226 | speed[i] = 2 * via_clock / (active[i] + recover[i]); | ||
227 | cycle[i] = 1000000 * (active[i] + recover[i]) / via_clock; | ||
228 | |||
229 | if (!uen[i] || !den[i]) | ||
230 | continue; | ||
231 | |||
232 | switch (via_config->flags & VIA_UDMA) { | ||
233 | |||
234 | case VIA_UDMA_33: | ||
235 | speed[i] = 2 * via_clock / udma[i]; | ||
236 | cycle[i] = 1000000 * udma[i] / via_clock; | ||
237 | break; | ||
238 | |||
239 | case VIA_UDMA_66: | ||
240 | speed[i] = 4 * via_clock / (udma[i] * umul[i]); | ||
241 | cycle[i] = 500000 * (udma[i] * umul[i]) / via_clock; | ||
242 | break; | ||
243 | |||
244 | case VIA_UDMA_100: | ||
245 | speed[i] = 6 * via_clock / udma[i]; | ||
246 | cycle[i] = 333333 * udma[i] / via_clock; | ||
247 | break; | ||
248 | |||
249 | case VIA_UDMA_133: | ||
250 | speed[i] = 8 * via_clock / udma[i]; | ||
251 | cycle[i] = 250000 * udma[i] / via_clock; | ||
252 | break; | ||
253 | } | ||
254 | } | ||
255 | |||
256 | via_print_drive("Transfer Mode: ", "%10s", | ||
257 | den[i] ? (uen[i] ? "UDMA" : "DMA") : "PIO"); | ||
258 | |||
259 | via_print_drive("Address Setup: ", "%8dns", | ||
260 | 1000000 * setup[i] / via_clock); | ||
261 | via_print_drive("Cmd Active: ", "%8dns", | ||
262 | 1000000 * active8b[i] / via_clock); | ||
263 | via_print_drive("Cmd Recovery: ", "%8dns", | ||
264 | 1000000 * recover8b[i] / via_clock); | ||
265 | via_print_drive("Data Active: ", "%8dns", | ||
266 | 1000000 * active[i] / via_clock); | ||
267 | via_print_drive("Data Recovery: ", "%8dns", | ||
268 | 1000000 * recover[i] / via_clock); | ||
269 | via_print_drive("Cycle Time: ", "%8dns", | ||
270 | cycle[i]); | ||
271 | via_print_drive("Transfer Rate: ", "%4d.%dMB/s", | ||
272 | speed[i] / 1000, speed[i] / 100 % 10); | ||
273 | |||
274 | /* hoping it is less than 4K... */ | ||
275 | len = (p - buffer) - offset; | ||
276 | *addr = buffer + offset; | ||
277 | |||
278 | return len > count ? count : len; | ||
279 | } | ||
280 | |||
281 | #endif /* DISPLAY_VIA_TIMINGS && CONFIG_PROC_FS */ | ||
282 | 112 | ||
283 | /** | 113 | /** |
284 | * via_set_speed - write timing registers | 114 | * via_set_speed - write timing registers |
@@ -289,11 +119,13 @@ static int via_get_info(char *buffer, char **addr, off_t offset, int count) | |||
289 | * via_set_speed writes timing values to the chipset registers | 119 | * via_set_speed writes timing values to the chipset registers |
290 | */ | 120 | */ |
291 | 121 | ||
292 | static void via_set_speed(struct pci_dev *dev, u8 dn, struct ide_timing *timing) | 122 | static void via_set_speed(ide_hwif_t *hwif, u8 dn, struct ide_timing *timing) |
293 | { | 123 | { |
124 | struct pci_dev *dev = hwif->pci_dev; | ||
125 | struct via82cxxx_dev *vdev = ide_get_hwifdata(hwif); | ||
294 | u8 t; | 126 | u8 t; |
295 | 127 | ||
296 | if (~via_config->flags & VIA_BAD_AST) { | 128 | if (~vdev->via_config->flags & VIA_BAD_AST) { |
297 | pci_read_config_byte(dev, VIA_ADDRESS_SETUP, &t); | 129 | pci_read_config_byte(dev, VIA_ADDRESS_SETUP, &t); |
298 | t = (t & ~(3 << ((3 - dn) << 1))) | ((FIT(timing->setup, 1, 4) - 1) << ((3 - dn) << 1)); | 130 | t = (t & ~(3 << ((3 - dn) << 1))) | ((FIT(timing->setup, 1, 4) - 1) << ((3 - dn) << 1)); |
299 | pci_write_config_byte(dev, VIA_ADDRESS_SETUP, t); | 131 | pci_write_config_byte(dev, VIA_ADDRESS_SETUP, t); |
@@ -305,7 +137,7 @@ static void via_set_speed(struct pci_dev *dev, u8 dn, struct ide_timing *timing) | |||
305 | pci_write_config_byte(dev, VIA_DRIVE_TIMING + (3 - dn), | 137 | pci_write_config_byte(dev, VIA_DRIVE_TIMING + (3 - dn), |
306 | ((FIT(timing->active, 1, 16) - 1) << 4) | (FIT(timing->recover, 1, 16) - 1)); | 138 | ((FIT(timing->active, 1, 16) - 1) << 4) | (FIT(timing->recover, 1, 16) - 1)); |
307 | 139 | ||
308 | switch (via_config->flags & VIA_UDMA) { | 140 | switch (vdev->via_config->flags & VIA_UDMA) { |
309 | case VIA_UDMA_33: t = timing->udma ? (0xe0 | (FIT(timing->udma, 2, 5) - 2)) : 0x03; break; | 141 | case VIA_UDMA_33: t = timing->udma ? (0xe0 | (FIT(timing->udma, 2, 5) - 2)) : 0x03; break; |
310 | case VIA_UDMA_66: t = timing->udma ? (0xe8 | (FIT(timing->udma, 2, 9) - 2)) : 0x0f; break; | 142 | case VIA_UDMA_66: t = timing->udma ? (0xe8 | (FIT(timing->udma, 2, 9) - 2)) : 0x0f; break; |
311 | case VIA_UDMA_100: t = timing->udma ? (0xe0 | (FIT(timing->udma, 2, 9) - 2)) : 0x07; break; | 143 | case VIA_UDMA_100: t = timing->udma ? (0xe0 | (FIT(timing->udma, 2, 9) - 2)) : 0x07; break; |
@@ -329,6 +161,7 @@ static void via_set_speed(struct pci_dev *dev, u8 dn, struct ide_timing *timing) | |||
329 | static int via_set_drive(ide_drive_t *drive, u8 speed) | 161 | static int via_set_drive(ide_drive_t *drive, u8 speed) |
330 | { | 162 | { |
331 | ide_drive_t *peer = HWIF(drive)->drives + (~drive->dn & 1); | 163 | ide_drive_t *peer = HWIF(drive)->drives + (~drive->dn & 1); |
164 | struct via82cxxx_dev *vdev = ide_get_hwifdata(drive->hwif); | ||
332 | struct ide_timing t, p; | 165 | struct ide_timing t, p; |
333 | unsigned int T, UT; | 166 | unsigned int T, UT; |
334 | 167 | ||
@@ -337,7 +170,7 @@ static int via_set_drive(ide_drive_t *drive, u8 speed) | |||
337 | 170 | ||
338 | T = 1000000000 / via_clock; | 171 | T = 1000000000 / via_clock; |
339 | 172 | ||
340 | switch (via_config->flags & VIA_UDMA) { | 173 | switch (vdev->via_config->flags & VIA_UDMA) { |
341 | case VIA_UDMA_33: UT = T; break; | 174 | case VIA_UDMA_33: UT = T; break; |
342 | case VIA_UDMA_66: UT = T/2; break; | 175 | case VIA_UDMA_66: UT = T/2; break; |
343 | case VIA_UDMA_100: UT = T/3; break; | 176 | case VIA_UDMA_100: UT = T/3; break; |
@@ -352,7 +185,7 @@ static int via_set_drive(ide_drive_t *drive, u8 speed) | |||
352 | ide_timing_merge(&p, &t, &t, IDE_TIMING_8BIT); | 185 | ide_timing_merge(&p, &t, &t, IDE_TIMING_8BIT); |
353 | } | 186 | } |
354 | 187 | ||
355 | via_set_speed(HWIF(drive)->pci_dev, drive->dn, &t); | 188 | via_set_speed(HWIF(drive), drive->dn, &t); |
356 | 189 | ||
357 | if (!drive->init_speed) | 190 | if (!drive->init_speed) |
358 | drive->init_speed = speed; | 191 | drive->init_speed = speed; |
@@ -390,20 +223,41 @@ static void via82cxxx_tune_drive(ide_drive_t *drive, u8 pio) | |||
390 | 223 | ||
391 | static int via82cxxx_ide_dma_check (ide_drive_t *drive) | 224 | static int via82cxxx_ide_dma_check (ide_drive_t *drive) |
392 | { | 225 | { |
393 | u16 w80 = HWIF(drive)->udma_four; | 226 | ide_hwif_t *hwif = HWIF(drive); |
227 | struct via82cxxx_dev *vdev = ide_get_hwifdata(hwif); | ||
228 | u16 w80 = hwif->udma_four; | ||
394 | 229 | ||
395 | u16 speed = ide_find_best_mode(drive, | 230 | u16 speed = ide_find_best_mode(drive, |
396 | XFER_PIO | XFER_EPIO | XFER_SWDMA | XFER_MWDMA | | 231 | XFER_PIO | XFER_EPIO | XFER_SWDMA | XFER_MWDMA | |
397 | (via_config->flags & VIA_UDMA ? XFER_UDMA : 0) | | 232 | (vdev->via_config->flags & VIA_UDMA ? XFER_UDMA : 0) | |
398 | (w80 && (via_config->flags & VIA_UDMA) >= VIA_UDMA_66 ? XFER_UDMA_66 : 0) | | 233 | (w80 && (vdev->via_config->flags & VIA_UDMA) >= VIA_UDMA_66 ? XFER_UDMA_66 : 0) | |
399 | (w80 && (via_config->flags & VIA_UDMA) >= VIA_UDMA_100 ? XFER_UDMA_100 : 0) | | 234 | (w80 && (vdev->via_config->flags & VIA_UDMA) >= VIA_UDMA_100 ? XFER_UDMA_100 : 0) | |
400 | (w80 && (via_config->flags & VIA_UDMA) >= VIA_UDMA_133 ? XFER_UDMA_133 : 0)); | 235 | (w80 && (vdev->via_config->flags & VIA_UDMA) >= VIA_UDMA_133 ? XFER_UDMA_133 : 0)); |
401 | 236 | ||
402 | via_set_drive(drive, speed); | 237 | via_set_drive(drive, speed); |
403 | 238 | ||
404 | if (drive->autodma && (speed & XFER_MODE) != XFER_PIO) | 239 | if (drive->autodma && (speed & XFER_MODE) != XFER_PIO) |
405 | return HWIF(drive)->ide_dma_on(drive); | 240 | return hwif->ide_dma_on(drive); |
406 | return HWIF(drive)->ide_dma_off_quietly(drive); | 241 | return hwif->ide_dma_off_quietly(drive); |
242 | } | ||
243 | |||
244 | static struct via_isa_bridge *via_config_find(struct pci_dev **isa) | ||
245 | { | ||
246 | struct via_isa_bridge *via_config; | ||
247 | u8 t; | ||
248 | |||
249 | for (via_config = via_isa_bridges; via_config->id; via_config++) | ||
250 | if ((*isa = pci_find_device(PCI_VENDOR_ID_VIA + | ||
251 | !!(via_config->flags & VIA_BAD_ID), | ||
252 | via_config->id, NULL))) { | ||
253 | |||
254 | pci_read_config_byte(*isa, PCI_REVISION_ID, &t); | ||
255 | if (t >= via_config->rev_min && | ||
256 | t <= via_config->rev_max) | ||
257 | break; | ||
258 | } | ||
259 | |||
260 | return via_config; | ||
407 | } | 261 | } |
408 | 262 | ||
409 | /** | 263 | /** |
@@ -418,82 +272,28 @@ static int via82cxxx_ide_dma_check (ide_drive_t *drive) | |||
418 | static unsigned int __devinit init_chipset_via82cxxx(struct pci_dev *dev, const char *name) | 272 | static unsigned int __devinit init_chipset_via82cxxx(struct pci_dev *dev, const char *name) |
419 | { | 273 | { |
420 | struct pci_dev *isa = NULL; | 274 | struct pci_dev *isa = NULL; |
275 | struct via_isa_bridge *via_config; | ||
421 | u8 t, v; | 276 | u8 t, v; |
422 | unsigned int u; | 277 | unsigned int u; |
423 | int i; | ||
424 | 278 | ||
425 | /* | 279 | /* |
426 | * Find the ISA bridge to see how good the IDE is. | 280 | * Find the ISA bridge to see how good the IDE is. |
427 | */ | 281 | */ |
428 | 282 | via_config = via_config_find(&isa); | |
429 | for (via_config = via_isa_bridges; via_config->id; via_config++) | ||
430 | if ((isa = pci_find_device(PCI_VENDOR_ID_VIA + | ||
431 | !!(via_config->flags & VIA_BAD_ID), | ||
432 | via_config->id, NULL))) { | ||
433 | |||
434 | pci_read_config_byte(isa, PCI_REVISION_ID, &t); | ||
435 | if (t >= via_config->rev_min && | ||
436 | t <= via_config->rev_max) | ||
437 | break; | ||
438 | } | ||
439 | |||
440 | if (!via_config->id) { | 283 | if (!via_config->id) { |
441 | printk(KERN_WARNING "VP_IDE: Unknown VIA SouthBridge, disabling DMA.\n"); | 284 | printk(KERN_WARNING "VP_IDE: Unknown VIA SouthBridge, disabling DMA.\n"); |
442 | return -ENODEV; | 285 | return -ENODEV; |
443 | } | 286 | } |
444 | 287 | ||
445 | /* | 288 | /* |
446 | * Check 80-wire cable presence and setup Clk66. | 289 | * Setup or disable Clk66 if appropriate |
447 | */ | 290 | */ |
448 | 291 | ||
449 | switch (via_config->flags & VIA_UDMA) { | 292 | if ((via_config->flags & VIA_UDMA) == VIA_UDMA_66) { |
450 | 293 | /* Enable Clk66 */ | |
451 | case VIA_UDMA_66: | 294 | pci_read_config_dword(dev, VIA_UDMA_TIMING, &u); |
452 | /* Enable Clk66 */ | 295 | pci_write_config_dword(dev, VIA_UDMA_TIMING, u|0x80008); |
453 | pci_read_config_dword(dev, VIA_UDMA_TIMING, &u); | 296 | } else if (via_config->flags & VIA_BAD_CLK66) { |
454 | pci_write_config_dword(dev, VIA_UDMA_TIMING, u|0x80008); | ||
455 | for (i = 24; i >= 0; i -= 8) | ||
456 | if (((u >> (i & 16)) & 8) && | ||
457 | ((u >> i) & 0x20) && | ||
458 | (((u >> i) & 7) < 2)) { | ||
459 | /* | ||
460 | * 2x PCI clock and | ||
461 | * UDMA w/ < 3T/cycle | ||
462 | */ | ||
463 | via_80w |= (1 << (1 - (i >> 4))); | ||
464 | } | ||
465 | break; | ||
466 | |||
467 | case VIA_UDMA_100: | ||
468 | pci_read_config_dword(dev, VIA_UDMA_TIMING, &u); | ||
469 | for (i = 24; i >= 0; i -= 8) | ||
470 | if (((u >> i) & 0x10) || | ||
471 | (((u >> i) & 0x20) && | ||
472 | (((u >> i) & 7) < 4))) { | ||
473 | /* BIOS 80-wire bit or | ||
474 | * UDMA w/ < 60ns/cycle | ||
475 | */ | ||
476 | via_80w |= (1 << (1 - (i >> 4))); | ||
477 | } | ||
478 | break; | ||
479 | |||
480 | case VIA_UDMA_133: | ||
481 | pci_read_config_dword(dev, VIA_UDMA_TIMING, &u); | ||
482 | for (i = 24; i >= 0; i -= 8) | ||
483 | if (((u >> i) & 0x10) || | ||
484 | (((u >> i) & 0x20) && | ||
485 | (((u >> i) & 7) < 6))) { | ||
486 | /* BIOS 80-wire bit or | ||
487 | * UDMA w/ < 60ns/cycle | ||
488 | */ | ||
489 | via_80w |= (1 << (1 - (i >> 4))); | ||
490 | } | ||
491 | break; | ||
492 | |||
493 | } | ||
494 | |||
495 | /* Disable Clk66 */ | ||
496 | if (via_config->flags & VIA_BAD_CLK66) { | ||
497 | /* Would cause trouble on 596a and 686 */ | 297 | /* Would cause trouble on 596a and 686 */ |
498 | pci_read_config_dword(dev, VIA_UDMA_TIMING, &u); | 298 | pci_read_config_dword(dev, VIA_UDMA_TIMING, &u); |
499 | pci_write_config_dword(dev, VIA_UDMA_TIMING, u & ~0x80008); | 299 | pci_write_config_dword(dev, VIA_UDMA_TIMING, u & ~0x80008); |
@@ -560,26 +360,78 @@ static unsigned int __devinit init_chipset_via82cxxx(struct pci_dev *dev, const | |||
560 | via_dma[via_config->flags & VIA_UDMA], | 360 | via_dma[via_config->flags & VIA_UDMA], |
561 | pci_name(dev)); | 361 | pci_name(dev)); |
562 | 362 | ||
563 | /* | 363 | return 0; |
564 | * Setup /proc/ide/via entry. | 364 | } |
565 | */ | 365 | |
366 | /* | ||
367 | * Check and handle 80-wire cable presence | ||
368 | */ | ||
369 | static void __devinit via_cable_detect(struct pci_dev *dev, struct via82cxxx_dev *vdev) | ||
370 | { | ||
371 | unsigned int u; | ||
372 | int i; | ||
373 | pci_read_config_dword(dev, VIA_UDMA_TIMING, &u); | ||
374 | |||
375 | switch (vdev->via_config->flags & VIA_UDMA) { | ||
376 | |||
377 | case VIA_UDMA_66: | ||
378 | for (i = 24; i >= 0; i -= 8) | ||
379 | if (((u >> (i & 16)) & 8) && | ||
380 | ((u >> i) & 0x20) && | ||
381 | (((u >> i) & 7) < 2)) { | ||
382 | /* | ||
383 | * 2x PCI clock and | ||
384 | * UDMA w/ < 3T/cycle | ||
385 | */ | ||
386 | vdev->via_80w |= (1 << (1 - (i >> 4))); | ||
387 | } | ||
388 | break; | ||
389 | |||
390 | case VIA_UDMA_100: | ||
391 | for (i = 24; i >= 0; i -= 8) | ||
392 | if (((u >> i) & 0x10) || | ||
393 | (((u >> i) & 0x20) && | ||
394 | (((u >> i) & 7) < 4))) { | ||
395 | /* BIOS 80-wire bit or | ||
396 | * UDMA w/ < 60ns/cycle | ||
397 | */ | ||
398 | vdev->via_80w |= (1 << (1 - (i >> 4))); | ||
399 | } | ||
400 | break; | ||
401 | |||
402 | case VIA_UDMA_133: | ||
403 | for (i = 24; i >= 0; i -= 8) | ||
404 | if (((u >> i) & 0x10) || | ||
405 | (((u >> i) & 0x20) && | ||
406 | (((u >> i) & 7) < 6))) { | ||
407 | /* BIOS 80-wire bit or | ||
408 | * UDMA w/ < 60ns/cycle | ||
409 | */ | ||
410 | vdev->via_80w |= (1 << (1 - (i >> 4))); | ||
411 | } | ||
412 | break; | ||
566 | 413 | ||
567 | #if defined(DISPLAY_VIA_TIMINGS) && defined(CONFIG_PROC_FS) | ||
568 | if (!via_proc) { | ||
569 | via_base = pci_resource_start(dev, 4); | ||
570 | bmide_dev = dev; | ||
571 | isa_dev = isa; | ||
572 | ide_pci_create_host_proc("via", via_get_info); | ||
573 | via_proc = 1; | ||
574 | } | 414 | } |
575 | #endif /* DISPLAY_VIA_TIMINGS && CONFIG_PROC_FS */ | ||
576 | return 0; | ||
577 | } | 415 | } |
578 | 416 | ||
579 | static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif) | 417 | static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif) |
580 | { | 418 | { |
419 | struct via82cxxx_dev *vdev = kmalloc(sizeof(struct via82cxxx_dev), | ||
420 | GFP_KERNEL); | ||
421 | struct pci_dev *isa = NULL; | ||
581 | int i; | 422 | int i; |
582 | 423 | ||
424 | if (vdev == NULL) { | ||
425 | printk(KERN_ERR "VP_IDE: out of memory :(\n"); | ||
426 | return; | ||
427 | } | ||
428 | |||
429 | memset(vdev, 0, sizeof(struct via82cxxx_dev)); | ||
430 | ide_set_hwifdata(hwif, vdev); | ||
431 | |||
432 | vdev->via_config = via_config_find(&isa); | ||
433 | via_cable_detect(hwif->pci_dev, vdev); | ||
434 | |||
583 | hwif->autodma = 0; | 435 | hwif->autodma = 0; |
584 | 436 | ||
585 | hwif->tuneproc = &via82cxxx_tune_drive; | 437 | hwif->tuneproc = &via82cxxx_tune_drive; |
@@ -594,7 +446,7 @@ static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif) | |||
594 | 446 | ||
595 | for (i = 0; i < 2; i++) { | 447 | for (i = 0; i < 2; i++) { |
596 | hwif->drives[i].io_32bit = 1; | 448 | hwif->drives[i].io_32bit = 1; |
597 | hwif->drives[i].unmask = (via_config->flags & VIA_NO_UNMASK) ? 0 : 1; | 449 | hwif->drives[i].unmask = (vdev->via_config->flags & VIA_NO_UNMASK) ? 0 : 1; |
598 | hwif->drives[i].autotune = 1; | 450 | hwif->drives[i].autotune = 1; |
599 | hwif->drives[i].dn = hwif->channel * 2 + i; | 451 | hwif->drives[i].dn = hwif->channel * 2 + i; |
600 | } | 452 | } |
@@ -608,7 +460,7 @@ static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif) | |||
608 | hwif->swdma_mask = 0x07; | 460 | hwif->swdma_mask = 0x07; |
609 | 461 | ||
610 | if (!hwif->udma_four) | 462 | if (!hwif->udma_four) |
611 | hwif->udma_four = (via_80w >> hwif->channel) & 1; | 463 | hwif->udma_four = (vdev->via_80w >> hwif->channel) & 1; |
612 | hwif->ide_dma_check = &via82cxxx_ide_dma_check; | 464 | hwif->ide_dma_check = &via82cxxx_ide_dma_check; |
613 | if (!noautodma) | 465 | if (!noautodma) |
614 | hwif->autodma = 1; | 466 | hwif->autodma = 1; |
@@ -616,24 +468,35 @@ static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif) | |||
616 | hwif->drives[1].autodma = hwif->autodma; | 468 | hwif->drives[1].autodma = hwif->autodma; |
617 | } | 469 | } |
618 | 470 | ||
619 | static ide_pci_device_t via82cxxx_chipset __devinitdata = { | 471 | static ide_pci_device_t via82cxxx_chipsets[] __devinitdata = { |
620 | .name = "VP_IDE", | 472 | { /* 0 */ |
621 | .init_chipset = init_chipset_via82cxxx, | 473 | .name = "VP_IDE", |
622 | .init_hwif = init_hwif_via82cxxx, | 474 | .init_chipset = init_chipset_via82cxxx, |
623 | .channels = 2, | 475 | .init_hwif = init_hwif_via82cxxx, |
624 | .autodma = NOAUTODMA, | 476 | .channels = 2, |
625 | .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, | 477 | .autodma = NOAUTODMA, |
626 | .bootable = ON_BOARD, | 478 | .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, |
479 | .bootable = ON_BOARD | ||
480 | },{ /* 1 */ | ||
481 | .name = "VP_IDE", | ||
482 | .init_chipset = init_chipset_via82cxxx, | ||
483 | .init_hwif = init_hwif_via82cxxx, | ||
484 | .channels = 2, | ||
485 | .autodma = AUTODMA, | ||
486 | .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, | ||
487 | .bootable = ON_BOARD, | ||
488 | } | ||
627 | }; | 489 | }; |
628 | 490 | ||
629 | static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 491 | static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
630 | { | 492 | { |
631 | return ide_setup_pci_device(dev, &via82cxxx_chipset); | 493 | return ide_setup_pci_device(dev, &via82cxxx_chipsets[id->driver_data]); |
632 | } | 494 | } |
633 | 495 | ||
634 | static struct pci_device_id via_pci_tbl[] = { | 496 | static struct pci_device_id via_pci_tbl[] = { |
635 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 497 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
636 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 498 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
499 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_6410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, | ||
637 | { 0, }, | 500 | { 0, }, |
638 | }; | 501 | }; |
639 | MODULE_DEVICE_TABLE(pci, via_pci_tbl); | 502 | MODULE_DEVICE_TABLE(pci, via_pci_tbl); |
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index 136911a86e84..16b28357885b 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c | |||
@@ -1401,20 +1401,6 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif) | |||
1401 | /* We probe the hwif now */ | 1401 | /* We probe the hwif now */ |
1402 | probe_hwif_init(hwif); | 1402 | probe_hwif_init(hwif); |
1403 | 1403 | ||
1404 | /* The code IDE code will have set hwif->present if we have devices attached, | ||
1405 | * if we don't, the discard the interface except if we are on a media bay slot | ||
1406 | */ | ||
1407 | if (!hwif->present && !pmif->mediabay) { | ||
1408 | printk(KERN_INFO "ide%d: Bus empty, interface released.\n", | ||
1409 | hwif->index); | ||
1410 | default_hwif_iops(hwif); | ||
1411 | for (i = IDE_DATA_OFFSET; i <= IDE_CONTROL_OFFSET; ++i) | ||
1412 | hwif->io_ports[i] = 0; | ||
1413 | hwif->chipset = ide_unknown; | ||
1414 | hwif->noprobe = 1; | ||
1415 | return -ENODEV; | ||
1416 | } | ||
1417 | |||
1418 | return 0; | 1404 | return 0; |
1419 | } | 1405 | } |
1420 | 1406 | ||
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c index d4f2111d4364..7ebf992e8c2f 100644 --- a/drivers/ide/setup-pci.c +++ b/drivers/ide/setup-pci.c | |||
@@ -787,7 +787,7 @@ static int pre_init = 1; /* Before first ordered IDE scan */ | |||
787 | static LIST_HEAD(ide_pci_drivers); | 787 | static LIST_HEAD(ide_pci_drivers); |
788 | 788 | ||
789 | /* | 789 | /* |
790 | * __ide_register_pci_driver - attach IDE driver | 790 | * __ide_pci_register_driver - attach IDE driver |
791 | * @driver: pci driver | 791 | * @driver: pci driver |
792 | * @module: owner module of the driver | 792 | * @module: owner module of the driver |
793 | * | 793 | * |
diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c index 5ea741f47fc8..e73f81c22381 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c | |||
@@ -312,7 +312,7 @@ static ssize_t ib_umad_write(struct file *filp, const char __user *buf, | |||
312 | int ret, length, hdr_len, copy_offset; | 312 | int ret, length, hdr_len, copy_offset; |
313 | int rmpp_active = 0; | 313 | int rmpp_active = 0; |
314 | 314 | ||
315 | if (count < sizeof (struct ib_user_mad)) | 315 | if (count < sizeof (struct ib_user_mad) + IB_MGMT_RMPP_HDR) |
316 | return -EINVAL; | 316 | return -EINVAL; |
317 | 317 | ||
318 | length = count - sizeof (struct ib_user_mad); | 318 | length = count - sizeof (struct ib_user_mad); |
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index 760c418d5bc9..dd4e13303e96 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c | |||
@@ -730,15 +730,16 @@ int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask) | |||
730 | } | 730 | } |
731 | 731 | ||
732 | if (attr_mask & IB_QP_ACCESS_FLAGS) { | 732 | if (attr_mask & IB_QP_ACCESS_FLAGS) { |
733 | qp_context->params2 |= | ||
734 | cpu_to_be32(attr->qp_access_flags & IB_ACCESS_REMOTE_WRITE ? | ||
735 | MTHCA_QP_BIT_RWE : 0); | ||
736 | |||
733 | /* | 737 | /* |
734 | * Only enable RDMA/atomics if we have responder | 738 | * Only enable RDMA reads and atomics if we have |
735 | * resources set to a non-zero value. | 739 | * responder resources set to a non-zero value. |
736 | */ | 740 | */ |
737 | if (qp->resp_depth) { | 741 | if (qp->resp_depth) { |
738 | qp_context->params2 |= | 742 | qp_context->params2 |= |
739 | cpu_to_be32(attr->qp_access_flags & IB_ACCESS_REMOTE_WRITE ? | ||
740 | MTHCA_QP_BIT_RWE : 0); | ||
741 | qp_context->params2 |= | ||
742 | cpu_to_be32(attr->qp_access_flags & IB_ACCESS_REMOTE_READ ? | 743 | cpu_to_be32(attr->qp_access_flags & IB_ACCESS_REMOTE_READ ? |
743 | MTHCA_QP_BIT_RRE : 0); | 744 | MTHCA_QP_BIT_RRE : 0); |
744 | qp_context->params2 |= | 745 | qp_context->params2 |= |
@@ -759,31 +760,27 @@ int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask) | |||
759 | if (qp->resp_depth && !attr->max_dest_rd_atomic) { | 760 | if (qp->resp_depth && !attr->max_dest_rd_atomic) { |
760 | /* | 761 | /* |
761 | * Lowering our responder resources to zero. | 762 | * Lowering our responder resources to zero. |
762 | * Turn off RDMA/atomics as responder. | 763 | * Turn off reads RDMA and atomics as responder. |
763 | * (RWE/RRE/RAE in params2 already zero) | 764 | * (RRE/RAE in params2 already zero) |
764 | */ | 765 | */ |
765 | qp_param->opt_param_mask |= cpu_to_be32(MTHCA_QP_OPTPAR_RWE | | 766 | qp_param->opt_param_mask |= cpu_to_be32(MTHCA_QP_OPTPAR_RRE | |
766 | MTHCA_QP_OPTPAR_RRE | | ||
767 | MTHCA_QP_OPTPAR_RAE); | 767 | MTHCA_QP_OPTPAR_RAE); |
768 | } | 768 | } |
769 | 769 | ||
770 | if (!qp->resp_depth && attr->max_dest_rd_atomic) { | 770 | if (!qp->resp_depth && attr->max_dest_rd_atomic) { |
771 | /* | 771 | /* |
772 | * Increasing our responder resources from | 772 | * Increasing our responder resources from |
773 | * zero. Turn on RDMA/atomics as appropriate. | 773 | * zero. Turn on RDMA reads and atomics as |
774 | * appropriate. | ||
774 | */ | 775 | */ |
775 | qp_context->params2 |= | 776 | qp_context->params2 |= |
776 | cpu_to_be32(qp->atomic_rd_en & IB_ACCESS_REMOTE_WRITE ? | ||
777 | MTHCA_QP_BIT_RWE : 0); | ||
778 | qp_context->params2 |= | ||
779 | cpu_to_be32(qp->atomic_rd_en & IB_ACCESS_REMOTE_READ ? | 777 | cpu_to_be32(qp->atomic_rd_en & IB_ACCESS_REMOTE_READ ? |
780 | MTHCA_QP_BIT_RRE : 0); | 778 | MTHCA_QP_BIT_RRE : 0); |
781 | qp_context->params2 |= | 779 | qp_context->params2 |= |
782 | cpu_to_be32(qp->atomic_rd_en & IB_ACCESS_REMOTE_ATOMIC ? | 780 | cpu_to_be32(qp->atomic_rd_en & IB_ACCESS_REMOTE_ATOMIC ? |
783 | MTHCA_QP_BIT_RAE : 0); | 781 | MTHCA_QP_BIT_RAE : 0); |
784 | 782 | ||
785 | qp_param->opt_param_mask |= cpu_to_be32(MTHCA_QP_OPTPAR_RWE | | 783 | qp_param->opt_param_mask |= cpu_to_be32(MTHCA_QP_OPTPAR_RRE | |
786 | MTHCA_QP_OPTPAR_RRE | | ||
787 | MTHCA_QP_OPTPAR_RAE); | 784 | MTHCA_QP_OPTPAR_RAE); |
788 | } | 785 | } |
789 | 786 | ||
@@ -921,10 +918,12 @@ static void mthca_adjust_qp_caps(struct mthca_dev *dev, | |||
921 | else | 918 | else |
922 | qp->max_inline_data = max_data_size - MTHCA_INLINE_HEADER_SIZE; | 919 | qp->max_inline_data = max_data_size - MTHCA_INLINE_HEADER_SIZE; |
923 | 920 | ||
924 | qp->sq.max_gs = max_data_size / sizeof (struct mthca_data_seg); | 921 | qp->sq.max_gs = min_t(int, dev->limits.max_sg, |
925 | qp->rq.max_gs = (min(dev->limits.max_desc_sz, 1 << qp->rq.wqe_shift) - | 922 | max_data_size / sizeof (struct mthca_data_seg)); |
926 | sizeof (struct mthca_next_seg)) / | 923 | qp->rq.max_gs = min_t(int, dev->limits.max_sg, |
927 | sizeof (struct mthca_data_seg); | 924 | (min(dev->limits.max_desc_sz, 1 << qp->rq.wqe_shift) - |
925 | sizeof (struct mthca_next_seg)) / | ||
926 | sizeof (struct mthca_data_seg)); | ||
928 | } | 927 | } |
929 | 928 | ||
930 | /* | 929 | /* |
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 321a3a10e69b..ee9fe226ae99 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c | |||
@@ -802,13 +802,21 @@ static int srp_post_recv(struct srp_target_port *target) | |||
802 | 802 | ||
803 | /* | 803 | /* |
804 | * Must be called with target->scsi_host->host_lock held to protect | 804 | * Must be called with target->scsi_host->host_lock held to protect |
805 | * req_lim and tx_head. | 805 | * req_lim and tx_head. Lock cannot be dropped between call here and |
806 | * call to __srp_post_send(). | ||
806 | */ | 807 | */ |
807 | static struct srp_iu *__srp_get_tx_iu(struct srp_target_port *target) | 808 | static struct srp_iu *__srp_get_tx_iu(struct srp_target_port *target) |
808 | { | 809 | { |
809 | if (target->tx_head - target->tx_tail >= SRP_SQ_SIZE) | 810 | if (target->tx_head - target->tx_tail >= SRP_SQ_SIZE) |
810 | return NULL; | 811 | return NULL; |
811 | 812 | ||
813 | if (unlikely(target->req_lim < 1)) { | ||
814 | if (printk_ratelimit()) | ||
815 | printk(KERN_DEBUG PFX "Target has req_lim %d\n", | ||
816 | target->req_lim); | ||
817 | return NULL; | ||
818 | } | ||
819 | |||
812 | return target->tx_ring[target->tx_head & SRP_SQ_SIZE]; | 820 | return target->tx_ring[target->tx_head & SRP_SQ_SIZE]; |
813 | } | 821 | } |
814 | 822 | ||
@@ -823,11 +831,6 @@ static int __srp_post_send(struct srp_target_port *target, | |||
823 | struct ib_send_wr wr, *bad_wr; | 831 | struct ib_send_wr wr, *bad_wr; |
824 | int ret = 0; | 832 | int ret = 0; |
825 | 833 | ||
826 | if (target->req_lim < 1) { | ||
827 | printk(KERN_ERR PFX "Target has req_lim %d\n", target->req_lim); | ||
828 | return -EAGAIN; | ||
829 | } | ||
830 | |||
831 | list.addr = iu->dma; | 834 | list.addr = iu->dma; |
832 | list.length = len; | 835 | list.length = len; |
833 | list.lkey = target->srp_host->mr->lkey; | 836 | list.lkey = target->srp_host->mr->lkey; |
@@ -1417,6 +1420,8 @@ static ssize_t srp_create_target(struct class_device *class_dev, | |||
1417 | if (!target_host) | 1420 | if (!target_host) |
1418 | return -ENOMEM; | 1421 | return -ENOMEM; |
1419 | 1422 | ||
1423 | target_host->max_lun = SRP_MAX_LUN; | ||
1424 | |||
1420 | target = host_to_target(target_host); | 1425 | target = host_to_target(target_host); |
1421 | memset(target, 0, sizeof *target); | 1426 | memset(target, 0, sizeof *target); |
1422 | 1427 | ||
diff --git a/drivers/infiniband/ulp/srp/ib_srp.h b/drivers/infiniband/ulp/srp/ib_srp.h index 4fec28a71367..b564f18caf78 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.h +++ b/drivers/infiniband/ulp/srp/ib_srp.h | |||
@@ -54,6 +54,7 @@ enum { | |||
54 | SRP_PORT_REDIRECT = 1, | 54 | SRP_PORT_REDIRECT = 1, |
55 | SRP_DLID_REDIRECT = 2, | 55 | SRP_DLID_REDIRECT = 2, |
56 | 56 | ||
57 | SRP_MAX_LUN = 512, | ||
57 | SRP_MAX_IU_LEN = 256, | 58 | SRP_MAX_IU_LEN = 256, |
58 | 59 | ||
59 | SRP_RQ_SHIFT = 6, | 60 | SRP_RQ_SHIFT = 6, |
diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c index 0506934244f0..caac6d63d46f 100644 --- a/drivers/input/gameport/gameport.c +++ b/drivers/input/gameport/gameport.c | |||
@@ -339,14 +339,20 @@ static struct gameport_event *gameport_get_event(void) | |||
339 | return event; | 339 | return event; |
340 | } | 340 | } |
341 | 341 | ||
342 | static void gameport_handle_events(void) | 342 | static void gameport_handle_event(void) |
343 | { | 343 | { |
344 | struct gameport_event *event; | 344 | struct gameport_event *event; |
345 | struct gameport_driver *gameport_drv; | 345 | struct gameport_driver *gameport_drv; |
346 | 346 | ||
347 | down(&gameport_sem); | 347 | down(&gameport_sem); |
348 | 348 | ||
349 | while ((event = gameport_get_event())) { | 349 | /* |
350 | * Note that we handle only one event here to give swsusp | ||
351 | * a chance to freeze kgameportd thread. Gameport events | ||
352 | * should be pretty rare so we are not concerned about | ||
353 | * taking performance hit. | ||
354 | */ | ||
355 | if ((event = gameport_get_event())) { | ||
350 | 356 | ||
351 | switch (event->type) { | 357 | switch (event->type) { |
352 | case GAMEPORT_REGISTER_PORT: | 358 | case GAMEPORT_REGISTER_PORT: |
@@ -433,7 +439,7 @@ static struct gameport *gameport_get_pending_child(struct gameport *parent) | |||
433 | static int gameport_thread(void *nothing) | 439 | static int gameport_thread(void *nothing) |
434 | { | 440 | { |
435 | do { | 441 | do { |
436 | gameport_handle_events(); | 442 | gameport_handle_event(); |
437 | wait_event_interruptible(gameport_wait, | 443 | wait_event_interruptible(gameport_wait, |
438 | kthread_should_stop() || !list_empty(&gameport_event_list)); | 444 | kthread_should_stop() || !list_empty(&gameport_event_list)); |
439 | try_to_freeze(); | 445 | try_to_freeze(); |
diff --git a/drivers/input/input.c b/drivers/input/input.c index c8ae2bb054e0..bdd2a7fc268d 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c | |||
@@ -536,7 +536,7 @@ static struct attribute *input_dev_attrs[] = { | |||
536 | NULL | 536 | NULL |
537 | }; | 537 | }; |
538 | 538 | ||
539 | static struct attribute_group input_dev_group = { | 539 | static struct attribute_group input_dev_attr_group = { |
540 | .attrs = input_dev_attrs, | 540 | .attrs = input_dev_attrs, |
541 | }; | 541 | }; |
542 | 542 | ||
@@ -717,35 +717,14 @@ struct input_dev *input_allocate_device(void) | |||
717 | return dev; | 717 | return dev; |
718 | } | 718 | } |
719 | 719 | ||
720 | static void input_register_classdevice(struct input_dev *dev) | ||
721 | { | ||
722 | static atomic_t input_no = ATOMIC_INIT(0); | ||
723 | const char *path; | ||
724 | |||
725 | __module_get(THIS_MODULE); | ||
726 | |||
727 | dev->dev = dev->cdev.dev; | ||
728 | |||
729 | snprintf(dev->cdev.class_id, sizeof(dev->cdev.class_id), | ||
730 | "input%ld", (unsigned long) atomic_inc_return(&input_no) - 1); | ||
731 | |||
732 | path = kobject_get_path(&dev->cdev.class->subsys.kset.kobj, GFP_KERNEL); | ||
733 | printk(KERN_INFO "input: %s as %s/%s\n", | ||
734 | dev->name ? dev->name : "Unspecified device", | ||
735 | path ? path : "", dev->cdev.class_id); | ||
736 | kfree(path); | ||
737 | |||
738 | class_device_add(&dev->cdev); | ||
739 | sysfs_create_group(&dev->cdev.kobj, &input_dev_group); | ||
740 | sysfs_create_group(&dev->cdev.kobj, &input_dev_id_attr_group); | ||
741 | sysfs_create_group(&dev->cdev.kobj, &input_dev_caps_attr_group); | ||
742 | } | ||
743 | |||
744 | int input_register_device(struct input_dev *dev) | 720 | int input_register_device(struct input_dev *dev) |
745 | { | 721 | { |
722 | static atomic_t input_no = ATOMIC_INIT(0); | ||
746 | struct input_handle *handle; | 723 | struct input_handle *handle; |
747 | struct input_handler *handler; | 724 | struct input_handler *handler; |
748 | struct input_device_id *id; | 725 | struct input_device_id *id; |
726 | const char *path; | ||
727 | int error; | ||
749 | 728 | ||
750 | if (!dev->dynalloc) { | 729 | if (!dev->dynalloc) { |
751 | printk(KERN_WARNING "input: device %s is statically allocated, will not register\n" | 730 | printk(KERN_WARNING "input: device %s is statically allocated, will not register\n" |
@@ -773,7 +752,32 @@ int input_register_device(struct input_dev *dev) | |||
773 | INIT_LIST_HEAD(&dev->h_list); | 752 | INIT_LIST_HEAD(&dev->h_list); |
774 | list_add_tail(&dev->node, &input_dev_list); | 753 | list_add_tail(&dev->node, &input_dev_list); |
775 | 754 | ||
776 | input_register_classdevice(dev); | 755 | dev->cdev.class = &input_class; |
756 | snprintf(dev->cdev.class_id, sizeof(dev->cdev.class_id), | ||
757 | "input%ld", (unsigned long) atomic_inc_return(&input_no) - 1); | ||
758 | |||
759 | error = class_device_add(&dev->cdev); | ||
760 | if (error) | ||
761 | return error; | ||
762 | |||
763 | error = sysfs_create_group(&dev->cdev.kobj, &input_dev_attr_group); | ||
764 | if (error) | ||
765 | goto fail1; | ||
766 | |||
767 | error = sysfs_create_group(&dev->cdev.kobj, &input_dev_id_attr_group); | ||
768 | if (error) | ||
769 | goto fail2; | ||
770 | |||
771 | error = sysfs_create_group(&dev->cdev.kobj, &input_dev_caps_attr_group); | ||
772 | if (error) | ||
773 | goto fail3; | ||
774 | |||
775 | __module_get(THIS_MODULE); | ||
776 | |||
777 | path = kobject_get_path(&dev->cdev.kobj, GFP_KERNEL); | ||
778 | printk(KERN_INFO "input: %s as %s\n", | ||
779 | dev->name ? dev->name : "Unspecified device", path ? path : "N/A"); | ||
780 | kfree(path); | ||
777 | 781 | ||
778 | list_for_each_entry(handler, &input_handler_list, node) | 782 | list_for_each_entry(handler, &input_handler_list, node) |
779 | if (!handler->blacklist || !input_match_device(handler->blacklist, dev)) | 783 | if (!handler->blacklist || !input_match_device(handler->blacklist, dev)) |
@@ -784,6 +788,11 @@ int input_register_device(struct input_dev *dev) | |||
784 | input_wakeup_procfs_readers(); | 788 | input_wakeup_procfs_readers(); |
785 | 789 | ||
786 | return 0; | 790 | return 0; |
791 | |||
792 | fail3: sysfs_remove_group(&dev->cdev.kobj, &input_dev_id_attr_group); | ||
793 | fail2: sysfs_remove_group(&dev->cdev.kobj, &input_dev_attr_group); | ||
794 | fail1: class_device_del(&dev->cdev); | ||
795 | return error; | ||
787 | } | 796 | } |
788 | 797 | ||
789 | void input_unregister_device(struct input_dev *dev) | 798 | void input_unregister_device(struct input_dev *dev) |
@@ -805,7 +814,7 @@ void input_unregister_device(struct input_dev *dev) | |||
805 | 814 | ||
806 | sysfs_remove_group(&dev->cdev.kobj, &input_dev_caps_attr_group); | 815 | sysfs_remove_group(&dev->cdev.kobj, &input_dev_caps_attr_group); |
807 | sysfs_remove_group(&dev->cdev.kobj, &input_dev_id_attr_group); | 816 | sysfs_remove_group(&dev->cdev.kobj, &input_dev_id_attr_group); |
808 | sysfs_remove_group(&dev->cdev.kobj, &input_dev_group); | 817 | sysfs_remove_group(&dev->cdev.kobj, &input_dev_attr_group); |
809 | class_device_unregister(&dev->cdev); | 818 | class_device_unregister(&dev->cdev); |
810 | 819 | ||
811 | input_wakeup_procfs_readers(); | 820 | input_wakeup_procfs_readers(); |
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 820c7fd9a604..a0256f8de8ef 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c | |||
@@ -166,6 +166,9 @@ static unsigned char atkbd_unxlate_table[128] = { | |||
166 | 166 | ||
167 | #define ATKBD_SPECIAL 248 | 167 | #define ATKBD_SPECIAL 248 |
168 | 168 | ||
169 | #define ATKBD_LED_EVENT_BIT 0 | ||
170 | #define ATKBD_REP_EVENT_BIT 1 | ||
171 | |||
169 | static struct { | 172 | static struct { |
170 | unsigned char keycode; | 173 | unsigned char keycode; |
171 | unsigned char set2; | 174 | unsigned char set2; |
@@ -211,6 +214,10 @@ struct atkbd { | |||
211 | unsigned char err_xl; | 214 | unsigned char err_xl; |
212 | unsigned int last; | 215 | unsigned int last; |
213 | unsigned long time; | 216 | unsigned long time; |
217 | |||
218 | struct work_struct event_work; | ||
219 | struct semaphore event_sem; | ||
220 | unsigned long event_mask; | ||
214 | }; | 221 | }; |
215 | 222 | ||
216 | static ssize_t atkbd_attr_show_helper(struct device *dev, char *buf, | 223 | static ssize_t atkbd_attr_show_helper(struct device *dev, char *buf, |
@@ -424,58 +431,86 @@ out: | |||
424 | } | 431 | } |
425 | 432 | ||
426 | /* | 433 | /* |
427 | * Event callback from the input module. Events that change the state of | 434 | * atkbd_event_work() is used to complete processing of events that |
428 | * the hardware are processed here. | 435 | * can not be processed by input_event() which is often called from |
436 | * interrupt context. | ||
429 | */ | 437 | */ |
430 | 438 | ||
431 | static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) | 439 | static void atkbd_event_work(void *data) |
432 | { | 440 | { |
433 | struct atkbd *atkbd = dev->private; | ||
434 | const short period[32] = | 441 | const short period[32] = |
435 | { 33, 37, 42, 46, 50, 54, 58, 63, 67, 75, 83, 92, 100, 109, 116, 125, | 442 | { 33, 37, 42, 46, 50, 54, 58, 63, 67, 75, 83, 92, 100, 109, 116, 125, |
436 | 133, 149, 167, 182, 200, 217, 232, 250, 270, 303, 333, 370, 400, 435, 470, 500 }; | 443 | 133, 149, 167, 182, 200, 217, 232, 250, 270, 303, 333, 370, 400, 435, 470, 500 }; |
437 | const short delay[4] = | 444 | const short delay[4] = |
438 | { 250, 500, 750, 1000 }; | 445 | { 250, 500, 750, 1000 }; |
446 | |||
447 | struct atkbd *atkbd = data; | ||
448 | struct input_dev *dev = atkbd->dev; | ||
439 | unsigned char param[2]; | 449 | unsigned char param[2]; |
440 | int i, j; | 450 | int i, j; |
441 | 451 | ||
452 | down(&atkbd->event_sem); | ||
453 | |||
454 | if (test_and_clear_bit(ATKBD_LED_EVENT_BIT, &atkbd->event_mask)) { | ||
455 | param[0] = (test_bit(LED_SCROLLL, dev->led) ? 1 : 0) | ||
456 | | (test_bit(LED_NUML, dev->led) ? 2 : 0) | ||
457 | | (test_bit(LED_CAPSL, dev->led) ? 4 : 0); | ||
458 | ps2_command(&atkbd->ps2dev, param, ATKBD_CMD_SETLEDS); | ||
459 | |||
460 | if (atkbd->extra) { | ||
461 | param[0] = 0; | ||
462 | param[1] = (test_bit(LED_COMPOSE, dev->led) ? 0x01 : 0) | ||
463 | | (test_bit(LED_SLEEP, dev->led) ? 0x02 : 0) | ||
464 | | (test_bit(LED_SUSPEND, dev->led) ? 0x04 : 0) | ||
465 | | (test_bit(LED_MISC, dev->led) ? 0x10 : 0) | ||
466 | | (test_bit(LED_MUTE, dev->led) ? 0x20 : 0); | ||
467 | ps2_command(&atkbd->ps2dev, param, ATKBD_CMD_EX_SETLEDS); | ||
468 | } | ||
469 | } | ||
470 | |||
471 | if (test_and_clear_bit(ATKBD_REP_EVENT_BIT, &atkbd->event_mask)) { | ||
472 | i = j = 0; | ||
473 | while (i < 31 && period[i] < dev->rep[REP_PERIOD]) | ||
474 | i++; | ||
475 | while (j < 3 && delay[j] < dev->rep[REP_DELAY]) | ||
476 | j++; | ||
477 | dev->rep[REP_PERIOD] = period[i]; | ||
478 | dev->rep[REP_DELAY] = delay[j]; | ||
479 | param[0] = i | (j << 5); | ||
480 | ps2_command(&atkbd->ps2dev, param, ATKBD_CMD_SETREP); | ||
481 | } | ||
482 | |||
483 | up(&atkbd->event_sem); | ||
484 | } | ||
485 | |||
486 | /* | ||
487 | * Event callback from the input module. Events that change the state of | ||
488 | * the hardware are processed here. If action can not be performed in | ||
489 | * interrupt context it is offloaded to atkbd_event_work. | ||
490 | */ | ||
491 | |||
492 | static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) | ||
493 | { | ||
494 | struct atkbd *atkbd = dev->private; | ||
495 | |||
442 | if (!atkbd->write) | 496 | if (!atkbd->write) |
443 | return -1; | 497 | return -1; |
444 | 498 | ||
445 | switch (type) { | 499 | switch (type) { |
446 | 500 | ||
447 | case EV_LED: | 501 | case EV_LED: |
448 | 502 | set_bit(ATKBD_LED_EVENT_BIT, &atkbd->event_mask); | |
449 | param[0] = (test_bit(LED_SCROLLL, dev->led) ? 1 : 0) | 503 | wmb(); |
450 | | (test_bit(LED_NUML, dev->led) ? 2 : 0) | 504 | schedule_work(&atkbd->event_work); |
451 | | (test_bit(LED_CAPSL, dev->led) ? 4 : 0); | ||
452 | ps2_schedule_command(&atkbd->ps2dev, param, ATKBD_CMD_SETLEDS); | ||
453 | |||
454 | if (atkbd->extra) { | ||
455 | param[0] = 0; | ||
456 | param[1] = (test_bit(LED_COMPOSE, dev->led) ? 0x01 : 0) | ||
457 | | (test_bit(LED_SLEEP, dev->led) ? 0x02 : 0) | ||
458 | | (test_bit(LED_SUSPEND, dev->led) ? 0x04 : 0) | ||
459 | | (test_bit(LED_MISC, dev->led) ? 0x10 : 0) | ||
460 | | (test_bit(LED_MUTE, dev->led) ? 0x20 : 0); | ||
461 | ps2_schedule_command(&atkbd->ps2dev, param, ATKBD_CMD_EX_SETLEDS); | ||
462 | } | ||
463 | |||
464 | return 0; | 505 | return 0; |
465 | 506 | ||
466 | case EV_REP: | 507 | case EV_REP: |
467 | 508 | ||
468 | if (atkbd->softrepeat) return 0; | 509 | if (!atkbd->softrepeat) { |
469 | 510 | set_bit(ATKBD_REP_EVENT_BIT, &atkbd->event_mask); | |
470 | i = j = 0; | 511 | wmb(); |
471 | while (i < 31 && period[i] < dev->rep[REP_PERIOD]) | 512 | schedule_work(&atkbd->event_work); |
472 | i++; | 513 | } |
473 | while (j < 3 && delay[j] < dev->rep[REP_DELAY]) | ||
474 | j++; | ||
475 | dev->rep[REP_PERIOD] = period[i]; | ||
476 | dev->rep[REP_DELAY] = delay[j]; | ||
477 | param[0] = i | (j << 5); | ||
478 | ps2_schedule_command(&atkbd->ps2dev, param, ATKBD_CMD_SETREP); | ||
479 | 514 | ||
480 | return 0; | 515 | return 0; |
481 | } | 516 | } |
@@ -810,6 +845,8 @@ static int atkbd_connect(struct serio *serio, struct serio_driver *drv) | |||
810 | 845 | ||
811 | atkbd->dev = dev; | 846 | atkbd->dev = dev; |
812 | ps2_init(&atkbd->ps2dev, serio); | 847 | ps2_init(&atkbd->ps2dev, serio); |
848 | INIT_WORK(&atkbd->event_work, atkbd_event_work, atkbd); | ||
849 | init_MUTEX(&atkbd->event_sem); | ||
813 | 850 | ||
814 | switch (serio->id.type) { | 851 | switch (serio->id.type) { |
815 | 852 | ||
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index b3eaac1b35b6..07813fc0523f 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig | |||
@@ -40,6 +40,16 @@ config INPUT_M68K_BEEP | |||
40 | tristate "M68k Beeper support" | 40 | tristate "M68k Beeper support" |
41 | depends on M68K | 41 | depends on M68K |
42 | 42 | ||
43 | config INPUT_WISTRON_BTNS | ||
44 | tristate "x86 Wistron laptop button interface" | ||
45 | depends on X86 && !X86_64 | ||
46 | help | ||
47 | Say Y here for support of Winstron laptop button interface, used on | ||
48 | laptops of various brands, including Acer and Fujitsu-Siemens. | ||
49 | |||
50 | To compile this driver as a module, choose M here: the module will | ||
51 | be called wistron_btns. | ||
52 | |||
43 | config INPUT_UINPUT | 53 | config INPUT_UINPUT |
44 | tristate "User level driver support" | 54 | tristate "User level driver support" |
45 | help | 55 | help |
diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile index f8d01c69f349..ce44cce01285 100644 --- a/drivers/input/misc/Makefile +++ b/drivers/input/misc/Makefile | |||
@@ -9,4 +9,5 @@ obj-$(CONFIG_INPUT_PCSPKR) += pcspkr.o | |||
9 | obj-$(CONFIG_INPUT_M68K_BEEP) += m68kspkr.o | 9 | obj-$(CONFIG_INPUT_M68K_BEEP) += m68kspkr.o |
10 | obj-$(CONFIG_INPUT_98SPKR) += 98spkr.o | 10 | obj-$(CONFIG_INPUT_98SPKR) += 98spkr.o |
11 | obj-$(CONFIG_INPUT_UINPUT) += uinput.o | 11 | obj-$(CONFIG_INPUT_UINPUT) += uinput.o |
12 | obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o | ||
12 | obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o | 13 | obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o |
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c index 948c1cc01bc9..546ed9b4901d 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c | |||
@@ -92,24 +92,19 @@ static void uinput_request_done(struct uinput_device *udev, struct uinput_reques | |||
92 | { | 92 | { |
93 | /* Mark slot as available */ | 93 | /* Mark slot as available */ |
94 | udev->requests[request->id] = NULL; | 94 | udev->requests[request->id] = NULL; |
95 | wake_up_interruptible(&udev->requests_waitq); | 95 | wake_up(&udev->requests_waitq); |
96 | 96 | ||
97 | complete(&request->done); | 97 | complete(&request->done); |
98 | } | 98 | } |
99 | 99 | ||
100 | static int uinput_request_submit(struct input_dev *dev, struct uinput_request *request) | 100 | static int uinput_request_submit(struct input_dev *dev, struct uinput_request *request) |
101 | { | 101 | { |
102 | int retval; | ||
103 | |||
104 | /* Tell our userspace app about this new request by queueing an input event */ | 102 | /* Tell our userspace app about this new request by queueing an input event */ |
105 | uinput_dev_event(dev, EV_UINPUT, request->code, request->id); | 103 | uinput_dev_event(dev, EV_UINPUT, request->code, request->id); |
106 | 104 | ||
107 | /* Wait for the request to complete */ | 105 | /* Wait for the request to complete */ |
108 | retval = wait_for_completion_interruptible(&request->done); | 106 | wait_for_completion(&request->done); |
109 | if (!retval) | 107 | return request->retval; |
110 | retval = request->retval; | ||
111 | |||
112 | return retval; | ||
113 | } | 108 | } |
114 | 109 | ||
115 | static int uinput_dev_upload_effect(struct input_dev *dev, struct ff_effect *effect) | 110 | static int uinput_dev_upload_effect(struct input_dev *dev, struct ff_effect *effect) |
@@ -152,67 +147,62 @@ static int uinput_dev_erase_effect(struct input_dev *dev, int effect_id) | |||
152 | return retval; | 147 | return retval; |
153 | } | 148 | } |
154 | 149 | ||
155 | static int uinput_create_device(struct uinput_device *udev) | 150 | static void uinput_destroy_device(struct uinput_device *udev) |
156 | { | 151 | { |
157 | if (!udev->dev->name) { | 152 | const char *name, *phys; |
158 | printk(KERN_DEBUG "%s: write device info first\n", UINPUT_NAME); | 153 | |
159 | return -EINVAL; | 154 | if (udev->dev) { |
155 | name = udev->dev->name; | ||
156 | phys = udev->dev->phys; | ||
157 | if (udev->state == UIST_CREATED) | ||
158 | input_unregister_device(udev->dev); | ||
159 | else | ||
160 | input_free_device(udev->dev); | ||
161 | kfree(name); | ||
162 | kfree(phys); | ||
163 | udev->dev = NULL; | ||
160 | } | 164 | } |
161 | 165 | ||
162 | udev->dev->event = uinput_dev_event; | 166 | udev->state = UIST_NEW_DEVICE; |
163 | udev->dev->upload_effect = uinput_dev_upload_effect; | ||
164 | udev->dev->erase_effect = uinput_dev_erase_effect; | ||
165 | udev->dev->private = udev; | ||
166 | |||
167 | init_waitqueue_head(&udev->waitq); | ||
168 | |||
169 | input_register_device(udev->dev); | ||
170 | |||
171 | set_bit(UIST_CREATED, &udev->state); | ||
172 | |||
173 | return 0; | ||
174 | } | 167 | } |
175 | 168 | ||
176 | static int uinput_destroy_device(struct uinput_device *udev) | 169 | static int uinput_create_device(struct uinput_device *udev) |
177 | { | 170 | { |
178 | if (!test_bit(UIST_CREATED, &udev->state)) { | 171 | int error; |
179 | printk(KERN_WARNING "%s: create the device first\n", UINPUT_NAME); | 172 | |
173 | if (udev->state != UIST_SETUP_COMPLETE) { | ||
174 | printk(KERN_DEBUG "%s: write device info first\n", UINPUT_NAME); | ||
180 | return -EINVAL; | 175 | return -EINVAL; |
181 | } | 176 | } |
182 | 177 | ||
183 | input_unregister_device(udev->dev); | 178 | error = input_register_device(udev->dev); |
179 | if (error) { | ||
180 | uinput_destroy_device(udev); | ||
181 | return error; | ||
182 | } | ||
184 | 183 | ||
185 | clear_bit(UIST_CREATED, &udev->state); | 184 | udev->state = UIST_CREATED; |
186 | 185 | ||
187 | return 0; | 186 | return 0; |
188 | } | 187 | } |
189 | 188 | ||
190 | static int uinput_open(struct inode *inode, struct file *file) | 189 | static int uinput_open(struct inode *inode, struct file *file) |
191 | { | 190 | { |
192 | struct uinput_device *newdev; | 191 | struct uinput_device *newdev; |
193 | struct input_dev *newinput; | ||
194 | 192 | ||
195 | newdev = kmalloc(sizeof(struct uinput_device), GFP_KERNEL); | 193 | newdev = kzalloc(sizeof(struct uinput_device), GFP_KERNEL); |
196 | if (!newdev) | 194 | if (!newdev) |
197 | goto error; | 195 | return -ENOMEM; |
198 | memset(newdev, 0, sizeof(struct uinput_device)); | 196 | |
197 | init_MUTEX(&newdev->sem); | ||
199 | spin_lock_init(&newdev->requests_lock); | 198 | spin_lock_init(&newdev->requests_lock); |
200 | init_waitqueue_head(&newdev->requests_waitq); | 199 | init_waitqueue_head(&newdev->requests_waitq); |
201 | 200 | init_waitqueue_head(&newdev->waitq); | |
202 | newinput = kmalloc(sizeof(struct input_dev), GFP_KERNEL); | 201 | newdev->state = UIST_NEW_DEVICE; |
203 | if (!newinput) | ||
204 | goto cleanup; | ||
205 | memset(newinput, 0, sizeof(struct input_dev)); | ||
206 | |||
207 | newdev->dev = newinput; | ||
208 | 202 | ||
209 | file->private_data = newdev; | 203 | file->private_data = newdev; |
210 | 204 | ||
211 | return 0; | 205 | return 0; |
212 | cleanup: | ||
213 | kfree(newdev); | ||
214 | error: | ||
215 | return -ENOMEM; | ||
216 | } | 206 | } |
217 | 207 | ||
218 | static int uinput_validate_absbits(struct input_dev *dev) | 208 | static int uinput_validate_absbits(struct input_dev *dev) |
@@ -246,34 +236,55 @@ static int uinput_validate_absbits(struct input_dev *dev) | |||
246 | return retval; | 236 | return retval; |
247 | } | 237 | } |
248 | 238 | ||
249 | static int uinput_alloc_device(struct file *file, const char __user *buffer, size_t count) | 239 | static int uinput_allocate_device(struct uinput_device *udev) |
240 | { | ||
241 | udev->dev = input_allocate_device(); | ||
242 | if (!udev->dev) | ||
243 | return -ENOMEM; | ||
244 | |||
245 | udev->dev->event = uinput_dev_event; | ||
246 | udev->dev->upload_effect = uinput_dev_upload_effect; | ||
247 | udev->dev->erase_effect = uinput_dev_erase_effect; | ||
248 | udev->dev->private = udev; | ||
249 | |||
250 | return 0; | ||
251 | } | ||
252 | |||
253 | static int uinput_setup_device(struct uinput_device *udev, const char __user *buffer, size_t count) | ||
250 | { | 254 | { |
251 | struct uinput_user_dev *user_dev; | 255 | struct uinput_user_dev *user_dev; |
252 | struct input_dev *dev; | 256 | struct input_dev *dev; |
253 | struct uinput_device *udev; | ||
254 | char *name; | 257 | char *name; |
255 | int size; | 258 | int size; |
256 | int retval; | 259 | int retval; |
257 | 260 | ||
258 | retval = count; | 261 | if (count != sizeof(struct uinput_user_dev)) |
262 | return -EINVAL; | ||
263 | |||
264 | if (!udev->dev) { | ||
265 | retval = uinput_allocate_device(udev); | ||
266 | if (retval) | ||
267 | return retval; | ||
268 | } | ||
259 | 269 | ||
260 | udev = file->private_data; | ||
261 | dev = udev->dev; | 270 | dev = udev->dev; |
262 | 271 | ||
263 | user_dev = kmalloc(sizeof(struct uinput_user_dev), GFP_KERNEL); | 272 | user_dev = kmalloc(sizeof(struct uinput_user_dev), GFP_KERNEL); |
264 | if (!user_dev) { | 273 | if (!user_dev) |
265 | retval = -ENOMEM; | 274 | return -ENOMEM; |
266 | goto exit; | ||
267 | } | ||
268 | 275 | ||
269 | if (copy_from_user(user_dev, buffer, sizeof(struct uinput_user_dev))) { | 276 | if (copy_from_user(user_dev, buffer, sizeof(struct uinput_user_dev))) { |
270 | retval = -EFAULT; | 277 | retval = -EFAULT; |
271 | goto exit; | 278 | goto exit; |
272 | } | 279 | } |
273 | 280 | ||
274 | kfree(dev->name); | ||
275 | |||
276 | size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1; | 281 | size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1; |
282 | if (!size) { | ||
283 | retval = -EINVAL; | ||
284 | goto exit; | ||
285 | } | ||
286 | |||
287 | kfree(dev->name); | ||
277 | dev->name = name = kmalloc(size, GFP_KERNEL); | 288 | dev->name = name = kmalloc(size, GFP_KERNEL); |
278 | if (!name) { | 289 | if (!name) { |
279 | retval = -ENOMEM; | 290 | retval = -ENOMEM; |
@@ -296,32 +307,50 @@ static int uinput_alloc_device(struct file *file, const char __user *buffer, siz | |||
296 | /* check if absmin/absmax/absfuzz/absflat are filled as | 307 | /* check if absmin/absmax/absfuzz/absflat are filled as |
297 | * told in Documentation/input/input-programming.txt */ | 308 | * told in Documentation/input/input-programming.txt */ |
298 | if (test_bit(EV_ABS, dev->evbit)) { | 309 | if (test_bit(EV_ABS, dev->evbit)) { |
299 | int err = uinput_validate_absbits(dev); | 310 | retval = uinput_validate_absbits(dev); |
300 | if (err < 0) { | 311 | if (retval < 0) |
301 | retval = err; | 312 | goto exit; |
302 | kfree(dev->name); | ||
303 | } | ||
304 | } | 313 | } |
305 | 314 | ||
306 | exit: | 315 | udev->state = UIST_SETUP_COMPLETE; |
316 | retval = count; | ||
317 | |||
318 | exit: | ||
307 | kfree(user_dev); | 319 | kfree(user_dev); |
308 | return retval; | 320 | return retval; |
309 | } | 321 | } |
310 | 322 | ||
323 | static inline ssize_t uinput_inject_event(struct uinput_device *udev, const char __user *buffer, size_t count) | ||
324 | { | ||
325 | struct input_event ev; | ||
326 | |||
327 | if (count != sizeof(struct input_event)) | ||
328 | return -EINVAL; | ||
329 | |||
330 | if (copy_from_user(&ev, buffer, sizeof(struct input_event))) | ||
331 | return -EFAULT; | ||
332 | |||
333 | input_event(udev->dev, ev.type, ev.code, ev.value); | ||
334 | |||
335 | return sizeof(struct input_event); | ||
336 | } | ||
337 | |||
311 | static ssize_t uinput_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos) | 338 | static ssize_t uinput_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos) |
312 | { | 339 | { |
313 | struct uinput_device *udev = file->private_data; | 340 | struct uinput_device *udev = file->private_data; |
341 | int retval; | ||
342 | |||
343 | retval = down_interruptible(&udev->sem); | ||
344 | if (retval) | ||
345 | return retval; | ||
314 | 346 | ||
315 | if (test_bit(UIST_CREATED, &udev->state)) { | 347 | retval = udev->state == UIST_CREATED ? |
316 | struct input_event ev; | 348 | uinput_inject_event(udev, buffer, count) : |
349 | uinput_setup_device(udev, buffer, count); | ||
317 | 350 | ||
318 | if (copy_from_user(&ev, buffer, sizeof(struct input_event))) | 351 | up(&udev->sem); |
319 | return -EFAULT; | ||
320 | input_event(udev->dev, ev.type, ev.code, ev.value); | ||
321 | } else | ||
322 | count = uinput_alloc_device(file, buffer, count); | ||
323 | 352 | ||
324 | return count; | 353 | return retval; |
325 | } | 354 | } |
326 | 355 | ||
327 | static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count, loff_t *ppos) | 356 | static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count, loff_t *ppos) |
@@ -329,28 +358,38 @@ static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count, | |||
329 | struct uinput_device *udev = file->private_data; | 358 | struct uinput_device *udev = file->private_data; |
330 | int retval = 0; | 359 | int retval = 0; |
331 | 360 | ||
332 | if (!test_bit(UIST_CREATED, &udev->state)) | 361 | if (udev->state != UIST_CREATED) |
333 | return -ENODEV; | 362 | return -ENODEV; |
334 | 363 | ||
335 | if (udev->head == udev->tail && (file->f_flags & O_NONBLOCK)) | 364 | if (udev->head == udev->tail && (file->f_flags & O_NONBLOCK)) |
336 | return -EAGAIN; | 365 | return -EAGAIN; |
337 | 366 | ||
338 | retval = wait_event_interruptible(udev->waitq, | 367 | retval = wait_event_interruptible(udev->waitq, |
339 | udev->head != udev->tail || !test_bit(UIST_CREATED, &udev->state)); | 368 | udev->head != udev->tail || udev->state != UIST_CREATED); |
340 | if (retval) | 369 | if (retval) |
341 | return retval; | 370 | return retval; |
342 | 371 | ||
343 | if (!test_bit(UIST_CREATED, &udev->state)) | 372 | retval = down_interruptible(&udev->sem); |
344 | return -ENODEV; | 373 | if (retval) |
374 | return retval; | ||
345 | 375 | ||
346 | while ((udev->head != udev->tail) && | 376 | if (udev->state != UIST_CREATED) { |
347 | (retval + sizeof(struct input_event) <= count)) { | 377 | retval = -ENODEV; |
348 | if (copy_to_user(buffer + retval, &udev->buff[udev->tail], sizeof(struct input_event))) | 378 | goto out; |
349 | return -EFAULT; | 379 | } |
380 | |||
381 | while (udev->head != udev->tail && retval + sizeof(struct input_event) <= count) { | ||
382 | if (copy_to_user(buffer + retval, &udev->buff[udev->tail], sizeof(struct input_event))) { | ||
383 | retval = -EFAULT; | ||
384 | goto out; | ||
385 | } | ||
350 | udev->tail = (udev->tail + 1) % UINPUT_BUFFER_SIZE; | 386 | udev->tail = (udev->tail + 1) % UINPUT_BUFFER_SIZE; |
351 | retval += sizeof(struct input_event); | 387 | retval += sizeof(struct input_event); |
352 | } | 388 | } |
353 | 389 | ||
390 | out: | ||
391 | up(&udev->sem); | ||
392 | |||
354 | return retval; | 393 | return retval; |
355 | } | 394 | } |
356 | 395 | ||
@@ -366,28 +405,30 @@ static unsigned int uinput_poll(struct file *file, poll_table *wait) | |||
366 | return 0; | 405 | return 0; |
367 | } | 406 | } |
368 | 407 | ||
369 | static int uinput_burn_device(struct uinput_device *udev) | 408 | static int uinput_release(struct inode *inode, struct file *file) |
370 | { | 409 | { |
371 | if (test_bit(UIST_CREATED, &udev->state)) | 410 | struct uinput_device *udev = file->private_data; |
372 | uinput_destroy_device(udev); | ||
373 | 411 | ||
374 | kfree(udev->dev->name); | 412 | uinput_destroy_device(udev); |
375 | kfree(udev->dev->phys); | ||
376 | kfree(udev->dev); | ||
377 | kfree(udev); | 413 | kfree(udev); |
378 | 414 | ||
379 | return 0; | 415 | return 0; |
380 | } | 416 | } |
381 | 417 | ||
382 | static int uinput_close(struct inode *inode, struct file *file) | 418 | #define uinput_set_bit(_arg, _bit, _max) \ |
419 | ({ \ | ||
420 | int __ret = 0; \ | ||
421 | if (udev->state == UIST_CREATED) \ | ||
422 | __ret = -EINVAL; \ | ||
423 | else if ((_arg) > (_max)) \ | ||
424 | __ret = -EINVAL; \ | ||
425 | else set_bit((_arg), udev->dev->_bit); \ | ||
426 | __ret; \ | ||
427 | }) | ||
428 | |||
429 | static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | ||
383 | { | 430 | { |
384 | uinput_burn_device(file->private_data); | 431 | int retval; |
385 | return 0; | ||
386 | } | ||
387 | |||
388 | static int uinput_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) | ||
389 | { | ||
390 | int retval = 0; | ||
391 | struct uinput_device *udev; | 432 | struct uinput_device *udev; |
392 | void __user *p = (void __user *)arg; | 433 | void __user *p = (void __user *)arg; |
393 | struct uinput_ff_upload ff_up; | 434 | struct uinput_ff_upload ff_up; |
@@ -398,19 +439,14 @@ static int uinput_ioctl(struct inode *inode, struct file *file, unsigned int cmd | |||
398 | 439 | ||
399 | udev = file->private_data; | 440 | udev = file->private_data; |
400 | 441 | ||
401 | /* device attributes can not be changed after the device is created */ | 442 | retval = down_interruptible(&udev->sem); |
402 | switch (cmd) { | 443 | if (retval) |
403 | case UI_SET_EVBIT: | 444 | return retval; |
404 | case UI_SET_KEYBIT: | 445 | |
405 | case UI_SET_RELBIT: | 446 | if (!udev->dev) { |
406 | case UI_SET_ABSBIT: | 447 | retval = uinput_allocate_device(udev); |
407 | case UI_SET_MSCBIT: | 448 | if (retval) |
408 | case UI_SET_LEDBIT: | 449 | goto out; |
409 | case UI_SET_SNDBIT: | ||
410 | case UI_SET_FFBIT: | ||
411 | case UI_SET_PHYS: | ||
412 | if (test_bit(UIST_CREATED, &udev->state)) | ||
413 | return -EINVAL; | ||
414 | } | 450 | } |
415 | 451 | ||
416 | switch (cmd) { | 452 | switch (cmd) { |
@@ -419,74 +455,50 @@ static int uinput_ioctl(struct inode *inode, struct file *file, unsigned int cmd | |||
419 | break; | 455 | break; |
420 | 456 | ||
421 | case UI_DEV_DESTROY: | 457 | case UI_DEV_DESTROY: |
422 | retval = uinput_destroy_device(udev); | 458 | uinput_destroy_device(udev); |
423 | break; | 459 | break; |
424 | 460 | ||
425 | case UI_SET_EVBIT: | 461 | case UI_SET_EVBIT: |
426 | if (arg > EV_MAX) { | 462 | retval = uinput_set_bit(arg, evbit, EV_MAX); |
427 | retval = -EINVAL; | ||
428 | break; | ||
429 | } | ||
430 | set_bit(arg, udev->dev->evbit); | ||
431 | break; | 463 | break; |
432 | 464 | ||
433 | case UI_SET_KEYBIT: | 465 | case UI_SET_KEYBIT: |
434 | if (arg > KEY_MAX) { | 466 | retval = uinput_set_bit(arg, keybit, KEY_MAX); |
435 | retval = -EINVAL; | ||
436 | break; | ||
437 | } | ||
438 | set_bit(arg, udev->dev->keybit); | ||
439 | break; | 467 | break; |
440 | 468 | ||
441 | case UI_SET_RELBIT: | 469 | case UI_SET_RELBIT: |
442 | if (arg > REL_MAX) { | 470 | retval = uinput_set_bit(arg, relbit, REL_MAX); |
443 | retval = -EINVAL; | ||
444 | break; | ||
445 | } | ||
446 | set_bit(arg, udev->dev->relbit); | ||
447 | break; | 471 | break; |
448 | 472 | ||
449 | case UI_SET_ABSBIT: | 473 | case UI_SET_ABSBIT: |
450 | if (arg > ABS_MAX) { | 474 | retval = uinput_set_bit(arg, absbit, ABS_MAX); |
451 | retval = -EINVAL; | ||
452 | break; | ||
453 | } | ||
454 | set_bit(arg, udev->dev->absbit); | ||
455 | break; | 475 | break; |
456 | 476 | ||
457 | case UI_SET_MSCBIT: | 477 | case UI_SET_MSCBIT: |
458 | if (arg > MSC_MAX) { | 478 | retval = uinput_set_bit(arg, mscbit, MSC_MAX); |
459 | retval = -EINVAL; | ||
460 | break; | ||
461 | } | ||
462 | set_bit(arg, udev->dev->mscbit); | ||
463 | break; | 479 | break; |
464 | 480 | ||
465 | case UI_SET_LEDBIT: | 481 | case UI_SET_LEDBIT: |
466 | if (arg > LED_MAX) { | 482 | retval = uinput_set_bit(arg, ledbit, LED_MAX); |
467 | retval = -EINVAL; | ||
468 | break; | ||
469 | } | ||
470 | set_bit(arg, udev->dev->ledbit); | ||
471 | break; | 483 | break; |
472 | 484 | ||
473 | case UI_SET_SNDBIT: | 485 | case UI_SET_SNDBIT: |
474 | if (arg > SND_MAX) { | 486 | retval = uinput_set_bit(arg, sndbit, SND_MAX); |
475 | retval = -EINVAL; | ||
476 | break; | ||
477 | } | ||
478 | set_bit(arg, udev->dev->sndbit); | ||
479 | break; | 487 | break; |
480 | 488 | ||
481 | case UI_SET_FFBIT: | 489 | case UI_SET_FFBIT: |
482 | if (arg > FF_MAX) { | 490 | retval = uinput_set_bit(arg, ffbit, FF_MAX); |
483 | retval = -EINVAL; | 491 | break; |
484 | break; | 492 | |
485 | } | 493 | case UI_SET_SWBIT: |
486 | set_bit(arg, udev->dev->ffbit); | 494 | retval = uinput_set_bit(arg, swbit, SW_MAX); |
487 | break; | 495 | break; |
488 | 496 | ||
489 | case UI_SET_PHYS: | 497 | case UI_SET_PHYS: |
498 | if (udev->state == UIST_CREATED) { | ||
499 | retval = -EINVAL; | ||
500 | goto out; | ||
501 | } | ||
490 | length = strnlen_user(p, 1024); | 502 | length = strnlen_user(p, 1024); |
491 | if (length <= 0) { | 503 | if (length <= 0) { |
492 | retval = -EFAULT; | 504 | retval = -EFAULT; |
@@ -575,23 +587,26 @@ static int uinput_ioctl(struct inode *inode, struct file *file, unsigned int cmd | |||
575 | default: | 587 | default: |
576 | retval = -EINVAL; | 588 | retval = -EINVAL; |
577 | } | 589 | } |
590 | |||
591 | out: | ||
592 | up(&udev->sem); | ||
578 | return retval; | 593 | return retval; |
579 | } | 594 | } |
580 | 595 | ||
581 | static struct file_operations uinput_fops = { | 596 | static struct file_operations uinput_fops = { |
582 | .owner = THIS_MODULE, | 597 | .owner = THIS_MODULE, |
583 | .open = uinput_open, | 598 | .open = uinput_open, |
584 | .release = uinput_close, | 599 | .release = uinput_release, |
585 | .read = uinput_read, | 600 | .read = uinput_read, |
586 | .write = uinput_write, | 601 | .write = uinput_write, |
587 | .poll = uinput_poll, | 602 | .poll = uinput_poll, |
588 | .ioctl = uinput_ioctl, | 603 | .unlocked_ioctl = uinput_ioctl, |
589 | }; | 604 | }; |
590 | 605 | ||
591 | static struct miscdevice uinput_misc = { | 606 | static struct miscdevice uinput_misc = { |
592 | .fops = &uinput_fops, | 607 | .fops = &uinput_fops, |
593 | .minor = UINPUT_MINOR, | 608 | .minor = UINPUT_MINOR, |
594 | .name = UINPUT_NAME, | 609 | .name = UINPUT_NAME, |
595 | }; | 610 | }; |
596 | 611 | ||
597 | static int __init uinput_init(void) | 612 | static int __init uinput_init(void) |
diff --git a/drivers/input/misc/wistron_btns.c b/drivers/input/misc/wistron_btns.c new file mode 100644 index 000000000000..49d0416a2a9a --- /dev/null +++ b/drivers/input/misc/wistron_btns.c | |||
@@ -0,0 +1,561 @@ | |||
1 | /* | ||
2 | * Wistron laptop button driver | ||
3 | * Copyright (C) 2005 Miloslav Trmac <mitr@volny.cz> | ||
4 | * Copyright (C) 2005 Bernhard Rosenkraenzer <bero@arklinux.org> | ||
5 | * Copyright (C) 2005 Dmitry Torokhov <dtor@mail.ru> | ||
6 | * | ||
7 | * You can redistribute and/or modify this program under the terms of the | ||
8 | * GNU General Public License version 2 as published by the Free Software | ||
9 | * Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but | ||
12 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | ||
14 | * Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 59 Temple Place Suite 330, Boston, MA 02111-1307, USA. | ||
19 | */ | ||
20 | #include <asm/io.h> | ||
21 | #include <linux/dmi.h> | ||
22 | #include <linux/init.h> | ||
23 | #include <linux/input.h> | ||
24 | #include <linux/interrupt.h> | ||
25 | #include <linux/kernel.h> | ||
26 | #include <linux/mc146818rtc.h> | ||
27 | #include <linux/module.h> | ||
28 | #include <linux/preempt.h> | ||
29 | #include <linux/string.h> | ||
30 | #include <linux/timer.h> | ||
31 | #include <linux/types.h> | ||
32 | #include <linux/platform_device.h> | ||
33 | |||
34 | /* | ||
35 | * Number of attempts to read data from queue per poll; | ||
36 | * the queue can hold up to 31 entries | ||
37 | */ | ||
38 | #define MAX_POLL_ITERATIONS 64 | ||
39 | |||
40 | #define POLL_FREQUENCY 10 /* Number of polls per second */ | ||
41 | |||
42 | #if POLL_FREQUENCY > HZ | ||
43 | #error "POLL_FREQUENCY too high" | ||
44 | #endif | ||
45 | |||
46 | /* BIOS subsystem IDs */ | ||
47 | #define WIFI 0x35 | ||
48 | #define BLUETOOTH 0x34 | ||
49 | |||
50 | MODULE_AUTHOR("Miloslav Trmac <mitr@volny.cz>"); | ||
51 | MODULE_DESCRIPTION("Wistron laptop button driver"); | ||
52 | MODULE_LICENSE("GPL v2"); | ||
53 | MODULE_VERSION("0.1"); | ||
54 | |||
55 | static int force; /* = 0; */ | ||
56 | module_param(force, bool, 0); | ||
57 | MODULE_PARM_DESC(force, "Load even if computer is not in database"); | ||
58 | |||
59 | static char *keymap_name; /* = NULL; */ | ||
60 | module_param_named(keymap, keymap_name, charp, 0); | ||
61 | MODULE_PARM_DESC(keymap, "Keymap name, if it can't be autodetected"); | ||
62 | |||
63 | static struct platform_device *wistron_device; | ||
64 | |||
65 | /* BIOS interface implementation */ | ||
66 | |||
67 | static void __iomem *bios_entry_point; /* BIOS routine entry point */ | ||
68 | static void __iomem *bios_code_map_base; | ||
69 | static void __iomem *bios_data_map_base; | ||
70 | |||
71 | static u8 cmos_address; | ||
72 | |||
73 | struct regs { | ||
74 | u32 eax, ebx, ecx; | ||
75 | }; | ||
76 | |||
77 | static void call_bios(struct regs *regs) | ||
78 | { | ||
79 | unsigned long flags; | ||
80 | |||
81 | preempt_disable(); | ||
82 | local_irq_save(flags); | ||
83 | asm volatile ("pushl %%ebp;" | ||
84 | "movl %7, %%ebp;" | ||
85 | "call *%6;" | ||
86 | "popl %%ebp" | ||
87 | : "=a" (regs->eax), "=b" (regs->ebx), "=c" (regs->ecx) | ||
88 | : "0" (regs->eax), "1" (regs->ebx), "2" (regs->ecx), | ||
89 | "m" (bios_entry_point), "m" (bios_data_map_base) | ||
90 | : "edx", "edi", "esi", "memory"); | ||
91 | local_irq_restore(flags); | ||
92 | preempt_enable(); | ||
93 | } | ||
94 | |||
95 | static size_t __init locate_wistron_bios(void __iomem *base) | ||
96 | { | ||
97 | static const unsigned char __initdata signature[] = | ||
98 | { 0x42, 0x21, 0x55, 0x30 }; | ||
99 | size_t offset; | ||
100 | |||
101 | for (offset = 0; offset < 0x10000; offset += 0x10) { | ||
102 | if (check_signature(base + offset, signature, | ||
103 | sizeof(signature)) != 0) | ||
104 | return offset; | ||
105 | } | ||
106 | return -1; | ||
107 | } | ||
108 | |||
109 | static int __init map_bios(void) | ||
110 | { | ||
111 | void __iomem *base; | ||
112 | size_t offset; | ||
113 | u32 entry_point; | ||
114 | |||
115 | base = ioremap(0xF0000, 0x10000); /* Can't fail */ | ||
116 | offset = locate_wistron_bios(base); | ||
117 | if (offset < 0) { | ||
118 | printk(KERN_ERR "wistron_btns: BIOS entry point not found\n"); | ||
119 | iounmap(base); | ||
120 | return -ENODEV; | ||
121 | } | ||
122 | |||
123 | entry_point = readl(base + offset + 5); | ||
124 | printk(KERN_DEBUG | ||
125 | "wistron_btns: BIOS signature found at %p, entry point %08X\n", | ||
126 | base + offset, entry_point); | ||
127 | |||
128 | if (entry_point >= 0xF0000) { | ||
129 | bios_code_map_base = base; | ||
130 | bios_entry_point = bios_code_map_base + (entry_point & 0xFFFF); | ||
131 | } else { | ||
132 | iounmap(base); | ||
133 | bios_code_map_base = ioremap(entry_point & ~0x3FFF, 0x4000); | ||
134 | if (bios_code_map_base == NULL) { | ||
135 | printk(KERN_ERR | ||
136 | "wistron_btns: Can't map BIOS code at %08X\n", | ||
137 | entry_point & ~0x3FFF); | ||
138 | goto err; | ||
139 | } | ||
140 | bios_entry_point = bios_code_map_base + (entry_point & 0x3FFF); | ||
141 | } | ||
142 | /* The Windows driver maps 0x10000 bytes, we keep only one page... */ | ||
143 | bios_data_map_base = ioremap(0x400, 0xc00); | ||
144 | if (bios_data_map_base == NULL) { | ||
145 | printk(KERN_ERR "wistron_btns: Can't map BIOS data\n"); | ||
146 | goto err_code; | ||
147 | } | ||
148 | return 0; | ||
149 | |||
150 | err_code: | ||
151 | iounmap(bios_code_map_base); | ||
152 | err: | ||
153 | return -ENOMEM; | ||
154 | } | ||
155 | |||
156 | static inline void unmap_bios(void) | ||
157 | { | ||
158 | iounmap(bios_code_map_base); | ||
159 | iounmap(bios_data_map_base); | ||
160 | } | ||
161 | |||
162 | /* BIOS calls */ | ||
163 | |||
164 | static u16 bios_pop_queue(void) | ||
165 | { | ||
166 | struct regs regs; | ||
167 | |||
168 | memset(®s, 0, sizeof (regs)); | ||
169 | regs.eax = 0x9610; | ||
170 | regs.ebx = 0x061C; | ||
171 | regs.ecx = 0x0000; | ||
172 | call_bios(®s); | ||
173 | |||
174 | return regs.eax; | ||
175 | } | ||
176 | |||
177 | static void __init bios_attach(void) | ||
178 | { | ||
179 | struct regs regs; | ||
180 | |||
181 | memset(®s, 0, sizeof (regs)); | ||
182 | regs.eax = 0x9610; | ||
183 | regs.ebx = 0x012E; | ||
184 | call_bios(®s); | ||
185 | } | ||
186 | |||
187 | static void bios_detach(void) | ||
188 | { | ||
189 | struct regs regs; | ||
190 | |||
191 | memset(®s, 0, sizeof (regs)); | ||
192 | regs.eax = 0x9610; | ||
193 | regs.ebx = 0x002E; | ||
194 | call_bios(®s); | ||
195 | } | ||
196 | |||
197 | static u8 __init bios_get_cmos_address(void) | ||
198 | { | ||
199 | struct regs regs; | ||
200 | |||
201 | memset(®s, 0, sizeof (regs)); | ||
202 | regs.eax = 0x9610; | ||
203 | regs.ebx = 0x051C; | ||
204 | call_bios(®s); | ||
205 | |||
206 | return regs.ecx; | ||
207 | } | ||
208 | |||
209 | static u16 __init bios_get_default_setting(u8 subsys) | ||
210 | { | ||
211 | struct regs regs; | ||
212 | |||
213 | memset(®s, 0, sizeof (regs)); | ||
214 | regs.eax = 0x9610; | ||
215 | regs.ebx = 0x0200 | subsys; | ||
216 | call_bios(®s); | ||
217 | |||
218 | return regs.eax; | ||
219 | } | ||
220 | |||
221 | static void bios_set_state(u8 subsys, int enable) | ||
222 | { | ||
223 | struct regs regs; | ||
224 | |||
225 | memset(®s, 0, sizeof (regs)); | ||
226 | regs.eax = 0x9610; | ||
227 | regs.ebx = (enable ? 0x0100 : 0x0000) | subsys; | ||
228 | call_bios(®s); | ||
229 | } | ||
230 | |||
231 | /* Hardware database */ | ||
232 | |||
233 | struct key_entry { | ||
234 | char type; /* See KE_* below */ | ||
235 | u8 code; | ||
236 | unsigned keycode; /* For KE_KEY */ | ||
237 | }; | ||
238 | |||
239 | enum { KE_END, KE_KEY, KE_WIFI, KE_BLUETOOTH }; | ||
240 | |||
241 | static const struct key_entry *keymap; /* = NULL; Current key map */ | ||
242 | static int have_wifi; | ||
243 | static int have_bluetooth; | ||
244 | |||
245 | static int __init dmi_matched(struct dmi_system_id *dmi) | ||
246 | { | ||
247 | const struct key_entry *key; | ||
248 | |||
249 | keymap = dmi->driver_data; | ||
250 | for (key = keymap; key->type != KE_END; key++) { | ||
251 | if (key->type == KE_WIFI) { | ||
252 | have_wifi = 1; | ||
253 | break; | ||
254 | } else if (key->type == KE_BLUETOOTH) { | ||
255 | have_bluetooth = 1; | ||
256 | break; | ||
257 | } | ||
258 | } | ||
259 | return 1; | ||
260 | } | ||
261 | |||
262 | static struct key_entry keymap_empty[] = { | ||
263 | { KE_END, 0 } | ||
264 | }; | ||
265 | |||
266 | static struct key_entry keymap_fs_amilo_pro_v2000[] = { | ||
267 | { KE_KEY, 0x01, KEY_HELP }, | ||
268 | { KE_KEY, 0x11, KEY_PROG1 }, | ||
269 | { KE_KEY, 0x12, KEY_PROG2 }, | ||
270 | { KE_WIFI, 0x30, 0 }, | ||
271 | { KE_KEY, 0x31, KEY_MAIL }, | ||
272 | { KE_KEY, 0x36, KEY_WWW }, | ||
273 | { KE_END, 0 } | ||
274 | }; | ||
275 | |||
276 | static struct key_entry keymap_wistron_ms2141[] = { | ||
277 | { KE_KEY, 0x11, KEY_PROG1 }, | ||
278 | { KE_KEY, 0x12, KEY_PROG2 }, | ||
279 | { KE_WIFI, 0x30, 0 }, | ||
280 | { KE_KEY, 0x22, KEY_REWIND }, | ||
281 | { KE_KEY, 0x23, KEY_FORWARD }, | ||
282 | { KE_KEY, 0x24, KEY_PLAYPAUSE }, | ||
283 | { KE_KEY, 0x25, KEY_STOPCD }, | ||
284 | { KE_KEY, 0x31, KEY_MAIL }, | ||
285 | { KE_KEY, 0x36, KEY_WWW }, | ||
286 | { KE_END, 0 } | ||
287 | }; | ||
288 | |||
289 | static struct key_entry keymap_acer_aspire_1500[] = { | ||
290 | { KE_KEY, 0x11, KEY_PROG1 }, | ||
291 | { KE_KEY, 0x12, KEY_PROG2 }, | ||
292 | { KE_WIFI, 0x30, 0 }, | ||
293 | { KE_KEY, 0x31, KEY_MAIL }, | ||
294 | { KE_KEY, 0x36, KEY_WWW }, | ||
295 | { KE_BLUETOOTH, 0x44, 0 }, | ||
296 | { KE_END, 0 } | ||
297 | }; | ||
298 | |||
299 | /* | ||
300 | * If your machine is not here (which is currently rather likely), please send | ||
301 | * a list of buttons and their key codes (reported when loading this module | ||
302 | * with force=1) and the output of dmidecode to $MODULE_AUTHOR. | ||
303 | */ | ||
304 | static struct dmi_system_id dmi_ids[] = { | ||
305 | { | ||
306 | .callback = dmi_matched, | ||
307 | .ident = "Fujitsu-Siemens Amilo Pro V2000", | ||
308 | .matches = { | ||
309 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), | ||
310 | DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pro V2000"), | ||
311 | }, | ||
312 | .driver_data = keymap_fs_amilo_pro_v2000 | ||
313 | }, | ||
314 | { | ||
315 | .callback = dmi_matched, | ||
316 | .ident = "Acer Aspire 1500", | ||
317 | .matches = { | ||
318 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | ||
319 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1500"), | ||
320 | }, | ||
321 | .driver_data = keymap_acer_aspire_1500 | ||
322 | }, | ||
323 | { 0, } | ||
324 | }; | ||
325 | |||
326 | static int __init select_keymap(void) | ||
327 | { | ||
328 | if (keymap_name != NULL) { | ||
329 | if (strcmp (keymap_name, "1557/MS2141") == 0) | ||
330 | keymap = keymap_wistron_ms2141; | ||
331 | else { | ||
332 | printk(KERN_ERR "wistron_btns: Keymap unknown\n"); | ||
333 | return -EINVAL; | ||
334 | } | ||
335 | } | ||
336 | dmi_check_system(dmi_ids); | ||
337 | if (keymap == NULL) { | ||
338 | if (!force) { | ||
339 | printk(KERN_ERR "wistron_btns: System unknown\n"); | ||
340 | return -ENODEV; | ||
341 | } | ||
342 | keymap = keymap_empty; | ||
343 | } | ||
344 | return 0; | ||
345 | } | ||
346 | |||
347 | /* Input layer interface */ | ||
348 | |||
349 | static struct input_dev *input_dev; | ||
350 | |||
351 | static int __init setup_input_dev(void) | ||
352 | { | ||
353 | const struct key_entry *key; | ||
354 | int error; | ||
355 | |||
356 | input_dev = input_allocate_device(); | ||
357 | if (!input_dev) | ||
358 | return -ENOMEM; | ||
359 | |||
360 | input_dev->name = "Wistron laptop buttons"; | ||
361 | input_dev->phys = "wistron/input0"; | ||
362 | input_dev->id.bustype = BUS_HOST; | ||
363 | input_dev->cdev.dev = &wistron_device->dev; | ||
364 | |||
365 | for (key = keymap; key->type != KE_END; key++) { | ||
366 | if (key->type == KE_KEY) { | ||
367 | input_dev->evbit[LONG(EV_KEY)] = BIT(EV_KEY); | ||
368 | set_bit(key->keycode, input_dev->keybit); | ||
369 | } | ||
370 | } | ||
371 | |||
372 | error = input_register_device(input_dev); | ||
373 | if (error) { | ||
374 | input_free_device(input_dev); | ||
375 | return error; | ||
376 | } | ||
377 | |||
378 | return 0; | ||
379 | } | ||
380 | |||
381 | static void report_key(unsigned keycode) | ||
382 | { | ||
383 | input_report_key(input_dev, keycode, 1); | ||
384 | input_sync(input_dev); | ||
385 | input_report_key(input_dev, keycode, 0); | ||
386 | input_sync(input_dev); | ||
387 | } | ||
388 | |||
389 | /* Driver core */ | ||
390 | |||
391 | static int wifi_enabled; | ||
392 | static int bluetooth_enabled; | ||
393 | |||
394 | static void poll_bios(unsigned long); | ||
395 | |||
396 | static struct timer_list poll_timer = TIMER_INITIALIZER(poll_bios, 0, 0); | ||
397 | |||
398 | static void handle_key(u8 code) | ||
399 | { | ||
400 | const struct key_entry *key; | ||
401 | |||
402 | for (key = keymap; key->type != KE_END; key++) { | ||
403 | if (code == key->code) { | ||
404 | switch (key->type) { | ||
405 | case KE_KEY: | ||
406 | report_key(key->keycode); | ||
407 | break; | ||
408 | |||
409 | case KE_WIFI: | ||
410 | if (have_wifi) { | ||
411 | wifi_enabled = !wifi_enabled; | ||
412 | bios_set_state(WIFI, wifi_enabled); | ||
413 | } | ||
414 | break; | ||
415 | |||
416 | case KE_BLUETOOTH: | ||
417 | if (have_bluetooth) { | ||
418 | bluetooth_enabled = !bluetooth_enabled; | ||
419 | bios_set_state(BLUETOOTH, bluetooth_enabled); | ||
420 | } | ||
421 | break; | ||
422 | |||
423 | case KE_END: | ||
424 | default: | ||
425 | BUG(); | ||
426 | } | ||
427 | return; | ||
428 | } | ||
429 | } | ||
430 | printk(KERN_NOTICE "wistron_btns: Unknown key code %02X\n", code); | ||
431 | } | ||
432 | |||
433 | static void poll_bios(unsigned long discard) | ||
434 | { | ||
435 | u8 qlen; | ||
436 | u16 val; | ||
437 | |||
438 | for (;;) { | ||
439 | qlen = CMOS_READ(cmos_address); | ||
440 | if (qlen == 0) | ||
441 | break; | ||
442 | val = bios_pop_queue(); | ||
443 | if (val != 0 && !discard) | ||
444 | handle_key((u8)val); | ||
445 | } | ||
446 | |||
447 | mod_timer(&poll_timer, jiffies + HZ / POLL_FREQUENCY); | ||
448 | } | ||
449 | |||
450 | static int wistron_suspend(struct platform_device *dev, pm_message_t state) | ||
451 | { | ||
452 | del_timer_sync(&poll_timer); | ||
453 | |||
454 | if (have_wifi) | ||
455 | bios_set_state(WIFI, 0); | ||
456 | |||
457 | if (have_bluetooth) | ||
458 | bios_set_state(BLUETOOTH, 0); | ||
459 | |||
460 | return 0; | ||
461 | } | ||
462 | |||
463 | static int wistron_resume(struct platform_device *dev) | ||
464 | { | ||
465 | if (have_wifi) | ||
466 | bios_set_state(WIFI, wifi_enabled); | ||
467 | |||
468 | if (have_bluetooth) | ||
469 | bios_set_state(BLUETOOTH, bluetooth_enabled); | ||
470 | |||
471 | poll_bios(1); | ||
472 | |||
473 | return 0; | ||
474 | } | ||
475 | |||
476 | static struct platform_driver wistron_driver = { | ||
477 | .suspend = wistron_suspend, | ||
478 | .resume = wistron_resume, | ||
479 | .driver = { | ||
480 | .name = "wistron-bios", | ||
481 | }, | ||
482 | }; | ||
483 | |||
484 | static int __init wb_module_init(void) | ||
485 | { | ||
486 | int err; | ||
487 | |||
488 | err = select_keymap(); | ||
489 | if (err) | ||
490 | return err; | ||
491 | |||
492 | err = map_bios(); | ||
493 | if (err) | ||
494 | return err; | ||
495 | |||
496 | bios_attach(); | ||
497 | cmos_address = bios_get_cmos_address(); | ||
498 | |||
499 | err = platform_driver_register(&wistron_driver); | ||
500 | if (err) | ||
501 | goto err_detach_bios; | ||
502 | |||
503 | wistron_device = platform_device_register_simple("wistron-bios", -1, NULL, 0); | ||
504 | if (IS_ERR(wistron_device)) { | ||
505 | err = PTR_ERR(wistron_device); | ||
506 | goto err_unregister_driver; | ||
507 | } | ||
508 | |||
509 | if (have_wifi) { | ||
510 | u16 wifi = bios_get_default_setting(WIFI); | ||
511 | if (wifi & 1) | ||
512 | wifi_enabled = (wifi & 2) ? 1 : 0; | ||
513 | else | ||
514 | have_wifi = 0; | ||
515 | |||
516 | if (have_wifi) | ||
517 | bios_set_state(WIFI, wifi_enabled); | ||
518 | } | ||
519 | |||
520 | if (have_bluetooth) { | ||
521 | u16 bt = bios_get_default_setting(BLUETOOTH); | ||
522 | if (bt & 1) | ||
523 | bluetooth_enabled = (bt & 2) ? 1 : 0; | ||
524 | else | ||
525 | have_bluetooth = 0; | ||
526 | |||
527 | if (have_bluetooth) | ||
528 | bios_set_state(BLUETOOTH, bluetooth_enabled); | ||
529 | } | ||
530 | |||
531 | err = setup_input_dev(); | ||
532 | if (err) | ||
533 | goto err_unregister_device; | ||
534 | |||
535 | poll_bios(1); /* Flush stale event queue and arm timer */ | ||
536 | |||
537 | return 0; | ||
538 | |||
539 | err_unregister_device: | ||
540 | platform_device_unregister(wistron_device); | ||
541 | err_unregister_driver: | ||
542 | platform_driver_unregister(&wistron_driver); | ||
543 | err_detach_bios: | ||
544 | bios_detach(); | ||
545 | unmap_bios(); | ||
546 | |||
547 | return err; | ||
548 | } | ||
549 | |||
550 | static void __exit wb_module_exit(void) | ||
551 | { | ||
552 | del_timer_sync(&poll_timer); | ||
553 | input_unregister_device(input_dev); | ||
554 | platform_device_unregister(wistron_device); | ||
555 | platform_driver_unregister(&wistron_driver); | ||
556 | bios_detach(); | ||
557 | unmap_bios(); | ||
558 | } | ||
559 | |||
560 | module_init(wb_module_init); | ||
561 | module_exit(wb_module_exit); | ||
diff --git a/drivers/input/serio/serio.c b/drivers/input/serio/serio.c index edd15db17715..fbb69ef6a77b 100644 --- a/drivers/input/serio/serio.c +++ b/drivers/input/serio/serio.c | |||
@@ -269,14 +269,20 @@ static struct serio_event *serio_get_event(void) | |||
269 | return event; | 269 | return event; |
270 | } | 270 | } |
271 | 271 | ||
272 | static void serio_handle_events(void) | 272 | static void serio_handle_event(void) |
273 | { | 273 | { |
274 | struct serio_event *event; | 274 | struct serio_event *event; |
275 | struct serio_driver *serio_drv; | 275 | struct serio_driver *serio_drv; |
276 | 276 | ||
277 | down(&serio_sem); | 277 | down(&serio_sem); |
278 | 278 | ||
279 | while ((event = serio_get_event())) { | 279 | /* |
280 | * Note that we handle only one event here to give swsusp | ||
281 | * a chance to freeze kseriod thread. Serio events should | ||
282 | * be pretty rare so we are not concerned about taking | ||
283 | * performance hit. | ||
284 | */ | ||
285 | if ((event = serio_get_event())) { | ||
280 | 286 | ||
281 | switch (event->type) { | 287 | switch (event->type) { |
282 | case SERIO_REGISTER_PORT: | 288 | case SERIO_REGISTER_PORT: |
@@ -368,7 +374,7 @@ static struct serio *serio_get_pending_child(struct serio *parent) | |||
368 | static int serio_thread(void *nothing) | 374 | static int serio_thread(void *nothing) |
369 | { | 375 | { |
370 | do { | 376 | do { |
371 | serio_handle_events(); | 377 | serio_handle_event(); |
372 | wait_event_interruptible(serio_wait, | 378 | wait_event_interruptible(serio_wait, |
373 | kthread_should_stop() || !list_empty(&serio_event_list)); | 379 | kthread_should_stop() || !list_empty(&serio_event_list)); |
374 | try_to_freeze(); | 380 | try_to_freeze(); |
diff --git a/drivers/isdn/hisax/Kconfig b/drivers/isdn/hisax/Kconfig index 801c98f30e5c..c82105920d71 100644 --- a/drivers/isdn/hisax/Kconfig +++ b/drivers/isdn/hisax/Kconfig | |||
@@ -110,7 +110,7 @@ config HISAX_16_3 | |||
110 | 110 | ||
111 | config HISAX_TELESPCI | 111 | config HISAX_TELESPCI |
112 | bool "Teles PCI" | 112 | bool "Teles PCI" |
113 | depends on PCI && (BROKEN || !(SPARC64 || PPC)) | 113 | depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K)) |
114 | help | 114 | help |
115 | This enables HiSax support for the Teles PCI. | 115 | This enables HiSax support for the Teles PCI. |
116 | See <file:Documentation/isdn/README.HiSax> on how to configure it. | 116 | See <file:Documentation/isdn/README.HiSax> on how to configure it. |
@@ -238,7 +238,7 @@ config HISAX_MIC | |||
238 | 238 | ||
239 | config HISAX_NETJET | 239 | config HISAX_NETJET |
240 | bool "NETjet card" | 240 | bool "NETjet card" |
241 | depends on PCI && (BROKEN || !(SPARC64 || PPC)) | 241 | depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K)) |
242 | help | 242 | help |
243 | This enables HiSax support for the NetJet from Traverse | 243 | This enables HiSax support for the NetJet from Traverse |
244 | Technologies. | 244 | Technologies. |
@@ -249,7 +249,7 @@ config HISAX_NETJET | |||
249 | 249 | ||
250 | config HISAX_NETJET_U | 250 | config HISAX_NETJET_U |
251 | bool "NETspider U card" | 251 | bool "NETspider U card" |
252 | depends on PCI && (BROKEN || !(SPARC64 || PPC)) | 252 | depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K)) |
253 | help | 253 | help |
254 | This enables HiSax support for the Netspider U interface ISDN card | 254 | This enables HiSax support for the Netspider U interface ISDN card |
255 | from Traverse Technologies. | 255 | from Traverse Technologies. |
@@ -317,7 +317,7 @@ config HISAX_GAZEL | |||
317 | 317 | ||
318 | config HISAX_HFC_PCI | 318 | config HISAX_HFC_PCI |
319 | bool "HFC PCI-Bus cards" | 319 | bool "HFC PCI-Bus cards" |
320 | depends on PCI && (BROKEN || !(SPARC64 || PPC)) | 320 | depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K)) |
321 | help | 321 | help |
322 | This enables HiSax support for the HFC-S PCI 2BDS0 based cards. | 322 | This enables HiSax support for the HFC-S PCI 2BDS0 based cards. |
323 | 323 | ||
@@ -344,14 +344,14 @@ config HISAX_HFC_SX | |||
344 | 344 | ||
345 | config HISAX_ENTERNOW_PCI | 345 | config HISAX_ENTERNOW_PCI |
346 | bool "Formula-n enter:now PCI card" | 346 | bool "Formula-n enter:now PCI card" |
347 | depends on PCI && (BROKEN || !(SPARC64 || PPC)) | 347 | depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K)) |
348 | help | 348 | help |
349 | This enables HiSax support for the Formula-n enter:now PCI | 349 | This enables HiSax support for the Formula-n enter:now PCI |
350 | ISDN card. | 350 | ISDN card. |
351 | 351 | ||
352 | config HISAX_AMD7930 | 352 | config HISAX_AMD7930 |
353 | bool "Am7930 (EXPERIMENTAL)" | 353 | bool "Am7930 (EXPERIMENTAL)" |
354 | depends on EXPERIMENTAL && (SPARC32 || SPARC64) | 354 | depends on EXPERIMENTAL && SPARC |
355 | help | 355 | help |
356 | This enables HiSax support for the AMD7930 chips on some SPARCs. | 356 | This enables HiSax support for the AMD7930 chips on some SPARCs. |
357 | This code is not finished yet. | 357 | This code is not finished yet. |
diff --git a/drivers/isdn/pcbit/Kconfig b/drivers/isdn/pcbit/Kconfig index f06997faef16..0933881ab0c2 100644 --- a/drivers/isdn/pcbit/Kconfig +++ b/drivers/isdn/pcbit/Kconfig | |||
@@ -3,7 +3,7 @@ | |||
3 | # | 3 | # |
4 | config ISDN_DRV_PCBIT | 4 | config ISDN_DRV_PCBIT |
5 | tristate "PCBIT-D support" | 5 | tristate "PCBIT-D support" |
6 | depends on ISDN_I4L && ISA && (BROKEN || !PPC) | 6 | depends on ISDN_I4L && ISA && (BROKEN || X86) |
7 | help | 7 | help |
8 | This enables support for the PCBIT ISDN-card. This card is | 8 | This enables support for the PCBIT ISDN-card. This card is |
9 | manufactured in Portugal by Octal. For running this card, | 9 | manufactured in Portugal by Octal. For running this card, |
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c index 51315302a85e..252d55df9642 100644 --- a/drivers/md/bitmap.c +++ b/drivers/md/bitmap.c | |||
@@ -326,9 +326,9 @@ static int write_page(struct bitmap *bitmap, struct page *page, int wait) | |||
326 | } | 326 | } |
327 | } | 327 | } |
328 | 328 | ||
329 | ret = page->mapping->a_ops->prepare_write(NULL, page, 0, PAGE_SIZE); | 329 | ret = page->mapping->a_ops->prepare_write(bitmap->file, page, 0, PAGE_SIZE); |
330 | if (!ret) | 330 | if (!ret) |
331 | ret = page->mapping->a_ops->commit_write(NULL, page, 0, | 331 | ret = page->mapping->a_ops->commit_write(bitmap->file, page, 0, |
332 | PAGE_SIZE); | 332 | PAGE_SIZE); |
333 | if (ret) { | 333 | if (ret) { |
334 | unlock_page(page); | 334 | unlock_page(page); |
diff --git a/drivers/md/md.c b/drivers/md/md.c index f3fed662f32e..78c7418478d6 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -3846,11 +3846,20 @@ static int is_mddev_idle(mddev_t *mddev) | |||
3846 | curr_events = disk_stat_read(disk, sectors[0]) + | 3846 | curr_events = disk_stat_read(disk, sectors[0]) + |
3847 | disk_stat_read(disk, sectors[1]) - | 3847 | disk_stat_read(disk, sectors[1]) - |
3848 | atomic_read(&disk->sync_io); | 3848 | atomic_read(&disk->sync_io); |
3849 | /* Allow some slack between valud of curr_events and last_events, | 3849 | /* The difference between curr_events and last_events |
3850 | * as there are some uninteresting races. | 3850 | * will be affected by any new non-sync IO (making |
3851 | * curr_events bigger) and any difference in the amount of | ||
3852 | * in-flight syncio (making current_events bigger or smaller) | ||
3853 | * The amount in-flight is currently limited to | ||
3854 | * 32*64K in raid1/10 and 256*PAGE_SIZE in raid5/6 | ||
3855 | * which is at most 4096 sectors. | ||
3856 | * These numbers are fairly fragile and should be made | ||
3857 | * more robust, probably by enforcing the | ||
3858 | * 'window size' that md_do_sync sort-of uses. | ||
3859 | * | ||
3851 | * Note: the following is an unsigned comparison. | 3860 | * Note: the following is an unsigned comparison. |
3852 | */ | 3861 | */ |
3853 | if ((curr_events - rdev->last_events + 32) > 64) { | 3862 | if ((curr_events - rdev->last_events + 4096) > 8192) { |
3854 | rdev->last_events = curr_events; | 3863 | rdev->last_events = curr_events; |
3855 | idle = 0; | 3864 | idle = 0; |
3856 | } | 3865 | } |
@@ -4109,7 +4118,7 @@ static void md_do_sync(mddev_t *mddev) | |||
4109 | if (currspeed > sysctl_speed_limit_min) { | 4118 | if (currspeed > sysctl_speed_limit_min) { |
4110 | if ((currspeed > sysctl_speed_limit_max) || | 4119 | if ((currspeed > sysctl_speed_limit_max) || |
4111 | !is_mddev_idle(mddev)) { | 4120 | !is_mddev_idle(mddev)) { |
4112 | msleep(250); | 4121 | msleep(500); |
4113 | goto repeat; | 4122 | goto repeat; |
4114 | } | 4123 | } |
4115 | } | 4124 | } |
diff --git a/drivers/media/dvb/cinergyT2/cinergyT2.c b/drivers/media/dvb/cinergyT2/cinergyT2.c index fb394a0d838c..336fc284fa52 100644 --- a/drivers/media/dvb/cinergyT2/cinergyT2.c +++ b/drivers/media/dvb/cinergyT2/cinergyT2.c | |||
@@ -772,7 +772,7 @@ static int cinergyt2_register_rc(struct cinergyt2 *cinergyt2) | |||
772 | input_dev->name = DRIVER_NAME " remote control"; | 772 | input_dev->name = DRIVER_NAME " remote control"; |
773 | input_dev->phys = cinergyt2->phys; | 773 | input_dev->phys = cinergyt2->phys; |
774 | input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); | 774 | input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); |
775 | for (i = 0; ARRAY_SIZE(rc_keys); i += 3) | 775 | for (i = 0; i < ARRAY_SIZE(rc_keys); i += 3) |
776 | set_bit(rc_keys[i + 2], input_dev->keybit); | 776 | set_bit(rc_keys[i + 2], input_dev->keybit); |
777 | input_dev->keycodesize = 0; | 777 | input_dev->keycodesize = 0; |
778 | input_dev->keycodemax = 0; | 778 | input_dev->keycodemax = 0; |
diff --git a/drivers/media/video/ir-kbd-gpio.c b/drivers/media/video/ir-kbd-gpio.c index 5abfc0fbf6de..6345e29e4951 100644 --- a/drivers/media/video/ir-kbd-gpio.c +++ b/drivers/media/video/ir-kbd-gpio.c | |||
@@ -673,7 +673,6 @@ static int ir_probe(struct device *dev) | |||
673 | snprintf(ir->phys, sizeof(ir->phys), "pci-%s/ir0", | 673 | snprintf(ir->phys, sizeof(ir->phys), "pci-%s/ir0", |
674 | pci_name(sub->core->pci)); | 674 | pci_name(sub->core->pci)); |
675 | 675 | ||
676 | ir->sub = sub; | ||
677 | ir_input_init(input_dev, &ir->ir, ir_type, ir_codes); | 676 | ir_input_init(input_dev, &ir->ir, ir_type, ir_codes); |
678 | input_dev->name = ir->name; | 677 | input_dev->name = ir->name; |
679 | input_dev->phys = ir->phys; | 678 | input_dev->phys = ir->phys; |
@@ -688,6 +687,9 @@ static int ir_probe(struct device *dev) | |||
688 | } | 687 | } |
689 | input_dev->cdev.dev = &sub->core->pci->dev; | 688 | input_dev->cdev.dev = &sub->core->pci->dev; |
690 | 689 | ||
690 | ir->input = input_dev; | ||
691 | ir->sub = sub; | ||
692 | |||
691 | if (ir->polling) { | 693 | if (ir->polling) { |
692 | INIT_WORK(&ir->work, ir_work, ir); | 694 | INIT_WORK(&ir->work, ir_work, ir); |
693 | init_timer(&ir->timer); | 695 | init_timer(&ir->timer); |
@@ -708,7 +710,6 @@ static int ir_probe(struct device *dev) | |||
708 | /* all done */ | 710 | /* all done */ |
709 | dev_set_drvdata(dev, ir); | 711 | dev_set_drvdata(dev, ir); |
710 | input_register_device(ir->input); | 712 | input_register_device(ir->input); |
711 | printk(DEVNAME ": %s detected at %s\n",ir->name,ir->phys); | ||
712 | 713 | ||
713 | /* the remote isn't as bouncy as a keyboard */ | 714 | /* the remote isn't as bouncy as a keyboard */ |
714 | ir->input->rep[REP_DELAY] = repeat_delay; | 715 | ir->input->rep[REP_DELAY] = repeat_delay; |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index e648cc3bc96d..ab75ca5ac356 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -713,6 +713,8 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
713 | return -ENOMEM; | 713 | return -ENOMEM; |
714 | } | 714 | } |
715 | 715 | ||
716 | ir->dev = input_dev; | ||
717 | |||
716 | /* init hardware-specific stuff */ | 718 | /* init hardware-specific stuff */ |
717 | ir->mask_keycode = mask_keycode; | 719 | ir->mask_keycode = mask_keycode; |
718 | ir->mask_keydown = mask_keydown; | 720 | ir->mask_keydown = mask_keydown; |
diff --git a/drivers/mtd/maps/ipaq-flash.c b/drivers/mtd/maps/ipaq-flash.c index 35097c9bbf50..b8ccb0a95789 100644 --- a/drivers/mtd/maps/ipaq-flash.c +++ b/drivers/mtd/maps/ipaq-flash.c | |||
@@ -246,7 +246,7 @@ int __init ipaq_mtd_init(void) | |||
246 | ipaq_map[i].size = h3xxx_max_flash_size; | 246 | ipaq_map[i].size = h3xxx_max_flash_size; |
247 | ipaq_map[i].set_vpp = h3xxx_set_vpp; | 247 | ipaq_map[i].set_vpp = h3xxx_set_vpp; |
248 | ipaq_map[i].phys = cs_phys[i]; | 248 | ipaq_map[i].phys = cs_phys[i]; |
249 | ipaq_map[i].virt = __ioremap(cs_phys[i], 0x04000000, 0, 1); | 249 | ipaq_map[i].virt = ioremap(cs_phys[i], 0x04000000); |
250 | if (machine_is_h3100 () || machine_is_h1900()) | 250 | if (machine_is_h3100 () || machine_is_h1900()) |
251 | ipaq_map[i].bankwidth = 2; | 251 | ipaq_map[i].bankwidth = 2; |
252 | } | 252 | } |
@@ -280,7 +280,7 @@ int __init ipaq_mtd_init(void) | |||
280 | nb_parts = ARRAY_SIZE(jornada_partitions); | 280 | nb_parts = ARRAY_SIZE(jornada_partitions); |
281 | ipaq_map[0].size = jornada_max_flash_size; | 281 | ipaq_map[0].size = jornada_max_flash_size; |
282 | ipaq_map[0].set_vpp = jornada56x_set_vpp; | 282 | ipaq_map[0].set_vpp = jornada56x_set_vpp; |
283 | ipaq_map[0].virt = (__u32)__ioremap(0x0, 0x04000000, 0, 1); | 283 | ipaq_map[0].virt = (__u32)ioremap(0x0, 0x04000000); |
284 | } | 284 | } |
285 | #endif | 285 | #endif |
286 | #ifdef CONFIG_SA1100_JORNADA720 | 286 | #ifdef CONFIG_SA1100_JORNADA720 |
@@ -442,7 +442,7 @@ static int __init h1900_special_case(void) | |||
442 | ipaq_map[0].size = 0x80000; | 442 | ipaq_map[0].size = 0x80000; |
443 | ipaq_map[0].set_vpp = h3xxx_set_vpp; | 443 | ipaq_map[0].set_vpp = h3xxx_set_vpp; |
444 | ipaq_map[0].phys = 0x0; | 444 | ipaq_map[0].phys = 0x0; |
445 | ipaq_map[0].virt = __ioremap(0x0, 0x04000000, 0, 1); | 445 | ipaq_map[0].virt = ioremap(0x0, 0x04000000); |
446 | ipaq_map[0].bankwidth = 2; | 446 | ipaq_map[0].bankwidth = 2; |
447 | 447 | ||
448 | printk(KERN_NOTICE "iPAQ flash: probing %d-bit flash bus, window=%lx with JEDEC.\n", ipaq_map[0].bankwidth*8, ipaq_map[0].virt); | 448 | printk(KERN_NOTICE "iPAQ flash: probing %d-bit flash bus, window=%lx with JEDEC.\n", ipaq_map[0].bankwidth*8, ipaq_map[0].virt); |
diff --git a/drivers/mtd/maps/ixp2000.c b/drivers/mtd/maps/ixp2000.c index fc7a78e31735..2c9cc7f37e92 100644 --- a/drivers/mtd/maps/ixp2000.c +++ b/drivers/mtd/maps/ixp2000.c | |||
@@ -159,12 +159,12 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
159 | return -ENODEV; | 159 | return -ENODEV; |
160 | 160 | ||
161 | window_size = dev->resource->end - dev->resource->start + 1; | 161 | window_size = dev->resource->end - dev->resource->start + 1; |
162 | dev_info(_dev, "Probe of IXP2000 flash(%d banks x %dMiB)\n", | 162 | dev_info(&dev->dev, "Probe of IXP2000 flash(%d banks x %dMiB)\n", |
163 | ixp_data->nr_banks, ((u32)window_size >> 20)); | 163 | ixp_data->nr_banks, ((u32)window_size >> 20)); |
164 | 164 | ||
165 | if (plat->width != 1) { | 165 | if (plat->width != 1) { |
166 | dev_err(_dev, "IXP2000 MTD map only supports 8-bit mode, asking for %d\n", | 166 | dev_err(&dev->dev, "IXP2000 MTD map only supports 8-bit mode, asking for %d\n", |
167 | plat->width * 8); | 167 | plat->width * 8); |
168 | return -EIO; | 168 | return -EIO; |
169 | } | 169 | } |
170 | 170 | ||
@@ -202,7 +202,7 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
202 | dev->resource->end - dev->resource->start + 1, | 202 | dev->resource->end - dev->resource->start + 1, |
203 | dev->dev.bus_id); | 203 | dev->dev.bus_id); |
204 | if (!info->res) { | 204 | if (!info->res) { |
205 | dev_err(_dev, "Could not reserve memory region\n"); | 205 | dev_err(&dev->dev, "Could not reserve memory region\n"); |
206 | err = -ENOMEM; | 206 | err = -ENOMEM; |
207 | goto Error; | 207 | goto Error; |
208 | } | 208 | } |
@@ -210,7 +210,7 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
210 | info->map.map_priv_1 = (unsigned long) ioremap(dev->resource->start, | 210 | info->map.map_priv_1 = (unsigned long) ioremap(dev->resource->start, |
211 | dev->resource->end - dev->resource->start + 1); | 211 | dev->resource->end - dev->resource->start + 1); |
212 | if (!info->map.map_priv_1) { | 212 | if (!info->map.map_priv_1) { |
213 | dev_err(_dev, "Failed to ioremap flash region\n"); | 213 | dev_err(&dev->dev, "Failed to ioremap flash region\n"); |
214 | err = -EIO; | 214 | err = -EIO; |
215 | goto Error; | 215 | goto Error; |
216 | } | 216 | } |
@@ -221,13 +221,13 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
221 | */ | 221 | */ |
222 | 222 | ||
223 | erratum44_workaround = ixp2000_has_broken_slowport(); | 223 | erratum44_workaround = ixp2000_has_broken_slowport(); |
224 | dev_info(_dev, "Erratum 44 workaround %s\n", | 224 | dev_info(&dev->dev, "Erratum 44 workaround %s\n", |
225 | erratum44_workaround ? "enabled" : "disabled"); | 225 | erratum44_workaround ? "enabled" : "disabled"); |
226 | #endif | 226 | #endif |
227 | 227 | ||
228 | info->mtd = do_map_probe(plat->map_name, &info->map); | 228 | info->mtd = do_map_probe(plat->map_name, &info->map); |
229 | if (!info->mtd) { | 229 | if (!info->mtd) { |
230 | dev_err(_dev, "map_probe failed\n"); | 230 | dev_err(&dev->dev, "map_probe failed\n"); |
231 | err = -ENXIO; | 231 | err = -ENXIO; |
232 | goto Error; | 232 | goto Error; |
233 | } | 233 | } |
@@ -237,7 +237,7 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
237 | if (err > 0) { | 237 | if (err > 0) { |
238 | err = add_mtd_partitions(info->mtd, info->partitions, err); | 238 | err = add_mtd_partitions(info->mtd, info->partitions, err); |
239 | if(err) | 239 | if(err) |
240 | dev_err(_dev, "Could not parse partitions\n"); | 240 | dev_err(&dev->dev, "Could not parse partitions\n"); |
241 | } | 241 | } |
242 | 242 | ||
243 | if (err) | 243 | if (err) |
@@ -251,8 +251,8 @@ Error: | |||
251 | } | 251 | } |
252 | 252 | ||
253 | static struct platform_driver ixp2000_flash_driver = { | 253 | static struct platform_driver ixp2000_flash_driver = { |
254 | .probe = &ixp2000_flash_probe, | 254 | .probe = ixp2000_flash_probe, |
255 | .remove = &ixp2000_flash_remove | 255 | .remove = ixp2000_flash_remove, |
256 | .driver = { | 256 | .driver = { |
257 | .name = "IXP2000-Flash", | 257 | .name = "IXP2000-Flash", |
258 | }, | 258 | }, |
diff --git a/drivers/mtd/nand/h1910.c b/drivers/mtd/nand/h1910.c index 041e4b3358fb..f68f7a99a630 100644 --- a/drivers/mtd/nand/h1910.c +++ b/drivers/mtd/nand/h1910.c | |||
@@ -112,7 +112,7 @@ static int __init h1910_init (void) | |||
112 | if (!machine_is_h1900()) | 112 | if (!machine_is_h1900()) |
113 | return -ENODEV; | 113 | return -ENODEV; |
114 | 114 | ||
115 | nandaddr = __ioremap(0x08000000, 0x1000, 0, 1); | 115 | nandaddr = ioremap(0x08000000, 0x1000); |
116 | if (!nandaddr) { | 116 | if (!nandaddr) { |
117 | printk("Failed to ioremap nand flash.\n"); | 117 | printk("Failed to ioremap nand flash.\n"); |
118 | return -ENOMEM; | 118 | return -ENOMEM; |
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index 332e9953c55c..cd0b1dccfb61 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c | |||
@@ -32,6 +32,7 @@ | |||
32 | * | 32 | * |
33 | */ | 33 | */ |
34 | 34 | ||
35 | #include <linux/config.h> | ||
35 | #include <linux/module.h> | 36 | #include <linux/module.h> |
36 | #include <linux/kernel.h> | 37 | #include <linux/kernel.h> |
37 | #include <linux/sched.h> | 38 | #include <linux/sched.h> |
diff --git a/drivers/net/e100.c b/drivers/net/e100.c index 7a6aeae2c9fa..22cd04556707 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c | |||
@@ -156,7 +156,7 @@ | |||
156 | 156 | ||
157 | #define DRV_NAME "e100" | 157 | #define DRV_NAME "e100" |
158 | #define DRV_EXT "-NAPI" | 158 | #define DRV_EXT "-NAPI" |
159 | #define DRV_VERSION "3.4.14-k2"DRV_EXT | 159 | #define DRV_VERSION "3.4.14-k4"DRV_EXT |
160 | #define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver" | 160 | #define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver" |
161 | #define DRV_COPYRIGHT "Copyright(c) 1999-2005 Intel Corporation" | 161 | #define DRV_COPYRIGHT "Copyright(c) 1999-2005 Intel Corporation" |
162 | #define PFX DRV_NAME ": " | 162 | #define PFX DRV_NAME ": " |
@@ -903,8 +903,8 @@ static void mdio_write(struct net_device *netdev, int addr, int reg, int data) | |||
903 | 903 | ||
904 | static void e100_get_defaults(struct nic *nic) | 904 | static void e100_get_defaults(struct nic *nic) |
905 | { | 905 | { |
906 | struct param_range rfds = { .min = 16, .max = 256, .count = 64 }; | 906 | struct param_range rfds = { .min = 16, .max = 256, .count = 256 }; |
907 | struct param_range cbs = { .min = 64, .max = 256, .count = 64 }; | 907 | struct param_range cbs = { .min = 64, .max = 256, .count = 128 }; |
908 | 908 | ||
909 | pci_read_config_byte(nic->pdev, PCI_REVISION_ID, &nic->rev_id); | 909 | pci_read_config_byte(nic->pdev, PCI_REVISION_ID, &nic->rev_id); |
910 | /* MAC type is encoded as rev ID; exception: ICH is treated as 82559 */ | 910 | /* MAC type is encoded as rev ID; exception: ICH is treated as 82559 */ |
@@ -1007,25 +1007,264 @@ static void e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb) | |||
1007 | c[16], c[17], c[18], c[19], c[20], c[21], c[22], c[23]); | 1007 | c[16], c[17], c[18], c[19], c[20], c[21], c[22], c[23]); |
1008 | } | 1008 | } |
1009 | 1009 | ||
1010 | /********************************************************/ | ||
1011 | /* Micro code for 8086:1229 Rev 8 */ | ||
1012 | /********************************************************/ | ||
1013 | |||
1014 | /* Parameter values for the D101M B-step */ | ||
1015 | #define D101M_CPUSAVER_TIMER_DWORD 78 | ||
1016 | #define D101M_CPUSAVER_BUNDLE_DWORD 65 | ||
1017 | #define D101M_CPUSAVER_MIN_SIZE_DWORD 126 | ||
1018 | |||
1019 | #define D101M_B_RCVBUNDLE_UCODE \ | ||
1020 | {\ | ||
1021 | 0x00550215, 0xFFFF0437, 0xFFFFFFFF, 0x06A70789, 0xFFFFFFFF, 0x0558FFFF, \ | ||
1022 | 0x000C0001, 0x00101312, 0x000C0008, 0x00380216, \ | ||
1023 | 0x0010009C, 0x00204056, 0x002380CC, 0x00380056, \ | ||
1024 | 0x0010009C, 0x00244C0B, 0x00000800, 0x00124818, \ | ||
1025 | 0x00380438, 0x00000000, 0x00140000, 0x00380555, \ | ||
1026 | 0x00308000, 0x00100662, 0x00100561, 0x000E0408, \ | ||
1027 | 0x00134861, 0x000C0002, 0x00103093, 0x00308000, \ | ||
1028 | 0x00100624, 0x00100561, 0x000E0408, 0x00100861, \ | ||
1029 | 0x000C007E, 0x00222C21, 0x000C0002, 0x00103093, \ | ||
1030 | 0x00380C7A, 0x00080000, 0x00103090, 0x00380C7A, \ | ||
1031 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1032 | 0x0010009C, 0x00244C2D, 0x00010004, 0x00041000, \ | ||
1033 | 0x003A0437, 0x00044010, 0x0038078A, 0x00000000, \ | ||
1034 | 0x00100099, 0x00206C7A, 0x0010009C, 0x00244C48, \ | ||
1035 | 0x00130824, 0x000C0001, 0x00101213, 0x00260C75, \ | ||
1036 | 0x00041000, 0x00010004, 0x00130826, 0x000C0006, \ | ||
1037 | 0x002206A8, 0x0013C926, 0x00101313, 0x003806A8, \ | ||
1038 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1039 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1040 | 0x00080600, 0x00101B10, 0x00050004, 0x00100826, \ | ||
1041 | 0x00101210, 0x00380C34, 0x00000000, 0x00000000, \ | ||
1042 | 0x0021155B, 0x00100099, 0x00206559, 0x0010009C, \ | ||
1043 | 0x00244559, 0x00130836, 0x000C0000, 0x00220C62, \ | ||
1044 | 0x000C0001, 0x00101B13, 0x00229C0E, 0x00210C0E, \ | ||
1045 | 0x00226C0E, 0x00216C0E, 0x0022FC0E, 0x00215C0E, \ | ||
1046 | 0x00214C0E, 0x00380555, 0x00010004, 0x00041000, \ | ||
1047 | 0x00278C67, 0x00040800, 0x00018100, 0x003A0437, \ | ||
1048 | 0x00130826, 0x000C0001, 0x00220559, 0x00101313, \ | ||
1049 | 0x00380559, 0x00000000, 0x00000000, 0x00000000, \ | ||
1050 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1051 | 0x00000000, 0x00130831, 0x0010090B, 0x00124813, \ | ||
1052 | 0x000CFF80, 0x002606AB, 0x00041000, 0x00010004, \ | ||
1053 | 0x003806A8, 0x00000000, 0x00000000, 0x00000000, \ | ||
1054 | } | ||
1055 | |||
1056 | /********************************************************/ | ||
1057 | /* Micro code for 8086:1229 Rev 9 */ | ||
1058 | /********************************************************/ | ||
1059 | |||
1060 | /* Parameter values for the D101S */ | ||
1061 | #define D101S_CPUSAVER_TIMER_DWORD 78 | ||
1062 | #define D101S_CPUSAVER_BUNDLE_DWORD 67 | ||
1063 | #define D101S_CPUSAVER_MIN_SIZE_DWORD 128 | ||
1064 | |||
1065 | #define D101S_RCVBUNDLE_UCODE \ | ||
1066 | {\ | ||
1067 | 0x00550242, 0xFFFF047E, 0xFFFFFFFF, 0x06FF0818, 0xFFFFFFFF, 0x05A6FFFF, \ | ||
1068 | 0x000C0001, 0x00101312, 0x000C0008, 0x00380243, \ | ||
1069 | 0x0010009C, 0x00204056, 0x002380D0, 0x00380056, \ | ||
1070 | 0x0010009C, 0x00244F8B, 0x00000800, 0x00124818, \ | ||
1071 | 0x0038047F, 0x00000000, 0x00140000, 0x003805A3, \ | ||
1072 | 0x00308000, 0x00100610, 0x00100561, 0x000E0408, \ | ||
1073 | 0x00134861, 0x000C0002, 0x00103093, 0x00308000, \ | ||
1074 | 0x00100624, 0x00100561, 0x000E0408, 0x00100861, \ | ||
1075 | 0x000C007E, 0x00222FA1, 0x000C0002, 0x00103093, \ | ||
1076 | 0x00380F90, 0x00080000, 0x00103090, 0x00380F90, \ | ||
1077 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1078 | 0x0010009C, 0x00244FAD, 0x00010004, 0x00041000, \ | ||
1079 | 0x003A047E, 0x00044010, 0x00380819, 0x00000000, \ | ||
1080 | 0x00100099, 0x00206FFD, 0x0010009A, 0x0020AFFD, \ | ||
1081 | 0x0010009C, 0x00244FC8, 0x00130824, 0x000C0001, \ | ||
1082 | 0x00101213, 0x00260FF7, 0x00041000, 0x00010004, \ | ||
1083 | 0x00130826, 0x000C0006, 0x00220700, 0x0013C926, \ | ||
1084 | 0x00101313, 0x00380700, 0x00000000, 0x00000000, \ | ||
1085 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1086 | 0x00080600, 0x00101B10, 0x00050004, 0x00100826, \ | ||
1087 | 0x00101210, 0x00380FB6, 0x00000000, 0x00000000, \ | ||
1088 | 0x002115A9, 0x00100099, 0x002065A7, 0x0010009A, \ | ||
1089 | 0x0020A5A7, 0x0010009C, 0x002445A7, 0x00130836, \ | ||
1090 | 0x000C0000, 0x00220FE4, 0x000C0001, 0x00101B13, \ | ||
1091 | 0x00229F8E, 0x00210F8E, 0x00226F8E, 0x00216F8E, \ | ||
1092 | 0x0022FF8E, 0x00215F8E, 0x00214F8E, 0x003805A3, \ | ||
1093 | 0x00010004, 0x00041000, 0x00278FE9, 0x00040800, \ | ||
1094 | 0x00018100, 0x003A047E, 0x00130826, 0x000C0001, \ | ||
1095 | 0x002205A7, 0x00101313, 0x003805A7, 0x00000000, \ | ||
1096 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1097 | 0x00000000, 0x00000000, 0x00000000, 0x00130831, \ | ||
1098 | 0x0010090B, 0x00124813, 0x000CFF80, 0x00260703, \ | ||
1099 | 0x00041000, 0x00010004, 0x00380700 \ | ||
1100 | } | ||
1101 | |||
1102 | /********************************************************/ | ||
1103 | /* Micro code for the 8086:1229 Rev F/10 */ | ||
1104 | /********************************************************/ | ||
1105 | |||
1106 | /* Parameter values for the D102 E-step */ | ||
1107 | #define D102_E_CPUSAVER_TIMER_DWORD 42 | ||
1108 | #define D102_E_CPUSAVER_BUNDLE_DWORD 54 | ||
1109 | #define D102_E_CPUSAVER_MIN_SIZE_DWORD 46 | ||
1110 | |||
1111 | #define D102_E_RCVBUNDLE_UCODE \ | ||
1112 | {\ | ||
1113 | 0x007D028F, 0x0E4204F9, 0x14ED0C85, 0x14FA14E9, 0x0EF70E36, 0x1FFF1FFF, \ | ||
1114 | 0x00E014B9, 0x00000000, 0x00000000, 0x00000000, \ | ||
1115 | 0x00E014BD, 0x00000000, 0x00000000, 0x00000000, \ | ||
1116 | 0x00E014D5, 0x00000000, 0x00000000, 0x00000000, \ | ||
1117 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1118 | 0x00E014C1, 0x00000000, 0x00000000, 0x00000000, \ | ||
1119 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1120 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1121 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1122 | 0x00E014C8, 0x00000000, 0x00000000, 0x00000000, \ | ||
1123 | 0x00200600, 0x00E014EE, 0x00000000, 0x00000000, \ | ||
1124 | 0x0030FF80, 0x00940E46, 0x00038200, 0x00102000, \ | ||
1125 | 0x00E00E43, 0x00000000, 0x00000000, 0x00000000, \ | ||
1126 | 0x00300006, 0x00E014FB, 0x00000000, 0x00000000, \ | ||
1127 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1128 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1129 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1130 | 0x00906E41, 0x00800E3C, 0x00E00E39, 0x00000000, \ | ||
1131 | 0x00906EFD, 0x00900EFD, 0x00E00EF8, 0x00000000, \ | ||
1132 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1133 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1134 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1135 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1136 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1137 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1138 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1139 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1140 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1141 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1142 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1143 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1144 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1145 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ | ||
1146 | } | ||
1147 | |||
1010 | static void e100_load_ucode(struct nic *nic, struct cb *cb, struct sk_buff *skb) | 1148 | static void e100_load_ucode(struct nic *nic, struct cb *cb, struct sk_buff *skb) |
1011 | { | 1149 | { |
1012 | int i; | 1150 | /* *INDENT-OFF* */ |
1013 | static const u32 ucode[UCODE_SIZE] = { | 1151 | static struct { |
1014 | /* NFS packets are misinterpreted as TCO packets and | 1152 | u32 ucode[UCODE_SIZE + 1]; |
1015 | * incorrectly routed to the BMC over SMBus. This | 1153 | u8 mac; |
1016 | * microcode patch checks the fragmented IP bit in the | 1154 | u8 timer_dword; |
1017 | * NFS/UDP header to distinguish between NFS and TCO. */ | 1155 | u8 bundle_dword; |
1018 | 0x0EF70E36, 0x1FFF1FFF, 0x1FFF1FFF, 0x1FFF1FFF, 0x1FFF1FFF, | 1156 | u8 min_size_dword; |
1019 | 0x1FFF1FFF, 0x00906E41, 0x00800E3C, 0x00E00E39, 0x00000000, | 1157 | } ucode_opts[] = { |
1020 | 0x00906EFD, 0x00900EFD, 0x00E00EF8, | 1158 | { D101M_B_RCVBUNDLE_UCODE, |
1021 | }; | 1159 | mac_82559_D101M, |
1022 | 1160 | D101M_CPUSAVER_TIMER_DWORD, | |
1023 | if(nic->mac == mac_82551_F || nic->mac == mac_82551_10) { | 1161 | D101M_CPUSAVER_BUNDLE_DWORD, |
1024 | for(i = 0; i < UCODE_SIZE; i++) | 1162 | D101M_CPUSAVER_MIN_SIZE_DWORD }, |
1163 | { D101S_RCVBUNDLE_UCODE, | ||
1164 | mac_82559_D101S, | ||
1165 | D101S_CPUSAVER_TIMER_DWORD, | ||
1166 | D101S_CPUSAVER_BUNDLE_DWORD, | ||
1167 | D101S_CPUSAVER_MIN_SIZE_DWORD }, | ||
1168 | { D102_E_RCVBUNDLE_UCODE, | ||
1169 | mac_82551_F, | ||
1170 | D102_E_CPUSAVER_TIMER_DWORD, | ||
1171 | D102_E_CPUSAVER_BUNDLE_DWORD, | ||
1172 | D102_E_CPUSAVER_MIN_SIZE_DWORD }, | ||
1173 | { D102_E_RCVBUNDLE_UCODE, | ||
1174 | mac_82551_10, | ||
1175 | D102_E_CPUSAVER_TIMER_DWORD, | ||
1176 | D102_E_CPUSAVER_BUNDLE_DWORD, | ||
1177 | D102_E_CPUSAVER_MIN_SIZE_DWORD }, | ||
1178 | { {0}, 0, 0, 0, 0} | ||
1179 | }, *opts; | ||
1180 | /* *INDENT-ON* */ | ||
1181 | |||
1182 | /************************************************************************* | ||
1183 | * CPUSaver parameters | ||
1184 | * | ||
1185 | * All CPUSaver parameters are 16-bit literals that are part of a | ||
1186 | * "move immediate value" instruction. By changing the value of | ||
1187 | * the literal in the instruction before the code is loaded, the | ||
1188 | * driver can change the algorithm. | ||
1189 | * | ||
1190 | * INTDELAY - This loads the dead-man timer with its inital value. | ||
1191 | * When this timer expires the interrupt is asserted, and the | ||
1192 | * timer is reset each time a new packet is received. (see | ||
1193 | * BUNDLEMAX below to set the limit on number of chained packets) | ||
1194 | * The current default is 0x600 or 1536. Experiments show that | ||
1195 | * the value should probably stay within the 0x200 - 0x1000. | ||
1196 | * | ||
1197 | * BUNDLEMAX - | ||
1198 | * This sets the maximum number of frames that will be bundled. In | ||
1199 | * some situations, such as the TCP windowing algorithm, it may be | ||
1200 | * better to limit the growth of the bundle size than let it go as | ||
1201 | * high as it can, because that could cause too much added latency. | ||
1202 | * The default is six, because this is the number of packets in the | ||
1203 | * default TCP window size. A value of 1 would make CPUSaver indicate | ||
1204 | * an interrupt for every frame received. If you do not want to put | ||
1205 | * a limit on the bundle size, set this value to xFFFF. | ||
1206 | * | ||
1207 | * BUNDLESMALL - | ||
1208 | * This contains a bit-mask describing the minimum size frame that | ||
1209 | * will be bundled. The default masks the lower 7 bits, which means | ||
1210 | * that any frame less than 128 bytes in length will not be bundled, | ||
1211 | * but will instead immediately generate an interrupt. This does | ||
1212 | * not affect the current bundle in any way. Any frame that is 128 | ||
1213 | * bytes or large will be bundled normally. This feature is meant | ||
1214 | * to provide immediate indication of ACK frames in a TCP environment. | ||
1215 | * Customers were seeing poor performance when a machine with CPUSaver | ||
1216 | * enabled was sending but not receiving. The delay introduced when | ||
1217 | * the ACKs were received was enough to reduce total throughput, because | ||
1218 | * the sender would sit idle until the ACK was finally seen. | ||
1219 | * | ||
1220 | * The current default is 0xFF80, which masks out the lower 7 bits. | ||
1221 | * This means that any frame which is x7F (127) bytes or smaller | ||
1222 | * will cause an immediate interrupt. Because this value must be a | ||
1223 | * bit mask, there are only a few valid values that can be used. To | ||
1224 | * turn this feature off, the driver can write the value xFFFF to the | ||
1225 | * lower word of this instruction (in the same way that the other | ||
1226 | * parameters are used). Likewise, a value of 0xF800 (2047) would | ||
1227 | * cause an interrupt to be generated for every frame, because all | ||
1228 | * standard Ethernet frames are <= 2047 bytes in length. | ||
1229 | *************************************************************************/ | ||
1230 | |||
1231 | /* if you wish to disable the ucode functionality, while maintaining the | ||
1232 | * workarounds it provides, set the following defines to: | ||
1233 | * BUNDLESMALL 0 | ||
1234 | * BUNDLEMAX 1 | ||
1235 | * INTDELAY 1 | ||
1236 | */ | ||
1237 | #define BUNDLESMALL 1 | ||
1238 | #define BUNDLEMAX (u16)6 | ||
1239 | #define INTDELAY (u16)1536 /* 0x600 */ | ||
1240 | |||
1241 | /* do not load u-code for ICH devices */ | ||
1242 | if (nic->flags & ich) | ||
1243 | goto noloaducode; | ||
1244 | |||
1245 | /* Search for ucode match against h/w rev_id */ | ||
1246 | for (opts = ucode_opts; opts->mac; opts++) { | ||
1247 | int i; | ||
1248 | u32 *ucode = opts->ucode; | ||
1249 | if (nic->mac != opts->mac) | ||
1250 | continue; | ||
1251 | |||
1252 | /* Insert user-tunable settings */ | ||
1253 | ucode[opts->timer_dword] &= 0xFFFF0000; | ||
1254 | ucode[opts->timer_dword] |= INTDELAY; | ||
1255 | ucode[opts->bundle_dword] &= 0xFFFF0000; | ||
1256 | ucode[opts->bundle_dword] |= BUNDLEMAX; | ||
1257 | ucode[opts->min_size_dword] &= 0xFFFF0000; | ||
1258 | ucode[opts->min_size_dword] |= (BUNDLESMALL) ? 0xFFFF : 0xFF80; | ||
1259 | |||
1260 | for (i = 0; i < UCODE_SIZE; i++) | ||
1025 | cb->u.ucode[i] = cpu_to_le32(ucode[i]); | 1261 | cb->u.ucode[i] = cpu_to_le32(ucode[i]); |
1026 | cb->command = cpu_to_le16(cb_ucode); | 1262 | cb->command = cpu_to_le16(cb_ucode); |
1027 | } else | 1263 | return; |
1028 | cb->command = cpu_to_le16(cb_nop); | 1264 | } |
1265 | |||
1266 | noloaducode: | ||
1267 | cb->command = cpu_to_le16(cb_nop); | ||
1029 | } | 1268 | } |
1030 | 1269 | ||
1031 | static void e100_setup_iaaddr(struct nic *nic, struct cb *cb, | 1270 | static void e100_setup_iaaddr(struct nic *nic, struct cb *cb, |
diff --git a/drivers/net/fec_8xx/Kconfig b/drivers/net/fec_8xx/Kconfig index 94e7a9af8705..a84c232395e3 100644 --- a/drivers/net/fec_8xx/Kconfig +++ b/drivers/net/fec_8xx/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | config FEC_8XX | 1 | config FEC_8XX |
2 | tristate "Motorola 8xx FEC driver" | 2 | tristate "Motorola 8xx FEC driver" |
3 | depends on NET_ETHERNET && FEC | 3 | depends on NET_ETHERNET && 8xx |
4 | select MII | 4 | select MII |
5 | 5 | ||
6 | config FEC_8XX_GENERIC_PHY | 6 | config FEC_8XX_GENERIC_PHY |
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c index 6a3129bc15a6..9b8295ee06ef 100644 --- a/drivers/net/ioc3-eth.c +++ b/drivers/net/ioc3-eth.c | |||
@@ -1360,7 +1360,7 @@ static struct pci_driver ioc3_driver = { | |||
1360 | 1360 | ||
1361 | static int __init ioc3_init_module(void) | 1361 | static int __init ioc3_init_module(void) |
1362 | { | 1362 | { |
1363 | return pci_module_init(&ioc3_driver); | 1363 | return pci_register_driver(&ioc3_driver); |
1364 | } | 1364 | } |
1365 | 1365 | ||
1366 | static void __exit ioc3_cleanup_module(void) | 1366 | static void __exit ioc3_cleanup_module(void) |
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 159b56a56ef4..14a76f7cf900 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
@@ -1346,10 +1346,8 @@ rtl8169_init_board(struct pci_dev *pdev, struct net_device **dev_out, | |||
1346 | } else { | 1346 | } else { |
1347 | if (netif_msg_probe(tp)) { | 1347 | if (netif_msg_probe(tp)) { |
1348 | printk(KERN_ERR PFX | 1348 | printk(KERN_ERR PFX |
1349 | "Cannot find PowerManagement capability. " | 1349 | "PowerManagement capability not found.\n"); |
1350 | "Aborting.\n"); | ||
1351 | } | 1350 | } |
1352 | goto err_out_mwi; | ||
1353 | } | 1351 | } |
1354 | 1352 | ||
1355 | /* make sure PCI base addr 1 is MMIO */ | 1353 | /* make sure PCI base addr 1 is MMIO */ |
@@ -2516,7 +2514,7 @@ rtl8169_interrupt(int irq, void *dev_instance, struct pt_regs *regs) | |||
2516 | } while (boguscnt > 0); | 2514 | } while (boguscnt > 0); |
2517 | 2515 | ||
2518 | if (boguscnt <= 0) { | 2516 | if (boguscnt <= 0) { |
2519 | if (net_ratelimit() && netif_msg_intr(tp)) { | 2517 | if (netif_msg_intr(tp) && net_ratelimit() ) { |
2520 | printk(KERN_WARNING | 2518 | printk(KERN_WARNING |
2521 | "%s: Too much work at interrupt!\n", dev->name); | 2519 | "%s: Too much work at interrupt!\n", dev->name); |
2522 | } | 2520 | } |
diff --git a/drivers/net/saa9730.h b/drivers/net/saa9730.h index 9e9da6b4080f..a7e9d29a86a7 100644 --- a/drivers/net/saa9730.h +++ b/drivers/net/saa9730.h | |||
@@ -1,6 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Carsten Langgaard, carstenl@mips.com | 2 | * Copyright (C) 2000, 2005 MIPS Technologies, Inc. All rights reserved. |
3 | * Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved. | 3 | * Authors: Carsten Langgaard <carstenl@mips.com> |
4 | * Maciej W. Rozycki <macro@mips.com> | ||
4 | * | 5 | * |
5 | * ######################################################################## | 6 | * ######################################################################## |
6 | * | 7 | * |
@@ -265,6 +266,7 @@ | |||
265 | 266 | ||
266 | /* The SAA9730 (LAN) controller register map, as seen via the PCI-bus. */ | 267 | /* The SAA9730 (LAN) controller register map, as seen via the PCI-bus. */ |
267 | #define SAA9730_LAN_REGS_ADDR 0x20400 | 268 | #define SAA9730_LAN_REGS_ADDR 0x20400 |
269 | #define SAA9730_LAN_REGS_SIZE 0x00400 | ||
268 | 270 | ||
269 | struct lan_saa9730_regmap { | 271 | struct lan_saa9730_regmap { |
270 | volatile unsigned int TxBuffA; /* 0x20400 */ | 272 | volatile unsigned int TxBuffA; /* 0x20400 */ |
@@ -309,6 +311,7 @@ typedef volatile struct lan_saa9730_regmap t_lan_saa9730_regmap; | |||
309 | 311 | ||
310 | /* The SAA9730 (EVM) controller register map, as seen via the PCI-bus. */ | 312 | /* The SAA9730 (EVM) controller register map, as seen via the PCI-bus. */ |
311 | #define SAA9730_EVM_REGS_ADDR 0x02000 | 313 | #define SAA9730_EVM_REGS_ADDR 0x02000 |
314 | #define SAA9730_EVM_REGS_SIZE 0x00400 | ||
312 | 315 | ||
313 | struct evm_saa9730_regmap { | 316 | struct evm_saa9730_regmap { |
314 | volatile unsigned int InterruptStatus1; /* 0x2000 */ | 317 | volatile unsigned int InterruptStatus1; /* 0x2000 */ |
@@ -329,16 +332,32 @@ typedef volatile struct evm_saa9730_regmap t_evm_saa9730_regmap; | |||
329 | 332 | ||
330 | 333 | ||
331 | struct lan_saa9730_private { | 334 | struct lan_saa9730_private { |
335 | /* | ||
336 | * Rx/Tx packet buffers. | ||
337 | * The Rx and Tx packets must be PACKET_SIZE aligned. | ||
338 | */ | ||
339 | void *buffer_start; | ||
340 | unsigned int buffer_size; | ||
341 | |||
342 | /* | ||
343 | * DMA address of beginning of this object, returned | ||
344 | * by pci_alloc_consistent(). | ||
345 | */ | ||
346 | dma_addr_t dma_addr; | ||
347 | |||
348 | /* Pointer to the associated pci device structure */ | ||
349 | struct pci_dev *pci_dev; | ||
350 | |||
332 | /* Pointer for the SAA9730 LAN controller register set. */ | 351 | /* Pointer for the SAA9730 LAN controller register set. */ |
333 | t_lan_saa9730_regmap *lan_saa9730_regs; | 352 | t_lan_saa9730_regmap *lan_saa9730_regs; |
334 | 353 | ||
335 | /* Pointer to the SAA9730 EVM register. */ | 354 | /* Pointer to the SAA9730 EVM register. */ |
336 | t_evm_saa9730_regmap *evm_saa9730_regs; | 355 | t_evm_saa9730_regmap *evm_saa9730_regs; |
337 | 356 | ||
338 | /* TRUE if the next buffer to write is RxBuffA, FALSE if RxBuffB. */ | ||
339 | unsigned char NextRcvToUseIsA; | ||
340 | /* Rcv buffer Index. */ | 357 | /* Rcv buffer Index. */ |
341 | unsigned char NextRcvPacketIndex; | 358 | unsigned char NextRcvPacketIndex; |
359 | /* Next buffer index. */ | ||
360 | unsigned char NextRcvBufferIndex; | ||
342 | 361 | ||
343 | /* Index of next packet to use in that buffer. */ | 362 | /* Index of next packet to use in that buffer. */ |
344 | unsigned char NextTxmPacketIndex; | 363 | unsigned char NextTxmPacketIndex; |
@@ -353,13 +372,8 @@ struct lan_saa9730_private { | |||
353 | unsigned char DmaRcvPackets; | 372 | unsigned char DmaRcvPackets; |
354 | unsigned char DmaTxmPackets; | 373 | unsigned char DmaTxmPackets; |
355 | 374 | ||
356 | unsigned char RcvAIndex; /* index into RcvBufferSpace[] for Blk A */ | 375 | void *TxmBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_TXM_Q_SIZE]; |
357 | unsigned char RcvBIndex; /* index into RcvBufferSpace[] for Blk B */ | 376 | void *RcvBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_RCV_Q_SIZE]; |
358 | |||
359 | unsigned int | ||
360 | TxmBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_TXM_Q_SIZE]; | ||
361 | unsigned int | ||
362 | RcvBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_RCV_Q_SIZE]; | ||
363 | unsigned int TxBufferFree[LAN_SAA9730_BUFFERS]; | 377 | unsigned int TxBufferFree[LAN_SAA9730_BUFFERS]; |
364 | 378 | ||
365 | unsigned char PhysicalAddress[LAN_SAA9730_CAM_ENTRIES][6]; | 379 | unsigned char PhysicalAddress[LAN_SAA9730_CAM_ENTRIES][6]; |
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c index c91e2e81f131..28bf2e69eb5e 100644 --- a/drivers/net/smc91x.c +++ b/drivers/net/smc91x.c | |||
@@ -155,6 +155,12 @@ MODULE_LICENSE("GPL"); | |||
155 | #define MEMORY_WAIT_TIME 16 | 155 | #define MEMORY_WAIT_TIME 16 |
156 | 156 | ||
157 | /* | 157 | /* |
158 | * The maximum number of processing loops allowed for each call to the | ||
159 | * IRQ handler. | ||
160 | */ | ||
161 | #define MAX_IRQ_LOOPS 8 | ||
162 | |||
163 | /* | ||
158 | * This selects whether TX packets are sent one by one to the SMC91x internal | 164 | * This selects whether TX packets are sent one by one to the SMC91x internal |
159 | * memory and throttled until transmission completes. This may prevent | 165 | * memory and throttled until transmission completes. This may prevent |
160 | * RX overruns a litle by keeping much of the memory free for RX packets | 166 | * RX overruns a litle by keeping much of the memory free for RX packets |
@@ -684,7 +690,6 @@ static void smc_hardware_send_pkt(unsigned long data) | |||
684 | 690 | ||
685 | /* queue the packet for TX */ | 691 | /* queue the packet for TX */ |
686 | SMC_SET_MMU_CMD(MC_ENQUEUE); | 692 | SMC_SET_MMU_CMD(MC_ENQUEUE); |
687 | SMC_ACK_INT(IM_TX_EMPTY_INT); | ||
688 | smc_special_unlock(&lp->lock); | 693 | smc_special_unlock(&lp->lock); |
689 | 694 | ||
690 | dev->trans_start = jiffies; | 695 | dev->trans_start = jiffies; |
@@ -1207,6 +1212,7 @@ static void smc_phy_configure(void *data) | |||
1207 | smc_phy_check_media(dev, 1); | 1212 | smc_phy_check_media(dev, 1); |
1208 | 1213 | ||
1209 | smc_phy_configure_exit: | 1214 | smc_phy_configure_exit: |
1215 | SMC_SELECT_BANK(2); | ||
1210 | spin_unlock_irq(&lp->lock); | 1216 | spin_unlock_irq(&lp->lock); |
1211 | lp->work_pending = 0; | 1217 | lp->work_pending = 0; |
1212 | } | 1218 | } |
@@ -1305,7 +1311,7 @@ static irqreturn_t smc_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
1305 | SMC_SET_INT_MASK(0); | 1311 | SMC_SET_INT_MASK(0); |
1306 | 1312 | ||
1307 | /* set a timeout value, so I don't stay here forever */ | 1313 | /* set a timeout value, so I don't stay here forever */ |
1308 | timeout = 8; | 1314 | timeout = MAX_IRQ_LOOPS; |
1309 | 1315 | ||
1310 | do { | 1316 | do { |
1311 | status = SMC_GET_INT(); | 1317 | status = SMC_GET_INT(); |
@@ -1372,10 +1378,13 @@ static irqreturn_t smc_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
1372 | /* restore register states */ | 1378 | /* restore register states */ |
1373 | SMC_SET_PTR(saved_pointer); | 1379 | SMC_SET_PTR(saved_pointer); |
1374 | SMC_SET_INT_MASK(mask); | 1380 | SMC_SET_INT_MASK(mask); |
1375 | |||
1376 | spin_unlock(&lp->lock); | 1381 | spin_unlock(&lp->lock); |
1377 | 1382 | ||
1378 | DBG(3, "%s: Interrupt done (%d loops)\n", dev->name, 8-timeout); | 1383 | if (timeout == MAX_IRQ_LOOPS) |
1384 | PRINTK("%s: spurious interrupt (mask = 0x%02x)\n", | ||
1385 | dev->name, mask); | ||
1386 | DBG(3, "%s: Interrupt done (%d loops)\n", | ||
1387 | dev->name, MAX_IRQ_LOOPS - timeout); | ||
1379 | 1388 | ||
1380 | /* | 1389 | /* |
1381 | * We return IRQ_HANDLED unconditionally here even if there was | 1390 | * We return IRQ_HANDLED unconditionally here even if there was |
diff --git a/drivers/net/wan/hdlc_cisco.c b/drivers/net/wan/hdlc_cisco.c index a01efa6d5c62..1fd04662c4fc 100644 --- a/drivers/net/wan/hdlc_cisco.c +++ b/drivers/net/wan/hdlc_cisco.c | |||
@@ -192,7 +192,9 @@ static int cisco_rx(struct sk_buff *skb) | |||
192 | "uptime %ud%uh%um%us)\n", | 192 | "uptime %ud%uh%um%us)\n", |
193 | dev->name, days, hrs, | 193 | dev->name, days, hrs, |
194 | min, sec); | 194 | min, sec); |
195 | #if 0 | ||
195 | netif_carrier_on(dev); | 196 | netif_carrier_on(dev); |
197 | #endif | ||
196 | hdlc->state.cisco.up = 1; | 198 | hdlc->state.cisco.up = 1; |
197 | } | 199 | } |
198 | } | 200 | } |
@@ -225,7 +227,9 @@ static void cisco_timer(unsigned long arg) | |||
225 | hdlc->state.cisco.settings.timeout * HZ)) { | 227 | hdlc->state.cisco.settings.timeout * HZ)) { |
226 | hdlc->state.cisco.up = 0; | 228 | hdlc->state.cisco.up = 0; |
227 | printk(KERN_INFO "%s: Link down\n", dev->name); | 229 | printk(KERN_INFO "%s: Link down\n", dev->name); |
230 | #if 0 | ||
228 | netif_carrier_off(dev); | 231 | netif_carrier_off(dev); |
232 | #endif | ||
229 | } | 233 | } |
230 | 234 | ||
231 | cisco_keepalive_send(dev, CISCO_KEEPALIVE_REQ, | 235 | cisco_keepalive_send(dev, CISCO_KEEPALIVE_REQ, |
@@ -261,8 +265,10 @@ static void cisco_stop(struct net_device *dev) | |||
261 | { | 265 | { |
262 | hdlc_device *hdlc = dev_to_hdlc(dev); | 266 | hdlc_device *hdlc = dev_to_hdlc(dev); |
263 | del_timer_sync(&hdlc->state.cisco.timer); | 267 | del_timer_sync(&hdlc->state.cisco.timer); |
268 | #if 0 | ||
264 | if (netif_carrier_ok(dev)) | 269 | if (netif_carrier_ok(dev)) |
265 | netif_carrier_off(dev); | 270 | netif_carrier_off(dev); |
271 | #endif | ||
266 | hdlc->state.cisco.up = 0; | 272 | hdlc->state.cisco.up = 0; |
267 | hdlc->state.cisco.request_sent = 0; | 273 | hdlc->state.cisco.request_sent = 0; |
268 | } | 274 | } |
diff --git a/drivers/net/wan/hdlc_fr.c b/drivers/net/wan/hdlc_fr.c index e1601d35dced..523afe17564e 100644 --- a/drivers/net/wan/hdlc_fr.c +++ b/drivers/net/wan/hdlc_fr.c | |||
@@ -545,8 +545,10 @@ static void fr_set_link_state(int reliable, struct net_device *dev) | |||
545 | 545 | ||
546 | hdlc->state.fr.reliable = reliable; | 546 | hdlc->state.fr.reliable = reliable; |
547 | if (reliable) { | 547 | if (reliable) { |
548 | #if 0 | ||
548 | if (!netif_carrier_ok(dev)) | 549 | if (!netif_carrier_ok(dev)) |
549 | netif_carrier_on(dev); | 550 | netif_carrier_on(dev); |
551 | #endif | ||
550 | 552 | ||
551 | hdlc->state.fr.n391cnt = 0; /* Request full status */ | 553 | hdlc->state.fr.n391cnt = 0; /* Request full status */ |
552 | hdlc->state.fr.dce_changed = 1; | 554 | hdlc->state.fr.dce_changed = 1; |
@@ -560,8 +562,10 @@ static void fr_set_link_state(int reliable, struct net_device *dev) | |||
560 | } | 562 | } |
561 | } | 563 | } |
562 | } else { | 564 | } else { |
565 | #if 0 | ||
563 | if (netif_carrier_ok(dev)) | 566 | if (netif_carrier_ok(dev)) |
564 | netif_carrier_off(dev); | 567 | netif_carrier_off(dev); |
568 | #endif | ||
565 | 569 | ||
566 | while (pvc) { /* Deactivate all PVCs */ | 570 | while (pvc) { /* Deactivate all PVCs */ |
567 | pvc_carrier(0, pvc); | 571 | pvc_carrier(0, pvc); |
diff --git a/drivers/net/wan/hdlc_generic.c b/drivers/net/wan/hdlc_generic.c index cdd4c09c2d90..46cef8f92133 100644 --- a/drivers/net/wan/hdlc_generic.c +++ b/drivers/net/wan/hdlc_generic.c | |||
@@ -79,11 +79,13 @@ static void __hdlc_set_carrier_on(struct net_device *dev) | |||
79 | hdlc_device *hdlc = dev_to_hdlc(dev); | 79 | hdlc_device *hdlc = dev_to_hdlc(dev); |
80 | if (hdlc->proto.start) | 80 | if (hdlc->proto.start) |
81 | return hdlc->proto.start(dev); | 81 | return hdlc->proto.start(dev); |
82 | #if 0 | ||
82 | #ifdef DEBUG_LINK | 83 | #ifdef DEBUG_LINK |
83 | if (netif_carrier_ok(dev)) | 84 | if (netif_carrier_ok(dev)) |
84 | printk(KERN_ERR "hdlc_set_carrier_on(): already on\n"); | 85 | printk(KERN_ERR "hdlc_set_carrier_on(): already on\n"); |
85 | #endif | 86 | #endif |
86 | netif_carrier_on(dev); | 87 | netif_carrier_on(dev); |
88 | #endif | ||
87 | } | 89 | } |
88 | 90 | ||
89 | 91 | ||
@@ -94,11 +96,13 @@ static void __hdlc_set_carrier_off(struct net_device *dev) | |||
94 | if (hdlc->proto.stop) | 96 | if (hdlc->proto.stop) |
95 | return hdlc->proto.stop(dev); | 97 | return hdlc->proto.stop(dev); |
96 | 98 | ||
99 | #if 0 | ||
97 | #ifdef DEBUG_LINK | 100 | #ifdef DEBUG_LINK |
98 | if (!netif_carrier_ok(dev)) | 101 | if (!netif_carrier_ok(dev)) |
99 | printk(KERN_ERR "hdlc_set_carrier_off(): already off\n"); | 102 | printk(KERN_ERR "hdlc_set_carrier_off(): already off\n"); |
100 | #endif | 103 | #endif |
101 | netif_carrier_off(dev); | 104 | netif_carrier_off(dev); |
105 | #endif | ||
102 | } | 106 | } |
103 | 107 | ||
104 | 108 | ||
@@ -294,8 +298,10 @@ int register_hdlc_device(struct net_device *dev) | |||
294 | if (result != 0) | 298 | if (result != 0) |
295 | return -EIO; | 299 | return -EIO; |
296 | 300 | ||
301 | #if 0 | ||
297 | if (netif_carrier_ok(dev)) | 302 | if (netif_carrier_ok(dev)) |
298 | netif_carrier_off(dev); /* no carrier until DCD goes up */ | 303 | netif_carrier_off(dev); /* no carrier until DCD goes up */ |
304 | #endif | ||
299 | 305 | ||
300 | return 0; | 306 | return 0; |
301 | } | 307 | } |
diff --git a/drivers/net/wireless/hermes.c b/drivers/net/wireless/hermes.c index 579480dad374..346c6febb033 100644 --- a/drivers/net/wireless/hermes.c +++ b/drivers/net/wireless/hermes.c | |||
@@ -398,7 +398,7 @@ static int hermes_bap_seek(hermes_t *hw, int bap, u16 id, u16 offset) | |||
398 | * | 398 | * |
399 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware | 399 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware |
400 | */ | 400 | */ |
401 | int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, | 401 | int hermes_bap_pread(hermes_t *hw, int bap, void *buf, int len, |
402 | u16 id, u16 offset) | 402 | u16 id, u16 offset) |
403 | { | 403 | { |
404 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; | 404 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; |
@@ -424,7 +424,7 @@ int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, | |||
424 | * | 424 | * |
425 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware | 425 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware |
426 | */ | 426 | */ |
427 | int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len, | 427 | int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, int len, |
428 | u16 id, u16 offset) | 428 | u16 id, u16 offset) |
429 | { | 429 | { |
430 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; | 430 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; |
@@ -450,7 +450,7 @@ int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len, | |||
450 | * | 450 | * |
451 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware | 451 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware |
452 | */ | 452 | */ |
453 | int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, unsigned data_len, unsigned len, | 453 | int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, unsigned data_len, int len, |
454 | u16 id, u16 offset) | 454 | u16 id, u16 offset) |
455 | { | 455 | { |
456 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; | 456 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; |
diff --git a/drivers/net/wireless/hermes.h b/drivers/net/wireless/hermes.h index a6bd472d75d4..7644f72a9f4e 100644 --- a/drivers/net/wireless/hermes.h +++ b/drivers/net/wireless/hermes.h | |||
@@ -372,12 +372,12 @@ int hermes_docmd_wait(hermes_t *hw, u16 cmd, u16 parm0, | |||
372 | struct hermes_response *resp); | 372 | struct hermes_response *resp); |
373 | int hermes_allocate(hermes_t *hw, u16 size, u16 *fid); | 373 | int hermes_allocate(hermes_t *hw, u16 size, u16 *fid); |
374 | 374 | ||
375 | int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, | 375 | int hermes_bap_pread(hermes_t *hw, int bap, void *buf, int len, |
376 | u16 id, u16 offset); | 376 | u16 id, u16 offset); |
377 | int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len, | 377 | int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, int len, |
378 | u16 id, u16 offset); | 378 | u16 id, u16 offset); |
379 | int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, | 379 | int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, |
380 | unsigned data_len, unsigned len, u16 id, u16 offset); | 380 | unsigned data_len, int len, u16 id, u16 offset); |
381 | int hermes_read_ltv(hermes_t *hw, int bap, u16 rid, unsigned buflen, | 381 | int hermes_read_ltv(hermes_t *hw, int bap, u16 rid, unsigned buflen, |
382 | u16 *length, void *buf); | 382 | u16 *length, void *buf); |
383 | int hermes_write_ltv(hermes_t *hw, int bap, u16 rid, | 383 | int hermes_write_ltv(hermes_t *hw, int bap, u16 rid, |
diff --git a/drivers/net/wireless/i82593.h b/drivers/net/wireless/i82593.h index 33acb8add4d6..afac5c7a323d 100644 --- a/drivers/net/wireless/i82593.h +++ b/drivers/net/wireless/i82593.h | |||
@@ -7,11 +7,16 @@ | |||
7 | * | 7 | * |
8 | * Copyright 1994, Anders Klemets <klemets@it.kth.se> | 8 | * Copyright 1994, Anders Klemets <klemets@it.kth.se> |
9 | * | 9 | * |
10 | * This software may be freely distributed for noncommercial purposes | ||
11 | * as long as this notice is retained. | ||
12 | * | ||
13 | * HISTORY | 10 | * HISTORY |
14 | * i82593.h,v | 11 | * i82593.h,v |
12 | * Revision 1.4 2005/11/4 09:15:00 baroniunas | ||
13 | * Modified copyright with permission of author as follows: | ||
14 | * | ||
15 | * "If I82539.H is the only file with my copyright statement | ||
16 | * that is included in the Source Forge project, then you have | ||
17 | * my approval to change the copyright statement to be a GPL | ||
18 | * license, in the way you proposed on October 10." | ||
19 | * | ||
15 | * Revision 1.1 1996/07/17 15:23:12 root | 20 | * Revision 1.1 1996/07/17 15:23:12 root |
16 | * Initial revision | 21 | * Initial revision |
17 | * | 22 | * |
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c index a2e6214169e9..77d2a21d4cd0 100644 --- a/drivers/net/wireless/ipw2100.c +++ b/drivers/net/wireless/ipw2100.c | |||
@@ -6344,7 +6344,8 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev, | |||
6344 | dev->ethtool_ops = &ipw2100_ethtool_ops; | 6344 | dev->ethtool_ops = &ipw2100_ethtool_ops; |
6345 | dev->tx_timeout = ipw2100_tx_timeout; | 6345 | dev->tx_timeout = ipw2100_tx_timeout; |
6346 | dev->wireless_handlers = &ipw2100_wx_handler_def; | 6346 | dev->wireless_handlers = &ipw2100_wx_handler_def; |
6347 | dev->get_wireless_stats = ipw2100_wx_wireless_stats; | 6347 | priv->wireless_data.ieee80211 = priv->ieee; |
6348 | dev->wireless_data = &priv->wireless_data; | ||
6348 | dev->set_mac_address = ipw2100_set_address; | 6349 | dev->set_mac_address = ipw2100_set_address; |
6349 | dev->watchdog_timeo = 3 * HZ; | 6350 | dev->watchdog_timeo = 3 * HZ; |
6350 | dev->irq = 0; | 6351 | dev->irq = 0; |
@@ -7178,6 +7179,11 @@ static int ipw2100_wx_get_range(struct net_device *dev, | |||
7178 | } | 7179 | } |
7179 | range->num_frequency = val; | 7180 | range->num_frequency = val; |
7180 | 7181 | ||
7182 | /* Event capability (kernel + driver) */ | ||
7183 | range->event_capa[0] = (IW_EVENT_CAPA_K_0 | | ||
7184 | IW_EVENT_CAPA_MASK(SIOCGIWAP)); | ||
7185 | range->event_capa[1] = IW_EVENT_CAPA_K_1; | ||
7186 | |||
7181 | IPW_DEBUG_WX("GET Range\n"); | 7187 | IPW_DEBUG_WX("GET Range\n"); |
7182 | 7188 | ||
7183 | return 0; | 7189 | return 0; |
@@ -8446,16 +8452,6 @@ static iw_handler ipw2100_private_handler[] = { | |||
8446 | #endif /* CONFIG_IPW2100_MONITOR */ | 8452 | #endif /* CONFIG_IPW2100_MONITOR */ |
8447 | }; | 8453 | }; |
8448 | 8454 | ||
8449 | static struct iw_handler_def ipw2100_wx_handler_def = { | ||
8450 | .standard = ipw2100_wx_handlers, | ||
8451 | .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler), | ||
8452 | .num_private = sizeof(ipw2100_private_handler) / sizeof(iw_handler), | ||
8453 | .num_private_args = sizeof(ipw2100_private_args) / | ||
8454 | sizeof(struct iw_priv_args), | ||
8455 | .private = (iw_handler *) ipw2100_private_handler, | ||
8456 | .private_args = (struct iw_priv_args *)ipw2100_private_args, | ||
8457 | }; | ||
8458 | |||
8459 | /* | 8455 | /* |
8460 | * Get wireless statistics. | 8456 | * Get wireless statistics. |
8461 | * Called by /proc/net/wireless | 8457 | * Called by /proc/net/wireless |
@@ -8597,6 +8593,17 @@ static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev) | |||
8597 | return (struct iw_statistics *)NULL; | 8593 | return (struct iw_statistics *)NULL; |
8598 | } | 8594 | } |
8599 | 8595 | ||
8596 | static struct iw_handler_def ipw2100_wx_handler_def = { | ||
8597 | .standard = ipw2100_wx_handlers, | ||
8598 | .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler), | ||
8599 | .num_private = sizeof(ipw2100_private_handler) / sizeof(iw_handler), | ||
8600 | .num_private_args = sizeof(ipw2100_private_args) / | ||
8601 | sizeof(struct iw_priv_args), | ||
8602 | .private = (iw_handler *) ipw2100_private_handler, | ||
8603 | .private_args = (struct iw_priv_args *)ipw2100_private_args, | ||
8604 | .get_wireless_stats = ipw2100_wx_wireless_stats, | ||
8605 | }; | ||
8606 | |||
8600 | static void ipw2100_wx_event_work(struct ipw2100_priv *priv) | 8607 | static void ipw2100_wx_event_work(struct ipw2100_priv *priv) |
8601 | { | 8608 | { |
8602 | union iwreq_data wrqu; | 8609 | union iwreq_data wrqu; |
diff --git a/drivers/net/wireless/ipw2100.h b/drivers/net/wireless/ipw2100.h index 140fdf2a0a09..7c65b10bb164 100644 --- a/drivers/net/wireless/ipw2100.h +++ b/drivers/net/wireless/ipw2100.h | |||
@@ -571,6 +571,8 @@ struct ipw2100_priv { | |||
571 | struct net_device *net_dev; | 571 | struct net_device *net_dev; |
572 | struct iw_statistics wstats; | 572 | struct iw_statistics wstats; |
573 | 573 | ||
574 | struct iw_public_data wireless_data; | ||
575 | |||
574 | struct tasklet_struct irq_tasklet; | 576 | struct tasklet_struct irq_tasklet; |
575 | 577 | ||
576 | struct workqueue_struct *workqueue; | 578 | struct workqueue_struct *workqueue; |
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index b0d195d1721a..5e7c7e944c9d 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -1110,8 +1110,7 @@ static struct ipw_fw_error *ipw_alloc_error_log(struct ipw_priv *priv) | |||
1110 | error->elem_len = elem_len; | 1110 | error->elem_len = elem_len; |
1111 | error->log_len = log_len; | 1111 | error->log_len = log_len; |
1112 | error->elem = (struct ipw_error_elem *)error->payload; | 1112 | error->elem = (struct ipw_error_elem *)error->payload; |
1113 | error->log = (struct ipw_event *)(error->elem + | 1113 | error->log = (struct ipw_event *)(error->elem + elem_len); |
1114 | (sizeof(*error->elem) * elem_len)); | ||
1115 | 1114 | ||
1116 | ipw_capture_event_log(priv, log_len, error->log); | 1115 | ipw_capture_event_log(priv, log_len, error->log); |
1117 | 1116 | ||
@@ -8926,6 +8925,10 @@ static int ipw_request_direct_scan(struct ipw_priv *priv, char *essid, | |||
8926 | struct ipw_scan_request_ext scan; | 8925 | struct ipw_scan_request_ext scan; |
8927 | int err = 0, scan_type; | 8926 | int err = 0, scan_type; |
8928 | 8927 | ||
8928 | if (!(priv->status & STATUS_INIT) || | ||
8929 | (priv->status & STATUS_EXIT_PENDING)) | ||
8930 | return 0; | ||
8931 | |||
8929 | down(&priv->sem); | 8932 | down(&priv->sem); |
8930 | 8933 | ||
8931 | if (priv->status & STATUS_RF_KILL_MASK) { | 8934 | if (priv->status & STATUS_RF_KILL_MASK) { |
diff --git a/drivers/net/wireless/prism54/isl_38xx.c b/drivers/net/wireless/prism54/isl_38xx.c index 109a96d90007..23deee69974b 100644 --- a/drivers/net/wireless/prism54/isl_38xx.c +++ b/drivers/net/wireless/prism54/isl_38xx.c | |||
@@ -164,12 +164,12 @@ isl38xx_trigger_device(int asleep, void __iomem *device_base) | |||
164 | /* assert the Wakeup interrupt in the Device Interrupt Register */ | 164 | /* assert the Wakeup interrupt in the Device Interrupt Register */ |
165 | isl38xx_w32_flush(device_base, ISL38XX_DEV_INT_WAKEUP, | 165 | isl38xx_w32_flush(device_base, ISL38XX_DEV_INT_WAKEUP, |
166 | ISL38XX_DEV_INT_REG); | 166 | ISL38XX_DEV_INT_REG); |
167 | |||
168 | #if VERBOSE > SHOW_ERROR_MESSAGES | ||
167 | udelay(ISL38XX_WRITEIO_DELAY); | 169 | udelay(ISL38XX_WRITEIO_DELAY); |
168 | 170 | ||
169 | /* perform another read on the Device Status Register */ | 171 | /* perform another read on the Device Status Register */ |
170 | reg = readl(device_base + ISL38XX_CTRL_STAT_REG); | 172 | reg = readl(device_base + ISL38XX_CTRL_STAT_REG); |
171 | |||
172 | #if VERBOSE > SHOW_ERROR_MESSAGES | ||
173 | do_gettimeofday(¤t_time); | 173 | do_gettimeofday(¤t_time); |
174 | DEBUG(SHOW_TRACING, "%08li.%08li Device register read %08x\n", | 174 | DEBUG(SHOW_TRACING, "%08li.%08li Device register read %08x\n", |
175 | current_time.tv_sec, (long)current_time.tv_usec, reg); | 175 | current_time.tv_sec, (long)current_time.tv_usec, reg); |
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c index a39fbfef789a..19657efa8dc3 100644 --- a/drivers/parisc/iosapic.c +++ b/drivers/parisc/iosapic.c | |||
@@ -700,6 +700,28 @@ static unsigned int iosapic_startup_irq(unsigned int irq) | |||
700 | return 0; | 700 | return 0; |
701 | } | 701 | } |
702 | 702 | ||
703 | #ifdef CONFIG_SMP | ||
704 | static void iosapic_set_affinity_irq(unsigned int irq, cpumask_t dest) | ||
705 | { | ||
706 | struct vector_info *vi = iosapic_get_vector(irq); | ||
707 | u32 d0, d1, dummy_d0; | ||
708 | unsigned long flags; | ||
709 | |||
710 | if (cpu_check_affinity(irq, &dest)) | ||
711 | return; | ||
712 | |||
713 | vi->txn_addr = txn_affinity_addr(irq, first_cpu(dest)); | ||
714 | |||
715 | spin_lock_irqsave(&iosapic_lock, flags); | ||
716 | /* d1 contains the destination CPU, so only want to set that | ||
717 | * entry */ | ||
718 | iosapic_rd_irt_entry(vi, &d0, &d1); | ||
719 | iosapic_set_irt_data(vi, &dummy_d0, &d1); | ||
720 | iosapic_wr_irt_entry(vi, d0, d1); | ||
721 | spin_unlock_irqrestore(&iosapic_lock, flags); | ||
722 | } | ||
723 | #endif | ||
724 | |||
703 | static struct hw_interrupt_type iosapic_interrupt_type = { | 725 | static struct hw_interrupt_type iosapic_interrupt_type = { |
704 | .typename = "IO-SAPIC-level", | 726 | .typename = "IO-SAPIC-level", |
705 | .startup = iosapic_startup_irq, | 727 | .startup = iosapic_startup_irq, |
@@ -708,7 +730,9 @@ static struct hw_interrupt_type iosapic_interrupt_type = { | |||
708 | .disable = iosapic_disable_irq, | 730 | .disable = iosapic_disable_irq, |
709 | .ack = no_ack_irq, | 731 | .ack = no_ack_irq, |
710 | .end = iosapic_end_irq, | 732 | .end = iosapic_end_irq, |
711 | // .set_affinity = iosapic_set_affinity_irq, | 733 | #ifdef CONFIG_SMP |
734 | .set_affinity = iosapic_set_affinity_irq, | ||
735 | #endif | ||
712 | }; | 736 | }; |
713 | 737 | ||
714 | int iosapic_fixup_irq(void *isi_obj, struct pci_dev *pcidev) | 738 | int iosapic_fixup_irq(void *isi_obj, struct pci_dev *pcidev) |
diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c index bab3bcabcb6e..d14888e149bb 100644 --- a/drivers/parisc/superio.c +++ b/drivers/parisc/superio.c | |||
@@ -24,6 +24,9 @@ | |||
24 | * Major changes to get basic interrupt infrastructure working to | 24 | * Major changes to get basic interrupt infrastructure working to |
25 | * hopefully be able to support all SuperIO devices. Currently | 25 | * hopefully be able to support all SuperIO devices. Currently |
26 | * works with serial. -- John Marvin <jsm@fc.hp.com> | 26 | * works with serial. -- John Marvin <jsm@fc.hp.com> |
27 | * | ||
28 | * Converted superio_init() to be a PCI_FIXUP_FINAL callee. | ||
29 | * -- Kyle McMartin <kyle@parisc-linux.org> | ||
27 | */ | 30 | */ |
28 | 31 | ||
29 | 32 | ||
@@ -141,10 +144,10 @@ superio_interrupt(int parent_irq, void *devp, struct pt_regs *regs) | |||
141 | } | 144 | } |
142 | 145 | ||
143 | /* Initialize Super I/O device */ | 146 | /* Initialize Super I/O device */ |
144 | 147 | static void | |
145 | static void __devinit | 148 | superio_init(struct pci_dev *pcidev) |
146 | superio_init(struct superio_device *sio) | ||
147 | { | 149 | { |
150 | struct superio_device *sio = &sio_dev; | ||
148 | struct pci_dev *pdev = sio->lio_pdev; | 151 | struct pci_dev *pdev = sio->lio_pdev; |
149 | u16 word; | 152 | u16 word; |
150 | 153 | ||
@@ -160,8 +163,8 @@ superio_init(struct superio_device *sio) | |||
160 | /* ...then properly fixup the USB to point at suckyio PIC */ | 163 | /* ...then properly fixup the USB to point at suckyio PIC */ |
161 | sio->usb_pdev->irq = superio_fixup_irq(sio->usb_pdev); | 164 | sio->usb_pdev->irq = superio_fixup_irq(sio->usb_pdev); |
162 | 165 | ||
163 | printk (KERN_INFO "SuperIO: Found NS87560 Legacy I/O device at %s (IRQ %i) \n", | 166 | printk(KERN_INFO "SuperIO: Found NS87560 Legacy I/O device at %s (IRQ %i) \n", |
164 | pci_name(pdev),pdev->irq); | 167 | pci_name(pdev), pdev->irq); |
165 | 168 | ||
166 | pci_read_config_dword (pdev, SIO_SP1BAR, &sio->sp1_base); | 169 | pci_read_config_dword (pdev, SIO_SP1BAR, &sio->sp1_base); |
167 | sio->sp1_base &= ~1; | 170 | sio->sp1_base &= ~1; |
@@ -274,7 +277,7 @@ superio_init(struct superio_device *sio) | |||
274 | 277 | ||
275 | sio->suckyio_irq_enabled = 1; | 278 | sio->suckyio_irq_enabled = 1; |
276 | } | 279 | } |
277 | 280 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO, superio_init); | |
278 | 281 | ||
279 | static void superio_disable_irq(unsigned int irq) | 282 | static void superio_disable_irq(unsigned int irq) |
280 | { | 283 | { |
@@ -452,8 +455,10 @@ static void superio_fixup_pci(struct pci_dev *pdev) | |||
452 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87415, superio_fixup_pci); | 455 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87415, superio_fixup_pci); |
453 | 456 | ||
454 | 457 | ||
455 | static int __devinit superio_probe(struct pci_dev *dev, const struct pci_device_id *id) | 458 | static int __devinit |
459 | superio_probe(struct pci_dev *dev, const struct pci_device_id *id) | ||
456 | { | 460 | { |
461 | struct superio_device *sio = &sio_dev; | ||
457 | 462 | ||
458 | /* | 463 | /* |
459 | ** superio_probe(00:0e.0) ven 0x100b dev 0x2 sv 0x0 sd 0x0 class 0x1018a | 464 | ** superio_probe(00:0e.0) ven 0x100b dev 0x2 sv 0x0 sd 0x0 class 0x1018a |
@@ -466,7 +471,8 @@ static int __devinit superio_probe(struct pci_dev *dev, const struct pci_device_ | |||
466 | dev->subsystem_vendor, dev->subsystem_device, | 471 | dev->subsystem_vendor, dev->subsystem_device, |
467 | dev->class); | 472 | dev->class); |
468 | 473 | ||
469 | superio_init(&sio_dev); | 474 | if (!sio->suckyio_irq_enabled) |
475 | BUG(); /* Enabled by PCI_FIXUP_FINAL */ | ||
470 | 476 | ||
471 | if (dev->device == PCI_DEVICE_ID_NS_87560_LIO) { /* Function 1 */ | 477 | if (dev->device == PCI_DEVICE_ID_NS_87560_LIO) { /* Function 1 */ |
472 | superio_parport_init(); | 478 | superio_parport_init(); |
@@ -481,19 +487,21 @@ static int __devinit superio_probe(struct pci_dev *dev, const struct pci_device_ | |||
481 | DBG_INIT("superio_probe: WTF? Fire Extinguisher?\n"); | 487 | DBG_INIT("superio_probe: WTF? Fire Extinguisher?\n"); |
482 | } | 488 | } |
483 | 489 | ||
484 | /* Let appropriate other driver claim this device. */ | 490 | /* Let appropriate other driver claim this device. */ |
485 | return -ENODEV; | 491 | return -ENODEV; |
486 | } | 492 | } |
487 | 493 | ||
488 | static struct pci_device_id superio_tbl[] = { | 494 | static struct pci_device_id superio_tbl[] = { |
489 | { PCI_VENDOR_ID_NS, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, | 495 | { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO) }, |
496 | { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_USB) }, | ||
497 | { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87415) }, | ||
490 | { 0, } | 498 | { 0, } |
491 | }; | 499 | }; |
492 | 500 | ||
493 | static struct pci_driver superio_driver = { | 501 | static struct pci_driver superio_driver = { |
494 | .name = "SuperIO", | 502 | .name = "SuperIO", |
495 | .id_table = superio_tbl, | 503 | .id_table = superio_tbl, |
496 | .probe = superio_probe, | 504 | .probe = superio_probe, |
497 | }; | 505 | }; |
498 | 506 | ||
499 | static int __init superio_modinit(void) | 507 | static int __init superio_modinit(void) |
@@ -506,6 +514,5 @@ static void __exit superio_exit(void) | |||
506 | pci_unregister_driver(&superio_driver); | 514 | pci_unregister_driver(&superio_driver); |
507 | } | 515 | } |
508 | 516 | ||
509 | |||
510 | module_init(superio_modinit); | 517 | module_init(superio_modinit); |
511 | module_exit(superio_exit); | 518 | module_exit(superio_exit); |
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c index f5b7d360fc10..1026f2bc3185 100644 --- a/drivers/s390/char/raw3270.c +++ b/drivers/s390/char/raw3270.c | |||
@@ -1179,12 +1179,12 @@ raw3270_create_attributes(struct raw3270 *rp) | |||
1179 | //FIXME: check return code | 1179 | //FIXME: check return code |
1180 | sysfs_create_group(&rp->cdev->dev.kobj, &raw3270_attr_group); | 1180 | sysfs_create_group(&rp->cdev->dev.kobj, &raw3270_attr_group); |
1181 | rp->clttydev = | 1181 | rp->clttydev = |
1182 | class_device_create(class3270, | 1182 | class_device_create(class3270, NULL, |
1183 | MKDEV(IBM_TTY3270_MAJOR, rp->minor), | 1183 | MKDEV(IBM_TTY3270_MAJOR, rp->minor), |
1184 | &rp->cdev->dev, "tty%s", | 1184 | &rp->cdev->dev, "tty%s", |
1185 | rp->cdev->dev.bus_id); | 1185 | rp->cdev->dev.bus_id); |
1186 | rp->cltubdev = | 1186 | rp->cltubdev = |
1187 | class_device_create(class3270, | 1187 | class_device_create(class3270, NULL, |
1188 | MKDEV(IBM_FS3270_MAJOR, rp->minor), | 1188 | MKDEV(IBM_FS3270_MAJOR, rp->minor), |
1189 | &rp->cdev->dev, "tub%s", | 1189 | &rp->cdev->dev, "tub%s", |
1190 | rp->cdev->dev.bus_id); | 1190 | rp->cdev->dev.bus_id); |
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index 84c42c44e04d..20dd85a77813 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig | |||
@@ -497,7 +497,7 @@ config SCSI_ATA_PIIX | |||
497 | If unsure, say N. | 497 | If unsure, say N. |
498 | 498 | ||
499 | config SCSI_SATA_MV | 499 | config SCSI_SATA_MV |
500 | tristate "Marvell SATA support" | 500 | tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)" |
501 | depends on SCSI_SATA && PCI && EXPERIMENTAL | 501 | depends on SCSI_SATA && PCI && EXPERIMENTAL |
502 | help | 502 | help |
503 | This option enables support for the Marvell Serial ATA family. | 503 | This option enables support for the Marvell Serial ATA family. |
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c index 894e7113e0b3..83467a05dc8e 100644 --- a/drivers/scsi/ahci.c +++ b/drivers/scsi/ahci.c | |||
@@ -48,7 +48,7 @@ | |||
48 | #include <asm/io.h> | 48 | #include <asm/io.h> |
49 | 49 | ||
50 | #define DRV_NAME "ahci" | 50 | #define DRV_NAME "ahci" |
51 | #define DRV_VERSION "1.01" | 51 | #define DRV_VERSION "1.2" |
52 | 52 | ||
53 | 53 | ||
54 | enum { | 54 | enum { |
@@ -558,23 +558,25 @@ static void ahci_qc_prep(struct ata_queued_cmd *qc) | |||
558 | pp->cmd_slot[0].opts |= cpu_to_le32(n_elem << 16); | 558 | pp->cmd_slot[0].opts |= cpu_to_le32(n_elem << 16); |
559 | } | 559 | } |
560 | 560 | ||
561 | static void ahci_intr_error(struct ata_port *ap, u32 irq_stat) | 561 | static void ahci_restart_port(struct ata_port *ap, u32 irq_stat) |
562 | { | 562 | { |
563 | void __iomem *mmio = ap->host_set->mmio_base; | 563 | void __iomem *mmio = ap->host_set->mmio_base; |
564 | void __iomem *port_mmio = ahci_port_base(mmio, ap->port_no); | 564 | void __iomem *port_mmio = ahci_port_base(mmio, ap->port_no); |
565 | u32 tmp; | 565 | u32 tmp; |
566 | int work; | 566 | int work; |
567 | 567 | ||
568 | printk(KERN_WARNING "ata%u: port reset, " | 568 | if ((ap->device[0].class != ATA_DEV_ATAPI) || |
569 | "p_is %x is %x pis %x cmd %x tf %x ss %x se %x\n", | 569 | ((irq_stat & PORT_IRQ_TF_ERR) == 0)) |
570 | ap->id, | 570 | printk(KERN_WARNING "ata%u: port reset, " |
571 | irq_stat, | 571 | "p_is %x is %x pis %x cmd %x tf %x ss %x se %x\n", |
572 | readl(mmio + HOST_IRQ_STAT), | 572 | ap->id, |
573 | readl(port_mmio + PORT_IRQ_STAT), | 573 | irq_stat, |
574 | readl(port_mmio + PORT_CMD), | 574 | readl(mmio + HOST_IRQ_STAT), |
575 | readl(port_mmio + PORT_TFDATA), | 575 | readl(port_mmio + PORT_IRQ_STAT), |
576 | readl(port_mmio + PORT_SCR_STAT), | 576 | readl(port_mmio + PORT_CMD), |
577 | readl(port_mmio + PORT_SCR_ERR)); | 577 | readl(port_mmio + PORT_TFDATA), |
578 | readl(port_mmio + PORT_SCR_STAT), | ||
579 | readl(port_mmio + PORT_SCR_ERR)); | ||
578 | 580 | ||
579 | /* stop DMA */ | 581 | /* stop DMA */ |
580 | tmp = readl(port_mmio + PORT_CMD); | 582 | tmp = readl(port_mmio + PORT_CMD); |
@@ -632,7 +634,7 @@ static void ahci_eng_timeout(struct ata_port *ap) | |||
632 | printk(KERN_ERR "ata%u: BUG: timeout without command\n", | 634 | printk(KERN_ERR "ata%u: BUG: timeout without command\n", |
633 | ap->id); | 635 | ap->id); |
634 | } else { | 636 | } else { |
635 | ahci_intr_error(ap, readl(port_mmio + PORT_IRQ_STAT)); | 637 | ahci_restart_port(ap, readl(port_mmio + PORT_IRQ_STAT)); |
636 | 638 | ||
637 | /* hack alert! We cannot use the supplied completion | 639 | /* hack alert! We cannot use the supplied completion |
638 | * function from inside the ->eh_strategy_handler() thread. | 640 | * function from inside the ->eh_strategy_handler() thread. |
@@ -677,7 +679,7 @@ static inline int ahci_host_intr(struct ata_port *ap, struct ata_queued_cmd *qc) | |||
677 | err_mask = AC_ERR_HOST_BUS; | 679 | err_mask = AC_ERR_HOST_BUS; |
678 | 680 | ||
679 | /* command processing has stopped due to error; restart */ | 681 | /* command processing has stopped due to error; restart */ |
680 | ahci_intr_error(ap, status); | 682 | ahci_restart_port(ap, status); |
681 | 683 | ||
682 | if (qc) | 684 | if (qc) |
683 | ata_qc_complete(qc, err_mask); | 685 | ata_qc_complete(qc, err_mask); |
diff --git a/drivers/scsi/ata_piix.c b/drivers/scsi/ata_piix.c index 855428ff37e9..333d69dd84ef 100644 --- a/drivers/scsi/ata_piix.c +++ b/drivers/scsi/ata_piix.c | |||
@@ -50,7 +50,7 @@ | |||
50 | #include <linux/libata.h> | 50 | #include <linux/libata.h> |
51 | 51 | ||
52 | #define DRV_NAME "ata_piix" | 52 | #define DRV_NAME "ata_piix" |
53 | #define DRV_VERSION "1.04" | 53 | #define DRV_VERSION "1.05" |
54 | 54 | ||
55 | enum { | 55 | enum { |
56 | PIIX_IOCFG = 0x54, /* IDE I/O configuration register */ | 56 | PIIX_IOCFG = 0x54, /* IDE I/O configuration register */ |
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index e1960d69fb90..4cb1f3ed9100 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c | |||
@@ -784,8 +784,8 @@ static ide_proc_entry_t idescsi_proc[] = { | |||
784 | #endif | 784 | #endif |
785 | 785 | ||
786 | static ide_driver_t idescsi_driver = { | 786 | static ide_driver_t idescsi_driver = { |
787 | .owner = THIS_MODULE, | ||
788 | .gen_driver = { | 787 | .gen_driver = { |
788 | .owner = THIS_MODULE, | ||
789 | .name = "ide-scsi", | 789 | .name = "ide-scsi", |
790 | .bus = &ide_bus_type, | 790 | .bus = &ide_bus_type, |
791 | .probe = ide_scsi_probe, | 791 | .probe = ide_scsi_probe, |
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index ba1eb8b38e00..665ae79e1fd6 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
@@ -1046,6 +1046,30 @@ static unsigned int ata_pio_modes(const struct ata_device *adev) | |||
1046 | return modes; | 1046 | return modes; |
1047 | } | 1047 | } |
1048 | 1048 | ||
1049 | static int ata_qc_wait_err(struct ata_queued_cmd *qc, | ||
1050 | struct completion *wait) | ||
1051 | { | ||
1052 | int rc = 0; | ||
1053 | |||
1054 | if (wait_for_completion_timeout(wait, 30 * HZ) < 1) { | ||
1055 | /* timeout handling */ | ||
1056 | unsigned int err_mask = ac_err_mask(ata_chk_status(qc->ap)); | ||
1057 | |||
1058 | if (!err_mask) { | ||
1059 | printk(KERN_WARNING "ata%u: slow completion (cmd %x)\n", | ||
1060 | qc->ap->id, qc->tf.command); | ||
1061 | } else { | ||
1062 | printk(KERN_WARNING "ata%u: qc timeout (cmd %x)\n", | ||
1063 | qc->ap->id, qc->tf.command); | ||
1064 | rc = -EIO; | ||
1065 | } | ||
1066 | |||
1067 | ata_qc_complete(qc, err_mask); | ||
1068 | } | ||
1069 | |||
1070 | return rc; | ||
1071 | } | ||
1072 | |||
1049 | /** | 1073 | /** |
1050 | * ata_dev_identify - obtain IDENTIFY x DEVICE page | 1074 | * ata_dev_identify - obtain IDENTIFY x DEVICE page |
1051 | * @ap: port on which device we wish to probe resides | 1075 | * @ap: port on which device we wish to probe resides |
@@ -1125,7 +1149,7 @@ retry: | |||
1125 | if (rc) | 1149 | if (rc) |
1126 | goto err_out; | 1150 | goto err_out; |
1127 | else | 1151 | else |
1128 | wait_for_completion(&wait); | 1152 | ata_qc_wait_err(qc, &wait); |
1129 | 1153 | ||
1130 | spin_lock_irqsave(&ap->host_set->lock, flags); | 1154 | spin_lock_irqsave(&ap->host_set->lock, flags); |
1131 | ap->ops->tf_read(ap, &qc->tf); | 1155 | ap->ops->tf_read(ap, &qc->tf); |
@@ -1570,11 +1594,13 @@ int ata_timing_compute(struct ata_device *adev, unsigned short speed, | |||
1570 | 1594 | ||
1571 | /* | 1595 | /* |
1572 | * Find the mode. | 1596 | * Find the mode. |
1573 | */ | 1597 | */ |
1574 | 1598 | ||
1575 | if (!(s = ata_timing_find_mode(speed))) | 1599 | if (!(s = ata_timing_find_mode(speed))) |
1576 | return -EINVAL; | 1600 | return -EINVAL; |
1577 | 1601 | ||
1602 | memcpy(t, s, sizeof(*s)); | ||
1603 | |||
1578 | /* | 1604 | /* |
1579 | * If the drive is an EIDE drive, it can tell us it needs extended | 1605 | * If the drive is an EIDE drive, it can tell us it needs extended |
1580 | * PIO/MW_DMA cycle timing. | 1606 | * PIO/MW_DMA cycle timing. |
@@ -1595,7 +1621,7 @@ int ata_timing_compute(struct ata_device *adev, unsigned short speed, | |||
1595 | * Convert the timing to bus clock counts. | 1621 | * Convert the timing to bus clock counts. |
1596 | */ | 1622 | */ |
1597 | 1623 | ||
1598 | ata_timing_quantize(s, t, T, UT); | 1624 | ata_timing_quantize(t, t, T, UT); |
1599 | 1625 | ||
1600 | /* | 1626 | /* |
1601 | * Even in DMA/UDMA modes we still use PIO access for IDENTIFY, S.M.A.R.T | 1627 | * Even in DMA/UDMA modes we still use PIO access for IDENTIFY, S.M.A.R.T |
@@ -2267,7 +2293,7 @@ static void ata_dev_set_xfermode(struct ata_port *ap, struct ata_device *dev) | |||
2267 | if (rc) | 2293 | if (rc) |
2268 | ata_port_disable(ap); | 2294 | ata_port_disable(ap); |
2269 | else | 2295 | else |
2270 | wait_for_completion(&wait); | 2296 | ata_qc_wait_err(qc, &wait); |
2271 | 2297 | ||
2272 | DPRINTK("EXIT\n"); | 2298 | DPRINTK("EXIT\n"); |
2273 | } | 2299 | } |
@@ -2315,7 +2341,7 @@ static void ata_dev_reread_id(struct ata_port *ap, struct ata_device *dev) | |||
2315 | if (rc) | 2341 | if (rc) |
2316 | goto err_out; | 2342 | goto err_out; |
2317 | 2343 | ||
2318 | wait_for_completion(&wait); | 2344 | ata_qc_wait_err(qc, &wait); |
2319 | 2345 | ||
2320 | swap_buf_le16(dev->id, ATA_ID_WORDS); | 2346 | swap_buf_le16(dev->id, ATA_ID_WORDS); |
2321 | 2347 | ||
@@ -2371,7 +2397,7 @@ static void ata_dev_init_params(struct ata_port *ap, struct ata_device *dev) | |||
2371 | if (rc) | 2397 | if (rc) |
2372 | ata_port_disable(ap); | 2398 | ata_port_disable(ap); |
2373 | else | 2399 | else |
2374 | wait_for_completion(&wait); | 2400 | ata_qc_wait_err(qc, &wait); |
2375 | 2401 | ||
2376 | DPRINTK("EXIT\n"); | 2402 | DPRINTK("EXIT\n"); |
2377 | } | 2403 | } |
diff --git a/drivers/scsi/libata.h b/drivers/scsi/libata.h index 74a84e0ec0a4..8ebaa694d18e 100644 --- a/drivers/scsi/libata.h +++ b/drivers/scsi/libata.h | |||
@@ -29,7 +29,7 @@ | |||
29 | #define __LIBATA_H__ | 29 | #define __LIBATA_H__ |
30 | 30 | ||
31 | #define DRV_NAME "libata" | 31 | #define DRV_NAME "libata" |
32 | #define DRV_VERSION "1.12" /* must be exactly four chars */ | 32 | #define DRV_VERSION "1.20" /* must be exactly four chars */ |
33 | 33 | ||
34 | struct ata_scsi_args { | 34 | struct ata_scsi_args { |
35 | u16 *id; | 35 | u16 *id; |
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c index 257c128f4aaa..ab7432a5778e 100644 --- a/drivers/scsi/sata_mv.c +++ b/drivers/scsi/sata_mv.c | |||
@@ -1,7 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * sata_mv.c - Marvell SATA support | 2 | * sata_mv.c - Marvell SATA support |
3 | * | 3 | * |
4 | * Copyright 2005: EMC Corporation, all rights reserved. | 4 | * Copyright 2005: EMC Corporation, all rights reserved. |
5 | * Copyright 2005 Red Hat, Inc. All rights reserved. | ||
5 | * | 6 | * |
6 | * Please ALWAYS copy linux-ide@vger.kernel.org on emails. | 7 | * Please ALWAYS copy linux-ide@vger.kernel.org on emails. |
7 | * | 8 | * |
@@ -36,7 +37,7 @@ | |||
36 | #include <asm/io.h> | 37 | #include <asm/io.h> |
37 | 38 | ||
38 | #define DRV_NAME "sata_mv" | 39 | #define DRV_NAME "sata_mv" |
39 | #define DRV_VERSION "0.25" | 40 | #define DRV_VERSION "0.5" |
40 | 41 | ||
41 | enum { | 42 | enum { |
42 | /* BAR's are enumerated in terms of pci_resource_start() terms */ | 43 | /* BAR's are enumerated in terms of pci_resource_start() terms */ |
@@ -50,6 +51,9 @@ enum { | |||
50 | MV_PCI_REG_BASE = 0, | 51 | MV_PCI_REG_BASE = 0, |
51 | MV_IRQ_COAL_REG_BASE = 0x18000, /* 6xxx part only */ | 52 | MV_IRQ_COAL_REG_BASE = 0x18000, /* 6xxx part only */ |
52 | MV_SATAHC0_REG_BASE = 0x20000, | 53 | MV_SATAHC0_REG_BASE = 0x20000, |
54 | MV_FLASH_CTL = 0x1046c, | ||
55 | MV_GPIO_PORT_CTL = 0x104f0, | ||
56 | MV_RESET_CFG = 0x180d8, | ||
53 | 57 | ||
54 | MV_PCI_REG_SZ = MV_MAJOR_REG_AREA_SZ, | 58 | MV_PCI_REG_SZ = MV_MAJOR_REG_AREA_SZ, |
55 | MV_SATAHC_REG_SZ = MV_MAJOR_REG_AREA_SZ, | 59 | MV_SATAHC_REG_SZ = MV_MAJOR_REG_AREA_SZ, |
@@ -72,11 +76,6 @@ enum { | |||
72 | MV_SG_TBL_SZ = (16 * MV_MAX_SG_CT), | 76 | MV_SG_TBL_SZ = (16 * MV_MAX_SG_CT), |
73 | MV_PORT_PRIV_DMA_SZ = (MV_CRQB_Q_SZ + MV_CRPB_Q_SZ + MV_SG_TBL_SZ), | 77 | MV_PORT_PRIV_DMA_SZ = (MV_CRQB_Q_SZ + MV_CRPB_Q_SZ + MV_SG_TBL_SZ), |
74 | 78 | ||
75 | /* Our DMA boundary is determined by an ePRD being unable to handle | ||
76 | * anything larger than 64KB | ||
77 | */ | ||
78 | MV_DMA_BOUNDARY = 0xffffU, | ||
79 | |||
80 | MV_PORTS_PER_HC = 4, | 79 | MV_PORTS_PER_HC = 4, |
81 | /* == (port / MV_PORTS_PER_HC) to determine HC from 0-7 port */ | 80 | /* == (port / MV_PORTS_PER_HC) to determine HC from 0-7 port */ |
82 | MV_PORT_HC_SHIFT = 2, | 81 | MV_PORT_HC_SHIFT = 2, |
@@ -86,16 +85,9 @@ enum { | |||
86 | /* Host Flags */ | 85 | /* Host Flags */ |
87 | MV_FLAG_DUAL_HC = (1 << 30), /* two SATA Host Controllers */ | 86 | MV_FLAG_DUAL_HC = (1 << 30), /* two SATA Host Controllers */ |
88 | MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */ | 87 | MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */ |
89 | MV_FLAG_GLBL_SFT_RST = (1 << 28), /* Global Soft Reset support */ | ||
90 | MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 88 | MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
91 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO), | 89 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO), |
92 | MV_6XXX_FLAGS = (MV_FLAG_IRQ_COALESCE | | 90 | MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, |
93 | MV_FLAG_GLBL_SFT_RST), | ||
94 | |||
95 | chip_504x = 0, | ||
96 | chip_508x = 1, | ||
97 | chip_604x = 2, | ||
98 | chip_608x = 3, | ||
99 | 91 | ||
100 | CRQB_FLAG_READ = (1 << 0), | 92 | CRQB_FLAG_READ = (1 << 0), |
101 | CRQB_TAG_SHIFT = 1, | 93 | CRQB_TAG_SHIFT = 1, |
@@ -116,8 +108,19 @@ enum { | |||
116 | PCI_MASTER_EMPTY = (1 << 3), | 108 | PCI_MASTER_EMPTY = (1 << 3), |
117 | GLOB_SFT_RST = (1 << 4), | 109 | GLOB_SFT_RST = (1 << 4), |
118 | 110 | ||
119 | PCI_IRQ_CAUSE_OFS = 0x1d58, | 111 | MV_PCI_MODE = 0xd00, |
120 | PCI_IRQ_MASK_OFS = 0x1d5c, | 112 | MV_PCI_EXP_ROM_BAR_CTL = 0xd2c, |
113 | MV_PCI_DISC_TIMER = 0xd04, | ||
114 | MV_PCI_MSI_TRIGGER = 0xc38, | ||
115 | MV_PCI_SERR_MASK = 0xc28, | ||
116 | MV_PCI_XBAR_TMOUT = 0x1d04, | ||
117 | MV_PCI_ERR_LOW_ADDRESS = 0x1d40, | ||
118 | MV_PCI_ERR_HIGH_ADDRESS = 0x1d44, | ||
119 | MV_PCI_ERR_ATTRIBUTE = 0x1d48, | ||
120 | MV_PCI_ERR_COMMAND = 0x1d50, | ||
121 | |||
122 | PCI_IRQ_CAUSE_OFS = 0x1d58, | ||
123 | PCI_IRQ_MASK_OFS = 0x1d5c, | ||
121 | PCI_UNMASK_ALL_IRQS = 0x7fffff, /* bits 22-0 */ | 124 | PCI_UNMASK_ALL_IRQS = 0x7fffff, /* bits 22-0 */ |
122 | 125 | ||
123 | HC_MAIN_IRQ_CAUSE_OFS = 0x1d60, | 126 | HC_MAIN_IRQ_CAUSE_OFS = 0x1d60, |
@@ -134,7 +137,7 @@ enum { | |||
134 | SELF_INT = (1 << 23), | 137 | SELF_INT = (1 << 23), |
135 | TWSI_INT = (1 << 24), | 138 | TWSI_INT = (1 << 24), |
136 | HC_MAIN_RSVD = (0x7f << 25), /* bits 31-25 */ | 139 | HC_MAIN_RSVD = (0x7f << 25), /* bits 31-25 */ |
137 | HC_MAIN_MASKED_IRQS = (TRAN_LO_DONE | TRAN_HI_DONE | | 140 | HC_MAIN_MASKED_IRQS = (TRAN_LO_DONE | TRAN_HI_DONE | |
138 | PORTS_0_7_COAL_DONE | GPIO_INT | TWSI_INT | | 141 | PORTS_0_7_COAL_DONE | GPIO_INT | TWSI_INT | |
139 | HC_MAIN_RSVD), | 142 | HC_MAIN_RSVD), |
140 | 143 | ||
@@ -153,6 +156,15 @@ enum { | |||
153 | /* SATA registers */ | 156 | /* SATA registers */ |
154 | SATA_STATUS_OFS = 0x300, /* ctrl, err regs follow status */ | 157 | SATA_STATUS_OFS = 0x300, /* ctrl, err regs follow status */ |
155 | SATA_ACTIVE_OFS = 0x350, | 158 | SATA_ACTIVE_OFS = 0x350, |
159 | PHY_MODE3 = 0x310, | ||
160 | PHY_MODE4 = 0x314, | ||
161 | PHY_MODE2 = 0x330, | ||
162 | MV5_PHY_MODE = 0x74, | ||
163 | MV5_LT_MODE = 0x30, | ||
164 | MV5_PHY_CTL = 0x0C, | ||
165 | SATA_INTERFACE_CTL = 0x050, | ||
166 | |||
167 | MV_M2_PREAMP_MASK = 0x7e0, | ||
156 | 168 | ||
157 | /* Port registers */ | 169 | /* Port registers */ |
158 | EDMA_CFG_OFS = 0, | 170 | EDMA_CFG_OFS = 0, |
@@ -182,17 +194,16 @@ enum { | |||
182 | EDMA_ERR_LNK_CTRL_TX = (0x1f << 21), | 194 | EDMA_ERR_LNK_CTRL_TX = (0x1f << 21), |
183 | EDMA_ERR_LNK_DATA_TX = (0x1f << 26), | 195 | EDMA_ERR_LNK_DATA_TX = (0x1f << 26), |
184 | EDMA_ERR_TRANS_PROTO = (1 << 31), | 196 | EDMA_ERR_TRANS_PROTO = (1 << 31), |
185 | EDMA_ERR_FATAL = (EDMA_ERR_D_PAR | EDMA_ERR_PRD_PAR | | 197 | EDMA_ERR_FATAL = (EDMA_ERR_D_PAR | EDMA_ERR_PRD_PAR | |
186 | EDMA_ERR_DEV_DCON | EDMA_ERR_CRBQ_PAR | | 198 | EDMA_ERR_DEV_DCON | EDMA_ERR_CRBQ_PAR | |
187 | EDMA_ERR_CRPB_PAR | EDMA_ERR_INTRL_PAR | | 199 | EDMA_ERR_CRPB_PAR | EDMA_ERR_INTRL_PAR | |
188 | EDMA_ERR_IORDY | EDMA_ERR_LNK_CTRL_RX_2 | | 200 | EDMA_ERR_IORDY | EDMA_ERR_LNK_CTRL_RX_2 | |
189 | EDMA_ERR_LNK_DATA_RX | | 201 | EDMA_ERR_LNK_DATA_RX | |
190 | EDMA_ERR_LNK_DATA_TX | | 202 | EDMA_ERR_LNK_DATA_TX | |
191 | EDMA_ERR_TRANS_PROTO), | 203 | EDMA_ERR_TRANS_PROTO), |
192 | 204 | ||
193 | EDMA_REQ_Q_BASE_HI_OFS = 0x10, | 205 | EDMA_REQ_Q_BASE_HI_OFS = 0x10, |
194 | EDMA_REQ_Q_IN_PTR_OFS = 0x14, /* also contains BASE_LO */ | 206 | EDMA_REQ_Q_IN_PTR_OFS = 0x14, /* also contains BASE_LO */ |
195 | EDMA_REQ_Q_BASE_LO_MASK = 0xfffffc00U, | ||
196 | 207 | ||
197 | EDMA_REQ_Q_OUT_PTR_OFS = 0x18, | 208 | EDMA_REQ_Q_OUT_PTR_OFS = 0x18, |
198 | EDMA_REQ_Q_PTR_SHIFT = 5, | 209 | EDMA_REQ_Q_PTR_SHIFT = 5, |
@@ -200,7 +211,6 @@ enum { | |||
200 | EDMA_RSP_Q_BASE_HI_OFS = 0x1c, | 211 | EDMA_RSP_Q_BASE_HI_OFS = 0x1c, |
201 | EDMA_RSP_Q_IN_PTR_OFS = 0x20, | 212 | EDMA_RSP_Q_IN_PTR_OFS = 0x20, |
202 | EDMA_RSP_Q_OUT_PTR_OFS = 0x24, /* also contains BASE_LO */ | 213 | EDMA_RSP_Q_OUT_PTR_OFS = 0x24, /* also contains BASE_LO */ |
203 | EDMA_RSP_Q_BASE_LO_MASK = 0xffffff00U, | ||
204 | EDMA_RSP_Q_PTR_SHIFT = 3, | 214 | EDMA_RSP_Q_PTR_SHIFT = 3, |
205 | 215 | ||
206 | EDMA_CMD_OFS = 0x28, | 216 | EDMA_CMD_OFS = 0x28, |
@@ -208,14 +218,44 @@ enum { | |||
208 | EDMA_DS = (1 << 1), | 218 | EDMA_DS = (1 << 1), |
209 | ATA_RST = (1 << 2), | 219 | ATA_RST = (1 << 2), |
210 | 220 | ||
221 | EDMA_IORDY_TMOUT = 0x34, | ||
222 | EDMA_ARB_CFG = 0x38, | ||
223 | |||
211 | /* Host private flags (hp_flags) */ | 224 | /* Host private flags (hp_flags) */ |
212 | MV_HP_FLAG_MSI = (1 << 0), | 225 | MV_HP_FLAG_MSI = (1 << 0), |
226 | MV_HP_ERRATA_50XXB0 = (1 << 1), | ||
227 | MV_HP_ERRATA_50XXB2 = (1 << 2), | ||
228 | MV_HP_ERRATA_60X1B2 = (1 << 3), | ||
229 | MV_HP_ERRATA_60X1C0 = (1 << 4), | ||
230 | MV_HP_50XX = (1 << 5), | ||
213 | 231 | ||
214 | /* Port private flags (pp_flags) */ | 232 | /* Port private flags (pp_flags) */ |
215 | MV_PP_FLAG_EDMA_EN = (1 << 0), | 233 | MV_PP_FLAG_EDMA_EN = (1 << 0), |
216 | MV_PP_FLAG_EDMA_DS_ACT = (1 << 1), | 234 | MV_PP_FLAG_EDMA_DS_ACT = (1 << 1), |
217 | }; | 235 | }; |
218 | 236 | ||
237 | #define IS_50XX(hpriv) ((hpriv)->hp_flags & MV_HP_50XX) | ||
238 | #define IS_60XX(hpriv) (((hpriv)->hp_flags & MV_HP_50XX) == 0) | ||
239 | |||
240 | enum { | ||
241 | /* Our DMA boundary is determined by an ePRD being unable to handle | ||
242 | * anything larger than 64KB | ||
243 | */ | ||
244 | MV_DMA_BOUNDARY = 0xffffU, | ||
245 | |||
246 | EDMA_REQ_Q_BASE_LO_MASK = 0xfffffc00U, | ||
247 | |||
248 | EDMA_RSP_Q_BASE_LO_MASK = 0xffffff00U, | ||
249 | }; | ||
250 | |||
251 | enum chip_type { | ||
252 | chip_504x, | ||
253 | chip_508x, | ||
254 | chip_5080, | ||
255 | chip_604x, | ||
256 | chip_608x, | ||
257 | }; | ||
258 | |||
219 | /* Command ReQuest Block: 32B */ | 259 | /* Command ReQuest Block: 32B */ |
220 | struct mv_crqb { | 260 | struct mv_crqb { |
221 | u32 sg_addr; | 261 | u32 sg_addr; |
@@ -252,14 +292,37 @@ struct mv_port_priv { | |||
252 | u32 pp_flags; | 292 | u32 pp_flags; |
253 | }; | 293 | }; |
254 | 294 | ||
295 | struct mv_port_signal { | ||
296 | u32 amps; | ||
297 | u32 pre; | ||
298 | }; | ||
299 | |||
300 | struct mv_host_priv; | ||
301 | struct mv_hw_ops { | ||
302 | void (*phy_errata)(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
303 | unsigned int port); | ||
304 | void (*enable_leds)(struct mv_host_priv *hpriv, void __iomem *mmio); | ||
305 | void (*read_preamp)(struct mv_host_priv *hpriv, int idx, | ||
306 | void __iomem *mmio); | ||
307 | int (*reset_hc)(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
308 | unsigned int n_hc); | ||
309 | void (*reset_flash)(struct mv_host_priv *hpriv, void __iomem *mmio); | ||
310 | void (*reset_bus)(struct pci_dev *pdev, void __iomem *mmio); | ||
311 | }; | ||
312 | |||
255 | struct mv_host_priv { | 313 | struct mv_host_priv { |
256 | u32 hp_flags; | 314 | u32 hp_flags; |
315 | struct mv_port_signal signal[8]; | ||
316 | const struct mv_hw_ops *ops; | ||
257 | }; | 317 | }; |
258 | 318 | ||
259 | static void mv_irq_clear(struct ata_port *ap); | 319 | static void mv_irq_clear(struct ata_port *ap); |
260 | static u32 mv_scr_read(struct ata_port *ap, unsigned int sc_reg_in); | 320 | static u32 mv_scr_read(struct ata_port *ap, unsigned int sc_reg_in); |
261 | static void mv_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val); | 321 | static void mv_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val); |
322 | static u32 mv5_scr_read(struct ata_port *ap, unsigned int sc_reg_in); | ||
323 | static void mv5_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val); | ||
262 | static void mv_phy_reset(struct ata_port *ap); | 324 | static void mv_phy_reset(struct ata_port *ap); |
325 | static void __mv_phy_reset(struct ata_port *ap, int can_sleep); | ||
263 | static void mv_host_stop(struct ata_host_set *host_set); | 326 | static void mv_host_stop(struct ata_host_set *host_set); |
264 | static int mv_port_start(struct ata_port *ap); | 327 | static int mv_port_start(struct ata_port *ap); |
265 | static void mv_port_stop(struct ata_port *ap); | 328 | static void mv_port_stop(struct ata_port *ap); |
@@ -270,6 +333,29 @@ static irqreturn_t mv_interrupt(int irq, void *dev_instance, | |||
270 | static void mv_eng_timeout(struct ata_port *ap); | 333 | static void mv_eng_timeout(struct ata_port *ap); |
271 | static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); | 334 | static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); |
272 | 335 | ||
336 | static void mv5_phy_errata(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
337 | unsigned int port); | ||
338 | static void mv5_enable_leds(struct mv_host_priv *hpriv, void __iomem *mmio); | ||
339 | static void mv5_read_preamp(struct mv_host_priv *hpriv, int idx, | ||
340 | void __iomem *mmio); | ||
341 | static int mv5_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
342 | unsigned int n_hc); | ||
343 | static void mv5_reset_flash(struct mv_host_priv *hpriv, void __iomem *mmio); | ||
344 | static void mv5_reset_bus(struct pci_dev *pdev, void __iomem *mmio); | ||
345 | |||
346 | static void mv6_phy_errata(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
347 | unsigned int port); | ||
348 | static void mv6_enable_leds(struct mv_host_priv *hpriv, void __iomem *mmio); | ||
349 | static void mv6_read_preamp(struct mv_host_priv *hpriv, int idx, | ||
350 | void __iomem *mmio); | ||
351 | static int mv6_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
352 | unsigned int n_hc); | ||
353 | static void mv6_reset_flash(struct mv_host_priv *hpriv, void __iomem *mmio); | ||
354 | static void mv_reset_pci_bus(struct pci_dev *pdev, void __iomem *mmio); | ||
355 | static void mv_channel_reset(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
356 | unsigned int port_no); | ||
357 | static void mv_stop_and_reset(struct ata_port *ap); | ||
358 | |||
273 | static struct scsi_host_template mv_sht = { | 359 | static struct scsi_host_template mv_sht = { |
274 | .module = THIS_MODULE, | 360 | .module = THIS_MODULE, |
275 | .name = DRV_NAME, | 361 | .name = DRV_NAME, |
@@ -278,7 +364,7 @@ static struct scsi_host_template mv_sht = { | |||
278 | .eh_strategy_handler = ata_scsi_error, | 364 | .eh_strategy_handler = ata_scsi_error, |
279 | .can_queue = MV_USE_Q_DEPTH, | 365 | .can_queue = MV_USE_Q_DEPTH, |
280 | .this_id = ATA_SHT_THIS_ID, | 366 | .this_id = ATA_SHT_THIS_ID, |
281 | .sg_tablesize = MV_MAX_SG_CT, | 367 | .sg_tablesize = MV_MAX_SG_CT / 2, |
282 | .max_sectors = ATA_MAX_SECTORS, | 368 | .max_sectors = ATA_MAX_SECTORS, |
283 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, | 369 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, |
284 | .emulated = ATA_SHT_EMULATED, | 370 | .emulated = ATA_SHT_EMULATED, |
@@ -290,7 +376,34 @@ static struct scsi_host_template mv_sht = { | |||
290 | .ordered_flush = 1, | 376 | .ordered_flush = 1, |
291 | }; | 377 | }; |
292 | 378 | ||
293 | static const struct ata_port_operations mv_ops = { | 379 | static const struct ata_port_operations mv5_ops = { |
380 | .port_disable = ata_port_disable, | ||
381 | |||
382 | .tf_load = ata_tf_load, | ||
383 | .tf_read = ata_tf_read, | ||
384 | .check_status = ata_check_status, | ||
385 | .exec_command = ata_exec_command, | ||
386 | .dev_select = ata_std_dev_select, | ||
387 | |||
388 | .phy_reset = mv_phy_reset, | ||
389 | |||
390 | .qc_prep = mv_qc_prep, | ||
391 | .qc_issue = mv_qc_issue, | ||
392 | |||
393 | .eng_timeout = mv_eng_timeout, | ||
394 | |||
395 | .irq_handler = mv_interrupt, | ||
396 | .irq_clear = mv_irq_clear, | ||
397 | |||
398 | .scr_read = mv5_scr_read, | ||
399 | .scr_write = mv5_scr_write, | ||
400 | |||
401 | .port_start = mv_port_start, | ||
402 | .port_stop = mv_port_stop, | ||
403 | .host_stop = mv_host_stop, | ||
404 | }; | ||
405 | |||
406 | static const struct ata_port_operations mv6_ops = { | ||
294 | .port_disable = ata_port_disable, | 407 | .port_disable = ata_port_disable, |
295 | 408 | ||
296 | .tf_load = ata_tf_load, | 409 | .tf_load = ata_tf_load, |
@@ -322,37 +435,44 @@ static struct ata_port_info mv_port_info[] = { | |||
322 | .sht = &mv_sht, | 435 | .sht = &mv_sht, |
323 | .host_flags = MV_COMMON_FLAGS, | 436 | .host_flags = MV_COMMON_FLAGS, |
324 | .pio_mask = 0x1f, /* pio0-4 */ | 437 | .pio_mask = 0x1f, /* pio0-4 */ |
325 | .udma_mask = 0, /* 0x7f (udma0-6 disabled for now) */ | 438 | .udma_mask = 0x7f, /* udma0-6 */ |
326 | .port_ops = &mv_ops, | 439 | .port_ops = &mv5_ops, |
327 | }, | 440 | }, |
328 | { /* chip_508x */ | 441 | { /* chip_508x */ |
329 | .sht = &mv_sht, | 442 | .sht = &mv_sht, |
330 | .host_flags = (MV_COMMON_FLAGS | MV_FLAG_DUAL_HC), | 443 | .host_flags = (MV_COMMON_FLAGS | MV_FLAG_DUAL_HC), |
331 | .pio_mask = 0x1f, /* pio0-4 */ | 444 | .pio_mask = 0x1f, /* pio0-4 */ |
332 | .udma_mask = 0, /* 0x7f (udma0-6 disabled for now) */ | 445 | .udma_mask = 0x7f, /* udma0-6 */ |
333 | .port_ops = &mv_ops, | 446 | .port_ops = &mv5_ops, |
447 | }, | ||
448 | { /* chip_5080 */ | ||
449 | .sht = &mv_sht, | ||
450 | .host_flags = (MV_COMMON_FLAGS | MV_FLAG_DUAL_HC), | ||
451 | .pio_mask = 0x1f, /* pio0-4 */ | ||
452 | .udma_mask = 0x7f, /* udma0-6 */ | ||
453 | .port_ops = &mv5_ops, | ||
334 | }, | 454 | }, |
335 | { /* chip_604x */ | 455 | { /* chip_604x */ |
336 | .sht = &mv_sht, | 456 | .sht = &mv_sht, |
337 | .host_flags = (MV_COMMON_FLAGS | MV_6XXX_FLAGS), | 457 | .host_flags = (MV_COMMON_FLAGS | MV_6XXX_FLAGS), |
338 | .pio_mask = 0x1f, /* pio0-4 */ | 458 | .pio_mask = 0x1f, /* pio0-4 */ |
339 | .udma_mask = 0x7f, /* udma0-6 */ | 459 | .udma_mask = 0x7f, /* udma0-6 */ |
340 | .port_ops = &mv_ops, | 460 | .port_ops = &mv6_ops, |
341 | }, | 461 | }, |
342 | { /* chip_608x */ | 462 | { /* chip_608x */ |
343 | .sht = &mv_sht, | 463 | .sht = &mv_sht, |
344 | .host_flags = (MV_COMMON_FLAGS | MV_6XXX_FLAGS | | 464 | .host_flags = (MV_COMMON_FLAGS | MV_6XXX_FLAGS | |
345 | MV_FLAG_DUAL_HC), | 465 | MV_FLAG_DUAL_HC), |
346 | .pio_mask = 0x1f, /* pio0-4 */ | 466 | .pio_mask = 0x1f, /* pio0-4 */ |
347 | .udma_mask = 0x7f, /* udma0-6 */ | 467 | .udma_mask = 0x7f, /* udma0-6 */ |
348 | .port_ops = &mv_ops, | 468 | .port_ops = &mv6_ops, |
349 | }, | 469 | }, |
350 | }; | 470 | }; |
351 | 471 | ||
352 | static const struct pci_device_id mv_pci_tbl[] = { | 472 | static const struct pci_device_id mv_pci_tbl[] = { |
353 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5040), 0, 0, chip_504x}, | 473 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5040), 0, 0, chip_504x}, |
354 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5041), 0, 0, chip_504x}, | 474 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5041), 0, 0, chip_504x}, |
355 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5080), 0, 0, chip_508x}, | 475 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5080), 0, 0, chip_5080}, |
356 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5081), 0, 0, chip_508x}, | 476 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5081), 0, 0, chip_508x}, |
357 | 477 | ||
358 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x6040), 0, 0, chip_604x}, | 478 | {PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x6040), 0, 0, chip_604x}, |
@@ -371,6 +491,24 @@ static struct pci_driver mv_pci_driver = { | |||
371 | .remove = ata_pci_remove_one, | 491 | .remove = ata_pci_remove_one, |
372 | }; | 492 | }; |
373 | 493 | ||
494 | static const struct mv_hw_ops mv5xxx_ops = { | ||
495 | .phy_errata = mv5_phy_errata, | ||
496 | .enable_leds = mv5_enable_leds, | ||
497 | .read_preamp = mv5_read_preamp, | ||
498 | .reset_hc = mv5_reset_hc, | ||
499 | .reset_flash = mv5_reset_flash, | ||
500 | .reset_bus = mv5_reset_bus, | ||
501 | }; | ||
502 | |||
503 | static const struct mv_hw_ops mv6xxx_ops = { | ||
504 | .phy_errata = mv6_phy_errata, | ||
505 | .enable_leds = mv6_enable_leds, | ||
506 | .read_preamp = mv6_read_preamp, | ||
507 | .reset_hc = mv6_reset_hc, | ||
508 | .reset_flash = mv6_reset_flash, | ||
509 | .reset_bus = mv_reset_pci_bus, | ||
510 | }; | ||
511 | |||
374 | /* | 512 | /* |
375 | * Functions | 513 | * Functions |
376 | */ | 514 | */ |
@@ -386,11 +524,27 @@ static inline void __iomem *mv_hc_base(void __iomem *base, unsigned int hc) | |||
386 | return (base + MV_SATAHC0_REG_BASE + (hc * MV_SATAHC_REG_SZ)); | 524 | return (base + MV_SATAHC0_REG_BASE + (hc * MV_SATAHC_REG_SZ)); |
387 | } | 525 | } |
388 | 526 | ||
527 | static inline unsigned int mv_hc_from_port(unsigned int port) | ||
528 | { | ||
529 | return port >> MV_PORT_HC_SHIFT; | ||
530 | } | ||
531 | |||
532 | static inline unsigned int mv_hardport_from_port(unsigned int port) | ||
533 | { | ||
534 | return port & MV_PORT_MASK; | ||
535 | } | ||
536 | |||
537 | static inline void __iomem *mv_hc_base_from_port(void __iomem *base, | ||
538 | unsigned int port) | ||
539 | { | ||
540 | return mv_hc_base(base, mv_hc_from_port(port)); | ||
541 | } | ||
542 | |||
389 | static inline void __iomem *mv_port_base(void __iomem *base, unsigned int port) | 543 | static inline void __iomem *mv_port_base(void __iomem *base, unsigned int port) |
390 | { | 544 | { |
391 | return (mv_hc_base(base, port >> MV_PORT_HC_SHIFT) + | 545 | return mv_hc_base_from_port(base, port) + |
392 | MV_SATAHC_ARBTR_REG_SZ + | 546 | MV_SATAHC_ARBTR_REG_SZ + |
393 | ((port & MV_PORT_MASK) * MV_PORT_REG_SZ)); | 547 | (mv_hardport_from_port(port) * MV_PORT_REG_SZ); |
394 | } | 548 | } |
395 | 549 | ||
396 | static inline void __iomem *mv_ap_base(struct ata_port *ap) | 550 | static inline void __iomem *mv_ap_base(struct ata_port *ap) |
@@ -398,9 +552,9 @@ static inline void __iomem *mv_ap_base(struct ata_port *ap) | |||
398 | return mv_port_base(ap->host_set->mmio_base, ap->port_no); | 552 | return mv_port_base(ap->host_set->mmio_base, ap->port_no); |
399 | } | 553 | } |
400 | 554 | ||
401 | static inline int mv_get_hc_count(unsigned long hp_flags) | 555 | static inline int mv_get_hc_count(unsigned long host_flags) |
402 | { | 556 | { |
403 | return ((hp_flags & MV_FLAG_DUAL_HC) ? 2 : 1); | 557 | return ((host_flags & MV_FLAG_DUAL_HC) ? 2 : 1); |
404 | } | 558 | } |
405 | 559 | ||
406 | static void mv_irq_clear(struct ata_port *ap) | 560 | static void mv_irq_clear(struct ata_port *ap) |
@@ -452,7 +606,7 @@ static void mv_stop_dma(struct ata_port *ap) | |||
452 | } else { | 606 | } else { |
453 | assert(!(EDMA_EN & readl(port_mmio + EDMA_CMD_OFS))); | 607 | assert(!(EDMA_EN & readl(port_mmio + EDMA_CMD_OFS))); |
454 | } | 608 | } |
455 | 609 | ||
456 | /* now properly wait for the eDMA to stop */ | 610 | /* now properly wait for the eDMA to stop */ |
457 | for (i = 1000; i > 0; i--) { | 611 | for (i = 1000; i > 0; i--) { |
458 | reg = readl(port_mmio + EDMA_CMD_OFS); | 612 | reg = readl(port_mmio + EDMA_CMD_OFS); |
@@ -503,7 +657,7 @@ static void mv_dump_all_regs(void __iomem *mmio_base, int port, | |||
503 | struct pci_dev *pdev) | 657 | struct pci_dev *pdev) |
504 | { | 658 | { |
505 | #ifdef ATA_DEBUG | 659 | #ifdef ATA_DEBUG |
506 | void __iomem *hc_base = mv_hc_base(mmio_base, | 660 | void __iomem *hc_base = mv_hc_base(mmio_base, |
507 | port >> MV_PORT_HC_SHIFT); | 661 | port >> MV_PORT_HC_SHIFT); |
508 | void __iomem *port_base; | 662 | void __iomem *port_base; |
509 | int start_port, num_ports, p, start_hc, num_hcs, hc; | 663 | int start_port, num_ports, p, start_hc, num_hcs, hc; |
@@ -517,7 +671,7 @@ static void mv_dump_all_regs(void __iomem *mmio_base, int port, | |||
517 | start_port = port; | 671 | start_port = port; |
518 | num_ports = num_hcs = 1; | 672 | num_ports = num_hcs = 1; |
519 | } | 673 | } |
520 | DPRINTK("All registers for port(s) %u-%u:\n", start_port, | 674 | DPRINTK("All registers for port(s) %u-%u:\n", start_port, |
521 | num_ports > 1 ? num_ports - 1 : start_port); | 675 | num_ports > 1 ? num_ports - 1 : start_port); |
522 | 676 | ||
523 | if (NULL != pdev) { | 677 | if (NULL != pdev) { |
@@ -585,70 +739,6 @@ static void mv_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val) | |||
585 | } | 739 | } |
586 | 740 | ||
587 | /** | 741 | /** |
588 | * mv_global_soft_reset - Perform the 6xxx global soft reset | ||
589 | * @mmio_base: base address of the HBA | ||
590 | * | ||
591 | * This routine only applies to 6xxx parts. | ||
592 | * | ||
593 | * LOCKING: | ||
594 | * Inherited from caller. | ||
595 | */ | ||
596 | static int mv_global_soft_reset(void __iomem *mmio_base) | ||
597 | { | ||
598 | void __iomem *reg = mmio_base + PCI_MAIN_CMD_STS_OFS; | ||
599 | int i, rc = 0; | ||
600 | u32 t; | ||
601 | |||
602 | /* Following procedure defined in PCI "main command and status | ||
603 | * register" table. | ||
604 | */ | ||
605 | t = readl(reg); | ||
606 | writel(t | STOP_PCI_MASTER, reg); | ||
607 | |||
608 | for (i = 0; i < 1000; i++) { | ||
609 | udelay(1); | ||
610 | t = readl(reg); | ||
611 | if (PCI_MASTER_EMPTY & t) { | ||
612 | break; | ||
613 | } | ||
614 | } | ||
615 | if (!(PCI_MASTER_EMPTY & t)) { | ||
616 | printk(KERN_ERR DRV_NAME ": PCI master won't flush\n"); | ||
617 | rc = 1; | ||
618 | goto done; | ||
619 | } | ||
620 | |||
621 | /* set reset */ | ||
622 | i = 5; | ||
623 | do { | ||
624 | writel(t | GLOB_SFT_RST, reg); | ||
625 | t = readl(reg); | ||
626 | udelay(1); | ||
627 | } while (!(GLOB_SFT_RST & t) && (i-- > 0)); | ||
628 | |||
629 | if (!(GLOB_SFT_RST & t)) { | ||
630 | printk(KERN_ERR DRV_NAME ": can't set global reset\n"); | ||
631 | rc = 1; | ||
632 | goto done; | ||
633 | } | ||
634 | |||
635 | /* clear reset and *reenable the PCI master* (not mentioned in spec) */ | ||
636 | i = 5; | ||
637 | do { | ||
638 | writel(t & ~(GLOB_SFT_RST | STOP_PCI_MASTER), reg); | ||
639 | t = readl(reg); | ||
640 | udelay(1); | ||
641 | } while ((GLOB_SFT_RST & t) && (i-- > 0)); | ||
642 | |||
643 | if (GLOB_SFT_RST & t) { | ||
644 | printk(KERN_ERR DRV_NAME ": can't clear global reset\n"); | ||
645 | rc = 1; | ||
646 | } | ||
647 | done: | ||
648 | return rc; | ||
649 | } | ||
650 | |||
651 | /** | ||
652 | * mv_host_stop - Host specific cleanup/stop routine. | 742 | * mv_host_stop - Host specific cleanup/stop routine. |
653 | * @host_set: host data structure | 743 | * @host_set: host data structure |
654 | * | 744 | * |
@@ -701,7 +791,7 @@ static int mv_port_start(struct ata_port *ap) | |||
701 | goto err_out; | 791 | goto err_out; |
702 | memset(pp, 0, sizeof(*pp)); | 792 | memset(pp, 0, sizeof(*pp)); |
703 | 793 | ||
704 | mem = dma_alloc_coherent(dev, MV_PORT_PRIV_DMA_SZ, &mem_dma, | 794 | mem = dma_alloc_coherent(dev, MV_PORT_PRIV_DMA_SZ, &mem_dma, |
705 | GFP_KERNEL); | 795 | GFP_KERNEL); |
706 | if (!mem) | 796 | if (!mem) |
707 | goto err_out_pp; | 797 | goto err_out_pp; |
@@ -711,7 +801,7 @@ static int mv_port_start(struct ata_port *ap) | |||
711 | if (rc) | 801 | if (rc) |
712 | goto err_out_priv; | 802 | goto err_out_priv; |
713 | 803 | ||
714 | /* First item in chunk of DMA memory: | 804 | /* First item in chunk of DMA memory: |
715 | * 32-slot command request table (CRQB), 32 bytes each in size | 805 | * 32-slot command request table (CRQB), 32 bytes each in size |
716 | */ | 806 | */ |
717 | pp->crqb = mem; | 807 | pp->crqb = mem; |
@@ -719,7 +809,7 @@ static int mv_port_start(struct ata_port *ap) | |||
719 | mem += MV_CRQB_Q_SZ; | 809 | mem += MV_CRQB_Q_SZ; |
720 | mem_dma += MV_CRQB_Q_SZ; | 810 | mem_dma += MV_CRQB_Q_SZ; |
721 | 811 | ||
722 | /* Second item: | 812 | /* Second item: |
723 | * 32-slot command response table (CRPB), 8 bytes each in size | 813 | * 32-slot command response table (CRPB), 8 bytes each in size |
724 | */ | 814 | */ |
725 | pp->crpb = mem; | 815 | pp->crpb = mem; |
@@ -733,18 +823,18 @@ static int mv_port_start(struct ata_port *ap) | |||
733 | pp->sg_tbl = mem; | 823 | pp->sg_tbl = mem; |
734 | pp->sg_tbl_dma = mem_dma; | 824 | pp->sg_tbl_dma = mem_dma; |
735 | 825 | ||
736 | writelfl(EDMA_CFG_Q_DEPTH | EDMA_CFG_RD_BRST_EXT | | 826 | writelfl(EDMA_CFG_Q_DEPTH | EDMA_CFG_RD_BRST_EXT | |
737 | EDMA_CFG_WR_BUFF_LEN, port_mmio + EDMA_CFG_OFS); | 827 | EDMA_CFG_WR_BUFF_LEN, port_mmio + EDMA_CFG_OFS); |
738 | 828 | ||
739 | writel((pp->crqb_dma >> 16) >> 16, port_mmio + EDMA_REQ_Q_BASE_HI_OFS); | 829 | writel((pp->crqb_dma >> 16) >> 16, port_mmio + EDMA_REQ_Q_BASE_HI_OFS); |
740 | writelfl(pp->crqb_dma & EDMA_REQ_Q_BASE_LO_MASK, | 830 | writelfl(pp->crqb_dma & EDMA_REQ_Q_BASE_LO_MASK, |
741 | port_mmio + EDMA_REQ_Q_IN_PTR_OFS); | 831 | port_mmio + EDMA_REQ_Q_IN_PTR_OFS); |
742 | 832 | ||
743 | writelfl(0, port_mmio + EDMA_REQ_Q_OUT_PTR_OFS); | 833 | writelfl(0, port_mmio + EDMA_REQ_Q_OUT_PTR_OFS); |
744 | writelfl(0, port_mmio + EDMA_RSP_Q_IN_PTR_OFS); | 834 | writelfl(0, port_mmio + EDMA_RSP_Q_IN_PTR_OFS); |
745 | 835 | ||
746 | writel((pp->crpb_dma >> 16) >> 16, port_mmio + EDMA_RSP_Q_BASE_HI_OFS); | 836 | writel((pp->crpb_dma >> 16) >> 16, port_mmio + EDMA_RSP_Q_BASE_HI_OFS); |
747 | writelfl(pp->crpb_dma & EDMA_RSP_Q_BASE_LO_MASK, | 837 | writelfl(pp->crpb_dma & EDMA_RSP_Q_BASE_LO_MASK, |
748 | port_mmio + EDMA_RSP_Q_OUT_PTR_OFS); | 838 | port_mmio + EDMA_RSP_Q_OUT_PTR_OFS); |
749 | 839 | ||
750 | pp->req_producer = pp->rsp_consumer = 0; | 840 | pp->req_producer = pp->rsp_consumer = 0; |
@@ -805,20 +895,30 @@ static void mv_fill_sg(struct ata_queued_cmd *qc) | |||
805 | struct scatterlist *sg; | 895 | struct scatterlist *sg; |
806 | 896 | ||
807 | ata_for_each_sg(sg, qc) { | 897 | ata_for_each_sg(sg, qc) { |
808 | u32 sg_len; | ||
809 | dma_addr_t addr; | 898 | dma_addr_t addr; |
899 | u32 sg_len, len, offset; | ||
810 | 900 | ||
811 | addr = sg_dma_address(sg); | 901 | addr = sg_dma_address(sg); |
812 | sg_len = sg_dma_len(sg); | 902 | sg_len = sg_dma_len(sg); |
813 | 903 | ||
814 | pp->sg_tbl[i].addr = cpu_to_le32(addr & 0xffffffff); | 904 | while (sg_len) { |
815 | pp->sg_tbl[i].addr_hi = cpu_to_le32((addr >> 16) >> 16); | 905 | offset = addr & MV_DMA_BOUNDARY; |
816 | assert(0 == (sg_len & ~MV_DMA_BOUNDARY)); | 906 | len = sg_len; |
817 | pp->sg_tbl[i].flags_size = cpu_to_le32(sg_len); | 907 | if ((offset + sg_len) > 0x10000) |
818 | if (ata_sg_is_last(sg, qc)) | 908 | len = 0x10000 - offset; |
819 | pp->sg_tbl[i].flags_size |= cpu_to_le32(EPRD_FLAG_END_OF_TBL); | 909 | |
910 | pp->sg_tbl[i].addr = cpu_to_le32(addr & 0xffffffff); | ||
911 | pp->sg_tbl[i].addr_hi = cpu_to_le32((addr >> 16) >> 16); | ||
912 | pp->sg_tbl[i].flags_size = cpu_to_le32(len); | ||
913 | |||
914 | sg_len -= len; | ||
915 | addr += len; | ||
916 | |||
917 | if (!sg_len && ata_sg_is_last(sg, qc)) | ||
918 | pp->sg_tbl[i].flags_size |= cpu_to_le32(EPRD_FLAG_END_OF_TBL); | ||
820 | 919 | ||
821 | i++; | 920 | i++; |
921 | } | ||
822 | } | 922 | } |
823 | } | 923 | } |
824 | 924 | ||
@@ -859,7 +959,7 @@ static void mv_qc_prep(struct ata_queued_cmd *qc) | |||
859 | } | 959 | } |
860 | 960 | ||
861 | /* the req producer index should be the same as we remember it */ | 961 | /* the req producer index should be the same as we remember it */ |
862 | assert(((readl(mv_ap_base(qc->ap) + EDMA_REQ_Q_IN_PTR_OFS) >> | 962 | assert(((readl(mv_ap_base(qc->ap) + EDMA_REQ_Q_IN_PTR_OFS) >> |
863 | EDMA_REQ_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) == | 963 | EDMA_REQ_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) == |
864 | pp->req_producer); | 964 | pp->req_producer); |
865 | 965 | ||
@@ -871,9 +971,9 @@ static void mv_qc_prep(struct ata_queued_cmd *qc) | |||
871 | assert(MV_MAX_Q_DEPTH > qc->tag); | 971 | assert(MV_MAX_Q_DEPTH > qc->tag); |
872 | flags |= qc->tag << CRQB_TAG_SHIFT; | 972 | flags |= qc->tag << CRQB_TAG_SHIFT; |
873 | 973 | ||
874 | pp->crqb[pp->req_producer].sg_addr = | 974 | pp->crqb[pp->req_producer].sg_addr = |
875 | cpu_to_le32(pp->sg_tbl_dma & 0xffffffff); | 975 | cpu_to_le32(pp->sg_tbl_dma & 0xffffffff); |
876 | pp->crqb[pp->req_producer].sg_addr_hi = | 976 | pp->crqb[pp->req_producer].sg_addr_hi = |
877 | cpu_to_le32((pp->sg_tbl_dma >> 16) >> 16); | 977 | cpu_to_le32((pp->sg_tbl_dma >> 16) >> 16); |
878 | pp->crqb[pp->req_producer].ctrl_flags = cpu_to_le16(flags); | 978 | pp->crqb[pp->req_producer].ctrl_flags = cpu_to_le16(flags); |
879 | 979 | ||
@@ -896,7 +996,7 @@ static void mv_qc_prep(struct ata_queued_cmd *qc) | |||
896 | #ifdef LIBATA_NCQ /* FIXME: remove this line when NCQ added */ | 996 | #ifdef LIBATA_NCQ /* FIXME: remove this line when NCQ added */ |
897 | case ATA_CMD_FPDMA_READ: | 997 | case ATA_CMD_FPDMA_READ: |
898 | case ATA_CMD_FPDMA_WRITE: | 998 | case ATA_CMD_FPDMA_WRITE: |
899 | mv_crqb_pack_cmd(cw++, tf->hob_feature, ATA_REG_FEATURE, 0); | 999 | mv_crqb_pack_cmd(cw++, tf->hob_feature, ATA_REG_FEATURE, 0); |
900 | mv_crqb_pack_cmd(cw++, tf->feature, ATA_REG_FEATURE, 0); | 1000 | mv_crqb_pack_cmd(cw++, tf->feature, ATA_REG_FEATURE, 0); |
901 | break; | 1001 | break; |
902 | #endif /* FIXME: remove this line when NCQ added */ | 1002 | #endif /* FIXME: remove this line when NCQ added */ |
@@ -962,7 +1062,7 @@ static int mv_qc_issue(struct ata_queued_cmd *qc) | |||
962 | pp->req_producer); | 1062 | pp->req_producer); |
963 | /* until we do queuing, the queue should be empty at this point */ | 1063 | /* until we do queuing, the queue should be empty at this point */ |
964 | assert(((in_ptr >> EDMA_REQ_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) == | 1064 | assert(((in_ptr >> EDMA_REQ_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) == |
965 | ((readl(port_mmio + EDMA_REQ_Q_OUT_PTR_OFS) >> | 1065 | ((readl(port_mmio + EDMA_REQ_Q_OUT_PTR_OFS) >> |
966 | EDMA_REQ_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK)); | 1066 | EDMA_REQ_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK)); |
967 | 1067 | ||
968 | mv_inc_q_index(&pp->req_producer); /* now incr producer index */ | 1068 | mv_inc_q_index(&pp->req_producer); /* now incr producer index */ |
@@ -999,15 +1099,15 @@ static u8 mv_get_crpb_status(struct ata_port *ap) | |||
999 | out_ptr = readl(port_mmio + EDMA_RSP_Q_OUT_PTR_OFS); | 1099 | out_ptr = readl(port_mmio + EDMA_RSP_Q_OUT_PTR_OFS); |
1000 | 1100 | ||
1001 | /* the response consumer index should be the same as we remember it */ | 1101 | /* the response consumer index should be the same as we remember it */ |
1002 | assert(((out_ptr >> EDMA_RSP_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) == | 1102 | assert(((out_ptr >> EDMA_RSP_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) == |
1003 | pp->rsp_consumer); | 1103 | pp->rsp_consumer); |
1004 | 1104 | ||
1005 | /* increment our consumer index... */ | 1105 | /* increment our consumer index... */ |
1006 | pp->rsp_consumer = mv_inc_q_index(&pp->rsp_consumer); | 1106 | pp->rsp_consumer = mv_inc_q_index(&pp->rsp_consumer); |
1007 | 1107 | ||
1008 | /* and, until we do NCQ, there should only be 1 CRPB waiting */ | 1108 | /* and, until we do NCQ, there should only be 1 CRPB waiting */ |
1009 | assert(((readl(port_mmio + EDMA_RSP_Q_IN_PTR_OFS) >> | 1109 | assert(((readl(port_mmio + EDMA_RSP_Q_IN_PTR_OFS) >> |
1010 | EDMA_RSP_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) == | 1110 | EDMA_RSP_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) == |
1011 | pp->rsp_consumer); | 1111 | pp->rsp_consumer); |
1012 | 1112 | ||
1013 | /* write out our inc'd consumer index so EDMA knows we're caught up */ | 1113 | /* write out our inc'd consumer index so EDMA knows we're caught up */ |
@@ -1055,7 +1155,7 @@ static void mv_err_intr(struct ata_port *ap) | |||
1055 | 1155 | ||
1056 | /* check for fatal here and recover if needed */ | 1156 | /* check for fatal here and recover if needed */ |
1057 | if (EDMA_ERR_FATAL & edma_err_cause) { | 1157 | if (EDMA_ERR_FATAL & edma_err_cause) { |
1058 | mv_phy_reset(ap); | 1158 | mv_stop_and_reset(ap); |
1059 | } | 1159 | } |
1060 | } | 1160 | } |
1061 | 1161 | ||
@@ -1120,6 +1220,10 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1120 | handled++; | 1220 | handled++; |
1121 | } | 1221 | } |
1122 | 1222 | ||
1223 | if (ap && | ||
1224 | (ap->flags & (ATA_FLAG_PORT_DISABLED | ATA_FLAG_NOINTR))) | ||
1225 | continue; | ||
1226 | |||
1123 | err_mask = ac_err_mask(ata_status); | 1227 | err_mask = ac_err_mask(ata_status); |
1124 | 1228 | ||
1125 | shift = port << 1; /* (port * 2) */ | 1229 | shift = port << 1; /* (port * 2) */ |
@@ -1131,14 +1235,15 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1131 | err_mask |= AC_ERR_OTHER; | 1235 | err_mask |= AC_ERR_OTHER; |
1132 | handled++; | 1236 | handled++; |
1133 | } | 1237 | } |
1134 | 1238 | ||
1135 | if (handled && ap) { | 1239 | if (handled && ap) { |
1136 | qc = ata_qc_from_tag(ap, ap->active_tag); | 1240 | qc = ata_qc_from_tag(ap, ap->active_tag); |
1137 | if (NULL != qc) { | 1241 | if (NULL != qc) { |
1138 | VPRINTK("port %u IRQ found for qc, " | 1242 | VPRINTK("port %u IRQ found for qc, " |
1139 | "ata_status 0x%x\n", port,ata_status); | 1243 | "ata_status 0x%x\n", port,ata_status); |
1140 | /* mark qc status appropriately */ | 1244 | /* mark qc status appropriately */ |
1141 | ata_qc_complete(qc, err_mask); | 1245 | if (!(qc->tf.ctl & ATA_NIEN)) |
1246 | ata_qc_complete(qc, err_mask); | ||
1142 | } | 1247 | } |
1143 | } | 1248 | } |
1144 | } | 1249 | } |
@@ -1146,7 +1251,7 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1146 | } | 1251 | } |
1147 | 1252 | ||
1148 | /** | 1253 | /** |
1149 | * mv_interrupt - | 1254 | * mv_interrupt - |
1150 | * @irq: unused | 1255 | * @irq: unused |
1151 | * @dev_instance: private data; in this case the host structure | 1256 | * @dev_instance: private data; in this case the host structure |
1152 | * @regs: unused | 1257 | * @regs: unused |
@@ -1156,7 +1261,7 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1156 | * routine to handle. Also check for PCI errors which are only | 1261 | * routine to handle. Also check for PCI errors which are only |
1157 | * reported here. | 1262 | * reported here. |
1158 | * | 1263 | * |
1159 | * LOCKING: | 1264 | * LOCKING: |
1160 | * This routine holds the host_set lock while processing pending | 1265 | * This routine holds the host_set lock while processing pending |
1161 | * interrupts. | 1266 | * interrupts. |
1162 | */ | 1267 | */ |
@@ -1202,8 +1307,422 @@ static irqreturn_t mv_interrupt(int irq, void *dev_instance, | |||
1202 | return IRQ_RETVAL(handled); | 1307 | return IRQ_RETVAL(handled); |
1203 | } | 1308 | } |
1204 | 1309 | ||
1310 | static void __iomem *mv5_phy_base(void __iomem *mmio, unsigned int port) | ||
1311 | { | ||
1312 | void __iomem *hc_mmio = mv_hc_base_from_port(mmio, port); | ||
1313 | unsigned long ofs = (mv_hardport_from_port(port) + 1) * 0x100UL; | ||
1314 | |||
1315 | return hc_mmio + ofs; | ||
1316 | } | ||
1317 | |||
1318 | static unsigned int mv5_scr_offset(unsigned int sc_reg_in) | ||
1319 | { | ||
1320 | unsigned int ofs; | ||
1321 | |||
1322 | switch (sc_reg_in) { | ||
1323 | case SCR_STATUS: | ||
1324 | case SCR_ERROR: | ||
1325 | case SCR_CONTROL: | ||
1326 | ofs = sc_reg_in * sizeof(u32); | ||
1327 | break; | ||
1328 | default: | ||
1329 | ofs = 0xffffffffU; | ||
1330 | break; | ||
1331 | } | ||
1332 | return ofs; | ||
1333 | } | ||
1334 | |||
1335 | static u32 mv5_scr_read(struct ata_port *ap, unsigned int sc_reg_in) | ||
1336 | { | ||
1337 | void __iomem *mmio = mv5_phy_base(ap->host_set->mmio_base, ap->port_no); | ||
1338 | unsigned int ofs = mv5_scr_offset(sc_reg_in); | ||
1339 | |||
1340 | if (ofs != 0xffffffffU) | ||
1341 | return readl(mmio + ofs); | ||
1342 | else | ||
1343 | return (u32) ofs; | ||
1344 | } | ||
1345 | |||
1346 | static void mv5_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val) | ||
1347 | { | ||
1348 | void __iomem *mmio = mv5_phy_base(ap->host_set->mmio_base, ap->port_no); | ||
1349 | unsigned int ofs = mv5_scr_offset(sc_reg_in); | ||
1350 | |||
1351 | if (ofs != 0xffffffffU) | ||
1352 | writelfl(val, mmio + ofs); | ||
1353 | } | ||
1354 | |||
1355 | static void mv5_reset_bus(struct pci_dev *pdev, void __iomem *mmio) | ||
1356 | { | ||
1357 | u8 rev_id; | ||
1358 | int early_5080; | ||
1359 | |||
1360 | pci_read_config_byte(pdev, PCI_REVISION_ID, &rev_id); | ||
1361 | |||
1362 | early_5080 = (pdev->device == 0x5080) && (rev_id == 0); | ||
1363 | |||
1364 | if (!early_5080) { | ||
1365 | u32 tmp = readl(mmio + MV_PCI_EXP_ROM_BAR_CTL); | ||
1366 | tmp |= (1 << 0); | ||
1367 | writel(tmp, mmio + MV_PCI_EXP_ROM_BAR_CTL); | ||
1368 | } | ||
1369 | |||
1370 | mv_reset_pci_bus(pdev, mmio); | ||
1371 | } | ||
1372 | |||
1373 | static void mv5_reset_flash(struct mv_host_priv *hpriv, void __iomem *mmio) | ||
1374 | { | ||
1375 | writel(0x0fcfffff, mmio + MV_FLASH_CTL); | ||
1376 | } | ||
1377 | |||
1378 | static void mv5_read_preamp(struct mv_host_priv *hpriv, int idx, | ||
1379 | void __iomem *mmio) | ||
1380 | { | ||
1381 | void __iomem *phy_mmio = mv5_phy_base(mmio, idx); | ||
1382 | u32 tmp; | ||
1383 | |||
1384 | tmp = readl(phy_mmio + MV5_PHY_MODE); | ||
1385 | |||
1386 | hpriv->signal[idx].pre = tmp & 0x1800; /* bits 12:11 */ | ||
1387 | hpriv->signal[idx].amps = tmp & 0xe0; /* bits 7:5 */ | ||
1388 | } | ||
1389 | |||
1390 | static void mv5_enable_leds(struct mv_host_priv *hpriv, void __iomem *mmio) | ||
1391 | { | ||
1392 | u32 tmp; | ||
1393 | |||
1394 | writel(0, mmio + MV_GPIO_PORT_CTL); | ||
1395 | |||
1396 | /* FIXME: handle MV_HP_ERRATA_50XXB2 errata */ | ||
1397 | |||
1398 | tmp = readl(mmio + MV_PCI_EXP_ROM_BAR_CTL); | ||
1399 | tmp |= ~(1 << 0); | ||
1400 | writel(tmp, mmio + MV_PCI_EXP_ROM_BAR_CTL); | ||
1401 | } | ||
1402 | |||
1403 | static void mv5_phy_errata(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
1404 | unsigned int port) | ||
1405 | { | ||
1406 | void __iomem *phy_mmio = mv5_phy_base(mmio, port); | ||
1407 | const u32 mask = (1<<12) | (1<<11) | (1<<7) | (1<<6) | (1<<5); | ||
1408 | u32 tmp; | ||
1409 | int fix_apm_sq = (hpriv->hp_flags & MV_HP_ERRATA_50XXB0); | ||
1410 | |||
1411 | if (fix_apm_sq) { | ||
1412 | tmp = readl(phy_mmio + MV5_LT_MODE); | ||
1413 | tmp |= (1 << 19); | ||
1414 | writel(tmp, phy_mmio + MV5_LT_MODE); | ||
1415 | |||
1416 | tmp = readl(phy_mmio + MV5_PHY_CTL); | ||
1417 | tmp &= ~0x3; | ||
1418 | tmp |= 0x1; | ||
1419 | writel(tmp, phy_mmio + MV5_PHY_CTL); | ||
1420 | } | ||
1421 | |||
1422 | tmp = readl(phy_mmio + MV5_PHY_MODE); | ||
1423 | tmp &= ~mask; | ||
1424 | tmp |= hpriv->signal[port].pre; | ||
1425 | tmp |= hpriv->signal[port].amps; | ||
1426 | writel(tmp, phy_mmio + MV5_PHY_MODE); | ||
1427 | } | ||
1428 | |||
1429 | |||
1430 | #undef ZERO | ||
1431 | #define ZERO(reg) writel(0, port_mmio + (reg)) | ||
1432 | static void mv5_reset_hc_port(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
1433 | unsigned int port) | ||
1434 | { | ||
1435 | void __iomem *port_mmio = mv_port_base(mmio, port); | ||
1436 | |||
1437 | writelfl(EDMA_DS, port_mmio + EDMA_CMD_OFS); | ||
1438 | |||
1439 | mv_channel_reset(hpriv, mmio, port); | ||
1440 | |||
1441 | ZERO(0x028); /* command */ | ||
1442 | writel(0x11f, port_mmio + EDMA_CFG_OFS); | ||
1443 | ZERO(0x004); /* timer */ | ||
1444 | ZERO(0x008); /* irq err cause */ | ||
1445 | ZERO(0x00c); /* irq err mask */ | ||
1446 | ZERO(0x010); /* rq bah */ | ||
1447 | ZERO(0x014); /* rq inp */ | ||
1448 | ZERO(0x018); /* rq outp */ | ||
1449 | ZERO(0x01c); /* respq bah */ | ||
1450 | ZERO(0x024); /* respq outp */ | ||
1451 | ZERO(0x020); /* respq inp */ | ||
1452 | ZERO(0x02c); /* test control */ | ||
1453 | writel(0xbc, port_mmio + EDMA_IORDY_TMOUT); | ||
1454 | } | ||
1455 | #undef ZERO | ||
1456 | |||
1457 | #define ZERO(reg) writel(0, hc_mmio + (reg)) | ||
1458 | static void mv5_reset_one_hc(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
1459 | unsigned int hc) | ||
1460 | { | ||
1461 | void __iomem *hc_mmio = mv_hc_base(mmio, hc); | ||
1462 | u32 tmp; | ||
1463 | |||
1464 | ZERO(0x00c); | ||
1465 | ZERO(0x010); | ||
1466 | ZERO(0x014); | ||
1467 | ZERO(0x018); | ||
1468 | |||
1469 | tmp = readl(hc_mmio + 0x20); | ||
1470 | tmp &= 0x1c1c1c1c; | ||
1471 | tmp |= 0x03030303; | ||
1472 | writel(tmp, hc_mmio + 0x20); | ||
1473 | } | ||
1474 | #undef ZERO | ||
1475 | |||
1476 | static int mv5_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
1477 | unsigned int n_hc) | ||
1478 | { | ||
1479 | unsigned int hc, port; | ||
1480 | |||
1481 | for (hc = 0; hc < n_hc; hc++) { | ||
1482 | for (port = 0; port < MV_PORTS_PER_HC; port++) | ||
1483 | mv5_reset_hc_port(hpriv, mmio, | ||
1484 | (hc * MV_PORTS_PER_HC) + port); | ||
1485 | |||
1486 | mv5_reset_one_hc(hpriv, mmio, hc); | ||
1487 | } | ||
1488 | |||
1489 | return 0; | ||
1490 | } | ||
1491 | |||
1492 | #undef ZERO | ||
1493 | #define ZERO(reg) writel(0, mmio + (reg)) | ||
1494 | static void mv_reset_pci_bus(struct pci_dev *pdev, void __iomem *mmio) | ||
1495 | { | ||
1496 | u32 tmp; | ||
1497 | |||
1498 | tmp = readl(mmio + MV_PCI_MODE); | ||
1499 | tmp &= 0xff00ffff; | ||
1500 | writel(tmp, mmio + MV_PCI_MODE); | ||
1501 | |||
1502 | ZERO(MV_PCI_DISC_TIMER); | ||
1503 | ZERO(MV_PCI_MSI_TRIGGER); | ||
1504 | writel(0x000100ff, mmio + MV_PCI_XBAR_TMOUT); | ||
1505 | ZERO(HC_MAIN_IRQ_MASK_OFS); | ||
1506 | ZERO(MV_PCI_SERR_MASK); | ||
1507 | ZERO(PCI_IRQ_CAUSE_OFS); | ||
1508 | ZERO(PCI_IRQ_MASK_OFS); | ||
1509 | ZERO(MV_PCI_ERR_LOW_ADDRESS); | ||
1510 | ZERO(MV_PCI_ERR_HIGH_ADDRESS); | ||
1511 | ZERO(MV_PCI_ERR_ATTRIBUTE); | ||
1512 | ZERO(MV_PCI_ERR_COMMAND); | ||
1513 | } | ||
1514 | #undef ZERO | ||
1515 | |||
1516 | static void mv6_reset_flash(struct mv_host_priv *hpriv, void __iomem *mmio) | ||
1517 | { | ||
1518 | u32 tmp; | ||
1519 | |||
1520 | mv5_reset_flash(hpriv, mmio); | ||
1521 | |||
1522 | tmp = readl(mmio + MV_GPIO_PORT_CTL); | ||
1523 | tmp &= 0x3; | ||
1524 | tmp |= (1 << 5) | (1 << 6); | ||
1525 | writel(tmp, mmio + MV_GPIO_PORT_CTL); | ||
1526 | } | ||
1527 | |||
1528 | /** | ||
1529 | * mv6_reset_hc - Perform the 6xxx global soft reset | ||
1530 | * @mmio: base address of the HBA | ||
1531 | * | ||
1532 | * This routine only applies to 6xxx parts. | ||
1533 | * | ||
1534 | * LOCKING: | ||
1535 | * Inherited from caller. | ||
1536 | */ | ||
1537 | static int mv6_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
1538 | unsigned int n_hc) | ||
1539 | { | ||
1540 | void __iomem *reg = mmio + PCI_MAIN_CMD_STS_OFS; | ||
1541 | int i, rc = 0; | ||
1542 | u32 t; | ||
1543 | |||
1544 | /* Following procedure defined in PCI "main command and status | ||
1545 | * register" table. | ||
1546 | */ | ||
1547 | t = readl(reg); | ||
1548 | writel(t | STOP_PCI_MASTER, reg); | ||
1549 | |||
1550 | for (i = 0; i < 1000; i++) { | ||
1551 | udelay(1); | ||
1552 | t = readl(reg); | ||
1553 | if (PCI_MASTER_EMPTY & t) { | ||
1554 | break; | ||
1555 | } | ||
1556 | } | ||
1557 | if (!(PCI_MASTER_EMPTY & t)) { | ||
1558 | printk(KERN_ERR DRV_NAME ": PCI master won't flush\n"); | ||
1559 | rc = 1; | ||
1560 | goto done; | ||
1561 | } | ||
1562 | |||
1563 | /* set reset */ | ||
1564 | i = 5; | ||
1565 | do { | ||
1566 | writel(t | GLOB_SFT_RST, reg); | ||
1567 | t = readl(reg); | ||
1568 | udelay(1); | ||
1569 | } while (!(GLOB_SFT_RST & t) && (i-- > 0)); | ||
1570 | |||
1571 | if (!(GLOB_SFT_RST & t)) { | ||
1572 | printk(KERN_ERR DRV_NAME ": can't set global reset\n"); | ||
1573 | rc = 1; | ||
1574 | goto done; | ||
1575 | } | ||
1576 | |||
1577 | /* clear reset and *reenable the PCI master* (not mentioned in spec) */ | ||
1578 | i = 5; | ||
1579 | do { | ||
1580 | writel(t & ~(GLOB_SFT_RST | STOP_PCI_MASTER), reg); | ||
1581 | t = readl(reg); | ||
1582 | udelay(1); | ||
1583 | } while ((GLOB_SFT_RST & t) && (i-- > 0)); | ||
1584 | |||
1585 | if (GLOB_SFT_RST & t) { | ||
1586 | printk(KERN_ERR DRV_NAME ": can't clear global reset\n"); | ||
1587 | rc = 1; | ||
1588 | } | ||
1589 | done: | ||
1590 | return rc; | ||
1591 | } | ||
1592 | |||
1593 | static void mv6_read_preamp(struct mv_host_priv *hpriv, int idx, | ||
1594 | void __iomem *mmio) | ||
1595 | { | ||
1596 | void __iomem *port_mmio; | ||
1597 | u32 tmp; | ||
1598 | |||
1599 | tmp = readl(mmio + MV_RESET_CFG); | ||
1600 | if ((tmp & (1 << 0)) == 0) { | ||
1601 | hpriv->signal[idx].amps = 0x7 << 8; | ||
1602 | hpriv->signal[idx].pre = 0x1 << 5; | ||
1603 | return; | ||
1604 | } | ||
1605 | |||
1606 | port_mmio = mv_port_base(mmio, idx); | ||
1607 | tmp = readl(port_mmio + PHY_MODE2); | ||
1608 | |||
1609 | hpriv->signal[idx].amps = tmp & 0x700; /* bits 10:8 */ | ||
1610 | hpriv->signal[idx].pre = tmp & 0xe0; /* bits 7:5 */ | ||
1611 | } | ||
1612 | |||
1613 | static void mv6_enable_leds(struct mv_host_priv *hpriv, void __iomem *mmio) | ||
1614 | { | ||
1615 | writel(0x00000060, mmio + MV_GPIO_PORT_CTL); | ||
1616 | } | ||
1617 | |||
1618 | static void mv6_phy_errata(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
1619 | unsigned int port) | ||
1620 | { | ||
1621 | void __iomem *port_mmio = mv_port_base(mmio, port); | ||
1622 | |||
1623 | u32 hp_flags = hpriv->hp_flags; | ||
1624 | int fix_phy_mode2 = | ||
1625 | hp_flags & (MV_HP_ERRATA_60X1B2 | MV_HP_ERRATA_60X1C0); | ||
1626 | int fix_phy_mode4 = | ||
1627 | hp_flags & (MV_HP_ERRATA_60X1B2 | MV_HP_ERRATA_60X1C0); | ||
1628 | u32 m2, tmp; | ||
1629 | |||
1630 | if (fix_phy_mode2) { | ||
1631 | m2 = readl(port_mmio + PHY_MODE2); | ||
1632 | m2 &= ~(1 << 16); | ||
1633 | m2 |= (1 << 31); | ||
1634 | writel(m2, port_mmio + PHY_MODE2); | ||
1635 | |||
1636 | udelay(200); | ||
1637 | |||
1638 | m2 = readl(port_mmio + PHY_MODE2); | ||
1639 | m2 &= ~((1 << 16) | (1 << 31)); | ||
1640 | writel(m2, port_mmio + PHY_MODE2); | ||
1641 | |||
1642 | udelay(200); | ||
1643 | } | ||
1644 | |||
1645 | /* who knows what this magic does */ | ||
1646 | tmp = readl(port_mmio + PHY_MODE3); | ||
1647 | tmp &= ~0x7F800000; | ||
1648 | tmp |= 0x2A800000; | ||
1649 | writel(tmp, port_mmio + PHY_MODE3); | ||
1650 | |||
1651 | if (fix_phy_mode4) { | ||
1652 | u32 m4; | ||
1653 | |||
1654 | m4 = readl(port_mmio + PHY_MODE4); | ||
1655 | |||
1656 | if (hp_flags & MV_HP_ERRATA_60X1B2) | ||
1657 | tmp = readl(port_mmio + 0x310); | ||
1658 | |||
1659 | m4 = (m4 & ~(1 << 1)) | (1 << 0); | ||
1660 | |||
1661 | writel(m4, port_mmio + PHY_MODE4); | ||
1662 | |||
1663 | if (hp_flags & MV_HP_ERRATA_60X1B2) | ||
1664 | writel(tmp, port_mmio + 0x310); | ||
1665 | } | ||
1666 | |||
1667 | /* Revert values of pre-emphasis and signal amps to the saved ones */ | ||
1668 | m2 = readl(port_mmio + PHY_MODE2); | ||
1669 | |||
1670 | m2 &= ~MV_M2_PREAMP_MASK; | ||
1671 | m2 |= hpriv->signal[port].amps; | ||
1672 | m2 |= hpriv->signal[port].pre; | ||
1673 | m2 &= ~(1 << 16); | ||
1674 | |||
1675 | writel(m2, port_mmio + PHY_MODE2); | ||
1676 | } | ||
1677 | |||
1678 | static void mv_channel_reset(struct mv_host_priv *hpriv, void __iomem *mmio, | ||
1679 | unsigned int port_no) | ||
1680 | { | ||
1681 | void __iomem *port_mmio = mv_port_base(mmio, port_no); | ||
1682 | |||
1683 | writelfl(ATA_RST, port_mmio + EDMA_CMD_OFS); | ||
1684 | |||
1685 | if (IS_60XX(hpriv)) { | ||
1686 | u32 ifctl = readl(port_mmio + SATA_INTERFACE_CTL); | ||
1687 | ifctl |= (1 << 12) | (1 << 7); | ||
1688 | writelfl(ifctl, port_mmio + SATA_INTERFACE_CTL); | ||
1689 | } | ||
1690 | |||
1691 | udelay(25); /* allow reset propagation */ | ||
1692 | |||
1693 | /* Spec never mentions clearing the bit. Marvell's driver does | ||
1694 | * clear the bit, however. | ||
1695 | */ | ||
1696 | writelfl(0, port_mmio + EDMA_CMD_OFS); | ||
1697 | |||
1698 | hpriv->ops->phy_errata(hpriv, mmio, port_no); | ||
1699 | |||
1700 | if (IS_50XX(hpriv)) | ||
1701 | mdelay(1); | ||
1702 | } | ||
1703 | |||
1704 | static void mv_stop_and_reset(struct ata_port *ap) | ||
1705 | { | ||
1706 | struct mv_host_priv *hpriv = ap->host_set->private_data; | ||
1707 | void __iomem *mmio = ap->host_set->mmio_base; | ||
1708 | |||
1709 | mv_stop_dma(ap); | ||
1710 | |||
1711 | mv_channel_reset(hpriv, mmio, ap->port_no); | ||
1712 | |||
1713 | __mv_phy_reset(ap, 0); | ||
1714 | } | ||
1715 | |||
1716 | static inline void __msleep(unsigned int msec, int can_sleep) | ||
1717 | { | ||
1718 | if (can_sleep) | ||
1719 | msleep(msec); | ||
1720 | else | ||
1721 | mdelay(msec); | ||
1722 | } | ||
1723 | |||
1205 | /** | 1724 | /** |
1206 | * mv_phy_reset - Perform eDMA reset followed by COMRESET | 1725 | * __mv_phy_reset - Perform eDMA reset followed by COMRESET |
1207 | * @ap: ATA channel to manipulate | 1726 | * @ap: ATA channel to manipulate |
1208 | * | 1727 | * |
1209 | * Part of this is taken from __sata_phy_reset and modified to | 1728 | * Part of this is taken from __sata_phy_reset and modified to |
@@ -1213,41 +1732,47 @@ static irqreturn_t mv_interrupt(int irq, void *dev_instance, | |||
1213 | * Inherited from caller. This is coded to safe to call at | 1732 | * Inherited from caller. This is coded to safe to call at |
1214 | * interrupt level, i.e. it does not sleep. | 1733 | * interrupt level, i.e. it does not sleep. |
1215 | */ | 1734 | */ |
1216 | static void mv_phy_reset(struct ata_port *ap) | 1735 | static void __mv_phy_reset(struct ata_port *ap, int can_sleep) |
1217 | { | 1736 | { |
1737 | struct mv_port_priv *pp = ap->private_data; | ||
1738 | struct mv_host_priv *hpriv = ap->host_set->private_data; | ||
1218 | void __iomem *port_mmio = mv_ap_base(ap); | 1739 | void __iomem *port_mmio = mv_ap_base(ap); |
1219 | struct ata_taskfile tf; | 1740 | struct ata_taskfile tf; |
1220 | struct ata_device *dev = &ap->device[0]; | 1741 | struct ata_device *dev = &ap->device[0]; |
1221 | unsigned long timeout; | 1742 | unsigned long timeout; |
1743 | int retry = 5; | ||
1744 | u32 sstatus; | ||
1222 | 1745 | ||
1223 | VPRINTK("ENTER, port %u, mmio 0x%p\n", ap->port_no, port_mmio); | 1746 | VPRINTK("ENTER, port %u, mmio 0x%p\n", ap->port_no, port_mmio); |
1224 | 1747 | ||
1225 | mv_stop_dma(ap); | 1748 | DPRINTK("S-regs after ATA_RST: SStat 0x%08x SErr 0x%08x " |
1226 | |||
1227 | writelfl(ATA_RST, port_mmio + EDMA_CMD_OFS); | ||
1228 | udelay(25); /* allow reset propagation */ | ||
1229 | |||
1230 | /* Spec never mentions clearing the bit. Marvell's driver does | ||
1231 | * clear the bit, however. | ||
1232 | */ | ||
1233 | writelfl(0, port_mmio + EDMA_CMD_OFS); | ||
1234 | |||
1235 | VPRINTK("S-regs after ATA_RST: SStat 0x%08x SErr 0x%08x " | ||
1236 | "SCtrl 0x%08x\n", mv_scr_read(ap, SCR_STATUS), | 1749 | "SCtrl 0x%08x\n", mv_scr_read(ap, SCR_STATUS), |
1237 | mv_scr_read(ap, SCR_ERROR), mv_scr_read(ap, SCR_CONTROL)); | 1750 | mv_scr_read(ap, SCR_ERROR), mv_scr_read(ap, SCR_CONTROL)); |
1238 | 1751 | ||
1239 | /* proceed to init communications via the scr_control reg */ | 1752 | /* Issue COMRESET via SControl */ |
1753 | comreset_retry: | ||
1240 | scr_write_flush(ap, SCR_CONTROL, 0x301); | 1754 | scr_write_flush(ap, SCR_CONTROL, 0x301); |
1241 | mdelay(1); | 1755 | __msleep(1, can_sleep); |
1756 | |||
1242 | scr_write_flush(ap, SCR_CONTROL, 0x300); | 1757 | scr_write_flush(ap, SCR_CONTROL, 0x300); |
1243 | timeout = jiffies + (HZ * 1); | 1758 | __msleep(20, can_sleep); |
1759 | |||
1760 | timeout = jiffies + msecs_to_jiffies(200); | ||
1244 | do { | 1761 | do { |
1245 | mdelay(10); | 1762 | sstatus = scr_read(ap, SCR_STATUS) & 0x3; |
1246 | if ((scr_read(ap, SCR_STATUS) & 0xf) != 1) | 1763 | if ((sstatus == 3) || (sstatus == 0)) |
1247 | break; | 1764 | break; |
1765 | |||
1766 | __msleep(1, can_sleep); | ||
1248 | } while (time_before(jiffies, timeout)); | 1767 | } while (time_before(jiffies, timeout)); |
1249 | 1768 | ||
1250 | VPRINTK("S-regs after PHY wake: SStat 0x%08x SErr 0x%08x " | 1769 | /* work around errata */ |
1770 | if (IS_60XX(hpriv) && | ||
1771 | (sstatus != 0x0) && (sstatus != 0x113) && (sstatus != 0x123) && | ||
1772 | (retry-- > 0)) | ||
1773 | goto comreset_retry; | ||
1774 | |||
1775 | DPRINTK("S-regs after PHY wake: SStat 0x%08x SErr 0x%08x " | ||
1251 | "SCtrl 0x%08x\n", mv_scr_read(ap, SCR_STATUS), | 1776 | "SCtrl 0x%08x\n", mv_scr_read(ap, SCR_STATUS), |
1252 | mv_scr_read(ap, SCR_ERROR), mv_scr_read(ap, SCR_CONTROL)); | 1777 | mv_scr_read(ap, SCR_ERROR), mv_scr_read(ap, SCR_CONTROL)); |
1253 | 1778 | ||
@@ -1261,6 +1786,21 @@ static void mv_phy_reset(struct ata_port *ap) | |||
1261 | } | 1786 | } |
1262 | ap->cbl = ATA_CBL_SATA; | 1787 | ap->cbl = ATA_CBL_SATA; |
1263 | 1788 | ||
1789 | /* even after SStatus reflects that device is ready, | ||
1790 | * it seems to take a while for link to be fully | ||
1791 | * established (and thus Status no longer 0x80/0x7F), | ||
1792 | * so we poll a bit for that, here. | ||
1793 | */ | ||
1794 | retry = 20; | ||
1795 | while (1) { | ||
1796 | u8 drv_stat = ata_check_status(ap); | ||
1797 | if ((drv_stat != 0x80) && (drv_stat != 0x7f)) | ||
1798 | break; | ||
1799 | __msleep(500, can_sleep); | ||
1800 | if (retry-- <= 0) | ||
1801 | break; | ||
1802 | } | ||
1803 | |||
1264 | tf.lbah = readb((void __iomem *) ap->ioaddr.lbah_addr); | 1804 | tf.lbah = readb((void __iomem *) ap->ioaddr.lbah_addr); |
1265 | tf.lbam = readb((void __iomem *) ap->ioaddr.lbam_addr); | 1805 | tf.lbam = readb((void __iomem *) ap->ioaddr.lbam_addr); |
1266 | tf.lbal = readb((void __iomem *) ap->ioaddr.lbal_addr); | 1806 | tf.lbal = readb((void __iomem *) ap->ioaddr.lbal_addr); |
@@ -1271,9 +1811,19 @@ static void mv_phy_reset(struct ata_port *ap) | |||
1271 | VPRINTK("Port disabled post-sig: No device present.\n"); | 1811 | VPRINTK("Port disabled post-sig: No device present.\n"); |
1272 | ata_port_disable(ap); | 1812 | ata_port_disable(ap); |
1273 | } | 1813 | } |
1814 | |||
1815 | writelfl(0, port_mmio + EDMA_ERR_IRQ_CAUSE_OFS); | ||
1816 | |||
1817 | pp->pp_flags &= ~MV_PP_FLAG_EDMA_EN; | ||
1818 | |||
1274 | VPRINTK("EXIT\n"); | 1819 | VPRINTK("EXIT\n"); |
1275 | } | 1820 | } |
1276 | 1821 | ||
1822 | static void mv_phy_reset(struct ata_port *ap) | ||
1823 | { | ||
1824 | __mv_phy_reset(ap, 1); | ||
1825 | } | ||
1826 | |||
1277 | /** | 1827 | /** |
1278 | * mv_eng_timeout - Routine called by libata when SCSI times out I/O | 1828 | * mv_eng_timeout - Routine called by libata when SCSI times out I/O |
1279 | * @ap: ATA channel to manipulate | 1829 | * @ap: ATA channel to manipulate |
@@ -1291,16 +1841,16 @@ static void mv_eng_timeout(struct ata_port *ap) | |||
1291 | 1841 | ||
1292 | printk(KERN_ERR "ata%u: Entering mv_eng_timeout\n",ap->id); | 1842 | printk(KERN_ERR "ata%u: Entering mv_eng_timeout\n",ap->id); |
1293 | DPRINTK("All regs @ start of eng_timeout\n"); | 1843 | DPRINTK("All regs @ start of eng_timeout\n"); |
1294 | mv_dump_all_regs(ap->host_set->mmio_base, ap->port_no, | 1844 | mv_dump_all_regs(ap->host_set->mmio_base, ap->port_no, |
1295 | to_pci_dev(ap->host_set->dev)); | 1845 | to_pci_dev(ap->host_set->dev)); |
1296 | 1846 | ||
1297 | qc = ata_qc_from_tag(ap, ap->active_tag); | 1847 | qc = ata_qc_from_tag(ap, ap->active_tag); |
1298 | printk(KERN_ERR "mmio_base %p ap %p qc %p scsi_cmnd %p &cmnd %p\n", | 1848 | printk(KERN_ERR "mmio_base %p ap %p qc %p scsi_cmnd %p &cmnd %p\n", |
1299 | ap->host_set->mmio_base, ap, qc, qc->scsicmd, | 1849 | ap->host_set->mmio_base, ap, qc, qc->scsicmd, |
1300 | &qc->scsicmd->cmnd); | 1850 | &qc->scsicmd->cmnd); |
1301 | 1851 | ||
1302 | mv_err_intr(ap); | 1852 | mv_err_intr(ap); |
1303 | mv_phy_reset(ap); | 1853 | mv_stop_and_reset(ap); |
1304 | 1854 | ||
1305 | if (!qc) { | 1855 | if (!qc) { |
1306 | printk(KERN_ERR "ata%u: BUG: timeout without command\n", | 1856 | printk(KERN_ERR "ata%u: BUG: timeout without command\n", |
@@ -1336,17 +1886,17 @@ static void mv_port_init(struct ata_ioports *port, void __iomem *port_mmio) | |||
1336 | unsigned long shd_base = (unsigned long) port_mmio + SHD_BLK_OFS; | 1886 | unsigned long shd_base = (unsigned long) port_mmio + SHD_BLK_OFS; |
1337 | unsigned serr_ofs; | 1887 | unsigned serr_ofs; |
1338 | 1888 | ||
1339 | /* PIO related setup | 1889 | /* PIO related setup |
1340 | */ | 1890 | */ |
1341 | port->data_addr = shd_base + (sizeof(u32) * ATA_REG_DATA); | 1891 | port->data_addr = shd_base + (sizeof(u32) * ATA_REG_DATA); |
1342 | port->error_addr = | 1892 | port->error_addr = |
1343 | port->feature_addr = shd_base + (sizeof(u32) * ATA_REG_ERR); | 1893 | port->feature_addr = shd_base + (sizeof(u32) * ATA_REG_ERR); |
1344 | port->nsect_addr = shd_base + (sizeof(u32) * ATA_REG_NSECT); | 1894 | port->nsect_addr = shd_base + (sizeof(u32) * ATA_REG_NSECT); |
1345 | port->lbal_addr = shd_base + (sizeof(u32) * ATA_REG_LBAL); | 1895 | port->lbal_addr = shd_base + (sizeof(u32) * ATA_REG_LBAL); |
1346 | port->lbam_addr = shd_base + (sizeof(u32) * ATA_REG_LBAM); | 1896 | port->lbam_addr = shd_base + (sizeof(u32) * ATA_REG_LBAM); |
1347 | port->lbah_addr = shd_base + (sizeof(u32) * ATA_REG_LBAH); | 1897 | port->lbah_addr = shd_base + (sizeof(u32) * ATA_REG_LBAH); |
1348 | port->device_addr = shd_base + (sizeof(u32) * ATA_REG_DEVICE); | 1898 | port->device_addr = shd_base + (sizeof(u32) * ATA_REG_DEVICE); |
1349 | port->status_addr = | 1899 | port->status_addr = |
1350 | port->command_addr = shd_base + (sizeof(u32) * ATA_REG_STATUS); | 1900 | port->command_addr = shd_base + (sizeof(u32) * ATA_REG_STATUS); |
1351 | /* special case: control/altstatus doesn't have ATA_REG_ address */ | 1901 | /* special case: control/altstatus doesn't have ATA_REG_ address */ |
1352 | port->altstatus_addr = port->ctl_addr = shd_base + SHD_CTL_AST_OFS; | 1902 | port->altstatus_addr = port->ctl_addr = shd_base + SHD_CTL_AST_OFS; |
@@ -1362,14 +1912,92 @@ static void mv_port_init(struct ata_ioports *port, void __iomem *port_mmio) | |||
1362 | /* unmask all EDMA error interrupts */ | 1912 | /* unmask all EDMA error interrupts */ |
1363 | writelfl(~0, port_mmio + EDMA_ERR_IRQ_MASK_OFS); | 1913 | writelfl(~0, port_mmio + EDMA_ERR_IRQ_MASK_OFS); |
1364 | 1914 | ||
1365 | VPRINTK("EDMA cfg=0x%08x EDMA IRQ err cause/mask=0x%08x/0x%08x\n", | 1915 | VPRINTK("EDMA cfg=0x%08x EDMA IRQ err cause/mask=0x%08x/0x%08x\n", |
1366 | readl(port_mmio + EDMA_CFG_OFS), | 1916 | readl(port_mmio + EDMA_CFG_OFS), |
1367 | readl(port_mmio + EDMA_ERR_IRQ_CAUSE_OFS), | 1917 | readl(port_mmio + EDMA_ERR_IRQ_CAUSE_OFS), |
1368 | readl(port_mmio + EDMA_ERR_IRQ_MASK_OFS)); | 1918 | readl(port_mmio + EDMA_ERR_IRQ_MASK_OFS)); |
1369 | } | 1919 | } |
1370 | 1920 | ||
1921 | static int mv_chip_id(struct pci_dev *pdev, struct mv_host_priv *hpriv, | ||
1922 | unsigned int board_idx) | ||
1923 | { | ||
1924 | u8 rev_id; | ||
1925 | u32 hp_flags = hpriv->hp_flags; | ||
1926 | |||
1927 | pci_read_config_byte(pdev, PCI_REVISION_ID, &rev_id); | ||
1928 | |||
1929 | switch(board_idx) { | ||
1930 | case chip_5080: | ||
1931 | hpriv->ops = &mv5xxx_ops; | ||
1932 | hp_flags |= MV_HP_50XX; | ||
1933 | |||
1934 | switch (rev_id) { | ||
1935 | case 0x1: | ||
1936 | hp_flags |= MV_HP_ERRATA_50XXB0; | ||
1937 | break; | ||
1938 | case 0x3: | ||
1939 | hp_flags |= MV_HP_ERRATA_50XXB2; | ||
1940 | break; | ||
1941 | default: | ||
1942 | dev_printk(KERN_WARNING, &pdev->dev, | ||
1943 | "Applying 50XXB2 workarounds to unknown rev\n"); | ||
1944 | hp_flags |= MV_HP_ERRATA_50XXB2; | ||
1945 | break; | ||
1946 | } | ||
1947 | break; | ||
1948 | |||
1949 | case chip_504x: | ||
1950 | case chip_508x: | ||
1951 | hpriv->ops = &mv5xxx_ops; | ||
1952 | hp_flags |= MV_HP_50XX; | ||
1953 | |||
1954 | switch (rev_id) { | ||
1955 | case 0x0: | ||
1956 | hp_flags |= MV_HP_ERRATA_50XXB0; | ||
1957 | break; | ||
1958 | case 0x3: | ||
1959 | hp_flags |= MV_HP_ERRATA_50XXB2; | ||
1960 | break; | ||
1961 | default: | ||
1962 | dev_printk(KERN_WARNING, &pdev->dev, | ||
1963 | "Applying B2 workarounds to unknown rev\n"); | ||
1964 | hp_flags |= MV_HP_ERRATA_50XXB2; | ||
1965 | break; | ||
1966 | } | ||
1967 | break; | ||
1968 | |||
1969 | case chip_604x: | ||
1970 | case chip_608x: | ||
1971 | hpriv->ops = &mv6xxx_ops; | ||
1972 | |||
1973 | switch (rev_id) { | ||
1974 | case 0x7: | ||
1975 | hp_flags |= MV_HP_ERRATA_60X1B2; | ||
1976 | break; | ||
1977 | case 0x9: | ||
1978 | hp_flags |= MV_HP_ERRATA_60X1C0; | ||
1979 | break; | ||
1980 | default: | ||
1981 | dev_printk(KERN_WARNING, &pdev->dev, | ||
1982 | "Applying B2 workarounds to unknown rev\n"); | ||
1983 | hp_flags |= MV_HP_ERRATA_60X1B2; | ||
1984 | break; | ||
1985 | } | ||
1986 | break; | ||
1987 | |||
1988 | default: | ||
1989 | printk(KERN_ERR DRV_NAME ": BUG: invalid board index %u\n", board_idx); | ||
1990 | return 1; | ||
1991 | } | ||
1992 | |||
1993 | hpriv->hp_flags = hp_flags; | ||
1994 | |||
1995 | return 0; | ||
1996 | } | ||
1997 | |||
1371 | /** | 1998 | /** |
1372 | * mv_host_init - Perform some early initialization of the host. | 1999 | * mv_init_host - Perform some early initialization of the host. |
2000 | * @pdev: host PCI device | ||
1373 | * @probe_ent: early data struct representing the host | 2001 | * @probe_ent: early data struct representing the host |
1374 | * | 2002 | * |
1375 | * If possible, do an early global reset of the host. Then do | 2003 | * If possible, do an early global reset of the host. Then do |
@@ -1378,23 +2006,48 @@ static void mv_port_init(struct ata_ioports *port, void __iomem *port_mmio) | |||
1378 | * LOCKING: | 2006 | * LOCKING: |
1379 | * Inherited from caller. | 2007 | * Inherited from caller. |
1380 | */ | 2008 | */ |
1381 | static int mv_host_init(struct ata_probe_ent *probe_ent) | 2009 | static int mv_init_host(struct pci_dev *pdev, struct ata_probe_ent *probe_ent, |
2010 | unsigned int board_idx) | ||
1382 | { | 2011 | { |
1383 | int rc = 0, n_hc, port, hc; | 2012 | int rc = 0, n_hc, port, hc; |
1384 | void __iomem *mmio = probe_ent->mmio_base; | 2013 | void __iomem *mmio = probe_ent->mmio_base; |
1385 | void __iomem *port_mmio; | 2014 | struct mv_host_priv *hpriv = probe_ent->private_data; |
1386 | 2015 | ||
1387 | if ((MV_FLAG_GLBL_SFT_RST & probe_ent->host_flags) && | 2016 | /* global interrupt mask */ |
1388 | mv_global_soft_reset(probe_ent->mmio_base)) { | 2017 | writel(0, mmio + HC_MAIN_IRQ_MASK_OFS); |
1389 | rc = 1; | 2018 | |
2019 | rc = mv_chip_id(pdev, hpriv, board_idx); | ||
2020 | if (rc) | ||
1390 | goto done; | 2021 | goto done; |
1391 | } | ||
1392 | 2022 | ||
1393 | n_hc = mv_get_hc_count(probe_ent->host_flags); | 2023 | n_hc = mv_get_hc_count(probe_ent->host_flags); |
1394 | probe_ent->n_ports = MV_PORTS_PER_HC * n_hc; | 2024 | probe_ent->n_ports = MV_PORTS_PER_HC * n_hc; |
1395 | 2025 | ||
2026 | for (port = 0; port < probe_ent->n_ports; port++) | ||
2027 | hpriv->ops->read_preamp(hpriv, port, mmio); | ||
2028 | |||
2029 | rc = hpriv->ops->reset_hc(hpriv, mmio, n_hc); | ||
2030 | if (rc) | ||
2031 | goto done; | ||
2032 | |||
2033 | hpriv->ops->reset_flash(hpriv, mmio); | ||
2034 | hpriv->ops->reset_bus(pdev, mmio); | ||
2035 | hpriv->ops->enable_leds(hpriv, mmio); | ||
2036 | |||
1396 | for (port = 0; port < probe_ent->n_ports; port++) { | 2037 | for (port = 0; port < probe_ent->n_ports; port++) { |
1397 | port_mmio = mv_port_base(mmio, port); | 2038 | if (IS_60XX(hpriv)) { |
2039 | void __iomem *port_mmio = mv_port_base(mmio, port); | ||
2040 | |||
2041 | u32 ifctl = readl(port_mmio + SATA_INTERFACE_CTL); | ||
2042 | ifctl |= (1 << 12); | ||
2043 | writelfl(ifctl, port_mmio + SATA_INTERFACE_CTL); | ||
2044 | } | ||
2045 | |||
2046 | hpriv->ops->phy_errata(hpriv, mmio, port); | ||
2047 | } | ||
2048 | |||
2049 | for (port = 0; port < probe_ent->n_ports; port++) { | ||
2050 | void __iomem *port_mmio = mv_port_base(mmio, port); | ||
1398 | mv_port_init(&probe_ent->port[port], port_mmio); | 2051 | mv_port_init(&probe_ent->port[port], port_mmio); |
1399 | } | 2052 | } |
1400 | 2053 | ||
@@ -1418,11 +2071,12 @@ static int mv_host_init(struct ata_probe_ent *probe_ent) | |||
1418 | writelfl(~HC_MAIN_MASKED_IRQS, mmio + HC_MAIN_IRQ_MASK_OFS); | 2071 | writelfl(~HC_MAIN_MASKED_IRQS, mmio + HC_MAIN_IRQ_MASK_OFS); |
1419 | 2072 | ||
1420 | VPRINTK("HC MAIN IRQ cause/mask=0x%08x/0x%08x " | 2073 | VPRINTK("HC MAIN IRQ cause/mask=0x%08x/0x%08x " |
1421 | "PCI int cause/mask=0x%08x/0x%08x\n", | 2074 | "PCI int cause/mask=0x%08x/0x%08x\n", |
1422 | readl(mmio + HC_MAIN_IRQ_CAUSE_OFS), | 2075 | readl(mmio + HC_MAIN_IRQ_CAUSE_OFS), |
1423 | readl(mmio + HC_MAIN_IRQ_MASK_OFS), | 2076 | readl(mmio + HC_MAIN_IRQ_MASK_OFS), |
1424 | readl(mmio + PCI_IRQ_CAUSE_OFS), | 2077 | readl(mmio + PCI_IRQ_CAUSE_OFS), |
1425 | readl(mmio + PCI_IRQ_MASK_OFS)); | 2078 | readl(mmio + PCI_IRQ_MASK_OFS)); |
2079 | |||
1426 | done: | 2080 | done: |
1427 | return rc; | 2081 | return rc; |
1428 | } | 2082 | } |
@@ -1458,7 +2112,7 @@ static void mv_print_info(struct ata_probe_ent *probe_ent) | |||
1458 | 2112 | ||
1459 | dev_printk(KERN_INFO, &pdev->dev, | 2113 | dev_printk(KERN_INFO, &pdev->dev, |
1460 | "%u slots %u ports %s mode IRQ via %s\n", | 2114 | "%u slots %u ports %s mode IRQ via %s\n", |
1461 | (unsigned)MV_MAX_Q_DEPTH, probe_ent->n_ports, | 2115 | (unsigned)MV_MAX_Q_DEPTH, probe_ent->n_ports, |
1462 | scc_s, (MV_HP_FLAG_MSI & hpriv->hp_flags) ? "MSI" : "INTx"); | 2116 | scc_s, (MV_HP_FLAG_MSI & hpriv->hp_flags) ? "MSI" : "INTx"); |
1463 | } | 2117 | } |
1464 | 2118 | ||
@@ -1528,7 +2182,7 @@ static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1528 | probe_ent->private_data = hpriv; | 2182 | probe_ent->private_data = hpriv; |
1529 | 2183 | ||
1530 | /* initialize adapter */ | 2184 | /* initialize adapter */ |
1531 | rc = mv_host_init(probe_ent); | 2185 | rc = mv_init_host(pdev, probe_ent, board_idx); |
1532 | if (rc) { | 2186 | if (rc) { |
1533 | goto err_out_hpriv; | 2187 | goto err_out_hpriv; |
1534 | } | 2188 | } |
diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c index 242d906987ad..8a8e3e3ef0ed 100644 --- a/drivers/scsi/sata_promise.c +++ b/drivers/scsi/sata_promise.c | |||
@@ -46,7 +46,7 @@ | |||
46 | #include "sata_promise.h" | 46 | #include "sata_promise.h" |
47 | 47 | ||
48 | #define DRV_NAME "sata_promise" | 48 | #define DRV_NAME "sata_promise" |
49 | #define DRV_VERSION "1.02" | 49 | #define DRV_VERSION "1.03" |
50 | 50 | ||
51 | 51 | ||
52 | enum { | 52 | enum { |
diff --git a/drivers/scsi/sata_qstor.c b/drivers/scsi/sata_qstor.c index 4a6d3067d23c..a8987f5ff5cc 100644 --- a/drivers/scsi/sata_qstor.c +++ b/drivers/scsi/sata_qstor.c | |||
@@ -41,7 +41,7 @@ | |||
41 | #include <linux/libata.h> | 41 | #include <linux/libata.h> |
42 | 42 | ||
43 | #define DRV_NAME "sata_qstor" | 43 | #define DRV_NAME "sata_qstor" |
44 | #define DRV_VERSION "0.04" | 44 | #define DRV_VERSION "0.05" |
45 | 45 | ||
46 | enum { | 46 | enum { |
47 | QS_PORTS = 4, | 47 | QS_PORTS = 4, |
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c index 55e744d6db88..e0d6f194f54f 100644 --- a/drivers/scsi/sata_sil24.c +++ b/drivers/scsi/sata_sil24.c | |||
@@ -5,17 +5,6 @@ | |||
5 | * | 5 | * |
6 | * Based on preview driver from Silicon Image. | 6 | * Based on preview driver from Silicon Image. |
7 | * | 7 | * |
8 | * NOTE: No NCQ/ATAPI support yet. The preview driver didn't support | ||
9 | * NCQ nor ATAPI, and, unfortunately, I couldn't find out how to make | ||
10 | * those work. Enabling those shouldn't be difficult. Basic | ||
11 | * structure is all there (in libata-dev tree). If you have any | ||
12 | * information about this hardware, please contact me or linux-ide. | ||
13 | * Info is needed on... | ||
14 | * | ||
15 | * - How to issue tagged commands and turn on sactive on issue accordingly. | ||
16 | * - Where to put an ATAPI command and how to tell the device to send it. | ||
17 | * - How to enable/use 64bit. | ||
18 | * | ||
19 | * This program is free software; you can redistribute it and/or modify it | 8 | * This program is free software; you can redistribute it and/or modify it |
20 | * under the terms of the GNU General Public License as published by the | 9 | * under the terms of the GNU General Public License as published by the |
21 | * Free Software Foundation; either version 2, or (at your option) any | 10 | * Free Software Foundation; either version 2, or (at your option) any |
@@ -42,7 +31,7 @@ | |||
42 | #include <asm/io.h> | 31 | #include <asm/io.h> |
43 | 32 | ||
44 | #define DRV_NAME "sata_sil24" | 33 | #define DRV_NAME "sata_sil24" |
45 | #define DRV_VERSION "0.22" /* Silicon Image's preview driver was 0.10 */ | 34 | #define DRV_VERSION "0.23" |
46 | 35 | ||
47 | /* | 36 | /* |
48 | * Port request block (PRB) 32 bytes | 37 | * Port request block (PRB) 32 bytes |
@@ -139,6 +128,7 @@ enum { | |||
139 | PORT_CS_DEV_RST = (1 << 1), /* device reset */ | 128 | PORT_CS_DEV_RST = (1 << 1), /* device reset */ |
140 | PORT_CS_INIT = (1 << 2), /* port initialize */ | 129 | PORT_CS_INIT = (1 << 2), /* port initialize */ |
141 | PORT_CS_IRQ_WOC = (1 << 3), /* interrupt write one to clear */ | 130 | PORT_CS_IRQ_WOC = (1 << 3), /* interrupt write one to clear */ |
131 | PORT_CS_CDB16 = (1 << 5), /* 0=12b cdb, 1=16b cdb */ | ||
142 | PORT_CS_RESUME = (1 << 6), /* port resume */ | 132 | PORT_CS_RESUME = (1 << 6), /* port resume */ |
143 | PORT_CS_32BIT_ACTV = (1 << 10), /* 32-bit activation */ | 133 | PORT_CS_32BIT_ACTV = (1 << 10), /* 32-bit activation */ |
144 | PORT_CS_PM_EN = (1 << 13), /* port multiplier enable */ | 134 | PORT_CS_PM_EN = (1 << 13), /* port multiplier enable */ |
@@ -188,11 +178,29 @@ enum { | |||
188 | PORT_CERR_XFR_PCIPERR = 35, /* PSD ecode 11 - PCI prity err during transfer */ | 178 | PORT_CERR_XFR_PCIPERR = 35, /* PSD ecode 11 - PCI prity err during transfer */ |
189 | PORT_CERR_SENDSERVICE = 36, /* FIS received while sending service */ | 179 | PORT_CERR_SENDSERVICE = 36, /* FIS received while sending service */ |
190 | 180 | ||
181 | /* bits of PRB control field */ | ||
182 | PRB_CTRL_PROTOCOL = (1 << 0), /* override def. ATA protocol */ | ||
183 | PRB_CTRL_PACKET_READ = (1 << 4), /* PACKET cmd read */ | ||
184 | PRB_CTRL_PACKET_WRITE = (1 << 5), /* PACKET cmd write */ | ||
185 | PRB_CTRL_NIEN = (1 << 6), /* Mask completion irq */ | ||
186 | PRB_CTRL_SRST = (1 << 7), /* Soft reset request (ign BSY?) */ | ||
187 | |||
188 | /* PRB protocol field */ | ||
189 | PRB_PROT_PACKET = (1 << 0), | ||
190 | PRB_PROT_TCQ = (1 << 1), | ||
191 | PRB_PROT_NCQ = (1 << 2), | ||
192 | PRB_PROT_READ = (1 << 3), | ||
193 | PRB_PROT_WRITE = (1 << 4), | ||
194 | PRB_PROT_TRANSPARENT = (1 << 5), | ||
195 | |||
191 | /* | 196 | /* |
192 | * Other constants | 197 | * Other constants |
193 | */ | 198 | */ |
194 | SGE_TRM = (1 << 31), /* Last SGE in chain */ | 199 | SGE_TRM = (1 << 31), /* Last SGE in chain */ |
195 | PRB_SOFT_RST = (1 << 7), /* Soft reset request (ign BSY?) */ | 200 | SGE_LNK = (1 << 30), /* linked list |
201 | Points to SGT, not SGE */ | ||
202 | SGE_DRD = (1 << 29), /* discard data read (/dev/null) | ||
203 | data address ignored */ | ||
196 | 204 | ||
197 | /* board id */ | 205 | /* board id */ |
198 | BID_SIL3124 = 0, | 206 | BID_SIL3124 = 0, |
@@ -202,11 +210,22 @@ enum { | |||
202 | IRQ_STAT_4PORTS = 0xf, | 210 | IRQ_STAT_4PORTS = 0xf, |
203 | }; | 211 | }; |
204 | 212 | ||
205 | struct sil24_cmd_block { | 213 | struct sil24_ata_block { |
206 | struct sil24_prb prb; | 214 | struct sil24_prb prb; |
207 | struct sil24_sge sge[LIBATA_MAX_PRD]; | 215 | struct sil24_sge sge[LIBATA_MAX_PRD]; |
208 | }; | 216 | }; |
209 | 217 | ||
218 | struct sil24_atapi_block { | ||
219 | struct sil24_prb prb; | ||
220 | u8 cdb[16]; | ||
221 | struct sil24_sge sge[LIBATA_MAX_PRD - 1]; | ||
222 | }; | ||
223 | |||
224 | union sil24_cmd_block { | ||
225 | struct sil24_ata_block ata; | ||
226 | struct sil24_atapi_block atapi; | ||
227 | }; | ||
228 | |||
210 | /* | 229 | /* |
211 | * ap->private_data | 230 | * ap->private_data |
212 | * | 231 | * |
@@ -214,7 +233,7 @@ struct sil24_cmd_block { | |||
214 | * here from the previous interrupt. | 233 | * here from the previous interrupt. |
215 | */ | 234 | */ |
216 | struct sil24_port_priv { | 235 | struct sil24_port_priv { |
217 | struct sil24_cmd_block *cmd_block; /* 32 cmd blocks */ | 236 | union sil24_cmd_block *cmd_block; /* 32 cmd blocks */ |
218 | dma_addr_t cmd_block_dma; /* DMA base addr for them */ | 237 | dma_addr_t cmd_block_dma; /* DMA base addr for them */ |
219 | struct ata_taskfile tf; /* Cached taskfile registers */ | 238 | struct ata_taskfile tf; /* Cached taskfile registers */ |
220 | }; | 239 | }; |
@@ -225,6 +244,7 @@ struct sil24_host_priv { | |||
225 | void __iomem *port_base; /* port registers (4 * 8192 bytes @BAR2) */ | 244 | void __iomem *port_base; /* port registers (4 * 8192 bytes @BAR2) */ |
226 | }; | 245 | }; |
227 | 246 | ||
247 | static void sil24_dev_config(struct ata_port *ap, struct ata_device *dev); | ||
228 | static u8 sil24_check_status(struct ata_port *ap); | 248 | static u8 sil24_check_status(struct ata_port *ap); |
229 | static u32 sil24_scr_read(struct ata_port *ap, unsigned sc_reg); | 249 | static u32 sil24_scr_read(struct ata_port *ap, unsigned sc_reg); |
230 | static void sil24_scr_write(struct ata_port *ap, unsigned sc_reg, u32 val); | 250 | static void sil24_scr_write(struct ata_port *ap, unsigned sc_reg, u32 val); |
@@ -278,6 +298,8 @@ static struct scsi_host_template sil24_sht = { | |||
278 | static const struct ata_port_operations sil24_ops = { | 298 | static const struct ata_port_operations sil24_ops = { |
279 | .port_disable = ata_port_disable, | 299 | .port_disable = ata_port_disable, |
280 | 300 | ||
301 | .dev_config = sil24_dev_config, | ||
302 | |||
281 | .check_status = sil24_check_status, | 303 | .check_status = sil24_check_status, |
282 | .check_altstatus = sil24_check_status, | 304 | .check_altstatus = sil24_check_status, |
283 | .dev_select = ata_noop_dev_select, | 305 | .dev_select = ata_noop_dev_select, |
@@ -314,7 +336,7 @@ static struct ata_port_info sil24_port_info[] = { | |||
314 | { | 336 | { |
315 | .sht = &sil24_sht, | 337 | .sht = &sil24_sht, |
316 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 338 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
317 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | | 339 | ATA_FLAG_SRST | ATA_FLAG_MMIO | |
318 | ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(4), | 340 | ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(4), |
319 | .pio_mask = 0x1f, /* pio0-4 */ | 341 | .pio_mask = 0x1f, /* pio0-4 */ |
320 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 342 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
@@ -325,7 +347,7 @@ static struct ata_port_info sil24_port_info[] = { | |||
325 | { | 347 | { |
326 | .sht = &sil24_sht, | 348 | .sht = &sil24_sht, |
327 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 349 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
328 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | | 350 | ATA_FLAG_SRST | ATA_FLAG_MMIO | |
329 | ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(2), | 351 | ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(2), |
330 | .pio_mask = 0x1f, /* pio0-4 */ | 352 | .pio_mask = 0x1f, /* pio0-4 */ |
331 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 353 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
@@ -336,7 +358,7 @@ static struct ata_port_info sil24_port_info[] = { | |||
336 | { | 358 | { |
337 | .sht = &sil24_sht, | 359 | .sht = &sil24_sht, |
338 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 360 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
339 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | | 361 | ATA_FLAG_SRST | ATA_FLAG_MMIO | |
340 | ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(1), | 362 | ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(1), |
341 | .pio_mask = 0x1f, /* pio0-4 */ | 363 | .pio_mask = 0x1f, /* pio0-4 */ |
342 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 364 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
@@ -345,6 +367,16 @@ static struct ata_port_info sil24_port_info[] = { | |||
345 | }, | 367 | }, |
346 | }; | 368 | }; |
347 | 369 | ||
370 | static void sil24_dev_config(struct ata_port *ap, struct ata_device *dev) | ||
371 | { | ||
372 | void __iomem *port = (void __iomem *)ap->ioaddr.cmd_addr; | ||
373 | |||
374 | if (ap->cdb_len == 16) | ||
375 | writel(PORT_CS_CDB16, port + PORT_CTRL_STAT); | ||
376 | else | ||
377 | writel(PORT_CS_CDB16, port + PORT_CTRL_CLR); | ||
378 | } | ||
379 | |||
348 | static inline void sil24_update_tf(struct ata_port *ap) | 380 | static inline void sil24_update_tf(struct ata_port *ap) |
349 | { | 381 | { |
350 | struct sil24_port_priv *pp = ap->private_data; | 382 | struct sil24_port_priv *pp = ap->private_data; |
@@ -396,22 +428,73 @@ static void sil24_tf_read(struct ata_port *ap, struct ata_taskfile *tf) | |||
396 | *tf = pp->tf; | 428 | *tf = pp->tf; |
397 | } | 429 | } |
398 | 430 | ||
399 | static void sil24_phy_reset(struct ata_port *ap) | 431 | static int sil24_issue_SRST(struct ata_port *ap) |
400 | { | 432 | { |
401 | __sata_phy_reset(ap); | 433 | void __iomem *port = (void __iomem *)ap->ioaddr.cmd_addr; |
434 | struct sil24_port_priv *pp = ap->private_data; | ||
435 | struct sil24_prb *prb = &pp->cmd_block[0].ata.prb; | ||
436 | dma_addr_t paddr = pp->cmd_block_dma; | ||
437 | u32 irq_enable, irq_stat; | ||
438 | int cnt; | ||
439 | |||
440 | /* temporarily turn off IRQs during SRST */ | ||
441 | irq_enable = readl(port + PORT_IRQ_ENABLE_SET); | ||
442 | writel(irq_enable, port + PORT_IRQ_ENABLE_CLR); | ||
443 | |||
402 | /* | 444 | /* |
403 | * No ATAPI yet. Just unconditionally indicate ATA device. | 445 | * XXX: Not sure whether the following sleep is needed or not. |
404 | * If ATAPI device is attached, it will fail ATA_CMD_ID_ATA | 446 | * The original driver had it. So.... |
405 | * and libata core will ignore the device. | ||
406 | */ | 447 | */ |
407 | if (!(ap->flags & ATA_FLAG_PORT_DISABLED)) | 448 | msleep(10); |
408 | ap->device[0].class = ATA_DEV_ATA; | 449 | |
450 | prb->ctrl = PRB_CTRL_SRST; | ||
451 | prb->fis[1] = 0; /* no PM yet */ | ||
452 | |||
453 | writel((u32)paddr, port + PORT_CMD_ACTIVATE); | ||
454 | |||
455 | for (cnt = 0; cnt < 100; cnt++) { | ||
456 | irq_stat = readl(port + PORT_IRQ_STAT); | ||
457 | writel(irq_stat, port + PORT_IRQ_STAT); /* clear irq */ | ||
458 | |||
459 | irq_stat >>= PORT_IRQ_RAW_SHIFT; | ||
460 | if (irq_stat & (PORT_IRQ_COMPLETE | PORT_IRQ_ERROR)) | ||
461 | break; | ||
462 | |||
463 | msleep(1); | ||
464 | } | ||
465 | |||
466 | /* restore IRQs */ | ||
467 | writel(irq_enable, port + PORT_IRQ_ENABLE_SET); | ||
468 | |||
469 | if (!(irq_stat & PORT_IRQ_COMPLETE)) | ||
470 | return -1; | ||
471 | |||
472 | /* update TF */ | ||
473 | sil24_update_tf(ap); | ||
474 | return 0; | ||
475 | } | ||
476 | |||
477 | static void sil24_phy_reset(struct ata_port *ap) | ||
478 | { | ||
479 | struct sil24_port_priv *pp = ap->private_data; | ||
480 | |||
481 | __sata_phy_reset(ap); | ||
482 | if (ap->flags & ATA_FLAG_PORT_DISABLED) | ||
483 | return; | ||
484 | |||
485 | if (sil24_issue_SRST(ap) < 0) { | ||
486 | printk(KERN_ERR DRV_NAME | ||
487 | " ata%u: SRST failed, disabling port\n", ap->id); | ||
488 | ap->ops->port_disable(ap); | ||
489 | return; | ||
490 | } | ||
491 | |||
492 | ap->device->class = ata_dev_classify(&pp->tf); | ||
409 | } | 493 | } |
410 | 494 | ||
411 | static inline void sil24_fill_sg(struct ata_queued_cmd *qc, | 495 | static inline void sil24_fill_sg(struct ata_queued_cmd *qc, |
412 | struct sil24_cmd_block *cb) | 496 | struct sil24_sge *sge) |
413 | { | 497 | { |
414 | struct sil24_sge *sge = cb->sge; | ||
415 | struct scatterlist *sg; | 498 | struct scatterlist *sg; |
416 | unsigned int idx = 0; | 499 | unsigned int idx = 0; |
417 | 500 | ||
@@ -432,23 +515,47 @@ static void sil24_qc_prep(struct ata_queued_cmd *qc) | |||
432 | { | 515 | { |
433 | struct ata_port *ap = qc->ap; | 516 | struct ata_port *ap = qc->ap; |
434 | struct sil24_port_priv *pp = ap->private_data; | 517 | struct sil24_port_priv *pp = ap->private_data; |
435 | struct sil24_cmd_block *cb = pp->cmd_block + qc->tag; | 518 | union sil24_cmd_block *cb = pp->cmd_block + qc->tag; |
436 | struct sil24_prb *prb = &cb->prb; | 519 | struct sil24_prb *prb; |
520 | struct sil24_sge *sge; | ||
437 | 521 | ||
438 | switch (qc->tf.protocol) { | 522 | switch (qc->tf.protocol) { |
439 | case ATA_PROT_PIO: | 523 | case ATA_PROT_PIO: |
440 | case ATA_PROT_DMA: | 524 | case ATA_PROT_DMA: |
441 | case ATA_PROT_NODATA: | 525 | case ATA_PROT_NODATA: |
526 | prb = &cb->ata.prb; | ||
527 | sge = cb->ata.sge; | ||
528 | prb->ctrl = 0; | ||
529 | break; | ||
530 | |||
531 | case ATA_PROT_ATAPI: | ||
532 | case ATA_PROT_ATAPI_DMA: | ||
533 | case ATA_PROT_ATAPI_NODATA: | ||
534 | prb = &cb->atapi.prb; | ||
535 | sge = cb->atapi.sge; | ||
536 | memset(cb->atapi.cdb, 0, 32); | ||
537 | memcpy(cb->atapi.cdb, qc->cdb, ap->cdb_len); | ||
538 | |||
539 | if (qc->tf.protocol != ATA_PROT_ATAPI_NODATA) { | ||
540 | if (qc->tf.flags & ATA_TFLAG_WRITE) | ||
541 | prb->ctrl = PRB_CTRL_PACKET_WRITE; | ||
542 | else | ||
543 | prb->ctrl = PRB_CTRL_PACKET_READ; | ||
544 | } else | ||
545 | prb->ctrl = 0; | ||
546 | |||
442 | break; | 547 | break; |
548 | |||
443 | default: | 549 | default: |
444 | /* ATAPI isn't supported yet */ | 550 | prb = NULL; /* shut up, gcc */ |
551 | sge = NULL; | ||
445 | BUG(); | 552 | BUG(); |
446 | } | 553 | } |
447 | 554 | ||
448 | ata_tf_to_fis(&qc->tf, prb->fis, 0); | 555 | ata_tf_to_fis(&qc->tf, prb->fis, 0); |
449 | 556 | ||
450 | if (qc->flags & ATA_QCFLAG_DMAMAP) | 557 | if (qc->flags & ATA_QCFLAG_DMAMAP) |
451 | sil24_fill_sg(qc, cb); | 558 | sil24_fill_sg(qc, sge); |
452 | } | 559 | } |
453 | 560 | ||
454 | static int sil24_qc_issue(struct ata_queued_cmd *qc) | 561 | static int sil24_qc_issue(struct ata_queued_cmd *qc) |
@@ -467,6 +574,31 @@ static void sil24_irq_clear(struct ata_port *ap) | |||
467 | /* unused */ | 574 | /* unused */ |
468 | } | 575 | } |
469 | 576 | ||
577 | static int __sil24_restart_controller(void __iomem *port) | ||
578 | { | ||
579 | u32 tmp; | ||
580 | int cnt; | ||
581 | |||
582 | writel(PORT_CS_INIT, port + PORT_CTRL_STAT); | ||
583 | |||
584 | /* Max ~10ms */ | ||
585 | for (cnt = 0; cnt < 10000; cnt++) { | ||
586 | tmp = readl(port + PORT_CTRL_STAT); | ||
587 | if (tmp & PORT_CS_RDY) | ||
588 | return 0; | ||
589 | udelay(1); | ||
590 | } | ||
591 | |||
592 | return -1; | ||
593 | } | ||
594 | |||
595 | static void sil24_restart_controller(struct ata_port *ap) | ||
596 | { | ||
597 | if (__sil24_restart_controller((void __iomem *)ap->ioaddr.cmd_addr)) | ||
598 | printk(KERN_ERR DRV_NAME | ||
599 | " ata%u: failed to restart controller\n", ap->id); | ||
600 | } | ||
601 | |||
470 | static int __sil24_reset_controller(void __iomem *port) | 602 | static int __sil24_reset_controller(void __iomem *port) |
471 | { | 603 | { |
472 | int cnt; | 604 | int cnt; |
@@ -486,7 +618,11 @@ static int __sil24_reset_controller(void __iomem *port) | |||
486 | 618 | ||
487 | if (tmp & PORT_CS_DEV_RST) | 619 | if (tmp & PORT_CS_DEV_RST) |
488 | return -1; | 620 | return -1; |
489 | return 0; | 621 | |
622 | if (tmp & PORT_CS_RDY) | ||
623 | return 0; | ||
624 | |||
625 | return __sil24_restart_controller(port); | ||
490 | } | 626 | } |
491 | 627 | ||
492 | static void sil24_reset_controller(struct ata_port *ap) | 628 | static void sil24_reset_controller(struct ata_port *ap) |
@@ -548,9 +684,15 @@ static void sil24_error_intr(struct ata_port *ap, u32 slot_stat) | |||
548 | if (serror) | 684 | if (serror) |
549 | writel(serror, port + PORT_SERROR); | 685 | writel(serror, port + PORT_SERROR); |
550 | 686 | ||
551 | printk(KERN_ERR DRV_NAME " ata%u: error interrupt on port%d\n" | 687 | /* |
552 | " stat=0x%x irq=0x%x cmd_err=%d sstatus=0x%x serror=0x%x\n", | 688 | * Don't log ATAPI device errors. They're supposed to happen |
553 | ap->id, ap->port_no, slot_stat, irq_stat, cmd_err, sstatus, serror); | 689 | * and any serious errors will be logged using sense data by |
690 | * the SCSI layer. | ||
691 | */ | ||
692 | if (ap->device[0].class != ATA_DEV_ATAPI || cmd_err > PORT_CERR_SDB) | ||
693 | printk("ata%u: error interrupt on port%d\n" | ||
694 | " stat=0x%x irq=0x%x cmd_err=%d sstatus=0x%x serror=0x%x\n", | ||
695 | ap->id, ap->port_no, slot_stat, irq_stat, cmd_err, sstatus, serror); | ||
554 | 696 | ||
555 | if (cmd_err == PORT_CERR_DEV || cmd_err == PORT_CERR_SDB) { | 697 | if (cmd_err == PORT_CERR_DEV || cmd_err == PORT_CERR_SDB) { |
556 | /* | 698 | /* |
@@ -558,6 +700,7 @@ static void sil24_error_intr(struct ata_port *ap, u32 slot_stat) | |||
558 | */ | 700 | */ |
559 | sil24_update_tf(ap); | 701 | sil24_update_tf(ap); |
560 | err_mask = ac_err_mask(pp->tf.command); | 702 | err_mask = ac_err_mask(pp->tf.command); |
703 | sil24_restart_controller(ap); | ||
561 | } else { | 704 | } else { |
562 | /* | 705 | /* |
563 | * Other errors. libata currently doesn't have any | 706 | * Other errors. libata currently doesn't have any |
@@ -565,12 +708,11 @@ static void sil24_error_intr(struct ata_port *ap, u32 slot_stat) | |||
565 | * ATA_ERR. | 708 | * ATA_ERR. |
566 | */ | 709 | */ |
567 | err_mask = AC_ERR_OTHER; | 710 | err_mask = AC_ERR_OTHER; |
711 | sil24_reset_controller(ap); | ||
568 | } | 712 | } |
569 | 713 | ||
570 | if (qc) | 714 | if (qc) |
571 | ata_qc_complete(qc, err_mask); | 715 | ata_qc_complete(qc, err_mask); |
572 | |||
573 | sil24_reset_controller(ap); | ||
574 | } | 716 | } |
575 | 717 | ||
576 | static inline void sil24_host_intr(struct ata_port *ap) | 718 | static inline void sil24_host_intr(struct ata_port *ap) |
@@ -646,7 +788,7 @@ static int sil24_port_start(struct ata_port *ap) | |||
646 | { | 788 | { |
647 | struct device *dev = ap->host_set->dev; | 789 | struct device *dev = ap->host_set->dev; |
648 | struct sil24_port_priv *pp; | 790 | struct sil24_port_priv *pp; |
649 | struct sil24_cmd_block *cb; | 791 | union sil24_cmd_block *cb; |
650 | size_t cb_size = sizeof(*cb); | 792 | size_t cb_size = sizeof(*cb); |
651 | dma_addr_t cb_dma; | 793 | dma_addr_t cb_dma; |
652 | int rc = -ENOMEM; | 794 | int rc = -ENOMEM; |
diff --git a/drivers/scsi/sata_svw.c b/drivers/scsi/sata_svw.c index 57e5a9d964c3..6e7f7c83a75a 100644 --- a/drivers/scsi/sata_svw.c +++ b/drivers/scsi/sata_svw.c | |||
@@ -54,7 +54,7 @@ | |||
54 | #endif /* CONFIG_PPC_OF */ | 54 | #endif /* CONFIG_PPC_OF */ |
55 | 55 | ||
56 | #define DRV_NAME "sata_svw" | 56 | #define DRV_NAME "sata_svw" |
57 | #define DRV_VERSION "1.06" | 57 | #define DRV_VERSION "1.07" |
58 | 58 | ||
59 | /* Taskfile registers offsets */ | 59 | /* Taskfile registers offsets */ |
60 | #define K2_SATA_TF_CMD_OFFSET 0x00 | 60 | #define K2_SATA_TF_CMD_OFFSET 0x00 |
diff --git a/drivers/scsi/sata_sx4.c b/drivers/scsi/sata_sx4.c index b4bbe48acab0..dcc3ad9a9d6e 100644 --- a/drivers/scsi/sata_sx4.c +++ b/drivers/scsi/sata_sx4.c | |||
@@ -46,7 +46,7 @@ | |||
46 | #include "sata_promise.h" | 46 | #include "sata_promise.h" |
47 | 47 | ||
48 | #define DRV_NAME "sata_sx4" | 48 | #define DRV_NAME "sata_sx4" |
49 | #define DRV_VERSION "0.7" | 49 | #define DRV_VERSION "0.8" |
50 | 50 | ||
51 | 51 | ||
52 | enum { | 52 | enum { |
diff --git a/drivers/scsi/sata_vsc.c b/drivers/scsi/sata_vsc.c index 77a6e4b9262d..fcfa486965b4 100644 --- a/drivers/scsi/sata_vsc.c +++ b/drivers/scsi/sata_vsc.c | |||
@@ -47,7 +47,7 @@ | |||
47 | #include <linux/libata.h> | 47 | #include <linux/libata.h> |
48 | 48 | ||
49 | #define DRV_NAME "sata_vsc" | 49 | #define DRV_NAME "sata_vsc" |
50 | #define DRV_VERSION "1.0" | 50 | #define DRV_VERSION "1.1" |
51 | 51 | ||
52 | /* Interrupt register offsets (from chip base address) */ | 52 | /* Interrupt register offsets (from chip base address) */ |
53 | #define VSC_SATA_INT_STAT_OFFSET 0x00 | 53 | #define VSC_SATA_INT_STAT_OFFSET 0x00 |
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index ff36f0c9fdad..ad47c1b84c3f 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig | |||
@@ -507,7 +507,7 @@ config SERIAL_SUNSU_CONSOLE | |||
507 | 507 | ||
508 | config SERIAL_MUX | 508 | config SERIAL_MUX |
509 | tristate "Serial MUX support" | 509 | tristate "Serial MUX support" |
510 | depends on PARISC | 510 | depends on GSC |
511 | select SERIAL_CORE | 511 | select SERIAL_CORE |
512 | default y | 512 | default y |
513 | ---help--- | 513 | ---help--- |
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index 938d185841c9..89d7bd3eaee3 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c | |||
@@ -49,7 +49,6 @@ | |||
49 | #include <linux/serial.h> | 49 | #include <linux/serial.h> |
50 | 50 | ||
51 | #include <asm/io.h> | 51 | #include <asm/io.h> |
52 | #include <asm/irq.h> | ||
53 | #include <asm/sizes.h> | 52 | #include <asm/sizes.h> |
54 | #include <asm/hardware/amba.h> | 53 | #include <asm/hardware/amba.h> |
55 | #include <asm/hardware/clock.h> | 54 | #include <asm/hardware/clock.h> |
@@ -63,7 +62,8 @@ | |||
63 | 62 | ||
64 | #define AMBA_ISR_PASS_LIMIT 256 | 63 | #define AMBA_ISR_PASS_LIMIT 256 |
65 | 64 | ||
66 | #define UART_DUMMY_RSR_RX 256 | 65 | #define UART_DR_ERROR (UART011_DR_OE|UART011_DR_BE|UART011_DR_PE|UART011_DR_FE) |
66 | #define UART_DUMMY_DR_RX (1 << 16) | ||
67 | 67 | ||
68 | /* | 68 | /* |
69 | * We wrap our port structure around the generic uart_port. | 69 | * We wrap our port structure around the generic uart_port. |
@@ -116,7 +116,7 @@ pl011_rx_chars(struct uart_amba_port *uap) | |||
116 | #endif | 116 | #endif |
117 | { | 117 | { |
118 | struct tty_struct *tty = uap->port.info->tty; | 118 | struct tty_struct *tty = uap->port.info->tty; |
119 | unsigned int status, ch, flag, rsr, max_count = 256; | 119 | unsigned int status, ch, flag, max_count = 256; |
120 | 120 | ||
121 | status = readw(uap->port.membase + UART01x_FR); | 121 | status = readw(uap->port.membase + UART01x_FR); |
122 | while ((status & UART01x_FR_RXFE) == 0 && max_count--) { | 122 | while ((status & UART01x_FR_RXFE) == 0 && max_count--) { |
@@ -129,7 +129,7 @@ pl011_rx_chars(struct uart_amba_port *uap) | |||
129 | */ | 129 | */ |
130 | } | 130 | } |
131 | 131 | ||
132 | ch = readw(uap->port.membase + UART01x_DR); | 132 | ch = readw(uap->port.membase + UART01x_DR) | UART_DUMMY_DR_RX; |
133 | flag = TTY_NORMAL; | 133 | flag = TTY_NORMAL; |
134 | uap->port.icount.rx++; | 134 | uap->port.icount.rx++; |
135 | 135 | ||
@@ -137,34 +137,33 @@ pl011_rx_chars(struct uart_amba_port *uap) | |||
137 | * Note that the error handling code is | 137 | * Note that the error handling code is |
138 | * out of the main execution path | 138 | * out of the main execution path |
139 | */ | 139 | */ |
140 | rsr = readw(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; | 140 | if (unlikely(ch & UART_DR_ERROR)) { |
141 | if (unlikely(rsr & UART01x_RSR_ANY)) { | 141 | if (ch & UART011_DR_BE) { |
142 | if (rsr & UART01x_RSR_BE) { | 142 | ch &= ~(UART011_DR_FE | UART011_DR_PE); |
143 | rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE); | ||
144 | uap->port.icount.brk++; | 143 | uap->port.icount.brk++; |
145 | if (uart_handle_break(&uap->port)) | 144 | if (uart_handle_break(&uap->port)) |
146 | goto ignore_char; | 145 | goto ignore_char; |
147 | } else if (rsr & UART01x_RSR_PE) | 146 | } else if (ch & UART011_DR_PE) |
148 | uap->port.icount.parity++; | 147 | uap->port.icount.parity++; |
149 | else if (rsr & UART01x_RSR_FE) | 148 | else if (ch & UART011_DR_FE) |
150 | uap->port.icount.frame++; | 149 | uap->port.icount.frame++; |
151 | if (rsr & UART01x_RSR_OE) | 150 | if (ch & UART011_DR_OE) |
152 | uap->port.icount.overrun++; | 151 | uap->port.icount.overrun++; |
153 | 152 | ||
154 | rsr &= uap->port.read_status_mask; | 153 | ch &= uap->port.read_status_mask; |
155 | 154 | ||
156 | if (rsr & UART01x_RSR_BE) | 155 | if (ch & UART011_DR_BE) |
157 | flag = TTY_BREAK; | 156 | flag = TTY_BREAK; |
158 | else if (rsr & UART01x_RSR_PE) | 157 | else if (ch & UART011_DR_PE) |
159 | flag = TTY_PARITY; | 158 | flag = TTY_PARITY; |
160 | else if (rsr & UART01x_RSR_FE) | 159 | else if (ch & UART011_DR_FE) |
161 | flag = TTY_FRAME; | 160 | flag = TTY_FRAME; |
162 | } | 161 | } |
163 | 162 | ||
164 | if (uart_handle_sysrq_char(&uap->port, ch, regs)) | 163 | if (uart_handle_sysrq_char(&uap->port, ch, regs)) |
165 | goto ignore_char; | 164 | goto ignore_char; |
166 | 165 | ||
167 | uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag); | 166 | uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); |
168 | 167 | ||
169 | ignore_char: | 168 | ignore_char: |
170 | status = readw(uap->port.membase + UART01x_FR); | 169 | status = readw(uap->port.membase + UART01x_FR); |
@@ -476,33 +475,33 @@ pl011_set_termios(struct uart_port *port, struct termios *termios, | |||
476 | */ | 475 | */ |
477 | uart_update_timeout(port, termios->c_cflag, baud); | 476 | uart_update_timeout(port, termios->c_cflag, baud); |
478 | 477 | ||
479 | port->read_status_mask = UART01x_RSR_OE; | 478 | port->read_status_mask = UART011_DR_OE | 255; |
480 | if (termios->c_iflag & INPCK) | 479 | if (termios->c_iflag & INPCK) |
481 | port->read_status_mask |= UART01x_RSR_FE | UART01x_RSR_PE; | 480 | port->read_status_mask |= UART011_DR_FE | UART011_DR_PE; |
482 | if (termios->c_iflag & (BRKINT | PARMRK)) | 481 | if (termios->c_iflag & (BRKINT | PARMRK)) |
483 | port->read_status_mask |= UART01x_RSR_BE; | 482 | port->read_status_mask |= UART011_DR_BE; |
484 | 483 | ||
485 | /* | 484 | /* |
486 | * Characters to ignore | 485 | * Characters to ignore |
487 | */ | 486 | */ |
488 | port->ignore_status_mask = 0; | 487 | port->ignore_status_mask = 0; |
489 | if (termios->c_iflag & IGNPAR) | 488 | if (termios->c_iflag & IGNPAR) |
490 | port->ignore_status_mask |= UART01x_RSR_FE | UART01x_RSR_PE; | 489 | port->ignore_status_mask |= UART011_DR_FE | UART011_DR_PE; |
491 | if (termios->c_iflag & IGNBRK) { | 490 | if (termios->c_iflag & IGNBRK) { |
492 | port->ignore_status_mask |= UART01x_RSR_BE; | 491 | port->ignore_status_mask |= UART011_DR_BE; |
493 | /* | 492 | /* |
494 | * If we're ignoring parity and break indicators, | 493 | * If we're ignoring parity and break indicators, |
495 | * ignore overruns too (for real raw support). | 494 | * ignore overruns too (for real raw support). |
496 | */ | 495 | */ |
497 | if (termios->c_iflag & IGNPAR) | 496 | if (termios->c_iflag & IGNPAR) |
498 | port->ignore_status_mask |= UART01x_RSR_OE; | 497 | port->ignore_status_mask |= UART011_DR_OE; |
499 | } | 498 | } |
500 | 499 | ||
501 | /* | 500 | /* |
502 | * Ignore all characters if CREAD is not set. | 501 | * Ignore all characters if CREAD is not set. |
503 | */ | 502 | */ |
504 | if ((termios->c_cflag & CREAD) == 0) | 503 | if ((termios->c_cflag & CREAD) == 0) |
505 | port->ignore_status_mask |= UART_DUMMY_RSR_RX; | 504 | port->ignore_status_mask |= UART_DUMMY_DR_RX; |
506 | 505 | ||
507 | if (UART_ENABLE_MS(port, termios->c_cflag)) | 506 | if (UART_ENABLE_MS(port, termios->c_cflag)) |
508 | pl011_enable_ms(port); | 507 | pl011_enable_ms(port); |
diff --git a/drivers/serial/mux.c b/drivers/serial/mux.c index 660bae5ba179..7633132a10aa 100644 --- a/drivers/serial/mux.c +++ b/drivers/serial/mux.c | |||
@@ -65,8 +65,8 @@ static struct uart_driver mux_driver = { | |||
65 | 65 | ||
66 | static struct timer_list mux_timer; | 66 | static struct timer_list mux_timer; |
67 | 67 | ||
68 | #define UART_PUT_CHAR(p, c) __raw_writel((c), (unsigned long)(p)->membase + IO_DATA_REG_OFFSET) | 68 | #define UART_PUT_CHAR(p, c) __raw_writel((c), (p)->membase + IO_DATA_REG_OFFSET) |
69 | #define UART_GET_FIFO_CNT(p) __raw_readl((unsigned long)(p)->membase + IO_DCOUNT_REG_OFFSET) | 69 | #define UART_GET_FIFO_CNT(p) __raw_readl((p)->membase + IO_DCOUNT_REG_OFFSET) |
70 | #define GET_MUX_PORTS(iodc_data) ((((iodc_data)[4] & 0xf0) >> 4) * 8) + 8 | 70 | #define GET_MUX_PORTS(iodc_data) ((((iodc_data)[4] & 0xf0) >> 4) * 8) + 8 |
71 | 71 | ||
72 | /** | 72 | /** |
@@ -79,10 +79,7 @@ static struct timer_list mux_timer; | |||
79 | */ | 79 | */ |
80 | static unsigned int mux_tx_empty(struct uart_port *port) | 80 | static unsigned int mux_tx_empty(struct uart_port *port) |
81 | { | 81 | { |
82 | unsigned int cnt = __raw_readl((unsigned long)port->membase | 82 | return UART_GET_FIFO_CNT(port) ? 0 : TIOCSER_TEMT; |
83 | + IO_DCOUNT_REG_OFFSET); | ||
84 | |||
85 | return cnt ? 0 : TIOCSER_TEMT; | ||
86 | } | 83 | } |
87 | 84 | ||
88 | /** | 85 | /** |
@@ -218,8 +215,7 @@ static void mux_read(struct uart_port *port) | |||
218 | __u32 start_count = port->icount.rx; | 215 | __u32 start_count = port->icount.rx; |
219 | 216 | ||
220 | while(1) { | 217 | while(1) { |
221 | data = __raw_readl((unsigned long)port->membase | 218 | data = __raw_readl(port->membase + IO_DATA_REG_OFFSET); |
222 | + IO_DATA_REG_OFFSET); | ||
223 | 219 | ||
224 | if (MUX_STATUS(data)) | 220 | if (MUX_STATUS(data)) |
225 | continue; | 221 | continue; |
@@ -481,6 +477,13 @@ static int __init mux_probe(struct parisc_device *dev) | |||
481 | port->ops = &mux_pops; | 477 | port->ops = &mux_pops; |
482 | port->flags = UPF_BOOT_AUTOCONF; | 478 | port->flags = UPF_BOOT_AUTOCONF; |
483 | port->line = port_cnt; | 479 | port->line = port_cnt; |
480 | |||
481 | /* The port->timeout needs to match what is present in | ||
482 | * uart_wait_until_sent in serial_core.c. Otherwise | ||
483 | * the time spent in msleep_interruptable will be very | ||
484 | * long, causing the appearance of a console hang. | ||
485 | */ | ||
486 | port->timeout = HZ / 50; | ||
484 | spin_lock_init(&port->lock); | 487 | spin_lock_init(&port->lock); |
485 | status = uart_add_one_port(&mux_driver, port); | 488 | status = uart_add_one_port(&mux_driver, port); |
486 | BUG_ON(status); | 489 | BUG_ON(status); |
diff --git a/drivers/serial/sa1100.c b/drivers/serial/sa1100.c index 0e3daf6d7b50..25a086458ab9 100644 --- a/drivers/serial/sa1100.c +++ b/drivers/serial/sa1100.c | |||
@@ -161,7 +161,6 @@ static void sa1100_stop_tx(struct uart_port *port) | |||
161 | static void sa1100_start_tx(struct uart_port *port) | 161 | static void sa1100_start_tx(struct uart_port *port) |
162 | { | 162 | { |
163 | struct sa1100_port *sport = (struct sa1100_port *)port; | 163 | struct sa1100_port *sport = (struct sa1100_port *)port; |
164 | unsigned long flags; | ||
165 | u32 utcr3; | 164 | u32 utcr3; |
166 | 165 | ||
167 | utcr3 = UART_GET_UTCR3(sport); | 166 | utcr3 = UART_GET_UTCR3(sport); |
diff --git a/drivers/tc/zs.c b/drivers/tc/zs.c index c52af73a251b..6756d0fab6fe 100644 --- a/drivers/tc/zs.c +++ b/drivers/tc/zs.c | |||
@@ -6,7 +6,7 @@ | |||
6 | * | 6 | * |
7 | * DECstation changes | 7 | * DECstation changes |
8 | * Copyright (C) 1998-2000 Harald Koerfgen | 8 | * Copyright (C) 1998-2000 Harald Koerfgen |
9 | * Copyright (C) 2000, 2001, 2002, 2003, 2004 Maciej W. Rozycki | 9 | * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Maciej W. Rozycki |
10 | * | 10 | * |
11 | * For the rest of the code the original Copyright applies: | 11 | * For the rest of the code the original Copyright applies: |
12 | * Copyright (C) 1996 Paul Mackerras (Paul.Mackerras@cs.anu.edu.au) | 12 | * Copyright (C) 1996 Paul Mackerras (Paul.Mackerras@cs.anu.edu.au) |
@@ -55,6 +55,7 @@ | |||
55 | #include <linux/delay.h> | 55 | #include <linux/delay.h> |
56 | #include <linux/init.h> | 56 | #include <linux/init.h> |
57 | #include <linux/ioport.h> | 57 | #include <linux/ioport.h> |
58 | #include <linux/spinlock.h> | ||
58 | #ifdef CONFIG_SERIAL_DEC_CONSOLE | 59 | #ifdef CONFIG_SERIAL_DEC_CONSOLE |
59 | #include <linux/console.h> | 60 | #include <linux/console.h> |
60 | #endif | 61 | #endif |
@@ -63,7 +64,6 @@ | |||
63 | #include <asm/pgtable.h> | 64 | #include <asm/pgtable.h> |
64 | #include <asm/irq.h> | 65 | #include <asm/irq.h> |
65 | #include <asm/system.h> | 66 | #include <asm/system.h> |
66 | #include <asm/uaccess.h> | ||
67 | #include <asm/bootinfo.h> | 67 | #include <asm/bootinfo.h> |
68 | 68 | ||
69 | #include <asm/dec/interrupts.h> | 69 | #include <asm/dec/interrupts.h> |
@@ -128,6 +128,8 @@ static struct zs_parms ds_parms = { | |||
128 | 128 | ||
129 | #define BUS_PRESENT (DS_BUS_PRESENT) | 129 | #define BUS_PRESENT (DS_BUS_PRESENT) |
130 | 130 | ||
131 | DEFINE_SPINLOCK(zs_lock); | ||
132 | |||
131 | struct dec_zschannel zs_channels[NUM_CHANNELS]; | 133 | struct dec_zschannel zs_channels[NUM_CHANNELS]; |
132 | struct dec_serial zs_soft[NUM_CHANNELS]; | 134 | struct dec_serial zs_soft[NUM_CHANNELS]; |
133 | int zs_channels_found; | 135 | int zs_channels_found; |
@@ -159,8 +161,6 @@ static unsigned char zs_init_regs[16] __initdata = { | |||
159 | 0 /* write 15 */ | 161 | 0 /* write 15 */ |
160 | }; | 162 | }; |
161 | 163 | ||
162 | DECLARE_TASK_QUEUE(tq_zs_serial); | ||
163 | |||
164 | static struct tty_driver *serial_driver; | 164 | static struct tty_driver *serial_driver; |
165 | 165 | ||
166 | /* serial subtype definitions */ | 166 | /* serial subtype definitions */ |
@@ -294,8 +294,7 @@ static inline void zs_rtsdtr(struct dec_serial *info, int which, int set) | |||
294 | { | 294 | { |
295 | unsigned long flags; | 295 | unsigned long flags; |
296 | 296 | ||
297 | 297 | spin_lock_irqsave(&zs_lock, flags); | |
298 | save_flags(flags); cli(); | ||
299 | if (info->zs_channel != info->zs_chan_a) { | 298 | if (info->zs_channel != info->zs_chan_a) { |
300 | if (set) { | 299 | if (set) { |
301 | info->zs_chan_a->curregs[5] |= (which & (RTS | DTR)); | 300 | info->zs_chan_a->curregs[5] |= (which & (RTS | DTR)); |
@@ -304,7 +303,7 @@ static inline void zs_rtsdtr(struct dec_serial *info, int which, int set) | |||
304 | } | 303 | } |
305 | write_zsreg(info->zs_chan_a, 5, info->zs_chan_a->curregs[5]); | 304 | write_zsreg(info->zs_chan_a, 5, info->zs_chan_a->curregs[5]); |
306 | } | 305 | } |
307 | restore_flags(flags); | 306 | spin_unlock_irqrestore(&zs_lock, flags); |
308 | } | 307 | } |
309 | 308 | ||
310 | /* Utility routines for the Zilog */ | 309 | /* Utility routines for the Zilog */ |
@@ -345,12 +344,10 @@ static inline void rs_recv_clear(struct dec_zschannel *zsc) | |||
345 | * This routine is used by the interrupt handler to schedule | 344 | * This routine is used by the interrupt handler to schedule |
346 | * processing in the software interrupt portion of the driver. | 345 | * processing in the software interrupt portion of the driver. |
347 | */ | 346 | */ |
348 | static _INLINE_ void rs_sched_event(struct dec_serial *info, | 347 | static _INLINE_ void rs_sched_event(struct dec_serial *info, int event) |
349 | int event) | ||
350 | { | 348 | { |
351 | info->event |= 1 << event; | 349 | info->event |= 1 << event; |
352 | queue_task(&info->tqueue, &tq_zs_serial); | 350 | tasklet_schedule(&info->tlet); |
353 | mark_bh(SERIAL_BH); | ||
354 | } | 351 | } |
355 | 352 | ||
356 | static _INLINE_ void receive_chars(struct dec_serial *info, | 353 | static _INLINE_ void receive_chars(struct dec_serial *info, |
@@ -497,9 +494,10 @@ static _INLINE_ void status_handle(struct dec_serial *info) | |||
497 | /* | 494 | /* |
498 | * This is the serial driver's generic interrupt routine | 495 | * This is the serial driver's generic interrupt routine |
499 | */ | 496 | */ |
500 | void rs_interrupt(int irq, void *dev_id, struct pt_regs * regs) | 497 | static irqreturn_t rs_interrupt(int irq, void *dev_id, struct pt_regs *regs) |
501 | { | 498 | { |
502 | struct dec_serial *info = (struct dec_serial *) dev_id; | 499 | struct dec_serial *info = (struct dec_serial *) dev_id; |
500 | irqreturn_t status = IRQ_NONE; | ||
503 | unsigned char zs_intreg; | 501 | unsigned char zs_intreg; |
504 | int shift; | 502 | int shift; |
505 | 503 | ||
@@ -521,6 +519,8 @@ void rs_interrupt(int irq, void *dev_id, struct pt_regs * regs) | |||
521 | if ((zs_intreg & CHAN_IRQMASK) == 0) | 519 | if ((zs_intreg & CHAN_IRQMASK) == 0) |
522 | break; | 520 | break; |
523 | 521 | ||
522 | status = IRQ_HANDLED; | ||
523 | |||
524 | if (zs_intreg & CHBRxIP) { | 524 | if (zs_intreg & CHBRxIP) { |
525 | receive_chars(info, regs); | 525 | receive_chars(info, regs); |
526 | } | 526 | } |
@@ -534,6 +534,8 @@ void rs_interrupt(int irq, void *dev_id, struct pt_regs * regs) | |||
534 | 534 | ||
535 | /* Why do we need this ? */ | 535 | /* Why do we need this ? */ |
536 | write_zsreg(info->zs_channel, 0, RES_H_IUS); | 536 | write_zsreg(info->zs_channel, 0, RES_H_IUS); |
537 | |||
538 | return status; | ||
537 | } | 539 | } |
538 | 540 | ||
539 | #ifdef ZS_DEBUG_REGS | 541 | #ifdef ZS_DEBUG_REGS |
@@ -578,12 +580,12 @@ static void rs_stop(struct tty_struct *tty) | |||
578 | return; | 580 | return; |
579 | 581 | ||
580 | #if 1 | 582 | #if 1 |
581 | save_flags(flags); cli(); | 583 | spin_lock_irqsave(&zs_lock, flags); |
582 | if (info->zs_channel->curregs[5] & TxENAB) { | 584 | if (info->zs_channel->curregs[5] & TxENAB) { |
583 | info->zs_channel->curregs[5] &= ~TxENAB; | 585 | info->zs_channel->curregs[5] &= ~TxENAB; |
584 | write_zsreg(info->zs_channel, 5, info->zs_channel->curregs[5]); | 586 | write_zsreg(info->zs_channel, 5, info->zs_channel->curregs[5]); |
585 | } | 587 | } |
586 | restore_flags(flags); | 588 | spin_unlock_irqrestore(&zs_lock, flags); |
587 | #endif | 589 | #endif |
588 | } | 590 | } |
589 | 591 | ||
@@ -595,7 +597,7 @@ static void rs_start(struct tty_struct *tty) | |||
595 | if (serial_paranoia_check(info, tty->name, "rs_start")) | 597 | if (serial_paranoia_check(info, tty->name, "rs_start")) |
596 | return; | 598 | return; |
597 | 599 | ||
598 | save_flags(flags); cli(); | 600 | spin_lock_irqsave(&zs_lock, flags); |
599 | #if 1 | 601 | #if 1 |
600 | if (info->xmit_cnt && info->xmit_buf && !(info->zs_channel->curregs[5] & TxENAB)) { | 602 | if (info->xmit_cnt && info->xmit_buf && !(info->zs_channel->curregs[5] & TxENAB)) { |
601 | info->zs_channel->curregs[5] |= TxENAB; | 603 | info->zs_channel->curregs[5] |= TxENAB; |
@@ -606,7 +608,7 @@ static void rs_start(struct tty_struct *tty) | |||
606 | transmit_chars(info); | 608 | transmit_chars(info); |
607 | } | 609 | } |
608 | #endif | 610 | #endif |
609 | restore_flags(flags); | 611 | spin_unlock_irqrestore(&zs_lock, flags); |
610 | } | 612 | } |
611 | 613 | ||
612 | /* | 614 | /* |
@@ -618,12 +620,8 @@ static void rs_start(struct tty_struct *tty) | |||
618 | * interrupt driver proper are done; the interrupt driver schedules | 620 | * interrupt driver proper are done; the interrupt driver schedules |
619 | * them using rs_sched_event(), and they get done here. | 621 | * them using rs_sched_event(), and they get done here. |
620 | */ | 622 | */ |
621 | static void do_serial_bh(void) | ||
622 | { | ||
623 | run_task_queue(&tq_zs_serial); | ||
624 | } | ||
625 | 623 | ||
626 | static void do_softint(void *private_) | 624 | static void do_softint(unsigned long private_) |
627 | { | 625 | { |
628 | struct dec_serial *info = (struct dec_serial *) private_; | 626 | struct dec_serial *info = (struct dec_serial *) private_; |
629 | struct tty_struct *tty; | 627 | struct tty_struct *tty; |
@@ -634,10 +632,11 @@ static void do_softint(void *private_) | |||
634 | 632 | ||
635 | if (test_and_clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) { | 633 | if (test_and_clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) { |
636 | tty_wakeup(tty); | 634 | tty_wakeup(tty); |
635 | wake_up_interruptible(&tty->write_wait); | ||
637 | } | 636 | } |
638 | } | 637 | } |
639 | 638 | ||
640 | int zs_startup(struct dec_serial * info) | 639 | static int zs_startup(struct dec_serial * info) |
641 | { | 640 | { |
642 | unsigned long flags; | 641 | unsigned long flags; |
643 | 642 | ||
@@ -650,7 +649,7 @@ int zs_startup(struct dec_serial * info) | |||
650 | return -ENOMEM; | 649 | return -ENOMEM; |
651 | } | 650 | } |
652 | 651 | ||
653 | save_flags(flags); cli(); | 652 | spin_lock_irqsave(&zs_lock, flags); |
654 | 653 | ||
655 | #ifdef SERIAL_DEBUG_OPEN | 654 | #ifdef SERIAL_DEBUG_OPEN |
656 | printk("starting up ttyS%d (irq %d)...", info->line, info->irq); | 655 | printk("starting up ttyS%d (irq %d)...", info->line, info->irq); |
@@ -706,7 +705,7 @@ int zs_startup(struct dec_serial * info) | |||
706 | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; | 705 | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
707 | 706 | ||
708 | info->flags |= ZILOG_INITIALIZED; | 707 | info->flags |= ZILOG_INITIALIZED; |
709 | restore_flags(flags); | 708 | spin_unlock_irqrestore(&zs_lock, flags); |
710 | return 0; | 709 | return 0; |
711 | } | 710 | } |
712 | 711 | ||
@@ -726,7 +725,7 @@ static void shutdown(struct dec_serial * info) | |||
726 | info->irq); | 725 | info->irq); |
727 | #endif | 726 | #endif |
728 | 727 | ||
729 | save_flags(flags); cli(); /* Disable interrupts */ | 728 | spin_lock_irqsave(&zs_lock, flags); |
730 | 729 | ||
731 | if (info->xmit_buf) { | 730 | if (info->xmit_buf) { |
732 | free_page((unsigned long) info->xmit_buf); | 731 | free_page((unsigned long) info->xmit_buf); |
@@ -749,7 +748,7 @@ static void shutdown(struct dec_serial * info) | |||
749 | set_bit(TTY_IO_ERROR, &info->tty->flags); | 748 | set_bit(TTY_IO_ERROR, &info->tty->flags); |
750 | 749 | ||
751 | info->flags &= ~ZILOG_INITIALIZED; | 750 | info->flags &= ~ZILOG_INITIALIZED; |
752 | restore_flags(flags); | 751 | spin_unlock_irqrestore(&zs_lock, flags); |
753 | } | 752 | } |
754 | 753 | ||
755 | /* | 754 | /* |
@@ -785,7 +784,7 @@ static void change_speed(struct dec_serial *info) | |||
785 | i += 15; | 784 | i += 15; |
786 | } | 785 | } |
787 | 786 | ||
788 | save_flags(flags); cli(); | 787 | spin_lock_irqsave(&zs_lock, flags); |
789 | info->zs_baud = baud_table[i]; | 788 | info->zs_baud = baud_table[i]; |
790 | if (info->zs_baud) { | 789 | if (info->zs_baud) { |
791 | brg = BPS_TO_BRG(info->zs_baud, zs_parms->clock/info->clk_divisor); | 790 | brg = BPS_TO_BRG(info->zs_baud, zs_parms->clock/info->clk_divisor); |
@@ -858,7 +857,7 @@ static void change_speed(struct dec_serial *info) | |||
858 | /* Load up the new values */ | 857 | /* Load up the new values */ |
859 | load_zsregs(info->zs_channel, info->zs_channel->curregs); | 858 | load_zsregs(info->zs_channel, info->zs_channel->curregs); |
860 | 859 | ||
861 | restore_flags(flags); | 860 | spin_unlock_irqrestore(&zs_lock, flags); |
862 | } | 861 | } |
863 | 862 | ||
864 | static void rs_flush_chars(struct tty_struct *tty) | 863 | static void rs_flush_chars(struct tty_struct *tty) |
@@ -874,9 +873,9 @@ static void rs_flush_chars(struct tty_struct *tty) | |||
874 | return; | 873 | return; |
875 | 874 | ||
876 | /* Enable transmitter */ | 875 | /* Enable transmitter */ |
877 | save_flags(flags); cli(); | 876 | spin_lock_irqsave(&zs_lock, flags); |
878 | transmit_chars(info); | 877 | transmit_chars(info); |
879 | restore_flags(flags); | 878 | spin_unlock_irqrestore(&zs_lock, flags); |
880 | } | 879 | } |
881 | 880 | ||
882 | static int rs_write(struct tty_struct * tty, | 881 | static int rs_write(struct tty_struct * tty, |
@@ -892,26 +891,17 @@ static int rs_write(struct tty_struct * tty, | |||
892 | if (!tty || !info->xmit_buf) | 891 | if (!tty || !info->xmit_buf) |
893 | return 0; | 892 | return 0; |
894 | 893 | ||
895 | save_flags(flags); | ||
896 | while (1) { | 894 | while (1) { |
897 | cli(); | 895 | spin_lock_irqsave(&zs_lock, flags); |
898 | c = min(count, min(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, | 896 | c = min(count, min(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, |
899 | SERIAL_XMIT_SIZE - info->xmit_head)); | 897 | SERIAL_XMIT_SIZE - info->xmit_head)); |
900 | if (c <= 0) | 898 | if (c <= 0) |
901 | break; | 899 | break; |
902 | 900 | ||
903 | if (from_user) { | 901 | memcpy(info->xmit_buf + info->xmit_head, buf, c); |
904 | down(&tmp_buf_sem); | ||
905 | copy_from_user(tmp_buf, buf, c); | ||
906 | c = min(c, min(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, | ||
907 | SERIAL_XMIT_SIZE - info->xmit_head)); | ||
908 | memcpy(info->xmit_buf + info->xmit_head, tmp_buf, c); | ||
909 | up(&tmp_buf_sem); | ||
910 | } else | ||
911 | memcpy(info->xmit_buf + info->xmit_head, buf, c); | ||
912 | info->xmit_head = (info->xmit_head + c) & (SERIAL_XMIT_SIZE-1); | 902 | info->xmit_head = (info->xmit_head + c) & (SERIAL_XMIT_SIZE-1); |
913 | info->xmit_cnt += c; | 903 | info->xmit_cnt += c; |
914 | restore_flags(flags); | 904 | spin_unlock_irqrestore(&zs_lock, flags); |
915 | buf += c; | 905 | buf += c; |
916 | count -= c; | 906 | count -= c; |
917 | total += c; | 907 | total += c; |
@@ -920,7 +910,7 @@ static int rs_write(struct tty_struct * tty, | |||
920 | if (info->xmit_cnt && !tty->stopped && !info->tx_stopped | 910 | if (info->xmit_cnt && !tty->stopped && !info->tx_stopped |
921 | && !info->tx_active) | 911 | && !info->tx_active) |
922 | transmit_chars(info); | 912 | transmit_chars(info); |
923 | restore_flags(flags); | 913 | spin_unlock_irqrestore(&zs_lock, flags); |
924 | return total; | 914 | return total; |
925 | } | 915 | } |
926 | 916 | ||
@@ -952,9 +942,9 @@ static void rs_flush_buffer(struct tty_struct *tty) | |||
952 | 942 | ||
953 | if (serial_paranoia_check(info, tty->name, "rs_flush_buffer")) | 943 | if (serial_paranoia_check(info, tty->name, "rs_flush_buffer")) |
954 | return; | 944 | return; |
955 | cli(); | 945 | spin_lock_irq(&zs_lock); |
956 | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; | 946 | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
957 | sti(); | 947 | spin_unlock_irq(&zs_lock); |
958 | tty_wakeup(tty); | 948 | tty_wakeup(tty); |
959 | } | 949 | } |
960 | 950 | ||
@@ -982,11 +972,11 @@ static void rs_throttle(struct tty_struct * tty) | |||
982 | return; | 972 | return; |
983 | 973 | ||
984 | if (I_IXOFF(tty)) { | 974 | if (I_IXOFF(tty)) { |
985 | save_flags(flags); cli(); | 975 | spin_lock_irqsave(&zs_lock, flags); |
986 | info->x_char = STOP_CHAR(tty); | 976 | info->x_char = STOP_CHAR(tty); |
987 | if (!info->tx_active) | 977 | if (!info->tx_active) |
988 | transmit_chars(info); | 978 | transmit_chars(info); |
989 | restore_flags(flags); | 979 | spin_unlock_irqrestore(&zs_lock, flags); |
990 | } | 980 | } |
991 | 981 | ||
992 | if (C_CRTSCTS(tty)) { | 982 | if (C_CRTSCTS(tty)) { |
@@ -1010,7 +1000,7 @@ static void rs_unthrottle(struct tty_struct * tty) | |||
1010 | return; | 1000 | return; |
1011 | 1001 | ||
1012 | if (I_IXOFF(tty)) { | 1002 | if (I_IXOFF(tty)) { |
1013 | save_flags(flags); cli(); | 1003 | spin_lock_irqsave(&zs_lock, flags); |
1014 | if (info->x_char) | 1004 | if (info->x_char) |
1015 | info->x_char = 0; | 1005 | info->x_char = 0; |
1016 | else { | 1006 | else { |
@@ -1018,7 +1008,7 @@ static void rs_unthrottle(struct tty_struct * tty) | |||
1018 | if (!info->tx_active) | 1008 | if (!info->tx_active) |
1019 | transmit_chars(info); | 1009 | transmit_chars(info); |
1020 | } | 1010 | } |
1021 | restore_flags(flags); | 1011 | spin_unlock_irqrestore(&zs_lock, flags); |
1022 | } | 1012 | } |
1023 | 1013 | ||
1024 | if (C_CRTSCTS(tty)) { | 1014 | if (C_CRTSCTS(tty)) { |
@@ -1111,9 +1101,9 @@ static int get_lsr_info(struct dec_serial * info, unsigned int *value) | |||
1111 | { | 1101 | { |
1112 | unsigned char status; | 1102 | unsigned char status; |
1113 | 1103 | ||
1114 | cli(); | 1104 | spin_lock(&zs_lock); |
1115 | status = read_zsreg(info->zs_channel, 0); | 1105 | status = read_zsreg(info->zs_channel, 0); |
1116 | sti(); | 1106 | spin_unlock_irq(&zs_lock); |
1117 | put_user(status,value); | 1107 | put_user(status,value); |
1118 | return 0; | 1108 | return 0; |
1119 | } | 1109 | } |
@@ -1136,11 +1126,11 @@ static int rs_tiocmget(struct tty_struct *tty, struct file *file) | |||
1136 | if (info->zs_channel == info->zs_chan_a) | 1126 | if (info->zs_channel == info->zs_chan_a) |
1137 | result = 0; | 1127 | result = 0; |
1138 | else { | 1128 | else { |
1139 | cli(); | 1129 | spin_lock(&zs_lock); |
1140 | control = info->zs_chan_a->curregs[5]; | 1130 | control = info->zs_chan_a->curregs[5]; |
1141 | status_a = read_zsreg(info->zs_chan_a, 0); | 1131 | status_a = read_zsreg(info->zs_chan_a, 0); |
1142 | status_b = read_zsreg(info->zs_channel, 0); | 1132 | status_b = read_zsreg(info->zs_channel, 0); |
1143 | sti(); | 1133 | spin_unlock_irq(&zs_lock); |
1144 | result = ((control & RTS) ? TIOCM_RTS: 0) | 1134 | result = ((control & RTS) ? TIOCM_RTS: 0) |
1145 | | ((control & DTR) ? TIOCM_DTR: 0) | 1135 | | ((control & DTR) ? TIOCM_DTR: 0) |
1146 | | ((status_b & DCD) ? TIOCM_CAR: 0) | 1136 | | ((status_b & DCD) ? TIOCM_CAR: 0) |
@@ -1155,8 +1145,6 @@ static int rs_tiocmset(struct tty_struct *tty, struct file *file, | |||
1155 | unsigned int set, unsigned int clear) | 1145 | unsigned int set, unsigned int clear) |
1156 | { | 1146 | { |
1157 | struct dec_serial * info = (struct dec_serial *)tty->driver_data; | 1147 | struct dec_serial * info = (struct dec_serial *)tty->driver_data; |
1158 | int error; | ||
1159 | unsigned int arg, bits; | ||
1160 | 1148 | ||
1161 | if (info->hook) | 1149 | if (info->hook) |
1162 | return -ENODEV; | 1150 | return -ENODEV; |
@@ -1170,8 +1158,7 @@ static int rs_tiocmset(struct tty_struct *tty, struct file *file, | |||
1170 | if (info->zs_channel == info->zs_chan_a) | 1158 | if (info->zs_channel == info->zs_chan_a) |
1171 | return 0; | 1159 | return 0; |
1172 | 1160 | ||
1173 | get_user(arg, value); | 1161 | spin_lock(&zs_lock); |
1174 | cli(); | ||
1175 | if (set & TIOCM_RTS) | 1162 | if (set & TIOCM_RTS) |
1176 | info->zs_chan_a->curregs[5] |= RTS; | 1163 | info->zs_chan_a->curregs[5] |= RTS; |
1177 | if (set & TIOCM_DTR) | 1164 | if (set & TIOCM_DTR) |
@@ -1181,7 +1168,7 @@ static int rs_tiocmset(struct tty_struct *tty, struct file *file, | |||
1181 | if (clear & TIOCM_DTR) | 1168 | if (clear & TIOCM_DTR) |
1182 | info->zs_chan_a->curregs[5] &= ~DTR; | 1169 | info->zs_chan_a->curregs[5] &= ~DTR; |
1183 | write_zsreg(info->zs_chan_a, 5, info->zs_chan_a->curregs[5]); | 1170 | write_zsreg(info->zs_chan_a, 5, info->zs_chan_a->curregs[5]); |
1184 | sti(); | 1171 | spin_unlock_irq(&zs_lock); |
1185 | return 0; | 1172 | return 0; |
1186 | } | 1173 | } |
1187 | 1174 | ||
@@ -1198,19 +1185,18 @@ static void rs_break(struct tty_struct *tty, int break_state) | |||
1198 | if (!info->port) | 1185 | if (!info->port) |
1199 | return; | 1186 | return; |
1200 | 1187 | ||
1201 | save_flags(flags); cli(); | 1188 | spin_lock_irqsave(&zs_lock, flags); |
1202 | if (break_state == -1) | 1189 | if (break_state == -1) |
1203 | info->zs_channel->curregs[5] |= SND_BRK; | 1190 | info->zs_channel->curregs[5] |= SND_BRK; |
1204 | else | 1191 | else |
1205 | info->zs_channel->curregs[5] &= ~SND_BRK; | 1192 | info->zs_channel->curregs[5] &= ~SND_BRK; |
1206 | write_zsreg(info->zs_channel, 5, info->zs_channel->curregs[5]); | 1193 | write_zsreg(info->zs_channel, 5, info->zs_channel->curregs[5]); |
1207 | restore_flags(flags); | 1194 | spin_unlock_irqrestore(&zs_lock, flags); |
1208 | } | 1195 | } |
1209 | 1196 | ||
1210 | static int rs_ioctl(struct tty_struct *tty, struct file * file, | 1197 | static int rs_ioctl(struct tty_struct *tty, struct file * file, |
1211 | unsigned int cmd, unsigned long arg) | 1198 | unsigned int cmd, unsigned long arg) |
1212 | { | 1199 | { |
1213 | int error; | ||
1214 | struct dec_serial * info = (struct dec_serial *)tty->driver_data; | 1200 | struct dec_serial * info = (struct dec_serial *)tty->driver_data; |
1215 | 1201 | ||
1216 | if (info->hook) | 1202 | if (info->hook) |
@@ -1287,10 +1273,10 @@ static void rs_close(struct tty_struct *tty, struct file * filp) | |||
1287 | if (!info || serial_paranoia_check(info, tty->name, "rs_close")) | 1273 | if (!info || serial_paranoia_check(info, tty->name, "rs_close")) |
1288 | return; | 1274 | return; |
1289 | 1275 | ||
1290 | save_flags(flags); cli(); | 1276 | spin_lock_irqsave(&zs_lock, flags); |
1291 | 1277 | ||
1292 | if (tty_hung_up_p(filp)) { | 1278 | if (tty_hung_up_p(filp)) { |
1293 | restore_flags(flags); | 1279 | spin_unlock_irqrestore(&zs_lock, flags); |
1294 | return; | 1280 | return; |
1295 | } | 1281 | } |
1296 | 1282 | ||
@@ -1315,7 +1301,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp) | |||
1315 | info->count = 0; | 1301 | info->count = 0; |
1316 | } | 1302 | } |
1317 | if (info->count) { | 1303 | if (info->count) { |
1318 | restore_flags(flags); | 1304 | spin_unlock_irqrestore(&zs_lock, flags); |
1319 | return; | 1305 | return; |
1320 | } | 1306 | } |
1321 | info->flags |= ZILOG_CLOSING; | 1307 | info->flags |= ZILOG_CLOSING; |
@@ -1358,7 +1344,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp) | |||
1358 | } | 1344 | } |
1359 | info->flags &= ~(ZILOG_NORMAL_ACTIVE|ZILOG_CLOSING); | 1345 | info->flags &= ~(ZILOG_NORMAL_ACTIVE|ZILOG_CLOSING); |
1360 | wake_up_interruptible(&info->close_wait); | 1346 | wake_up_interruptible(&info->close_wait); |
1361 | restore_flags(flags); | 1347 | spin_unlock_irqrestore(&zs_lock, flags); |
1362 | } | 1348 | } |
1363 | 1349 | ||
1364 | /* | 1350 | /* |
@@ -1398,7 +1384,7 @@ static void rs_wait_until_sent(struct tty_struct *tty, int timeout) | |||
1398 | /* | 1384 | /* |
1399 | * rs_hangup() --- called by tty_hangup() when a hangup is signaled. | 1385 | * rs_hangup() --- called by tty_hangup() when a hangup is signaled. |
1400 | */ | 1386 | */ |
1401 | void rs_hangup(struct tty_struct *tty) | 1387 | static void rs_hangup(struct tty_struct *tty) |
1402 | { | 1388 | { |
1403 | struct dec_serial * info = (struct dec_serial *)tty->driver_data; | 1389 | struct dec_serial * info = (struct dec_serial *)tty->driver_data; |
1404 | 1390 | ||
@@ -1466,16 +1452,16 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp, | |||
1466 | printk("block_til_ready before block: ttyS%d, count = %d\n", | 1452 | printk("block_til_ready before block: ttyS%d, count = %d\n", |
1467 | info->line, info->count); | 1453 | info->line, info->count); |
1468 | #endif | 1454 | #endif |
1469 | cli(); | 1455 | spin_lock(&zs_lock); |
1470 | if (!tty_hung_up_p(filp)) | 1456 | if (!tty_hung_up_p(filp)) |
1471 | info->count--; | 1457 | info->count--; |
1472 | sti(); | 1458 | spin_unlock_irq(&zs_lock); |
1473 | info->blocked_open++; | 1459 | info->blocked_open++; |
1474 | while (1) { | 1460 | while (1) { |
1475 | cli(); | 1461 | spin_lock(&zs_lock); |
1476 | if (tty->termios->c_cflag & CBAUD) | 1462 | if (tty->termios->c_cflag & CBAUD) |
1477 | zs_rtsdtr(info, RTS | DTR, 1); | 1463 | zs_rtsdtr(info, RTS | DTR, 1); |
1478 | sti(); | 1464 | spin_unlock_irq(&zs_lock); |
1479 | set_current_state(TASK_INTERRUPTIBLE); | 1465 | set_current_state(TASK_INTERRUPTIBLE); |
1480 | if (tty_hung_up_p(filp) || | 1466 | if (tty_hung_up_p(filp) || |
1481 | !(info->flags & ZILOG_INITIALIZED)) { | 1467 | !(info->flags & ZILOG_INITIALIZED)) { |
@@ -1523,7 +1509,7 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp, | |||
1523 | * the IRQ chain. It also performs the serial-specific | 1509 | * the IRQ chain. It also performs the serial-specific |
1524 | * initialization for the tty structure. | 1510 | * initialization for the tty structure. |
1525 | */ | 1511 | */ |
1526 | int rs_open(struct tty_struct *tty, struct file * filp) | 1512 | static int rs_open(struct tty_struct *tty, struct file * filp) |
1527 | { | 1513 | { |
1528 | struct dec_serial *info; | 1514 | struct dec_serial *info; |
1529 | int retval, line; | 1515 | int retval, line; |
@@ -1706,7 +1692,7 @@ static void __init probe_sccs(void) | |||
1706 | } | 1692 | } |
1707 | } | 1693 | } |
1708 | 1694 | ||
1709 | save_and_cli(flags); | 1695 | spin_lock_irqsave(&zs_lock, flags); |
1710 | for (n = 0; n < zs_channels_found; n++) { | 1696 | for (n = 0; n < zs_channels_found; n++) { |
1711 | if (n % 2 == 0) { | 1697 | if (n % 2 == 0) { |
1712 | write_zsreg(zs_soft[n].zs_chan_a, R9, FHWRES); | 1698 | write_zsreg(zs_soft[n].zs_chan_a, R9, FHWRES); |
@@ -1716,7 +1702,7 @@ static void __init probe_sccs(void) | |||
1716 | load_zsregs(zs_soft[n].zs_channel, | 1702 | load_zsregs(zs_soft[n].zs_channel, |
1717 | zs_soft[n].zs_channel->curregs); | 1703 | zs_soft[n].zs_channel->curregs); |
1718 | } | 1704 | } |
1719 | restore_flags(flags); | 1705 | spin_unlock_irqrestore(&zs_lock, flags); |
1720 | } | 1706 | } |
1721 | 1707 | ||
1722 | static struct tty_operations serial_ops = { | 1708 | static struct tty_operations serial_ops = { |
@@ -1749,9 +1735,6 @@ int __init zs_init(void) | |||
1749 | if(!BUS_PRESENT) | 1735 | if(!BUS_PRESENT) |
1750 | return -ENODEV; | 1736 | return -ENODEV; |
1751 | 1737 | ||
1752 | /* Setup base handler, and timer table. */ | ||
1753 | init_bh(SERIAL_BH, do_serial_bh); | ||
1754 | |||
1755 | /* Find out how many Z8530 SCCs we have */ | 1738 | /* Find out how many Z8530 SCCs we have */ |
1756 | if (zs_chain == 0) | 1739 | if (zs_chain == 0) |
1757 | probe_sccs(); | 1740 | probe_sccs(); |
@@ -1800,8 +1783,7 @@ int __init zs_init(void) | |||
1800 | info->event = 0; | 1783 | info->event = 0; |
1801 | info->count = 0; | 1784 | info->count = 0; |
1802 | info->blocked_open = 0; | 1785 | info->blocked_open = 0; |
1803 | info->tqueue.routine = do_softint; | 1786 | tasklet_init(&info->tlet, do_softint, (unsigned long)info); |
1804 | info->tqueue.data = info; | ||
1805 | init_waitqueue_head(&info->open_wait); | 1787 | init_waitqueue_head(&info->open_wait); |
1806 | init_waitqueue_head(&info->close_wait); | 1788 | init_waitqueue_head(&info->close_wait); |
1807 | printk("ttyS%02d at 0x%08x (irq = %d) is a Z85C30 SCC\n", | 1789 | printk("ttyS%02d at 0x%08x (irq = %d) is a Z85C30 SCC\n", |
@@ -1833,8 +1815,7 @@ int __init zs_init(void) | |||
1833 | /* | 1815 | /* |
1834 | * polling I/O routines | 1816 | * polling I/O routines |
1835 | */ | 1817 | */ |
1836 | static int | 1818 | static int zs_poll_tx_char(void *handle, unsigned char ch) |
1837 | zs_poll_tx_char(void *handle, unsigned char ch) | ||
1838 | { | 1819 | { |
1839 | struct dec_serial *info = handle; | 1820 | struct dec_serial *info = handle; |
1840 | struct dec_zschannel *chan = info->zs_channel; | 1821 | struct dec_zschannel *chan = info->zs_channel; |
@@ -1857,8 +1838,7 @@ zs_poll_tx_char(void *handle, unsigned char ch) | |||
1857 | return -ENODEV; | 1838 | return -ENODEV; |
1858 | } | 1839 | } |
1859 | 1840 | ||
1860 | static int | 1841 | static int zs_poll_rx_char(void *handle) |
1861 | zs_poll_rx_char(void *handle) | ||
1862 | { | 1842 | { |
1863 | struct dec_serial *info = handle; | 1843 | struct dec_serial *info = handle; |
1864 | struct dec_zschannel *chan = info->zs_channel; | 1844 | struct dec_zschannel *chan = info->zs_channel; |
@@ -2037,7 +2017,7 @@ static int __init serial_console_setup(struct console *co, char *options) | |||
2037 | } | 2017 | } |
2038 | co->cflag = cflag; | 2018 | co->cflag = cflag; |
2039 | 2019 | ||
2040 | save_and_cli(flags); | 2020 | spin_lock_irqsave(&zs_lock, flags); |
2041 | 2021 | ||
2042 | /* | 2022 | /* |
2043 | * Set up the baud rate generator. | 2023 | * Set up the baud rate generator. |
@@ -2092,7 +2072,7 @@ static int __init serial_console_setup(struct console *co, char *options) | |||
2092 | zs_soft[co->index].clk_divisor = clk_divisor; | 2072 | zs_soft[co->index].clk_divisor = clk_divisor; |
2093 | zs_soft[co->index].zs_baud = get_zsbaud(&zs_soft[co->index]); | 2073 | zs_soft[co->index].zs_baud = get_zsbaud(&zs_soft[co->index]); |
2094 | 2074 | ||
2095 | restore_flags(flags); | 2075 | spin_unlock_irqrestore(&zs_lock, flags); |
2096 | 2076 | ||
2097 | return 0; | 2077 | return 0; |
2098 | } | 2078 | } |
@@ -2229,5 +2209,3 @@ void __init zs_kgdb_hook(int tty_num) | |||
2229 | set_debug_traps(); /* init stub */ | 2209 | set_debug_traps(); /* init stub */ |
2230 | } | 2210 | } |
2231 | #endif /* ifdef CONFIG_KGDB */ | 2211 | #endif /* ifdef CONFIG_KGDB */ |
2232 | |||
2233 | |||
diff --git a/drivers/tc/zs.h b/drivers/tc/zs.h index c52edffa6049..13512200ceba 100644 --- a/drivers/tc/zs.h +++ b/drivers/tc/zs.h | |||
@@ -6,14 +6,14 @@ | |||
6 | * | 6 | * |
7 | * Copyright (C) 1996 Paul Mackerras (Paul.Mackerras@cs.anu.edu.au) | 7 | * Copyright (C) 1996 Paul Mackerras (Paul.Mackerras@cs.anu.edu.au) |
8 | * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | 8 | * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) |
9 | * Copyright (C) 2004 Maciej W. Rozycki | 9 | * Copyright (C) 2004, 2005 Maciej W. Rozycki |
10 | */ | 10 | */ |
11 | #ifndef _DECSERIAL_H | 11 | #ifndef _DECSERIAL_H |
12 | #define _DECSERIAL_H | 12 | #define _DECSERIAL_H |
13 | 13 | ||
14 | #include <asm/dec/serial.h> | 14 | #include <asm/dec/serial.h> |
15 | 15 | ||
16 | #define NUM_ZSREGS 16 | 16 | #define NUM_ZSREGS 16 |
17 | 17 | ||
18 | struct serial_struct { | 18 | struct serial_struct { |
19 | int type; | 19 | int type; |
@@ -139,8 +139,7 @@ struct dec_serial { | |||
139 | int xmit_head; | 139 | int xmit_head; |
140 | int xmit_tail; | 140 | int xmit_tail; |
141 | int xmit_cnt; | 141 | int xmit_cnt; |
142 | struct tq_struct tqueue; | 142 | struct tasklet_struct tlet; |
143 | struct tq_struct tqueue_hangup; | ||
144 | wait_queue_head_t open_wait; | 143 | wait_queue_head_t open_wait; |
145 | wait_queue_head_t close_wait; | 144 | wait_queue_head_t close_wait; |
146 | }; | 145 | }; |
@@ -282,7 +281,7 @@ struct dec_serial { | |||
282 | #define DLC 4 /* Disable Lower Chain */ | 281 | #define DLC 4 /* Disable Lower Chain */ |
283 | #define MIE 8 /* Master Interrupt Enable */ | 282 | #define MIE 8 /* Master Interrupt Enable */ |
284 | #define STATHI 0x10 /* Status high */ | 283 | #define STATHI 0x10 /* Status high */ |
285 | #define SOFTACK 0x20 /* Software Interrupt Acknowledge */ | 284 | #define SOFTACK 0x20 /* Software Interrupt Acknowledge */ |
286 | #define NORESET 0 /* No reset on write to R9 */ | 285 | #define NORESET 0 /* No reset on write to R9 */ |
287 | #define CHRB 0x40 /* Reset channel B */ | 286 | #define CHRB 0x40 /* Reset channel B */ |
288 | #define CHRA 0x80 /* Reset channel A */ | 287 | #define CHRA 0x80 /* Reset channel A */ |
@@ -395,8 +394,8 @@ struct dec_serial { | |||
395 | /* Read Register 15 (value of WR 15) */ | 394 | /* Read Register 15 (value of WR 15) */ |
396 | 395 | ||
397 | /* Misc macros */ | 396 | /* Misc macros */ |
398 | #define ZS_CLEARERR(channel) (write_zsreg(channel, 0, ERR_RES)) | 397 | #define ZS_CLEARERR(channel) (write_zsreg(channel, 0, ERR_RES)) |
399 | #define ZS_CLEARFIFO(channel) do { volatile unsigned char garbage; \ | 398 | #define ZS_CLEARFIFO(channel) do { volatile unsigned char garbage; \ |
400 | garbage = read_zsdata(channel); \ | 399 | garbage = read_zsdata(channel); \ |
401 | garbage = read_zsdata(channel); \ | 400 | garbage = read_zsdata(channel); \ |
402 | garbage = read_zsdata(channel); \ | 401 | garbage = read_zsdata(channel); \ |
diff --git a/drivers/usb/atm/Makefile b/drivers/usb/atm/Makefile index 751f297be2ef..85099718c683 100644 --- a/drivers/usb/atm/Makefile +++ b/drivers/usb/atm/Makefile | |||
@@ -6,3 +6,7 @@ obj-$(CONFIG_USB_CXACRU) += cxacru.o | |||
6 | obj-$(CONFIG_USB_SPEEDTOUCH) += speedtch.o | 6 | obj-$(CONFIG_USB_SPEEDTOUCH) += speedtch.o |
7 | obj-$(CONFIG_USB_ATM) += usbatm.o | 7 | obj-$(CONFIG_USB_ATM) += usbatm.o |
8 | obj-$(CONFIG_USB_XUSBATM) += xusbatm.o | 8 | obj-$(CONFIG_USB_XUSBATM) += xusbatm.o |
9 | |||
10 | ifeq ($(CONFIG_USB_DEBUG),y) | ||
11 | EXTRA_CFLAGS += -DDEBUG | ||
12 | endif | ||
diff --git a/drivers/usb/atm/usbatm.h b/drivers/usb/atm/usbatm.h index 936646457935..1adacd60d713 100644 --- a/drivers/usb/atm/usbatm.h +++ b/drivers/usb/atm/usbatm.h | |||
@@ -27,14 +27,9 @@ | |||
27 | #include <linux/config.h> | 27 | #include <linux/config.h> |
28 | 28 | ||
29 | /* | 29 | /* |
30 | #define DEBUG | ||
31 | #define VERBOSE_DEBUG | 30 | #define VERBOSE_DEBUG |
32 | */ | 31 | */ |
33 | 32 | ||
34 | #if !defined (DEBUG) && defined (CONFIG_USB_DEBUG) | ||
35 | # define DEBUG | ||
36 | #endif | ||
37 | |||
38 | #include <asm/semaphore.h> | 33 | #include <asm/semaphore.h> |
39 | #include <linux/atm.h> | 34 | #include <linux/atm.h> |
40 | #include <linux/atmdev.h> | 35 | #include <linux/atmdev.h> |
diff --git a/drivers/usb/core/Makefile b/drivers/usb/core/Makefile index dd1c4d2a0c31..86d5c380892d 100644 --- a/drivers/usb/core/Makefile +++ b/drivers/usb/core/Makefile | |||
@@ -14,3 +14,7 @@ ifeq ($(CONFIG_USB_DEVICEFS),y) | |||
14 | endif | 14 | endif |
15 | 15 | ||
16 | obj-$(CONFIG_USB) += usbcore.o | 16 | obj-$(CONFIG_USB) += usbcore.o |
17 | |||
18 | ifeq ($(CONFIG_USB_DEBUG),y) | ||
19 | EXTRA_CFLAGS += -DDEBUG | ||
20 | endif | ||
diff --git a/drivers/usb/core/buffer.c b/drivers/usb/core/buffer.c index 57e800ac3cee..419c9943a7cb 100644 --- a/drivers/usb/core/buffer.c +++ b/drivers/usb/core/buffer.c | |||
@@ -15,14 +15,6 @@ | |||
15 | #include <asm/scatterlist.h> | 15 | #include <asm/scatterlist.h> |
16 | #include <linux/dma-mapping.h> | 16 | #include <linux/dma-mapping.h> |
17 | #include <linux/dmapool.h> | 17 | #include <linux/dmapool.h> |
18 | |||
19 | |||
20 | #ifdef CONFIG_USB_DEBUG | ||
21 | #define DEBUG | ||
22 | #else | ||
23 | #undef DEBUG | ||
24 | #endif | ||
25 | |||
26 | #include <linux/usb.h> | 18 | #include <linux/usb.h> |
27 | #include "hcd.h" | 19 | #include "hcd.h" |
28 | 20 | ||
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c index 993019500cc3..a9d89c78cc20 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c | |||
@@ -1,9 +1,4 @@ | |||
1 | #include <linux/config.h> | 1 | #include <linux/config.h> |
2 | |||
3 | #ifdef CONFIG_USB_DEBUG | ||
4 | #define DEBUG | ||
5 | #endif | ||
6 | |||
7 | #include <linux/usb.h> | 2 | #include <linux/usb.h> |
8 | #include <linux/module.h> | 3 | #include <linux/module.h> |
9 | #include <linux/init.h> | 4 | #include <linux/init.h> |
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index 942cd437dc48..b1d6e9af732d 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c | |||
@@ -1392,13 +1392,13 @@ static int proc_ioctl_default(struct dev_state *ps, void __user *arg) | |||
1392 | } | 1392 | } |
1393 | 1393 | ||
1394 | #ifdef CONFIG_COMPAT | 1394 | #ifdef CONFIG_COMPAT |
1395 | static int proc_ioctl_compat(struct dev_state *ps, void __user *arg) | 1395 | static int proc_ioctl_compat(struct dev_state *ps, compat_uptr_t arg) |
1396 | { | 1396 | { |
1397 | struct usbdevfs_ioctl32 __user *uioc; | 1397 | struct usbdevfs_ioctl32 __user *uioc; |
1398 | struct usbdevfs_ioctl ctrl; | 1398 | struct usbdevfs_ioctl ctrl; |
1399 | u32 udata; | 1399 | u32 udata; |
1400 | 1400 | ||
1401 | uioc = compat_ptr(arg); | 1401 | uioc = compat_ptr((long)arg); |
1402 | if (get_user(ctrl.ifno, &uioc->ifno) || | 1402 | if (get_user(ctrl.ifno, &uioc->ifno) || |
1403 | get_user(ctrl.ioctl_code, &uioc->ioctl_code) || | 1403 | get_user(ctrl.ioctl_code, &uioc->ioctl_code) || |
1404 | __get_user(udata, &uioc->data)) | 1404 | __get_user(udata, &uioc->data)) |
@@ -1511,7 +1511,7 @@ static int usbdev_ioctl(struct inode *inode, struct file *file, unsigned int cmd | |||
1511 | 1511 | ||
1512 | case USBDEVFS_IOCTL32: | 1512 | case USBDEVFS_IOCTL32: |
1513 | snoop(&dev->dev, "%s: IOCTL\n", __FUNCTION__); | 1513 | snoop(&dev->dev, "%s: IOCTL\n", __FUNCTION__); |
1514 | ret = proc_ioctl_compat(ps, p); | 1514 | ret = proc_ioctl_compat(ps, (compat_uptr_t)(long)p); |
1515 | break; | 1515 | break; |
1516 | #endif | 1516 | #endif |
1517 | 1517 | ||
diff --git a/drivers/usb/core/file.c b/drivers/usb/core/file.c index e695308095ae..37b13368c814 100644 --- a/drivers/usb/core/file.c +++ b/drivers/usb/core/file.c | |||
@@ -19,12 +19,6 @@ | |||
19 | #include <linux/module.h> | 19 | #include <linux/module.h> |
20 | #include <linux/spinlock.h> | 20 | #include <linux/spinlock.h> |
21 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
22 | |||
23 | #ifdef CONFIG_USB_DEBUG | ||
24 | #define DEBUG | ||
25 | #else | ||
26 | #undef DEBUG | ||
27 | #endif | ||
28 | #include <linux/usb.h> | 22 | #include <linux/usb.h> |
29 | 23 | ||
30 | #include "usb.h" | 24 | #include "usb.h" |
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c index 84d9e69329bb..7feb829362d6 100644 --- a/drivers/usb/core/hcd-pci.c +++ b/drivers/usb/core/hcd-pci.c | |||
@@ -17,13 +17,6 @@ | |||
17 | */ | 17 | */ |
18 | 18 | ||
19 | #include <linux/config.h> | 19 | #include <linux/config.h> |
20 | |||
21 | #ifdef CONFIG_USB_DEBUG | ||
22 | #define DEBUG | ||
23 | #else | ||
24 | #undef DEBUG | ||
25 | #endif | ||
26 | |||
27 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
28 | #include <linux/module.h> | 21 | #include <linux/module.h> |
29 | #include <linux/pci.h> | 22 | #include <linux/pci.h> |
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index 6c7ca5b08cd6..5e5f65a475ab 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c | |||
@@ -23,11 +23,6 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <linux/config.h> | 25 | #include <linux/config.h> |
26 | |||
27 | #ifdef CONFIG_USB_DEBUG | ||
28 | #define DEBUG | ||
29 | #endif | ||
30 | |||
31 | #include <linux/module.h> | 26 | #include <linux/module.h> |
32 | #include <linux/version.h> | 27 | #include <linux/version.h> |
33 | #include <linux/kernel.h> | 28 | #include <linux/kernel.h> |
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 256d9f698715..840727948d84 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c | |||
@@ -9,11 +9,6 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/config.h> | 11 | #include <linux/config.h> |
12 | #ifdef CONFIG_USB_DEBUG | ||
13 | #define DEBUG | ||
14 | #else | ||
15 | #undef DEBUG | ||
16 | #endif | ||
17 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
18 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
19 | #include <linux/module.h> | 14 | #include <linux/module.h> |
diff --git a/drivers/usb/core/inode.c b/drivers/usb/core/inode.c index 12f490fdee8f..c44bbedec817 100644 --- a/drivers/usb/core/inode.c +++ b/drivers/usb/core/inode.c | |||
@@ -46,7 +46,6 @@ | |||
46 | 46 | ||
47 | static struct super_operations usbfs_ops; | 47 | static struct super_operations usbfs_ops; |
48 | static struct file_operations default_file_operations; | 48 | static struct file_operations default_file_operations; |
49 | static struct inode_operations usbfs_dir_inode_operations; | ||
50 | static struct vfsmount *usbfs_mount; | 49 | static struct vfsmount *usbfs_mount; |
51 | static int usbfs_mount_count; /* = 0 */ | 50 | static int usbfs_mount_count; /* = 0 */ |
52 | static int ignore_mount = 0; | 51 | static int ignore_mount = 0; |
@@ -262,7 +261,7 @@ static struct inode *usbfs_get_inode (struct super_block *sb, int mode, dev_t de | |||
262 | inode->i_fop = &default_file_operations; | 261 | inode->i_fop = &default_file_operations; |
263 | break; | 262 | break; |
264 | case S_IFDIR: | 263 | case S_IFDIR: |
265 | inode->i_op = &usbfs_dir_inode_operations; | 264 | inode->i_op = &simple_dir_inode_operations; |
266 | inode->i_fop = &simple_dir_operations; | 265 | inode->i_fop = &simple_dir_operations; |
267 | 266 | ||
268 | /* directory inodes start off with i_nlink == 2 (for "." entry) */ | 267 | /* directory inodes start off with i_nlink == 2 (for "." entry) */ |
@@ -417,10 +416,6 @@ static struct file_operations default_file_operations = { | |||
417 | .llseek = default_file_lseek, | 416 | .llseek = default_file_lseek, |
418 | }; | 417 | }; |
419 | 418 | ||
420 | static struct inode_operations usbfs_dir_inode_operations = { | ||
421 | .lookup = simple_lookup, | ||
422 | }; | ||
423 | |||
424 | static struct super_operations usbfs_ops = { | 419 | static struct super_operations usbfs_ops = { |
425 | .statfs = simple_statfs, | 420 | .statfs = simple_statfs, |
426 | .drop_inode = generic_delete_inode, | 421 | .drop_inode = generic_delete_inode, |
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index 644a3d4f12aa..fe74f99ca5f4 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c | |||
@@ -3,13 +3,6 @@ | |||
3 | */ | 3 | */ |
4 | 4 | ||
5 | #include <linux/config.h> | 5 | #include <linux/config.h> |
6 | |||
7 | #ifdef CONFIG_USB_DEBUG | ||
8 | #define DEBUG | ||
9 | #else | ||
10 | #undef DEBUG | ||
11 | #endif | ||
12 | |||
13 | #include <linux/pci.h> /* for scatterlist macros */ | 6 | #include <linux/pci.h> /* for scatterlist macros */ |
14 | #include <linux/usb.h> | 7 | #include <linux/usb.h> |
15 | #include <linux/module.h> | 8 | #include <linux/module.h> |
@@ -1457,12 +1450,11 @@ free_interfaces: | |||
1457 | */ | 1450 | */ |
1458 | for (i = 0; i < nintf; ++i) { | 1451 | for (i = 0; i < nintf; ++i) { |
1459 | struct usb_interface *intf = cp->interface[i]; | 1452 | struct usb_interface *intf = cp->interface[i]; |
1460 | struct usb_host_interface *alt = intf->cur_altsetting; | ||
1461 | 1453 | ||
1462 | dev_dbg (&dev->dev, | 1454 | dev_dbg (&dev->dev, |
1463 | "adding %s (config #%d, interface %d)\n", | 1455 | "adding %s (config #%d, interface %d)\n", |
1464 | intf->dev.bus_id, configuration, | 1456 | intf->dev.bus_id, configuration, |
1465 | alt->desc.bInterfaceNumber); | 1457 | intf->cur_altsetting->desc.bInterfaceNumber); |
1466 | ret = device_add (&intf->dev); | 1458 | ret = device_add (&intf->dev); |
1467 | if (ret != 0) { | 1459 | if (ret != 0) { |
1468 | dev_err(&dev->dev, | 1460 | dev_err(&dev->dev, |
diff --git a/drivers/usb/core/notify.c b/drivers/usb/core/notify.c index 37da059eced7..fbbebab52fbd 100644 --- a/drivers/usb/core/notify.c +++ b/drivers/usb/core/notify.c | |||
@@ -12,13 +12,7 @@ | |||
12 | #include <linux/config.h> | 12 | #include <linux/config.h> |
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/notifier.h> | 14 | #include <linux/notifier.h> |
15 | #ifdef CONFIG_USB_DEBUG | ||
16 | #define DEBUG | ||
17 | #else | ||
18 | #undef DEBUG | ||
19 | #endif | ||
20 | #include <linux/usb.h> | 15 | #include <linux/usb.h> |
21 | |||
22 | #include "usb.h" | 16 | #include "usb.h" |
23 | 17 | ||
24 | 18 | ||
diff --git a/drivers/usb/core/sysfs.c b/drivers/usb/core/sysfs.c index edd83e014452..71d881327e88 100644 --- a/drivers/usb/core/sysfs.c +++ b/drivers/usb/core/sysfs.c | |||
@@ -12,14 +12,7 @@ | |||
12 | 12 | ||
13 | #include <linux/config.h> | 13 | #include <linux/config.h> |
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | |||
16 | #ifdef CONFIG_USB_DEBUG | ||
17 | #define DEBUG | ||
18 | #else | ||
19 | #undef DEBUG | ||
20 | #endif | ||
21 | #include <linux/usb.h> | 15 | #include <linux/usb.h> |
22 | |||
23 | #include "usb.h" | 16 | #include "usb.h" |
24 | 17 | ||
25 | /* endpoint stuff */ | 18 | /* endpoint stuff */ |
diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c index f2a1fed2a802..081796726b95 100644 --- a/drivers/usb/core/urb.c +++ b/drivers/usb/core/urb.c | |||
@@ -4,12 +4,6 @@ | |||
4 | #include <linux/bitops.h> | 4 | #include <linux/bitops.h> |
5 | #include <linux/slab.h> | 5 | #include <linux/slab.h> |
6 | #include <linux/init.h> | 6 | #include <linux/init.h> |
7 | |||
8 | #ifdef CONFIG_USB_DEBUG | ||
9 | #define DEBUG | ||
10 | #else | ||
11 | #undef DEBUG | ||
12 | #endif | ||
13 | #include <linux/usb.h> | 7 | #include <linux/usb.h> |
14 | #include "hcd.h" | 8 | #include "hcd.h" |
15 | 9 | ||
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c index 0eefff7bcb3c..e197ce9353de 100644 --- a/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c | |||
@@ -22,13 +22,6 @@ | |||
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <linux/config.h> | 24 | #include <linux/config.h> |
25 | |||
26 | #ifdef CONFIG_USB_DEBUG | ||
27 | #define DEBUG | ||
28 | #else | ||
29 | #undef DEBUG | ||
30 | #endif | ||
31 | |||
32 | #include <linux/module.h> | 25 | #include <linux/module.h> |
33 | #include <linux/string.h> | 26 | #include <linux/string.h> |
34 | #include <linux/bitops.h> | 27 | #include <linux/bitops.h> |
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c index 1e407745c115..c655d46c8aed 100644 --- a/drivers/usb/gadget/dummy_hcd.c +++ b/drivers/usb/gadget/dummy_hcd.c | |||
@@ -944,7 +944,7 @@ static int dummy_udc_suspend (struct platform_device *dev, pm_message_t state) | |||
944 | set_link_state (dum); | 944 | set_link_state (dum); |
945 | spin_unlock_irq (&dum->lock); | 945 | spin_unlock_irq (&dum->lock); |
946 | 946 | ||
947 | dev->power.power_state = state; | 947 | dev->dev.power.power_state = state; |
948 | usb_hcd_poll_rh_status (dummy_to_hcd (dum)); | 948 | usb_hcd_poll_rh_status (dummy_to_hcd (dum)); |
949 | return 0; | 949 | return 0; |
950 | } | 950 | } |
@@ -1904,7 +1904,7 @@ static int dummy_hcd_probe (struct platform_device *dev) | |||
1904 | struct usb_hcd *hcd; | 1904 | struct usb_hcd *hcd; |
1905 | int retval; | 1905 | int retval; |
1906 | 1906 | ||
1907 | dev_info (dev, "%s, driver " DRIVER_VERSION "\n", driver_desc); | 1907 | dev_info(&dev->dev, "%s, driver " DRIVER_VERSION "\n", driver_desc); |
1908 | 1908 | ||
1909 | hcd = usb_create_hcd (&dummy_hcd, &dev->dev, dev->dev.bus_id); | 1909 | hcd = usb_create_hcd (&dummy_hcd, &dev->dev, dev->dev.bus_id); |
1910 | if (!hcd) | 1910 | if (!hcd) |
diff --git a/drivers/usb/host/ohci-lh7a404.c b/drivers/usb/host/ohci-lh7a404.c index 081ec3f5cff4..3959ccc88332 100644 --- a/drivers/usb/host/ohci-lh7a404.c +++ b/drivers/usb/host/ohci-lh7a404.c | |||
@@ -219,7 +219,7 @@ static int ohci_hcd_lh7a404_drv_probe(struct platform_device *pdev) | |||
219 | 219 | ||
220 | static int ohci_hcd_lh7a404_drv_remove(struct platform_device *pdev) | 220 | static int ohci_hcd_lh7a404_drv_remove(struct platform_device *pdev) |
221 | { | 221 | { |
222 | struct usb_hcd *hcd = platform_get_drvdata(dev); | 222 | struct usb_hcd *hcd = platform_get_drvdata(pdev); |
223 | 223 | ||
224 | usb_hcd_lh7a404_remove(hcd, pdev); | 224 | usb_hcd_lh7a404_remove(hcd, pdev); |
225 | return 0; | 225 | return 0; |
diff --git a/drivers/usb/host/ohci-ppc-soc.c b/drivers/usb/host/ohci-ppc-soc.c index 18755766e406..2ec6a78bd65e 100644 --- a/drivers/usb/host/ohci-ppc-soc.c +++ b/drivers/usb/host/ohci-ppc-soc.c | |||
@@ -185,7 +185,7 @@ static int ohci_hcd_ppc_soc_drv_probe(struct platform_device *pdev) | |||
185 | 185 | ||
186 | static int ohci_hcd_ppc_soc_drv_remove(struct platform_device *pdev) | 186 | static int ohci_hcd_ppc_soc_drv_remove(struct platform_device *pdev) |
187 | { | 187 | { |
188 | struct usb_hcd *hcd = platform_get_drvdata(dev); | 188 | struct usb_hcd *hcd = platform_get_drvdata(pdev); |
189 | 189 | ||
190 | usb_hcd_ppc_soc_remove(hcd, pdev); | 190 | usb_hcd_ppc_soc_remove(hcd, pdev); |
191 | return 0; | 191 | return 0; |
diff --git a/drivers/usb/image/microtek.c b/drivers/usb/image/microtek.c index 61a2604cce4f..950543aa5ac7 100644 --- a/drivers/usb/image/microtek.c +++ b/drivers/usb/image/microtek.c | |||
@@ -327,6 +327,18 @@ static inline void mts_urb_abort(struct mts_desc* desc) { | |||
327 | usb_kill_urb( desc->urb ); | 327 | usb_kill_urb( desc->urb ); |
328 | } | 328 | } |
329 | 329 | ||
330 | static int mts_slave_alloc (struct scsi_device *s) | ||
331 | { | ||
332 | s->inquiry_len = 0x24; | ||
333 | return 0; | ||
334 | } | ||
335 | |||
336 | static int mts_slave_configure (struct scsi_device *s) | ||
337 | { | ||
338 | blk_queue_dma_alignment(s->request_queue, (512 - 1)); | ||
339 | return 0; | ||
340 | } | ||
341 | |||
330 | static int mts_scsi_abort (Scsi_Cmnd *srb) | 342 | static int mts_scsi_abort (Scsi_Cmnd *srb) |
331 | { | 343 | { |
332 | struct mts_desc* desc = (struct mts_desc*)(srb->device->host->hostdata[0]); | 344 | struct mts_desc* desc = (struct mts_desc*)(srb->device->host->hostdata[0]); |
@@ -411,7 +423,7 @@ static void mts_transfer_done( struct urb *transfer, struct pt_regs *regs ) | |||
411 | MTS_INT_INIT(); | 423 | MTS_INT_INIT(); |
412 | 424 | ||
413 | context->srb->result &= MTS_SCSI_ERR_MASK; | 425 | context->srb->result &= MTS_SCSI_ERR_MASK; |
414 | context->srb->result |= (unsigned)context->status<<1; | 426 | context->srb->result |= (unsigned)(*context->scsi_status)<<1; |
415 | 427 | ||
416 | mts_transfer_cleanup(transfer); | 428 | mts_transfer_cleanup(transfer); |
417 | 429 | ||
@@ -427,7 +439,7 @@ static void mts_get_status( struct urb *transfer ) | |||
427 | mts_int_submit_urb(transfer, | 439 | mts_int_submit_urb(transfer, |
428 | usb_rcvbulkpipe(context->instance->usb_dev, | 440 | usb_rcvbulkpipe(context->instance->usb_dev, |
429 | context->instance->ep_response), | 441 | context->instance->ep_response), |
430 | &context->status, | 442 | context->scsi_status, |
431 | 1, | 443 | 1, |
432 | mts_transfer_done ); | 444 | mts_transfer_done ); |
433 | } | 445 | } |
@@ -481,7 +493,7 @@ static void mts_command_done( struct urb *transfer, struct pt_regs *regs ) | |||
481 | context->data_pipe, | 493 | context->data_pipe, |
482 | context->data, | 494 | context->data, |
483 | context->data_length, | 495 | context->data_length, |
484 | context->srb->use_sg ? mts_do_sg : mts_data_done); | 496 | context->srb->use_sg > 1 ? mts_do_sg : mts_data_done); |
485 | } else { | 497 | } else { |
486 | mts_get_status(transfer); | 498 | mts_get_status(transfer); |
487 | } | 499 | } |
@@ -627,7 +639,6 @@ int mts_scsi_queuecommand( Scsi_Cmnd *srb, mts_scsi_cmnd_callback callback ) | |||
627 | callback(srb); | 639 | callback(srb); |
628 | 640 | ||
629 | } | 641 | } |
630 | |||
631 | out: | 642 | out: |
632 | return err; | 643 | return err; |
633 | } | 644 | } |
@@ -645,6 +656,9 @@ static struct scsi_host_template mts_scsi_host_template = { | |||
645 | .cmd_per_lun = 1, | 656 | .cmd_per_lun = 1, |
646 | .use_clustering = 1, | 657 | .use_clustering = 1, |
647 | .emulated = 1, | 658 | .emulated = 1, |
659 | .slave_alloc = mts_slave_alloc, | ||
660 | .slave_configure = mts_slave_configure, | ||
661 | .max_sectors= 256, /* 128 K */ | ||
648 | }; | 662 | }; |
649 | 663 | ||
650 | struct vendor_product | 664 | struct vendor_product |
@@ -771,8 +785,8 @@ static int mts_usb_probe(struct usb_interface *intf, | |||
771 | MTS_WARNING( "couldn't find an output bulk endpoint. Bailing out.\n" ); | 785 | MTS_WARNING( "couldn't find an output bulk endpoint. Bailing out.\n" ); |
772 | return -ENODEV; | 786 | return -ENODEV; |
773 | } | 787 | } |
774 | 788 | ||
775 | 789 | ||
776 | new_desc = kzalloc(sizeof(struct mts_desc), GFP_KERNEL); | 790 | new_desc = kzalloc(sizeof(struct mts_desc), GFP_KERNEL); |
777 | if (!new_desc) | 791 | if (!new_desc) |
778 | goto out; | 792 | goto out; |
@@ -781,6 +795,10 @@ static int mts_usb_probe(struct usb_interface *intf, | |||
781 | if (!new_desc->urb) | 795 | if (!new_desc->urb) |
782 | goto out_kfree; | 796 | goto out_kfree; |
783 | 797 | ||
798 | new_desc->context.scsi_status = kmalloc(1, GFP_KERNEL); | ||
799 | if (!new_desc->context.scsi_status) | ||
800 | goto out_kfree2; | ||
801 | |||
784 | new_desc->usb_dev = dev; | 802 | new_desc->usb_dev = dev; |
785 | new_desc->usb_intf = intf; | 803 | new_desc->usb_intf = intf; |
786 | init_MUTEX(&new_desc->lock); | 804 | init_MUTEX(&new_desc->lock); |
@@ -817,6 +835,8 @@ static int mts_usb_probe(struct usb_interface *intf, | |||
817 | usb_set_intfdata(intf, new_desc); | 835 | usb_set_intfdata(intf, new_desc); |
818 | return 0; | 836 | return 0; |
819 | 837 | ||
838 | out_kfree2: | ||
839 | kfree(new_desc->context.scsi_status); | ||
820 | out_free_urb: | 840 | out_free_urb: |
821 | usb_free_urb(new_desc->urb); | 841 | usb_free_urb(new_desc->urb); |
822 | out_kfree: | 842 | out_kfree: |
@@ -836,6 +856,7 @@ static void mts_usb_disconnect (struct usb_interface *intf) | |||
836 | 856 | ||
837 | scsi_host_put(desc->host); | 857 | scsi_host_put(desc->host); |
838 | usb_free_urb(desc->urb); | 858 | usb_free_urb(desc->urb); |
859 | kfree(desc->context.scsi_status); | ||
839 | kfree(desc); | 860 | kfree(desc); |
840 | } | 861 | } |
841 | 862 | ||
@@ -856,5 +877,3 @@ module_exit(microtek_drv_exit); | |||
856 | MODULE_AUTHOR( DRIVER_AUTHOR ); | 877 | MODULE_AUTHOR( DRIVER_AUTHOR ); |
857 | MODULE_DESCRIPTION( DRIVER_DESC ); | 878 | MODULE_DESCRIPTION( DRIVER_DESC ); |
858 | MODULE_LICENSE("GPL"); | 879 | MODULE_LICENSE("GPL"); |
859 | |||
860 | |||
diff --git a/drivers/usb/image/microtek.h b/drivers/usb/image/microtek.h index 3271deb8c001..926d4bdc6746 100644 --- a/drivers/usb/image/microtek.h +++ b/drivers/usb/image/microtek.h | |||
@@ -22,7 +22,7 @@ struct mts_transfer_context | |||
22 | int data_pipe; | 22 | int data_pipe; |
23 | int fragment; | 23 | int fragment; |
24 | 24 | ||
25 | u8 status; /* status returned from ep_response after command completion */ | 25 | u8 *scsi_status; /* status returned from ep_response after command completion */ |
26 | }; | 26 | }; |
27 | 27 | ||
28 | 28 | ||
diff --git a/drivers/usb/input/Makefile b/drivers/usb/input/Makefile index 5e03b93f29f6..07cb17db42fc 100644 --- a/drivers/usb/input/Makefile +++ b/drivers/usb/input/Makefile | |||
@@ -42,3 +42,7 @@ obj-$(CONFIG_USB_ACECAD) += acecad.o | |||
42 | obj-$(CONFIG_USB_YEALINK) += yealink.o | 42 | obj-$(CONFIG_USB_YEALINK) += yealink.o |
43 | obj-$(CONFIG_USB_XPAD) += xpad.o | 43 | obj-$(CONFIG_USB_XPAD) += xpad.o |
44 | obj-$(CONFIG_USB_APPLETOUCH) += appletouch.o | 44 | obj-$(CONFIG_USB_APPLETOUCH) += appletouch.o |
45 | |||
46 | ifeq ($(CONFIG_USB_DEBUG),y) | ||
47 | EXTRA_CFLAGS += -DDEBUG | ||
48 | endif | ||
diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c index 79ddce4555ab..45f3130fadea 100644 --- a/drivers/usb/input/hid-core.c +++ b/drivers/usb/input/hid-core.c | |||
@@ -1318,6 +1318,7 @@ void hid_init_reports(struct hid_device *hid) | |||
1318 | #define USB_DEVICE_ID_WACOM_PTU 0x0003 | 1318 | #define USB_DEVICE_ID_WACOM_PTU 0x0003 |
1319 | #define USB_DEVICE_ID_WACOM_INTUOS3 0x00B0 | 1319 | #define USB_DEVICE_ID_WACOM_INTUOS3 0x00B0 |
1320 | #define USB_DEVICE_ID_WACOM_CINTIQ 0x003F | 1320 | #define USB_DEVICE_ID_WACOM_CINTIQ 0x003F |
1321 | #define USB_DEVICE_ID_WACOM_DTF 0x00C0 | ||
1321 | 1322 | ||
1322 | #define USB_VENDOR_ID_ACECAD 0x0460 | 1323 | #define USB_VENDOR_ID_ACECAD 0x0460 |
1323 | #define USB_DEVICE_ID_ACECAD_FLAIR 0x0004 | 1324 | #define USB_DEVICE_ID_ACECAD_FLAIR 0x0004 |
@@ -1524,6 +1525,9 @@ static struct hid_blacklist { | |||
1524 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 3, HID_QUIRK_IGNORE }, | 1525 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 3, HID_QUIRK_IGNORE }, |
1525 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 4, HID_QUIRK_IGNORE }, | 1526 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 4, HID_QUIRK_IGNORE }, |
1526 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 5, HID_QUIRK_IGNORE }, | 1527 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 5, HID_QUIRK_IGNORE }, |
1528 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 7, HID_QUIRK_IGNORE }, | ||
1529 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 8, HID_QUIRK_IGNORE }, | ||
1530 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 9, HID_QUIRK_IGNORE }, | ||
1527 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 1, HID_QUIRK_IGNORE }, | 1531 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 1, HID_QUIRK_IGNORE }, |
1528 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 2, HID_QUIRK_IGNORE }, | 1532 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 2, HID_QUIRK_IGNORE }, |
1529 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 3, HID_QUIRK_IGNORE }, | 1533 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 3, HID_QUIRK_IGNORE }, |
@@ -1531,11 +1535,19 @@ static struct hid_blacklist { | |||
1531 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 5, HID_QUIRK_IGNORE }, | 1535 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 5, HID_QUIRK_IGNORE }, |
1532 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 7, HID_QUIRK_IGNORE }, | 1536 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 7, HID_QUIRK_IGNORE }, |
1533 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO, HID_QUIRK_IGNORE }, | 1537 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO, HID_QUIRK_IGNORE }, |
1538 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 1, HID_QUIRK_IGNORE }, | ||
1539 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 2, HID_QUIRK_IGNORE }, | ||
1540 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 3, HID_QUIRK_IGNORE }, | ||
1541 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 4, HID_QUIRK_IGNORE }, | ||
1542 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 5, HID_QUIRK_IGNORE }, | ||
1543 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 6, HID_QUIRK_IGNORE }, | ||
1534 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PTU, HID_QUIRK_IGNORE }, | 1544 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PTU, HID_QUIRK_IGNORE }, |
1535 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3, HID_QUIRK_IGNORE }, | 1545 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3, HID_QUIRK_IGNORE }, |
1536 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 1, HID_QUIRK_IGNORE }, | 1546 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 1, HID_QUIRK_IGNORE }, |
1537 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 2, HID_QUIRK_IGNORE }, | 1547 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 2, HID_QUIRK_IGNORE }, |
1548 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 5, HID_QUIRK_IGNORE }, | ||
1538 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_CINTIQ, HID_QUIRK_IGNORE }, | 1549 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_CINTIQ, HID_QUIRK_IGNORE }, |
1550 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_DTF, HID_QUIRK_IGNORE }, | ||
1539 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, | 1551 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, |
1540 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, | 1552 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, |
1541 | 1553 | ||
diff --git a/drivers/usb/input/itmtouch.c b/drivers/usb/input/itmtouch.c index 3b581853cf10..4a50acb39d29 100644 --- a/drivers/usb/input/itmtouch.c +++ b/drivers/usb/input/itmtouch.c | |||
@@ -40,13 +40,6 @@ | |||
40 | *****************************************************************************/ | 40 | *****************************************************************************/ |
41 | 41 | ||
42 | #include <linux/config.h> | 42 | #include <linux/config.h> |
43 | |||
44 | #ifdef CONFIG_USB_DEBUG | ||
45 | #define DEBUG | ||
46 | #else | ||
47 | #undef DEBUG | ||
48 | #endif | ||
49 | |||
50 | #include <linux/kernel.h> | 43 | #include <linux/kernel.h> |
51 | #include <linux/slab.h> | 44 | #include <linux/slab.h> |
52 | #include <linux/input.h> | 45 | #include <linux/input.h> |
diff --git a/drivers/usb/input/keyspan_remote.c b/drivers/usb/input/keyspan_remote.c index 5b8d65f62abf..a32cfe51b77d 100644 --- a/drivers/usb/input/keyspan_remote.c +++ b/drivers/usb/input/keyspan_remote.c | |||
@@ -160,7 +160,8 @@ static int keyspan_load_tester(struct usb_keyspan* dev, int bits_needed) | |||
160 | * though so it's not too big a deal | 160 | * though so it's not too big a deal |
161 | */ | 161 | */ |
162 | if (dev->data.pos >= dev->data.len) { | 162 | if (dev->data.pos >= dev->data.len) { |
163 | dev_dbg(&dev->udev, "%s - Error ran out of data. pos: %d, len: %d\n", | 163 | dev_dbg(&dev->udev->dev, |
164 | "%s - Error ran out of data. pos: %d, len: %d\n", | ||
164 | __FUNCTION__, dev->data.pos, dev->data.len); | 165 | __FUNCTION__, dev->data.pos, dev->data.len); |
165 | return -1; | 166 | return -1; |
166 | } | 167 | } |
@@ -306,7 +307,7 @@ static void keyspan_check_data(struct usb_keyspan *remote, struct pt_regs *regs) | |||
306 | err("Bad message recieved, no stop bit found.\n"); | 307 | err("Bad message recieved, no stop bit found.\n"); |
307 | } | 308 | } |
308 | 309 | ||
309 | dev_dbg(&remote->udev, | 310 | dev_dbg(&remote->udev->dev, |
310 | "%s found valid message: system: %d, button: %d, toggle: %d\n", | 311 | "%s found valid message: system: %d, button: %d, toggle: %d\n", |
311 | __FUNCTION__, message.system, message.button, message.toggle); | 312 | __FUNCTION__, message.system, message.button, message.toggle); |
312 | 313 | ||
diff --git a/drivers/usb/input/mtouchusb.c b/drivers/usb/input/mtouchusb.c index 7fce526560ca..52cc18cd247d 100644 --- a/drivers/usb/input/mtouchusb.c +++ b/drivers/usb/input/mtouchusb.c | |||
@@ -40,13 +40,6 @@ | |||
40 | *****************************************************************************/ | 40 | *****************************************************************************/ |
41 | 41 | ||
42 | #include <linux/config.h> | 42 | #include <linux/config.h> |
43 | |||
44 | #ifdef CONFIG_USB_DEBUG | ||
45 | #define DEBUG | ||
46 | #else | ||
47 | #undef DEBUG | ||
48 | #endif | ||
49 | |||
50 | #include <linux/kernel.h> | 43 | #include <linux/kernel.h> |
51 | #include <linux/slab.h> | 44 | #include <linux/slab.h> |
52 | #include <linux/input.h> | 45 | #include <linux/input.h> |
diff --git a/drivers/usb/input/pid.c b/drivers/usb/input/pid.c index dca5ee93a4ef..19e015d171aa 100644 --- a/drivers/usb/input/pid.c +++ b/drivers/usb/input/pid.c | |||
@@ -37,8 +37,6 @@ | |||
37 | #include "hid.h" | 37 | #include "hid.h" |
38 | #include "pid.h" | 38 | #include "pid.h" |
39 | 39 | ||
40 | #define DEBUG | ||
41 | |||
42 | #define CHECK_OWNERSHIP(i, hid_pid) \ | 40 | #define CHECK_OWNERSHIP(i, hid_pid) \ |
43 | ((i) < FF_EFFECTS_MAX && i >= 0 && \ | 41 | ((i) < FF_EFFECTS_MAX && i >= 0 && \ |
44 | test_bit(FF_PID_FLAGS_USED, &hid_pid->effects[(i)].flags) && \ | 42 | test_bit(FF_PID_FLAGS_USED, &hid_pid->effects[(i)].flags) && \ |
diff --git a/drivers/usb/input/touchkitusb.c b/drivers/usb/input/touchkitusb.c index 0043e6ebcd1f..7420c6b84284 100644 --- a/drivers/usb/input/touchkitusb.c +++ b/drivers/usb/input/touchkitusb.c | |||
@@ -30,10 +30,6 @@ | |||
30 | #include <linux/input.h> | 30 | #include <linux/input.h> |
31 | #include <linux/module.h> | 31 | #include <linux/module.h> |
32 | #include <linux/init.h> | 32 | #include <linux/init.h> |
33 | |||
34 | #if !defined(DEBUG) && defined(CONFIG_USB_DEBUG) | ||
35 | #define DEBUG | ||
36 | #endif | ||
37 | #include <linux/usb.h> | 33 | #include <linux/usb.h> |
38 | #include <linux/usb_input.h> | 34 | #include <linux/usb_input.h> |
39 | 35 | ||
diff --git a/drivers/usb/input/wacom.c b/drivers/usb/input/wacom.c index ea0f75773ae1..aea1cfae34cc 100644 --- a/drivers/usb/input/wacom.c +++ b/drivers/usb/input/wacom.c | |||
@@ -52,8 +52,10 @@ | |||
52 | * v1.30.1 (pi) - Added Graphire3 support | 52 | * v1.30.1 (pi) - Added Graphire3 support |
53 | * v1.40 (pc) - Add support for several new devices, fix eraser reporting, ... | 53 | * v1.40 (pc) - Add support for several new devices, fix eraser reporting, ... |
54 | * v1.43 (pc) - Added support for Cintiq 21UX | 54 | * v1.43 (pc) - Added support for Cintiq 21UX |
55 | - Fixed a Graphire bug | 55 | * - Fixed a Graphire bug |
56 | - Merged wacom_intuos3_irq into wacom_intuos_irq | 56 | * - Merged wacom_intuos3_irq into wacom_intuos_irq |
57 | * v1.44 (pc) - Added support for Graphire4, Cintiq 710, Intuos3 6x11, etc. | ||
58 | * - Report Device IDs | ||
57 | */ | 59 | */ |
58 | 60 | ||
59 | /* | 61 | /* |
@@ -76,7 +78,7 @@ | |||
76 | /* | 78 | /* |
77 | * Version Information | 79 | * Version Information |
78 | */ | 80 | */ |
79 | #define DRIVER_VERSION "v1.43" | 81 | #define DRIVER_VERSION "v1.44" |
80 | #define DRIVER_AUTHOR "Vojtech Pavlik <vojtech@ucw.cz>" | 82 | #define DRIVER_AUTHOR "Vojtech Pavlik <vojtech@ucw.cz>" |
81 | #define DRIVER_DESC "USB Wacom Graphire and Wacom Intuos tablet driver" | 83 | #define DRIVER_DESC "USB Wacom Graphire and Wacom Intuos tablet driver" |
82 | #define DRIVER_LICENSE "GPL" | 84 | #define DRIVER_LICENSE "GPL" |
@@ -86,10 +88,14 @@ MODULE_DESCRIPTION(DRIVER_DESC); | |||
86 | MODULE_LICENSE(DRIVER_LICENSE); | 88 | MODULE_LICENSE(DRIVER_LICENSE); |
87 | 89 | ||
88 | #define USB_VENDOR_ID_WACOM 0x056a | 90 | #define USB_VENDOR_ID_WACOM 0x056a |
91 | #define STYLUS_DEVICE_ID 0x02 | ||
92 | #define CURSOR_DEVICE_ID 0x06 | ||
93 | #define ERASER_DEVICE_ID 0x0A | ||
89 | 94 | ||
90 | enum { | 95 | enum { |
91 | PENPARTNER = 0, | 96 | PENPARTNER = 0, |
92 | GRAPHIRE, | 97 | GRAPHIRE, |
98 | G4, | ||
93 | PL, | 99 | PL, |
94 | INTUOS, | 100 | INTUOS, |
95 | INTUOS3, | 101 | INTUOS3, |
@@ -116,6 +122,7 @@ struct wacom { | |||
116 | struct urb *irq; | 122 | struct urb *irq; |
117 | struct wacom_features *features; | 123 | struct wacom_features *features; |
118 | int tool[2]; | 124 | int tool[2]; |
125 | int id[2]; | ||
119 | __u32 serial[2]; | 126 | __u32 serial[2]; |
120 | char phys[32]; | 127 | char phys[32]; |
121 | }; | 128 | }; |
@@ -136,7 +143,7 @@ static void wacom_pl_irq(struct urb *urb, struct pt_regs *regs) | |||
136 | struct wacom *wacom = urb->context; | 143 | struct wacom *wacom = urb->context; |
137 | unsigned char *data = wacom->data; | 144 | unsigned char *data = wacom->data; |
138 | struct input_dev *dev = wacom->dev; | 145 | struct input_dev *dev = wacom->dev; |
139 | int prox, pressure; | 146 | int prox, pressure, id; |
140 | int retval; | 147 | int retval; |
141 | 148 | ||
142 | switch (urb->status) { | 149 | switch (urb->status) { |
@@ -163,6 +170,7 @@ static void wacom_pl_irq(struct urb *urb, struct pt_regs *regs) | |||
163 | 170 | ||
164 | input_regs(dev, regs); | 171 | input_regs(dev, regs); |
165 | 172 | ||
173 | id = ERASER_DEVICE_ID; | ||
166 | if (prox) { | 174 | if (prox) { |
167 | 175 | ||
168 | pressure = (signed char)((data[7] << 1) | ((data[4] >> 2) & 1)); | 176 | pressure = (signed char)((data[7] << 1) | ((data[4] >> 2) & 1)); |
@@ -177,11 +185,15 @@ static void wacom_pl_irq(struct urb *urb, struct pt_regs *regs) | |||
177 | * an out of proximity for previous tool then a in for new tool. | 185 | * an out of proximity for previous tool then a in for new tool. |
178 | */ | 186 | */ |
179 | if (!wacom->tool[0]) { | 187 | if (!wacom->tool[0]) { |
180 | /* Going into proximity select tool */ | 188 | /* Eraser bit set for DTF */ |
181 | wacom->tool[1] = (data[4] & 0x20)? BTN_TOOL_RUBBER : BTN_TOOL_PEN; | 189 | if (data[1] & 0x10) |
190 | wacom->tool[1] = BTN_TOOL_RUBBER; | ||
191 | else | ||
192 | /* Going into proximity select tool */ | ||
193 | wacom->tool[1] = (data[4] & 0x20) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN; | ||
182 | } else { | 194 | } else { |
183 | /* was entered with stylus2 pressed */ | 195 | /* was entered with stylus2 pressed */ |
184 | if (wacom->tool[1] == BTN_TOOL_RUBBER && !(data[4] & 0x20) ) { | 196 | if (wacom->tool[1] == BTN_TOOL_RUBBER && !(data[4] & 0x20)) { |
185 | /* report out proximity for previous tool */ | 197 | /* report out proximity for previous tool */ |
186 | input_report_key(dev, wacom->tool[1], 0); | 198 | input_report_key(dev, wacom->tool[1], 0); |
187 | input_sync(dev); | 199 | input_sync(dev); |
@@ -192,8 +204,9 @@ static void wacom_pl_irq(struct urb *urb, struct pt_regs *regs) | |||
192 | if (wacom->tool[1] != BTN_TOOL_RUBBER) { | 204 | if (wacom->tool[1] != BTN_TOOL_RUBBER) { |
193 | /* Unknown tool selected default to pen tool */ | 205 | /* Unknown tool selected default to pen tool */ |
194 | wacom->tool[1] = BTN_TOOL_PEN; | 206 | wacom->tool[1] = BTN_TOOL_PEN; |
207 | id = STYLUS_DEVICE_ID; | ||
195 | } | 208 | } |
196 | input_report_key(dev, wacom->tool[1], prox); /* report in proximity for tool */ | 209 | input_report_key(dev, wacom->tool[1], id); /* report in proximity for tool */ |
197 | input_report_abs(dev, ABS_X, data[3] | (data[2] << 7) | ((data[1] & 0x03) << 14)); | 210 | input_report_abs(dev, ABS_X, data[3] | (data[2] << 7) | ((data[1] & 0x03) << 14)); |
198 | input_report_abs(dev, ABS_Y, data[6] | (data[5] << 7) | ((data[4] & 0x03) << 14)); | 211 | input_report_abs(dev, ABS_Y, data[6] | (data[5] << 7) | ((data[4] & 0x03) << 14)); |
199 | input_report_abs(dev, ABS_PRESSURE, pressure); | 212 | input_report_abs(dev, ABS_PRESSURE, pressure); |
@@ -250,10 +263,10 @@ static void wacom_ptu_irq(struct urb *urb, struct pt_regs *regs) | |||
250 | 263 | ||
251 | input_regs(dev, regs); | 264 | input_regs(dev, regs); |
252 | if (data[1] & 0x04) { | 265 | if (data[1] & 0x04) { |
253 | input_report_key(dev, BTN_TOOL_RUBBER, data[1] & 0x20); | 266 | input_report_key(dev, BTN_TOOL_RUBBER, (data[1] & 0x20) ? ERASER_DEVICE_ID : 0); |
254 | input_report_key(dev, BTN_TOUCH, data[1] & 0x08); | 267 | input_report_key(dev, BTN_TOUCH, data[1] & 0x08); |
255 | } else { | 268 | } else { |
256 | input_report_key(dev, BTN_TOOL_PEN, data[1] & 0x20); | 269 | input_report_key(dev, BTN_TOOL_PEN, (data[1] & 0x20) ? STYLUS_DEVICE_ID : 0); |
257 | input_report_key(dev, BTN_TOUCH, data[1] & 0x01); | 270 | input_report_key(dev, BTN_TOUCH, data[1] & 0x01); |
258 | } | 271 | } |
259 | input_report_abs(dev, ABS_X, le16_to_cpu(*(__le16 *) &data[2])); | 272 | input_report_abs(dev, ABS_X, le16_to_cpu(*(__le16 *) &data[2])); |
@@ -299,7 +312,7 @@ static void wacom_penpartner_irq(struct urb *urb, struct pt_regs *regs) | |||
299 | } | 312 | } |
300 | 313 | ||
301 | input_regs(dev, regs); | 314 | input_regs(dev, regs); |
302 | input_report_key(dev, BTN_TOOL_PEN, 1); | 315 | input_report_key(dev, BTN_TOOL_PEN, STYLUS_DEVICE_ID); |
303 | input_report_abs(dev, ABS_X, le16_to_cpu(*(__le16 *) &data[1])); | 316 | input_report_abs(dev, ABS_X, le16_to_cpu(*(__le16 *) &data[1])); |
304 | input_report_abs(dev, ABS_Y, le16_to_cpu(*(__le16 *) &data[3])); | 317 | input_report_abs(dev, ABS_Y, le16_to_cpu(*(__le16 *) &data[3])); |
305 | input_report_abs(dev, ABS_PRESSURE, (signed char)data[6] + 127); | 318 | input_report_abs(dev, ABS_PRESSURE, (signed char)data[6] + 127); |
@@ -319,7 +332,7 @@ static void wacom_graphire_irq(struct urb *urb, struct pt_regs *regs) | |||
319 | struct wacom *wacom = urb->context; | 332 | struct wacom *wacom = urb->context; |
320 | unsigned char *data = wacom->data; | 333 | unsigned char *data = wacom->data; |
321 | struct input_dev *dev = wacom->dev; | 334 | struct input_dev *dev = wacom->dev; |
322 | int x, y; | 335 | int x, y, id, rw; |
323 | int retval; | 336 | int retval; |
324 | 337 | ||
325 | switch (urb->status) { | 338 | switch (urb->status) { |
@@ -344,6 +357,7 @@ static void wacom_graphire_irq(struct urb *urb, struct pt_regs *regs) | |||
344 | 357 | ||
345 | input_regs(dev, regs); | 358 | input_regs(dev, regs); |
346 | 359 | ||
360 | id = STYLUS_DEVICE_ID; | ||
347 | if (data[1] & 0x10) { /* in prox */ | 361 | if (data[1] & 0x10) { /* in prox */ |
348 | 362 | ||
349 | switch ((data[1] >> 5) & 3) { | 363 | switch ((data[1] >> 5) & 3) { |
@@ -354,18 +368,27 @@ static void wacom_graphire_irq(struct urb *urb, struct pt_regs *regs) | |||
354 | 368 | ||
355 | case 1: /* Rubber */ | 369 | case 1: /* Rubber */ |
356 | wacom->tool[0] = BTN_TOOL_RUBBER; | 370 | wacom->tool[0] = BTN_TOOL_RUBBER; |
371 | id = ERASER_DEVICE_ID; | ||
357 | break; | 372 | break; |
358 | 373 | ||
359 | case 2: /* Mouse with wheel */ | 374 | case 2: /* Mouse with wheel */ |
360 | input_report_key(dev, BTN_MIDDLE, data[1] & 0x04); | 375 | input_report_key(dev, BTN_MIDDLE, data[1] & 0x04); |
361 | input_report_rel(dev, REL_WHEEL, (signed char) data[6]); | 376 | if (wacom->features->type == G4) { |
377 | rw = data[7] & 0x04 ? -(data[7] & 0x03) : (data[7] & 0x03); | ||
378 | input_report_rel(dev, REL_WHEEL, rw); | ||
379 | } else | ||
380 | input_report_rel(dev, REL_WHEEL, (signed char) data[6]); | ||
362 | /* fall through */ | 381 | /* fall through */ |
363 | 382 | ||
364 | case 3: /* Mouse without wheel */ | 383 | case 3: /* Mouse without wheel */ |
365 | wacom->tool[0] = BTN_TOOL_MOUSE; | 384 | wacom->tool[0] = BTN_TOOL_MOUSE; |
385 | id = CURSOR_DEVICE_ID; | ||
366 | input_report_key(dev, BTN_LEFT, data[1] & 0x01); | 386 | input_report_key(dev, BTN_LEFT, data[1] & 0x01); |
367 | input_report_key(dev, BTN_RIGHT, data[1] & 0x02); | 387 | input_report_key(dev, BTN_RIGHT, data[1] & 0x02); |
368 | input_report_abs(dev, ABS_DISTANCE, data[7]); | 388 | if (wacom->features->type == G4) |
389 | input_report_abs(dev, ABS_DISTANCE, data[6]); | ||
390 | else | ||
391 | input_report_abs(dev, ABS_DISTANCE, data[7]); | ||
369 | break; | 392 | break; |
370 | } | 393 | } |
371 | } | 394 | } |
@@ -376,16 +399,50 @@ static void wacom_graphire_irq(struct urb *urb, struct pt_regs *regs) | |||
376 | input_report_abs(dev, ABS_X, x); | 399 | input_report_abs(dev, ABS_X, x); |
377 | input_report_abs(dev, ABS_Y, y); | 400 | input_report_abs(dev, ABS_Y, y); |
378 | if (wacom->tool[0] != BTN_TOOL_MOUSE) { | 401 | if (wacom->tool[0] != BTN_TOOL_MOUSE) { |
379 | input_report_abs(dev, ABS_PRESSURE, le16_to_cpu(*(__le16 *) &data[6])); | 402 | input_report_abs(dev, ABS_PRESSURE, data[6] | ((data[7] & 0x01) << 8)); |
380 | input_report_key(dev, BTN_TOUCH, data[1] & 0x01); | 403 | input_report_key(dev, BTN_TOUCH, data[1] & 0x01); |
381 | input_report_key(dev, BTN_STYLUS, data[1] & 0x02); | 404 | input_report_key(dev, BTN_STYLUS, data[1] & 0x02); |
382 | input_report_key(dev, BTN_STYLUS2, data[1] & 0x04); | 405 | input_report_key(dev, BTN_STYLUS2, data[1] & 0x04); |
383 | } | 406 | } |
384 | } | 407 | } |
385 | 408 | ||
386 | input_report_key(dev, wacom->tool[0], data[1] & 0x10); | 409 | input_report_key(dev, wacom->tool[0], (data[1] & 0x10) ? id : 0); |
387 | input_sync(dev); | 410 | input_sync(dev); |
388 | 411 | ||
412 | /* send pad data */ | ||
413 | if (wacom->features->type == G4) { | ||
414 | /* fist time sending pad data */ | ||
415 | if (wacom->tool[1] != BTN_TOOL_FINGER) { | ||
416 | wacom->id[1] = 0; | ||
417 | wacom->serial[1] = (data[7] & 0x38) >> 2; | ||
418 | } | ||
419 | if (data[7] & 0xf8) { | ||
420 | input_report_key(dev, BTN_0, (data[7] & 0x40)); | ||
421 | input_report_key(dev, BTN_4, (data[7] & 0x80)); | ||
422 | if (((data[7] & 0x38) >> 2) == (wacom->serial[1] & 0x0e)) | ||
423 | /* alter REL_WHEEL value so X apps can get it */ | ||
424 | wacom->serial[1] += (wacom->serial[1] & 0x01) ? -1 : 1; | ||
425 | else | ||
426 | wacom->serial[1] = (data[7] & 0x38 ) >> 2; | ||
427 | |||
428 | /* don't alter the value when there is no wheel event */ | ||
429 | if (wacom->serial[1] == 1) | ||
430 | wacom->serial[1] = 0; | ||
431 | rw = wacom->serial[1]; | ||
432 | rw = (rw & 0x08) ? -(rw & 0x07) : (rw & 0x07); | ||
433 | input_report_rel(dev, REL_WHEEL, rw); | ||
434 | wacom->tool[1] = BTN_TOOL_FINGER; | ||
435 | wacom->id[1] = data[7] & 0xf8; | ||
436 | input_report_key(dev, wacom->tool[1], 0xf0); | ||
437 | input_event(dev, EV_MSC, MSC_SERIAL, 0xf0); | ||
438 | } else if (wacom->id[1]) { | ||
439 | wacom->id[1] = 0; | ||
440 | wacom->serial[1] = 0; | ||
441 | input_report_key(dev, wacom->tool[1], 0); | ||
442 | input_event(dev, EV_MSC, MSC_SERIAL, 0xf0); | ||
443 | } | ||
444 | input_sync(dev); | ||
445 | } | ||
389 | exit: | 446 | exit: |
390 | retval = usb_submit_urb (urb, GFP_ATOMIC); | 447 | retval = usb_submit_urb (urb, GFP_ATOMIC); |
391 | if (retval) | 448 | if (retval) |
@@ -410,7 +467,8 @@ static int wacom_intuos_inout(struct urb *urb) | |||
410 | (data[4] << 20) + (data[5] << 12) + | 467 | (data[4] << 20) + (data[5] << 12) + |
411 | (data[6] << 4) + (data[7] >> 4); | 468 | (data[6] << 4) + (data[7] >> 4); |
412 | 469 | ||
413 | switch ((data[2] << 4) | (data[3] >> 4)) { | 470 | wacom->id[idx] = (data[2] << 4) | (data[3] >> 4); |
471 | switch (wacom->id[idx]) { | ||
414 | case 0x812: /* Inking pen */ | 472 | case 0x812: /* Inking pen */ |
415 | case 0x801: /* Intuos3 Inking pen */ | 473 | case 0x801: /* Intuos3 Inking pen */ |
416 | case 0x012: | 474 | case 0x012: |
@@ -458,7 +516,7 @@ static int wacom_intuos_inout(struct urb *urb) | |||
458 | default: /* Unknown tool */ | 516 | default: /* Unknown tool */ |
459 | wacom->tool[idx] = BTN_TOOL_PEN; | 517 | wacom->tool[idx] = BTN_TOOL_PEN; |
460 | } | 518 | } |
461 | input_report_key(dev, wacom->tool[idx], 1); | 519 | input_report_key(dev, wacom->tool[idx], wacom->id[idx]); |
462 | input_event(dev, EV_MSC, MSC_SERIAL, wacom->serial[idx]); | 520 | input_event(dev, EV_MSC, MSC_SERIAL, wacom->serial[idx]); |
463 | input_sync(dev); | 521 | input_sync(dev); |
464 | return 1; | 522 | return 1; |
@@ -637,7 +695,7 @@ static void wacom_intuos_irq(struct urb *urb, struct pt_regs *regs) | |||
637 | } | 695 | } |
638 | } | 696 | } |
639 | 697 | ||
640 | input_report_key(dev, wacom->tool[idx], 1); | 698 | input_report_key(dev, wacom->tool[idx], wacom->id[idx]); |
641 | input_event(dev, EV_MSC, MSC_SERIAL, wacom->serial[idx]); | 699 | input_event(dev, EV_MSC, MSC_SERIAL, wacom->serial[idx]); |
642 | input_sync(dev); | 700 | input_sync(dev); |
643 | 701 | ||
@@ -655,6 +713,13 @@ static struct wacom_features wacom_features[] = { | |||
655 | { "Wacom Graphire2 5x7", 8, 13918, 10206, 511, 32, GRAPHIRE, wacom_graphire_irq }, | 713 | { "Wacom Graphire2 5x7", 8, 13918, 10206, 511, 32, GRAPHIRE, wacom_graphire_irq }, |
656 | { "Wacom Graphire3", 8, 10208, 7424, 511, 32, GRAPHIRE, wacom_graphire_irq }, | 714 | { "Wacom Graphire3", 8, 10208, 7424, 511, 32, GRAPHIRE, wacom_graphire_irq }, |
657 | { "Wacom Graphire3 6x8", 8, 16704, 12064, 511, 32, GRAPHIRE, wacom_graphire_irq }, | 715 | { "Wacom Graphire3 6x8", 8, 16704, 12064, 511, 32, GRAPHIRE, wacom_graphire_irq }, |
716 | { "Wacom Graphire4 4x5", 8, 10208, 7424, 511, 32, G4, wacom_graphire_irq }, | ||
717 | { "Wacom Graphire4 6x8", 8, 16704, 12064, 511, 32, G4, wacom_graphire_irq }, | ||
718 | { "Wacom Volito", 8, 5104, 3712, 511, 32, GRAPHIRE, wacom_graphire_irq }, | ||
719 | { "Wacom PenStation2", 8, 3250, 2320, 255, 32, GRAPHIRE, wacom_graphire_irq }, | ||
720 | { "Wacom Volito2 4x5", 8, 5104, 3712, 511, 32, GRAPHIRE, wacom_graphire_irq }, | ||
721 | { "Wacom Volito2 2x3", 8, 3248, 2320, 511, 32, GRAPHIRE, wacom_graphire_irq }, | ||
722 | { "Wacom PenPartner2", 8, 3250, 2320, 255, 32, GRAPHIRE, wacom_graphire_irq }, | ||
658 | { "Wacom Intuos 4x5", 10, 12700, 10600, 1023, 15, INTUOS, wacom_intuos_irq }, | 723 | { "Wacom Intuos 4x5", 10, 12700, 10600, 1023, 15, INTUOS, wacom_intuos_irq }, |
659 | { "Wacom Intuos 6x8", 10, 20320, 16240, 1023, 15, INTUOS, wacom_intuos_irq }, | 724 | { "Wacom Intuos 6x8", 10, 20320, 16240, 1023, 15, INTUOS, wacom_intuos_irq }, |
660 | { "Wacom Intuos 9x12", 10, 30480, 24060, 1023, 15, INTUOS, wacom_intuos_irq }, | 725 | { "Wacom Intuos 9x12", 10, 30480, 24060, 1023, 15, INTUOS, wacom_intuos_irq }, |
@@ -666,16 +731,20 @@ static struct wacom_features wacom_features[] = { | |||
666 | { "Wacom PL600SX", 8, 6260, 5016, 255, 32, PL, wacom_pl_irq }, | 731 | { "Wacom PL600SX", 8, 6260, 5016, 255, 32, PL, wacom_pl_irq }, |
667 | { "Wacom PL550", 8, 6144, 4608, 511, 32, PL, wacom_pl_irq }, | 732 | { "Wacom PL550", 8, 6144, 4608, 511, 32, PL, wacom_pl_irq }, |
668 | { "Wacom PL800", 8, 7220, 5780, 511, 32, PL, wacom_pl_irq }, | 733 | { "Wacom PL800", 8, 7220, 5780, 511, 32, PL, wacom_pl_irq }, |
734 | { "Wacom PL700", 8, 6758, 5406, 511, 32, PL, wacom_pl_irq }, | ||
735 | { "Wacom PL510", 8, 6282, 4762, 511, 32, PL, wacom_pl_irq }, | ||
736 | { "Wacom PL710", 8, 34080, 27660, 511, 32, PL, wacom_pl_irq }, | ||
737 | { "Wacom DTF720", 8, 6858, 5506, 511, 32, PL, wacom_pl_irq }, | ||
738 | { "Wacom Cintiq Partner",8, 20480, 15360, 511, 32, PL, wacom_ptu_irq }, | ||
669 | { "Wacom Intuos2 4x5", 10, 12700, 10600, 1023, 15, INTUOS, wacom_intuos_irq }, | 739 | { "Wacom Intuos2 4x5", 10, 12700, 10600, 1023, 15, INTUOS, wacom_intuos_irq }, |
670 | { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 15, INTUOS, wacom_intuos_irq }, | 740 | { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 15, INTUOS, wacom_intuos_irq }, |
671 | { "Wacom Intuos2 9x12", 10, 30480, 24060, 1023, 15, INTUOS, wacom_intuos_irq }, | 741 | { "Wacom Intuos2 9x12", 10, 30480, 24060, 1023, 15, INTUOS, wacom_intuos_irq }, |
672 | { "Wacom Intuos2 12x12", 10, 30480, 31680, 1023, 15, INTUOS, wacom_intuos_irq }, | 742 | { "Wacom Intuos2 12x12", 10, 30480, 31680, 1023, 15, INTUOS, wacom_intuos_irq }, |
673 | { "Wacom Intuos2 12x18", 10, 45720, 31680, 1023, 15, INTUOS, wacom_intuos_irq }, | 743 | { "Wacom Intuos2 12x18", 10, 45720, 31680, 1023, 15, INTUOS, wacom_intuos_irq }, |
674 | { "Wacom Volito", 8, 5104, 3712, 511, 32, GRAPHIRE, wacom_graphire_irq }, | ||
675 | { "Wacom Cintiq Partner",8, 20480, 15360, 511, 32, PL, wacom_ptu_irq }, | ||
676 | { "Wacom Intuos3 4x5", 10, 25400, 20320, 1023, 15, INTUOS3, wacom_intuos_irq }, | 744 | { "Wacom Intuos3 4x5", 10, 25400, 20320, 1023, 15, INTUOS3, wacom_intuos_irq }, |
677 | { "Wacom Intuos3 6x8", 10, 40640, 30480, 1023, 15, INTUOS3, wacom_intuos_irq }, | 745 | { "Wacom Intuos3 6x8", 10, 40640, 30480, 1023, 15, INTUOS3, wacom_intuos_irq }, |
678 | { "Wacom Intuos3 9x12", 10, 60960, 45720, 1023, 15, INTUOS3, wacom_intuos_irq }, | 746 | { "Wacom Intuos3 9x12", 10, 60960, 45720, 1023, 15, INTUOS3, wacom_intuos_irq }, |
747 | { "Wacom Intuos3 6x11", 10, 54204, 31750, 1023, 15, INTUOS3, wacom_intuos_irq }, | ||
679 | { "Wacom Cintiq 21UX", 10, 87200, 65600, 1023, 15, CINTIQ, wacom_intuos_irq }, | 748 | { "Wacom Cintiq 21UX", 10, 87200, 65600, 1023, 15, CINTIQ, wacom_intuos_irq }, |
680 | { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 15, INTUOS, wacom_intuos_irq }, | 749 | { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 15, INTUOS, wacom_intuos_irq }, |
681 | { } | 750 | { } |
@@ -688,6 +757,13 @@ static struct usb_device_id wacom_ids[] = { | |||
688 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x12) }, | 757 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x12) }, |
689 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x13) }, | 758 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x13) }, |
690 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x14) }, | 759 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x14) }, |
760 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x15) }, | ||
761 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x16) }, | ||
762 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x60) }, | ||
763 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x61) }, | ||
764 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x62) }, | ||
765 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x63) }, | ||
766 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x64) }, | ||
691 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x20) }, | 767 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x20) }, |
692 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x21) }, | 768 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x21) }, |
693 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x22) }, | 769 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x22) }, |
@@ -699,16 +775,20 @@ static struct usb_device_id wacom_ids[] = { | |||
699 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x33) }, | 775 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x33) }, |
700 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x34) }, | 776 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x34) }, |
701 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x35) }, | 777 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x35) }, |
778 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x37) }, | ||
779 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x38) }, | ||
780 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x39) }, | ||
781 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xC0) }, | ||
782 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x03) }, | ||
702 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x41) }, | 783 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x41) }, |
703 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x42) }, | 784 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x42) }, |
704 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x43) }, | 785 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x43) }, |
705 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x44) }, | 786 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x44) }, |
706 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x45) }, | 787 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x45) }, |
707 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x60) }, | ||
708 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x03) }, | ||
709 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB0) }, | 788 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB0) }, |
710 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB1) }, | 789 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB1) }, |
711 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB2) }, | 790 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB2) }, |
791 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB5) }, | ||
712 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x3F) }, | 792 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x3F) }, |
713 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x47) }, | 793 | { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x47) }, |
714 | { } | 794 | { } |
@@ -779,6 +859,13 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i | |||
779 | input_set_abs_params(input_dev, ABS_PRESSURE, 0, wacom->features->pressure_max, 0, 0); | 859 | input_set_abs_params(input_dev, ABS_PRESSURE, 0, wacom->features->pressure_max, 0, 0); |
780 | 860 | ||
781 | switch (wacom->features->type) { | 861 | switch (wacom->features->type) { |
862 | case G4: | ||
863 | input_dev->evbit[0] |= BIT(EV_MSC); | ||
864 | input_dev->mscbit[0] |= BIT(MSC_SERIAL); | ||
865 | input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_TOOL_FINGER); | ||
866 | input_dev->keybit[LONG(BTN_LEFT)] |= BIT(BTN_0) | BIT(BTN_1) | BIT(BTN_2) | BIT(BTN_3) | BIT(BTN_4) | BIT(BTN_5) | BIT(BTN_6) | BIT(BTN_7); | ||
867 | /* fall through */ | ||
868 | |||
782 | case GRAPHIRE: | 869 | case GRAPHIRE: |
783 | input_dev->evbit[0] |= BIT(EV_REL); | 870 | input_dev->evbit[0] |= BIT(EV_REL); |
784 | input_dev->relbit[0] |= BIT(REL_WHEEL); | 871 | input_dev->relbit[0] |= BIT(REL_WHEEL); |
diff --git a/drivers/usb/misc/Makefile b/drivers/usb/misc/Makefile index 862e40a83689..6c693bc68e2e 100644 --- a/drivers/usb/misc/Makefile +++ b/drivers/usb/misc/Makefile | |||
@@ -18,4 +18,8 @@ obj-$(CONFIG_USB_RIO500) += rio500.o | |||
18 | obj-$(CONFIG_USB_TEST) += usbtest.o | 18 | obj-$(CONFIG_USB_TEST) += usbtest.o |
19 | obj-$(CONFIG_USB_USS720) += uss720.o | 19 | obj-$(CONFIG_USB_USS720) += uss720.o |
20 | 20 | ||
21 | obj-$(CONFIG_USB_SISUSBVGA) += sisusbvga/ \ No newline at end of file | 21 | obj-$(CONFIG_USB_SISUSBVGA) += sisusbvga/ |
22 | |||
23 | ifeq ($(CONFIG_USB_DEBUG),y) | ||
24 | EXTRA_CFLAGS += -DDEBUG | ||
25 | endif | ||
diff --git a/drivers/usb/misc/auerswald.c b/drivers/usb/misc/auerswald.c index 5f33f7c64885..2a28ceeaa66a 100644 --- a/drivers/usb/misc/auerswald.c +++ b/drivers/usb/misc/auerswald.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <linux/module.h> | 30 | #include <linux/module.h> |
31 | #include <linux/init.h> | 31 | #include <linux/init.h> |
32 | #include <linux/wait.h> | 32 | #include <linux/wait.h> |
33 | #undef DEBUG /* include debug macros until it's done */ | ||
34 | #include <linux/usb.h> | 33 | #include <linux/usb.h> |
35 | 34 | ||
36 | /*-------------------------------------------------------------------*/ | 35 | /*-------------------------------------------------------------------*/ |
diff --git a/drivers/usb/misc/phidgetservo.c b/drivers/usb/misc/phidgetservo.c index b84eda631ab5..a30d4a6ee824 100644 --- a/drivers/usb/misc/phidgetservo.c +++ b/drivers/usb/misc/phidgetservo.c | |||
@@ -26,9 +26,6 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | #include <linux/config.h> | 28 | #include <linux/config.h> |
29 | #ifdef CONFIG_USB_DEBUG | ||
30 | #define DEBUG 1 | ||
31 | #endif | ||
32 | #include <linux/kernel.h> | 29 | #include <linux/kernel.h> |
33 | #include <linux/errno.h> | 30 | #include <linux/errno.h> |
34 | #include <linux/init.h> | 31 | #include <linux/init.h> |
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c index 7d02d8ec6b1a..9590dbac5d9a 100644 --- a/drivers/usb/misc/rio500.c +++ b/drivers/usb/misc/rio500.c | |||
@@ -393,7 +393,7 @@ read_rio(struct file *file, char __user *buffer, size_t count, loff_t * ppos) | |||
393 | ibuf, this_read, &partial, | 393 | ibuf, this_read, &partial, |
394 | 8000); | 394 | 8000); |
395 | 395 | ||
396 | dbg(KERN_DEBUG "read stats: result:%d this_read:%u partial:%u", | 396 | dbg("read stats: result:%d this_read:%u partial:%u", |
397 | result, this_read, partial); | 397 | result, this_read, partial); |
398 | 398 | ||
399 | if (partial) { | 399 | if (partial) { |
diff --git a/drivers/usb/misc/usbled.c b/drivers/usb/misc/usbled.c index f6ba4c788dbc..3c93921cb6b3 100644 --- a/drivers/usb/misc/usbled.c +++ b/drivers/usb/misc/usbled.c | |||
@@ -10,9 +10,6 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/config.h> | 12 | #include <linux/config.h> |
13 | #ifdef CONFIG_USB_DEBUG | ||
14 | #define DEBUG 1 | ||
15 | #endif | ||
16 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
17 | #include <linux/errno.h> | 14 | #include <linux/errno.h> |
18 | #include <linux/init.h> | 15 | #include <linux/init.h> |
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 2997f558159b..605a2afe34ed 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c | |||
@@ -1,7 +1,4 @@ | |||
1 | #include <linux/config.h> | 1 | #include <linux/config.h> |
2 | #if !defined (DEBUG) && defined (CONFIG_USB_DEBUG) | ||
3 | # define DEBUG | ||
4 | #endif | ||
5 | #include <linux/kernel.h> | 2 | #include <linux/kernel.h> |
6 | #include <linux/errno.h> | 3 | #include <linux/errno.h> |
7 | #include <linux/init.h> | 4 | #include <linux/init.h> |
diff --git a/drivers/usb/misc/uss720.c b/drivers/usb/misc/uss720.c index 0592cb5e6c4d..1cabe7ed91f5 100644 --- a/drivers/usb/misc/uss720.c +++ b/drivers/usb/misc/uss720.c | |||
@@ -41,8 +41,6 @@ | |||
41 | 41 | ||
42 | /*****************************************************************************/ | 42 | /*****************************************************************************/ |
43 | 43 | ||
44 | #define DEBUG | ||
45 | |||
46 | #include <linux/module.h> | 44 | #include <linux/module.h> |
47 | #include <linux/socket.h> | 45 | #include <linux/socket.h> |
48 | #include <linux/parport.h> | 46 | #include <linux/parport.h> |
diff --git a/drivers/usb/net/Makefile b/drivers/usb/net/Makefile index 222c0495f791..a21e6eaabaf6 100644 --- a/drivers/usb/net/Makefile +++ b/drivers/usb/net/Makefile | |||
@@ -16,3 +16,7 @@ obj-$(CONFIG_USB_NET_CDC_SUBSET) += cdc_subset.o | |||
16 | obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o | 16 | obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o |
17 | obj-$(CONFIG_USB_USBNET) += usbnet.o | 17 | obj-$(CONFIG_USB_USBNET) += usbnet.o |
18 | obj-$(CONFIG_USB_ZD1201) += zd1201.o | 18 | obj-$(CONFIG_USB_ZD1201) += zd1201.o |
19 | |||
20 | ifeq ($(CONFIG_USB_DEBUG),y) | ||
21 | EXTRA_CFLAGS += -DDEBUG | ||
22 | endif | ||
diff --git a/drivers/usb/net/asix.c b/drivers/usb/net/asix.c index 252a34fbb42c..542120ef1fd2 100644 --- a/drivers/usb/net/asix.c +++ b/drivers/usb/net/asix.c | |||
@@ -23,9 +23,6 @@ | |||
23 | // #define VERBOSE // more; success messages | 23 | // #define VERBOSE // more; success messages |
24 | 24 | ||
25 | #include <linux/config.h> | 25 | #include <linux/config.h> |
26 | #ifdef CONFIG_USB_DEBUG | ||
27 | # define DEBUG | ||
28 | #endif | ||
29 | #include <linux/module.h> | 26 | #include <linux/module.h> |
30 | #include <linux/kmod.h> | 27 | #include <linux/kmod.h> |
31 | #include <linux/sched.h> | 28 | #include <linux/sched.h> |
diff --git a/drivers/usb/net/cdc_ether.c b/drivers/usb/net/cdc_ether.c index 652b04bbf6af..c008c981862b 100644 --- a/drivers/usb/net/cdc_ether.c +++ b/drivers/usb/net/cdc_ether.c | |||
@@ -21,9 +21,6 @@ | |||
21 | // #define VERBOSE // more; success messages | 21 | // #define VERBOSE // more; success messages |
22 | 22 | ||
23 | #include <linux/config.h> | 23 | #include <linux/config.h> |
24 | #ifdef CONFIG_USB_DEBUG | ||
25 | # define DEBUG | ||
26 | #endif | ||
27 | #include <linux/module.h> | 24 | #include <linux/module.h> |
28 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
29 | #include <linux/init.h> | 26 | #include <linux/init.h> |
diff --git a/drivers/usb/net/cdc_subset.c b/drivers/usb/net/cdc_subset.c index f1730b685fd2..f05cfb83c82d 100644 --- a/drivers/usb/net/cdc_subset.c +++ b/drivers/usb/net/cdc_subset.c | |||
@@ -18,9 +18,6 @@ | |||
18 | */ | 18 | */ |
19 | 19 | ||
20 | #include <linux/config.h> | 20 | #include <linux/config.h> |
21 | #ifdef CONFIG_USB_DEBUG | ||
22 | # define DEBUG | ||
23 | #endif | ||
24 | #include <linux/module.h> | 21 | #include <linux/module.h> |
25 | #include <linux/kmod.h> | 22 | #include <linux/kmod.h> |
26 | #include <linux/sched.h> | 23 | #include <linux/sched.h> |
diff --git a/drivers/usb/net/gl620a.c b/drivers/usb/net/gl620a.c index c0f263b202a6..2455e9a85674 100644 --- a/drivers/usb/net/gl620a.c +++ b/drivers/usb/net/gl620a.c | |||
@@ -22,9 +22,6 @@ | |||
22 | // #define VERBOSE // more; success messages | 22 | // #define VERBOSE // more; success messages |
23 | 23 | ||
24 | #include <linux/config.h> | 24 | #include <linux/config.h> |
25 | #ifdef CONFIG_USB_DEBUG | ||
26 | # define DEBUG | ||
27 | #endif | ||
28 | #include <linux/module.h> | 25 | #include <linux/module.h> |
29 | #include <linux/sched.h> | 26 | #include <linux/sched.h> |
30 | #include <linux/init.h> | 27 | #include <linux/init.h> |
diff --git a/drivers/usb/net/kaweth.c b/drivers/usb/net/kaweth.c index 6bef1be6b36c..b5776518020f 100644 --- a/drivers/usb/net/kaweth.c +++ b/drivers/usb/net/kaweth.c | |||
@@ -219,7 +219,6 @@ struct kaweth_device | |||
219 | 219 | ||
220 | __u32 status; | 220 | __u32 status; |
221 | int end; | 221 | int end; |
222 | int removed; | ||
223 | int suspend_lowmem_rx; | 222 | int suspend_lowmem_rx; |
224 | int suspend_lowmem_ctrl; | 223 | int suspend_lowmem_ctrl; |
225 | int linkstate; | 224 | int linkstate; |
@@ -699,6 +698,7 @@ static int kaweth_close(struct net_device *net) | |||
699 | 698 | ||
700 | usb_kill_urb(kaweth->irq_urb); | 699 | usb_kill_urb(kaweth->irq_urb); |
701 | usb_kill_urb(kaweth->rx_urb); | 700 | usb_kill_urb(kaweth->rx_urb); |
701 | usb_kill_urb(kaweth->tx_urb); | ||
702 | 702 | ||
703 | flush_scheduled_work(); | 703 | flush_scheduled_work(); |
704 | 704 | ||
@@ -750,13 +750,6 @@ static int kaweth_start_xmit(struct sk_buff *skb, struct net_device *net) | |||
750 | 750 | ||
751 | spin_lock(&kaweth->device_lock); | 751 | spin_lock(&kaweth->device_lock); |
752 | 752 | ||
753 | if (kaweth->removed) { | ||
754 | /* our device is undergoing disconnection - we bail out */ | ||
755 | spin_unlock(&kaweth->device_lock); | ||
756 | dev_kfree_skb_irq(skb); | ||
757 | return 0; | ||
758 | } | ||
759 | |||
760 | kaweth_async_set_rx_mode(kaweth); | 753 | kaweth_async_set_rx_mode(kaweth); |
761 | netif_stop_queue(net); | 754 | netif_stop_queue(net); |
762 | 755 | ||
@@ -1136,10 +1129,6 @@ static void kaweth_disconnect(struct usb_interface *intf) | |||
1136 | return; | 1129 | return; |
1137 | } | 1130 | } |
1138 | netdev = kaweth->net; | 1131 | netdev = kaweth->net; |
1139 | kaweth->removed = 1; | ||
1140 | usb_kill_urb(kaweth->irq_urb); | ||
1141 | usb_kill_urb(kaweth->rx_urb); | ||
1142 | usb_kill_urb(kaweth->tx_urb); | ||
1143 | 1132 | ||
1144 | kaweth_dbg("Unregistering net device"); | 1133 | kaweth_dbg("Unregistering net device"); |
1145 | unregister_netdev(netdev); | 1134 | unregister_netdev(netdev); |
diff --git a/drivers/usb/net/net1080.c b/drivers/usb/net/net1080.c index cee55f8cf64f..b3799b1a2b0d 100644 --- a/drivers/usb/net/net1080.c +++ b/drivers/usb/net/net1080.c | |||
@@ -21,9 +21,6 @@ | |||
21 | // #define VERBOSE // more; success messages | 21 | // #define VERBOSE // more; success messages |
22 | 22 | ||
23 | #include <linux/config.h> | 23 | #include <linux/config.h> |
24 | #ifdef CONFIG_USB_DEBUG | ||
25 | # define DEBUG | ||
26 | #endif | ||
27 | #include <linux/module.h> | 24 | #include <linux/module.h> |
28 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
29 | #include <linux/init.h> | 26 | #include <linux/init.h> |
diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c index 537eb181d985..683e3df5d607 100644 --- a/drivers/usb/net/pegasus.c +++ b/drivers/usb/net/pegasus.c | |||
@@ -28,8 +28,6 @@ | |||
28 | * is out of the interrupt routine. | 28 | * is out of the interrupt routine. |
29 | */ | 29 | */ |
30 | 30 | ||
31 | #undef DEBUG | ||
32 | |||
33 | #include <linux/sched.h> | 31 | #include <linux/sched.h> |
34 | #include <linux/slab.h> | 32 | #include <linux/slab.h> |
35 | #include <linux/init.h> | 33 | #include <linux/init.h> |
diff --git a/drivers/usb/net/plusb.c b/drivers/usb/net/plusb.c index 74c2b3581c76..89856aa0e3b8 100644 --- a/drivers/usb/net/plusb.c +++ b/drivers/usb/net/plusb.c | |||
@@ -21,9 +21,6 @@ | |||
21 | // #define VERBOSE // more; success messages | 21 | // #define VERBOSE // more; success messages |
22 | 22 | ||
23 | #include <linux/config.h> | 23 | #include <linux/config.h> |
24 | #ifdef CONFIG_USB_DEBUG | ||
25 | # define DEBUG | ||
26 | #endif | ||
27 | #include <linux/module.h> | 24 | #include <linux/module.h> |
28 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
29 | #include <linux/init.h> | 26 | #include <linux/init.h> |
diff --git a/drivers/usb/net/rndis_host.c b/drivers/usb/net/rndis_host.c index b5a925dc1beb..c0ecbab6f6ba 100644 --- a/drivers/usb/net/rndis_host.c +++ b/drivers/usb/net/rndis_host.c | |||
@@ -21,9 +21,6 @@ | |||
21 | // #define VERBOSE // more; success messages | 21 | // #define VERBOSE // more; success messages |
22 | 22 | ||
23 | #include <linux/config.h> | 23 | #include <linux/config.h> |
24 | #ifdef CONFIG_USB_DEBUG | ||
25 | # define DEBUG | ||
26 | #endif | ||
27 | #include <linux/module.h> | 24 | #include <linux/module.h> |
28 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
29 | #include <linux/init.h> | 26 | #include <linux/init.h> |
diff --git a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c index 74f05c9c84d5..362d6907c9bb 100644 --- a/drivers/usb/net/usbnet.c +++ b/drivers/usb/net/usbnet.c | |||
@@ -34,9 +34,6 @@ | |||
34 | // #define VERBOSE // more; success messages | 34 | // #define VERBOSE // more; success messages |
35 | 35 | ||
36 | #include <linux/config.h> | 36 | #include <linux/config.h> |
37 | #ifdef CONFIG_USB_DEBUG | ||
38 | # define DEBUG | ||
39 | #endif | ||
40 | #include <linux/module.h> | 37 | #include <linux/module.h> |
41 | #include <linux/sched.h> | 38 | #include <linux/sched.h> |
42 | #include <linux/init.h> | 39 | #include <linux/init.h> |
diff --git a/drivers/usb/net/zaurus.c b/drivers/usb/net/zaurus.c index 5d4b7d55b097..680d13957af4 100644 --- a/drivers/usb/net/zaurus.c +++ b/drivers/usb/net/zaurus.c | |||
@@ -21,9 +21,6 @@ | |||
21 | // #define VERBOSE // more; success messages | 21 | // #define VERBOSE // more; success messages |
22 | 22 | ||
23 | #include <linux/config.h> | 23 | #include <linux/config.h> |
24 | #ifdef CONFIG_USB_DEBUG | ||
25 | # define DEBUG | ||
26 | #endif | ||
27 | #include <linux/module.h> | 24 | #include <linux/module.h> |
28 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
29 | #include <linux/init.h> | 26 | #include <linux/init.h> |
diff --git a/drivers/usb/serial/ChangeLog.old b/drivers/usb/serial/ChangeLog.history index c1b279939bbf..52c4f7bd7a80 100644 --- a/drivers/usb/serial/ChangeLog.old +++ b/drivers/usb/serial/ChangeLog.history | |||
@@ -400,7 +400,7 @@ visor.c Change Log comments: | |||
400 | 400 | ||
401 | (11/11/2001) gkh | 401 | (11/11/2001) gkh |
402 | Added support for the m125 devices, and added check to prevent oopses | 402 | Added support for the m125 devices, and added check to prevent oopses |
403 | for Clié devices that lie about the number of ports they have. | 403 | for Clié devices that lie about the number of ports they have. |
404 | 404 | ||
405 | (08/30/2001) gkh | 405 | (08/30/2001) gkh |
406 | Added support for the Clie devices, both the 3.5 and 4.0 os versions. | 406 | Added support for the Clie devices, both the 3.5 and 4.0 os versions. |
diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig index 7b5e8e4ee2bb..14f55fd26a64 100644 --- a/drivers/usb/serial/Kconfig +++ b/drivers/usb/serial/Kconfig | |||
@@ -62,6 +62,15 @@ config USB_SERIAL_AIRPRIME | |||
62 | To compile this driver as a module, choose M here: the | 62 | To compile this driver as a module, choose M here: the |
63 | module will be called airprime. | 63 | module will be called airprime. |
64 | 64 | ||
65 | config USB_SERIAL_ANYDATA | ||
66 | tristate "USB AnyData CDMA Wireless Driver" | ||
67 | depends on USB_SERIAL | ||
68 | help | ||
69 | Say Y here if you want to use a AnyData CDMA device. | ||
70 | |||
71 | To compile this driver as a module, choose M here: the | ||
72 | module will be called anydata. | ||
73 | |||
65 | config USB_SERIAL_BELKIN | 74 | config USB_SERIAL_BELKIN |
66 | tristate "USB Belkin and Peracom Single Port Serial Driver" | 75 | tristate "USB Belkin and Peracom Single Port Serial Driver" |
67 | depends on USB_SERIAL | 76 | depends on USB_SERIAL |
@@ -394,15 +403,6 @@ config USB_SERIAL_MCT_U232 | |||
394 | To compile this driver as a module, choose M here: the | 403 | To compile this driver as a module, choose M here: the |
395 | module will be called mct_u232. | 404 | module will be called mct_u232. |
396 | 405 | ||
397 | config USB_SERIAL_NOKIA_DKU2 | ||
398 | tristate "USB Nokia DKU2 Driver" | ||
399 | depends on USB_SERIAL | ||
400 | help | ||
401 | Say Y here if you want to use a Nokia DKU2 device. | ||
402 | |||
403 | To compile this driver as a module, choose M here: the | ||
404 | module will be called nokia_dku2. | ||
405 | |||
406 | config USB_SERIAL_PL2303 | 406 | config USB_SERIAL_PL2303 |
407 | tristate "USB Prolific 2303 Single Port Serial Driver" | 407 | tristate "USB Prolific 2303 Single Port Serial Driver" |
408 | depends on USB_SERIAL | 408 | depends on USB_SERIAL |
diff --git a/drivers/usb/serial/Makefile b/drivers/usb/serial/Makefile index 55fd461793b7..f0b04420cea1 100644 --- a/drivers/usb/serial/Makefile +++ b/drivers/usb/serial/Makefile | |||
@@ -12,6 +12,7 @@ usbserial-obj-$(CONFIG_USB_EZUSB) += ezusb.o | |||
12 | usbserial-objs := usb-serial.o generic.o bus.o $(usbserial-obj-y) | 12 | usbserial-objs := usb-serial.o generic.o bus.o $(usbserial-obj-y) |
13 | 13 | ||
14 | obj-$(CONFIG_USB_SERIAL_AIRPRIME) += airprime.o | 14 | obj-$(CONFIG_USB_SERIAL_AIRPRIME) += airprime.o |
15 | obj-$(CONFIG_USB_SERIAL_ANYDATA) += anydata.o | ||
15 | obj-$(CONFIG_USB_SERIAL_BELKIN) += belkin_sa.o | 16 | obj-$(CONFIG_USB_SERIAL_BELKIN) += belkin_sa.o |
16 | obj-$(CONFIG_USB_SERIAL_CP2101) += cp2101.o | 17 | obj-$(CONFIG_USB_SERIAL_CP2101) += cp2101.o |
17 | obj-$(CONFIG_USB_SERIAL_CYBERJACK) += cyberjack.o | 18 | obj-$(CONFIG_USB_SERIAL_CYBERJACK) += cyberjack.o |
@@ -31,7 +32,6 @@ obj-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda.o | |||
31 | obj-$(CONFIG_USB_SERIAL_KLSI) += kl5kusb105.o | 32 | obj-$(CONFIG_USB_SERIAL_KLSI) += kl5kusb105.o |
32 | obj-$(CONFIG_USB_SERIAL_KOBIL_SCT) += kobil_sct.o | 33 | obj-$(CONFIG_USB_SERIAL_KOBIL_SCT) += kobil_sct.o |
33 | obj-$(CONFIG_USB_SERIAL_MCT_U232) += mct_u232.o | 34 | obj-$(CONFIG_USB_SERIAL_MCT_U232) += mct_u232.o |
34 | obj-$(CONFIG_USB_SERIAL_NOKIA_DKU2) += nokia_dku2.o | ||
35 | obj-$(CONFIG_USB_SERIAL_OMNINET) += omninet.o | 35 | obj-$(CONFIG_USB_SERIAL_OMNINET) += omninet.o |
36 | obj-$(CONFIG_USB_SERIAL_OPTION) += option.o | 36 | obj-$(CONFIG_USB_SERIAL_OPTION) += option.o |
37 | obj-$(CONFIG_USB_SERIAL_PL2303) += pl2303.o | 37 | obj-$(CONFIG_USB_SERIAL_PL2303) += pl2303.o |
diff --git a/drivers/usb/serial/anydata.c b/drivers/usb/serial/anydata.c new file mode 100644 index 000000000000..18022a74a3dc --- /dev/null +++ b/drivers/usb/serial/anydata.c | |||
@@ -0,0 +1,123 @@ | |||
1 | /* | ||
2 | * AnyData CDMA Serial USB driver | ||
3 | * | ||
4 | * Copyright (C) 2005 Greg Kroah-Hartman <gregkh@suse.de> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License version | ||
8 | * 2 as published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/tty.h> | ||
14 | #include <linux/module.h> | ||
15 | #include <linux/usb.h> | ||
16 | #include "usb-serial.h" | ||
17 | |||
18 | static struct usb_device_id id_table [] = { | ||
19 | { USB_DEVICE(0x16d5, 0x6501) }, /* AirData CDMA device */ | ||
20 | { }, | ||
21 | }; | ||
22 | MODULE_DEVICE_TABLE(usb, id_table); | ||
23 | |||
24 | /* if overridden by the user, then use their value for the size of the | ||
25 | * read and write urbs */ | ||
26 | static int buffer_size; | ||
27 | static int debug; | ||
28 | |||
29 | static struct usb_driver anydata_driver = { | ||
30 | .owner = THIS_MODULE, | ||
31 | .name = "anydata", | ||
32 | .probe = usb_serial_probe, | ||
33 | .disconnect = usb_serial_disconnect, | ||
34 | .id_table = id_table, | ||
35 | }; | ||
36 | |||
37 | static int anydata_open(struct usb_serial_port *port, struct file *filp) | ||
38 | { | ||
39 | char *buffer; | ||
40 | int result = 0; | ||
41 | |||
42 | dbg("%s - port %d", __FUNCTION__, port->number); | ||
43 | |||
44 | if (buffer_size) { | ||
45 | /* override the default buffer sizes */ | ||
46 | buffer = kmalloc(buffer_size, GFP_KERNEL); | ||
47 | if (!buffer) { | ||
48 | dev_err(&port->dev, "%s - out of memory.\n", | ||
49 | __FUNCTION__); | ||
50 | return -ENOMEM; | ||
51 | } | ||
52 | kfree (port->read_urb->transfer_buffer); | ||
53 | port->read_urb->transfer_buffer = buffer; | ||
54 | port->read_urb->transfer_buffer_length = buffer_size; | ||
55 | |||
56 | buffer = kmalloc(buffer_size, GFP_KERNEL); | ||
57 | if (!buffer) { | ||
58 | dev_err(&port->dev, "%s - out of memory.\n", | ||
59 | __FUNCTION__); | ||
60 | return -ENOMEM; | ||
61 | } | ||
62 | kfree (port->write_urb->transfer_buffer); | ||
63 | port->write_urb->transfer_buffer = buffer; | ||
64 | port->write_urb->transfer_buffer_length = buffer_size; | ||
65 | port->bulk_out_size = buffer_size; | ||
66 | } | ||
67 | |||
68 | /* Start reading from the device */ | ||
69 | usb_fill_bulk_urb(port->read_urb, port->serial->dev, | ||
70 | usb_rcvbulkpipe(port->serial->dev, | ||
71 | port->bulk_in_endpointAddress), | ||
72 | port->read_urb->transfer_buffer, | ||
73 | port->read_urb->transfer_buffer_length, | ||
74 | usb_serial_generic_write_bulk_callback, port); | ||
75 | result = usb_submit_urb(port->read_urb, GFP_KERNEL); | ||
76 | if (result) | ||
77 | dev_err(&port->dev, | ||
78 | "%s - failed submitting read urb, error %d\n", | ||
79 | __FUNCTION__, result); | ||
80 | |||
81 | return result; | ||
82 | } | ||
83 | |||
84 | static struct usb_serial_driver anydata_device = { | ||
85 | .driver = { | ||
86 | .owner = THIS_MODULE, | ||
87 | .name = "anydata", | ||
88 | }, | ||
89 | .id_table = id_table, | ||
90 | .num_interrupt_in = NUM_DONT_CARE, | ||
91 | .num_bulk_in = NUM_DONT_CARE, | ||
92 | .num_bulk_out = NUM_DONT_CARE, | ||
93 | .num_ports = 1, | ||
94 | .open = anydata_open, | ||
95 | }; | ||
96 | |||
97 | static int __init anydata_init(void) | ||
98 | { | ||
99 | int retval; | ||
100 | |||
101 | retval = usb_serial_register(&anydata_device); | ||
102 | if (retval) | ||
103 | return retval; | ||
104 | retval = usb_register(&anydata_driver); | ||
105 | if (retval) | ||
106 | usb_serial_deregister(&anydata_device); | ||
107 | return retval; | ||
108 | } | ||
109 | |||
110 | static void __exit anydata_exit(void) | ||
111 | { | ||
112 | usb_deregister(&anydata_driver); | ||
113 | usb_serial_deregister(&anydata_device); | ||
114 | } | ||
115 | |||
116 | module_init(anydata_init); | ||
117 | module_exit(anydata_exit); | ||
118 | MODULE_LICENSE("GPL"); | ||
119 | |||
120 | module_param(debug, bool, S_IRUGO | S_IWUSR); | ||
121 | MODULE_PARM_DESC(debug, "Debug enabled or not"); | ||
122 | module_param(buffer_size, int, 0); | ||
123 | MODULE_PARM_DESC(buffer_size, "Size of the transfer buffers"); | ||
diff --git a/drivers/usb/serial/cp2101.c b/drivers/usb/serial/cp2101.c index c5334dd89b12..c9787001cf2a 100644 --- a/drivers/usb/serial/cp2101.c +++ b/drivers/usb/serial/cp2101.c | |||
@@ -60,6 +60,7 @@ static struct usb_device_id id_table [] = { | |||
60 | { USB_DEVICE(0x10C4, 0x80F6) }, /* Suunto sports instrument */ | 60 | { USB_DEVICE(0x10C4, 0x80F6) }, /* Suunto sports instrument */ |
61 | { USB_DEVICE(0x10A6, 0xAA26) }, /* Knock-off DCU-11 cable */ | 61 | { USB_DEVICE(0x10A6, 0xAA26) }, /* Knock-off DCU-11 cable */ |
62 | { USB_DEVICE(0x10AB, 0x10C5) }, /* Siemens MC60 Cable */ | 62 | { USB_DEVICE(0x10AB, 0x10C5) }, /* Siemens MC60 Cable */ |
63 | { USB_DEVICE(0x16D6, 0x0001) }, /* Jablotron serial interface */ | ||
63 | { } /* Terminating Entry */ | 64 | { } /* Terminating Entry */ |
64 | }; | 65 | }; |
65 | 66 | ||
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c index 8909208f506a..53a47c31cd0e 100644 --- a/drivers/usb/serial/generic.c +++ b/drivers/usb/serial/generic.c | |||
@@ -309,6 +309,7 @@ void usb_serial_generic_write_bulk_callback (struct urb *urb, struct pt_regs *re | |||
309 | 309 | ||
310 | schedule_work(&port->work); | 310 | schedule_work(&port->work); |
311 | } | 311 | } |
312 | EXPORT_SYMBOL_GPL(usb_serial_generic_write_bulk_callback); | ||
312 | 313 | ||
313 | void usb_serial_generic_shutdown (struct usb_serial *serial) | 314 | void usb_serial_generic_shutdown (struct usb_serial *serial) |
314 | { | 315 | { |
diff --git a/drivers/usb/serial/nokia_dku2.c b/drivers/usb/serial/nokia_dku2.c deleted file mode 100644 index fad01bef3a64..000000000000 --- a/drivers/usb/serial/nokia_dku2.c +++ /dev/null | |||
@@ -1,142 +0,0 @@ | |||
1 | /* | ||
2 | * Nokia DKU2 USB driver | ||
3 | * | ||
4 | * Copyright (C) 2004 | ||
5 | * Author: C Kemp | ||
6 | * | ||
7 | * This program is largely derived from work by the linux-usb group | ||
8 | * and associated source files. Please see the usb/serial files for | ||
9 | * individual credits and copyrights. | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License as published by | ||
13 | * the Free Software Foundation; either version 2 of the License, or | ||
14 | * (at your option) any later version. | ||
15 | * | ||
16 | * 20.09.2005 - Matthias Blaesing <matthias.blaesing@rwth-aachen.de> | ||
17 | * Added short name to device structure to make driver load into kernel 2.6.13 | ||
18 | * | ||
19 | * 20.09.2005 - Matthias Blaesing <matthias.blaesing@rwth-aachen.de> | ||
20 | * Added usb_deregister to exit code - to allow remove and reinsert of module | ||
21 | */ | ||
22 | |||
23 | |||
24 | #include <linux/config.h> | ||
25 | #include <linux/kernel.h> | ||
26 | #include <linux/errno.h> | ||
27 | #include <linux/init.h> | ||
28 | #include <linux/slab.h> | ||
29 | #include <linux/tty.h> | ||
30 | #include <linux/tty_driver.h> | ||
31 | #include <linux/tty_flip.h> | ||
32 | #include <linux/module.h> | ||
33 | #include <linux/usb.h> | ||
34 | #include "usb-serial.h" | ||
35 | |||
36 | |||
37 | #define NOKIA_VENDOR_ID 0x0421 | ||
38 | #define NOKIA7600_PRODUCT_ID 0x0400 | ||
39 | #define NOKIA6230_PRODUCT_ID 0x040f | ||
40 | #define NOKIA6170_PRODUCT_ID 0x0416 | ||
41 | #define NOKIA6670_PRODUCT_ID 0x041d | ||
42 | #define NOKIA6680_PRODUCT_ID 0x041e | ||
43 | #define NOKIA6230i_PRODUCT_ID 0x0428 | ||
44 | |||
45 | #define NOKIA_AT_PORT 0x82 | ||
46 | #define NOKIA_FBUS_PORT 0x86 | ||
47 | |||
48 | /* | ||
49 | * Version Information | ||
50 | */ | ||
51 | #define DRIVER_VERSION "v0.2" | ||
52 | #define DRIVER_AUTHOR "C Kemp" | ||
53 | #define DRIVER_DESC "Nokia DKU2 Driver" | ||
54 | |||
55 | static struct usb_device_id id_table [] = { | ||
56 | { USB_DEVICE(NOKIA_VENDOR_ID, NOKIA7600_PRODUCT_ID) }, | ||
57 | { USB_DEVICE(NOKIA_VENDOR_ID, NOKIA6230_PRODUCT_ID) }, | ||
58 | { USB_DEVICE(NOKIA_VENDOR_ID, NOKIA6170_PRODUCT_ID) }, | ||
59 | { USB_DEVICE(NOKIA_VENDOR_ID, NOKIA6670_PRODUCT_ID) }, | ||
60 | { USB_DEVICE(NOKIA_VENDOR_ID, NOKIA6680_PRODUCT_ID) }, | ||
61 | { USB_DEVICE(NOKIA_VENDOR_ID, NOKIA6230i_PRODUCT_ID) }, | ||
62 | { } /* Terminating entry */ | ||
63 | }; | ||
64 | MODULE_DEVICE_TABLE(usb, id_table); | ||
65 | |||
66 | /* The only thing which makes this device different from a generic | ||
67 | * device is that we have to set an alternative configuration to make | ||
68 | * the relevant endpoints available. In 2.6 this is really easy... */ | ||
69 | static int nokia_probe(struct usb_serial *serial, | ||
70 | const struct usb_device_id *id) | ||
71 | { | ||
72 | int retval = -ENODEV; | ||
73 | |||
74 | if (serial->interface->altsetting[0].endpoint[0].desc.bEndpointAddress == NOKIA_AT_PORT) { | ||
75 | /* the AT port */ | ||
76 | dev_info(&serial->dev->dev, "Nokia AT Port:\n"); | ||
77 | retval = 0; | ||
78 | } else if (serial->interface->num_altsetting == 2 && | ||
79 | serial->interface->altsetting[1].endpoint[0].desc.bEndpointAddress == NOKIA_FBUS_PORT) { | ||
80 | /* the FBUS port */ | ||
81 | dev_info(&serial->dev->dev, "Nokia FBUS Port:\n"); | ||
82 | usb_set_interface(serial->dev, 10, 1); | ||
83 | retval = 0; | ||
84 | } | ||
85 | |||
86 | return retval; | ||
87 | } | ||
88 | |||
89 | static struct usb_driver nokia_driver = { | ||
90 | .owner = THIS_MODULE, | ||
91 | .name = "nokia_dku2", | ||
92 | .probe = usb_serial_probe, | ||
93 | .disconnect = usb_serial_disconnect, | ||
94 | .id_table = id_table, | ||
95 | }; | ||
96 | |||
97 | static struct usb_serial_driver nokia_serial_driver = { | ||
98 | .driver = { | ||
99 | .owner = THIS_MODULE, | ||
100 | .name = "nokia_dku2", | ||
101 | }, | ||
102 | .description = "Nokia 7600/6230(i)/6170/66x0 DKU2 driver", | ||
103 | .id_table = id_table, | ||
104 | .num_interrupt_in = 1, | ||
105 | .num_bulk_in = 1, | ||
106 | .num_bulk_out = 1, | ||
107 | .num_ports = 1, | ||
108 | .probe = nokia_probe, | ||
109 | }; | ||
110 | |||
111 | static int __init nokia_init(void) | ||
112 | { | ||
113 | int retval; | ||
114 | |||
115 | retval = usb_serial_register(&nokia_serial_driver); | ||
116 | if (retval) | ||
117 | return retval; | ||
118 | |||
119 | retval = usb_register(&nokia_driver); | ||
120 | if (retval) { | ||
121 | usb_serial_deregister(&nokia_serial_driver); | ||
122 | return retval; | ||
123 | } | ||
124 | |||
125 | info(DRIVER_VERSION " " DRIVER_AUTHOR); | ||
126 | info(DRIVER_DESC); | ||
127 | |||
128 | return retval; | ||
129 | } | ||
130 | |||
131 | static void __exit nokia_exit(void) | ||
132 | { | ||
133 | usb_deregister(&nokia_driver); | ||
134 | usb_serial_deregister(&nokia_serial_driver); | ||
135 | } | ||
136 | |||
137 | module_init(nokia_init); | ||
138 | module_exit(nokia_exit); | ||
139 | |||
140 | MODULE_AUTHOR(DRIVER_AUTHOR); | ||
141 | MODULE_DESCRIPTION(DRIVER_DESC); | ||
142 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c index 165c119bf10e..41a45a5025b2 100644 --- a/drivers/usb/serial/pl2303.c +++ b/drivers/usb/serial/pl2303.c | |||
@@ -71,7 +71,9 @@ static struct usb_device_id id_table [] = { | |||
71 | { USB_DEVICE(SITECOM_VENDOR_ID, SITECOM_PRODUCT_ID) }, | 71 | { USB_DEVICE(SITECOM_VENDOR_ID, SITECOM_PRODUCT_ID) }, |
72 | { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_ID) }, | 72 | { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_ID) }, |
73 | { USB_DEVICE(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_ID) }, | 73 | { USB_DEVICE(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_ID) }, |
74 | { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_SX1) }, | ||
74 | { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X65) }, | 75 | { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X65) }, |
76 | { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X75) }, | ||
75 | { USB_DEVICE(SYNTECH_VENDOR_ID, SYNTECH_PRODUCT_ID) }, | 77 | { USB_DEVICE(SYNTECH_VENDOR_ID, SYNTECH_PRODUCT_ID) }, |
76 | { USB_DEVICE( NOKIA_CA42_VENDOR_ID, NOKIA_CA42_PRODUCT_ID ) }, | 78 | { USB_DEVICE( NOKIA_CA42_VENDOR_ID, NOKIA_CA42_PRODUCT_ID ) }, |
77 | { } /* Terminating entry */ | 79 | { } /* Terminating entry */ |
@@ -811,7 +813,9 @@ static void pl2303_update_line_status(struct usb_serial_port *port, | |||
811 | u8 length = UART_STATE; | 813 | u8 length = UART_STATE; |
812 | 814 | ||
813 | if ((le16_to_cpu(port->serial->dev->descriptor.idVendor) == SIEMENS_VENDOR_ID) && | 815 | if ((le16_to_cpu(port->serial->dev->descriptor.idVendor) == SIEMENS_VENDOR_ID) && |
814 | (le16_to_cpu(port->serial->dev->descriptor.idProduct) == SIEMENS_PRODUCT_ID_X65)) { | 816 | (le16_to_cpu(port->serial->dev->descriptor.idProduct) == SIEMENS_PRODUCT_ID_X65 || |
817 | le16_to_cpu(port->serial->dev->descriptor.idProduct) == SIEMENS_PRODUCT_ID_SX1 || | ||
818 | le16_to_cpu(port->serial->dev->descriptor.idProduct) == SIEMENS_PRODUCT_ID_X75)) { | ||
815 | length = 1; | 819 | length = 1; |
816 | status_idx = 0; | 820 | status_idx = 0; |
817 | } | 821 | } |
diff --git a/drivers/usb/serial/pl2303.h b/drivers/usb/serial/pl2303.h index 7be9644f5a03..21d434d81813 100644 --- a/drivers/usb/serial/pl2303.h +++ b/drivers/usb/serial/pl2303.h | |||
@@ -54,7 +54,9 @@ | |||
54 | #define SAMSUNG_PRODUCT_ID 0x8001 | 54 | #define SAMSUNG_PRODUCT_ID 0x8001 |
55 | 55 | ||
56 | #define SIEMENS_VENDOR_ID 0x11f5 | 56 | #define SIEMENS_VENDOR_ID 0x11f5 |
57 | #define SIEMENS_PRODUCT_ID_SX1 0x0001 | ||
57 | #define SIEMENS_PRODUCT_ID_X65 0x0003 | 58 | #define SIEMENS_PRODUCT_ID_X65 0x0003 |
59 | #define SIEMENS_PRODUCT_ID_X75 0x0004 | ||
58 | 60 | ||
59 | #define SYNTECH_VENDOR_ID 0x0745 | 61 | #define SYNTECH_VENDOR_ID 0x0745 |
60 | #define SYNTECH_PRODUCT_ID 0x0001 | 62 | #define SYNTECH_PRODUCT_ID 0x0001 |
diff --git a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig index 1a9679f76f5a..c41d64dbb0f0 100644 --- a/drivers/usb/storage/Kconfig +++ b/drivers/usb/storage/Kconfig | |||
@@ -115,7 +115,7 @@ config USB_STORAGE_JUMPSHOT | |||
115 | 115 | ||
116 | config USB_STORAGE_ONETOUCH | 116 | config USB_STORAGE_ONETOUCH |
117 | bool "Support OneTouch Button on Maxtor Hard Drives (EXPERIMENTAL)" | 117 | bool "Support OneTouch Button on Maxtor Hard Drives (EXPERIMENTAL)" |
118 | depends on USB_STORAGE && INPUT_EVDEV && EXPERIMENTAL | 118 | depends on USB_STORAGE && INPUT_EVDEV && EXPERIMENTAL && !PM |
119 | help | 119 | help |
120 | Say Y here to include additional code to support the Maxtor OneTouch | 120 | Say Y here to include additional code to support the Maxtor OneTouch |
121 | USB hard drive's onetouch button. | 121 | USB hard drive's onetouch button. |
diff --git a/drivers/usb/storage/shuttle_usbat.c b/drivers/usb/storage/shuttle_usbat.c index 33c55a6261bb..fea176d7e79a 100644 --- a/drivers/usb/storage/shuttle_usbat.c +++ b/drivers/usb/storage/shuttle_usbat.c | |||
@@ -853,7 +853,7 @@ static int usbat_identify_device(struct us_data *us, | |||
853 | rc = usbat_device_reset(us); | 853 | rc = usbat_device_reset(us); |
854 | if (rc != USB_STOR_TRANSPORT_GOOD) | 854 | if (rc != USB_STOR_TRANSPORT_GOOD) |
855 | return rc; | 855 | return rc; |
856 | msleep(25); | 856 | msleep(500); |
857 | 857 | ||
858 | /* | 858 | /* |
859 | * In attempt to distinguish between HP CDRW's and Flash readers, we now | 859 | * In attempt to distinguish between HP CDRW's and Flash readers, we now |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index 9e926a8f2116..0a9858f69a9b 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
@@ -710,11 +710,6 @@ UNUSUAL_DEV( 0x0686, 0x4017, 0x0001, 0x0001, | |||
710 | "DIMAGE E223", | 710 | "DIMAGE E223", |
711 | US_SC_SCSI, US_PR_DEVICE, NULL, 0 ), | 711 | US_SC_SCSI, US_PR_DEVICE, NULL, 0 ), |
712 | 712 | ||
713 | UNUSUAL_DEV( 0x0693, 0x0002, 0x0100, 0x0100, | ||
714 | "Hagiwara", | ||
715 | "FlashGate SmartMedia", | ||
716 | US_SC_SCSI, US_PR_BULK, NULL, 0 ), | ||
717 | |||
718 | UNUSUAL_DEV( 0x0693, 0x0005, 0x0100, 0x0100, | 713 | UNUSUAL_DEV( 0x0693, 0x0005, 0x0100, 0x0100, |
719 | "Hagiwara", | 714 | "Hagiwara", |
720 | "Flashgate", | 715 | "Flashgate", |
@@ -1008,6 +1003,11 @@ UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, | |||
1008 | * | 1003 | * |
1009 | */ | 1004 | */ |
1010 | #ifdef CONFIG_USB_STORAGE_ONETOUCH | 1005 | #ifdef CONFIG_USB_STORAGE_ONETOUCH |
1006 | UNUSUAL_DEV( 0x0d49, 0x7000, 0x0000, 0x9999, | ||
1007 | "Maxtor", | ||
1008 | "OneTouch External Harddrive", | ||
1009 | US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, | ||
1010 | 0), | ||
1011 | UNUSUAL_DEV( 0x0d49, 0x7010, 0x0000, 0x9999, | 1011 | UNUSUAL_DEV( 0x0d49, 0x7010, 0x0000, 0x9999, |
1012 | "Maxtor", | 1012 | "Maxtor", |
1013 | "OneTouch External Harddrive", | 1013 | "OneTouch External Harddrive", |
diff --git a/drivers/video/offb.c b/drivers/video/offb.c index 2c856838694e..00d87f5bb7be 100644 --- a/drivers/video/offb.c +++ b/drivers/video/offb.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/fb.h> | 26 | #include <linux/fb.h> |
27 | #include <linux/init.h> | 27 | #include <linux/init.h> |
28 | #include <linux/ioport.h> | 28 | #include <linux/ioport.h> |
29 | #include <linux/pci.h> | ||
29 | #include <asm/io.h> | 30 | #include <asm/io.h> |
30 | #include <asm/prom.h> | 31 | #include <asm/prom.h> |
31 | 32 | ||
@@ -325,8 +326,8 @@ static void __init offb_init_nodriver(struct device_node *dp) | |||
325 | int *pp, i; | 326 | int *pp, i; |
326 | unsigned int len; | 327 | unsigned int len; |
327 | int width = 640, height = 480, depth = 8, pitch; | 328 | int width = 640, height = 480, depth = 8, pitch; |
328 | unsigned *up; | 329 | unsigned int rsize, *up; |
329 | unsigned long address; | 330 | unsigned long address = 0; |
330 | 331 | ||
331 | if ((pp = (int *) get_property(dp, "depth", &len)) != NULL | 332 | if ((pp = (int *) get_property(dp, "depth", &len)) != NULL |
332 | && len == sizeof(int)) | 333 | && len == sizeof(int)) |
@@ -344,10 +345,40 @@ static void __init offb_init_nodriver(struct device_node *dp) | |||
344 | pitch = 0x1000; | 345 | pitch = 0x1000; |
345 | } else | 346 | } else |
346 | pitch = width; | 347 | pitch = width; |
347 | if ((up = (unsigned *) get_property(dp, "address", &len)) != NULL | 348 | |
348 | && len == sizeof(unsigned)) | 349 | rsize = (unsigned long)pitch * (unsigned long)height * |
350 | (unsigned long)(depth / 8); | ||
351 | |||
352 | /* Try to match device to a PCI device in order to get a properly | ||
353 | * translated address rather then trying to decode the open firmware | ||
354 | * stuff in various incorrect ways | ||
355 | */ | ||
356 | #ifdef CONFIG_PCI | ||
357 | /* First try to locate the PCI device if any */ | ||
358 | { | ||
359 | struct pci_dev *pdev = NULL; | ||
360 | |||
361 | for_each_pci_dev(pdev) { | ||
362 | if (dp == pci_device_to_OF_node(pdev)) | ||
363 | break; | ||
364 | } | ||
365 | if (pdev) { | ||
366 | for (i = 0; i < 6 && address == 0; i++) { | ||
367 | if ((pci_resource_flags(pdev, i) & | ||
368 | IORESOURCE_MEM) && | ||
369 | (pci_resource_len(pdev, i) >= rsize)) | ||
370 | address = pci_resource_start(pdev, i); | ||
371 | } | ||
372 | pci_dev_put(pdev); | ||
373 | } | ||
374 | } | ||
375 | #endif /* CONFIG_PCI */ | ||
376 | |||
377 | if (address == 0 && | ||
378 | (up = (unsigned *) get_property(dp, "address", &len)) != NULL && | ||
379 | len == sizeof(unsigned)) | ||
349 | address = (u_long) * up; | 380 | address = (u_long) * up; |
350 | else { | 381 | if (address == 0) { |
351 | for (i = 0; i < dp->n_addrs; ++i) | 382 | for (i = 0; i < dp->n_addrs; ++i) |
352 | if (dp->addrs[i].size >= | 383 | if (dp->addrs[i].size >= |
353 | pitch * height * depth / 8) | 384 | pitch * height * depth / 8) |
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index eab3750cf304..6bded10c0d50 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES | |||
@@ -3,6 +3,8 @@ Version 1.39 | |||
3 | Defer close of a file handle slightly if pending writes depend on that file handle | 3 | Defer close of a file handle slightly if pending writes depend on that file handle |
4 | (this reduces the EBADF bad file handle errors that can be logged under heavy | 4 | (this reduces the EBADF bad file handle errors that can be logged under heavy |
5 | stress on writes). Modify cifs Kconfig options to expose CONFIG_CIFS_STATS2 | 5 | stress on writes). Modify cifs Kconfig options to expose CONFIG_CIFS_STATS2 |
6 | Fix SFU style symlinks and mknod needed for servers which do not support the CIFS | ||
7 | Unix Extensions. Fix setfacl/getfacl on bigendian. | ||
6 | 8 | ||
7 | Version 1.38 | 9 | Version 1.38 |
8 | ------------ | 10 | ------------ |
diff --git a/fs/cifs/cifs_unicode.c b/fs/cifs/cifs_unicode.c index 4e12053f0806..d2b128255944 100644 --- a/fs/cifs/cifs_unicode.c +++ b/fs/cifs/cifs_unicode.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * fs/cifs/cifs_unicode.c | 2 | * fs/cifs/cifs_unicode.c |
3 | * | 3 | * |
4 | * Copyright (c) International Business Machines Corp., 2000,2002 | 4 | * Copyright (c) International Business Machines Corp., 2000,2005 |
5 | * Modified by Steve French (sfrench@us.ibm.com) | 5 | * Modified by Steve French (sfrench@us.ibm.com) |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
@@ -31,7 +31,7 @@ | |||
31 | * | 31 | * |
32 | */ | 32 | */ |
33 | int | 33 | int |
34 | cifs_strfromUCS_le(char *to, const wchar_t * from, /* LITTLE ENDIAN */ | 34 | cifs_strfromUCS_le(char *to, const __le16 * from, |
35 | int len, const struct nls_table *codepage) | 35 | int len, const struct nls_table *codepage) |
36 | { | 36 | { |
37 | int i; | 37 | int i; |
@@ -60,25 +60,26 @@ cifs_strfromUCS_le(char *to, const wchar_t * from, /* LITTLE ENDIAN */ | |||
60 | * | 60 | * |
61 | */ | 61 | */ |
62 | int | 62 | int |
63 | cifs_strtoUCS(wchar_t * to, const char *from, int len, | 63 | cifs_strtoUCS(__le16 * to, const char *from, int len, |
64 | const struct nls_table *codepage) | 64 | const struct nls_table *codepage) |
65 | { | 65 | { |
66 | int charlen; | 66 | int charlen; |
67 | int i; | 67 | int i; |
68 | wchar_t * wchar_to = (wchar_t *)to; /* needed to quiet sparse */ | ||
68 | 69 | ||
69 | for (i = 0; len && *from; i++, from += charlen, len -= charlen) { | 70 | for (i = 0; len && *from; i++, from += charlen, len -= charlen) { |
70 | 71 | ||
71 | /* works for 2.4.0 kernel or later */ | 72 | /* works for 2.4.0 kernel or later */ |
72 | charlen = codepage->char2uni(from, len, &to[i]); | 73 | charlen = codepage->char2uni(from, len, &wchar_to[i]); |
73 | if (charlen < 1) { | 74 | if (charlen < 1) { |
74 | cERROR(1, | 75 | cERROR(1, |
75 | ("cifs_strtoUCS: char2uni returned %d", | 76 | ("cifs_strtoUCS: char2uni returned %d", |
76 | charlen)); | 77 | charlen)); |
77 | /* A question mark */ | 78 | /* A question mark */ |
78 | to[i] = (wchar_t)cpu_to_le16(0x003f); | 79 | to[i] = cpu_to_le16(0x003f); |
79 | charlen = 1; | 80 | charlen = 1; |
80 | } else | 81 | } else |
81 | to[i] = (wchar_t)cpu_to_le16(to[i]); | 82 | to[i] = cpu_to_le16(wchar_to[i]); |
82 | 83 | ||
83 | } | 84 | } |
84 | 85 | ||
diff --git a/fs/cifs/cifs_unicode.h b/fs/cifs/cifs_unicode.h index da8dde965275..39e5b970325f 100644 --- a/fs/cifs/cifs_unicode.h +++ b/fs/cifs/cifs_unicode.h | |||
@@ -5,7 +5,7 @@ | |||
5 | * Convert a unicode character to upper or lower case using | 5 | * Convert a unicode character to upper or lower case using |
6 | * compressed tables. | 6 | * compressed tables. |
7 | * | 7 | * |
8 | * Copyright (c) International Business Machines Corp., 2000,2002 | 8 | * Copyright (c) International Business Machines Corp., 2000,2005555555555555555555555555555555555555555555555555555555 |
9 | * | 9 | * |
10 | * This program is free software; you can redistribute it and/or modify | 10 | * This program is free software; you can redistribute it and/or modify |
11 | * it under the terms of the GNU General Public License as published by | 11 | * it under the terms of the GNU General Public License as published by |
@@ -59,8 +59,8 @@ extern struct UniCaseRange UniLowerRange[]; | |||
59 | #endif /* UNIUPR_NOLOWER */ | 59 | #endif /* UNIUPR_NOLOWER */ |
60 | 60 | ||
61 | #ifdef __KERNEL__ | 61 | #ifdef __KERNEL__ |
62 | int cifs_strfromUCS_le(char *, const wchar_t *, int, const struct nls_table *); | 62 | int cifs_strfromUCS_le(char *, const __le16 *, int, const struct nls_table *); |
63 | int cifs_strtoUCS(wchar_t *, const char *, int, const struct nls_table *); | 63 | int cifs_strtoUCS(__le16 *, const char *, int, const struct nls_table *); |
64 | #endif | 64 | #endif |
65 | 65 | ||
66 | /* | 66 | /* |
diff --git a/fs/cifs/cifsencrypt.c b/fs/cifs/cifsencrypt.c index 1959c7c4b185..fe2bb7c4c912 100644 --- a/fs/cifs/cifsencrypt.c +++ b/fs/cifs/cifsencrypt.c | |||
@@ -149,7 +149,7 @@ int CalcNTLMv2_partial_mac_key(struct cifsSesInfo * ses, struct nls_table * nls_ | |||
149 | char temp_hash[16]; | 149 | char temp_hash[16]; |
150 | struct HMACMD5Context ctx; | 150 | struct HMACMD5Context ctx; |
151 | char * ucase_buf; | 151 | char * ucase_buf; |
152 | wchar_t * unicode_buf; | 152 | __le16 * unicode_buf; |
153 | unsigned int i,user_name_len,dom_name_len; | 153 | unsigned int i,user_name_len,dom_name_len; |
154 | 154 | ||
155 | if(ses == NULL) | 155 | if(ses == NULL) |
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 682b0235ad9a..51548ed2e9cc 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -483,57 +483,30 @@ cifs_get_sb(struct file_system_type *fs_type, | |||
483 | return sb; | 483 | return sb; |
484 | } | 484 | } |
485 | 485 | ||
486 | static ssize_t | 486 | static ssize_t cifs_file_writev(struct file *file, const struct iovec *iov, |
487 | cifs_read_wrapper(struct file * file, char __user *read_data, size_t read_size, | 487 | unsigned long nr_segs, loff_t *ppos) |
488 | loff_t * poffset) | ||
489 | { | 488 | { |
490 | if(file->f_dentry == NULL) | 489 | struct inode *inode = file->f_dentry->d_inode; |
491 | return -EIO; | 490 | ssize_t written; |
492 | else if(file->f_dentry->d_inode == NULL) | ||
493 | return -EIO; | ||
494 | |||
495 | cFYI(1,("In read_wrapper size %zd at %lld",read_size,*poffset)); | ||
496 | 491 | ||
497 | if(CIFS_I(file->f_dentry->d_inode)->clientCanCacheRead) { | 492 | written = generic_file_writev(file, iov, nr_segs, ppos); |
498 | return generic_file_read(file,read_data,read_size,poffset); | 493 | if (!CIFS_I(inode)->clientCanCacheAll) |
499 | } else { | 494 | filemap_fdatawrite(inode->i_mapping); |
500 | /* BB do we need to lock inode from here until after invalidate? */ | 495 | return written; |
501 | /* if(file->f_dentry->d_inode->i_mapping) { | ||
502 | filemap_fdatawrite(file->f_dentry->d_inode->i_mapping); | ||
503 | filemap_fdatawait(file->f_dentry->d_inode->i_mapping); | ||
504 | }*/ | ||
505 | /* cifs_revalidate(file->f_dentry);*/ /* BB fixme */ | ||
506 | |||
507 | /* BB we should make timer configurable - perhaps | ||
508 | by simply calling cifs_revalidate here */ | ||
509 | /* invalidate_remote_inode(file->f_dentry->d_inode);*/ | ||
510 | return generic_file_read(file,read_data,read_size,poffset); | ||
511 | } | ||
512 | } | 496 | } |
513 | 497 | ||
514 | static ssize_t | 498 | static ssize_t cifs_file_aio_write(struct kiocb *iocb, const char __user *buf, |
515 | cifs_write_wrapper(struct file * file, const char __user *write_data, | 499 | size_t count, loff_t pos) |
516 | size_t write_size, loff_t * poffset) | ||
517 | { | 500 | { |
501 | struct inode *inode = iocb->ki_filp->f_dentry->d_inode; | ||
518 | ssize_t written; | 502 | ssize_t written; |
519 | 503 | ||
520 | if(file->f_dentry == NULL) | 504 | written = generic_file_aio_write(iocb, buf, count, pos); |
521 | return -EIO; | 505 | if (!CIFS_I(inode)->clientCanCacheAll) |
522 | else if(file->f_dentry->d_inode == NULL) | 506 | filemap_fdatawrite(inode->i_mapping); |
523 | return -EIO; | ||
524 | |||
525 | cFYI(1,("In write_wrapper size %zd at %lld",write_size,*poffset)); | ||
526 | |||
527 | written = generic_file_write(file,write_data,write_size,poffset); | ||
528 | if(!CIFS_I(file->f_dentry->d_inode)->clientCanCacheAll) { | ||
529 | if(file->f_dentry->d_inode->i_mapping) { | ||
530 | filemap_fdatawrite(file->f_dentry->d_inode->i_mapping); | ||
531 | } | ||
532 | } | ||
533 | return written; | 507 | return written; |
534 | } | 508 | } |
535 | 509 | ||
536 | |||
537 | static struct file_system_type cifs_fs_type = { | 510 | static struct file_system_type cifs_fs_type = { |
538 | .owner = THIS_MODULE, | 511 | .owner = THIS_MODULE, |
539 | .name = "cifs", | 512 | .name = "cifs", |
@@ -594,8 +567,12 @@ struct inode_operations cifs_symlink_inode_ops = { | |||
594 | }; | 567 | }; |
595 | 568 | ||
596 | struct file_operations cifs_file_ops = { | 569 | struct file_operations cifs_file_ops = { |
597 | .read = cifs_read_wrapper, | 570 | .read = do_sync_read, |
598 | .write = cifs_write_wrapper, | 571 | .write = do_sync_write, |
572 | .readv = generic_file_readv, | ||
573 | .writev = cifs_file_writev, | ||
574 | .aio_read = generic_file_aio_read, | ||
575 | .aio_write = cifs_file_aio_write, | ||
599 | .open = cifs_open, | 576 | .open = cifs_open, |
600 | .release = cifs_close, | 577 | .release = cifs_close, |
601 | .lock = cifs_lock, | 578 | .lock = cifs_lock, |
@@ -608,10 +585,6 @@ struct file_operations cifs_file_ops = { | |||
608 | #endif /* CONFIG_CIFS_POSIX */ | 585 | #endif /* CONFIG_CIFS_POSIX */ |
609 | 586 | ||
610 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 587 | #ifdef CONFIG_CIFS_EXPERIMENTAL |
611 | .readv = generic_file_readv, | ||
612 | .writev = generic_file_writev, | ||
613 | .aio_read = generic_file_aio_read, | ||
614 | .aio_write = generic_file_aio_write, | ||
615 | .dir_notify = cifs_dir_notify, | 588 | .dir_notify = cifs_dir_notify, |
616 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | 589 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ |
617 | }; | 590 | }; |
@@ -635,6 +608,46 @@ struct file_operations cifs_file_direct_ops = { | |||
635 | .dir_notify = cifs_dir_notify, | 608 | .dir_notify = cifs_dir_notify, |
636 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | 609 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ |
637 | }; | 610 | }; |
611 | struct file_operations cifs_file_nobrl_ops = { | ||
612 | .read = do_sync_read, | ||
613 | .write = do_sync_write, | ||
614 | .readv = generic_file_readv, | ||
615 | .writev = cifs_file_writev, | ||
616 | .aio_read = generic_file_aio_read, | ||
617 | .aio_write = cifs_file_aio_write, | ||
618 | .open = cifs_open, | ||
619 | .release = cifs_close, | ||
620 | .fsync = cifs_fsync, | ||
621 | .flush = cifs_flush, | ||
622 | .mmap = cifs_file_mmap, | ||
623 | .sendfile = generic_file_sendfile, | ||
624 | #ifdef CONFIG_CIFS_POSIX | ||
625 | .ioctl = cifs_ioctl, | ||
626 | #endif /* CONFIG_CIFS_POSIX */ | ||
627 | |||
628 | #ifdef CONFIG_CIFS_EXPERIMENTAL | ||
629 | .dir_notify = cifs_dir_notify, | ||
630 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | ||
631 | }; | ||
632 | |||
633 | struct file_operations cifs_file_direct_nobrl_ops = { | ||
634 | /* no mmap, no aio, no readv - | ||
635 | BB reevaluate whether they can be done with directio, no cache */ | ||
636 | .read = cifs_user_read, | ||
637 | .write = cifs_user_write, | ||
638 | .open = cifs_open, | ||
639 | .release = cifs_close, | ||
640 | .fsync = cifs_fsync, | ||
641 | .flush = cifs_flush, | ||
642 | .sendfile = generic_file_sendfile, /* BB removeme BB */ | ||
643 | #ifdef CONFIG_CIFS_POSIX | ||
644 | .ioctl = cifs_ioctl, | ||
645 | #endif /* CONFIG_CIFS_POSIX */ | ||
646 | |||
647 | #ifdef CONFIG_CIFS_EXPERIMENTAL | ||
648 | .dir_notify = cifs_dir_notify, | ||
649 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | ||
650 | }; | ||
638 | 651 | ||
639 | struct file_operations cifs_dir_ops = { | 652 | struct file_operations cifs_dir_ops = { |
640 | .readdir = cifs_readdir, | 653 | .readdir = cifs_readdir, |
diff --git a/fs/cifs/cifsfs.h b/fs/cifs/cifsfs.h index 1223fa81dbd2..9ec40e0e54fc 100644 --- a/fs/cifs/cifsfs.h +++ b/fs/cifs/cifsfs.h | |||
@@ -63,6 +63,8 @@ extern struct inode_operations cifs_symlink_inode_ops; | |||
63 | /* Functions related to files and directories */ | 63 | /* Functions related to files and directories */ |
64 | extern struct file_operations cifs_file_ops; | 64 | extern struct file_operations cifs_file_ops; |
65 | extern struct file_operations cifs_file_direct_ops; /* if directio mount */ | 65 | extern struct file_operations cifs_file_direct_ops; /* if directio mount */ |
66 | extern struct file_operations cifs_file_nobrl_ops; | ||
67 | extern struct file_operations cifs_file_direct_nobrl_ops; /* if directio mount */ | ||
66 | extern int cifs_open(struct inode *inode, struct file *file); | 68 | extern int cifs_open(struct inode *inode, struct file *file); |
67 | extern int cifs_close(struct inode *inode, struct file *file); | 69 | extern int cifs_close(struct inode *inode, struct file *file); |
68 | extern int cifs_closedir(struct inode *inode, struct file *file); | 70 | extern int cifs_closedir(struct inode *inode, struct file *file); |
diff --git a/fs/cifs/cifspdu.h b/fs/cifs/cifspdu.h index 48a05b9df7eb..33e1859fd2f6 100644 --- a/fs/cifs/cifspdu.h +++ b/fs/cifs/cifspdu.h | |||
@@ -603,7 +603,9 @@ typedef struct smb_com_logoff_andx_rsp { | |||
603 | __u16 ByteCount; | 603 | __u16 ByteCount; |
604 | } __attribute__((packed)) LOGOFF_ANDX_RSP; | 604 | } __attribute__((packed)) LOGOFF_ANDX_RSP; |
605 | 605 | ||
606 | typedef union smb_com_tree_disconnect { /* as an altetnative can use flag on tree_connect PDU to effect disconnect *//* probably the simplest SMB PDU */ | 606 | typedef union smb_com_tree_disconnect { /* as an altetnative can use flag on |
607 | tree_connect PDU to effect disconnect */ | ||
608 | /* tdis is probably simplest SMB PDU */ | ||
607 | struct { | 609 | struct { |
608 | struct smb_hdr hdr; /* wct = 0 */ | 610 | struct smb_hdr hdr; /* wct = 0 */ |
609 | __u16 ByteCount; /* bcc = 0 */ | 611 | __u16 ByteCount; /* bcc = 0 */ |
@@ -2025,6 +2027,12 @@ typedef struct { | |||
2025 | } __attribute__((packed)) FILE_BOTH_DIRECTORY_INFO; /* level 0x104 FF response data area */ | 2027 | } __attribute__((packed)) FILE_BOTH_DIRECTORY_INFO; /* level 0x104 FF response data area */ |
2026 | 2028 | ||
2027 | 2029 | ||
2030 | struct win_dev { | ||
2031 | unsigned char type[8]; /* IntxCHR or IntxBLK */ | ||
2032 | __le64 major; | ||
2033 | __le64 minor; | ||
2034 | } __attribute__((packed)); | ||
2035 | |||
2028 | struct gea { | 2036 | struct gea { |
2029 | unsigned char name_len; | 2037 | unsigned char name_len; |
2030 | char name[1]; | 2038 | char name[1]; |
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index a53c596e1082..d179b0c3eee4 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -1142,7 +1142,9 @@ CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon, | |||
1142 | int bytes_returned, wct; | 1142 | int bytes_returned, wct; |
1143 | int smb_hdr_len; | 1143 | int smb_hdr_len; |
1144 | 1144 | ||
1145 | cFYI(1,("write2 at %lld %d bytes",offset,count)); /* BB removeme BB */ | 1145 | /* BB removeme BB */ |
1146 | cFYI(1,("write2 at %lld %d bytes", (long long)offset, count)); | ||
1147 | |||
1146 | if(tcon->ses->capabilities & CAP_LARGE_FILES) | 1148 | if(tcon->ses->capabilities & CAP_LARGE_FILES) |
1147 | wct = 14; | 1149 | wct = 14; |
1148 | else | 1150 | else |
@@ -1553,7 +1555,7 @@ createSymLinkRetry: | |||
1553 | 1555 | ||
1554 | if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { | 1556 | if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { |
1555 | name_len = | 1557 | name_len = |
1556 | cifs_strtoUCS((wchar_t *) pSMB->FileName, fromName, PATH_MAX | 1558 | cifs_strtoUCS((__le16 *) pSMB->FileName, fromName, PATH_MAX |
1557 | /* find define for this maxpathcomponent */ | 1559 | /* find define for this maxpathcomponent */ |
1558 | , nls_codepage); | 1560 | , nls_codepage); |
1559 | name_len++; /* trailing null */ | 1561 | name_len++; /* trailing null */ |
@@ -1577,7 +1579,7 @@ createSymLinkRetry: | |||
1577 | data_offset = (char *) (&pSMB->hdr.Protocol) + offset; | 1579 | data_offset = (char *) (&pSMB->hdr.Protocol) + offset; |
1578 | if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { | 1580 | if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { |
1579 | name_len_target = | 1581 | name_len_target = |
1580 | cifs_strtoUCS((wchar_t *) data_offset, toName, PATH_MAX | 1582 | cifs_strtoUCS((__le16 *) data_offset, toName, PATH_MAX |
1581 | /* find define for this maxpathcomponent */ | 1583 | /* find define for this maxpathcomponent */ |
1582 | , nls_codepage); | 1584 | , nls_codepage); |
1583 | name_len_target++; /* trailing null */ | 1585 | name_len_target++; /* trailing null */ |
@@ -1803,7 +1805,7 @@ querySymLinkRetry: | |||
1803 | 1805 | ||
1804 | if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { | 1806 | if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { |
1805 | name_len = | 1807 | name_len = |
1806 | cifs_strtoUCS((wchar_t *) pSMB->FileName, searchName, PATH_MAX | 1808 | cifs_strtoUCS((__le16 *) pSMB->FileName, searchName, PATH_MAX |
1807 | /* find define for this maxpathcomponent */ | 1809 | /* find define for this maxpathcomponent */ |
1808 | , nls_codepage); | 1810 | , nls_codepage); |
1809 | name_len++; /* trailing null */ | 1811 | name_len++; /* trailing null */ |
@@ -1860,7 +1862,7 @@ querySymLinkRetry: | |||
1860 | min_t(const int, buflen,count) / 2); | 1862 | min_t(const int, buflen,count) / 2); |
1861 | /* BB FIXME investigate remapping reserved chars here */ | 1863 | /* BB FIXME investigate remapping reserved chars here */ |
1862 | cifs_strfromUCS_le(symlinkinfo, | 1864 | cifs_strfromUCS_le(symlinkinfo, |
1863 | (wchar_t *) ((char *)&pSMBr->hdr.Protocol + | 1865 | (__le16 *) ((char *)&pSMBr->hdr.Protocol + |
1864 | data_offset), | 1866 | data_offset), |
1865 | name_len, nls_codepage); | 1867 | name_len, nls_codepage); |
1866 | } else { | 1868 | } else { |
@@ -1951,7 +1953,7 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, | |||
1951 | reparse_buf->TargetNameOffset), | 1953 | reparse_buf->TargetNameOffset), |
1952 | min(buflen/2, reparse_buf->TargetNameLen / 2)); | 1954 | min(buflen/2, reparse_buf->TargetNameLen / 2)); |
1953 | cifs_strfromUCS_le(symlinkinfo, | 1955 | cifs_strfromUCS_le(symlinkinfo, |
1954 | (wchar_t *) (reparse_buf->LinkNamesBuf + | 1956 | (__le16 *) (reparse_buf->LinkNamesBuf + |
1955 | reparse_buf->TargetNameOffset), | 1957 | reparse_buf->TargetNameOffset), |
1956 | name_len, nls_codepage); | 1958 | name_len, nls_codepage); |
1957 | } else { /* ASCII names */ | 1959 | } else { /* ASCII names */ |
@@ -1983,9 +1985,9 @@ qreparse_out: | |||
1983 | static void cifs_convert_ace(posix_acl_xattr_entry * ace, struct cifs_posix_ace * cifs_ace) | 1985 | static void cifs_convert_ace(posix_acl_xattr_entry * ace, struct cifs_posix_ace * cifs_ace) |
1984 | { | 1986 | { |
1985 | /* u8 cifs fields do not need le conversion */ | 1987 | /* u8 cifs fields do not need le conversion */ |
1986 | ace->e_perm = (__u16)cifs_ace->cifs_e_perm; | 1988 | ace->e_perm = cpu_to_le16(cifs_ace->cifs_e_perm); |
1987 | ace->e_tag = (__u16)cifs_ace->cifs_e_tag; | 1989 | ace->e_tag = cpu_to_le16(cifs_ace->cifs_e_tag); |
1988 | ace->e_id = (__u32)le64_to_cpu(cifs_ace->cifs_uid); | 1990 | ace->e_id = cpu_to_le32(le64_to_cpu(cifs_ace->cifs_uid)); |
1989 | /* cFYI(1,("perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id)); */ | 1991 | /* cFYI(1,("perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id)); */ |
1990 | 1992 | ||
1991 | return; | 1993 | return; |
@@ -2037,7 +2039,7 @@ static int cifs_copy_posix_acl(char * trgt,char * src, const int buflen, | |||
2037 | } else if(size > buflen) { | 2039 | } else if(size > buflen) { |
2038 | return -ERANGE; | 2040 | return -ERANGE; |
2039 | } else /* buffer big enough */ { | 2041 | } else /* buffer big enough */ { |
2040 | local_acl->a_version = POSIX_ACL_XATTR_VERSION; | 2042 | local_acl->a_version = cpu_to_le32(POSIX_ACL_XATTR_VERSION); |
2041 | for(i = 0;i < count ;i++) { | 2043 | for(i = 0;i < count ;i++) { |
2042 | cifs_convert_ace(&local_acl->a_entries[i],pACE); | 2044 | cifs_convert_ace(&local_acl->a_entries[i],pACE); |
2043 | pACE ++; | 2045 | pACE ++; |
@@ -2051,14 +2053,14 @@ static __u16 convert_ace_to_cifs_ace(struct cifs_posix_ace * cifs_ace, | |||
2051 | { | 2053 | { |
2052 | __u16 rc = 0; /* 0 = ACL converted ok */ | 2054 | __u16 rc = 0; /* 0 = ACL converted ok */ |
2053 | 2055 | ||
2054 | cifs_ace->cifs_e_perm = (__u8)cpu_to_le16(local_ace->e_perm); | 2056 | cifs_ace->cifs_e_perm = le16_to_cpu(local_ace->e_perm); |
2055 | cifs_ace->cifs_e_tag = (__u8)cpu_to_le16(local_ace->e_tag); | 2057 | cifs_ace->cifs_e_tag = le16_to_cpu(local_ace->e_tag); |
2056 | /* BB is there a better way to handle the large uid? */ | 2058 | /* BB is there a better way to handle the large uid? */ |
2057 | if(local_ace->e_id == -1) { | 2059 | if(local_ace->e_id == cpu_to_le32(-1)) { |
2058 | /* Probably no need to le convert -1 on any arch but can not hurt */ | 2060 | /* Probably no need to le convert -1 on any arch but can not hurt */ |
2059 | cifs_ace->cifs_uid = cpu_to_le64(-1); | 2061 | cifs_ace->cifs_uid = cpu_to_le64(-1); |
2060 | } else | 2062 | } else |
2061 | cifs_ace->cifs_uid = (__u64)cpu_to_le32(local_ace->e_id); | 2063 | cifs_ace->cifs_uid = cpu_to_le64(le32_to_cpu(local_ace->e_id)); |
2062 | /*cFYI(1,("perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id));*/ | 2064 | /*cFYI(1,("perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id));*/ |
2063 | return rc; | 2065 | return rc; |
2064 | } | 2066 | } |
@@ -2078,16 +2080,17 @@ static __u16 ACL_to_cifs_posix(char * parm_data,const char * pACL,const int bufl | |||
2078 | 2080 | ||
2079 | count = posix_acl_xattr_count((size_t)buflen); | 2081 | count = posix_acl_xattr_count((size_t)buflen); |
2080 | cFYI(1,("setting acl with %d entries from buf of length %d and version of %d", | 2082 | cFYI(1,("setting acl with %d entries from buf of length %d and version of %d", |
2081 | count,buflen,local_acl->a_version)); | 2083 | count, buflen, le32_to_cpu(local_acl->a_version))); |
2082 | if(local_acl->a_version != 2) { | 2084 | if(le32_to_cpu(local_acl->a_version) != 2) { |
2083 | cFYI(1,("unknown POSIX ACL version %d",local_acl->a_version)); | 2085 | cFYI(1,("unknown POSIX ACL version %d", |
2086 | le32_to_cpu(local_acl->a_version))); | ||
2084 | return 0; | 2087 | return 0; |
2085 | } | 2088 | } |
2086 | cifs_acl->version = cpu_to_le16(1); | 2089 | cifs_acl->version = cpu_to_le16(1); |
2087 | if(acl_type == ACL_TYPE_ACCESS) | 2090 | if(acl_type == ACL_TYPE_ACCESS) |
2088 | cifs_acl->access_entry_count = count; | 2091 | cifs_acl->access_entry_count = cpu_to_le16(count); |
2089 | else if(acl_type == ACL_TYPE_DEFAULT) | 2092 | else if(acl_type == ACL_TYPE_DEFAULT) |
2090 | cifs_acl->default_entry_count = count; | 2093 | cifs_acl->default_entry_count = cpu_to_le16(count); |
2091 | else { | 2094 | else { |
2092 | cFYI(1,("unknown ACL type %d",acl_type)); | 2095 | cFYI(1,("unknown ACL type %d",acl_type)); |
2093 | return 0; | 2096 | return 0; |
@@ -3203,7 +3206,7 @@ getDFSRetry: | |||
3203 | temp = ((char *)referrals) + le16_to_cpu(referrals->DfsPathOffset); | 3206 | temp = ((char *)referrals) + le16_to_cpu(referrals->DfsPathOffset); |
3204 | if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) { | 3207 | if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) { |
3205 | cifs_strfromUCS_le(*targetUNCs, | 3208 | cifs_strfromUCS_le(*targetUNCs, |
3206 | (wchar_t *) temp, name_len, nls_codepage); | 3209 | (__le16 *) temp, name_len, nls_codepage); |
3207 | } else { | 3210 | } else { |
3208 | strncpy(*targetUNCs,temp,name_len); | 3211 | strncpy(*targetUNCs,temp,name_len); |
3209 | } | 3212 | } |
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 2cb620716bc1..c467de857610 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -1986,32 +1986,32 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
1986 | bytes_returned = 0; /* skill null user */ | 1986 | bytes_returned = 0; /* skill null user */ |
1987 | else | 1987 | else |
1988 | bytes_returned = | 1988 | bytes_returned = |
1989 | cifs_strtoUCS((wchar_t *) bcc_ptr, user, 100, | 1989 | cifs_strtoUCS((__le16 *) bcc_ptr, user, 100, |
1990 | nls_codepage); | 1990 | nls_codepage); |
1991 | /* convert number of 16 bit words to bytes */ | 1991 | /* convert number of 16 bit words to bytes */ |
1992 | bcc_ptr += 2 * bytes_returned; | 1992 | bcc_ptr += 2 * bytes_returned; |
1993 | bcc_ptr += 2; /* trailing null */ | 1993 | bcc_ptr += 2; /* trailing null */ |
1994 | if (domain == NULL) | 1994 | if (domain == NULL) |
1995 | bytes_returned = | 1995 | bytes_returned = |
1996 | cifs_strtoUCS((wchar_t *) bcc_ptr, | 1996 | cifs_strtoUCS((__le16 *) bcc_ptr, |
1997 | "CIFS_LINUX_DOM", 32, nls_codepage); | 1997 | "CIFS_LINUX_DOM", 32, nls_codepage); |
1998 | else | 1998 | else |
1999 | bytes_returned = | 1999 | bytes_returned = |
2000 | cifs_strtoUCS((wchar_t *) bcc_ptr, domain, 64, | 2000 | cifs_strtoUCS((__le16 *) bcc_ptr, domain, 64, |
2001 | nls_codepage); | 2001 | nls_codepage); |
2002 | bcc_ptr += 2 * bytes_returned; | 2002 | bcc_ptr += 2 * bytes_returned; |
2003 | bcc_ptr += 2; | 2003 | bcc_ptr += 2; |
2004 | bytes_returned = | 2004 | bytes_returned = |
2005 | cifs_strtoUCS((wchar_t *) bcc_ptr, "Linux version ", | 2005 | cifs_strtoUCS((__le16 *) bcc_ptr, "Linux version ", |
2006 | 32, nls_codepage); | 2006 | 32, nls_codepage); |
2007 | bcc_ptr += 2 * bytes_returned; | 2007 | bcc_ptr += 2 * bytes_returned; |
2008 | bytes_returned = | 2008 | bytes_returned = |
2009 | cifs_strtoUCS((wchar_t *) bcc_ptr, system_utsname.release, | 2009 | cifs_strtoUCS((__le16 *) bcc_ptr, system_utsname.release, |
2010 | 32, nls_codepage); | 2010 | 32, nls_codepage); |
2011 | bcc_ptr += 2 * bytes_returned; | 2011 | bcc_ptr += 2 * bytes_returned; |
2012 | bcc_ptr += 2; | 2012 | bcc_ptr += 2; |
2013 | bytes_returned = | 2013 | bytes_returned = |
2014 | cifs_strtoUCS((wchar_t *) bcc_ptr, CIFS_NETWORK_OPSYS, | 2014 | cifs_strtoUCS((__le16 *) bcc_ptr, CIFS_NETWORK_OPSYS, |
2015 | 64, nls_codepage); | 2015 | 64, nls_codepage); |
2016 | bcc_ptr += 2 * bytes_returned; | 2016 | bcc_ptr += 2 * bytes_returned; |
2017 | bcc_ptr += 2; | 2017 | bcc_ptr += 2; |
@@ -2081,7 +2081,7 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2081 | if(ses->serverOS == NULL) | 2081 | if(ses->serverOS == NULL) |
2082 | goto sesssetup_nomem; | 2082 | goto sesssetup_nomem; |
2083 | cifs_strfromUCS_le(ses->serverOS, | 2083 | cifs_strfromUCS_le(ses->serverOS, |
2084 | (wchar_t *)bcc_ptr, len,nls_codepage); | 2084 | (__le16 *)bcc_ptr, len,nls_codepage); |
2085 | bcc_ptr += 2 * (len + 1); | 2085 | bcc_ptr += 2 * (len + 1); |
2086 | remaining_words -= len + 1; | 2086 | remaining_words -= len + 1; |
2087 | ses->serverOS[2 * len] = 0; | 2087 | ses->serverOS[2 * len] = 0; |
@@ -2093,7 +2093,7 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2093 | if(ses->serverNOS == NULL) | 2093 | if(ses->serverNOS == NULL) |
2094 | goto sesssetup_nomem; | 2094 | goto sesssetup_nomem; |
2095 | cifs_strfromUCS_le(ses->serverNOS, | 2095 | cifs_strfromUCS_le(ses->serverNOS, |
2096 | (wchar_t *)bcc_ptr,len,nls_codepage); | 2096 | (__le16 *)bcc_ptr,len,nls_codepage); |
2097 | bcc_ptr += 2 * (len + 1); | 2097 | bcc_ptr += 2 * (len + 1); |
2098 | ses->serverNOS[2 * len] = 0; | 2098 | ses->serverNOS[2 * len] = 0; |
2099 | ses->serverNOS[1 + (2 * len)] = 0; | 2099 | ses->serverNOS[1 + (2 * len)] = 0; |
@@ -2111,7 +2111,7 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2111 | if(ses->serverDomain == NULL) | 2111 | if(ses->serverDomain == NULL) |
2112 | goto sesssetup_nomem; | 2112 | goto sesssetup_nomem; |
2113 | cifs_strfromUCS_le(ses->serverDomain, | 2113 | cifs_strfromUCS_le(ses->serverDomain, |
2114 | (wchar_t *)bcc_ptr,len,nls_codepage); | 2114 | (__le16 *)bcc_ptr,len,nls_codepage); |
2115 | bcc_ptr += 2 * (len + 1); | 2115 | bcc_ptr += 2 * (len + 1); |
2116 | ses->serverDomain[2*len] = 0; | 2116 | ses->serverDomain[2*len] = 0; |
2117 | ses->serverDomain[1+(2*len)] = 0; | 2117 | ses->serverDomain[1+(2*len)] = 0; |
@@ -2255,30 +2255,30 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2255 | bcc_ptr++; | 2255 | bcc_ptr++; |
2256 | } | 2256 | } |
2257 | bytes_returned = | 2257 | bytes_returned = |
2258 | cifs_strtoUCS((wchar_t *) bcc_ptr, user, 100, nls_codepage); | 2258 | cifs_strtoUCS((__le16 *) bcc_ptr, user, 100, nls_codepage); |
2259 | bcc_ptr += 2 * bytes_returned; /* convert num of 16 bit words to bytes */ | 2259 | bcc_ptr += 2 * bytes_returned; /* convert num of 16 bit words to bytes */ |
2260 | bcc_ptr += 2; /* trailing null */ | 2260 | bcc_ptr += 2; /* trailing null */ |
2261 | if (domain == NULL) | 2261 | if (domain == NULL) |
2262 | bytes_returned = | 2262 | bytes_returned = |
2263 | cifs_strtoUCS((wchar_t *) bcc_ptr, | 2263 | cifs_strtoUCS((__le16 *) bcc_ptr, |
2264 | "CIFS_LINUX_DOM", 32, nls_codepage); | 2264 | "CIFS_LINUX_DOM", 32, nls_codepage); |
2265 | else | 2265 | else |
2266 | bytes_returned = | 2266 | bytes_returned = |
2267 | cifs_strtoUCS((wchar_t *) bcc_ptr, domain, 64, | 2267 | cifs_strtoUCS((__le16 *) bcc_ptr, domain, 64, |
2268 | nls_codepage); | 2268 | nls_codepage); |
2269 | bcc_ptr += 2 * bytes_returned; | 2269 | bcc_ptr += 2 * bytes_returned; |
2270 | bcc_ptr += 2; | 2270 | bcc_ptr += 2; |
2271 | bytes_returned = | 2271 | bytes_returned = |
2272 | cifs_strtoUCS((wchar_t *) bcc_ptr, "Linux version ", | 2272 | cifs_strtoUCS((__le16 *) bcc_ptr, "Linux version ", |
2273 | 32, nls_codepage); | 2273 | 32, nls_codepage); |
2274 | bcc_ptr += 2 * bytes_returned; | 2274 | bcc_ptr += 2 * bytes_returned; |
2275 | bytes_returned = | 2275 | bytes_returned = |
2276 | cifs_strtoUCS((wchar_t *) bcc_ptr, system_utsname.release, 32, | 2276 | cifs_strtoUCS((__le16 *) bcc_ptr, system_utsname.release, 32, |
2277 | nls_codepage); | 2277 | nls_codepage); |
2278 | bcc_ptr += 2 * bytes_returned; | 2278 | bcc_ptr += 2 * bytes_returned; |
2279 | bcc_ptr += 2; | 2279 | bcc_ptr += 2; |
2280 | bytes_returned = | 2280 | bytes_returned = |
2281 | cifs_strtoUCS((wchar_t *) bcc_ptr, CIFS_NETWORK_OPSYS, | 2281 | cifs_strtoUCS((__le16 *) bcc_ptr, CIFS_NETWORK_OPSYS, |
2282 | 64, nls_codepage); | 2282 | 64, nls_codepage); |
2283 | bcc_ptr += 2 * bytes_returned; | 2283 | bcc_ptr += 2 * bytes_returned; |
2284 | bcc_ptr += 2; | 2284 | bcc_ptr += 2; |
@@ -2357,7 +2357,7 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2357 | ses->serverOS = | 2357 | ses->serverOS = |
2358 | kzalloc(2 * (len + 1), GFP_KERNEL); | 2358 | kzalloc(2 * (len + 1), GFP_KERNEL); |
2359 | cifs_strfromUCS_le(ses->serverOS, | 2359 | cifs_strfromUCS_le(ses->serverOS, |
2360 | (wchar_t *) | 2360 | (__le16 *) |
2361 | bcc_ptr, len, | 2361 | bcc_ptr, len, |
2362 | nls_codepage); | 2362 | nls_codepage); |
2363 | bcc_ptr += 2 * (len + 1); | 2363 | bcc_ptr += 2 * (len + 1); |
@@ -2372,7 +2372,7 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2372 | kzalloc(2 * (len + 1), | 2372 | kzalloc(2 * (len + 1), |
2373 | GFP_KERNEL); | 2373 | GFP_KERNEL); |
2374 | cifs_strfromUCS_le(ses->serverNOS, | 2374 | cifs_strfromUCS_le(ses->serverNOS, |
2375 | (wchar_t *)bcc_ptr, | 2375 | (__le16 *)bcc_ptr, |
2376 | len, | 2376 | len, |
2377 | nls_codepage); | 2377 | nls_codepage); |
2378 | bcc_ptr += 2 * (len + 1); | 2378 | bcc_ptr += 2 * (len + 1); |
@@ -2384,9 +2384,8 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2384 | /* last string is not always null terminated (for e.g. for Windows XP & 2000) */ | 2384 | /* last string is not always null terminated (for e.g. for Windows XP & 2000) */ |
2385 | ses->serverDomain = kzalloc(2*(len+1),GFP_KERNEL); | 2385 | ses->serverDomain = kzalloc(2*(len+1),GFP_KERNEL); |
2386 | cifs_strfromUCS_le(ses->serverDomain, | 2386 | cifs_strfromUCS_le(ses->serverDomain, |
2387 | (wchar_t *)bcc_ptr, | 2387 | (__le16 *)bcc_ptr, |
2388 | len, | 2388 | len, nls_codepage); |
2389 | nls_codepage); | ||
2390 | bcc_ptr += 2*(len+1); | 2389 | bcc_ptr += 2*(len+1); |
2391 | ses->serverDomain[2*len] = 0; | 2390 | ses->serverDomain[2*len] = 0; |
2392 | ses->serverDomain[1+(2*len)] = 0; | 2391 | ses->serverDomain[1+(2*len)] = 0; |
@@ -2560,16 +2559,16 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, | |||
2560 | } | 2559 | } |
2561 | 2560 | ||
2562 | bytes_returned = | 2561 | bytes_returned = |
2563 | cifs_strtoUCS((wchar_t *) bcc_ptr, "Linux version ", | 2562 | cifs_strtoUCS((__le16 *) bcc_ptr, "Linux version ", |
2564 | 32, nls_codepage); | 2563 | 32, nls_codepage); |
2565 | bcc_ptr += 2 * bytes_returned; | 2564 | bcc_ptr += 2 * bytes_returned; |
2566 | bytes_returned = | 2565 | bytes_returned = |
2567 | cifs_strtoUCS((wchar_t *) bcc_ptr, system_utsname.release, 32, | 2566 | cifs_strtoUCS((__le16 *) bcc_ptr, system_utsname.release, 32, |
2568 | nls_codepage); | 2567 | nls_codepage); |
2569 | bcc_ptr += 2 * bytes_returned; | 2568 | bcc_ptr += 2 * bytes_returned; |
2570 | bcc_ptr += 2; /* null terminate Linux version */ | 2569 | bcc_ptr += 2; /* null terminate Linux version */ |
2571 | bytes_returned = | 2570 | bytes_returned = |
2572 | cifs_strtoUCS((wchar_t *) bcc_ptr, CIFS_NETWORK_OPSYS, | 2571 | cifs_strtoUCS((__le16 *) bcc_ptr, CIFS_NETWORK_OPSYS, |
2573 | 64, nls_codepage); | 2572 | 64, nls_codepage); |
2574 | bcc_ptr += 2 * bytes_returned; | 2573 | bcc_ptr += 2 * bytes_returned; |
2575 | *(bcc_ptr + 1) = 0; | 2574 | *(bcc_ptr + 1) = 0; |
@@ -2673,7 +2672,7 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, | |||
2673 | ses->serverOS = | 2672 | ses->serverOS = |
2674 | kzalloc(2 * (len + 1), GFP_KERNEL); | 2673 | kzalloc(2 * (len + 1), GFP_KERNEL); |
2675 | cifs_strfromUCS_le(ses->serverOS, | 2674 | cifs_strfromUCS_le(ses->serverOS, |
2676 | (wchar_t *) | 2675 | (__le16 *) |
2677 | bcc_ptr, len, | 2676 | bcc_ptr, len, |
2678 | nls_codepage); | 2677 | nls_codepage); |
2679 | bcc_ptr += 2 * (len + 1); | 2678 | bcc_ptr += 2 * (len + 1); |
@@ -2690,7 +2689,7 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, | |||
2690 | GFP_KERNEL); | 2689 | GFP_KERNEL); |
2691 | cifs_strfromUCS_le(ses-> | 2690 | cifs_strfromUCS_le(ses-> |
2692 | serverNOS, | 2691 | serverNOS, |
2693 | (wchar_t *) | 2692 | (__le16 *) |
2694 | bcc_ptr, | 2693 | bcc_ptr, |
2695 | len, | 2694 | len, |
2696 | nls_codepage); | 2695 | nls_codepage); |
@@ -2708,23 +2707,15 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, | |||
2708 | 1), | 2707 | 1), |
2709 | GFP_KERNEL); | 2708 | GFP_KERNEL); |
2710 | cifs_strfromUCS_le | 2709 | cifs_strfromUCS_le |
2711 | (ses-> | 2710 | (ses->serverDomain, |
2712 | serverDomain, | 2711 | (__le16 *)bcc_ptr, |
2713 | (wchar_t *) | 2712 | len, nls_codepage); |
2714 | bcc_ptr, len, | ||
2715 | nls_codepage); | ||
2716 | bcc_ptr += | 2713 | bcc_ptr += |
2717 | 2 * (len + 1); | 2714 | 2 * (len + 1); |
2718 | ses-> | 2715 | ses->serverDomain[2*len] |
2719 | serverDomain[2 | ||
2720 | * len] | ||
2721 | = 0; | 2716 | = 0; |
2722 | ses-> | 2717 | ses->serverDomain |
2723 | serverDomain[1 | 2718 | [1 + (2 * len)] |
2724 | + | ||
2725 | (2 | ||
2726 | * | ||
2727 | len)] | ||
2728 | = 0; | 2719 | = 0; |
2729 | } /* else no more room so create dummy domain string */ | 2720 | } /* else no more room so create dummy domain string */ |
2730 | else | 2721 | else |
@@ -2903,7 +2894,7 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2903 | SecurityBlob->DomainName.MaximumLength = 0; | 2894 | SecurityBlob->DomainName.MaximumLength = 0; |
2904 | } else { | 2895 | } else { |
2905 | __u16 len = | 2896 | __u16 len = |
2906 | cifs_strtoUCS((wchar_t *) bcc_ptr, domain, 64, | 2897 | cifs_strtoUCS((__le16 *) bcc_ptr, domain, 64, |
2907 | nls_codepage); | 2898 | nls_codepage); |
2908 | len *= 2; | 2899 | len *= 2; |
2909 | SecurityBlob->DomainName.MaximumLength = | 2900 | SecurityBlob->DomainName.MaximumLength = |
@@ -2921,7 +2912,7 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2921 | SecurityBlob->UserName.MaximumLength = 0; | 2912 | SecurityBlob->UserName.MaximumLength = 0; |
2922 | } else { | 2913 | } else { |
2923 | __u16 len = | 2914 | __u16 len = |
2924 | cifs_strtoUCS((wchar_t *) bcc_ptr, user, 64, | 2915 | cifs_strtoUCS((__le16 *) bcc_ptr, user, 64, |
2925 | nls_codepage); | 2916 | nls_codepage); |
2926 | len *= 2; | 2917 | len *= 2; |
2927 | SecurityBlob->UserName.MaximumLength = | 2918 | SecurityBlob->UserName.MaximumLength = |
@@ -2934,7 +2925,7 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2934 | cpu_to_le16(len); | 2925 | cpu_to_le16(len); |
2935 | } | 2926 | } |
2936 | 2927 | ||
2937 | /* SecurityBlob->WorkstationName.Length = cifs_strtoUCS((wchar_t *) bcc_ptr, "AMACHINE",64, nls_codepage); | 2928 | /* SecurityBlob->WorkstationName.Length = cifs_strtoUCS((__le16 *) bcc_ptr, "AMACHINE",64, nls_codepage); |
2938 | SecurityBlob->WorkstationName.Length *= 2; | 2929 | SecurityBlob->WorkstationName.Length *= 2; |
2939 | SecurityBlob->WorkstationName.MaximumLength = cpu_to_le16(SecurityBlob->WorkstationName.Length); | 2930 | SecurityBlob->WorkstationName.MaximumLength = cpu_to_le16(SecurityBlob->WorkstationName.Length); |
2940 | SecurityBlob->WorkstationName.Buffer = cpu_to_le32(SecurityBlobLength); | 2931 | SecurityBlob->WorkstationName.Buffer = cpu_to_le32(SecurityBlobLength); |
@@ -2947,16 +2938,16 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
2947 | bcc_ptr++; | 2938 | bcc_ptr++; |
2948 | } | 2939 | } |
2949 | bytes_returned = | 2940 | bytes_returned = |
2950 | cifs_strtoUCS((wchar_t *) bcc_ptr, "Linux version ", | 2941 | cifs_strtoUCS((__le16 *) bcc_ptr, "Linux version ", |
2951 | 32, nls_codepage); | 2942 | 32, nls_codepage); |
2952 | bcc_ptr += 2 * bytes_returned; | 2943 | bcc_ptr += 2 * bytes_returned; |
2953 | bytes_returned = | 2944 | bytes_returned = |
2954 | cifs_strtoUCS((wchar_t *) bcc_ptr, system_utsname.release, 32, | 2945 | cifs_strtoUCS((__le16 *) bcc_ptr, system_utsname.release, 32, |
2955 | nls_codepage); | 2946 | nls_codepage); |
2956 | bcc_ptr += 2 * bytes_returned; | 2947 | bcc_ptr += 2 * bytes_returned; |
2957 | bcc_ptr += 2; /* null term version string */ | 2948 | bcc_ptr += 2; /* null term version string */ |
2958 | bytes_returned = | 2949 | bytes_returned = |
2959 | cifs_strtoUCS((wchar_t *) bcc_ptr, CIFS_NETWORK_OPSYS, | 2950 | cifs_strtoUCS((__le16 *) bcc_ptr, CIFS_NETWORK_OPSYS, |
2960 | 64, nls_codepage); | 2951 | 64, nls_codepage); |
2961 | bcc_ptr += 2 * bytes_returned; | 2952 | bcc_ptr += 2 * bytes_returned; |
2962 | *(bcc_ptr + 1) = 0; | 2953 | *(bcc_ptr + 1) = 0; |
@@ -3069,7 +3060,7 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
3069 | ses->serverOS = | 3060 | ses->serverOS = |
3070 | kzalloc(2 * (len + 1), GFP_KERNEL); | 3061 | kzalloc(2 * (len + 1), GFP_KERNEL); |
3071 | cifs_strfromUCS_le(ses->serverOS, | 3062 | cifs_strfromUCS_le(ses->serverOS, |
3072 | (wchar_t *) | 3063 | (__le16 *) |
3073 | bcc_ptr, len, | 3064 | bcc_ptr, len, |
3074 | nls_codepage); | 3065 | nls_codepage); |
3075 | bcc_ptr += 2 * (len + 1); | 3066 | bcc_ptr += 2 * (len + 1); |
@@ -3086,7 +3077,7 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
3086 | GFP_KERNEL); | 3077 | GFP_KERNEL); |
3087 | cifs_strfromUCS_le(ses-> | 3078 | cifs_strfromUCS_le(ses-> |
3088 | serverNOS, | 3079 | serverNOS, |
3089 | (wchar_t *) | 3080 | (__le16 *) |
3090 | bcc_ptr, | 3081 | bcc_ptr, |
3091 | len, | 3082 | len, |
3092 | nls_codepage); | 3083 | nls_codepage); |
@@ -3105,7 +3096,7 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, | |||
3105 | cifs_strfromUCS_le | 3096 | cifs_strfromUCS_le |
3106 | (ses-> | 3097 | (ses-> |
3107 | serverDomain, | 3098 | serverDomain, |
3108 | (wchar_t *) | 3099 | (__le16 *) |
3109 | bcc_ptr, len, | 3100 | bcc_ptr, len, |
3110 | nls_codepage); | 3101 | nls_codepage); |
3111 | bcc_ptr += | 3102 | bcc_ptr += |
@@ -3227,7 +3218,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, | |||
3227 | if (ses->capabilities & CAP_UNICODE) { | 3218 | if (ses->capabilities & CAP_UNICODE) { |
3228 | smb_buffer->Flags2 |= SMBFLG2_UNICODE; | 3219 | smb_buffer->Flags2 |= SMBFLG2_UNICODE; |
3229 | length = | 3220 | length = |
3230 | cifs_strtoUCS((wchar_t *) bcc_ptr, tree, 100, nls_codepage); | 3221 | cifs_strtoUCS((__le16 *) bcc_ptr, tree, 100, nls_codepage); |
3231 | bcc_ptr += 2 * length; /* convert num of 16 bit words to bytes */ | 3222 | bcc_ptr += 2 * length; /* convert num of 16 bit words to bytes */ |
3232 | bcc_ptr += 2; /* skip trailing null */ | 3223 | bcc_ptr += 2; /* skip trailing null */ |
3233 | } else { /* ASCII */ | 3224 | } else { /* ASCII */ |
@@ -3263,7 +3254,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, | |||
3263 | tcon->nativeFileSystem = | 3254 | tcon->nativeFileSystem = |
3264 | kzalloc(length + 2, GFP_KERNEL); | 3255 | kzalloc(length + 2, GFP_KERNEL); |
3265 | cifs_strfromUCS_le(tcon->nativeFileSystem, | 3256 | cifs_strfromUCS_le(tcon->nativeFileSystem, |
3266 | (wchar_t *) bcc_ptr, | 3257 | (__le16 *) bcc_ptr, |
3267 | length, nls_codepage); | 3258 | length, nls_codepage); |
3268 | bcc_ptr += 2 * length; | 3259 | bcc_ptr += 2 * length; |
3269 | bcc_ptr[0] = 0; /* null terminate the string */ | 3260 | bcc_ptr[0] = 0; /* null terminate the string */ |
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 8dfe717a332a..16b21522e8fe 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c | |||
@@ -292,7 +292,8 @@ cifs_create_out: | |||
292 | return rc; | 292 | return rc; |
293 | } | 293 | } |
294 | 294 | ||
295 | int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, dev_t device_number) | 295 | int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, |
296 | dev_t device_number) | ||
296 | { | 297 | { |
297 | int rc = -EPERM; | 298 | int rc = -EPERM; |
298 | int xid; | 299 | int xid; |
@@ -368,7 +369,34 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, dev_t dev | |||
368 | 369 | ||
369 | if(!rc) { | 370 | if(!rc) { |
370 | /* BB Do not bother to decode buf since no | 371 | /* BB Do not bother to decode buf since no |
371 | local inode yet to put timestamps in */ | 372 | local inode yet to put timestamps in, |
373 | but we can reuse it safely */ | ||
374 | int bytes_written; | ||
375 | struct win_dev *pdev; | ||
376 | pdev = (struct win_dev *)buf; | ||
377 | if(S_ISCHR(mode)) { | ||
378 | memcpy(pdev->type, "IntxCHR", 8); | ||
379 | pdev->major = | ||
380 | cpu_to_le64(MAJOR(device_number)); | ||
381 | pdev->minor = | ||
382 | cpu_to_le64(MINOR(device_number)); | ||
383 | rc = CIFSSMBWrite(xid, pTcon, | ||
384 | fileHandle, | ||
385 | sizeof(struct win_dev), | ||
386 | 0, &bytes_written, (char *)pdev, | ||
387 | NULL, 0); | ||
388 | } else if(S_ISBLK(mode)) { | ||
389 | memcpy(pdev->type, "IntxBLK", 8); | ||
390 | pdev->major = | ||
391 | cpu_to_le64(MAJOR(device_number)); | ||
392 | pdev->minor = | ||
393 | cpu_to_le64(MINOR(device_number)); | ||
394 | rc = CIFSSMBWrite(xid, pTcon, | ||
395 | fileHandle, | ||
396 | sizeof(struct win_dev), | ||
397 | 0, &bytes_written, (char *)pdev, | ||
398 | NULL, 0); | ||
399 | } /* else if(S_ISFIFO */ | ||
372 | CIFSSMBClose(xid, pTcon, fileHandle); | 400 | CIFSSMBClose(xid, pTcon, fileHandle); |
373 | d_drop(direntry); | 401 | d_drop(direntry); |
374 | } | 402 | } |
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index da4f5e10b3cc..14a1c72ced92 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -489,8 +489,10 @@ int cifs_close(struct inode *inode, struct file *file) | |||
489 | the struct would be in each open file, | 489 | the struct would be in each open file, |
490 | but this should give enough time to | 490 | but this should give enough time to |
491 | clear the socket */ | 491 | clear the socket */ |
492 | write_unlock(&file->f_owner.lock); | ||
492 | cERROR(1,("close with pending writes")); | 493 | cERROR(1,("close with pending writes")); |
493 | msleep(timeout); | 494 | msleep(timeout); |
495 | write_lock(&file->f_owner.lock); | ||
494 | timeout *= 4; | 496 | timeout *= 4; |
495 | } | 497 | } |
496 | write_unlock(&file->f_owner.lock); | 498 | write_unlock(&file->f_owner.lock); |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 923d071163b2..05b525812adb 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -41,7 +41,7 @@ int cifs_get_inode_info_unix(struct inode **pinode, | |||
41 | char *tmp_path; | 41 | char *tmp_path; |
42 | 42 | ||
43 | pTcon = cifs_sb->tcon; | 43 | pTcon = cifs_sb->tcon; |
44 | cFYI(1, (" Getting info on %s ", search_path)); | 44 | cFYI(1, ("Getting info on %s ", search_path)); |
45 | /* could have done a find first instead but this returns more info */ | 45 | /* could have done a find first instead but this returns more info */ |
46 | rc = CIFSSMBUnixQPathInfo(xid, pTcon, search_path, &findData, | 46 | rc = CIFSSMBUnixQPathInfo(xid, pTcon, search_path, &findData, |
47 | cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & | 47 | cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & |
@@ -97,9 +97,9 @@ int cifs_get_inode_info_unix(struct inode **pinode, | |||
97 | inode = *pinode; | 97 | inode = *pinode; |
98 | cifsInfo = CIFS_I(inode); | 98 | cifsInfo = CIFS_I(inode); |
99 | 99 | ||
100 | cFYI(1, (" Old time %ld ", cifsInfo->time)); | 100 | cFYI(1, ("Old time %ld ", cifsInfo->time)); |
101 | cifsInfo->time = jiffies; | 101 | cifsInfo->time = jiffies; |
102 | cFYI(1, (" New time %ld ", cifsInfo->time)); | 102 | cFYI(1, ("New time %ld ", cifsInfo->time)); |
103 | /* this is ok to set on every inode revalidate */ | 103 | /* this is ok to set on every inode revalidate */ |
104 | atomic_set(&cifsInfo->inUse,1); | 104 | atomic_set(&cifsInfo->inUse,1); |
105 | 105 | ||
@@ -111,6 +111,9 @@ int cifs_get_inode_info_unix(struct inode **pinode, | |||
111 | inode->i_ctime = | 111 | inode->i_ctime = |
112 | cifs_NTtimeToUnix(le64_to_cpu(findData.LastStatusChange)); | 112 | cifs_NTtimeToUnix(le64_to_cpu(findData.LastStatusChange)); |
113 | inode->i_mode = le64_to_cpu(findData.Permissions); | 113 | inode->i_mode = le64_to_cpu(findData.Permissions); |
114 | /* since we set the inode type below we need to mask off | ||
115 | to avoid strange results if bits set above */ | ||
116 | inode->i_mode &= ~S_IFMT; | ||
114 | if (type == UNIX_FILE) { | 117 | if (type == UNIX_FILE) { |
115 | inode->i_mode |= S_IFREG; | 118 | inode->i_mode |= S_IFREG; |
116 | } else if (type == UNIX_SYMLINK) { | 119 | } else if (type == UNIX_SYMLINK) { |
@@ -129,6 +132,10 @@ int cifs_get_inode_info_unix(struct inode **pinode, | |||
129 | inode->i_mode |= S_IFIFO; | 132 | inode->i_mode |= S_IFIFO; |
130 | } else if (type == UNIX_SOCKET) { | 133 | } else if (type == UNIX_SOCKET) { |
131 | inode->i_mode |= S_IFSOCK; | 134 | inode->i_mode |= S_IFSOCK; |
135 | } else { | ||
136 | /* safest to call it a file if we do not know */ | ||
137 | inode->i_mode |= S_IFREG; | ||
138 | cFYI(1,("unknown type %d",type)); | ||
132 | } | 139 | } |
133 | inode->i_uid = le64_to_cpu(findData.Uid); | 140 | inode->i_uid = le64_to_cpu(findData.Uid); |
134 | inode->i_gid = le64_to_cpu(findData.Gid); | 141 | inode->i_gid = le64_to_cpu(findData.Gid); |
@@ -155,34 +162,39 @@ int cifs_get_inode_info_unix(struct inode **pinode, | |||
155 | } | 162 | } |
156 | 163 | ||
157 | if (num_of_bytes < end_of_file) | 164 | if (num_of_bytes < end_of_file) |
158 | cFYI(1, ("allocation size less than end of file ")); | 165 | cFYI(1, ("allocation size less than end of file")); |
159 | cFYI(1, | 166 | cFYI(1, |
160 | ("Size %ld and blocks %ld", | 167 | ("Size %ld and blocks %ld", |
161 | (unsigned long) inode->i_size, inode->i_blocks)); | 168 | (unsigned long) inode->i_size, inode->i_blocks)); |
162 | if (S_ISREG(inode->i_mode)) { | 169 | if (S_ISREG(inode->i_mode)) { |
163 | cFYI(1, (" File inode ")); | 170 | cFYI(1, ("File inode")); |
164 | inode->i_op = &cifs_file_inode_ops; | 171 | inode->i_op = &cifs_file_inode_ops; |
165 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) | 172 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) { |
166 | inode->i_fop = &cifs_file_direct_ops; | 173 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) |
167 | else | 174 | inode->i_fop = |
175 | &cifs_file_direct_nobrl_ops; | ||
176 | else | ||
177 | inode->i_fop = &cifs_file_direct_ops; | ||
178 | } else if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) | ||
179 | inode->i_fop = &cifs_file_nobrl_ops; | ||
180 | else /* not direct, send byte range locks */ | ||
168 | inode->i_fop = &cifs_file_ops; | 181 | inode->i_fop = &cifs_file_ops; |
169 | if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) | 182 | |
170 | inode->i_fop->lock = NULL; | ||
171 | inode->i_data.a_ops = &cifs_addr_ops; | 183 | inode->i_data.a_ops = &cifs_addr_ops; |
172 | /* check if server can support readpages */ | 184 | /* check if server can support readpages */ |
173 | if(pTcon->ses->server->maxBuf < | 185 | if(pTcon->ses->server->maxBuf < |
174 | 4096 + MAX_CIFS_HDR_SIZE) | 186 | 4096 + MAX_CIFS_HDR_SIZE) |
175 | inode->i_data.a_ops->readpages = NULL; | 187 | inode->i_data.a_ops->readpages = NULL; |
176 | } else if (S_ISDIR(inode->i_mode)) { | 188 | } else if (S_ISDIR(inode->i_mode)) { |
177 | cFYI(1, (" Directory inode")); | 189 | cFYI(1, ("Directory inode")); |
178 | inode->i_op = &cifs_dir_inode_ops; | 190 | inode->i_op = &cifs_dir_inode_ops; |
179 | inode->i_fop = &cifs_dir_ops; | 191 | inode->i_fop = &cifs_dir_ops; |
180 | } else if (S_ISLNK(inode->i_mode)) { | 192 | } else if (S_ISLNK(inode->i_mode)) { |
181 | cFYI(1, (" Symbolic Link inode ")); | 193 | cFYI(1, ("Symbolic Link inode")); |
182 | inode->i_op = &cifs_symlink_inode_ops; | 194 | inode->i_op = &cifs_symlink_inode_ops; |
183 | /* tmp_inode->i_fop = */ /* do not need to set to anything */ | 195 | /* tmp_inode->i_fop = */ /* do not need to set to anything */ |
184 | } else { | 196 | } else { |
185 | cFYI(1, (" Init special inode ")); | 197 | cFYI(1, ("Init special inode")); |
186 | init_special_inode(inode, inode->i_mode, | 198 | init_special_inode(inode, inode->i_mode, |
187 | inode->i_rdev); | 199 | inode->i_rdev); |
188 | } | 200 | } |
@@ -190,6 +202,111 @@ int cifs_get_inode_info_unix(struct inode **pinode, | |||
190 | return rc; | 202 | return rc; |
191 | } | 203 | } |
192 | 204 | ||
205 | static int decode_sfu_inode(struct inode * inode, __u64 size, | ||
206 | const unsigned char *path, | ||
207 | struct cifs_sb_info *cifs_sb, int xid) | ||
208 | { | ||
209 | int rc; | ||
210 | int oplock = FALSE; | ||
211 | __u16 netfid; | ||
212 | struct cifsTconInfo *pTcon = cifs_sb->tcon; | ||
213 | char buf[24]; | ||
214 | unsigned int bytes_read; | ||
215 | char * pbuf; | ||
216 | |||
217 | pbuf = buf; | ||
218 | |||
219 | if(size == 0) { | ||
220 | inode->i_mode |= S_IFIFO; | ||
221 | return 0; | ||
222 | } else if (size < 8) { | ||
223 | return -EINVAL; /* EOPNOTSUPP? */ | ||
224 | } | ||
225 | |||
226 | rc = CIFSSMBOpen(xid, pTcon, path, FILE_OPEN, GENERIC_READ, | ||
227 | CREATE_NOT_DIR, &netfid, &oplock, NULL, | ||
228 | cifs_sb->local_nls, | ||
229 | cifs_sb->mnt_cifs_flags & | ||
230 | CIFS_MOUNT_MAP_SPECIAL_CHR); | ||
231 | if (rc==0) { | ||
232 | /* Read header */ | ||
233 | rc = CIFSSMBRead(xid, pTcon, | ||
234 | netfid, | ||
235 | 24 /* length */, 0 /* offset */, | ||
236 | &bytes_read, &pbuf); | ||
237 | if((rc == 0) && (bytes_read >= 8)) { | ||
238 | if(memcmp("IntxBLK", pbuf, 8) == 0) { | ||
239 | cFYI(1,("Block device")); | ||
240 | inode->i_mode |= S_IFBLK; | ||
241 | if(bytes_read == 24) { | ||
242 | /* we have enough to decode dev num */ | ||
243 | __u64 mjr; /* major */ | ||
244 | __u64 mnr; /* minor */ | ||
245 | mjr = le64_to_cpu(*(__le64 *)(pbuf+8)); | ||
246 | mnr = le64_to_cpu(*(__le64 *)(pbuf+16)); | ||
247 | inode->i_rdev = MKDEV(mjr, mnr); | ||
248 | } | ||
249 | } else if(memcmp("IntxCHR", pbuf, 8) == 0) { | ||
250 | cFYI(1,("Char device")); | ||
251 | inode->i_mode |= S_IFCHR; | ||
252 | if(bytes_read == 24) { | ||
253 | /* we have enough to decode dev num */ | ||
254 | __u64 mjr; /* major */ | ||
255 | __u64 mnr; /* minor */ | ||
256 | mjr = le64_to_cpu(*(__le64 *)(pbuf+8)); | ||
257 | mnr = le64_to_cpu(*(__le64 *)(pbuf+16)); | ||
258 | inode->i_rdev = MKDEV(mjr, mnr); | ||
259 | } | ||
260 | } else if(memcmp("IntxLNK", pbuf, 7) == 0) { | ||
261 | cFYI(1,("Symlink")); | ||
262 | inode->i_mode |= S_IFLNK; | ||
263 | } else { | ||
264 | inode->i_mode |= S_IFREG; /* file? */ | ||
265 | rc = -EOPNOTSUPP; | ||
266 | } | ||
267 | } else { | ||
268 | inode->i_mode |= S_IFREG; /* then it is a file */ | ||
269 | rc = -EOPNOTSUPP; /* or some unknown SFU type */ | ||
270 | } | ||
271 | CIFSSMBClose(xid, pTcon, netfid); | ||
272 | } | ||
273 | return rc; | ||
274 | |||
275 | } | ||
276 | |||
277 | #define SFBITS_MASK (S_ISVTX | S_ISGID | S_ISUID) /* SETFILEBITS valid bits */ | ||
278 | |||
279 | static int get_sfu_uid_mode(struct inode * inode, | ||
280 | const unsigned char *path, | ||
281 | struct cifs_sb_info *cifs_sb, int xid) | ||
282 | { | ||
283 | #ifdef CONFIG_CIFS_XATTR | ||
284 | ssize_t rc; | ||
285 | char ea_value[4]; | ||
286 | __u32 mode; | ||
287 | |||
288 | rc = CIFSSMBQueryEA(xid, cifs_sb->tcon, path, "SETFILEBITS", | ||
289 | ea_value, 4 /* size of buf */, cifs_sb->local_nls, | ||
290 | cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); | ||
291 | if(rc < 0) | ||
292 | return (int)rc; | ||
293 | else if (rc > 3) { | ||
294 | mode = le32_to_cpu(*((__le32 *)ea_value)); | ||
295 | inode->i_mode &= ~SFBITS_MASK; | ||
296 | cFYI(1,("special bits 0%o org mode 0%o", mode, inode->i_mode)); | ||
297 | inode->i_mode = (mode & SFBITS_MASK) | inode->i_mode; | ||
298 | cFYI(1,("special mode bits 0%o", mode)); | ||
299 | return 0; | ||
300 | } else { | ||
301 | return 0; | ||
302 | } | ||
303 | #else | ||
304 | return -EOPNOTSUPP; | ||
305 | #endif | ||
306 | |||
307 | |||
308 | } | ||
309 | |||
193 | int cifs_get_inode_info(struct inode **pinode, | 310 | int cifs_get_inode_info(struct inode **pinode, |
194 | const unsigned char *search_path, FILE_ALL_INFO *pfindData, | 311 | const unsigned char *search_path, FILE_ALL_INFO *pfindData, |
195 | struct super_block *sb, int xid) | 312 | struct super_block *sb, int xid) |
@@ -202,7 +319,7 @@ int cifs_get_inode_info(struct inode **pinode, | |||
202 | char *buf = NULL; | 319 | char *buf = NULL; |
203 | 320 | ||
204 | pTcon = cifs_sb->tcon; | 321 | pTcon = cifs_sb->tcon; |
205 | cFYI(1,("Getting info on %s ", search_path)); | 322 | cFYI(1,("Getting info on %s", search_path)); |
206 | 323 | ||
207 | if ((pfindData == NULL) && (*pinode != NULL)) { | 324 | if ((pfindData == NULL) && (*pinode != NULL)) { |
208 | if (CIFS_I(*pinode)->clientCanCacheRead) { | 325 | if (CIFS_I(*pinode)->clientCanCacheRead) { |
@@ -303,9 +420,9 @@ int cifs_get_inode_info(struct inode **pinode, | |||
303 | inode = *pinode; | 420 | inode = *pinode; |
304 | cifsInfo = CIFS_I(inode); | 421 | cifsInfo = CIFS_I(inode); |
305 | cifsInfo->cifsAttrs = attr; | 422 | cifsInfo->cifsAttrs = attr; |
306 | cFYI(1, (" Old time %ld ", cifsInfo->time)); | 423 | cFYI(1, ("Old time %ld ", cifsInfo->time)); |
307 | cifsInfo->time = jiffies; | 424 | cifsInfo->time = jiffies; |
308 | cFYI(1, (" New time %ld ", cifsInfo->time)); | 425 | cFYI(1, ("New time %ld ", cifsInfo->time)); |
309 | 426 | ||
310 | /* blksize needs to be multiple of two. So safer to default to | 427 | /* blksize needs to be multiple of two. So safer to default to |
311 | blksize and blkbits set in superblock so 2**blkbits and blksize | 428 | blksize and blkbits set in superblock so 2**blkbits and blksize |
@@ -319,13 +436,15 @@ int cifs_get_inode_info(struct inode **pinode, | |||
319 | cifs_NTtimeToUnix(le64_to_cpu(pfindData->LastWriteTime)); | 436 | cifs_NTtimeToUnix(le64_to_cpu(pfindData->LastWriteTime)); |
320 | inode->i_ctime = | 437 | inode->i_ctime = |
321 | cifs_NTtimeToUnix(le64_to_cpu(pfindData->ChangeTime)); | 438 | cifs_NTtimeToUnix(le64_to_cpu(pfindData->ChangeTime)); |
322 | cFYI(0, (" Attributes came in as 0x%x ", attr)); | 439 | cFYI(0, ("Attributes came in as 0x%x ", attr)); |
323 | 440 | ||
324 | /* set default mode. will override for dirs below */ | 441 | /* set default mode. will override for dirs below */ |
325 | if (atomic_read(&cifsInfo->inUse) == 0) | 442 | if (atomic_read(&cifsInfo->inUse) == 0) |
326 | /* new inode, can safely set these fields */ | 443 | /* new inode, can safely set these fields */ |
327 | inode->i_mode = cifs_sb->mnt_file_mode; | 444 | inode->i_mode = cifs_sb->mnt_file_mode; |
328 | 445 | else /* since we set the inode type below we need to mask off | |
446 | to avoid strange results if type changes and both get orred in */ | ||
447 | inode->i_mode &= ~S_IFMT; | ||
329 | /* if (attr & ATTR_REPARSE) */ | 448 | /* if (attr & ATTR_REPARSE) */ |
330 | /* We no longer handle these as symlinks because we could not | 449 | /* We no longer handle these as symlinks because we could not |
331 | follow them due to the absolute path with drive letter */ | 450 | follow them due to the absolute path with drive letter */ |
@@ -340,10 +459,16 @@ int cifs_get_inode_info(struct inode **pinode, | |||
340 | (pfindData->EndOfFile == 0)) { | 459 | (pfindData->EndOfFile == 0)) { |
341 | inode->i_mode = cifs_sb->mnt_file_mode; | 460 | inode->i_mode = cifs_sb->mnt_file_mode; |
342 | inode->i_mode |= S_IFIFO; | 461 | inode->i_mode |= S_IFIFO; |
343 | /* BB Finish for SFU style symlinks and devies */ | 462 | /* BB Finish for SFU style symlinks and devices */ |
344 | /* } else if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) && | 463 | } else if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) && |
345 | (cifsInfo->cifsAttrs & ATTR_SYSTEM) && ) */ | 464 | (cifsInfo->cifsAttrs & ATTR_SYSTEM)) { |
346 | 465 | if (decode_sfu_inode(inode, | |
466 | le64_to_cpu(pfindData->EndOfFile), | ||
467 | search_path, | ||
468 | cifs_sb, xid)) { | ||
469 | cFYI(1,("Unrecognized sfu inode type")); | ||
470 | } | ||
471 | cFYI(1,("sfu mode 0%o",inode->i_mode)); | ||
347 | } else { | 472 | } else { |
348 | inode->i_mode |= S_IFREG; | 473 | inode->i_mode |= S_IFREG; |
349 | /* treat the dos attribute of read-only as read-only | 474 | /* treat the dos attribute of read-only as read-only |
@@ -368,7 +493,10 @@ int cifs_get_inode_info(struct inode **pinode, | |||
368 | 493 | ||
369 | /* BB fill in uid and gid here? with help from winbind? | 494 | /* BB fill in uid and gid here? with help from winbind? |
370 | or retrieve from NTFS stream extended attribute */ | 495 | or retrieve from NTFS stream extended attribute */ |
371 | if (atomic_read(&cifsInfo->inUse) == 0) { | 496 | if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) { |
497 | /* fill in uid, gid, mode from server ACL */ | ||
498 | get_sfu_uid_mode(inode, search_path, cifs_sb, xid); | ||
499 | } else if (atomic_read(&cifsInfo->inUse) == 0) { | ||
372 | inode->i_uid = cifs_sb->mnt_uid; | 500 | inode->i_uid = cifs_sb->mnt_uid; |
373 | inode->i_gid = cifs_sb->mnt_gid; | 501 | inode->i_gid = cifs_sb->mnt_gid; |
374 | /* set so we do not keep refreshing these fields with | 502 | /* set so we do not keep refreshing these fields with |
@@ -377,24 +505,29 @@ int cifs_get_inode_info(struct inode **pinode, | |||
377 | } | 505 | } |
378 | 506 | ||
379 | if (S_ISREG(inode->i_mode)) { | 507 | if (S_ISREG(inode->i_mode)) { |
380 | cFYI(1, (" File inode ")); | 508 | cFYI(1, ("File inode")); |
381 | inode->i_op = &cifs_file_inode_ops; | 509 | inode->i_op = &cifs_file_inode_ops; |
382 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) | 510 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) { |
383 | inode->i_fop = &cifs_file_direct_ops; | 511 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) |
384 | else | 512 | inode->i_fop = |
513 | &cifs_file_direct_nobrl_ops; | ||
514 | else | ||
515 | inode->i_fop = &cifs_file_direct_ops; | ||
516 | } else if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) | ||
517 | inode->i_fop = &cifs_file_nobrl_ops; | ||
518 | else /* not direct, send byte range locks */ | ||
385 | inode->i_fop = &cifs_file_ops; | 519 | inode->i_fop = &cifs_file_ops; |
386 | if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) | 520 | |
387 | inode->i_fop->lock = NULL; | ||
388 | inode->i_data.a_ops = &cifs_addr_ops; | 521 | inode->i_data.a_ops = &cifs_addr_ops; |
389 | if(pTcon->ses->server->maxBuf < | 522 | if(pTcon->ses->server->maxBuf < |
390 | 4096 + MAX_CIFS_HDR_SIZE) | 523 | 4096 + MAX_CIFS_HDR_SIZE) |
391 | inode->i_data.a_ops->readpages = NULL; | 524 | inode->i_data.a_ops->readpages = NULL; |
392 | } else if (S_ISDIR(inode->i_mode)) { | 525 | } else if (S_ISDIR(inode->i_mode)) { |
393 | cFYI(1, (" Directory inode ")); | 526 | cFYI(1, ("Directory inode")); |
394 | inode->i_op = &cifs_dir_inode_ops; | 527 | inode->i_op = &cifs_dir_inode_ops; |
395 | inode->i_fop = &cifs_dir_ops; | 528 | inode->i_fop = &cifs_dir_ops; |
396 | } else if (S_ISLNK(inode->i_mode)) { | 529 | } else if (S_ISLNK(inode->i_mode)) { |
397 | cFYI(1, (" Symbolic Link inode ")); | 530 | cFYI(1, ("Symbolic Link inode")); |
398 | inode->i_op = &cifs_symlink_inode_ops; | 531 | inode->i_op = &cifs_symlink_inode_ops; |
399 | } else { | 532 | } else { |
400 | init_special_inode(inode, inode->i_mode, | 533 | init_special_inode(inode, inode->i_mode, |
@@ -431,7 +564,7 @@ int cifs_unlink(struct inode *inode, struct dentry *direntry) | |||
431 | struct cifsInodeInfo *cifsInode; | 564 | struct cifsInodeInfo *cifsInode; |
432 | FILE_BASIC_INFO *pinfo_buf; | 565 | FILE_BASIC_INFO *pinfo_buf; |
433 | 566 | ||
434 | cFYI(1, (" cifs_unlink, inode = 0x%p with ", inode)); | 567 | cFYI(1, ("cifs_unlink, inode = 0x%p with ", inode)); |
435 | 568 | ||
436 | xid = GetXid(); | 569 | xid = GetXid(); |
437 | 570 | ||
@@ -651,7 +784,7 @@ int cifs_rmdir(struct inode *inode, struct dentry *direntry) | |||
651 | char *full_path = NULL; | 784 | char *full_path = NULL; |
652 | struct cifsInodeInfo *cifsInode; | 785 | struct cifsInodeInfo *cifsInode; |
653 | 786 | ||
654 | cFYI(1, (" cifs_rmdir, inode = 0x%p with ", inode)); | 787 | cFYI(1, ("cifs_rmdir, inode = 0x%p with ", inode)); |
655 | 788 | ||
656 | xid = GetXid(); | 789 | xid = GetXid(); |
657 | 790 | ||
@@ -970,7 +1103,7 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs) | |||
970 | 1103 | ||
971 | xid = GetXid(); | 1104 | xid = GetXid(); |
972 | 1105 | ||
973 | cFYI(1, (" In cifs_setattr, name = %s attrs->iavalid 0x%x ", | 1106 | cFYI(1, ("In cifs_setattr, name = %s attrs->iavalid 0x%x ", |
974 | direntry->d_name.name, attrs->ia_valid)); | 1107 | direntry->d_name.name, attrs->ia_valid)); |
975 | cifs_sb = CIFS_SB(direntry->d_inode->i_sb); | 1108 | cifs_sb = CIFS_SB(direntry->d_inode->i_sb); |
976 | pTcon = cifs_sb->tcon; | 1109 | pTcon = cifs_sb->tcon; |
@@ -1086,6 +1219,7 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs) | |||
1086 | cifs_sb->mnt_cifs_flags & | 1219 | cifs_sb->mnt_cifs_flags & |
1087 | CIFS_MOUNT_MAP_SPECIAL_CHR); | 1220 | CIFS_MOUNT_MAP_SPECIAL_CHR); |
1088 | else if (attrs->ia_valid & ATTR_MODE) { | 1221 | else if (attrs->ia_valid & ATTR_MODE) { |
1222 | rc = 0; | ||
1089 | if ((mode & S_IWUGO) == 0) /* not writeable */ { | 1223 | if ((mode & S_IWUGO) == 0) /* not writeable */ { |
1090 | if ((cifsInode->cifsAttrs & ATTR_READONLY) == 0) | 1224 | if ((cifsInode->cifsAttrs & ATTR_READONLY) == 0) |
1091 | time_buf.Attributes = | 1225 | time_buf.Attributes = |
diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c index 34a06692e4fa..ca27a82c54cd 100644 --- a/fs/cifs/misc.c +++ b/fs/cifs/misc.c | |||
@@ -678,7 +678,7 @@ cifsConvertToUCS(__le16 * target, const char *source, int maxlen, | |||
678 | __u16 temp; | 678 | __u16 temp; |
679 | 679 | ||
680 | if(!mapChars) | 680 | if(!mapChars) |
681 | return cifs_strtoUCS((wchar_t *) target, source, PATH_MAX, cp); | 681 | return cifs_strtoUCS(target, source, PATH_MAX, cp); |
682 | 682 | ||
683 | for(i = 0, j = 0; i < maxlen; j++) { | 683 | for(i = 0, j = 0; i < maxlen; j++) { |
684 | src_char = source[i]; | 684 | src_char = source[i]; |
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index a86bd1c07602..9bdaaecae36f 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c | |||
@@ -142,6 +142,11 @@ static void fill_in_inode(struct inode *tmp_inode, | |||
142 | tmp_inode->i_gid = cifs_sb->mnt_gid; | 142 | tmp_inode->i_gid = cifs_sb->mnt_gid; |
143 | /* set default mode. will override for dirs below */ | 143 | /* set default mode. will override for dirs below */ |
144 | tmp_inode->i_mode = cifs_sb->mnt_file_mode; | 144 | tmp_inode->i_mode = cifs_sb->mnt_file_mode; |
145 | } else { | ||
146 | /* mask off the type bits since it gets set | ||
147 | below and we do not want to get two type | ||
148 | bits set */ | ||
149 | tmp_inode->i_mode &= ~S_IFMT; | ||
145 | } | 150 | } |
146 | 151 | ||
147 | if (attr & ATTR_DIRECTORY) { | 152 | if (attr & ATTR_DIRECTORY) { |
@@ -152,12 +157,18 @@ static void fill_in_inode(struct inode *tmp_inode, | |||
152 | } | 157 | } |
153 | tmp_inode->i_mode |= S_IFDIR; | 158 | tmp_inode->i_mode |= S_IFDIR; |
154 | } else if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) && | 159 | } else if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) && |
155 | (attr & ATTR_SYSTEM) && (end_of_file == 0)) { | 160 | (attr & ATTR_SYSTEM)) { |
156 | *pobject_type = DT_FIFO; | 161 | if (end_of_file == 0) { |
157 | tmp_inode->i_mode |= S_IFIFO; | 162 | *pobject_type = DT_FIFO; |
158 | /* BB Finish for SFU style symlinks and devies */ | 163 | tmp_inode->i_mode |= S_IFIFO; |
159 | /* } else if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) && | 164 | } else { |
160 | (attr & ATTR_SYSTEM) && ) { */ | 165 | /* rather than get the type here, we mark the |
166 | inode as needing revalidate and get the real type | ||
167 | (blk vs chr vs. symlink) later ie in lookup */ | ||
168 | *pobject_type = DT_REG; | ||
169 | tmp_inode->i_mode |= S_IFREG; | ||
170 | cifsInfo->time = 0; | ||
171 | } | ||
161 | /* we no longer mark these because we could not follow them */ | 172 | /* we no longer mark these because we could not follow them */ |
162 | /* } else if (attr & ATTR_REPARSE) { | 173 | /* } else if (attr & ATTR_REPARSE) { |
163 | *pobject_type = DT_LNK; | 174 | *pobject_type = DT_LNK; |
@@ -193,8 +204,14 @@ static void fill_in_inode(struct inode *tmp_inode, | |||
193 | if (S_ISREG(tmp_inode->i_mode)) { | 204 | if (S_ISREG(tmp_inode->i_mode)) { |
194 | cFYI(1, ("File inode")); | 205 | cFYI(1, ("File inode")); |
195 | tmp_inode->i_op = &cifs_file_inode_ops; | 206 | tmp_inode->i_op = &cifs_file_inode_ops; |
196 | if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) | 207 | if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) { |
197 | tmp_inode->i_fop = &cifs_file_direct_ops; | 208 | if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) |
209 | tmp_inode->i_fop = &cifs_file_direct_nobrl_ops; | ||
210 | else | ||
211 | tmp_inode->i_fop = &cifs_file_direct_ops; | ||
212 | |||
213 | } else if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) | ||
214 | tmp_inode->i_fop = &cifs_file_nobrl_ops; | ||
198 | else | 215 | else |
199 | tmp_inode->i_fop = &cifs_file_ops; | 216 | tmp_inode->i_fop = &cifs_file_ops; |
200 | if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) | 217 | if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) |
@@ -258,6 +275,9 @@ static void unix_fill_in_inode(struct inode *tmp_inode, | |||
258 | cifs_NTtimeToUnix(le64_to_cpu(pfindData->LastStatusChange)); | 275 | cifs_NTtimeToUnix(le64_to_cpu(pfindData->LastStatusChange)); |
259 | 276 | ||
260 | tmp_inode->i_mode = le64_to_cpu(pfindData->Permissions); | 277 | tmp_inode->i_mode = le64_to_cpu(pfindData->Permissions); |
278 | /* since we set the inode type below we need to mask off type | ||
279 | to avoid strange results if bits above were corrupt */ | ||
280 | tmp_inode->i_mode &= ~S_IFMT; | ||
261 | if (type == UNIX_FILE) { | 281 | if (type == UNIX_FILE) { |
262 | *pobject_type = DT_REG; | 282 | *pobject_type = DT_REG; |
263 | tmp_inode->i_mode |= S_IFREG; | 283 | tmp_inode->i_mode |= S_IFREG; |
@@ -283,6 +303,11 @@ static void unix_fill_in_inode(struct inode *tmp_inode, | |||
283 | } else if (type == UNIX_SOCKET) { | 303 | } else if (type == UNIX_SOCKET) { |
284 | *pobject_type = DT_SOCK; | 304 | *pobject_type = DT_SOCK; |
285 | tmp_inode->i_mode |= S_IFSOCK; | 305 | tmp_inode->i_mode |= S_IFSOCK; |
306 | } else { | ||
307 | /* safest to just call it a file */ | ||
308 | *pobject_type = DT_REG; | ||
309 | tmp_inode->i_mode |= S_IFREG; | ||
310 | cFYI(1,("unknown inode type %d",type)); | ||
286 | } | 311 | } |
287 | 312 | ||
288 | tmp_inode->i_uid = le64_to_cpu(pfindData->Uid); | 313 | tmp_inode->i_uid = le64_to_cpu(pfindData->Uid); |
@@ -699,7 +724,7 @@ static int cifs_get_name_from_search_buf(struct qstr *pqst, | |||
699 | (__le16 *)filename, len/2, nlt); | 724 | (__le16 *)filename, len/2, nlt); |
700 | else | 725 | else |
701 | pqst->len = cifs_strfromUCS_le((char *)pqst->name, | 726 | pqst->len = cifs_strfromUCS_le((char *)pqst->name, |
702 | (wchar_t *)filename,len/2,nlt); | 727 | (__le16 *)filename,len/2,nlt); |
703 | } else { | 728 | } else { |
704 | pqst->name = filename; | 729 | pqst->name = filename; |
705 | pqst->len = len; | 730 | pqst->len = len; |
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index 981ea0d8b9cd..41a9659c16bc 100644 --- a/fs/cifs/transport.c +++ b/fs/cifs/transport.c | |||
@@ -522,7 +522,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
522 | sizeof (struct smb_hdr) - | 522 | sizeof (struct smb_hdr) - |
523 | 4 /* do not count RFC1001 header */ + | 523 | 4 /* do not count RFC1001 header */ + |
524 | (2 * in_buf->WordCount) + 2 /* bcc */ ) | 524 | (2 * in_buf->WordCount) + 2 /* bcc */ ) |
525 | BCC(in_buf) = le16_to_cpu(BCC(in_buf)); | 525 | BCC(in_buf) = le16_to_cpu(BCC_LE(in_buf)); |
526 | } else { | 526 | } else { |
527 | rc = -EIO; | 527 | rc = -EIO; |
528 | cFYI(1,("Bad MID state?")); | 528 | cFYI(1,("Bad MID state?")); |
@@ -786,7 +786,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
786 | sizeof (struct smb_hdr) - | 786 | sizeof (struct smb_hdr) - |
787 | 4 /* do not count RFC1001 header */ + | 787 | 4 /* do not count RFC1001 header */ + |
788 | (2 * out_buf->WordCount) + 2 /* bcc */ ) | 788 | (2 * out_buf->WordCount) + 2 /* bcc */ ) |
789 | BCC(out_buf) = le16_to_cpu(BCC(out_buf)); | 789 | BCC(out_buf) = le16_to_cpu(BCC_LE(out_buf)); |
790 | } else { | 790 | } else { |
791 | rc = -EIO; | 791 | rc = -EIO; |
792 | cERROR(1,("Bad MID state? ")); | 792 | cERROR(1,("Bad MID state? ")); |
diff --git a/fs/compat.c b/fs/compat.c index 8e71cdbecc7c..0f7abf246d32 100644 --- a/fs/compat.c +++ b/fs/compat.c | |||
@@ -268,7 +268,6 @@ out: | |||
268 | 268 | ||
269 | #define IOCTL_HASHSIZE 256 | 269 | #define IOCTL_HASHSIZE 256 |
270 | static struct ioctl_trans *ioctl32_hash_table[IOCTL_HASHSIZE]; | 270 | static struct ioctl_trans *ioctl32_hash_table[IOCTL_HASHSIZE]; |
271 | static DECLARE_RWSEM(ioctl32_sem); | ||
272 | 271 | ||
273 | extern struct ioctl_trans ioctl_start[]; | 272 | extern struct ioctl_trans ioctl_start[]; |
274 | extern int ioctl_table_size; | 273 | extern int ioctl_table_size; |
@@ -390,14 +389,10 @@ asmlinkage long compat_sys_ioctl(unsigned int fd, unsigned int cmd, | |||
390 | break; | 389 | break; |
391 | } | 390 | } |
392 | 391 | ||
393 | /* When register_ioctl32_conversion is finally gone remove | ||
394 | this lock! -AK */ | ||
395 | down_read(&ioctl32_sem); | ||
396 | for (t = ioctl32_hash_table[ioctl32_hash(cmd)]; t; t = t->next) { | 392 | for (t = ioctl32_hash_table[ioctl32_hash(cmd)]; t; t = t->next) { |
397 | if (t->cmd == cmd) | 393 | if (t->cmd == cmd) |
398 | goto found_handler; | 394 | goto found_handler; |
399 | } | 395 | } |
400 | up_read(&ioctl32_sem); | ||
401 | 396 | ||
402 | if (S_ISSOCK(filp->f_dentry->d_inode->i_mode) && | 397 | if (S_ISSOCK(filp->f_dentry->d_inode->i_mode) && |
403 | cmd >= SIOCDEVPRIVATE && cmd <= (SIOCDEVPRIVATE + 15)) { | 398 | cmd >= SIOCDEVPRIVATE && cmd <= (SIOCDEVPRIVATE + 15)) { |
@@ -417,11 +412,9 @@ asmlinkage long compat_sys_ioctl(unsigned int fd, unsigned int cmd, | |||
417 | lock_kernel(); | 412 | lock_kernel(); |
418 | error = t->handler(fd, cmd, arg, filp); | 413 | error = t->handler(fd, cmd, arg, filp); |
419 | unlock_kernel(); | 414 | unlock_kernel(); |
420 | up_read(&ioctl32_sem); | ||
421 | goto out_fput; | 415 | goto out_fput; |
422 | } | 416 | } |
423 | 417 | ||
424 | up_read(&ioctl32_sem); | ||
425 | do_ioctl: | 418 | do_ioctl: |
426 | error = vfs_ioctl(filp, fd, cmd, arg); | 419 | error = vfs_ioctl(filp, fd, cmd, arg); |
427 | out_fput: | 420 | out_fput: |
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c index f07e60f9e102..31b7efd94d66 100644 --- a/fs/compat_ioctl.c +++ b/fs/compat_ioctl.c | |||
@@ -49,6 +49,8 @@ | |||
49 | #include <linux/vt_kern.h> | 49 | #include <linux/vt_kern.h> |
50 | #include <linux/fb.h> | 50 | #include <linux/fb.h> |
51 | #include <linux/ext2_fs.h> | 51 | #include <linux/ext2_fs.h> |
52 | #include <linux/ext3_jbd.h> | ||
53 | #include <linux/ext3_fs.h> | ||
52 | #include <linux/videodev.h> | 54 | #include <linux/videodev.h> |
53 | #include <linux/netdevice.h> | 55 | #include <linux/netdevice.h> |
54 | #include <linux/raw.h> | 56 | #include <linux/raw.h> |
@@ -134,6 +136,15 @@ | |||
134 | /* Aiee. Someone does not find a difference between int and long */ | 136 | /* Aiee. Someone does not find a difference between int and long */ |
135 | #define EXT2_IOC32_GETFLAGS _IOR('f', 1, int) | 137 | #define EXT2_IOC32_GETFLAGS _IOR('f', 1, int) |
136 | #define EXT2_IOC32_SETFLAGS _IOW('f', 2, int) | 138 | #define EXT2_IOC32_SETFLAGS _IOW('f', 2, int) |
139 | #define EXT3_IOC32_GETVERSION _IOR('f', 3, int) | ||
140 | #define EXT3_IOC32_SETVERSION _IOW('f', 4, int) | ||
141 | #define EXT3_IOC32_GETRSVSZ _IOR('f', 5, int) | ||
142 | #define EXT3_IOC32_SETRSVSZ _IOW('f', 6, int) | ||
143 | #define EXT3_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int) | ||
144 | #ifdef CONFIG_JBD_DEBUG | ||
145 | #define EXT3_IOC32_WAIT_FOR_READONLY _IOR('f', 99, int) | ||
146 | #endif | ||
147 | |||
137 | #define EXT2_IOC32_GETVERSION _IOR('v', 1, int) | 148 | #define EXT2_IOC32_GETVERSION _IOR('v', 1, int) |
138 | #define EXT2_IOC32_SETVERSION _IOW('v', 2, int) | 149 | #define EXT2_IOC32_SETVERSION _IOW('v', 2, int) |
139 | 150 | ||
@@ -180,6 +191,22 @@ static int do_ext2_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) | |||
180 | return sys_ioctl(fd, cmd, (unsigned long)compat_ptr(arg)); | 191 | return sys_ioctl(fd, cmd, (unsigned long)compat_ptr(arg)); |
181 | } | 192 | } |
182 | 193 | ||
194 | static int do_ext3_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
195 | { | ||
196 | /* These are just misnamed, they actually get/put from/to user an int */ | ||
197 | switch (cmd) { | ||
198 | case EXT3_IOC32_GETVERSION: cmd = EXT3_IOC_GETVERSION; break; | ||
199 | case EXT3_IOC32_SETVERSION: cmd = EXT3_IOC_SETVERSION; break; | ||
200 | case EXT3_IOC32_GETRSVSZ: cmd = EXT3_IOC_GETRSVSZ; break; | ||
201 | case EXT3_IOC32_SETRSVSZ: cmd = EXT3_IOC_SETRSVSZ; break; | ||
202 | case EXT3_IOC32_GROUP_EXTEND: cmd = EXT3_IOC_GROUP_EXTEND; break; | ||
203 | #ifdef CONFIG_JBD_DEBUG | ||
204 | case EXT3_IOC32_WAIT_FOR_READONLY: cmd = EXT3_IOC_WAIT_FOR_READONLY; break; | ||
205 | #endif | ||
206 | } | ||
207 | return sys_ioctl(fd, cmd, (unsigned long)compat_ptr(arg)); | ||
208 | } | ||
209 | |||
183 | struct video_tuner32 { | 210 | struct video_tuner32 { |
184 | compat_int_t tuner; | 211 | compat_int_t tuner; |
185 | char name[32]; | 212 | char name[32]; |
@@ -2981,6 +3008,15 @@ HANDLE_IOCTL(EXT2_IOC32_GETFLAGS, do_ext2_ioctl) | |||
2981 | HANDLE_IOCTL(EXT2_IOC32_SETFLAGS, do_ext2_ioctl) | 3008 | HANDLE_IOCTL(EXT2_IOC32_SETFLAGS, do_ext2_ioctl) |
2982 | HANDLE_IOCTL(EXT2_IOC32_GETVERSION, do_ext2_ioctl) | 3009 | HANDLE_IOCTL(EXT2_IOC32_GETVERSION, do_ext2_ioctl) |
2983 | HANDLE_IOCTL(EXT2_IOC32_SETVERSION, do_ext2_ioctl) | 3010 | HANDLE_IOCTL(EXT2_IOC32_SETVERSION, do_ext2_ioctl) |
3011 | HANDLE_IOCTL(EXT3_IOC32_GETVERSION, do_ext3_ioctl) | ||
3012 | HANDLE_IOCTL(EXT3_IOC32_SETVERSION, do_ext3_ioctl) | ||
3013 | HANDLE_IOCTL(EXT3_IOC32_GETRSVSZ, do_ext3_ioctl) | ||
3014 | HANDLE_IOCTL(EXT3_IOC32_SETRSVSZ, do_ext3_ioctl) | ||
3015 | HANDLE_IOCTL(EXT3_IOC32_GROUP_EXTEND, do_ext3_ioctl) | ||
3016 | COMPATIBLE_IOCTL(EXT3_IOC_GROUP_ADD) | ||
3017 | #ifdef CONFIG_JBD_DEBUG | ||
3018 | HANDLE_IOCTL(EXT3_IOC32_WAIT_FOR_READONLY, do_ext3_ioctl) | ||
3019 | #endif | ||
2984 | HANDLE_IOCTL(VIDIOCGTUNER32, do_video_ioctl) | 3020 | HANDLE_IOCTL(VIDIOCGTUNER32, do_video_ioctl) |
2985 | HANDLE_IOCTL(VIDIOCSTUNER32, do_video_ioctl) | 3021 | HANDLE_IOCTL(VIDIOCSTUNER32, do_video_ioctl) |
2986 | HANDLE_IOCTL(VIDIOCGWIN32, do_video_ioctl) | 3022 | HANDLE_IOCTL(VIDIOCGWIN32, do_video_ioctl) |
diff --git a/include/asm-arm/arch-clps711x/uncompress.h b/include/asm-arm/arch-clps711x/uncompress.h index 7d0ab791b16c..9fc4bcfa1681 100644 --- a/include/asm-arm/arch-clps711x/uncompress.h +++ b/include/asm-arm/arch-clps711x/uncompress.h | |||
@@ -19,7 +19,7 @@ | |||
19 | */ | 19 | */ |
20 | #include <linux/config.h> | 20 | #include <linux/config.h> |
21 | #include <asm/arch/io.h> | 21 | #include <asm/arch/io.h> |
22 | #include <asm/arch/hardware.h> | 22 | #include <asm/hardware.h> |
23 | #include <asm/hardware/clps7111.h> | 23 | #include <asm/hardware/clps7111.h> |
24 | 24 | ||
25 | #undef CLPS7111_BASE | 25 | #undef CLPS7111_BASE |
diff --git a/include/asm-arm/arch-epxa10db/uncompress.h b/include/asm-arm/arch-epxa10db/uncompress.h index d33ad6a93749..fdfe0e6848f8 100644 --- a/include/asm-arm/arch-epxa10db/uncompress.h +++ b/include/asm-arm/arch-epxa10db/uncompress.h | |||
@@ -19,7 +19,7 @@ | |||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | */ | 20 | */ |
21 | #include "asm/arch/platform.h" | 21 | #include "asm/arch/platform.h" |
22 | #include "asm/arch/hardware.h" | 22 | #include "asm/hardware.h" |
23 | #define UART00_TYPE (volatile unsigned int*) | 23 | #define UART00_TYPE (volatile unsigned int*) |
24 | #include "asm/arch/uart00.h" | 24 | #include "asm/arch/uart00.h" |
25 | 25 | ||
diff --git a/include/asm-arm/arch-h720x/uncompress.h b/include/asm-arm/arch-h720x/uncompress.h index 2fffacf85a01..9535764bcc71 100644 --- a/include/asm-arm/arch-h720x/uncompress.h +++ b/include/asm-arm/arch-h720x/uncompress.h | |||
@@ -7,7 +7,7 @@ | |||
7 | #ifndef __ASM_ARCH_UNCOMPRESS_H | 7 | #ifndef __ASM_ARCH_UNCOMPRESS_H |
8 | #define __ASM_ARCH_UNCOMPRESS_H | 8 | #define __ASM_ARCH_UNCOMPRESS_H |
9 | 9 | ||
10 | #include <asm/arch/hardware.h> | 10 | #include <asm/hardware.h> |
11 | 11 | ||
12 | #define LSR 0x14 | 12 | #define LSR 0x14 |
13 | #define TEMPTY 0x40 | 13 | #define TEMPTY 0x40 |
diff --git a/include/asm-arm/arch-imx/irqs.h b/include/asm-arm/arch-imx/irqs.h index 238197cfb9d9..f195542898e0 100644 --- a/include/asm-arm/arch-imx/irqs.h +++ b/include/asm-arm/arch-imx/irqs.h | |||
@@ -23,7 +23,7 @@ | |||
23 | #define __ARM_IRQS_H__ | 23 | #define __ARM_IRQS_H__ |
24 | 24 | ||
25 | /* Use the imx definitions */ | 25 | /* Use the imx definitions */ |
26 | #include <asm/arch/hardware.h> | 26 | #include <asm/hardware.h> |
27 | 27 | ||
28 | /* | 28 | /* |
29 | * IMX Interrupt numbers | 29 | * IMX Interrupt numbers |
diff --git a/include/asm-arm/arch-imx/timex.h b/include/asm-arm/arch-imx/timex.h index d65ab3cd5d5d..8c91674706b1 100644 --- a/include/asm-arm/arch-imx/timex.h +++ b/include/asm-arm/arch-imx/timex.h | |||
@@ -21,7 +21,7 @@ | |||
21 | #ifndef __ASM_ARCH_TIMEX_H | 21 | #ifndef __ASM_ARCH_TIMEX_H |
22 | #define __ASM_ARCH_TIMEX_H | 22 | #define __ASM_ARCH_TIMEX_H |
23 | 23 | ||
24 | #include <asm/arch/hardware.h> | 24 | #include <asm/hardware.h> |
25 | #define CLOCK_TICK_RATE (CLK32) | 25 | #define CLOCK_TICK_RATE (CLK32) |
26 | 26 | ||
27 | #endif | 27 | #endif |
diff --git a/include/asm-arm/arch-integrator/smp.h b/include/asm-arm/arch-integrator/smp.h index 0ec7093f7c37..da6981efdc39 100644 --- a/include/asm-arm/arch-integrator/smp.h +++ b/include/asm-arm/arch-integrator/smp.h | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | #include <linux/config.h> | 4 | #include <linux/config.h> |
5 | 5 | ||
6 | #include <asm/arch/hardware.h> | 6 | #include <asm/hardware.h> |
7 | #include <asm/io.h> | 7 | #include <asm/io.h> |
8 | 8 | ||
9 | #define hard_smp_processor_id() \ | 9 | #define hard_smp_processor_id() \ |
diff --git a/include/asm-arm/arch-ixp4xx/io.h b/include/asm-arm/arch-ixp4xx/io.h index 688f7f90d93e..942b622455bc 100644 --- a/include/asm-arm/arch-ixp4xx/io.h +++ b/include/asm-arm/arch-ixp4xx/io.h | |||
@@ -59,11 +59,10 @@ extern int ixp4xx_pci_write(u32 addr, u32 cmd, u32 data); | |||
59 | * fallback to the default. | 59 | * fallback to the default. |
60 | */ | 60 | */ |
61 | static inline void __iomem * | 61 | static inline void __iomem * |
62 | __ixp4xx_ioremap(unsigned long addr, size_t size, unsigned long flags, unsigned long align) | 62 | __ixp4xx_ioremap(unsigned long addr, size_t size, unsigned long flags) |
63 | { | 63 | { |
64 | extern void __iomem * __ioremap(unsigned long, size_t, unsigned long, unsigned long); | ||
65 | if((addr < 0x48000000) || (addr > 0x4fffffff)) | 64 | if((addr < 0x48000000) || (addr > 0x4fffffff)) |
66 | return __ioremap(addr, size, flags, align); | 65 | return __ioremap(addr, size, flags); |
67 | 66 | ||
68 | return (void *)addr; | 67 | return (void *)addr; |
69 | } | 68 | } |
@@ -71,13 +70,11 @@ __ixp4xx_ioremap(unsigned long addr, size_t size, unsigned long flags, unsigned | |||
71 | static inline void | 70 | static inline void |
72 | __ixp4xx_iounmap(void __iomem *addr) | 71 | __ixp4xx_iounmap(void __iomem *addr) |
73 | { | 72 | { |
74 | extern void __iounmap(void __iomem *addr); | ||
75 | |||
76 | if ((u32)addr >= VMALLOC_START) | 73 | if ((u32)addr >= VMALLOC_START) |
77 | __iounmap(addr); | 74 | __iounmap(addr); |
78 | } | 75 | } |
79 | 76 | ||
80 | #define __arch_ioremap(a, s, f, x) __ixp4xx_ioremap(a, s, f, x) | 77 | #define __arch_ioremap(a, s, f) __ixp4xx_ioremap(a, s, f) |
81 | #define __arch_iounmap(a) __ixp4xx_iounmap(a) | 78 | #define __arch_iounmap(a) __ixp4xx_iounmap(a) |
82 | 79 | ||
83 | #define writeb(v, p) __ixp4xx_writeb(v, p) | 80 | #define writeb(v, p) __ixp4xx_writeb(v, p) |
diff --git a/include/asm-arm/arch-l7200/aux_reg.h b/include/asm-arm/arch-l7200/aux_reg.h index 762cbc76c501..5b4396de16a0 100644 --- a/include/asm-arm/arch-l7200/aux_reg.h +++ b/include/asm-arm/arch-l7200/aux_reg.h | |||
@@ -9,7 +9,7 @@ | |||
9 | #ifndef _ASM_ARCH_AUXREG_H | 9 | #ifndef _ASM_ARCH_AUXREG_H |
10 | #define _ASM_ARCH_AUXREG_H | 10 | #define _ASM_ARCH_AUXREG_H |
11 | 11 | ||
12 | #include <asm/arch/hardware.h> | 12 | #include <asm/hardware.h> |
13 | 13 | ||
14 | #define l7200aux_reg *((volatile unsigned int *) (AUX_BASE)) | 14 | #define l7200aux_reg *((volatile unsigned int *) (AUX_BASE)) |
15 | 15 | ||
diff --git a/include/asm-arm/arch-l7200/gp_timers.h b/include/asm-arm/arch-l7200/gp_timers.h index 6f20962df248..9c4804d13578 100644 --- a/include/asm-arm/arch-l7200/gp_timers.h +++ b/include/asm-arm/arch-l7200/gp_timers.h | |||
@@ -10,7 +10,7 @@ | |||
10 | #ifndef _ASM_ARCH_GPTIMERS_H | 10 | #ifndef _ASM_ARCH_GPTIMERS_H |
11 | #define _ASM_ARCH_GPTIMERS_H | 11 | #define _ASM_ARCH_GPTIMERS_H |
12 | 12 | ||
13 | #include <asm/arch/hardware.h> | 13 | #include <asm/hardware.h> |
14 | 14 | ||
15 | /* | 15 | /* |
16 | * Layout of L7200 general purpose timer registers | 16 | * Layout of L7200 general purpose timer registers |
diff --git a/include/asm-arm/arch-omap/gpio.h b/include/asm-arm/arch-omap/gpio.h index 1b3885741ac1..f486b72070ea 100644 --- a/include/asm-arm/arch-omap/gpio.h +++ b/include/asm-arm/arch-omap/gpio.h | |||
@@ -26,7 +26,7 @@ | |||
26 | #ifndef __ASM_ARCH_OMAP_GPIO_H | 26 | #ifndef __ASM_ARCH_OMAP_GPIO_H |
27 | #define __ASM_ARCH_OMAP_GPIO_H | 27 | #define __ASM_ARCH_OMAP_GPIO_H |
28 | 28 | ||
29 | #include <asm/arch/hardware.h> | 29 | #include <asm/hardware.h> |
30 | #include <asm/arch/irqs.h> | 30 | #include <asm/arch/irqs.h> |
31 | #include <asm/io.h> | 31 | #include <asm/io.h> |
32 | 32 | ||
diff --git a/include/asm-arm/arch-omap/irqs.h b/include/asm-arm/arch-omap/irqs.h index 9779686bdceb..4ffce1d77759 100644 --- a/include/asm-arm/arch-omap/irqs.h +++ b/include/asm-arm/arch-omap/irqs.h | |||
@@ -260,7 +260,7 @@ extern void omap_init_irq(void); | |||
260 | * The definition of NR_IRQS is in board-specific header file, which is | 260 | * The definition of NR_IRQS is in board-specific header file, which is |
261 | * included via hardware.h | 261 | * included via hardware.h |
262 | */ | 262 | */ |
263 | #include <asm/arch/hardware.h> | 263 | #include <asm/hardware.h> |
264 | 264 | ||
265 | #ifndef NR_IRQS | 265 | #ifndef NR_IRQS |
266 | #define NR_IRQS IH_BOARD_BASE | 266 | #define NR_IRQS IH_BOARD_BASE |
diff --git a/include/asm-arm/arch-omap/mcbsp.h b/include/asm-arm/arch-omap/mcbsp.h index 305bdeb16ab8..e79d98ab2ab6 100644 --- a/include/asm-arm/arch-omap/mcbsp.h +++ b/include/asm-arm/arch-omap/mcbsp.h | |||
@@ -24,7 +24,7 @@ | |||
24 | #ifndef __ASM_ARCH_OMAP_MCBSP_H | 24 | #ifndef __ASM_ARCH_OMAP_MCBSP_H |
25 | #define __ASM_ARCH_OMAP_MCBSP_H | 25 | #define __ASM_ARCH_OMAP_MCBSP_H |
26 | 26 | ||
27 | #include <asm/arch/hardware.h> | 27 | #include <asm/hardware.h> |
28 | 28 | ||
29 | #define OMAP730_MCBSP1_BASE 0xfffb1000 | 29 | #define OMAP730_MCBSP1_BASE 0xfffb1000 |
30 | #define OMAP730_MCBSP2_BASE 0xfffb1800 | 30 | #define OMAP730_MCBSP2_BASE 0xfffb1800 |
diff --git a/include/asm-arm/arch-omap/system.h b/include/asm-arm/arch-omap/system.h index b43cdd2a3874..9af415d2944a 100644 --- a/include/asm-arm/arch-omap/system.h +++ b/include/asm-arm/arch-omap/system.h | |||
@@ -7,7 +7,7 @@ | |||
7 | #include <linux/config.h> | 7 | #include <linux/config.h> |
8 | #include <asm/mach-types.h> | 8 | #include <asm/mach-types.h> |
9 | #include <asm/hardware/clock.h> | 9 | #include <asm/hardware/clock.h> |
10 | #include <asm/arch/hardware.h> | 10 | #include <asm/hardware.h> |
11 | #include <asm/arch/prcm.h> | 11 | #include <asm/arch/prcm.h> |
12 | 12 | ||
13 | #ifndef CONFIG_MACH_VOICEBLUE | 13 | #ifndef CONFIG_MACH_VOICEBLUE |
diff --git a/include/asm-arm/arch-realview/hardware.h b/include/asm-arm/arch-realview/hardware.h index 67879cdb6ef2..9ca76dc3a7af 100644 --- a/include/asm-arm/arch-realview/hardware.h +++ b/include/asm-arm/arch-realview/hardware.h | |||
@@ -27,5 +27,6 @@ | |||
27 | 27 | ||
28 | /* macro to get at IO space when running virtually */ | 28 | /* macro to get at IO space when running virtually */ |
29 | #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000) | 29 | #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000) |
30 | #define __io_address(n) __io(IO_ADDRESS(n)) | ||
30 | 31 | ||
31 | #endif | 32 | #endif |
diff --git a/include/asm-arm/arch-realview/system.h b/include/asm-arm/arch-realview/system.h index 9f8fcbca0869..6f3d0ce0ca1e 100644 --- a/include/asm-arm/arch-realview/system.h +++ b/include/asm-arm/arch-realview/system.h | |||
@@ -36,7 +36,7 @@ static inline void arch_idle(void) | |||
36 | 36 | ||
37 | static inline void arch_reset(char mode) | 37 | static inline void arch_reset(char mode) |
38 | { | 38 | { |
39 | unsigned int hdr_ctrl = (IO_ADDRESS(REALVIEW_SYS_BASE) + REALVIEW_SYS_RESETCTL_OFFSET); | 39 | void __iomem *hdr_ctrl = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_RESETCTL_OFFSET; |
40 | unsigned int val; | 40 | unsigned int val; |
41 | 41 | ||
42 | /* | 42 | /* |
diff --git a/include/asm-arm/arch-rpc/system.h b/include/asm-arm/arch-rpc/system.h index ca3277d1d5ea..729c2ae4b513 100644 --- a/include/asm-arm/arch-rpc/system.h +++ b/include/asm-arm/arch-rpc/system.h | |||
@@ -7,7 +7,7 @@ | |||
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | */ | 9 | */ |
10 | #include <asm/arch/hardware.h> | 10 | #include <asm/hardware.h> |
11 | #include <asm/hardware/iomd.h> | 11 | #include <asm/hardware/iomd.h> |
12 | #include <asm/io.h> | 12 | #include <asm/io.h> |
13 | 13 | ||
diff --git a/include/asm-arm/arch-sa1100/memory.h b/include/asm-arm/arch-sa1100/memory.h index 0fc555b4c912..018a9f0e3986 100644 --- a/include/asm-arm/arch-sa1100/memory.h +++ b/include/asm-arm/arch-sa1100/memory.h | |||
@@ -18,20 +18,10 @@ | |||
18 | #ifndef __ASSEMBLY__ | 18 | #ifndef __ASSEMBLY__ |
19 | 19 | ||
20 | #ifdef CONFIG_SA1111 | 20 | #ifdef CONFIG_SA1111 |
21 | static inline void | 21 | void sa1111_adjust_zones(int node, unsigned long *size, unsigned long *holes); |
22 | __arch_adjust_zones(int node, unsigned long *size, unsigned long *holes) | ||
23 | { | ||
24 | unsigned int sz = SZ_1M >> PAGE_SHIFT; | ||
25 | |||
26 | if (node != 0) | ||
27 | sz = 0; | ||
28 | |||
29 | size[1] = size[0] - sz; | ||
30 | size[0] = sz; | ||
31 | } | ||
32 | 22 | ||
33 | #define arch_adjust_zones(node, size, holes) \ | 23 | #define arch_adjust_zones(node, size, holes) \ |
34 | __arch_adjust_zones(node, size, holes) | 24 | sa1111_adjust_zones(node, size, holes) |
35 | 25 | ||
36 | #define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_1M - 1) | 26 | #define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_1M - 1) |
37 | 27 | ||
diff --git a/include/asm-arm/atomic.h b/include/asm-arm/atomic.h index 75b802719723..d586f65c8228 100644 --- a/include/asm-arm/atomic.h +++ b/include/asm-arm/atomic.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #define __ASM_ARM_ATOMIC_H | 12 | #define __ASM_ARM_ATOMIC_H |
13 | 13 | ||
14 | #include <linux/config.h> | 14 | #include <linux/config.h> |
15 | #include <linux/compiler.h> | ||
15 | 16 | ||
16 | typedef struct { volatile int counter; } atomic_t; | 17 | typedef struct { volatile int counter; } atomic_t; |
17 | 18 | ||
@@ -82,11 +83,12 @@ static inline int atomic_sub_return(int i, atomic_t *v) | |||
82 | 83 | ||
83 | static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new) | 84 | static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new) |
84 | { | 85 | { |
85 | u32 oldval, res; | 86 | unsigned long oldval, res; |
86 | 87 | ||
87 | do { | 88 | do { |
88 | __asm__ __volatile__("@ atomic_cmpxchg\n" | 89 | __asm__ __volatile__("@ atomic_cmpxchg\n" |
89 | "ldrex %1, [%2]\n" | 90 | "ldrex %1, [%2]\n" |
91 | "mov %0, #0\n" | ||
90 | "teq %1, %3\n" | 92 | "teq %1, %3\n" |
91 | "strexeq %0, %4, [%2]\n" | 93 | "strexeq %0, %4, [%2]\n" |
92 | : "=&r" (res), "=&r" (oldval) | 94 | : "=&r" (res), "=&r" (oldval) |
diff --git a/include/asm-arm/bitops.h b/include/asm-arm/bitops.h index e007dd990da5..7399d431edfe 100644 --- a/include/asm-arm/bitops.h +++ b/include/asm-arm/bitops.h | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #ifdef __KERNEL__ | 20 | #ifdef __KERNEL__ |
21 | 21 | ||
22 | #include <linux/compiler.h> | ||
22 | #include <asm/system.h> | 23 | #include <asm/system.h> |
23 | 24 | ||
24 | #define smp_mb__before_clear_bit() mb() | 25 | #define smp_mb__before_clear_bit() mb() |
diff --git a/include/asm-arm/hardware/amba_serial.h b/include/asm-arm/hardware/amba_serial.h index 71770aa6389f..dc726ffccebd 100644 --- a/include/asm-arm/hardware/amba_serial.h +++ b/include/asm-arm/hardware/amba_serial.h | |||
@@ -50,6 +50,11 @@ | |||
50 | #define UART011_ICR 0x44 /* Interrupt clear register. */ | 50 | #define UART011_ICR 0x44 /* Interrupt clear register. */ |
51 | #define UART011_DMACR 0x48 /* DMA control register. */ | 51 | #define UART011_DMACR 0x48 /* DMA control register. */ |
52 | 52 | ||
53 | #define UART011_DR_OE (1 << 11) | ||
54 | #define UART011_DR_BE (1 << 10) | ||
55 | #define UART011_DR_PE (1 << 9) | ||
56 | #define UART011_DR_FE (1 << 8) | ||
57 | |||
53 | #define UART01x_RSR_OE 0x08 | 58 | #define UART01x_RSR_OE 0x08 |
54 | #define UART01x_RSR_BE 0x04 | 59 | #define UART01x_RSR_BE 0x04 |
55 | #define UART01x_RSR_PE 0x02 | 60 | #define UART01x_RSR_PE 0x02 |
diff --git a/include/asm-arm/hardware/dec21285.h b/include/asm-arm/hardware/dec21285.h index 9049f0ddaecf..6685e3fb97b1 100644 --- a/include/asm-arm/hardware/dec21285.h +++ b/include/asm-arm/hardware/dec21285.h | |||
@@ -20,7 +20,7 @@ | |||
20 | 20 | ||
21 | #include <linux/config.h> | 21 | #include <linux/config.h> |
22 | #ifndef __ASSEMBLY__ | 22 | #ifndef __ASSEMBLY__ |
23 | #include <asm/arch/hardware.h> | 23 | #include <asm/hardware.h> |
24 | #define DC21285_IO(x) ((volatile unsigned long *)(ARMCSR_BASE+(x))) | 24 | #define DC21285_IO(x) ((volatile unsigned long *)(ARMCSR_BASE+(x))) |
25 | #else | 25 | #else |
26 | #define DC21285_IO(x) (x) | 26 | #define DC21285_IO(x) (x) |
diff --git a/include/asm-arm/io.h b/include/asm-arm/io.h index 2e6799632f12..ae69db4a1010 100644 --- a/include/asm-arm/io.h +++ b/include/asm-arm/io.h | |||
@@ -55,6 +55,12 @@ extern void __raw_readsl(void __iomem *addr, void *data, int longlen); | |||
55 | #define __raw_readl(a) (__chk_io_ptr(a), *(volatile unsigned int __force *)(a)) | 55 | #define __raw_readl(a) (__chk_io_ptr(a), *(volatile unsigned int __force *)(a)) |
56 | 56 | ||
57 | /* | 57 | /* |
58 | * Architecture ioremap implementation. | ||
59 | */ | ||
60 | extern void __iomem * __ioremap(unsigned long, size_t, unsigned long); | ||
61 | extern void __iounmap(void __iomem *addr); | ||
62 | |||
63 | /* | ||
58 | * Bad read/write accesses... | 64 | * Bad read/write accesses... |
59 | */ | 65 | */ |
60 | extern void __readwrite_bug(const char *fn); | 66 | extern void __readwrite_bug(const char *fn); |
@@ -256,18 +262,15 @@ out: | |||
256 | * ioremap takes a PCI memory address, as specified in | 262 | * ioremap takes a PCI memory address, as specified in |
257 | * Documentation/IO-mapping.txt. | 263 | * Documentation/IO-mapping.txt. |
258 | */ | 264 | */ |
259 | extern void __iomem * __ioremap(unsigned long, size_t, unsigned long, unsigned long); | ||
260 | extern void __iounmap(void __iomem *addr); | ||
261 | |||
262 | #ifndef __arch_ioremap | 265 | #ifndef __arch_ioremap |
263 | #define ioremap(cookie,size) __ioremap(cookie,size,0,1) | 266 | #define ioremap(cookie,size) __ioremap(cookie,size,0) |
264 | #define ioremap_nocache(cookie,size) __ioremap(cookie,size,0,1) | 267 | #define ioremap_nocache(cookie,size) __ioremap(cookie,size,0) |
265 | #define ioremap_cached(cookie,size) __ioremap(cookie,size,L_PTE_CACHEABLE,1) | 268 | #define ioremap_cached(cookie,size) __ioremap(cookie,size,L_PTE_CACHEABLE) |
266 | #define iounmap(cookie) __iounmap(cookie) | 269 | #define iounmap(cookie) __iounmap(cookie) |
267 | #else | 270 | #else |
268 | #define ioremap(cookie,size) __arch_ioremap((cookie),(size),0,1) | 271 | #define ioremap(cookie,size) __arch_ioremap((cookie),(size),0) |
269 | #define ioremap_nocache(cookie,size) __arch_ioremap((cookie),(size),0,1) | 272 | #define ioremap_nocache(cookie,size) __arch_ioremap((cookie),(size),0) |
270 | #define ioremap_cached(cookie,size) __arch_ioremap((cookie),(size),L_PTE_CACHEABLE,1) | 273 | #define ioremap_cached(cookie,size) __arch_ioremap((cookie),(size),L_PTE_CACHEABLE) |
271 | #define iounmap(cookie) __arch_iounmap(cookie) | 274 | #define iounmap(cookie) __arch_iounmap(cookie) |
272 | #endif | 275 | #endif |
273 | 276 | ||
diff --git a/include/asm-arm/mmu_context.h b/include/asm-arm/mmu_context.h index 3d4b810d8c38..81c59facea3b 100644 --- a/include/asm-arm/mmu_context.h +++ b/include/asm-arm/mmu_context.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #ifndef __ASM_ARM_MMU_CONTEXT_H | 13 | #ifndef __ASM_ARM_MMU_CONTEXT_H |
14 | #define __ASM_ARM_MMU_CONTEXT_H | 14 | #define __ASM_ARM_MMU_CONTEXT_H |
15 | 15 | ||
16 | #include <linux/compiler.h> | ||
16 | #include <asm/cacheflush.h> | 17 | #include <asm/cacheflush.h> |
17 | #include <asm/proc-fns.h> | 18 | #include <asm/proc-fns.h> |
18 | 19 | ||
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h index 8efa4ebdcacb..5621d61ebc07 100644 --- a/include/asm-arm/system.h +++ b/include/asm-arm/system.h | |||
@@ -93,8 +93,6 @@ void hook_fault_code(int nr, int (*fn)(unsigned long, unsigned int, | |||
93 | struct pt_regs *), | 93 | struct pt_regs *), |
94 | int sig, const char *name); | 94 | int sig, const char *name); |
95 | 95 | ||
96 | #include <asm/proc-fns.h> | ||
97 | |||
98 | #define xchg(ptr,x) \ | 96 | #define xchg(ptr,x) \ |
99 | ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) | 97 | ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) |
100 | 98 | ||
@@ -102,6 +100,8 @@ void hook_fault_code(int nr, int (*fn)(unsigned long, unsigned int, | |||
102 | 100 | ||
103 | extern asmlinkage void __backtrace(void); | 101 | extern asmlinkage void __backtrace(void); |
104 | extern asmlinkage void c_backtrace(unsigned long fp, int pmode); | 102 | extern asmlinkage void c_backtrace(unsigned long fp, int pmode); |
103 | |||
104 | struct mm_struct; | ||
105 | extern void show_pte(struct mm_struct *mm, unsigned long addr); | 105 | extern void show_pte(struct mm_struct *mm, unsigned long addr); |
106 | extern void __show_regs(struct pt_regs *); | 106 | extern void __show_regs(struct pt_regs *); |
107 | 107 | ||
diff --git a/include/asm-arm/thread_info.h b/include/asm-arm/thread_info.h index 8252a4cd860f..7c98557b717f 100644 --- a/include/asm-arm/thread_info.h +++ b/include/asm-arm/thread_info.h | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #ifdef __KERNEL__ | 13 | #ifdef __KERNEL__ |
14 | 14 | ||
15 | #include <linux/compiler.h> | ||
15 | #include <asm/fpstate.h> | 16 | #include <asm/fpstate.h> |
16 | 17 | ||
17 | #define THREAD_SIZE_ORDER 1 | 18 | #define THREAD_SIZE_ORDER 1 |
diff --git a/include/asm-arm/uaccess.h b/include/asm-arm/uaccess.h index a2fdad0138b3..064f0f5e8e2b 100644 --- a/include/asm-arm/uaccess.h +++ b/include/asm-arm/uaccess.h | |||
@@ -100,7 +100,6 @@ static inline void set_fs (mm_segment_t fs) | |||
100 | extern int __get_user_1(void *); | 100 | extern int __get_user_1(void *); |
101 | extern int __get_user_2(void *); | 101 | extern int __get_user_2(void *); |
102 | extern int __get_user_4(void *); | 102 | extern int __get_user_4(void *); |
103 | extern int __get_user_8(void *); | ||
104 | extern int __get_user_bad(void); | 103 | extern int __get_user_bad(void); |
105 | 104 | ||
106 | #define __get_user_x(__r2,__p,__e,__s,__i...) \ | 105 | #define __get_user_x(__r2,__p,__e,__s,__i...) \ |
@@ -114,7 +113,7 @@ extern int __get_user_bad(void); | |||
114 | #define get_user(x,p) \ | 113 | #define get_user(x,p) \ |
115 | ({ \ | 114 | ({ \ |
116 | const register typeof(*(p)) __user *__p asm("r0") = (p);\ | 115 | const register typeof(*(p)) __user *__p asm("r0") = (p);\ |
117 | register typeof(*(p)) __r2 asm("r2"); \ | 116 | register unsigned int __r2 asm("r2"); \ |
118 | register int __e asm("r0"); \ | 117 | register int __e asm("r0"); \ |
119 | switch (sizeof(*(__p))) { \ | 118 | switch (sizeof(*(__p))) { \ |
120 | case 1: \ | 119 | case 1: \ |
@@ -126,12 +125,9 @@ extern int __get_user_bad(void); | |||
126 | case 4: \ | 125 | case 4: \ |
127 | __get_user_x(__r2, __p, __e, 4, "lr"); \ | 126 | __get_user_x(__r2, __p, __e, 4, "lr"); \ |
128 | break; \ | 127 | break; \ |
129 | case 8: \ | ||
130 | __get_user_x(__r2, __p, __e, 8, "lr"); \ | ||
131 | break; \ | ||
132 | default: __e = __get_user_bad(); break; \ | 128 | default: __e = __get_user_bad(); break; \ |
133 | } \ | 129 | } \ |
134 | x = __r2; \ | 130 | x = (typeof(*(p))) __r2; \ |
135 | __e; \ | 131 | __e; \ |
136 | }) | 132 | }) |
137 | 133 | ||
diff --git a/include/asm-i386/signal.h b/include/asm-i386/signal.h index cbb47d34aa31..76524b4052ac 100644 --- a/include/asm-i386/signal.h +++ b/include/asm-i386/signal.h | |||
@@ -159,14 +159,37 @@ typedef struct sigaltstack { | |||
159 | 159 | ||
160 | #define __HAVE_ARCH_SIG_BITOPS | 160 | #define __HAVE_ARCH_SIG_BITOPS |
161 | 161 | ||
162 | static __inline__ void sigaddset(sigset_t *set, int _sig) | 162 | #define sigaddset(set,sig) \ |
163 | (__builtin_constant_p(sig) ? \ | ||
164 | __const_sigaddset((set),(sig)) : \ | ||
165 | __gen_sigaddset((set),(sig))) | ||
166 | |||
167 | static __inline__ void __gen_sigaddset(sigset_t *set, int _sig) | ||
163 | { | 168 | { |
164 | __asm__("btsl %1,%0" : "=m"(*set) : "Ir"(_sig - 1) : "cc"); | 169 | __asm__("btsl %1,%0" : "+m"(*set) : "Ir"(_sig - 1) : "cc"); |
165 | } | 170 | } |
166 | 171 | ||
167 | static __inline__ void sigdelset(sigset_t *set, int _sig) | 172 | static __inline__ void __const_sigaddset(sigset_t *set, int _sig) |
168 | { | 173 | { |
169 | __asm__("btrl %1,%0" : "=m"(*set) : "Ir"(_sig - 1) : "cc"); | 174 | unsigned long sig = _sig - 1; |
175 | set->sig[sig / _NSIG_BPW] |= 1 << (sig % _NSIG_BPW); | ||
176 | } | ||
177 | |||
178 | #define sigdelset(set,sig) \ | ||
179 | (__builtin_constant_p(sig) ? \ | ||
180 | __const_sigdelset((set),(sig)) : \ | ||
181 | __gen_sigdelset((set),(sig))) | ||
182 | |||
183 | |||
184 | static __inline__ void __gen_sigdelset(sigset_t *set, int _sig) | ||
185 | { | ||
186 | __asm__("btrl %1,%0" : "+m"(*set) : "Ir"(_sig - 1) : "cc"); | ||
187 | } | ||
188 | |||
189 | static __inline__ void __const_sigdelset(sigset_t *set, int _sig) | ||
190 | { | ||
191 | unsigned long sig = _sig - 1; | ||
192 | set->sig[sig / _NSIG_BPW] &= ~(1 << (sig % _NSIG_BPW)); | ||
170 | } | 193 | } |
171 | 194 | ||
172 | static __inline__ int __const_sigismember(sigset_t *set, int _sig) | 195 | static __inline__ int __const_sigismember(sigset_t *set, int _sig) |
diff --git a/include/asm-mips/atomic.h b/include/asm-mips/atomic.h index 2c87b41e69ba..55c37c106ef0 100644 --- a/include/asm-mips/atomic.h +++ b/include/asm-mips/atomic.h | |||
@@ -231,11 +231,12 @@ static __inline__ int atomic_sub_return(int i, atomic_t * v) | |||
231 | } | 231 | } |
232 | 232 | ||
233 | /* | 233 | /* |
234 | * atomic_sub_if_positive - add integer to atomic variable | 234 | * atomic_sub_if_positive - conditionally subtract integer from atomic variable |
235 | * @i: integer value to subtract | ||
235 | * @v: pointer of type atomic_t | 236 | * @v: pointer of type atomic_t |
236 | * | 237 | * |
237 | * Atomically test @v and decrement if it is greater than 0. | 238 | * Atomically test @v and subtract @i if @v is greater or equal than @i. |
238 | * The function returns the old value of @v minus 1. | 239 | * The function returns the old value of @v minus @i. |
239 | */ | 240 | */ |
240 | static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) | 241 | static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) |
241 | { | 242 | { |
@@ -577,11 +578,12 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v) | |||
577 | } | 578 | } |
578 | 579 | ||
579 | /* | 580 | /* |
580 | * atomic64_sub_if_positive - add integer to atomic variable | 581 | * atomic64_sub_if_positive - conditionally subtract integer from atomic variable |
582 | * @i: integer value to subtract | ||
581 | * @v: pointer of type atomic64_t | 583 | * @v: pointer of type atomic64_t |
582 | * | 584 | * |
583 | * Atomically test @v and decrement if it is greater than 0. | 585 | * Atomically test @v and subtract @i if @v is greater or equal than @i. |
584 | * The function returns the old value of @v minus 1. | 586 | * The function returns the old value of @v minus @i. |
585 | */ | 587 | */ |
586 | static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v) | 588 | static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v) |
587 | { | 589 | { |
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h index 3061870b7f6c..d42685747e7d 100644 --- a/include/asm-mips/io.h +++ b/include/asm-mips/io.h | |||
@@ -459,10 +459,10 @@ __BUILDIO(q, u64) | |||
459 | 459 | ||
460 | #define __BUILD_MEMORY_STRING(bwlq, type) \ | 460 | #define __BUILD_MEMORY_STRING(bwlq, type) \ |
461 | \ | 461 | \ |
462 | static inline void writes##bwlq(volatile void __iomem *mem, void *addr, \ | 462 | static inline void writes##bwlq(volatile void __iomem *mem, \ |
463 | unsigned int count) \ | 463 | const void *addr, unsigned int count) \ |
464 | { \ | 464 | { \ |
465 | volatile type *__addr = addr; \ | 465 | const volatile type *__addr = addr; \ |
466 | \ | 466 | \ |
467 | while (count--) { \ | 467 | while (count--) { \ |
468 | mem_write##bwlq(*__addr, mem); \ | 468 | mem_write##bwlq(*__addr, mem); \ |
diff --git a/include/asm-mips/ip32/crime.h b/include/asm-mips/ip32/crime.h index 152879bae20f..a13702fafa85 100644 --- a/include/asm-mips/ip32/crime.h +++ b/include/asm-mips/ip32/crime.h | |||
@@ -154,7 +154,7 @@ struct sgi_crime { | |||
154 | #define CRIME_MEM_ERROR_ECC_REPL_MASK 0xffffffff | 154 | #define CRIME_MEM_ERROR_ECC_REPL_MASK 0xffffffff |
155 | }; | 155 | }; |
156 | 156 | ||
157 | extern struct sgi_crime *crime; | 157 | extern struct sgi_crime __iomem *crime; |
158 | 158 | ||
159 | #define CRIME_HI_MEM_BASE 0x40000000 /* this is where whole 1G of RAM is mapped */ | 159 | #define CRIME_HI_MEM_BASE 0x40000000 /* this is where whole 1G of RAM is mapped */ |
160 | 160 | ||
diff --git a/include/asm-mips/ip32/mace.h b/include/asm-mips/ip32/mace.h index 5bdc51d85b6c..990082c81f39 100644 --- a/include/asm-mips/ip32/mace.h +++ b/include/asm-mips/ip32/mace.h | |||
@@ -150,24 +150,34 @@ struct mace_audio { | |||
150 | 150 | ||
151 | /* register definitions for parallel port DMA */ | 151 | /* register definitions for parallel port DMA */ |
152 | struct mace_parport { | 152 | struct mace_parport { |
153 | /* 0 - do nothing, 1 - pulse terminal count to the device after buffer is drained */ | 153 | /* 0 - do nothing, |
154 | #define MACEPAR_CONTEXT_LASTFLAG BIT(63) | 154 | * 1 - pulse terminal count to the device after buffer is drained */ |
155 | /* Should not cross 4K page boundary */ | 155 | #define MACEPAR_CONTEXT_LASTFLAG BIT(63) |
156 | #define MACEPAR_CONTEXT_DATALEN_MASK 0xfff00000000 | 156 | /* Should not cross 4K page boundary */ |
157 | /* Can be arbitrarily aligned on any byte boundary on output, 64 byte aligned on input */ | 157 | #define MACEPAR_CONTEXT_DATA_BOUND 0x0000000000001000UL |
158 | #define MACEPAR_CONTEXT_BASEADDR_MASK 0xffffffff | 158 | #define MACEPAR_CONTEXT_DATALEN_MASK 0x00000fff00000000UL |
159 | #define MACEPAR_CONTEXT_DATALEN_SHIFT 32 | ||
160 | /* Can be arbitrarily aligned on any byte boundary on output, | ||
161 | * 64 byte aligned on input */ | ||
162 | #define MACEPAR_CONTEXT_BASEADDR_MASK 0x00000000ffffffffUL | ||
159 | volatile u64 context_a; | 163 | volatile u64 context_a; |
160 | volatile u64 context_b; | 164 | volatile u64 context_b; |
161 | #define MACEPAR_CTLSTAT_DIRECTION BIT(0) /* 0 - mem->device, 1 - device->mem */ | 165 | /* 0 - mem->device, 1 - device->mem */ |
162 | #define MACEPAR_CTLSTAT_ENABLE BIT(1) /* 0 - channel frozen, 1 - channel enabled */ | 166 | #define MACEPAR_CTLSTAT_DIRECTION BIT(0) |
163 | #define MACEPAR_CTLSTAT_RESET BIT(2) /* 0 - channel active, 1 - complete channel reset */ | 167 | /* 0 - channel frozen, 1 - channel enabled */ |
164 | #define MACEPAR_CTLSTAT_CTXB_VALID BIT(3) | 168 | #define MACEPAR_CTLSTAT_ENABLE BIT(1) |
165 | #define MACEPAR_CTLSTAT_CTXA_VALID BIT(4) | 169 | /* 0 - channel active, 1 - complete channel reset */ |
166 | volatile u64 cntlstat; /* Control/Status register */ | 170 | #define MACEPAR_CTLSTAT_RESET BIT(2) |
167 | #define MACEPAR_DIAG_CTXINUSE BIT(1) | 171 | #define MACEPAR_CTLSTAT_CTXB_VALID BIT(3) |
168 | #define MACEPAR_DIAG_DMACTIVE BIT(2) /* 1 - Dma engine is enabled and processing something */ | 172 | #define MACEPAR_CTLSTAT_CTXA_VALID BIT(4) |
169 | #define MACEPAR_DIAG_CTRMASK 0x3ffc /* Counter of bytes left */ | 173 | volatile u64 cntlstat; /* Control/Status register */ |
170 | volatile u64 diagnostic; /* RO: diagnostic register */ | 174 | #define MACEPAR_DIAG_CTXINUSE BIT(0) |
175 | /* 1 - Dma engine is enabled and processing something */ | ||
176 | #define MACEPAR_DIAG_DMACTIVE BIT(1) | ||
177 | /* Counter of bytes left */ | ||
178 | #define MACEPAR_DIAG_CTRMASK 0x0000000000003ffcUL | ||
179 | #define MACEPAR_DIAG_CTRSHIFT 2 | ||
180 | volatile u64 diagnostic; /* RO: diagnostic register */ | ||
171 | }; | 181 | }; |
172 | 182 | ||
173 | /* ISA Control and DMA registers */ | 183 | /* ISA Control and DMA registers */ |
@@ -353,6 +363,6 @@ struct sgi_mace { | |||
353 | char _pad6[0x80000 - sizeof(struct mace_isa)]; | 363 | char _pad6[0x80000 - sizeof(struct mace_isa)]; |
354 | }; | 364 | }; |
355 | 365 | ||
356 | extern struct sgi_mace *mace; | 366 | extern struct sgi_mace __iomem *mace; |
357 | 367 | ||
358 | #endif /* __ASM_MACE_H__ */ | 368 | #endif /* __ASM_MACE_H__ */ |
diff --git a/include/asm-mips/mach-db1x00/db1200.h b/include/asm-mips/mach-db1x00/db1200.h index 5d894376fc1a..647fdb54cc1d 100644 --- a/include/asm-mips/mach-db1x00/db1200.h +++ b/include/asm-mips/mach-db1x00/db1200.h | |||
@@ -220,5 +220,8 @@ static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR; | |||
220 | #define BOARD_PC1_INT DB1200_PC1_INT | 220 | #define BOARD_PC1_INT DB1200_PC1_INT |
221 | #define BOARD_CARD_INSERTED(SOCKET) bcsr->sig_status & (1<<(8+(2*SOCKET))) | 221 | #define BOARD_CARD_INSERTED(SOCKET) bcsr->sig_status & (1<<(8+(2*SOCKET))) |
222 | 222 | ||
223 | /* Nand chip select */ | ||
224 | #define NAND_CS 1 | ||
225 | |||
223 | #endif /* __ASM_DB1200_H */ | 226 | #endif /* __ASM_DB1200_H */ |
224 | 227 | ||
diff --git a/include/asm-mips/mach-db1x00/db1x00.h b/include/asm-mips/mach-db1x00/db1x00.h index efafe65258b6..7b28b23f91ce 100644 --- a/include/asm-mips/mach-db1x00/db1x00.h +++ b/include/asm-mips/mach-db1x00/db1x00.h | |||
@@ -200,6 +200,12 @@ typedef volatile struct | |||
200 | ((NAND_T_PUL & 0xF) << NAND_T_PUL_SHIFT) | \ | 200 | ((NAND_T_PUL & 0xF) << NAND_T_PUL_SHIFT) | \ |
201 | ((NAND_T_SU & 0xF) << NAND_T_SU_SHIFT) | \ | 201 | ((NAND_T_SU & 0xF) << NAND_T_SU_SHIFT) | \ |
202 | ((NAND_T_WH & 0xF) << NAND_T_WH_SHIFT) | 202 | ((NAND_T_WH & 0xF) << NAND_T_WH_SHIFT) |
203 | #define NAND_CS 1 | ||
204 | |||
205 | /* should be done by yamon */ | ||
206 | #define NAND_STCFG 0x00400005 /* 8-bit NAND */ | ||
207 | #define NAND_STTIME 0x00007774 /* valid for 396MHz SD=2 only */ | ||
208 | #define NAND_STADDR 0x12000FFF /* physical address 0x20000000 */ | ||
203 | 209 | ||
204 | #endif /* __ASM_DB1X00_H */ | 210 | #endif /* __ASM_DB1X00_H */ |
205 | 211 | ||
diff --git a/include/asm-mips/mach-ip32/mc146818rtc.h b/include/asm-mips/mach-ip32/mc146818rtc.h index f5d780ff843f..c28ba8d84076 100644 --- a/include/asm-mips/mach-ip32/mc146818rtc.h +++ b/include/asm-mips/mach-ip32/mc146818rtc.h | |||
@@ -11,7 +11,6 @@ | |||
11 | #ifndef __ASM_MACH_IP32_MC146818RTC_H | 11 | #ifndef __ASM_MACH_IP32_MC146818RTC_H |
12 | #define __ASM_MACH_IP32_MC146818RTC_H | 12 | #define __ASM_MACH_IP32_MC146818RTC_H |
13 | 13 | ||
14 | #include <asm/io.h> | ||
15 | #include <asm/ip32/mace.h> | 14 | #include <asm/ip32/mace.h> |
16 | 15 | ||
17 | #define RTC_PORT(x) (0x70 + (x)) | 16 | #define RTC_PORT(x) (0x70 + (x)) |
@@ -26,8 +25,10 @@ static inline void CMOS_WRITE(unsigned char data, unsigned long addr) | |||
26 | mace->isa.rtc[addr << 8] = data; | 25 | mace->isa.rtc[addr << 8] = data; |
27 | } | 26 | } |
28 | 27 | ||
29 | /* FIXME: Do it right. For now just assume that noone lives in 20th century | 28 | /* |
30 | * and no O2 user in 22th century ;-) */ | 29 | * FIXME: Do it right. For now just assume that noone lives in 20th century |
30 | * and no O2 user in 22th century ;-) | ||
31 | */ | ||
31 | #define mc146818_decode_year(year) ((year) + 2000) | 32 | #define mc146818_decode_year(year) ((year) + 2000) |
32 | 33 | ||
33 | #define RTC_ALWAYS_BCD 0 | 34 | #define RTC_ALWAYS_BCD 0 |
diff --git a/include/asm-mips/mach-jmr3927/asm/ds1742.h b/include/asm-mips/mach-jmr3927/ds1742.h index 134a4b6c334a..cff6192d4bdb 100644 --- a/include/asm-mips/mach-jmr3927/asm/ds1742.h +++ b/include/asm-mips/mach-jmr3927/ds1742.h | |||
@@ -5,12 +5,12 @@ | |||
5 | * | 5 | * |
6 | * Copyright (C) 2003 by Ralf Baechle | 6 | * Copyright (C) 2003 by Ralf Baechle |
7 | */ | 7 | */ |
8 | #ifndef __ASM_MACH_JMR3927_ASM_DS1742_H | 8 | #ifndef __ASM_MACH_JMR3927_DS1742_H |
9 | #define __ASM_MACH_JMR3927_ASM_DS1742_H | 9 | #define __ASM_MACH_JMR3927_DS1742_H |
10 | 10 | ||
11 | #include <asm/jmr3927/jmr3927.h> | 11 | #include <asm/jmr3927/jmr3927.h> |
12 | 12 | ||
13 | #define rtc_read(reg) (jmr3927_nvram_in(addr)) | 13 | #define rtc_read(reg) (jmr3927_nvram_in(addr)) |
14 | #define rtc_write(data, reg) (jmr3927_nvram_out((data),(reg))) | 14 | #define rtc_write(data, reg) (jmr3927_nvram_out((data),(reg))) |
15 | 15 | ||
16 | #endif /* __ASM_MACH_JMR3927_ASM_DS1742_H */ | 16 | #endif /* __ASM_MACH_JMR3927_DS1742_H */ |
diff --git a/include/asm-mips/mach-pb1x00/pb1200.h b/include/asm-mips/mach-pb1x00/pb1200.h index 9a3088b19bf3..409d443322c1 100644 --- a/include/asm-mips/mach-pb1x00/pb1200.h +++ b/include/asm-mips/mach-pb1x00/pb1200.h | |||
@@ -248,5 +248,8 @@ static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR; | |||
248 | #define BOARD_PC1_INT PB1200_PC1_INT | 248 | #define BOARD_PC1_INT PB1200_PC1_INT |
249 | #define BOARD_CARD_INSERTED(SOCKET) bcsr->sig_status & (1<<(8+(2*SOCKET))) | 249 | #define BOARD_CARD_INSERTED(SOCKET) bcsr->sig_status & (1<<(8+(2*SOCKET))) |
250 | 250 | ||
251 | /* Nand chip select */ | ||
252 | #define NAND_CS 1 | ||
253 | |||
251 | #endif /* __ASM_PB1200_H */ | 254 | #endif /* __ASM_PB1200_H */ |
252 | 255 | ||
diff --git a/include/asm-mips/mach-pb1x00/pb1550.h b/include/asm-mips/mach-pb1x00/pb1550.h index 431d6088ea96..9578ead11e8a 100644 --- a/include/asm-mips/mach-pb1x00/pb1550.h +++ b/include/asm-mips/mach-pb1x00/pb1550.h | |||
@@ -166,4 +166,11 @@ static BCSR * const bcsr = (BCSR *)BCSR_PHYS_ADDR; | |||
166 | ((NAND_T_SU & 0xF) << NAND_T_SU_SHIFT) | \ | 166 | ((NAND_T_SU & 0xF) << NAND_T_SU_SHIFT) | \ |
167 | ((NAND_T_WH & 0xF) << NAND_T_WH_SHIFT) | 167 | ((NAND_T_WH & 0xF) << NAND_T_WH_SHIFT) |
168 | 168 | ||
169 | #define NAND_CS 1 | ||
170 | |||
171 | /* should be done by yamon */ | ||
172 | #define NAND_STCFG 0x00400005 /* 8-bit NAND */ | ||
173 | #define NAND_STTIME 0x00007774 /* valid for 396MHz SD=2 only */ | ||
174 | #define NAND_STADDR 0x12000FFF /* physical address 0x20000000 */ | ||
175 | |||
169 | #endif /* __ASM_PB1550_H */ | 176 | #endif /* __ASM_PB1550_H */ |
diff --git a/include/asm-mips/mips-boards/seadint.h b/include/asm-mips/mips-boards/seadint.h index c3dcfcb928b6..365c2a3c64f5 100644 --- a/include/asm-mips/mips-boards/seadint.h +++ b/include/asm-mips/mips-boards/seadint.h | |||
@@ -20,9 +20,14 @@ | |||
20 | #ifndef _MIPS_SEADINT_H | 20 | #ifndef _MIPS_SEADINT_H |
21 | #define _MIPS_SEADINT_H | 21 | #define _MIPS_SEADINT_H |
22 | 22 | ||
23 | #define SEADINT_UART0 2 | 23 | /* |
24 | #define SEADINT_UART1 3 | 24 | * Interrupts 0..7 are used for SEAD CPU interrupts |
25 | */ | ||
26 | #define MIPSCPU_INT_BASE 0 | ||
27 | |||
28 | #define MIPSCPU_INT_UART0 2 | ||
29 | #define MIPSCPU_INT_UART1 3 | ||
25 | 30 | ||
26 | extern void seadint_init(void); | 31 | #define MIPSCPU_INT_CPUCTR 7 |
27 | 32 | ||
28 | #endif /* !(_MIPS_SEADINT_H) */ | 33 | #endif /* !(_MIPS_SEADINT_H) */ |
diff --git a/include/asm-mips/signal.h b/include/asm-mips/signal.h index 8ca539e80d87..6fe903e09c62 100644 --- a/include/asm-mips/signal.h +++ b/include/asm-mips/signal.h | |||
@@ -155,27 +155,6 @@ typedef struct sigaltstack { | |||
155 | #ifdef __KERNEL__ | 155 | #ifdef __KERNEL__ |
156 | #include <asm/sigcontext.h> | 156 | #include <asm/sigcontext.h> |
157 | 157 | ||
158 | /* | ||
159 | * The following break codes are or were in use for specific purposes in | ||
160 | * other MIPS operating systems. Linux/MIPS doesn't use all of them. The | ||
161 | * unused ones are here as placeholders; we might encounter them in | ||
162 | * non-Linux/MIPS object files or make use of them in the future. | ||
163 | */ | ||
164 | #define BRK_USERBP 0 /* User bp (used by debuggers) */ | ||
165 | #define BRK_KERNELBP 1 /* Break in the kernel */ | ||
166 | #define BRK_ABORT 2 /* Sometimes used by abort(3) to SIGIOT */ | ||
167 | #define BRK_BD_TAKEN 3 /* For bd slot emulation - not implemented */ | ||
168 | #define BRK_BD_NOTTAKEN 4 /* For bd slot emulation - not implemented */ | ||
169 | #define BRK_SSTEPBP 5 /* User bp (used by debuggers) */ | ||
170 | #define BRK_OVERFLOW 6 /* Overflow check */ | ||
171 | #define BRK_DIVZERO 7 /* Divide by zero check */ | ||
172 | #define BRK_RANGE 8 /* Range error check */ | ||
173 | #define BRK_STACKOVERFLOW 9 /* For Ada stackchecking */ | ||
174 | #define BRK_NORLD 10 /* No rld found - not used by Linux/MIPS */ | ||
175 | #define _BRK_THREADBP 11 /* For threads, user bp (used by debuggers) */ | ||
176 | #define BRK_MULOVF 1023 /* Multiply overflow */ | ||
177 | #define BRK_BUG 512 /* Used by BUG() */ | ||
178 | |||
179 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) | 158 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) |
180 | 159 | ||
181 | #endif /* __KERNEL__ */ | 160 | #endif /* __KERNEL__ */ |
diff --git a/include/asm-parisc/irq.h b/include/asm-parisc/irq.h index f876bdf22056..b0a30e2c9813 100644 --- a/include/asm-parisc/irq.h +++ b/include/asm-parisc/irq.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #define _ASM_PARISC_IRQ_H | 8 | #define _ASM_PARISC_IRQ_H |
9 | 9 | ||
10 | #include <linux/config.h> | 10 | #include <linux/config.h> |
11 | #include <linux/cpumask.h> | ||
11 | #include <asm/types.h> | 12 | #include <asm/types.h> |
12 | 13 | ||
13 | #define NO_IRQ (-1) | 14 | #define NO_IRQ (-1) |
@@ -49,10 +50,10 @@ extern int txn_alloc_irq(unsigned int nbits); | |||
49 | extern int txn_claim_irq(int); | 50 | extern int txn_claim_irq(int); |
50 | extern unsigned int txn_alloc_data(unsigned int); | 51 | extern unsigned int txn_alloc_data(unsigned int); |
51 | extern unsigned long txn_alloc_addr(unsigned int); | 52 | extern unsigned long txn_alloc_addr(unsigned int); |
53 | extern unsigned long txn_affinity_addr(unsigned int irq, int cpu); | ||
52 | 54 | ||
53 | extern int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *, void *); | 55 | extern int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *, void *); |
54 | 56 | extern int cpu_check_affinity(unsigned int irq, cpumask_t *dest); | |
55 | extern int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *, void *); | ||
56 | 57 | ||
57 | /* soft power switch support (power.c) */ | 58 | /* soft power switch support (power.c) */ |
58 | extern struct tasklet_struct power_tasklet; | 59 | extern struct tasklet_struct power_tasklet; |
diff --git a/include/asm-parisc/smp.h b/include/asm-parisc/smp.h index 9413f67a540b..dbdbd2e9fdf9 100644 --- a/include/asm-parisc/smp.h +++ b/include/asm-parisc/smp.h | |||
@@ -29,6 +29,7 @@ extern cpumask_t cpu_online_map; | |||
29 | #define cpu_logical_map(cpu) (cpu) | 29 | #define cpu_logical_map(cpu) (cpu) |
30 | 30 | ||
31 | extern void smp_send_reschedule(int cpu); | 31 | extern void smp_send_reschedule(int cpu); |
32 | extern void smp_send_all_nop(void); | ||
32 | 33 | ||
33 | #endif /* !ASSEMBLY */ | 34 | #endif /* !ASSEMBLY */ |
34 | 35 | ||
@@ -53,7 +54,11 @@ extern unsigned long cpu_present_mask; | |||
53 | 54 | ||
54 | #define raw_smp_processor_id() (current_thread_info()->cpu) | 55 | #define raw_smp_processor_id() (current_thread_info()->cpu) |
55 | 56 | ||
56 | #endif /* CONFIG_SMP */ | 57 | #else /* CONFIG_SMP */ |
58 | |||
59 | static inline void smp_send_all_nop(void) { return; } | ||
60 | |||
61 | #endif | ||
57 | 62 | ||
58 | #define NO_PROC_ID 0xFF /* No processor magic marker */ | 63 | #define NO_PROC_ID 0xFF /* No processor magic marker */ |
59 | #define ANY_PROC_ID 0xFF /* Any processor magic marker */ | 64 | #define ANY_PROC_ID 0xFF /* Any processor magic marker */ |
diff --git a/include/asm-parisc/spinlock.h b/include/asm-parisc/spinlock.h index 7c3f406a746a..16c2ac075fc5 100644 --- a/include/asm-parisc/spinlock.h +++ b/include/asm-parisc/spinlock.h | |||
@@ -11,18 +11,25 @@ static inline int __raw_spin_is_locked(raw_spinlock_t *x) | |||
11 | return *a == 0; | 11 | return *a == 0; |
12 | } | 12 | } |
13 | 13 | ||
14 | #define __raw_spin_lock_flags(lock, flags) __raw_spin_lock(lock) | 14 | #define __raw_spin_lock(lock) __raw_spin_lock_flags(lock, 0) |
15 | #define __raw_spin_unlock_wait(x) \ | 15 | #define __raw_spin_unlock_wait(x) \ |
16 | do { cpu_relax(); } while (__raw_spin_is_locked(x)) | 16 | do { cpu_relax(); } while (__raw_spin_is_locked(x)) |
17 | 17 | ||
18 | static inline void __raw_spin_lock(raw_spinlock_t *x) | 18 | static inline void __raw_spin_lock_flags(raw_spinlock_t *x, |
19 | unsigned long flags) | ||
19 | { | 20 | { |
20 | volatile unsigned int *a; | 21 | volatile unsigned int *a; |
21 | 22 | ||
22 | mb(); | 23 | mb(); |
23 | a = __ldcw_align(x); | 24 | a = __ldcw_align(x); |
24 | while (__ldcw(a) == 0) | 25 | while (__ldcw(a) == 0) |
25 | while (*a == 0); | 26 | while (*a == 0) |
27 | if (flags & PSW_SM_I) { | ||
28 | local_irq_enable(); | ||
29 | cpu_relax(); | ||
30 | local_irq_disable(); | ||
31 | } else | ||
32 | cpu_relax(); | ||
26 | mb(); | 33 | mb(); |
27 | } | 34 | } |
28 | 35 | ||
@@ -60,26 +67,20 @@ static inline int __raw_spin_trylock(raw_spinlock_t *x) | |||
60 | 67 | ||
61 | static __inline__ void __raw_read_lock(raw_rwlock_t *rw) | 68 | static __inline__ void __raw_read_lock(raw_rwlock_t *rw) |
62 | { | 69 | { |
63 | unsigned long flags; | ||
64 | local_irq_save(flags); | ||
65 | __raw_spin_lock(&rw->lock); | 70 | __raw_spin_lock(&rw->lock); |
66 | 71 | ||
67 | rw->counter++; | 72 | rw->counter++; |
68 | 73 | ||
69 | __raw_spin_unlock(&rw->lock); | 74 | __raw_spin_unlock(&rw->lock); |
70 | local_irq_restore(flags); | ||
71 | } | 75 | } |
72 | 76 | ||
73 | static __inline__ void __raw_read_unlock(raw_rwlock_t *rw) | 77 | static __inline__ void __raw_read_unlock(raw_rwlock_t *rw) |
74 | { | 78 | { |
75 | unsigned long flags; | ||
76 | local_irq_save(flags); | ||
77 | __raw_spin_lock(&rw->lock); | 79 | __raw_spin_lock(&rw->lock); |
78 | 80 | ||
79 | rw->counter--; | 81 | rw->counter--; |
80 | 82 | ||
81 | __raw_spin_unlock(&rw->lock); | 83 | __raw_spin_unlock(&rw->lock); |
82 | local_irq_restore(flags); | ||
83 | } | 84 | } |
84 | 85 | ||
85 | /* write_lock is less trivial. We optimistically grab the lock and check | 86 | /* write_lock is less trivial. We optimistically grab the lock and check |
diff --git a/include/asm-parisc/tlbflush.h b/include/asm-parisc/tlbflush.h index e97aa8d1eff5..c9ec39c6fc6c 100644 --- a/include/asm-parisc/tlbflush.h +++ b/include/asm-parisc/tlbflush.h | |||
@@ -12,21 +12,15 @@ | |||
12 | * N class systems, only one PxTLB inter processor broadcast can be | 12 | * N class systems, only one PxTLB inter processor broadcast can be |
13 | * active at any one time on the Merced bus. This tlb purge | 13 | * active at any one time on the Merced bus. This tlb purge |
14 | * synchronisation is fairly lightweight and harmless so we activate | 14 | * synchronisation is fairly lightweight and harmless so we activate |
15 | * it on all SMP systems not just the N class. */ | 15 | * it on all SMP systems not just the N class. We also need to have |
16 | #ifdef CONFIG_SMP | 16 | * preemption disabled on uniprocessor machines, and spin_lock does that |
17 | * nicely. | ||
18 | */ | ||
17 | extern spinlock_t pa_tlb_lock; | 19 | extern spinlock_t pa_tlb_lock; |
18 | 20 | ||
19 | #define purge_tlb_start(x) spin_lock(&pa_tlb_lock) | 21 | #define purge_tlb_start(x) spin_lock(&pa_tlb_lock) |
20 | #define purge_tlb_end(x) spin_unlock(&pa_tlb_lock) | 22 | #define purge_tlb_end(x) spin_unlock(&pa_tlb_lock) |
21 | 23 | ||
22 | #else | ||
23 | |||
24 | #define purge_tlb_start(x) do { } while(0) | ||
25 | #define purge_tlb_end(x) do { } while (0) | ||
26 | |||
27 | #endif | ||
28 | |||
29 | |||
30 | extern void flush_tlb_all(void); | 24 | extern void flush_tlb_all(void); |
31 | 25 | ||
32 | /* | 26 | /* |
@@ -88,7 +82,6 @@ static inline void flush_tlb_range(struct vm_area_struct *vma, | |||
88 | if (npages >= 512) /* 2MB of space: arbitrary, should be tuned */ | 82 | if (npages >= 512) /* 2MB of space: arbitrary, should be tuned */ |
89 | flush_tlb_all(); | 83 | flush_tlb_all(); |
90 | else { | 84 | else { |
91 | preempt_disable(); | ||
92 | mtsp(vma->vm_mm->context,1); | 85 | mtsp(vma->vm_mm->context,1); |
93 | purge_tlb_start(); | 86 | purge_tlb_start(); |
94 | if (split_tlb) { | 87 | if (split_tlb) { |
@@ -102,7 +95,6 @@ static inline void flush_tlb_range(struct vm_area_struct *vma, | |||
102 | pdtlb(start); | 95 | pdtlb(start); |
103 | start += PAGE_SIZE; | 96 | start += PAGE_SIZE; |
104 | } | 97 | } |
105 | preempt_enable(); | ||
106 | } | 98 | } |
107 | purge_tlb_end(); | 99 | purge_tlb_end(); |
108 | } | 100 | } |
diff --git a/include/asm-powerpc/cputable.h b/include/asm-powerpc/cputable.h index 04e2726002cf..d1cfa3f515ea 100644 --- a/include/asm-powerpc/cputable.h +++ b/include/asm-powerpc/cputable.h | |||
@@ -90,6 +90,7 @@ extern void do_cpu_ftr_fixups(unsigned long offset); | |||
90 | #define CPU_FTR_NEED_COHERENT ASM_CONST(0x0000000000020000) | 90 | #define CPU_FTR_NEED_COHERENT ASM_CONST(0x0000000000020000) |
91 | #define CPU_FTR_NO_BTIC ASM_CONST(0x0000000000040000) | 91 | #define CPU_FTR_NO_BTIC ASM_CONST(0x0000000000040000) |
92 | #define CPU_FTR_BIG_PHYS ASM_CONST(0x0000000000080000) | 92 | #define CPU_FTR_BIG_PHYS ASM_CONST(0x0000000000080000) |
93 | #define CPU_FTR_NODSISRALIGN ASM_CONST(0x0000000000100000) | ||
93 | 94 | ||
94 | #ifdef __powerpc64__ | 95 | #ifdef __powerpc64__ |
95 | /* Add the 64b processor unique features in the top half of the word */ | 96 | /* Add the 64b processor unique features in the top half of the word */ |
@@ -97,7 +98,6 @@ extern void do_cpu_ftr_fixups(unsigned long offset); | |||
97 | #define CPU_FTR_16M_PAGE ASM_CONST(0x0000000200000000) | 98 | #define CPU_FTR_16M_PAGE ASM_CONST(0x0000000200000000) |
98 | #define CPU_FTR_TLBIEL ASM_CONST(0x0000000400000000) | 99 | #define CPU_FTR_TLBIEL ASM_CONST(0x0000000400000000) |
99 | #define CPU_FTR_NOEXECUTE ASM_CONST(0x0000000800000000) | 100 | #define CPU_FTR_NOEXECUTE ASM_CONST(0x0000000800000000) |
100 | #define CPU_FTR_NODSISRALIGN ASM_CONST(0x0000001000000000) | ||
101 | #define CPU_FTR_IABR ASM_CONST(0x0000002000000000) | 101 | #define CPU_FTR_IABR ASM_CONST(0x0000002000000000) |
102 | #define CPU_FTR_MMCRA ASM_CONST(0x0000004000000000) | 102 | #define CPU_FTR_MMCRA ASM_CONST(0x0000004000000000) |
103 | #define CPU_FTR_CTRL ASM_CONST(0x0000008000000000) | 103 | #define CPU_FTR_CTRL ASM_CONST(0x0000008000000000) |
@@ -113,7 +113,6 @@ extern void do_cpu_ftr_fixups(unsigned long offset); | |||
113 | #define CPU_FTR_16M_PAGE ASM_CONST(0x0) | 113 | #define CPU_FTR_16M_PAGE ASM_CONST(0x0) |
114 | #define CPU_FTR_TLBIEL ASM_CONST(0x0) | 114 | #define CPU_FTR_TLBIEL ASM_CONST(0x0) |
115 | #define CPU_FTR_NOEXECUTE ASM_CONST(0x0) | 115 | #define CPU_FTR_NOEXECUTE ASM_CONST(0x0) |
116 | #define CPU_FTR_NODSISRALIGN ASM_CONST(0x0) | ||
117 | #define CPU_FTR_IABR ASM_CONST(0x0) | 116 | #define CPU_FTR_IABR ASM_CONST(0x0) |
118 | #define CPU_FTR_MMCRA ASM_CONST(0x0) | 117 | #define CPU_FTR_MMCRA ASM_CONST(0x0) |
119 | #define CPU_FTR_CTRL ASM_CONST(0x0) | 118 | #define CPU_FTR_CTRL ASM_CONST(0x0) |
@@ -273,18 +272,21 @@ enum { | |||
273 | CPU_FTRS_POWER3_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | | 272 | CPU_FTRS_POWER3_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | |
274 | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE, | 273 | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE, |
275 | CPU_FTRS_POWER4_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | | 274 | CPU_FTRS_POWER4_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | |
276 | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE, | 275 | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE | CPU_FTR_NODSISRALIGN, |
277 | CPU_FTRS_970_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | | 276 | CPU_FTRS_970_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | |
278 | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE | CPU_FTR_ALTIVEC_COMP | | 277 | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE | CPU_FTR_ALTIVEC_COMP | |
279 | CPU_FTR_MAYBE_CAN_NAP, | 278 | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN, |
280 | CPU_FTRS_8XX = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, | 279 | CPU_FTRS_8XX = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, |
281 | CPU_FTRS_40X = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, | 280 | CPU_FTRS_40X = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | |
282 | CPU_FTRS_44X = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, | 281 | CPU_FTR_NODSISRALIGN, |
283 | CPU_FTRS_E200 = CPU_FTR_USE_TB, | 282 | CPU_FTRS_44X = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | |
284 | CPU_FTRS_E500 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, | 283 | CPU_FTR_NODSISRALIGN, |
284 | CPU_FTRS_E200 = CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN, | ||
285 | CPU_FTRS_E500 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | | ||
286 | CPU_FTR_NODSISRALIGN, | ||
285 | CPU_FTRS_E500_2 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | | 287 | CPU_FTRS_E500_2 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | |
286 | CPU_FTR_BIG_PHYS, | 288 | CPU_FTR_BIG_PHYS | CPU_FTR_NODSISRALIGN, |
287 | CPU_FTRS_GENERIC_32 = CPU_FTR_COMMON, | 289 | CPU_FTRS_GENERIC_32 = CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN, |
288 | #ifdef __powerpc64__ | 290 | #ifdef __powerpc64__ |
289 | CPU_FTRS_POWER3 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | | 291 | CPU_FTRS_POWER3 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | |
290 | CPU_FTR_HPTE_TABLE | CPU_FTR_IABR, | 292 | CPU_FTR_HPTE_TABLE | CPU_FTR_IABR, |
diff --git a/include/asm-powerpc/delay.h b/include/asm-powerpc/delay.h index 1492aa9ab716..54fe1f4f8fd0 100644 --- a/include/asm-powerpc/delay.h +++ b/include/asm-powerpc/delay.h | |||
@@ -13,43 +13,7 @@ | |||
13 | * Anton Blanchard. | 13 | * Anton Blanchard. |
14 | */ | 14 | */ |
15 | 15 | ||
16 | extern unsigned long tb_ticks_per_usec; | 16 | extern void __delay(unsigned long loops); |
17 | 17 | extern void udelay(unsigned long usecs); | |
18 | #ifdef CONFIG_PPC64 | ||
19 | /* define these here to prevent circular dependencies */ | ||
20 | /* these instructions control the thread priority on multi-threaded cpus */ | ||
21 | #define __HMT_low() asm volatile("or 1,1,1") | ||
22 | #define __HMT_medium() asm volatile("or 2,2,2") | ||
23 | #else | ||
24 | #define __HMT_low() | ||
25 | #define __HMT_medium() | ||
26 | #endif | ||
27 | |||
28 | #define __barrier() asm volatile("" ::: "memory") | ||
29 | |||
30 | static inline unsigned long __get_tb(void) | ||
31 | { | ||
32 | unsigned long rval; | ||
33 | |||
34 | asm volatile("mftb %0" : "=r" (rval)); | ||
35 | return rval; | ||
36 | } | ||
37 | |||
38 | static inline void __delay(unsigned long loops) | ||
39 | { | ||
40 | unsigned long start = __get_tb(); | ||
41 | |||
42 | while((__get_tb() - start) < loops) | ||
43 | __HMT_low(); | ||
44 | __HMT_medium(); | ||
45 | __barrier(); | ||
46 | } | ||
47 | |||
48 | static inline void udelay(unsigned long usecs) | ||
49 | { | ||
50 | unsigned long loops = tb_ticks_per_usec * usecs; | ||
51 | |||
52 | __delay(loops); | ||
53 | } | ||
54 | 18 | ||
55 | #endif /* _ASM_POWERPC_DELAY_H */ | 19 | #endif /* _ASM_POWERPC_DELAY_H */ |
diff --git a/include/asm-ppc/dma-mapping.h b/include/asm-powerpc/dma-mapping.h index 6e9635114433..59a80163f75f 100644 --- a/include/asm-ppc/dma-mapping.h +++ b/include/asm-powerpc/dma-mapping.h | |||
@@ -1,15 +1,22 @@ | |||
1 | /* | 1 | /* |
2 | * This is based on both include/asm-sh/dma-mapping.h and | 2 | * Copyright (C) 2004 IBM |
3 | * include/asm-ppc/pci.h | 3 | * |
4 | * Implements the generic device dma API for powerpc. | ||
5 | * the pci and vio busses | ||
4 | */ | 6 | */ |
5 | #ifndef __ASM_PPC_DMA_MAPPING_H | 7 | #ifndef _ASM_DMA_MAPPING_H |
6 | #define __ASM_PPC_DMA_MAPPING_H | 8 | #define _ASM_DMA_MAPPING_H |
7 | 9 | ||
8 | #include <linux/config.h> | 10 | #include <linux/config.h> |
11 | #include <linux/types.h> | ||
12 | #include <linux/cache.h> | ||
9 | /* need struct page definitions */ | 13 | /* need struct page definitions */ |
10 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
11 | #include <asm/scatterlist.h> | 15 | #include <asm/scatterlist.h> |
12 | #include <asm/io.h> | 16 | #include <asm/io.h> |
17 | #include <asm/bug.h> | ||
18 | |||
19 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) | ||
13 | 20 | ||
14 | #ifdef CONFIG_NOT_COHERENT_CACHE | 21 | #ifdef CONFIG_NOT_COHERENT_CACHE |
15 | /* | 22 | /* |
@@ -24,22 +31,12 @@ extern void __dma_free_coherent(size_t size, void *vaddr); | |||
24 | extern void __dma_sync(void *vaddr, size_t size, int direction); | 31 | extern void __dma_sync(void *vaddr, size_t size, int direction); |
25 | extern void __dma_sync_page(struct page *page, unsigned long offset, | 32 | extern void __dma_sync_page(struct page *page, unsigned long offset, |
26 | size_t size, int direction); | 33 | size_t size, int direction); |
27 | #define dma_cache_inv(_start,_size) \ | ||
28 | invalidate_dcache_range(_start, (_start + _size)) | ||
29 | #define dma_cache_wback(_start,_size) \ | ||
30 | clean_dcache_range(_start, (_start + _size)) | ||
31 | #define dma_cache_wback_inv(_start,_size) \ | ||
32 | flush_dcache_range(_start, (_start + _size)) | ||
33 | 34 | ||
34 | #else /* ! CONFIG_NOT_COHERENT_CACHE */ | 35 | #else /* ! CONFIG_NOT_COHERENT_CACHE */ |
35 | /* | 36 | /* |
36 | * Cache coherent cores. | 37 | * Cache coherent cores. |
37 | */ | 38 | */ |
38 | 39 | ||
39 | #define dma_cache_inv(_start,_size) do { } while (0) | ||
40 | #define dma_cache_wback(_start,_size) do { } while (0) | ||
41 | #define dma_cache_wback_inv(_start,_size) do { } while (0) | ||
42 | |||
43 | #define __dma_alloc_coherent(gfp, size, handle) NULL | 40 | #define __dma_alloc_coherent(gfp, size, handle) NULL |
44 | #define __dma_free_coherent(size, addr) do { } while (0) | 41 | #define __dma_free_coherent(size, addr) do { } while (0) |
45 | #define __dma_sync(addr, size, rw) do { } while (0) | 42 | #define __dma_sync(addr, size, rw) do { } while (0) |
@@ -47,6 +44,30 @@ extern void __dma_sync_page(struct page *page, unsigned long offset, | |||
47 | 44 | ||
48 | #endif /* ! CONFIG_NOT_COHERENT_CACHE */ | 45 | #endif /* ! CONFIG_NOT_COHERENT_CACHE */ |
49 | 46 | ||
47 | #ifdef CONFIG_PPC64 | ||
48 | |||
49 | extern int dma_supported(struct device *dev, u64 mask); | ||
50 | extern int dma_set_mask(struct device *dev, u64 dma_mask); | ||
51 | extern void *dma_alloc_coherent(struct device *dev, size_t size, | ||
52 | dma_addr_t *dma_handle, gfp_t flag); | ||
53 | extern void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, | ||
54 | dma_addr_t dma_handle); | ||
55 | extern dma_addr_t dma_map_single(struct device *dev, void *cpu_addr, | ||
56 | size_t size, enum dma_data_direction direction); | ||
57 | extern void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, | ||
58 | size_t size, enum dma_data_direction direction); | ||
59 | extern dma_addr_t dma_map_page(struct device *dev, struct page *page, | ||
60 | unsigned long offset, size_t size, | ||
61 | enum dma_data_direction direction); | ||
62 | extern void dma_unmap_page(struct device *dev, dma_addr_t dma_address, | ||
63 | size_t size, enum dma_data_direction direction); | ||
64 | extern int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | ||
65 | enum dma_data_direction direction); | ||
66 | extern void dma_unmap_sg(struct device *dev, struct scatterlist *sg, | ||
67 | int nhwentries, enum dma_data_direction direction); | ||
68 | |||
69 | #else /* CONFIG_PPC64 */ | ||
70 | |||
50 | #define dma_supported(dev, mask) (1) | 71 | #define dma_supported(dev, mask) (1) |
51 | 72 | ||
52 | static inline int dma_set_mask(struct device *dev, u64 dma_mask) | 73 | static inline int dma_set_mask(struct device *dev, u64 dma_mask) |
@@ -144,29 +165,27 @@ dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | |||
144 | /* We don't do anything here. */ | 165 | /* We don't do anything here. */ |
145 | #define dma_unmap_sg(dev, sg, nents, dir) do { } while (0) | 166 | #define dma_unmap_sg(dev, sg, nents, dir) do { } while (0) |
146 | 167 | ||
147 | static inline void | 168 | #endif /* CONFIG_PPC64 */ |
148 | dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, | 169 | |
149 | size_t size, | 170 | static inline void dma_sync_single_for_cpu(struct device *dev, |
150 | enum dma_data_direction direction) | 171 | dma_addr_t dma_handle, size_t size, |
172 | enum dma_data_direction direction) | ||
151 | { | 173 | { |
152 | BUG_ON(direction == DMA_NONE); | 174 | BUG_ON(direction == DMA_NONE); |
153 | |||
154 | __dma_sync(bus_to_virt(dma_handle), size, direction); | 175 | __dma_sync(bus_to_virt(dma_handle), size, direction); |
155 | } | 176 | } |
156 | 177 | ||
157 | static inline void | 178 | static inline void dma_sync_single_for_device(struct device *dev, |
158 | dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, | 179 | dma_addr_t dma_handle, size_t size, |
159 | size_t size, | 180 | enum dma_data_direction direction) |
160 | enum dma_data_direction direction) | ||
161 | { | 181 | { |
162 | BUG_ON(direction == DMA_NONE); | 182 | BUG_ON(direction == DMA_NONE); |
163 | |||
164 | __dma_sync(bus_to_virt(dma_handle), size, direction); | 183 | __dma_sync(bus_to_virt(dma_handle), size, direction); |
165 | } | 184 | } |
166 | 185 | ||
167 | static inline void | 186 | static inline void dma_sync_sg_for_cpu(struct device *dev, |
168 | dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nents, | 187 | struct scatterlist *sg, int nents, |
169 | enum dma_data_direction direction) | 188 | enum dma_data_direction direction) |
170 | { | 189 | { |
171 | int i; | 190 | int i; |
172 | 191 | ||
@@ -176,9 +195,9 @@ dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nents, | |||
176 | __dma_sync_page(sg->page, sg->offset, sg->length, direction); | 195 | __dma_sync_page(sg->page, sg->offset, sg->length, direction); |
177 | } | 196 | } |
178 | 197 | ||
179 | static inline void | 198 | static inline void dma_sync_sg_for_device(struct device *dev, |
180 | dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nents, | 199 | struct scatterlist *sg, int nents, |
181 | enum dma_data_direction direction) | 200 | enum dma_data_direction direction) |
182 | { | 201 | { |
183 | int i; | 202 | int i; |
184 | 203 | ||
@@ -188,6 +207,15 @@ dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nents, | |||
188 | __dma_sync_page(sg->page, sg->offset, sg->length, direction); | 207 | __dma_sync_page(sg->page, sg->offset, sg->length, direction); |
189 | } | 208 | } |
190 | 209 | ||
210 | static inline int dma_mapping_error(dma_addr_t dma_addr) | ||
211 | { | ||
212 | #ifdef CONFIG_PPC64 | ||
213 | return (dma_addr == DMA_ERROR_CODE); | ||
214 | #else | ||
215 | return 0; | ||
216 | #endif | ||
217 | } | ||
218 | |||
191 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) | 219 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) |
192 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) | 220 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) |
193 | #ifdef CONFIG_NOT_COHERENT_CACHE | 221 | #ifdef CONFIG_NOT_COHERENT_CACHE |
@@ -198,40 +226,60 @@ dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nents, | |||
198 | 226 | ||
199 | static inline int dma_get_cache_alignment(void) | 227 | static inline int dma_get_cache_alignment(void) |
200 | { | 228 | { |
229 | #ifdef CONFIG_PPC64 | ||
230 | /* no easy way to get cache size on all processors, so return | ||
231 | * the maximum possible, to be safe */ | ||
232 | return (1 << L1_CACHE_SHIFT_MAX); | ||
233 | #else | ||
201 | /* | 234 | /* |
202 | * Each processor family will define its own L1_CACHE_SHIFT, | 235 | * Each processor family will define its own L1_CACHE_SHIFT, |
203 | * L1_CACHE_BYTES wraps to this, so this is always safe. | 236 | * L1_CACHE_BYTES wraps to this, so this is always safe. |
204 | */ | 237 | */ |
205 | return L1_CACHE_BYTES; | 238 | return L1_CACHE_BYTES; |
239 | #endif | ||
206 | } | 240 | } |
207 | 241 | ||
208 | static inline void | 242 | static inline void dma_sync_single_range_for_cpu(struct device *dev, |
209 | dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle, | 243 | dma_addr_t dma_handle, unsigned long offset, size_t size, |
210 | unsigned long offset, size_t size, | 244 | enum dma_data_direction direction) |
211 | enum dma_data_direction direction) | ||
212 | { | 245 | { |
213 | /* just sync everything for now */ | 246 | /* just sync everything for now */ |
214 | dma_sync_single_for_cpu(dev, dma_handle, offset + size, direction); | 247 | dma_sync_single_for_cpu(dev, dma_handle, offset + size, direction); |
215 | } | 248 | } |
216 | 249 | ||
217 | static inline void | 250 | static inline void dma_sync_single_range_for_device(struct device *dev, |
218 | dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle, | 251 | dma_addr_t dma_handle, unsigned long offset, size_t size, |
219 | unsigned long offset, size_t size, | 252 | enum dma_data_direction direction) |
220 | enum dma_data_direction direction) | ||
221 | { | 253 | { |
222 | /* just sync everything for now */ | 254 | /* just sync everything for now */ |
223 | dma_sync_single_for_device(dev, dma_handle, offset + size, direction); | 255 | dma_sync_single_for_device(dev, dma_handle, offset + size, direction); |
224 | } | 256 | } |
225 | 257 | ||
226 | static inline void dma_cache_sync(void *vaddr, size_t size, | 258 | static inline void dma_cache_sync(void *vaddr, size_t size, |
227 | enum dma_data_direction direction) | 259 | enum dma_data_direction direction) |
228 | { | 260 | { |
261 | BUG_ON(direction == DMA_NONE); | ||
229 | __dma_sync(vaddr, size, (int)direction); | 262 | __dma_sync(vaddr, size, (int)direction); |
230 | } | 263 | } |
231 | 264 | ||
232 | static inline int dma_mapping_error(dma_addr_t dma_addr) | 265 | /* |
233 | { | 266 | * DMA operations are abstracted for G5 vs. i/pSeries, PCI vs. VIO |
234 | return 0; | 267 | */ |
235 | } | 268 | struct dma_mapping_ops { |
236 | 269 | void * (*alloc_coherent)(struct device *dev, size_t size, | |
237 | #endif /* __ASM_PPC_DMA_MAPPING_H */ | 270 | dma_addr_t *dma_handle, gfp_t flag); |
271 | void (*free_coherent)(struct device *dev, size_t size, | ||
272 | void *vaddr, dma_addr_t dma_handle); | ||
273 | dma_addr_t (*map_single)(struct device *dev, void *ptr, | ||
274 | size_t size, enum dma_data_direction direction); | ||
275 | void (*unmap_single)(struct device *dev, dma_addr_t dma_addr, | ||
276 | size_t size, enum dma_data_direction direction); | ||
277 | int (*map_sg)(struct device *dev, struct scatterlist *sg, | ||
278 | int nents, enum dma_data_direction direction); | ||
279 | void (*unmap_sg)(struct device *dev, struct scatterlist *sg, | ||
280 | int nents, enum dma_data_direction direction); | ||
281 | int (*dma_supported)(struct device *dev, u64 mask); | ||
282 | int (*dac_dma_supported)(struct device *dev, u64 mask); | ||
283 | }; | ||
284 | |||
285 | #endif /* _ASM_DMA_MAPPING_H */ | ||
diff --git a/include/asm-powerpc/eeh.h b/include/asm-powerpc/eeh.h index 89f26ab31908..f8633aafe4ba 100644 --- a/include/asm-powerpc/eeh.h +++ b/include/asm-powerpc/eeh.h | |||
@@ -30,6 +30,8 @@ struct device_node; | |||
30 | 30 | ||
31 | #ifdef CONFIG_EEH | 31 | #ifdef CONFIG_EEH |
32 | 32 | ||
33 | extern int eeh_subsystem_enabled; | ||
34 | |||
33 | /* Values for eeh_mode bits in device_node */ | 35 | /* Values for eeh_mode bits in device_node */ |
34 | #define EEH_MODE_SUPPORTED (1<<0) | 36 | #define EEH_MODE_SUPPORTED (1<<0) |
35 | #define EEH_MODE_NOCHECK (1<<1) | 37 | #define EEH_MODE_NOCHECK (1<<1) |
@@ -75,7 +77,7 @@ void eeh_remove_device(struct pci_dev *); | |||
75 | * If this macro yields TRUE, the caller relays to eeh_check_failure() | 77 | * If this macro yields TRUE, the caller relays to eeh_check_failure() |
76 | * which does further tests out of line. | 78 | * which does further tests out of line. |
77 | */ | 79 | */ |
78 | #define EEH_POSSIBLE_ERROR(val, type) ((val) == (type)~0) | 80 | #define EEH_POSSIBLE_ERROR(val, type) ((val) == (type)~0 && eeh_subsystem_enabled) |
79 | 81 | ||
80 | /* | 82 | /* |
81 | * Reads from a device which has been isolated by EEH will return | 83 | * Reads from a device which has been isolated by EEH will return |
diff --git a/include/asm-ppc64/io.h b/include/asm-powerpc/io.h index 77fc07c3c6bd..48938d84d055 100644 --- a/include/asm-ppc64/io.h +++ b/include/asm-powerpc/io.h | |||
@@ -1,5 +1,5 @@ | |||
1 | #ifndef _PPC64_IO_H | 1 | #ifndef _ASM_POWERPC_IO_H |
2 | #define _PPC64_IO_H | 2 | #define _ASM_POWERPC_IO_H |
3 | 3 | ||
4 | /* | 4 | /* |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
@@ -8,7 +8,10 @@ | |||
8 | * 2 of the License, or (at your option) any later version. | 8 | * 2 of the License, or (at your option) any later version. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/config.h> | 11 | #ifndef CONFIG_PPC64 |
12 | #include <asm-ppc/io.h> | ||
13 | #else | ||
14 | |||
12 | #include <linux/compiler.h> | 15 | #include <linux/compiler.h> |
13 | #include <asm/page.h> | 16 | #include <asm/page.h> |
14 | #include <asm/byteorder.h> | 17 | #include <asm/byteorder.h> |
@@ -455,4 +458,5 @@ extern int check_legacy_ioport(unsigned long base_port); | |||
455 | 458 | ||
456 | #endif /* __KERNEL__ */ | 459 | #endif /* __KERNEL__ */ |
457 | 460 | ||
458 | #endif /* _PPC64_IO_H */ | 461 | #endif /* CONFIG_PPC64 */ |
462 | #endif /* _ASM_POWERPC_IO_H */ | ||
diff --git a/include/asm-ppc64/mmu.h b/include/asm-powerpc/mmu.h index 1a7e0afa2dc6..c1b4bbabbe97 100644 --- a/include/asm-ppc64/mmu.h +++ b/include/asm-powerpc/mmu.h | |||
@@ -1,3 +1,10 @@ | |||
1 | #ifndef _ASM_POWERPC_MMU_H_ | ||
2 | #define _ASM_POWERPC_MMU_H_ | ||
3 | |||
4 | #ifndef CONFIG_PPC64 | ||
5 | #include <asm-ppc/mmu.h> | ||
6 | #else | ||
7 | |||
1 | /* | 8 | /* |
2 | * PowerPC memory management structures | 9 | * PowerPC memory management structures |
3 | * | 10 | * |
@@ -10,10 +17,6 @@ | |||
10 | * 2 of the License, or (at your option) any later version. | 17 | * 2 of the License, or (at your option) any later version. |
11 | */ | 18 | */ |
12 | 19 | ||
13 | #ifndef _PPC64_MMU_H_ | ||
14 | #define _PPC64_MMU_H_ | ||
15 | |||
16 | #include <linux/config.h> | ||
17 | #include <asm/asm-compat.h> | 20 | #include <asm/asm-compat.h> |
18 | #include <asm/page.h> | 21 | #include <asm/page.h> |
19 | 22 | ||
@@ -392,4 +395,5 @@ static inline unsigned long get_vsid(unsigned long context, unsigned long ea) | |||
392 | 395 | ||
393 | #endif /* __ASSEMBLY */ | 396 | #endif /* __ASSEMBLY */ |
394 | 397 | ||
395 | #endif /* _PPC64_MMU_H_ */ | 398 | #endif /* CONFIG_PPC64 */ |
399 | #endif /* _ASM_POWERPC_MMU_H_ */ | ||
diff --git a/include/asm-ppc64/mmu_context.h b/include/asm-powerpc/mmu_context.h index 4f512e9fa6b8..ea6798c7d5fc 100644 --- a/include/asm-ppc64/mmu_context.h +++ b/include/asm-powerpc/mmu_context.h | |||
@@ -1,7 +1,10 @@ | |||
1 | #ifndef __PPC64_MMU_CONTEXT_H | 1 | #ifndef __ASM_POWERPC_MMU_CONTEXT_H |
2 | #define __PPC64_MMU_CONTEXT_H | 2 | #define __ASM_POWERPC_MMU_CONTEXT_H |
3 | |||
4 | #ifndef CONFIG_PPC64 | ||
5 | #include <asm-ppc/mmu_context.h> | ||
6 | #else | ||
3 | 7 | ||
4 | #include <linux/config.h> | ||
5 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
6 | #include <linux/mm.h> | 9 | #include <linux/mm.h> |
7 | #include <asm/mmu.h> | 10 | #include <asm/mmu.h> |
@@ -82,4 +85,5 @@ static inline void activate_mm(struct mm_struct *prev, struct mm_struct *next) | |||
82 | local_irq_restore(flags); | 85 | local_irq_restore(flags); |
83 | } | 86 | } |
84 | 87 | ||
85 | #endif /* __PPC64_MMU_CONTEXT_H */ | 88 | #endif /* CONFIG_PPC64 */ |
89 | #endif /* __ASM_POWERPC_MMU_CONTEXT_H */ | ||
diff --git a/include/asm-ppc64/mmzone.h b/include/asm-powerpc/mmzone.h index 54958d6cae04..54958d6cae04 100644 --- a/include/asm-ppc64/mmzone.h +++ b/include/asm-powerpc/mmzone.h | |||
diff --git a/include/asm-powerpc/page_64.h b/include/asm-powerpc/page_64.h index c16f106b5373..1e6e7846824f 100644 --- a/include/asm-powerpc/page_64.h +++ b/include/asm-powerpc/page_64.h | |||
@@ -86,7 +86,11 @@ static inline void copy_page(void *to, void *from) | |||
86 | extern u64 ppc64_pft_size; | 86 | extern u64 ppc64_pft_size; |
87 | 87 | ||
88 | /* Large pages size */ | 88 | /* Large pages size */ |
89 | #ifdef CONFIG_HUGETLB_PAGE | ||
89 | extern unsigned int HPAGE_SHIFT; | 90 | extern unsigned int HPAGE_SHIFT; |
91 | #else | ||
92 | #define HPAGE_SHIFT PAGE_SHIFT | ||
93 | #endif | ||
90 | #define HPAGE_SIZE ((1UL) << HPAGE_SHIFT) | 94 | #define HPAGE_SIZE ((1UL) << HPAGE_SHIFT) |
91 | #define HPAGE_MASK (~(HPAGE_SIZE - 1)) | 95 | #define HPAGE_MASK (~(HPAGE_SIZE - 1)) |
92 | #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) | 96 | #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) |
diff --git a/include/asm-ppc64/pci-bridge.h b/include/asm-powerpc/pci-bridge.h index cf04327a597a..223ec7bd81da 100644 --- a/include/asm-ppc64/pci-bridge.h +++ b/include/asm-powerpc/pci-bridge.h | |||
@@ -1,8 +1,10 @@ | |||
1 | #ifdef __KERNEL__ | 1 | #ifndef _ASM_POWERPC_PCI_BRIDGE_H |
2 | #ifndef _ASM_PCI_BRIDGE_H | 2 | #define _ASM_POWERPC_PCI_BRIDGE_H |
3 | #define _ASM_PCI_BRIDGE_H | 3 | |
4 | #ifndef CONFIG_PPC64 | ||
5 | #include <asm-ppc/pci-bridge.h> | ||
6 | #else | ||
4 | 7 | ||
5 | #include <linux/config.h> | ||
6 | #include <linux/pci.h> | 8 | #include <linux/pci.h> |
7 | #include <linux/list.h> | 9 | #include <linux/list.h> |
8 | 10 | ||
@@ -147,5 +149,5 @@ extern void pcibios_free_controller(struct pci_controller *phb); | |||
147 | #define PCI_PROBE_NORMAL 0 /* Do normal PCI probing */ | 149 | #define PCI_PROBE_NORMAL 0 /* Do normal PCI probing */ |
148 | #define PCI_PROBE_DEVTREE 1 /* Instantiate from device tree */ | 150 | #define PCI_PROBE_DEVTREE 1 /* Instantiate from device tree */ |
149 | 151 | ||
152 | #endif /* CONFIG_PPC64 */ | ||
150 | #endif | 153 | #endif |
151 | #endif /* __KERNEL__ */ | ||
diff --git a/include/asm-ppc64/pci.h b/include/asm-powerpc/pci.h index fafdf885a3cc..d5934a076bd0 100644 --- a/include/asm-ppc64/pci.h +++ b/include/asm-powerpc/pci.h | |||
@@ -1,5 +1,5 @@ | |||
1 | #ifndef __PPC64_PCI_H | 1 | #ifndef __ASM_POWERPC_PCI_H |
2 | #define __PPC64_PCI_H | 2 | #define __ASM_POWERPC_PCI_H |
3 | #ifdef __KERNEL__ | 3 | #ifdef __KERNEL__ |
4 | 4 | ||
5 | /* | 5 | /* |
@@ -18,6 +18,7 @@ | |||
18 | #include <asm/scatterlist.h> | 18 | #include <asm/scatterlist.h> |
19 | #include <asm/io.h> | 19 | #include <asm/io.h> |
20 | #include <asm/prom.h> | 20 | #include <asm/prom.h> |
21 | #include <asm/pci-bridge.h> | ||
21 | 22 | ||
22 | #include <asm-generic/pci-dma-compat.h> | 23 | #include <asm-generic/pci-dma-compat.h> |
23 | 24 | ||
@@ -26,11 +27,21 @@ | |||
26 | 27 | ||
27 | struct pci_dev; | 28 | struct pci_dev; |
28 | 29 | ||
29 | #ifdef CONFIG_PPC_ISERIES | 30 | /* Values for the `which' argument to sys_pciconfig_iobase syscall. */ |
31 | #define IOBASE_BRIDGE_NUMBER 0 | ||
32 | #define IOBASE_MEMORY 1 | ||
33 | #define IOBASE_IO 2 | ||
34 | #define IOBASE_ISA_IO 3 | ||
35 | #define IOBASE_ISA_MEM 4 | ||
36 | |||
37 | /* | ||
38 | * Set this to 1 if you want the kernel to re-assign all PCI | ||
39 | * bus numbers | ||
40 | */ | ||
41 | extern int pci_assign_all_buses; | ||
42 | #define pcibios_assign_all_busses() (pci_assign_all_buses) | ||
43 | |||
30 | #define pcibios_scan_all_fns(a, b) 0 | 44 | #define pcibios_scan_all_fns(a, b) 0 |
31 | #else | ||
32 | extern int pcibios_scan_all_fns(struct pci_bus *bus, int devfn); | ||
33 | #endif | ||
34 | 45 | ||
35 | static inline void pcibios_set_master(struct pci_dev *dev) | 46 | static inline void pcibios_set_master(struct pci_dev *dev) |
36 | { | 47 | { |
@@ -50,6 +61,7 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | |||
50 | return channel ? 15 : 14; | 61 | return channel ? 15 : 14; |
51 | } | 62 | } |
52 | 63 | ||
64 | #ifdef CONFIG_PPC64 | ||
53 | #define HAVE_ARCH_PCI_MWI 1 | 65 | #define HAVE_ARCH_PCI_MWI 1 |
54 | static inline int pcibios_prep_mwi(struct pci_dev *dev) | 66 | static inline int pcibios_prep_mwi(struct pci_dev *dev) |
55 | { | 67 | { |
@@ -64,12 +76,10 @@ static inline int pcibios_prep_mwi(struct pci_dev *dev) | |||
64 | return 0; | 76 | return 0; |
65 | } | 77 | } |
66 | 78 | ||
67 | extern unsigned int pcibios_assign_all_busses(void); | ||
68 | |||
69 | extern struct dma_mapping_ops pci_dma_ops; | 79 | extern struct dma_mapping_ops pci_dma_ops; |
70 | 80 | ||
71 | /* For DAC DMA, we currently don't support it by default, but | 81 | /* For DAC DMA, we currently don't support it by default, but |
72 | * we let the platform override this | 82 | * we let 64-bit platforms override this. |
73 | */ | 83 | */ |
74 | static inline int pci_dac_dma_supported(struct pci_dev *hwdev,u64 mask) | 84 | static inline int pci_dac_dma_supported(struct pci_dev *hwdev,u64 mask) |
75 | { | 85 | { |
@@ -102,6 +112,35 @@ extern int pci_domain_nr(struct pci_bus *bus); | |||
102 | /* Decide whether to display the domain number in /proc */ | 112 | /* Decide whether to display the domain number in /proc */ |
103 | extern int pci_proc_domain(struct pci_bus *bus); | 113 | extern int pci_proc_domain(struct pci_bus *bus); |
104 | 114 | ||
115 | #else /* 32-bit */ | ||
116 | |||
117 | #ifdef CONFIG_PCI | ||
118 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
119 | enum pci_dma_burst_strategy *strat, | ||
120 | unsigned long *strategy_parameter) | ||
121 | { | ||
122 | *strat = PCI_DMA_BURST_INFINITY; | ||
123 | *strategy_parameter = ~0UL; | ||
124 | } | ||
125 | #endif | ||
126 | |||
127 | /* | ||
128 | * At present there are very few 32-bit PPC machines that can have | ||
129 | * memory above the 4GB point, and we don't support that. | ||
130 | */ | ||
131 | #define pci_dac_dma_supported(pci_dev, mask) (0) | ||
132 | |||
133 | /* Return the index of the PCI controller for device PDEV. */ | ||
134 | #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index | ||
135 | |||
136 | /* Set the name of the bus as it appears in /proc/bus/pci */ | ||
137 | static inline int pci_proc_domain(struct pci_bus *bus) | ||
138 | { | ||
139 | return 0; | ||
140 | } | ||
141 | |||
142 | #endif /* CONFIG_PPC64 */ | ||
143 | |||
105 | struct vm_area_struct; | 144 | struct vm_area_struct; |
106 | /* Map a range of PCI memory or I/O space for a device into user space */ | 145 | /* Map a range of PCI memory or I/O space for a device into user space */ |
107 | int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma, | 146 | int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma, |
@@ -110,6 +149,7 @@ int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma, | |||
110 | /* Tell drivers/pci/proc.c that we have pci_mmap_page_range() */ | 149 | /* Tell drivers/pci/proc.c that we have pci_mmap_page_range() */ |
111 | #define HAVE_PCI_MMAP 1 | 150 | #define HAVE_PCI_MMAP 1 |
112 | 151 | ||
152 | #ifdef CONFIG_PPC64 | ||
113 | /* pci_unmap_{single,page} is not a nop, thus... */ | 153 | /* pci_unmap_{single,page} is not a nop, thus... */ |
114 | #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) \ | 154 | #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) \ |
115 | dma_addr_t ADDR_NAME; | 155 | dma_addr_t ADDR_NAME; |
@@ -124,22 +164,40 @@ int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma, | |||
124 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) \ | 164 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) \ |
125 | (((PTR)->LEN_NAME) = (VAL)) | 165 | (((PTR)->LEN_NAME) = (VAL)) |
126 | 166 | ||
127 | /* The PCI address space does equal the physical memory | 167 | /* The PCI address space does not equal the physical memory address |
128 | * address space. The networking and block device layers use | 168 | * space (we have an IOMMU). The IDE and SCSI device layers use |
129 | * this boolean for bounce buffer decisions. | 169 | * this boolean for bounce buffer decisions. |
130 | */ | 170 | */ |
131 | #define PCI_DMA_BUS_IS_PHYS (0) | 171 | #define PCI_DMA_BUS_IS_PHYS (0) |
172 | |||
173 | #else /* 32-bit */ | ||
174 | |||
175 | /* The PCI address space does equal the physical memory | ||
176 | * address space (no IOMMU). The IDE and SCSI device layers use | ||
177 | * this boolean for bounce buffer decisions. | ||
178 | */ | ||
179 | #define PCI_DMA_BUS_IS_PHYS (1) | ||
180 | |||
181 | /* pci_unmap_{page,single} is a nop so... */ | ||
182 | #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) | ||
183 | #define DECLARE_PCI_UNMAP_LEN(LEN_NAME) | ||
184 | #define pci_unmap_addr(PTR, ADDR_NAME) (0) | ||
185 | #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0) | ||
186 | #define pci_unmap_len(PTR, LEN_NAME) (0) | ||
187 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0) | ||
188 | |||
189 | #endif /* CONFIG_PPC64 */ | ||
132 | 190 | ||
133 | extern void | 191 | extern void pcibios_resource_to_bus(struct pci_dev *dev, |
134 | pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, | 192 | struct pci_bus_region *region, |
135 | struct resource *res); | 193 | struct resource *res); |
136 | 194 | ||
137 | extern void | 195 | extern void pcibios_bus_to_resource(struct pci_dev *dev, |
138 | pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, | 196 | struct resource *res, |
139 | struct pci_bus_region *region); | 197 | struct pci_bus_region *region); |
140 | 198 | ||
141 | static inline struct resource * | 199 | static inline struct resource *pcibios_select_root(struct pci_dev *pdev, |
142 | pcibios_select_root(struct pci_dev *pdev, struct resource *res) | 200 | struct resource *res) |
143 | { | 201 | { |
144 | struct resource *root = NULL; | 202 | struct resource *root = NULL; |
145 | 203 | ||
@@ -151,14 +209,12 @@ pcibios_select_root(struct pci_dev *pdev, struct resource *res) | |||
151 | return root; | 209 | return root; |
152 | } | 210 | } |
153 | 211 | ||
154 | extern int | 212 | extern int unmap_bus_range(struct pci_bus *bus); |
155 | unmap_bus_range(struct pci_bus *bus); | ||
156 | 213 | ||
157 | extern int | 214 | extern int remap_bus_range(struct pci_bus *bus); |
158 | remap_bus_range(struct pci_bus *bus); | ||
159 | 215 | ||
160 | extern void | 216 | extern void pcibios_fixup_device_resources(struct pci_dev *dev, |
161 | pcibios_fixup_device_resources(struct pci_dev *dev, struct pci_bus *bus); | 217 | struct pci_bus *bus); |
162 | 218 | ||
163 | extern struct pci_controller *init_phb_dynamic(struct device_node *dn); | 219 | extern struct pci_controller *init_phb_dynamic(struct device_node *dn); |
164 | 220 | ||
@@ -180,14 +236,12 @@ extern pgprot_t pci_phys_mem_access_prot(struct file *file, | |||
180 | unsigned long size, | 236 | unsigned long size, |
181 | pgprot_t prot); | 237 | pgprot_t prot); |
182 | 238 | ||
183 | #ifdef CONFIG_PPC_MULTIPLATFORM | 239 | #if defined(CONFIG_PPC_MULTIPLATFORM) || defined(CONFIG_PPC32) |
184 | #define HAVE_ARCH_PCI_RESOURCE_TO_USER | 240 | #define HAVE_ARCH_PCI_RESOURCE_TO_USER |
185 | extern void pci_resource_to_user(const struct pci_dev *dev, int bar, | 241 | extern void pci_resource_to_user(const struct pci_dev *dev, int bar, |
186 | const struct resource *rsrc, | 242 | const struct resource *rsrc, |
187 | u64 *start, u64 *end); | 243 | u64 *start, u64 *end); |
188 | #endif /* CONFIG_PPC_MULTIPLATFORM */ | 244 | #endif /* CONFIG_PPC_MULTIPLATFORM || CONFIG_PPC32 */ |
189 | |||
190 | 245 | ||
191 | #endif /* __KERNEL__ */ | 246 | #endif /* __KERNEL__ */ |
192 | 247 | #endif /* __ASM_POWERPC_PCI_H */ | |
193 | #endif /* __PPC64_PCI_H */ | ||
diff --git a/include/asm-ppc64/pgalloc.h b/include/asm-powerpc/pgalloc.h index dcf3622d1946..bfc2113b3630 100644 --- a/include/asm-ppc64/pgalloc.h +++ b/include/asm-powerpc/pgalloc.h | |||
@@ -1,5 +1,9 @@ | |||
1 | #ifndef _PPC64_PGALLOC_H | 1 | #ifndef _ASM_POWERPC_PGALLOC_H |
2 | #define _PPC64_PGALLOC_H | 2 | #define _ASM_POWERPC_PGALLOC_H |
3 | |||
4 | #ifndef CONFIG_PPC64 | ||
5 | #include <asm-ppc/pgalloc.h> | ||
6 | #else | ||
3 | 7 | ||
4 | #include <linux/mm.h> | 8 | #include <linux/mm.h> |
5 | #include <linux/slab.h> | 9 | #include <linux/slab.h> |
@@ -148,4 +152,5 @@ extern void pgtable_free_tlb(struct mmu_gather *tlb, pgtable_free_t pgf); | |||
148 | 152 | ||
149 | #define check_pgt_cache() do { } while (0) | 153 | #define check_pgt_cache() do { } while (0) |
150 | 154 | ||
151 | #endif /* _PPC64_PGALLOC_H */ | 155 | #endif /* CONFIG_PPC64 */ |
156 | #endif /* _ASM_POWERPC_PGALLOC_H */ | ||
diff --git a/include/asm-ppc64/pgtable-4k.h b/include/asm-powerpc/pgtable-4k.h index e9590c06ad92..e9590c06ad92 100644 --- a/include/asm-ppc64/pgtable-4k.h +++ b/include/asm-powerpc/pgtable-4k.h | |||
diff --git a/include/asm-ppc64/pgtable-64k.h b/include/asm-powerpc/pgtable-64k.h index 154f1840ece4..154f1840ece4 100644 --- a/include/asm-ppc64/pgtable-64k.h +++ b/include/asm-powerpc/pgtable-64k.h | |||
diff --git a/include/asm-ppc64/pgtable.h b/include/asm-powerpc/pgtable.h index a9783ba7fe98..0303f57366c1 100644 --- a/include/asm-ppc64/pgtable.h +++ b/include/asm-powerpc/pgtable.h | |||
@@ -1,5 +1,9 @@ | |||
1 | #ifndef _PPC64_PGTABLE_H | 1 | #ifndef _ASM_POWERPC_PGTABLE_H |
2 | #define _PPC64_PGTABLE_H | 2 | #define _ASM_POWERPC_PGTABLE_H |
3 | |||
4 | #ifndef CONFIG_PPC64 | ||
5 | #include <asm-ppc/pgtable.h> | ||
6 | #else | ||
3 | 7 | ||
4 | /* | 8 | /* |
5 | * This file contains the functions and defines necessary to modify and use | 9 | * This file contains the functions and defines necessary to modify and use |
@@ -47,6 +51,13 @@ struct mm_struct; | |||
47 | #define VMALLOC_END (VMALLOC_START + VMALLOC_SIZE) | 51 | #define VMALLOC_END (VMALLOC_START + VMALLOC_SIZE) |
48 | 52 | ||
49 | /* | 53 | /* |
54 | * Define the address range of the imalloc VM area. | ||
55 | */ | ||
56 | #define PHBS_IO_BASE VMALLOC_END | ||
57 | #define IMALLOC_BASE (PHBS_IO_BASE + 0x80000000ul) /* Reserve 2 gigs for PHBs */ | ||
58 | #define IMALLOC_END (VMALLOC_START + PGTABLE_RANGE) | ||
59 | |||
60 | /* | ||
50 | * Common bits in a linux-style PTE. These match the bits in the | 61 | * Common bits in a linux-style PTE. These match the bits in the |
51 | * (hardware-defined) PowerPC PTE as closely as possible. Additional | 62 | * (hardware-defined) PowerPC PTE as closely as possible. Additional |
52 | * bits may be defined in pgtable-*.h | 63 | * bits may be defined in pgtable-*.h |
@@ -69,7 +80,7 @@ struct mm_struct; | |||
69 | 80 | ||
70 | #define _PAGE_WRENABLE (_PAGE_RW | _PAGE_DIRTY) | 81 | #define _PAGE_WRENABLE (_PAGE_RW | _PAGE_DIRTY) |
71 | 82 | ||
72 | /* __pgprot defined in asm-ppc64/page.h */ | 83 | /* __pgprot defined in asm-powerpc/page.h */ |
73 | #define PAGE_NONE __pgprot(_PAGE_PRESENT | _PAGE_ACCESSED) | 84 | #define PAGE_NONE __pgprot(_PAGE_PRESENT | _PAGE_ACCESSED) |
74 | 85 | ||
75 | #define PAGE_SHARED __pgprot(_PAGE_BASE | _PAGE_RW | _PAGE_USER) | 86 | #define PAGE_SHARED __pgprot(_PAGE_BASE | _PAGE_RW | _PAGE_USER) |
@@ -509,4 +520,5 @@ void pgtable_cache_init(void); | |||
509 | 520 | ||
510 | #endif /* __ASSEMBLY__ */ | 521 | #endif /* __ASSEMBLY__ */ |
511 | 522 | ||
512 | #endif /* _PPC64_PGTABLE_H */ | 523 | #endif /* CONFIG_PPC64 */ |
524 | #endif /* _ASM_POWERPC_PGTABLE_H */ | ||
diff --git a/include/asm-powerpc/ppc-pci.h b/include/asm-powerpc/ppc-pci.h index 2e36e5a7f4f3..36cdc869e580 100644 --- a/include/asm-powerpc/ppc-pci.h +++ b/include/asm-powerpc/ppc-pci.h | |||
@@ -48,8 +48,6 @@ extern void pSeries_final_fixup(void); | |||
48 | extern void pSeries_irq_bus_setup(struct pci_bus *bus); | 48 | extern void pSeries_irq_bus_setup(struct pci_bus *bus); |
49 | 49 | ||
50 | extern unsigned long pci_probe_only; | 50 | extern unsigned long pci_probe_only; |
51 | extern unsigned long pci_assign_all_buses; | ||
52 | extern int pci_read_irq_line(struct pci_dev *pci_dev); | ||
53 | 51 | ||
54 | /* ---- EEH internal-use-only related routines ---- */ | 52 | /* ---- EEH internal-use-only related routines ---- */ |
55 | #ifdef CONFIG_EEH | 53 | #ifdef CONFIG_EEH |
diff --git a/include/asm-ppc64/spinlock.h b/include/asm-powerpc/spinlock.h index 7d84fb5e39f1..caa4b14e0e94 100644 --- a/include/asm-ppc64/spinlock.h +++ b/include/asm-powerpc/spinlock.h | |||
@@ -18,31 +18,41 @@ | |||
18 | * | 18 | * |
19 | * (the type definitions are in asm/spinlock_types.h) | 19 | * (the type definitions are in asm/spinlock_types.h) |
20 | */ | 20 | */ |
21 | #include <linux/config.h> | 21 | #ifdef CONFIG_PPC64 |
22 | #include <asm/paca.h> | 22 | #include <asm/paca.h> |
23 | #include <asm/hvcall.h> | 23 | #include <asm/hvcall.h> |
24 | #include <asm/iseries/hv_call.h> | 24 | #include <asm/iseries/hv_call.h> |
25 | #endif | ||
26 | #include <asm/asm-compat.h> | ||
27 | #include <asm/synch.h> | ||
25 | 28 | ||
26 | #define __raw_spin_is_locked(x) ((x)->slock != 0) | 29 | #define __raw_spin_is_locked(x) ((x)->slock != 0) |
27 | 30 | ||
31 | #ifdef CONFIG_PPC64 | ||
32 | /* use 0x800000yy when locked, where yy == CPU number */ | ||
33 | #define LOCK_TOKEN (*(u32 *)(&get_paca()->lock_token)) | ||
34 | #else | ||
35 | #define LOCK_TOKEN 1 | ||
36 | #endif | ||
37 | |||
28 | /* | 38 | /* |
29 | * This returns the old value in the lock, so we succeeded | 39 | * This returns the old value in the lock, so we succeeded |
30 | * in getting the lock if the return value is 0. | 40 | * in getting the lock if the return value is 0. |
31 | */ | 41 | */ |
32 | static __inline__ unsigned long __spin_trylock(raw_spinlock_t *lock) | 42 | static __inline__ unsigned long __spin_trylock(raw_spinlock_t *lock) |
33 | { | 43 | { |
34 | unsigned long tmp, tmp2; | 44 | unsigned long tmp, token; |
35 | 45 | ||
46 | token = LOCK_TOKEN; | ||
36 | __asm__ __volatile__( | 47 | __asm__ __volatile__( |
37 | " lwz %1,%3(13) # __spin_trylock\n\ | 48 | "1: lwarx %0,0,%2 # __spin_trylock\n\ |
38 | 1: lwarx %0,0,%2\n\ | ||
39 | cmpwi 0,%0,0\n\ | 49 | cmpwi 0,%0,0\n\ |
40 | bne- 2f\n\ | 50 | bne- 2f\n\ |
41 | stwcx. %1,0,%2\n\ | 51 | stwcx. %1,0,%2\n\ |
42 | bne- 1b\n\ | 52 | bne- 1b\n\ |
43 | isync\n\ | 53 | isync\n\ |
44 | 2:" : "=&r" (tmp), "=&r" (tmp2) | 54 | 2:" : "=&r" (tmp) |
45 | : "r" (&lock->slock), "i" (offsetof(struct paca_struct, lock_token)) | 55 | : "r" (token), "r" (&lock->slock) |
46 | : "cr0", "memory"); | 56 | : "cr0", "memory"); |
47 | 57 | ||
48 | return tmp; | 58 | return tmp; |
@@ -113,11 +123,17 @@ static void __inline__ __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long | |||
113 | 123 | ||
114 | static __inline__ void __raw_spin_unlock(raw_spinlock_t *lock) | 124 | static __inline__ void __raw_spin_unlock(raw_spinlock_t *lock) |
115 | { | 125 | { |
116 | __asm__ __volatile__("lwsync # __raw_spin_unlock": : :"memory"); | 126 | __asm__ __volatile__(SYNC_ON_SMP" # __raw_spin_unlock" |
127 | : : :"memory"); | ||
117 | lock->slock = 0; | 128 | lock->slock = 0; |
118 | } | 129 | } |
119 | 130 | ||
131 | #ifdef CONFIG_PPC64 | ||
120 | extern void __raw_spin_unlock_wait(raw_spinlock_t *lock); | 132 | extern void __raw_spin_unlock_wait(raw_spinlock_t *lock); |
133 | #else | ||
134 | #define __raw_spin_unlock_wait(lock) \ | ||
135 | do { while (__raw_spin_is_locked(lock)) cpu_relax(); } while (0) | ||
136 | #endif | ||
121 | 137 | ||
122 | /* | 138 | /* |
123 | * Read-write spinlocks, allowing multiple readers | 139 | * Read-write spinlocks, allowing multiple readers |
@@ -133,6 +149,14 @@ extern void __raw_spin_unlock_wait(raw_spinlock_t *lock); | |||
133 | #define __raw_read_can_lock(rw) ((rw)->lock >= 0) | 149 | #define __raw_read_can_lock(rw) ((rw)->lock >= 0) |
134 | #define __raw_write_can_lock(rw) (!(rw)->lock) | 150 | #define __raw_write_can_lock(rw) (!(rw)->lock) |
135 | 151 | ||
152 | #ifdef CONFIG_PPC64 | ||
153 | #define __DO_SIGN_EXTEND "extsw %0,%0\n" | ||
154 | #define WRLOCK_TOKEN LOCK_TOKEN /* it's negative */ | ||
155 | #else | ||
156 | #define __DO_SIGN_EXTEND | ||
157 | #define WRLOCK_TOKEN (-1) | ||
158 | #endif | ||
159 | |||
136 | /* | 160 | /* |
137 | * This returns the old value in the lock + 1, | 161 | * This returns the old value in the lock + 1, |
138 | * so we got a read lock if the return value is > 0. | 162 | * so we got a read lock if the return value is > 0. |
@@ -142,11 +166,12 @@ static long __inline__ __read_trylock(raw_rwlock_t *rw) | |||
142 | long tmp; | 166 | long tmp; |
143 | 167 | ||
144 | __asm__ __volatile__( | 168 | __asm__ __volatile__( |
145 | "1: lwarx %0,0,%1 # read_trylock\n\ | 169 | "1: lwarx %0,0,%1 # read_trylock\n" |
146 | extsw %0,%0\n\ | 170 | __DO_SIGN_EXTEND |
147 | addic. %0,%0,1\n\ | 171 | " addic. %0,%0,1\n\ |
148 | ble- 2f\n\ | 172 | ble- 2f\n" |
149 | stwcx. %0,0,%1\n\ | 173 | PPC405_ERR77(0,%1) |
174 | " stwcx. %0,0,%1\n\ | ||
150 | bne- 1b\n\ | 175 | bne- 1b\n\ |
151 | isync\n\ | 176 | isync\n\ |
152 | 2:" : "=&r" (tmp) | 177 | 2:" : "=&r" (tmp) |
@@ -162,18 +187,19 @@ static long __inline__ __read_trylock(raw_rwlock_t *rw) | |||
162 | */ | 187 | */ |
163 | static __inline__ long __write_trylock(raw_rwlock_t *rw) | 188 | static __inline__ long __write_trylock(raw_rwlock_t *rw) |
164 | { | 189 | { |
165 | long tmp, tmp2; | 190 | long tmp, token; |
166 | 191 | ||
192 | token = WRLOCK_TOKEN; | ||
167 | __asm__ __volatile__( | 193 | __asm__ __volatile__( |
168 | " lwz %1,%3(13) # write_trylock\n\ | 194 | "1: lwarx %0,0,%2 # write_trylock\n\ |
169 | 1: lwarx %0,0,%2\n\ | ||
170 | cmpwi 0,%0,0\n\ | 195 | cmpwi 0,%0,0\n\ |
171 | bne- 2f\n\ | 196 | bne- 2f\n" |
172 | stwcx. %1,0,%2\n\ | 197 | PPC405_ERR77(0,%1) |
198 | " stwcx. %1,0,%2\n\ | ||
173 | bne- 1b\n\ | 199 | bne- 1b\n\ |
174 | isync\n\ | 200 | isync\n\ |
175 | 2:" : "=&r" (tmp), "=&r" (tmp2) | 201 | 2:" : "=&r" (tmp) |
176 | : "r" (&rw->lock), "i" (offsetof(struct paca_struct, lock_token)) | 202 | : "r" (token), "r" (&rw->lock) |
177 | : "cr0", "memory"); | 203 | : "cr0", "memory"); |
178 | 204 | ||
179 | return tmp; | 205 | return tmp; |
@@ -224,8 +250,9 @@ static void __inline__ __raw_read_unlock(raw_rwlock_t *rw) | |||
224 | __asm__ __volatile__( | 250 | __asm__ __volatile__( |
225 | "eieio # read_unlock\n\ | 251 | "eieio # read_unlock\n\ |
226 | 1: lwarx %0,0,%1\n\ | 252 | 1: lwarx %0,0,%1\n\ |
227 | addic %0,%0,-1\n\ | 253 | addic %0,%0,-1\n" |
228 | stwcx. %0,0,%1\n\ | 254 | PPC405_ERR77(0,%1) |
255 | " stwcx. %0,0,%1\n\ | ||
229 | bne- 1b" | 256 | bne- 1b" |
230 | : "=&r"(tmp) | 257 | : "=&r"(tmp) |
231 | : "r"(&rw->lock) | 258 | : "r"(&rw->lock) |
@@ -234,7 +261,8 @@ static void __inline__ __raw_read_unlock(raw_rwlock_t *rw) | |||
234 | 261 | ||
235 | static __inline__ void __raw_write_unlock(raw_rwlock_t *rw) | 262 | static __inline__ void __raw_write_unlock(raw_rwlock_t *rw) |
236 | { | 263 | { |
237 | __asm__ __volatile__("lwsync # write_unlock": : :"memory"); | 264 | __asm__ __volatile__(SYNC_ON_SMP" # write_unlock" |
265 | : : :"memory"); | ||
238 | rw->lock = 0; | 266 | rw->lock = 0; |
239 | } | 267 | } |
240 | 268 | ||
diff --git a/include/asm-powerpc/topology.h b/include/asm-powerpc/topology.h index 015d28746e1b..db8095cbe09b 100644 --- a/include/asm-powerpc/topology.h +++ b/include/asm-powerpc/topology.h | |||
@@ -41,6 +41,10 @@ static inline int node_to_first_cpu(int node) | |||
41 | .cache_hot_time = (10*1000000), \ | 41 | .cache_hot_time = (10*1000000), \ |
42 | .cache_nice_tries = 1, \ | 42 | .cache_nice_tries = 1, \ |
43 | .per_cpu_gain = 100, \ | 43 | .per_cpu_gain = 100, \ |
44 | .busy_idx = 3, \ | ||
45 | .idle_idx = 1, \ | ||
46 | .newidle_idx = 2, \ | ||
47 | .wake_idx = 1, \ | ||
44 | .flags = SD_LOAD_BALANCE \ | 48 | .flags = SD_LOAD_BALANCE \ |
45 | | SD_BALANCE_EXEC \ | 49 | | SD_BALANCE_EXEC \ |
46 | | SD_BALANCE_NEWIDLE \ | 50 | | SD_BALANCE_NEWIDLE \ |
diff --git a/include/asm-ppc/cpm2.h b/include/asm-ppc/cpm2.h index 43d2ebbc7748..b638b87cebe3 100644 --- a/include/asm-ppc/cpm2.h +++ b/include/asm-ppc/cpm2.h | |||
@@ -1091,5 +1091,7 @@ typedef struct im_idma { | |||
1091 | #define CPM_IMMR_OFFSET 0x101a8 | 1091 | #define CPM_IMMR_OFFSET 0x101a8 |
1092 | #endif | 1092 | #endif |
1093 | 1093 | ||
1094 | #define FCC_PSMR_RMII ((uint)0x00020000) /* Use RMII interface */ | ||
1095 | |||
1094 | #endif /* __CPM2__ */ | 1096 | #endif /* __CPM2__ */ |
1095 | #endif /* __KERNEL__ */ | 1097 | #endif /* __KERNEL__ */ |
diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h index 2bfdf9c98459..84ac6e258eef 100644 --- a/include/asm-ppc/io.h +++ b/include/asm-ppc/io.h | |||
@@ -545,6 +545,23 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *); | |||
545 | #include <asm/mpc8260_pci9.h> | 545 | #include <asm/mpc8260_pci9.h> |
546 | #endif | 546 | #endif |
547 | 547 | ||
548 | #ifdef CONFIG_NOT_COHERENT_CACHE | ||
549 | |||
550 | #define dma_cache_inv(_start,_size) \ | ||
551 | invalidate_dcache_range(_start, (_start + _size)) | ||
552 | #define dma_cache_wback(_start,_size) \ | ||
553 | clean_dcache_range(_start, (_start + _size)) | ||
554 | #define dma_cache_wback_inv(_start,_size) \ | ||
555 | flush_dcache_range(_start, (_start + _size)) | ||
556 | |||
557 | #else | ||
558 | |||
559 | #define dma_cache_inv(_start,_size) do { } while (0) | ||
560 | #define dma_cache_wback(_start,_size) do { } while (0) | ||
561 | #define dma_cache_wback_inv(_start,_size) do { } while (0) | ||
562 | |||
563 | #endif | ||
564 | |||
548 | /* | 565 | /* |
549 | * Convert a physical pointer to a virtual kernel pointer for /dev/mem | 566 | * Convert a physical pointer to a virtual kernel pointer for /dev/mem |
550 | * access | 567 | * access |
diff --git a/include/asm-ppc64/dma-mapping.h b/include/asm-ppc64/dma-mapping.h deleted file mode 100644 index fb68fa23bea8..000000000000 --- a/include/asm-ppc64/dma-mapping.h +++ /dev/null | |||
@@ -1,136 +0,0 @@ | |||
1 | /* Copyright (C) 2004 IBM | ||
2 | * | ||
3 | * Implements the generic device dma API for ppc64. Handles | ||
4 | * the pci and vio busses | ||
5 | */ | ||
6 | |||
7 | #ifndef _ASM_DMA_MAPPING_H | ||
8 | #define _ASM_DMA_MAPPING_H | ||
9 | |||
10 | #include <linux/types.h> | ||
11 | #include <linux/cache.h> | ||
12 | /* need struct page definitions */ | ||
13 | #include <linux/mm.h> | ||
14 | #include <asm/scatterlist.h> | ||
15 | #include <asm/bug.h> | ||
16 | |||
17 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) | ||
18 | |||
19 | extern int dma_supported(struct device *dev, u64 mask); | ||
20 | extern int dma_set_mask(struct device *dev, u64 dma_mask); | ||
21 | extern void *dma_alloc_coherent(struct device *dev, size_t size, | ||
22 | dma_addr_t *dma_handle, gfp_t flag); | ||
23 | extern void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, | ||
24 | dma_addr_t dma_handle); | ||
25 | extern dma_addr_t dma_map_single(struct device *dev, void *cpu_addr, | ||
26 | size_t size, enum dma_data_direction direction); | ||
27 | extern void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, | ||
28 | size_t size, enum dma_data_direction direction); | ||
29 | extern dma_addr_t dma_map_page(struct device *dev, struct page *page, | ||
30 | unsigned long offset, size_t size, | ||
31 | enum dma_data_direction direction); | ||
32 | extern void dma_unmap_page(struct device *dev, dma_addr_t dma_address, | ||
33 | size_t size, enum dma_data_direction direction); | ||
34 | extern int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | ||
35 | enum dma_data_direction direction); | ||
36 | extern void dma_unmap_sg(struct device *dev, struct scatterlist *sg, | ||
37 | int nhwentries, enum dma_data_direction direction); | ||
38 | |||
39 | static inline void | ||
40 | dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size, | ||
41 | enum dma_data_direction direction) | ||
42 | { | ||
43 | BUG_ON(direction == DMA_NONE); | ||
44 | /* nothing to do */ | ||
45 | } | ||
46 | |||
47 | static inline void | ||
48 | dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, size_t size, | ||
49 | enum dma_data_direction direction) | ||
50 | { | ||
51 | BUG_ON(direction == DMA_NONE); | ||
52 | /* nothing to do */ | ||
53 | } | ||
54 | |||
55 | static inline void | ||
56 | dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems, | ||
57 | enum dma_data_direction direction) | ||
58 | { | ||
59 | BUG_ON(direction == DMA_NONE); | ||
60 | /* nothing to do */ | ||
61 | } | ||
62 | |||
63 | static inline void | ||
64 | dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems, | ||
65 | enum dma_data_direction direction) | ||
66 | { | ||
67 | BUG_ON(direction == DMA_NONE); | ||
68 | /* nothing to do */ | ||
69 | } | ||
70 | |||
71 | static inline int dma_mapping_error(dma_addr_t dma_addr) | ||
72 | { | ||
73 | return (dma_addr == DMA_ERROR_CODE); | ||
74 | } | ||
75 | |||
76 | /* Now for the API extensions over the pci_ one */ | ||
77 | |||
78 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) | ||
79 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) | ||
80 | #define dma_is_consistent(d) (1) | ||
81 | |||
82 | static inline int | ||
83 | dma_get_cache_alignment(void) | ||
84 | { | ||
85 | /* no easy way to get cache size on all processors, so return | ||
86 | * the maximum possible, to be safe */ | ||
87 | return (1 << L1_CACHE_SHIFT_MAX); | ||
88 | } | ||
89 | |||
90 | static inline void | ||
91 | dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle, | ||
92 | unsigned long offset, size_t size, | ||
93 | enum dma_data_direction direction) | ||
94 | { | ||
95 | BUG_ON(direction == DMA_NONE); | ||
96 | /* nothing to do */ | ||
97 | } | ||
98 | |||
99 | static inline void | ||
100 | dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle, | ||
101 | unsigned long offset, size_t size, | ||
102 | enum dma_data_direction direction) | ||
103 | { | ||
104 | BUG_ON(direction == DMA_NONE); | ||
105 | /* nothing to do */ | ||
106 | } | ||
107 | |||
108 | static inline void | ||
109 | dma_cache_sync(void *vaddr, size_t size, | ||
110 | enum dma_data_direction direction) | ||
111 | { | ||
112 | BUG_ON(direction == DMA_NONE); | ||
113 | /* nothing to do */ | ||
114 | } | ||
115 | |||
116 | /* | ||
117 | * DMA operations are abstracted for G5 vs. i/pSeries, PCI vs. VIO | ||
118 | */ | ||
119 | struct dma_mapping_ops { | ||
120 | void * (*alloc_coherent)(struct device *dev, size_t size, | ||
121 | dma_addr_t *dma_handle, gfp_t flag); | ||
122 | void (*free_coherent)(struct device *dev, size_t size, | ||
123 | void *vaddr, dma_addr_t dma_handle); | ||
124 | dma_addr_t (*map_single)(struct device *dev, void *ptr, | ||
125 | size_t size, enum dma_data_direction direction); | ||
126 | void (*unmap_single)(struct device *dev, dma_addr_t dma_addr, | ||
127 | size_t size, enum dma_data_direction direction); | ||
128 | int (*map_sg)(struct device *dev, struct scatterlist *sg, | ||
129 | int nents, enum dma_data_direction direction); | ||
130 | void (*unmap_sg)(struct device *dev, struct scatterlist *sg, | ||
131 | int nents, enum dma_data_direction direction); | ||
132 | int (*dma_supported)(struct device *dev, u64 mask); | ||
133 | int (*dac_dma_supported)(struct device *dev, u64 mask); | ||
134 | }; | ||
135 | |||
136 | #endif /* _ASM_DMA_MAPPING_H */ | ||
diff --git a/include/asm-ppc64/imalloc.h b/include/asm-ppc64/imalloc.h deleted file mode 100644 index 42adf7033a81..000000000000 --- a/include/asm-ppc64/imalloc.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | #ifndef _PPC64_IMALLOC_H | ||
2 | #define _PPC64_IMALLOC_H | ||
3 | |||
4 | /* | ||
5 | * Define the address range of the imalloc VM area. | ||
6 | */ | ||
7 | #define PHBS_IO_BASE VMALLOC_END | ||
8 | #define IMALLOC_BASE (PHBS_IO_BASE + 0x80000000ul) /* Reserve 2 gigs for PHBs */ | ||
9 | #define IMALLOC_END (VMALLOC_START + PGTABLE_RANGE) | ||
10 | |||
11 | |||
12 | /* imalloc region types */ | ||
13 | #define IM_REGION_UNUSED 0x1 | ||
14 | #define IM_REGION_SUBSET 0x2 | ||
15 | #define IM_REGION_EXISTS 0x4 | ||
16 | #define IM_REGION_OVERLAP 0x8 | ||
17 | #define IM_REGION_SUPERSET 0x10 | ||
18 | |||
19 | extern struct vm_struct * im_get_free_area(unsigned long size); | ||
20 | extern struct vm_struct * im_get_area(unsigned long v_addr, unsigned long size, | ||
21 | int region_type); | ||
22 | extern void im_free(void *addr); | ||
23 | |||
24 | extern unsigned long ioremap_bot; | ||
25 | |||
26 | #endif /* _PPC64_IMALLOC_H */ | ||
diff --git a/include/asm-x86_64/msr.h b/include/asm-x86_64/msr.h index 24dc39651bc4..10f8b51cec8b 100644 --- a/include/asm-x86_64/msr.h +++ b/include/asm-x86_64/msr.h | |||
@@ -56,7 +56,7 @@ | |||
56 | ".section __ex_table,\"a\"\n" \ | 56 | ".section __ex_table,\"a\"\n" \ |
57 | " .align 8\n" \ | 57 | " .align 8\n" \ |
58 | " .quad 1b,3b\n" \ | 58 | " .quad 1b,3b\n" \ |
59 | ".previous":"=&bDS" (ret__), "=a"(a), "=d"(b)\ | 59 | ".previous":"=&bDS" (ret__), "=a"(*(a)), "=d"(*(b))\ |
60 | :"c"(msr), "i"(-EIO), "0"(0)); \ | 60 | :"c"(msr), "i"(-EIO), "0"(0)); \ |
61 | ret__; }) | 61 | ret__; }) |
62 | 62 | ||
diff --git a/include/linux/cciss_ioctl.h b/include/linux/cciss_ioctl.h index 424d5e622b43..6e27f42e3a57 100644 --- a/include/linux/cciss_ioctl.h +++ b/include/linux/cciss_ioctl.h | |||
@@ -10,8 +10,8 @@ | |||
10 | typedef struct _cciss_pci_info_struct | 10 | typedef struct _cciss_pci_info_struct |
11 | { | 11 | { |
12 | unsigned char bus; | 12 | unsigned char bus; |
13 | unsigned short domain; | ||
14 | unsigned char dev_fn; | 13 | unsigned char dev_fn; |
14 | unsigned short domain; | ||
15 | __u32 board_id; | 15 | __u32 board_id; |
16 | } cciss_pci_info_struct; | 16 | } cciss_pci_info_struct; |
17 | 17 | ||
diff --git a/include/linux/ds17287rtc.h b/include/linux/ds17287rtc.h new file mode 100644 index 000000000000..c281ba42e28f --- /dev/null +++ b/include/linux/ds17287rtc.h | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * ds17287rtc.h - register definitions for the ds1728[57] RTC / CMOS RAM | ||
3 | * | ||
4 | * This file is subject to the terms and conditions of the GNU General Public | ||
5 | * License. See the file "COPYING" in the main directory of this archive | ||
6 | * for more details. | ||
7 | * | ||
8 | * (C) 2003 Guido Guenther <agx@sigxcpu.org> | ||
9 | */ | ||
10 | #ifndef __LINUX_DS17287RTC_H | ||
11 | #define __LINUX_DS17287RTC_H | ||
12 | |||
13 | #include <linux/rtc.h> /* get the user-level API */ | ||
14 | #include <linux/spinlock.h> /* spinlock_t */ | ||
15 | #include <linux/mc146818rtc.h> | ||
16 | |||
17 | /* Register A */ | ||
18 | #define DS_REGA_DV2 0x40 /* countdown chain */ | ||
19 | #define DS_REGA_DV1 0x20 /* oscillator enable */ | ||
20 | #define DS_REGA_DV0 0x10 /* bank select */ | ||
21 | |||
22 | /* bank 1 registers */ | ||
23 | #define DS_B1_MODEL 0x40 /* model number byte */ | ||
24 | #define DS_B1_SN1 0x41 /* serial number byte 1 */ | ||
25 | #define DS_B1_SN2 0x42 /* serial number byte 2 */ | ||
26 | #define DS_B1_SN3 0x43 /* serial number byte 3 */ | ||
27 | #define DS_B1_SN4 0x44 /* serial number byte 4 */ | ||
28 | #define DS_B1_SN5 0x45 /* serial number byte 5 */ | ||
29 | #define DS_B1_SN6 0x46 /* serial number byte 6 */ | ||
30 | #define DS_B1_CRC 0x47 /* CRC byte */ | ||
31 | #define DS_B1_CENTURY 0x48 /* Century byte */ | ||
32 | #define DS_B1_DALARM 0x49 /* date alarm */ | ||
33 | #define DS_B1_XCTRL4A 0x4a /* extendec control register 4a */ | ||
34 | #define DS_B1_XCTRL4B 0x4b /* extendec control register 4b */ | ||
35 | #define DS_B1_RTCADDR2 0x4e /* rtc address 2 */ | ||
36 | #define DS_B1_RTCADDR3 0x4f /* rtc address 3 */ | ||
37 | #define DS_B1_RAMLSB 0x50 /* extended ram LSB */ | ||
38 | #define DS_B1_RAMMSB 0x51 /* extended ram MSB */ | ||
39 | #define DS_B1_RAMDPORT 0x53 /* extended ram data port */ | ||
40 | |||
41 | /* register details */ | ||
42 | /* extended control register 4a */ | ||
43 | #define DS_XCTRL4A_VRT2 0x80 /* valid ram and time */ | ||
44 | #define DS_XCTRL4A_INCR 0x40 /* increment progress status */ | ||
45 | #define DS_XCTRL4A_BME 0x20 /* burst mode enable */ | ||
46 | #define DS_XCTRL4A_PAB 0x08 /* power active bar ctrl */ | ||
47 | #define DS_XCTRL4A_RF 0x04 /* ram clear flag */ | ||
48 | #define DS_XCTRL4A_WF 0x02 /* wake up alarm flag */ | ||
49 | #define DS_XCTRL4A_KF 0x01 /* kickstart flag */ | ||
50 | |||
51 | /* interrupt causes */ | ||
52 | #define DS_XCTRL4A_IFS (DS_XCTRL4A_RF|DS_XCTRL4A_WF|DS_XCTRL4A_KF) | ||
53 | |||
54 | /* extended control register 4b */ | ||
55 | #define DS_XCTRL4B_ABE 0x80 /* auxiliary battery enable */ | ||
56 | #define DS_XCTRL4B_E32K 0x40 /* enable 32.768 kHz Output */ | ||
57 | #define DS_XCTRL4B_CS 0x20 /* crystal select */ | ||
58 | #define DS_XCTRL4B_RCE 0x10 /* ram clear enable */ | ||
59 | #define DS_XCTRL4B_PRS 0x08 /* PAB resec select */ | ||
60 | #define DS_XCTRL4B_RIE 0x04 /* ram clear interrupt enable */ | ||
61 | #define DS_XCTRL4B_WFE 0x02 /* wake up alarm interrupt enable */ | ||
62 | #define DS_XCTRL4B_KFE 0x01 /* kickstart interrupt enable */ | ||
63 | |||
64 | /* interrupt enable bits */ | ||
65 | #define DS_XCTRL4B_IFES (DS_XCTRL4B_RIE|DS_XCTRL4B_WFE|DS_XCTRL4B_KFE) | ||
66 | |||
67 | #endif /* __LINUX_DS17287RTC_H */ | ||
diff --git a/include/linux/ds1742rtc.h b/include/linux/ds1742rtc.h new file mode 100644 index 000000000000..a83cdd1cafc9 --- /dev/null +++ b/include/linux/ds1742rtc.h | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * ds1742rtc.h - register definitions for the Real-Time-Clock / CMOS RAM | ||
3 | * | ||
4 | * Copyright (C) 1999-2001 Toshiba Corporation | ||
5 | * Copyright (C) 2003 Ralf Baechle (ralf@linux-mips.org) | ||
6 | * | ||
7 | * Permission is hereby granted to copy, modify and redistribute this code | ||
8 | * in terms of the GNU Library General Public License, Version 2 or later, | ||
9 | * at your option. | ||
10 | */ | ||
11 | #ifndef __LINUX_DS1742RTC_H | ||
12 | #define __LINUX_DS1742RTC_H | ||
13 | |||
14 | #include <asm/ds1742.h> | ||
15 | |||
16 | #define RTC_BRAM_SIZE 0x800 | ||
17 | #define RTC_OFFSET 0x7f8 | ||
18 | |||
19 | /* | ||
20 | * Register summary | ||
21 | */ | ||
22 | #define RTC_CONTROL (RTC_OFFSET + 0) | ||
23 | #define RTC_CENTURY (RTC_OFFSET + 0) | ||
24 | #define RTC_SECONDS (RTC_OFFSET + 1) | ||
25 | #define RTC_MINUTES (RTC_OFFSET + 2) | ||
26 | #define RTC_HOURS (RTC_OFFSET + 3) | ||
27 | #define RTC_DAY (RTC_OFFSET + 4) | ||
28 | #define RTC_DATE (RTC_OFFSET + 5) | ||
29 | #define RTC_MONTH (RTC_OFFSET + 6) | ||
30 | #define RTC_YEAR (RTC_OFFSET + 7) | ||
31 | |||
32 | #define RTC_CENTURY_MASK 0x3f | ||
33 | #define RTC_SECONDS_MASK 0x7f | ||
34 | #define RTC_DAY_MASK 0x07 | ||
35 | |||
36 | /* | ||
37 | * Bits in the Control/Century register | ||
38 | */ | ||
39 | #define RTC_WRITE 0x80 | ||
40 | #define RTC_READ 0x40 | ||
41 | |||
42 | /* | ||
43 | * Bits in the Seconds register | ||
44 | */ | ||
45 | #define RTC_STOP 0x80 | ||
46 | |||
47 | /* | ||
48 | * Bits in the Day register | ||
49 | */ | ||
50 | #define RTC_BATT_FLAG 0x80 | ||
51 | #define RTC_FREQ_TEST 0x40 | ||
52 | |||
53 | #endif /* __LINUX_DS1742RTC_H */ | ||
diff --git a/include/linux/hdreg.h b/include/linux/hdreg.h index b5d660089de4..2b54eac738ea 100644 --- a/include/linux/hdreg.h +++ b/include/linux/hdreg.h | |||
@@ -80,10 +80,12 @@ | |||
80 | /* | 80 | /* |
81 | * Define standard taskfile in/out register | 81 | * Define standard taskfile in/out register |
82 | */ | 82 | */ |
83 | #define IDE_TASKFILE_STD_OUT_FLAGS 0xFE | ||
84 | #define IDE_TASKFILE_STD_IN_FLAGS 0xFE | 83 | #define IDE_TASKFILE_STD_IN_FLAGS 0xFE |
85 | #define IDE_HOB_STD_OUT_FLAGS 0x3C | ||
86 | #define IDE_HOB_STD_IN_FLAGS 0x3C | 84 | #define IDE_HOB_STD_IN_FLAGS 0x3C |
85 | #ifndef __KERNEL__ | ||
86 | #define IDE_TASKFILE_STD_OUT_FLAGS 0xFE | ||
87 | #define IDE_HOB_STD_OUT_FLAGS 0x3C | ||
88 | #endif | ||
87 | 89 | ||
88 | typedef unsigned char task_ioreg_t; | 90 | typedef unsigned char task_ioreg_t; |
89 | typedef unsigned long sata_ioreg_t; | 91 | typedef unsigned long sata_ioreg_t; |
diff --git a/include/linux/ide.h b/include/linux/ide.h index ac8b25fa6506..a39c3c59789d 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1089,9 +1089,11 @@ enum { | |||
1089 | 1089 | ||
1090 | /* | 1090 | /* |
1091 | * Subdrivers support. | 1091 | * Subdrivers support. |
1092 | * | ||
1093 | * The gendriver.owner field should be set to the module owner of this driver. | ||
1094 | * The gendriver.name field should be set to the name of this driver | ||
1092 | */ | 1095 | */ |
1093 | typedef struct ide_driver_s { | 1096 | typedef struct ide_driver_s { |
1094 | struct module *owner; | ||
1095 | const char *version; | 1097 | const char *version; |
1096 | u8 media; | 1098 | u8 media; |
1097 | unsigned supports_dsc_overlap : 1; | 1099 | unsigned supports_dsc_overlap : 1; |
@@ -1199,37 +1201,11 @@ extern u64 ide_get_error_location(ide_drive_t *, char *); | |||
1199 | */ | 1201 | */ |
1200 | typedef enum { | 1202 | typedef enum { |
1201 | ide_wait, /* insert rq at end of list, and wait for it */ | 1203 | ide_wait, /* insert rq at end of list, and wait for it */ |
1202 | ide_next, /* insert rq immediately after current request */ | ||
1203 | ide_preempt, /* insert rq in front of current request */ | 1204 | ide_preempt, /* insert rq in front of current request */ |
1204 | ide_head_wait, /* insert rq in front of current request and wait for it */ | 1205 | ide_head_wait, /* insert rq in front of current request and wait for it */ |
1205 | ide_end /* insert rq at end of list, but don't wait for it */ | 1206 | ide_end /* insert rq at end of list, but don't wait for it */ |
1206 | } ide_action_t; | 1207 | } ide_action_t; |
1207 | 1208 | ||
1208 | /* | ||
1209 | * This function issues a special IDE device request | ||
1210 | * onto the request queue. | ||
1211 | * | ||
1212 | * If action is ide_wait, then the rq is queued at the end of the | ||
1213 | * request queue, and the function sleeps until it has been processed. | ||
1214 | * This is for use when invoked from an ioctl handler. | ||
1215 | * | ||
1216 | * If action is ide_preempt, then the rq is queued at the head of | ||
1217 | * the request queue, displacing the currently-being-processed | ||
1218 | * request and this function returns immediately without waiting | ||
1219 | * for the new rq to be completed. This is VERY DANGEROUS, and is | ||
1220 | * intended for careful use by the ATAPI tape/cdrom driver code. | ||
1221 | * | ||
1222 | * If action is ide_next, then the rq is queued immediately after | ||
1223 | * the currently-being-processed-request (if any), and the function | ||
1224 | * returns without waiting for the new rq to be completed. As above, | ||
1225 | * This is VERY DANGEROUS, and is intended for careful use by the | ||
1226 | * ATAPI tape/cdrom driver code. | ||
1227 | * | ||
1228 | * If action is ide_end, then the rq is queued at the end of the | ||
1229 | * request queue, and the function returns immediately without waiting | ||
1230 | * for the new rq to be completed. This is again intended for careful | ||
1231 | * use by the ATAPI tape/cdrom driver code. | ||
1232 | */ | ||
1233 | extern int ide_do_drive_cmd(ide_drive_t *, struct request *, ide_action_t); | 1209 | extern int ide_do_drive_cmd(ide_drive_t *, struct request *, ide_action_t); |
1234 | 1210 | ||
1235 | /* | 1211 | /* |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 1013a42d10b1..0986d19be0b7 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -940,7 +940,9 @@ unsigned long max_sane_readahead(unsigned long nr); | |||
940 | 940 | ||
941 | /* Do stack extension */ | 941 | /* Do stack extension */ |
942 | extern int expand_stack(struct vm_area_struct *vma, unsigned long address); | 942 | extern int expand_stack(struct vm_area_struct *vma, unsigned long address); |
943 | #ifdef CONFIG_IA64 | ||
943 | extern int expand_upwards(struct vm_area_struct *vma, unsigned long address); | 944 | extern int expand_upwards(struct vm_area_struct *vma, unsigned long address); |
945 | #endif | ||
944 | 946 | ||
945 | /* Look up the first VMA which satisfies addr < vm_end, NULL if none. */ | 947 | /* Look up the first VMA which satisfies addr < vm_end, NULL if none. */ |
946 | extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr); | 948 | extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index c99a83f88dc9..1e737e269db9 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -620,6 +620,7 @@ | |||
620 | #define PCI_DEVICE_ID_SI_961 0x0961 | 620 | #define PCI_DEVICE_ID_SI_961 0x0961 |
621 | #define PCI_DEVICE_ID_SI_962 0x0962 | 621 | #define PCI_DEVICE_ID_SI_962 0x0962 |
622 | #define PCI_DEVICE_ID_SI_963 0x0963 | 622 | #define PCI_DEVICE_ID_SI_963 0x0963 |
623 | #define PCI_DEVICE_ID_SI_965 0x0965 | ||
623 | #define PCI_DEVICE_ID_SI_5511 0x5511 | 624 | #define PCI_DEVICE_ID_SI_5511 0x5511 |
624 | #define PCI_DEVICE_ID_SI_5513 0x5513 | 625 | #define PCI_DEVICE_ID_SI_5513 0x5513 |
625 | #define PCI_DEVICE_ID_SI_5518 0x5518 | 626 | #define PCI_DEVICE_ID_SI_5518 0x5518 |
@@ -1235,6 +1236,7 @@ | |||
1235 | #define PCI_DEVICE_ID_VIA_8703_51_0 0x3148 | 1236 | #define PCI_DEVICE_ID_VIA_8703_51_0 0x3148 |
1236 | #define PCI_DEVICE_ID_VIA_8237_SATA 0x3149 | 1237 | #define PCI_DEVICE_ID_VIA_8237_SATA 0x3149 |
1237 | #define PCI_DEVICE_ID_VIA_XN266 0x3156 | 1238 | #define PCI_DEVICE_ID_VIA_XN266 0x3156 |
1239 | #define PCI_DEVICE_ID_VIA_6410 0x3164 | ||
1238 | #define PCI_DEVICE_ID_VIA_8754C_0 0x3168 | 1240 | #define PCI_DEVICE_ID_VIA_8754C_0 0x3168 |
1239 | #define PCI_DEVICE_ID_VIA_8235 0x3177 | 1241 | #define PCI_DEVICE_ID_VIA_8235 0x3177 |
1240 | #define PCI_DEVICE_ID_VIA_8385_0 0x3188 | 1242 | #define PCI_DEVICE_ID_VIA_8385_0 0x3188 |
@@ -1402,6 +1404,7 @@ | |||
1402 | #define PCI_SUBDEVICE_ID_KEYSPAN_SX2 0x5334 | 1404 | #define PCI_SUBDEVICE_ID_KEYSPAN_SX2 0x5334 |
1403 | 1405 | ||
1404 | #define PCI_VENDOR_ID_MARVELL 0x11ab | 1406 | #define PCI_VENDOR_ID_MARVELL 0x11ab |
1407 | #define PCI_DEVICE_ID_MARVELL_GT64111 0x4146 | ||
1405 | #define PCI_DEVICE_ID_MARVELL_GT64260 0x6430 | 1408 | #define PCI_DEVICE_ID_MARVELL_GT64260 0x6430 |
1406 | #define PCI_DEVICE_ID_MARVELL_MV64360 0x6460 | 1409 | #define PCI_DEVICE_ID_MARVELL_MV64360 0x6460 |
1407 | #define PCI_DEVICE_ID_MARVELL_MV64460 0x6480 | 1410 | #define PCI_DEVICE_ID_MARVELL_MV64460 0x6480 |
diff --git a/include/linux/uinput.h b/include/linux/uinput.h index 84876077027f..0ff7ca68e5c5 100644 --- a/include/linux/uinput.h +++ b/include/linux/uinput.h | |||
@@ -34,8 +34,7 @@ | |||
34 | #define UINPUT_BUFFER_SIZE 16 | 34 | #define UINPUT_BUFFER_SIZE 16 |
35 | #define UINPUT_NUM_REQUESTS 16 | 35 | #define UINPUT_NUM_REQUESTS 16 |
36 | 36 | ||
37 | /* state flags => bit index for {set|clear|test}_bit ops */ | 37 | enum uinput_state { UIST_NEW_DEVICE, UIST_SETUP_COMPLETE, UIST_CREATED }; |
38 | #define UIST_CREATED 0 | ||
39 | 38 | ||
40 | struct uinput_request { | 39 | struct uinput_request { |
41 | int id; | 40 | int id; |
@@ -52,11 +51,12 @@ struct uinput_request { | |||
52 | 51 | ||
53 | struct uinput_device { | 52 | struct uinput_device { |
54 | struct input_dev *dev; | 53 | struct input_dev *dev; |
55 | unsigned long state; | 54 | struct semaphore sem; |
55 | enum uinput_state state; | ||
56 | wait_queue_head_t waitq; | 56 | wait_queue_head_t waitq; |
57 | unsigned char ready, | 57 | unsigned char ready; |
58 | head, | 58 | unsigned char head; |
59 | tail; | 59 | unsigned char tail; |
60 | struct input_event buff[UINPUT_BUFFER_SIZE]; | 60 | struct input_event buff[UINPUT_BUFFER_SIZE]; |
61 | 61 | ||
62 | struct uinput_request *requests[UINPUT_NUM_REQUESTS]; | 62 | struct uinput_request *requests[UINPUT_NUM_REQUESTS]; |
@@ -91,6 +91,7 @@ struct uinput_ff_erase { | |||
91 | #define UI_SET_SNDBIT _IOW(UINPUT_IOCTL_BASE, 106, int) | 91 | #define UI_SET_SNDBIT _IOW(UINPUT_IOCTL_BASE, 106, int) |
92 | #define UI_SET_FFBIT _IOW(UINPUT_IOCTL_BASE, 107, int) | 92 | #define UI_SET_FFBIT _IOW(UINPUT_IOCTL_BASE, 107, int) |
93 | #define UI_SET_PHYS _IOW(UINPUT_IOCTL_BASE, 108, char*) | 93 | #define UI_SET_PHYS _IOW(UINPUT_IOCTL_BASE, 108, char*) |
94 | #define UI_SET_SWBIT _IOW(UINPUT_IOCTL_BASE, 109, int) | ||
94 | 95 | ||
95 | #define UI_BEGIN_FF_UPLOAD _IOWR(UINPUT_IOCTL_BASE, 200, struct uinput_ff_upload) | 96 | #define UI_BEGIN_FF_UPLOAD _IOWR(UINPUT_IOCTL_BASE, 200, struct uinput_ff_upload) |
96 | #define UI_END_FF_UPLOAD _IOW(UINPUT_IOCTL_BASE, 201, struct uinput_ff_upload) | 97 | #define UI_END_FF_UPLOAD _IOW(UINPUT_IOCTL_BASE, 201, struct uinput_ff_upload) |
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index b93fd8c1d884..cde2f4f4f501 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h | |||
@@ -1042,7 +1042,7 @@ static inline u8 *ieee80211_get_payload(struct ieee80211_hdr *hdr) | |||
1042 | case IEEE80211_4ADDR_LEN: | 1042 | case IEEE80211_4ADDR_LEN: |
1043 | return ((struct ieee80211_hdr_4addr *)hdr)->payload; | 1043 | return ((struct ieee80211_hdr_4addr *)hdr)->payload; |
1044 | } | 1044 | } |
1045 | 1045 | return NULL; | |
1046 | } | 1046 | } |
1047 | 1047 | ||
1048 | static inline int ieee80211_is_ofdm_rate(u8 rate) | 1048 | static inline int ieee80211_is_ofdm_rate(u8 rate) |
diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c index eb6719c50b4e..88c28d476550 100644 --- a/kernel/rcutorture.c +++ b/kernel/rcutorture.c | |||
@@ -80,6 +80,7 @@ struct rcu_torture { | |||
80 | struct rcu_head rtort_rcu; | 80 | struct rcu_head rtort_rcu; |
81 | int rtort_pipe_count; | 81 | int rtort_pipe_count; |
82 | struct list_head rtort_free; | 82 | struct list_head rtort_free; |
83 | int rtort_mbtest; | ||
83 | }; | 84 | }; |
84 | 85 | ||
85 | static int fullstop = 0; /* stop generating callbacks at test end. */ | 86 | static int fullstop = 0; /* stop generating callbacks at test end. */ |
@@ -96,6 +97,8 @@ static atomic_t rcu_torture_wcount[RCU_TORTURE_PIPE_LEN + 1]; | |||
96 | atomic_t n_rcu_torture_alloc; | 97 | atomic_t n_rcu_torture_alloc; |
97 | atomic_t n_rcu_torture_alloc_fail; | 98 | atomic_t n_rcu_torture_alloc_fail; |
98 | atomic_t n_rcu_torture_free; | 99 | atomic_t n_rcu_torture_free; |
100 | atomic_t n_rcu_torture_mberror; | ||
101 | atomic_t n_rcu_torture_error; | ||
99 | 102 | ||
100 | /* | 103 | /* |
101 | * Allocate an element from the rcu_tortures pool. | 104 | * Allocate an element from the rcu_tortures pool. |
@@ -145,9 +148,10 @@ rcu_torture_cb(struct rcu_head *p) | |||
145 | if (i > RCU_TORTURE_PIPE_LEN) | 148 | if (i > RCU_TORTURE_PIPE_LEN) |
146 | i = RCU_TORTURE_PIPE_LEN; | 149 | i = RCU_TORTURE_PIPE_LEN; |
147 | atomic_inc(&rcu_torture_wcount[i]); | 150 | atomic_inc(&rcu_torture_wcount[i]); |
148 | if (++rp->rtort_pipe_count >= RCU_TORTURE_PIPE_LEN) | 151 | if (++rp->rtort_pipe_count >= RCU_TORTURE_PIPE_LEN) { |
152 | rp->rtort_mbtest = 0; | ||
149 | rcu_torture_free(rp); | 153 | rcu_torture_free(rp); |
150 | else | 154 | } else |
151 | call_rcu(p, rcu_torture_cb); | 155 | call_rcu(p, rcu_torture_cb); |
152 | } | 156 | } |
153 | 157 | ||
@@ -206,6 +210,7 @@ rcu_torture_writer(void *arg) | |||
206 | rp->rtort_pipe_count = 0; | 210 | rp->rtort_pipe_count = 0; |
207 | udelay(rcu_random(&rand) & 0x3ff); | 211 | udelay(rcu_random(&rand) & 0x3ff); |
208 | old_rp = rcu_torture_current; | 212 | old_rp = rcu_torture_current; |
213 | rp->rtort_mbtest = 1; | ||
209 | rcu_assign_pointer(rcu_torture_current, rp); | 214 | rcu_assign_pointer(rcu_torture_current, rp); |
210 | smp_wmb(); | 215 | smp_wmb(); |
211 | if (old_rp != NULL) { | 216 | if (old_rp != NULL) { |
@@ -252,6 +257,8 @@ rcu_torture_reader(void *arg) | |||
252 | schedule_timeout_interruptible(HZ); | 257 | schedule_timeout_interruptible(HZ); |
253 | continue; | 258 | continue; |
254 | } | 259 | } |
260 | if (p->rtort_mbtest == 0) | ||
261 | atomic_inc(&n_rcu_torture_mberror); | ||
255 | udelay(rcu_random(&rand) & 0x7f); | 262 | udelay(rcu_random(&rand) & 0x7f); |
256 | preempt_disable(); | 263 | preempt_disable(); |
257 | pipe_count = p->rtort_pipe_count; | 264 | pipe_count = p->rtort_pipe_count; |
@@ -300,16 +307,22 @@ rcu_torture_printk(char *page) | |||
300 | } | 307 | } |
301 | cnt += sprintf(&page[cnt], "rcutorture: "); | 308 | cnt += sprintf(&page[cnt], "rcutorture: "); |
302 | cnt += sprintf(&page[cnt], | 309 | cnt += sprintf(&page[cnt], |
303 | "rtc: %p ver: %ld tfle: %d rta: %d rtaf: %d rtf: %d", | 310 | "rtc: %p ver: %ld tfle: %d rta: %d rtaf: %d rtf: %d " |
311 | "rtmbe: %d", | ||
304 | rcu_torture_current, | 312 | rcu_torture_current, |
305 | rcu_torture_current_version, | 313 | rcu_torture_current_version, |
306 | list_empty(&rcu_torture_freelist), | 314 | list_empty(&rcu_torture_freelist), |
307 | atomic_read(&n_rcu_torture_alloc), | 315 | atomic_read(&n_rcu_torture_alloc), |
308 | atomic_read(&n_rcu_torture_alloc_fail), | 316 | atomic_read(&n_rcu_torture_alloc_fail), |
309 | atomic_read(&n_rcu_torture_free)); | 317 | atomic_read(&n_rcu_torture_free), |
318 | atomic_read(&n_rcu_torture_mberror)); | ||
319 | if (atomic_read(&n_rcu_torture_mberror) != 0) | ||
320 | cnt += sprintf(&page[cnt], " !!!"); | ||
310 | cnt += sprintf(&page[cnt], "\nrcutorture: "); | 321 | cnt += sprintf(&page[cnt], "\nrcutorture: "); |
311 | if (i > 1) | 322 | if (i > 1) { |
312 | cnt += sprintf(&page[cnt], "!!! "); | 323 | cnt += sprintf(&page[cnt], "!!! "); |
324 | atomic_inc(&n_rcu_torture_error); | ||
325 | } | ||
313 | cnt += sprintf(&page[cnt], "Reader Pipe: "); | 326 | cnt += sprintf(&page[cnt], "Reader Pipe: "); |
314 | for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) | 327 | for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) |
315 | cnt += sprintf(&page[cnt], " %ld", pipesummary[i]); | 328 | cnt += sprintf(&page[cnt], " %ld", pipesummary[i]); |
@@ -400,7 +413,9 @@ rcu_torture_cleanup(void) | |||
400 | for (i = 0; i < RCU_TORTURE_PIPE_LEN; i++) | 413 | for (i = 0; i < RCU_TORTURE_PIPE_LEN; i++) |
401 | synchronize_rcu(); | 414 | synchronize_rcu(); |
402 | rcu_torture_stats_print(); /* -After- the stats thread is stopped! */ | 415 | rcu_torture_stats_print(); /* -After- the stats thread is stopped! */ |
403 | PRINTK_STRING("--- End of test"); | 416 | printk(KERN_ALERT TORTURE_FLAG |
417 | "--- End of test: %s\n", | ||
418 | atomic_read(&n_rcu_torture_error) == 0 ? "SUCCESS" : "FAILURE"); | ||
404 | } | 419 | } |
405 | 420 | ||
406 | static int | 421 | static int |
@@ -425,6 +440,7 @@ rcu_torture_init(void) | |||
425 | 440 | ||
426 | INIT_LIST_HEAD(&rcu_torture_freelist); | 441 | INIT_LIST_HEAD(&rcu_torture_freelist); |
427 | for (i = 0; i < sizeof(rcu_tortures) / sizeof(rcu_tortures[0]); i++) { | 442 | for (i = 0; i < sizeof(rcu_tortures) / sizeof(rcu_tortures[0]); i++) { |
443 | rcu_tortures[i].rtort_mbtest = 0; | ||
428 | list_add_tail(&rcu_tortures[i].rtort_free, | 444 | list_add_tail(&rcu_tortures[i].rtort_free, |
429 | &rcu_torture_freelist); | 445 | &rcu_torture_freelist); |
430 | } | 446 | } |
@@ -436,6 +452,8 @@ rcu_torture_init(void) | |||
436 | atomic_set(&n_rcu_torture_alloc, 0); | 452 | atomic_set(&n_rcu_torture_alloc, 0); |
437 | atomic_set(&n_rcu_torture_alloc_fail, 0); | 453 | atomic_set(&n_rcu_torture_alloc_fail, 0); |
438 | atomic_set(&n_rcu_torture_free, 0); | 454 | atomic_set(&n_rcu_torture_free, 0); |
455 | atomic_set(&n_rcu_torture_mberror, 0); | ||
456 | atomic_set(&n_rcu_torture_error, 0); | ||
439 | for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) | 457 | for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) |
440 | atomic_set(&rcu_torture_wcount[i], 0); | 458 | atomic_set(&rcu_torture_wcount[i], 0); |
441 | for_each_cpu(cpu) { | 459 | for_each_cpu(cpu) { |
@@ -1501,7 +1501,7 @@ static int acct_stack_growth(struct vm_area_struct * vma, unsigned long size, un | |||
1501 | * PA-RISC uses this for its stack; IA64 for its Register Backing Store. | 1501 | * PA-RISC uses this for its stack; IA64 for its Register Backing Store. |
1502 | * vma is the last one with address > vma->vm_end. Have to extend vma. | 1502 | * vma is the last one with address > vma->vm_end. Have to extend vma. |
1503 | */ | 1503 | */ |
1504 | #ifdef CONFIG_STACK_GROWSUP | 1504 | #ifndef CONFIG_IA64 |
1505 | static inline | 1505 | static inline |
1506 | #endif | 1506 | #endif |
1507 | int expand_upwards(struct vm_area_struct *vma, unsigned long address) | 1507 | int expand_upwards(struct vm_area_struct *vma, unsigned long address) |
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 74138c9a22b9..0166ea15c9ee 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -750,6 +750,7 @@ int clear_page_dirty_for_io(struct page *page) | |||
750 | } | 750 | } |
751 | return TestClearPageDirty(page); | 751 | return TestClearPageDirty(page); |
752 | } | 752 | } |
753 | EXPORT_SYMBOL(clear_page_dirty_for_io); | ||
753 | 754 | ||
754 | int test_clear_page_writeback(struct page *page) | 755 | int test_clear_page_writeback(struct page *page) |
755 | { | 756 | { |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 104e69ca55e0..bd4de592dc23 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -845,21 +845,22 @@ __alloc_pages(gfp_t gfp_mask, unsigned int order, | |||
845 | 845 | ||
846 | might_sleep_if(wait); | 846 | might_sleep_if(wait); |
847 | 847 | ||
848 | restart: | ||
848 | z = zonelist->zones; /* the list of zones suitable for gfp_mask */ | 849 | z = zonelist->zones; /* the list of zones suitable for gfp_mask */ |
849 | 850 | ||
850 | if (unlikely(*z == NULL)) { | 851 | if (unlikely(*z == NULL)) { |
851 | /* Should this ever happen?? */ | 852 | /* Should this ever happen?? */ |
852 | return NULL; | 853 | return NULL; |
853 | } | 854 | } |
854 | restart: | 855 | |
855 | page = get_page_from_freelist(gfp_mask|__GFP_HARDWALL, order, | 856 | page = get_page_from_freelist(gfp_mask|__GFP_HARDWALL, order, |
856 | zonelist, ALLOC_CPUSET); | 857 | zonelist, ALLOC_CPUSET); |
857 | if (page) | 858 | if (page) |
858 | goto got_pg; | 859 | goto got_pg; |
859 | 860 | ||
860 | do | 861 | do { |
861 | wakeup_kswapd(*z, order); | 862 | wakeup_kswapd(*z, order); |
862 | while (*(++z)); | 863 | } while (*(++z)); |
863 | 864 | ||
864 | /* | 865 | /* |
865 | * OK, we're below the kswapd watermark and have kicked background | 866 | * OK, we're below the kswapd watermark and have kicked background |
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c index e7d26d9943c2..8ce0ce2ee48e 100644 --- a/net/ipv4/ip_fragment.c +++ b/net/ipv4/ip_fragment.c | |||
@@ -71,7 +71,7 @@ struct ipfrag_skb_cb | |||
71 | 71 | ||
72 | /* Describe an entry in the "incomplete datagrams" queue. */ | 72 | /* Describe an entry in the "incomplete datagrams" queue. */ |
73 | struct ipq { | 73 | struct ipq { |
74 | struct ipq *next; /* linked list pointers */ | 74 | struct hlist_node list; |
75 | struct list_head lru_list; /* lru list member */ | 75 | struct list_head lru_list; /* lru list member */ |
76 | u32 user; | 76 | u32 user; |
77 | u32 saddr; | 77 | u32 saddr; |
@@ -89,7 +89,6 @@ struct ipq { | |||
89 | spinlock_t lock; | 89 | spinlock_t lock; |
90 | atomic_t refcnt; | 90 | atomic_t refcnt; |
91 | struct timer_list timer; /* when will this queue expire? */ | 91 | struct timer_list timer; /* when will this queue expire? */ |
92 | struct ipq **pprev; | ||
93 | int iif; | 92 | int iif; |
94 | struct timeval stamp; | 93 | struct timeval stamp; |
95 | }; | 94 | }; |
@@ -99,7 +98,7 @@ struct ipq { | |||
99 | #define IPQ_HASHSZ 64 | 98 | #define IPQ_HASHSZ 64 |
100 | 99 | ||
101 | /* Per-bucket lock is easy to add now. */ | 100 | /* Per-bucket lock is easy to add now. */ |
102 | static struct ipq *ipq_hash[IPQ_HASHSZ]; | 101 | static struct hlist_head ipq_hash[IPQ_HASHSZ]; |
103 | static DEFINE_RWLOCK(ipfrag_lock); | 102 | static DEFINE_RWLOCK(ipfrag_lock); |
104 | static u32 ipfrag_hash_rnd; | 103 | static u32 ipfrag_hash_rnd; |
105 | static LIST_HEAD(ipq_lru_list); | 104 | static LIST_HEAD(ipq_lru_list); |
@@ -107,9 +106,7 @@ int ip_frag_nqueues = 0; | |||
107 | 106 | ||
108 | static __inline__ void __ipq_unlink(struct ipq *qp) | 107 | static __inline__ void __ipq_unlink(struct ipq *qp) |
109 | { | 108 | { |
110 | if(qp->next) | 109 | hlist_del(&qp->list); |
111 | qp->next->pprev = qp->pprev; | ||
112 | *qp->pprev = qp->next; | ||
113 | list_del(&qp->lru_list); | 110 | list_del(&qp->lru_list); |
114 | ip_frag_nqueues--; | 111 | ip_frag_nqueues--; |
115 | } | 112 | } |
@@ -139,27 +136,18 @@ static void ipfrag_secret_rebuild(unsigned long dummy) | |||
139 | get_random_bytes(&ipfrag_hash_rnd, sizeof(u32)); | 136 | get_random_bytes(&ipfrag_hash_rnd, sizeof(u32)); |
140 | for (i = 0; i < IPQ_HASHSZ; i++) { | 137 | for (i = 0; i < IPQ_HASHSZ; i++) { |
141 | struct ipq *q; | 138 | struct ipq *q; |
139 | struct hlist_node *p, *n; | ||
142 | 140 | ||
143 | q = ipq_hash[i]; | 141 | hlist_for_each_entry_safe(q, p, n, &ipq_hash[i], list) { |
144 | while (q) { | ||
145 | struct ipq *next = q->next; | ||
146 | unsigned int hval = ipqhashfn(q->id, q->saddr, | 142 | unsigned int hval = ipqhashfn(q->id, q->saddr, |
147 | q->daddr, q->protocol); | 143 | q->daddr, q->protocol); |
148 | 144 | ||
149 | if (hval != i) { | 145 | if (hval != i) { |
150 | /* Unlink. */ | 146 | hlist_del(&q->list); |
151 | if (q->next) | ||
152 | q->next->pprev = q->pprev; | ||
153 | *q->pprev = q->next; | ||
154 | 147 | ||
155 | /* Relink to new hash chain. */ | 148 | /* Relink to new hash chain. */ |
156 | if ((q->next = ipq_hash[hval]) != NULL) | 149 | hlist_add_head(&q->list, &ipq_hash[hval]); |
157 | q->next->pprev = &q->next; | ||
158 | ipq_hash[hval] = q; | ||
159 | q->pprev = &ipq_hash[hval]; | ||
160 | } | 150 | } |
161 | |||
162 | q = next; | ||
163 | } | 151 | } |
164 | } | 152 | } |
165 | write_unlock(&ipfrag_lock); | 153 | write_unlock(&ipfrag_lock); |
@@ -310,14 +298,16 @@ out: | |||
310 | static struct ipq *ip_frag_intern(unsigned int hash, struct ipq *qp_in) | 298 | static struct ipq *ip_frag_intern(unsigned int hash, struct ipq *qp_in) |
311 | { | 299 | { |
312 | struct ipq *qp; | 300 | struct ipq *qp; |
313 | 301 | #ifdef CONFIG_SMP | |
302 | struct hlist_node *n; | ||
303 | #endif | ||
314 | write_lock(&ipfrag_lock); | 304 | write_lock(&ipfrag_lock); |
315 | #ifdef CONFIG_SMP | 305 | #ifdef CONFIG_SMP |
316 | /* With SMP race we have to recheck hash table, because | 306 | /* With SMP race we have to recheck hash table, because |
317 | * such entry could be created on other cpu, while we | 307 | * such entry could be created on other cpu, while we |
318 | * promoted read lock to write lock. | 308 | * promoted read lock to write lock. |
319 | */ | 309 | */ |
320 | for(qp = ipq_hash[hash]; qp; qp = qp->next) { | 310 | hlist_for_each_entry(qp, n, &ipq_hash[hash], list) { |
321 | if(qp->id == qp_in->id && | 311 | if(qp->id == qp_in->id && |
322 | qp->saddr == qp_in->saddr && | 312 | qp->saddr == qp_in->saddr && |
323 | qp->daddr == qp_in->daddr && | 313 | qp->daddr == qp_in->daddr && |
@@ -337,10 +327,7 @@ static struct ipq *ip_frag_intern(unsigned int hash, struct ipq *qp_in) | |||
337 | atomic_inc(&qp->refcnt); | 327 | atomic_inc(&qp->refcnt); |
338 | 328 | ||
339 | atomic_inc(&qp->refcnt); | 329 | atomic_inc(&qp->refcnt); |
340 | if((qp->next = ipq_hash[hash]) != NULL) | 330 | hlist_add_head(&qp->list, &ipq_hash[hash]); |
341 | qp->next->pprev = &qp->next; | ||
342 | ipq_hash[hash] = qp; | ||
343 | qp->pprev = &ipq_hash[hash]; | ||
344 | INIT_LIST_HEAD(&qp->lru_list); | 331 | INIT_LIST_HEAD(&qp->lru_list); |
345 | list_add_tail(&qp->lru_list, &ipq_lru_list); | 332 | list_add_tail(&qp->lru_list, &ipq_lru_list); |
346 | ip_frag_nqueues++; | 333 | ip_frag_nqueues++; |
@@ -392,9 +379,10 @@ static inline struct ipq *ip_find(struct iphdr *iph, u32 user) | |||
392 | __u8 protocol = iph->protocol; | 379 | __u8 protocol = iph->protocol; |
393 | unsigned int hash = ipqhashfn(id, saddr, daddr, protocol); | 380 | unsigned int hash = ipqhashfn(id, saddr, daddr, protocol); |
394 | struct ipq *qp; | 381 | struct ipq *qp; |
382 | struct hlist_node *n; | ||
395 | 383 | ||
396 | read_lock(&ipfrag_lock); | 384 | read_lock(&ipfrag_lock); |
397 | for(qp = ipq_hash[hash]; qp; qp = qp->next) { | 385 | hlist_for_each_entry(qp, n, &ipq_hash[hash], list) { |
398 | if(qp->id == id && | 386 | if(qp->id == id && |
399 | qp->saddr == saddr && | 387 | qp->saddr == saddr && |
400 | qp->daddr == daddr && | 388 | qp->daddr == daddr && |
diff --git a/net/ipv4/netfilter/ip_conntrack_ftp.c b/net/ipv4/netfilter/ip_conntrack_ftp.c index d77d6b3f5f80..59e12b02b22c 100644 --- a/net/ipv4/netfilter/ip_conntrack_ftp.c +++ b/net/ipv4/netfilter/ip_conntrack_ftp.c | |||
@@ -29,9 +29,9 @@ static char *ftp_buffer; | |||
29 | static DEFINE_SPINLOCK(ip_ftp_lock); | 29 | static DEFINE_SPINLOCK(ip_ftp_lock); |
30 | 30 | ||
31 | #define MAX_PORTS 8 | 31 | #define MAX_PORTS 8 |
32 | static short ports[MAX_PORTS]; | 32 | static unsigned short ports[MAX_PORTS]; |
33 | static int ports_c; | 33 | static int ports_c; |
34 | module_param_array(ports, short, &ports_c, 0400); | 34 | module_param_array(ports, ushort, &ports_c, 0400); |
35 | 35 | ||
36 | static int loose; | 36 | static int loose; |
37 | module_param(loose, int, 0600); | 37 | module_param(loose, int, 0600); |
diff --git a/net/ipv4/netfilter/ip_conntrack_irc.c b/net/ipv4/netfilter/ip_conntrack_irc.c index 15457415a4f3..2dea1db14406 100644 --- a/net/ipv4/netfilter/ip_conntrack_irc.c +++ b/net/ipv4/netfilter/ip_conntrack_irc.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <linux/moduleparam.h> | 34 | #include <linux/moduleparam.h> |
35 | 35 | ||
36 | #define MAX_PORTS 8 | 36 | #define MAX_PORTS 8 |
37 | static short ports[MAX_PORTS]; | 37 | static unsigned short ports[MAX_PORTS]; |
38 | static int ports_c; | 38 | static int ports_c; |
39 | static int max_dcc_channels = 8; | 39 | static int max_dcc_channels = 8; |
40 | static unsigned int dcc_timeout = 300; | 40 | static unsigned int dcc_timeout = 300; |
@@ -52,7 +52,7 @@ EXPORT_SYMBOL_GPL(ip_nat_irc_hook); | |||
52 | MODULE_AUTHOR("Harald Welte <laforge@netfilter.org>"); | 52 | MODULE_AUTHOR("Harald Welte <laforge@netfilter.org>"); |
53 | MODULE_DESCRIPTION("IRC (DCC) connection tracking helper"); | 53 | MODULE_DESCRIPTION("IRC (DCC) connection tracking helper"); |
54 | MODULE_LICENSE("GPL"); | 54 | MODULE_LICENSE("GPL"); |
55 | module_param_array(ports, short, &ports_c, 0400); | 55 | module_param_array(ports, ushort, &ports_c, 0400); |
56 | MODULE_PARM_DESC(ports, "port numbers of IRC servers"); | 56 | MODULE_PARM_DESC(ports, "port numbers of IRC servers"); |
57 | module_param(max_dcc_channels, int, 0400); | 57 | module_param(max_dcc_channels, int, 0400); |
58 | MODULE_PARM_DESC(max_dcc_channels, "max number of expected DCC channels per IRC session"); | 58 | MODULE_PARM_DESC(max_dcc_channels, "max number of expected DCC channels per IRC session"); |
diff --git a/net/ipv4/netfilter/ip_conntrack_tftp.c b/net/ipv4/netfilter/ip_conntrack_tftp.c index a78736b8525d..d3c5a371f993 100644 --- a/net/ipv4/netfilter/ip_conntrack_tftp.c +++ b/net/ipv4/netfilter/ip_conntrack_tftp.c | |||
@@ -26,9 +26,9 @@ MODULE_DESCRIPTION("tftp connection tracking helper"); | |||
26 | MODULE_LICENSE("GPL"); | 26 | MODULE_LICENSE("GPL"); |
27 | 27 | ||
28 | #define MAX_PORTS 8 | 28 | #define MAX_PORTS 8 |
29 | static short ports[MAX_PORTS]; | 29 | static unsigned short ports[MAX_PORTS]; |
30 | static int ports_c; | 30 | static int ports_c; |
31 | module_param_array(ports, short, &ports_c, 0400); | 31 | module_param_array(ports, ushort, &ports_c, 0400); |
32 | MODULE_PARM_DESC(ports, "port numbers of tftp servers"); | 32 | MODULE_PARM_DESC(ports, "port numbers of tftp servers"); |
33 | 33 | ||
34 | #if 0 | 34 | #if 0 |
diff --git a/net/ipv4/tcp_highspeed.c b/net/ipv4/tcp_highspeed.c index 82b3c189bd7d..63cf7e540847 100644 --- a/net/ipv4/tcp_highspeed.c +++ b/net/ipv4/tcp_highspeed.c | |||
@@ -111,7 +111,7 @@ static void hstcp_init(struct sock *sk) | |||
111 | } | 111 | } |
112 | 112 | ||
113 | static void hstcp_cong_avoid(struct sock *sk, u32 adk, u32 rtt, | 113 | static void hstcp_cong_avoid(struct sock *sk, u32 adk, u32 rtt, |
114 | u32 in_flight, u32 pkts_acked) | 114 | u32 in_flight, int data_acked) |
115 | { | 115 | { |
116 | struct tcp_sock *tp = tcp_sk(sk); | 116 | struct tcp_sock *tp = tcp_sk(sk); |
117 | struct hstcp *ca = inet_csk_ca(sk); | 117 | struct hstcp *ca = inet_csk_ca(sk); |
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index e4fe9ee484dd..5d316cb72ec9 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c | |||
@@ -74,7 +74,7 @@ struct ip6frag_skb_cb | |||
74 | 74 | ||
75 | struct frag_queue | 75 | struct frag_queue |
76 | { | 76 | { |
77 | struct frag_queue *next; | 77 | struct hlist_node list; |
78 | struct list_head lru_list; /* lru list member */ | 78 | struct list_head lru_list; /* lru list member */ |
79 | 79 | ||
80 | __u32 id; /* fragment id */ | 80 | __u32 id; /* fragment id */ |
@@ -95,14 +95,13 @@ struct frag_queue | |||
95 | #define FIRST_IN 2 | 95 | #define FIRST_IN 2 |
96 | #define LAST_IN 1 | 96 | #define LAST_IN 1 |
97 | __u16 nhoffset; | 97 | __u16 nhoffset; |
98 | struct frag_queue **pprev; | ||
99 | }; | 98 | }; |
100 | 99 | ||
101 | /* Hash table. */ | 100 | /* Hash table. */ |
102 | 101 | ||
103 | #define IP6Q_HASHSZ 64 | 102 | #define IP6Q_HASHSZ 64 |
104 | 103 | ||
105 | static struct frag_queue *ip6_frag_hash[IP6Q_HASHSZ]; | 104 | static struct hlist_head ip6_frag_hash[IP6Q_HASHSZ]; |
106 | static DEFINE_RWLOCK(ip6_frag_lock); | 105 | static DEFINE_RWLOCK(ip6_frag_lock); |
107 | static u32 ip6_frag_hash_rnd; | 106 | static u32 ip6_frag_hash_rnd; |
108 | static LIST_HEAD(ip6_frag_lru_list); | 107 | static LIST_HEAD(ip6_frag_lru_list); |
@@ -110,9 +109,7 @@ int ip6_frag_nqueues = 0; | |||
110 | 109 | ||
111 | static __inline__ void __fq_unlink(struct frag_queue *fq) | 110 | static __inline__ void __fq_unlink(struct frag_queue *fq) |
112 | { | 111 | { |
113 | if(fq->next) | 112 | hlist_del(&fq->list); |
114 | fq->next->pprev = fq->pprev; | ||
115 | *fq->pprev = fq->next; | ||
116 | list_del(&fq->lru_list); | 113 | list_del(&fq->lru_list); |
117 | ip6_frag_nqueues--; | 114 | ip6_frag_nqueues--; |
118 | } | 115 | } |
@@ -163,28 +160,21 @@ static void ip6_frag_secret_rebuild(unsigned long dummy) | |||
163 | get_random_bytes(&ip6_frag_hash_rnd, sizeof(u32)); | 160 | get_random_bytes(&ip6_frag_hash_rnd, sizeof(u32)); |
164 | for (i = 0; i < IP6Q_HASHSZ; i++) { | 161 | for (i = 0; i < IP6Q_HASHSZ; i++) { |
165 | struct frag_queue *q; | 162 | struct frag_queue *q; |
163 | struct hlist_node *p, *n; | ||
166 | 164 | ||
167 | q = ip6_frag_hash[i]; | 165 | hlist_for_each_entry_safe(q, p, n, &ip6_frag_hash[i], list) { |
168 | while (q) { | ||
169 | struct frag_queue *next = q->next; | ||
170 | unsigned int hval = ip6qhashfn(q->id, | 166 | unsigned int hval = ip6qhashfn(q->id, |
171 | &q->saddr, | 167 | &q->saddr, |
172 | &q->daddr); | 168 | &q->daddr); |
173 | 169 | ||
174 | if (hval != i) { | 170 | if (hval != i) { |
175 | /* Unlink. */ | 171 | hlist_del(&q->list); |
176 | if (q->next) | ||
177 | q->next->pprev = q->pprev; | ||
178 | *q->pprev = q->next; | ||
179 | 172 | ||
180 | /* Relink to new hash chain. */ | 173 | /* Relink to new hash chain. */ |
181 | if ((q->next = ip6_frag_hash[hval]) != NULL) | 174 | hlist_add_head(&q->list, |
182 | q->next->pprev = &q->next; | 175 | &ip6_frag_hash[hval]); |
183 | ip6_frag_hash[hval] = q; | ||
184 | q->pprev = &ip6_frag_hash[hval]; | ||
185 | } | ||
186 | 176 | ||
187 | q = next; | 177 | } |
188 | } | 178 | } |
189 | } | 179 | } |
190 | write_unlock(&ip6_frag_lock); | 180 | write_unlock(&ip6_frag_lock); |
@@ -337,10 +327,13 @@ static struct frag_queue *ip6_frag_intern(unsigned int hash, | |||
337 | struct frag_queue *fq_in) | 327 | struct frag_queue *fq_in) |
338 | { | 328 | { |
339 | struct frag_queue *fq; | 329 | struct frag_queue *fq; |
330 | #ifdef CONFIG_SMP | ||
331 | struct hlist_node *n; | ||
332 | #endif | ||
340 | 333 | ||
341 | write_lock(&ip6_frag_lock); | 334 | write_lock(&ip6_frag_lock); |
342 | #ifdef CONFIG_SMP | 335 | #ifdef CONFIG_SMP |
343 | for (fq = ip6_frag_hash[hash]; fq; fq = fq->next) { | 336 | hlist_for_each_entry(fq, n, &ip6_frag_hash[hash], list) { |
344 | if (fq->id == fq_in->id && | 337 | if (fq->id == fq_in->id && |
345 | ipv6_addr_equal(&fq_in->saddr, &fq->saddr) && | 338 | ipv6_addr_equal(&fq_in->saddr, &fq->saddr) && |
346 | ipv6_addr_equal(&fq_in->daddr, &fq->daddr)) { | 339 | ipv6_addr_equal(&fq_in->daddr, &fq->daddr)) { |
@@ -358,10 +351,7 @@ static struct frag_queue *ip6_frag_intern(unsigned int hash, | |||
358 | atomic_inc(&fq->refcnt); | 351 | atomic_inc(&fq->refcnt); |
359 | 352 | ||
360 | atomic_inc(&fq->refcnt); | 353 | atomic_inc(&fq->refcnt); |
361 | if((fq->next = ip6_frag_hash[hash]) != NULL) | 354 | hlist_add_head(&fq->list, &ip6_frag_hash[hash]); |
362 | fq->next->pprev = &fq->next; | ||
363 | ip6_frag_hash[hash] = fq; | ||
364 | fq->pprev = &ip6_frag_hash[hash]; | ||
365 | INIT_LIST_HEAD(&fq->lru_list); | 355 | INIT_LIST_HEAD(&fq->lru_list); |
366 | list_add_tail(&fq->lru_list, &ip6_frag_lru_list); | 356 | list_add_tail(&fq->lru_list, &ip6_frag_lru_list); |
367 | ip6_frag_nqueues++; | 357 | ip6_frag_nqueues++; |
@@ -401,10 +391,11 @@ static __inline__ struct frag_queue * | |||
401 | fq_find(u32 id, struct in6_addr *src, struct in6_addr *dst) | 391 | fq_find(u32 id, struct in6_addr *src, struct in6_addr *dst) |
402 | { | 392 | { |
403 | struct frag_queue *fq; | 393 | struct frag_queue *fq; |
394 | struct hlist_node *n; | ||
404 | unsigned int hash = ip6qhashfn(id, src, dst); | 395 | unsigned int hash = ip6qhashfn(id, src, dst); |
405 | 396 | ||
406 | read_lock(&ip6_frag_lock); | 397 | read_lock(&ip6_frag_lock); |
407 | for(fq = ip6_frag_hash[hash]; fq; fq = fq->next) { | 398 | hlist_for_each_entry(fq, n, &ip6_frag_hash[hash], list) { |
408 | if (fq->id == id && | 399 | if (fq->id == id && |
409 | ipv6_addr_equal(src, &fq->saddr) && | 400 | ipv6_addr_equal(src, &fq->saddr) && |
410 | ipv6_addr_equal(dst, &fq->daddr)) { | 401 | ipv6_addr_equal(dst, &fq->daddr)) { |
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 9a71a8d1078a..a7a537b50595 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -1732,7 +1732,7 @@ int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb) | |||
1732 | /* | 1732 | /* |
1733 | * 2. allocate and initialize walker. | 1733 | * 2. allocate and initialize walker. |
1734 | */ | 1734 | */ |
1735 | w = kmalloc(sizeof(*w), GFP_KERNEL); | 1735 | w = kmalloc(sizeof(*w), GFP_ATOMIC); |
1736 | if (w == NULL) | 1736 | if (w == NULL) |
1737 | return -ENOMEM; | 1737 | return -ENOMEM; |
1738 | RT6_TRACE("dump<%p", w); | 1738 | RT6_TRACE("dump<%p", w); |
diff --git a/net/llc/llc_c_ac.c b/net/llc/llc_c_ac.c index 91fb6bc1b116..8169f24ed33e 100644 --- a/net/llc/llc_c_ac.c +++ b/net/llc/llc_c_ac.c | |||
@@ -995,8 +995,8 @@ static int llc_conn_ac_inc_npta_value(struct sock *sk, struct sk_buff *skb) | |||
995 | llc->dec_step = 0; | 995 | llc->dec_step = 0; |
996 | llc->dec_cntr = llc->inc_cntr = 2; | 996 | llc->dec_cntr = llc->inc_cntr = 2; |
997 | ++llc->npta; | 997 | ++llc->npta; |
998 | if (llc->npta > ~LLC_2_SEQ_NBR_MODULO) | 998 | if (llc->npta > (u8) ~LLC_2_SEQ_NBR_MODULO) |
999 | llc->npta = ~LLC_2_SEQ_NBR_MODULO ; | 999 | llc->npta = (u8) ~LLC_2_SEQ_NBR_MODULO; |
1000 | } else | 1000 | } else |
1001 | --llc->inc_cntr; | 1001 | --llc->inc_cntr; |
1002 | return 0; | 1002 | return 0; |
@@ -1086,8 +1086,8 @@ int llc_conn_ac_inc_tx_win_size(struct sock *sk, struct sk_buff *skb) | |||
1086 | struct llc_sock *llc = llc_sk(sk); | 1086 | struct llc_sock *llc = llc_sk(sk); |
1087 | 1087 | ||
1088 | llc->k += 1; | 1088 | llc->k += 1; |
1089 | if (llc->k > ~LLC_2_SEQ_NBR_MODULO) | 1089 | if (llc->k > (u8) ~LLC_2_SEQ_NBR_MODULO) |
1090 | llc->k = ~LLC_2_SEQ_NBR_MODULO ; | 1090 | llc->k = (u8) ~LLC_2_SEQ_NBR_MODULO; |
1091 | return 0; | 1091 | return 0; |
1092 | } | 1092 | } |
1093 | 1093 | ||
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index ea094b231d62..1da678303d78 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c | |||
@@ -387,7 +387,7 @@ nf_ct_invert_tuple(struct nf_conntrack_tuple *inverse, | |||
387 | static void nf_ct_unlink_expect(struct nf_conntrack_expect *exp) | 387 | static void nf_ct_unlink_expect(struct nf_conntrack_expect *exp) |
388 | { | 388 | { |
389 | ASSERT_WRITE_LOCK(&nf_conntrack_lock); | 389 | ASSERT_WRITE_LOCK(&nf_conntrack_lock); |
390 | NF_CT_ASSERT(!timer_pending(&exp_timeout)); | 390 | NF_CT_ASSERT(!timer_pending(&exp->timeout)); |
391 | list_del(&exp->list); | 391 | list_del(&exp->list); |
392 | NF_CT_STAT_INC(expect_delete); | 392 | NF_CT_STAT_INC(expect_delete); |
393 | exp->master->expecting--; | 393 | exp->master->expecting--; |
diff --git a/net/sched/Kconfig b/net/sched/Kconfig index 7f34e7fd767c..55cd5327fbd7 100644 --- a/net/sched/Kconfig +++ b/net/sched/Kconfig | |||
@@ -40,9 +40,10 @@ config NET_SCHED | |||
40 | The available schedulers are listed in the following questions; you | 40 | The available schedulers are listed in the following questions; you |
41 | can say Y to as many as you like. If unsure, say N now. | 41 | can say Y to as many as you like. If unsure, say N now. |
42 | 42 | ||
43 | if NET_SCHED | ||
44 | |||
43 | choice | 45 | choice |
44 | prompt "Packet scheduler clock source" | 46 | prompt "Packet scheduler clock source" |
45 | depends on NET_SCHED | ||
46 | default NET_SCH_CLK_JIFFIES | 47 | default NET_SCH_CLK_JIFFIES |
47 | ---help--- | 48 | ---help--- |
48 | Packet schedulers need a monotonic clock that increments at a static | 49 | Packet schedulers need a monotonic clock that increments at a static |
@@ -98,11 +99,9 @@ config NET_SCH_CLK_CPU | |||
98 | endchoice | 99 | endchoice |
99 | 100 | ||
100 | comment "Queueing/Scheduling" | 101 | comment "Queueing/Scheduling" |
101 | depends on NET_SCHED | ||
102 | 102 | ||
103 | config NET_SCH_CBQ | 103 | config NET_SCH_CBQ |
104 | tristate "Class Based Queueing (CBQ)" | 104 | tristate "Class Based Queueing (CBQ)" |
105 | depends on NET_SCHED | ||
106 | ---help--- | 105 | ---help--- |
107 | Say Y here if you want to use the Class-Based Queueing (CBQ) packet | 106 | Say Y here if you want to use the Class-Based Queueing (CBQ) packet |
108 | scheduling algorithm. This algorithm classifies the waiting packets | 107 | scheduling algorithm. This algorithm classifies the waiting packets |
@@ -120,7 +119,6 @@ config NET_SCH_CBQ | |||
120 | 119 | ||
121 | config NET_SCH_HTB | 120 | config NET_SCH_HTB |
122 | tristate "Hierarchical Token Bucket (HTB)" | 121 | tristate "Hierarchical Token Bucket (HTB)" |
123 | depends on NET_SCHED | ||
124 | ---help--- | 122 | ---help--- |
125 | Say Y here if you want to use the Hierarchical Token Buckets (HTB) | 123 | Say Y here if you want to use the Hierarchical Token Buckets (HTB) |
126 | packet scheduling algorithm. See | 124 | packet scheduling algorithm. See |
@@ -135,7 +133,6 @@ config NET_SCH_HTB | |||
135 | 133 | ||
136 | config NET_SCH_HFSC | 134 | config NET_SCH_HFSC |
137 | tristate "Hierarchical Fair Service Curve (HFSC)" | 135 | tristate "Hierarchical Fair Service Curve (HFSC)" |
138 | depends on NET_SCHED | ||
139 | ---help--- | 136 | ---help--- |
140 | Say Y here if you want to use the Hierarchical Fair Service Curve | 137 | Say Y here if you want to use the Hierarchical Fair Service Curve |
141 | (HFSC) packet scheduling algorithm. | 138 | (HFSC) packet scheduling algorithm. |
@@ -145,7 +142,7 @@ config NET_SCH_HFSC | |||
145 | 142 | ||
146 | config NET_SCH_ATM | 143 | config NET_SCH_ATM |
147 | tristate "ATM Virtual Circuits (ATM)" | 144 | tristate "ATM Virtual Circuits (ATM)" |
148 | depends on NET_SCHED && ATM | 145 | depends on ATM |
149 | ---help--- | 146 | ---help--- |
150 | Say Y here if you want to use the ATM pseudo-scheduler. This | 147 | Say Y here if you want to use the ATM pseudo-scheduler. This |
151 | provides a framework for invoking classifiers, which in turn | 148 | provides a framework for invoking classifiers, which in turn |
@@ -159,7 +156,6 @@ config NET_SCH_ATM | |||
159 | 156 | ||
160 | config NET_SCH_PRIO | 157 | config NET_SCH_PRIO |
161 | tristate "Multi Band Priority Queueing (PRIO)" | 158 | tristate "Multi Band Priority Queueing (PRIO)" |
162 | depends on NET_SCHED | ||
163 | ---help--- | 159 | ---help--- |
164 | Say Y here if you want to use an n-band priority queue packet | 160 | Say Y here if you want to use an n-band priority queue packet |
165 | scheduler. | 161 | scheduler. |
@@ -169,7 +165,6 @@ config NET_SCH_PRIO | |||
169 | 165 | ||
170 | config NET_SCH_RED | 166 | config NET_SCH_RED |
171 | tristate "Random Early Detection (RED)" | 167 | tristate "Random Early Detection (RED)" |
172 | depends on NET_SCHED | ||
173 | ---help--- | 168 | ---help--- |
174 | Say Y here if you want to use the Random Early Detection (RED) | 169 | Say Y here if you want to use the Random Early Detection (RED) |
175 | packet scheduling algorithm. | 170 | packet scheduling algorithm. |
@@ -181,7 +176,6 @@ config NET_SCH_RED | |||
181 | 176 | ||
182 | config NET_SCH_SFQ | 177 | config NET_SCH_SFQ |
183 | tristate "Stochastic Fairness Queueing (SFQ)" | 178 | tristate "Stochastic Fairness Queueing (SFQ)" |
184 | depends on NET_SCHED | ||
185 | ---help--- | 179 | ---help--- |
186 | Say Y here if you want to use the Stochastic Fairness Queueing (SFQ) | 180 | Say Y here if you want to use the Stochastic Fairness Queueing (SFQ) |
187 | packet scheduling algorithm . | 181 | packet scheduling algorithm . |
@@ -193,7 +187,6 @@ config NET_SCH_SFQ | |||
193 | 187 | ||
194 | config NET_SCH_TEQL | 188 | config NET_SCH_TEQL |
195 | tristate "True Link Equalizer (TEQL)" | 189 | tristate "True Link Equalizer (TEQL)" |
196 | depends on NET_SCHED | ||
197 | ---help--- | 190 | ---help--- |
198 | Say Y here if you want to use the True Link Equalizer (TLE) packet | 191 | Say Y here if you want to use the True Link Equalizer (TLE) packet |
199 | scheduling algorithm. This queueing discipline allows the combination | 192 | scheduling algorithm. This queueing discipline allows the combination |
@@ -206,7 +199,6 @@ config NET_SCH_TEQL | |||
206 | 199 | ||
207 | config NET_SCH_TBF | 200 | config NET_SCH_TBF |
208 | tristate "Token Bucket Filter (TBF)" | 201 | tristate "Token Bucket Filter (TBF)" |
209 | depends on NET_SCHED | ||
210 | ---help--- | 202 | ---help--- |
211 | Say Y here if you want to use the Token Bucket Filter (TBF) packet | 203 | Say Y here if you want to use the Token Bucket Filter (TBF) packet |
212 | scheduling algorithm. | 204 | scheduling algorithm. |
@@ -218,7 +210,6 @@ config NET_SCH_TBF | |||
218 | 210 | ||
219 | config NET_SCH_GRED | 211 | config NET_SCH_GRED |
220 | tristate "Generic Random Early Detection (GRED)" | 212 | tristate "Generic Random Early Detection (GRED)" |
221 | depends on NET_SCHED | ||
222 | ---help--- | 213 | ---help--- |
223 | Say Y here if you want to use the Generic Random Early Detection | 214 | Say Y here if you want to use the Generic Random Early Detection |
224 | (GRED) packet scheduling algorithm for some of your network devices | 215 | (GRED) packet scheduling algorithm for some of your network devices |
@@ -230,7 +221,6 @@ config NET_SCH_GRED | |||
230 | 221 | ||
231 | config NET_SCH_DSMARK | 222 | config NET_SCH_DSMARK |
232 | tristate "Differentiated Services marker (DSMARK)" | 223 | tristate "Differentiated Services marker (DSMARK)" |
233 | depends on NET_SCHED | ||
234 | ---help--- | 224 | ---help--- |
235 | Say Y if you want to schedule packets according to the | 225 | Say Y if you want to schedule packets according to the |
236 | Differentiated Services architecture proposed in RFC 2475. | 226 | Differentiated Services architecture proposed in RFC 2475. |
@@ -242,7 +232,6 @@ config NET_SCH_DSMARK | |||
242 | 232 | ||
243 | config NET_SCH_NETEM | 233 | config NET_SCH_NETEM |
244 | tristate "Network emulator (NETEM)" | 234 | tristate "Network emulator (NETEM)" |
245 | depends on NET_SCHED | ||
246 | ---help--- | 235 | ---help--- |
247 | Say Y if you want to emulate network delay, loss, and packet | 236 | Say Y if you want to emulate network delay, loss, and packet |
248 | re-ordering. This is often useful to simulate networks when | 237 | re-ordering. This is often useful to simulate networks when |
@@ -255,7 +244,6 @@ config NET_SCH_NETEM | |||
255 | 244 | ||
256 | config NET_SCH_INGRESS | 245 | config NET_SCH_INGRESS |
257 | tristate "Ingress Qdisc" | 246 | tristate "Ingress Qdisc" |
258 | depends on NET_SCHED | ||
259 | ---help--- | 247 | ---help--- |
260 | Say Y here if you want to use classifiers for incoming packets. | 248 | Say Y here if you want to use classifiers for incoming packets. |
261 | If unsure, say Y. | 249 | If unsure, say Y. |
@@ -264,14 +252,12 @@ config NET_SCH_INGRESS | |||
264 | module will be called sch_ingress. | 252 | module will be called sch_ingress. |
265 | 253 | ||
266 | comment "Classification" | 254 | comment "Classification" |
267 | depends on NET_SCHED | ||
268 | 255 | ||
269 | config NET_CLS | 256 | config NET_CLS |
270 | boolean | 257 | boolean |
271 | 258 | ||
272 | config NET_CLS_BASIC | 259 | config NET_CLS_BASIC |
273 | tristate "Elementary classification (BASIC)" | 260 | tristate "Elementary classification (BASIC)" |
274 | depends NET_SCHED | ||
275 | select NET_CLS | 261 | select NET_CLS |
276 | ---help--- | 262 | ---help--- |
277 | Say Y here if you want to be able to classify packets using | 263 | Say Y here if you want to be able to classify packets using |
@@ -282,7 +268,6 @@ config NET_CLS_BASIC | |||
282 | 268 | ||
283 | config NET_CLS_TCINDEX | 269 | config NET_CLS_TCINDEX |
284 | tristate "Traffic-Control Index (TCINDEX)" | 270 | tristate "Traffic-Control Index (TCINDEX)" |
285 | depends NET_SCHED | ||
286 | select NET_CLS | 271 | select NET_CLS |
287 | ---help--- | 272 | ---help--- |
288 | Say Y here if you want to be able to classify packets based on | 273 | Say Y here if you want to be able to classify packets based on |
@@ -294,7 +279,6 @@ config NET_CLS_TCINDEX | |||
294 | 279 | ||
295 | config NET_CLS_ROUTE4 | 280 | config NET_CLS_ROUTE4 |
296 | tristate "Routing decision (ROUTE)" | 281 | tristate "Routing decision (ROUTE)" |
297 | depends NET_SCHED | ||
298 | select NET_CLS_ROUTE | 282 | select NET_CLS_ROUTE |
299 | select NET_CLS | 283 | select NET_CLS |
300 | ---help--- | 284 | ---help--- |
@@ -306,11 +290,9 @@ config NET_CLS_ROUTE4 | |||
306 | 290 | ||
307 | config NET_CLS_ROUTE | 291 | config NET_CLS_ROUTE |
308 | bool | 292 | bool |
309 | default n | ||
310 | 293 | ||
311 | config NET_CLS_FW | 294 | config NET_CLS_FW |
312 | tristate "Netfilter mark (FW)" | 295 | tristate "Netfilter mark (FW)" |
313 | depends NET_SCHED | ||
314 | select NET_CLS | 296 | select NET_CLS |
315 | ---help--- | 297 | ---help--- |
316 | If you say Y here, you will be able to classify packets | 298 | If you say Y here, you will be able to classify packets |
@@ -321,7 +303,6 @@ config NET_CLS_FW | |||
321 | 303 | ||
322 | config NET_CLS_U32 | 304 | config NET_CLS_U32 |
323 | tristate "Universal 32bit comparisons w/ hashing (U32)" | 305 | tristate "Universal 32bit comparisons w/ hashing (U32)" |
324 | depends NET_SCHED | ||
325 | select NET_CLS | 306 | select NET_CLS |
326 | ---help--- | 307 | ---help--- |
327 | Say Y here to be able to classify packetes using a universal | 308 | Say Y here to be able to classify packetes using a universal |
@@ -345,7 +326,6 @@ config CLS_U32_MARK | |||
345 | 326 | ||
346 | config NET_CLS_RSVP | 327 | config NET_CLS_RSVP |
347 | tristate "IPv4 Resource Reservation Protocol (RSVP)" | 328 | tristate "IPv4 Resource Reservation Protocol (RSVP)" |
348 | depends on NET_SCHED | ||
349 | select NET_CLS | 329 | select NET_CLS |
350 | select NET_ESTIMATOR | 330 | select NET_ESTIMATOR |
351 | ---help--- | 331 | ---help--- |
@@ -361,7 +341,6 @@ config NET_CLS_RSVP | |||
361 | 341 | ||
362 | config NET_CLS_RSVP6 | 342 | config NET_CLS_RSVP6 |
363 | tristate "IPv6 Resource Reservation Protocol (RSVP6)" | 343 | tristate "IPv6 Resource Reservation Protocol (RSVP6)" |
364 | depends on NET_SCHED | ||
365 | select NET_CLS | 344 | select NET_CLS |
366 | select NET_ESTIMATOR | 345 | select NET_ESTIMATOR |
367 | ---help--- | 346 | ---help--- |
@@ -377,7 +356,6 @@ config NET_CLS_RSVP6 | |||
377 | 356 | ||
378 | config NET_EMATCH | 357 | config NET_EMATCH |
379 | bool "Extended Matches" | 358 | bool "Extended Matches" |
380 | depends NET_SCHED | ||
381 | select NET_CLS | 359 | select NET_CLS |
382 | ---help--- | 360 | ---help--- |
383 | Say Y here if you want to use extended matches on top of classifiers | 361 | Say Y here if you want to use extended matches on top of classifiers |
@@ -456,7 +434,7 @@ config NET_EMATCH_TEXT | |||
456 | 434 | ||
457 | config NET_CLS_ACT | 435 | config NET_CLS_ACT |
458 | bool "Actions" | 436 | bool "Actions" |
459 | depends on EXPERIMENTAL && NET_SCHED | 437 | depends on EXPERIMENTAL |
460 | select NET_ESTIMATOR | 438 | select NET_ESTIMATOR |
461 | ---help--- | 439 | ---help--- |
462 | Say Y here if you want to use traffic control actions. Actions | 440 | Say Y here if you want to use traffic control actions. Actions |
@@ -539,7 +517,7 @@ config NET_ACT_SIMP | |||
539 | 517 | ||
540 | config NET_CLS_POLICE | 518 | config NET_CLS_POLICE |
541 | bool "Traffic Policing (obsolete)" | 519 | bool "Traffic Policing (obsolete)" |
542 | depends on NET_SCHED && NET_CLS_ACT!=y | 520 | depends on NET_CLS_ACT!=y |
543 | select NET_ESTIMATOR | 521 | select NET_ESTIMATOR |
544 | ---help--- | 522 | ---help--- |
545 | Say Y here if you want to do traffic policing, i.e. strict | 523 | Say Y here if you want to do traffic policing, i.e. strict |
@@ -549,7 +527,7 @@ config NET_CLS_POLICE | |||
549 | 527 | ||
550 | config NET_CLS_IND | 528 | config NET_CLS_IND |
551 | bool "Incoming device classification" | 529 | bool "Incoming device classification" |
552 | depends on NET_SCHED && (NET_CLS_U32 || NET_CLS_FW) | 530 | depends on NET_CLS_U32 || NET_CLS_FW |
553 | ---help--- | 531 | ---help--- |
554 | Say Y here to extend the u32 and fw classifier to support | 532 | Say Y here to extend the u32 and fw classifier to support |
555 | classification based on the incoming device. This option is | 533 | classification based on the incoming device. This option is |
@@ -557,11 +535,12 @@ config NET_CLS_IND | |||
557 | 535 | ||
558 | config NET_ESTIMATOR | 536 | config NET_ESTIMATOR |
559 | bool "Rate estimator" | 537 | bool "Rate estimator" |
560 | depends on NET_SCHED | ||
561 | ---help--- | 538 | ---help--- |
562 | Say Y here to allow using rate estimators to estimate the current | 539 | Say Y here to allow using rate estimators to estimate the current |
563 | rate-of-flow for network devices, queues, etc. This module is | 540 | rate-of-flow for network devices, queues, etc. This module is |
564 | automaticaly selected if needed but can be selected manually for | 541 | automaticaly selected if needed but can be selected manually for |
565 | statstical purposes. | 542 | statstical purposes. |
566 | 543 | ||
544 | endif # NET_SCHED | ||
545 | |||
567 | endmenu | 546 | endmenu |